29 #include <FL/Fl_Plugin.H> 
   31 #include <FL/Fl_Bitmap.H> 
   32 #include <FL/Fl_Pixmap.H> 
   33 #include <FL/Fl_RGB_Image.H> 
   54 #  define XPOINT XPoint 
   55 #elif defined(__APPLE__) 
   56 typedef float COORD_T;
 
   57 typedef struct { 
float x; 
float y; } QPoint;
 
   58 #  define XPOINT QPoint 
   59 extern float fl_quartz_line_width_;
 
   61 typedef short COORD_T;
 
   62 #  define XPOINT XPoint 
   93 #define FL_REGION_STACK_SIZE 10 
   94 #define FL_MATRIX_STACK_SIZE 32 
  107   struct matrix {
double a, b, c, d, x, y;};
 
  114   static const int matrix_stack_size = FL_MATRIX_STACK_SIZE;
 
  115   matrix stack[FL_MATRIX_STACK_SIZE];
 
  120   int fl_clip_state_number;
 
  122   static const int region_stack_max = FL_REGION_STACK_SIZE - 1;
 
  123   Fl_Region rstack[FL_REGION_STACK_SIZE];
 
  129   void transformed_vertex0(COORD_T x, COORD_T y);
 
  134   enum {LINE, LOOP, POLYGON, POINT_};
 
  135   inline int vertex_no() { 
return n; }
 
  136   inline XPOINT *vertices() {
return p;}
 
  137   inline int vertex_kind() {
return what;}
 
  148   friend void fl_rect(
int x, 
int y, 
int w, 
int h);
 
  149   friend void fl_rectf(
int x, 
int y, 
int w, 
int h);
 
  150   friend void fl_line_style(
int style, 
int width, 
char* dashes);
 
  151   friend void fl_xyline(
int x, 
int y, 
int x1);
 
  152   friend void fl_xyline(
int x, 
int y, 
int x1, 
int y2);
 
  153   friend void fl_xyline(
int x, 
int y, 
int x1, 
int y2, 
int x3);
 
  154   friend void fl_yxline(
int x, 
int y, 
int y1);
 
  155   friend void fl_yxline(
int x, 
int y, 
int y1, 
int x2);
 
  156   friend void fl_yxline(
int x, 
int y, 
int y1, 
int x2, 
int y3);
 
  157   friend void fl_line(
int x, 
int y, 
int x1, 
int y1);
 
  158   friend void fl_line(
int x, 
int y, 
int x1, 
int y1, 
int x2, 
int y2);
 
  159   friend void fl_draw(
const char *str, 
int n, 
int x, 
int y);
 
  161   friend void fl_draw(
const char *str, 
int n, 
float x, 
float y);
 
  163   friend void fl_draw(
int angle, 
const char *str, 
int n, 
int x, 
int y);
 
  164   friend void fl_rtl_draw(
const char *str, 
int n, 
int x, 
int y);
 
  169   friend void fl_loop(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2);
 
  170   friend void fl_loop(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);
 
  171   friend void fl_polygon(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2);
 
  172   friend void fl_polygon(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);
 
  177   friend void fl_vertex(
double x, 
double y);
 
  178   friend void fl_curve(
double X0, 
double Y0, 
double X1, 
double Y1, 
double X2, 
double Y2, 
double X3, 
double Y3);
 
  179   friend void fl_circle(
double x, 
double y, 
double r);
 
  180   friend void fl_arc(
double x, 
double y, 
double r, 
double start, 
double end);
 
  181   friend void fl_arc(
int x, 
int y, 
int w, 
int h, 
double a1, 
double a2);
 
  182   friend void fl_pie(
int x, 
int y, 
int w, 
int h, 
double a1, 
double a2);
 
  189   friend int fl_clip_box(
int x, 
int y, 
int w, 
int h, 
int &X, 
int &Y, 
int &W, 
int &H);
 
  198   friend void fl_mult_matrix(
double a, 
double b, 
double c, 
double d, 
double x, 
double y);
 
  199   friend void fl_scale(
double x, 
double y);
 
  216   friend void fl_copy_offscreen(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
 
  222   virtual void rect(
int x, 
int y, 
int w, 
int h);
 
  224   virtual void rectf(
int x, 
int y, 
int w, 
int h);
 
  226   virtual void line_style(
int style, 
int width=0, 
char* dashes=0);
 
  228   virtual void xyline(
int x, 
int y, 
int x1);
 
  230   virtual void xyline(
int x, 
int y, 
int x1, 
int y2);
 
  232   virtual void xyline(
int x, 
int y, 
int x1, 
int y2, 
int x3);
 
  234   virtual void yxline(
int x, 
int y, 
int y1);
 
  236   virtual void yxline(
int x, 
int y, 
int y1, 
int x2);
 
  238   virtual void yxline(
int x, 
int y, 
int y1, 
int x2, 
int y3);
 
  240   virtual void line(
int x, 
int y, 
int x1, 
int y1);
 
  242   virtual void line(
int x, 
int y, 
int x1, 
int y1, 
int x2, 
int y2);
 
  244   virtual void draw(
const char *str, 
int n, 
int x, 
int y) {}
 
  246   virtual void draw(
const char *str, 
int n, 
float x, 
float y) { 
draw(str, n, (
int)(x+0.5), (
int)(y+0.5));}
 
  249   virtual void draw(
int angle, 
const char *str, 
int n, 
int x, 
int y) {}
 
  251   virtual void rtl_draw(
const char *str, 
int n, 
int x, 
int y) {};
 
  257   virtual void point(
int x, 
int y);
 
  259   virtual void loop(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2);
 
  261   virtual void loop(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);
 
  263   virtual void polygon(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2);
 
  265   virtual void polygon(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);
 
  267   virtual void begin_points();
 
  269   virtual void begin_line();
 
  271   virtual void begin_loop();
 
  273   virtual void begin_polygon();
 
  275   virtual void vertex(
double x, 
double y);
 
  277   virtual void curve(
double X0, 
double Y0, 
double X1, 
double Y1, 
double X2, 
double Y2, 
double X3, 
double Y3);
 
  279   virtual void circle(
double x, 
double y, 
double r);
 
  281   virtual void arc(
double x, 
double y, 
double r, 
double start, 
double end);
 
  283   virtual void arc(
int x, 
int y, 
int w, 
int h, 
double a1, 
double a2);
 
  285   virtual void pie(
int x, 
int y, 
int w, 
int h, 
double a1, 
double a2);
 
  287   virtual void end_points();
 
  289   virtual void end_line();
 
  291   virtual void end_loop();
 
  293   virtual void end_polygon();
 
  295   virtual void begin_complex_polygon();
 
  299   virtual void end_complex_polygon();
 
  301   virtual void transformed_vertex(
double xf, 
double yf);
 
  303   virtual void push_clip(
int x, 
int y, 
int w, 
int h);
 
  305   virtual int clip_box(
int x, 
int y, 
int w, 
int h, 
int &X, 
int &Y, 
int &W, 
int &H);
 
  307   virtual int not_clipped(
int x, 
int y, 
int w, 
int h);
 
  309   virtual void push_no_clip();
 
  311   virtual void pop_clip();
 
  318   void mult_matrix(
double a, 
double b, 
double c, 
double d, 
double x, 
double y);
 
  320   inline void scale(
double x, 
double y) { mult_matrix(x,0,0,y,0,0); }
 
  322   inline void scale(
double x) { mult_matrix(x,0,0,x,0,0); }
 
  324   inline void translate(
double x,
double y) { mult_matrix(1,0,0,1,x,y); }
 
  326   void rotate(
double d);
 
  328   double transform_x(
double x, 
double y);
 
  330   double transform_y(
double x, 
double y);
 
  332   double transform_dx(
double x, 
double y);
 
  334   double transform_dy(
double x, 
double y);
 
  336   Fl_Region clip_region();
 
  338   void clip_region(Fl_Region r);
 
  344   virtual   void draw_image(
const uchar* buf, 
int X,
int Y,
int W,
int H, 
int D=3, 
int L=0) {}
 
  363   virtual   void draw(
Fl_Pixmap * pxm,
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy) {}
 
  369   virtual void draw(
Fl_Bitmap *bm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy) {}
 
  370 #if FLTK_ABI_VERSION >= 10301 
  373   void copy_offscreen(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
 
  385   virtual double width(
const char *str, 
int n) {
return 0;}
 
  387   virtual inline double width(
unsigned int c) { 
char ch = (char)c; 
return width(&ch, 1); }
 
  389   virtual void text_extents(
const char*, 
int n, 
int& dx, 
int& dy, 
int& 
w, 
int& 
h);
 
  404 #if defined(__APPLE__) || defined(FL_DOXYGEN) 
  412   static const char *class_id;
 
  416   void draw(
const char* str, 
int n, 
int x, 
int y);
 
  418   void draw(
const char *str, 
int n, 
float x, 
float y);
 
  420   void draw(
int angle, 
const char *str, 
int n, 
int x, 
int y);
 
  421   void rtl_draw(
const char* str, 
int n, 
int x, 
int y);
 
  423   void draw(
Fl_Pixmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  424   void draw(
Fl_Bitmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  425   void draw(
Fl_RGB_Image *img, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  426   void draw_image(
const uchar* buf, 
int X,
int Y,
int W,
int H, 
int D=3, 
int L=0);
 
  430   double width(
const char *str, 
int n);
 
  431   double width(
unsigned int c);
 
  432   void text_extents(
const char*, 
int n, 
int& dx, 
int& dy, 
int& w, 
int& h);
 
  435 #if ! defined(FL_DOXYGEN) 
  436   static Fl_Offscreen create_offscreen_with_alpha(
int w, 
int h);
 
  438   void copy_offscreen(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
 
  441 #if defined(WIN32) || defined(FL_DOXYGEN) 
  449   static const char *class_id;
 
  453   void draw(
const char* str, 
int n, 
int x, 
int y);
 
  454   void draw(
int angle, 
const char *str, 
int n, 
int x, 
int y);
 
  455   void rtl_draw(
const char* str, 
int n, 
int x, 
int y);
 
  457   void draw(
Fl_Pixmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  458   void draw(
Fl_Bitmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  459   void draw(
Fl_RGB_Image *img, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  460   void draw_image(
const uchar* buf, 
int X,
int Y,
int W,
int H, 
int D=3, 
int L=0);
 
  464   double width(
const char *str, 
int n);
 
  465   double width(
unsigned int c);
 
  466   void text_extents(
const char*, 
int n, 
int& dx, 
int& dy, 
int& w, 
int& h);
 
  469 #if ! defined(FL_DOXYGEN) 
  470   void copy_offscreen_with_alpha(
int x,
int y,
int w,
int h,HBITMAP bitmap,
int srcx,
int srcy);
 
  472   void copy_offscreen(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
 
  482   static const char *class_id;
 
  484   void draw(
Fl_Pixmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  485   void draw(
Fl_Bitmap *bm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  488 #if !(defined(__APPLE__) || defined(WIN32)) 
  496   static const char *class_id;
 
  500   void draw(
const char* str, 
int n, 
int x, 
int y);
 
  501   void draw(
int angle, 
const char *str, 
int n, 
int x, 
int y);
 
  502   void rtl_draw(
const char* str, 
int n, 
int x, 
int y);
 
  504   void draw(
Fl_Pixmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  505   void draw(
Fl_Bitmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  506   void draw(
Fl_RGB_Image *img, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
 
  507   void draw_image(
const uchar* buf, 
int X,
int Y,
int W,
int H, 
int D=3, 
int L=0);
 
  511   double width(
const char *str, 
int n);
 
  512   double width(
unsigned int c);
 
  513   void text_extents(
const char*, 
int n, 
int& dx, 
int& dy, 
int& w, 
int& h);
 
  516   void copy_offscreen(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
 
  533   virtual void set_current(
void);
 
  550   static const char *class_id;
 
  569   virtual const char *
klass() { 
return "fltk:device"; }
 
  571   virtual const char *name() = 0;
 
  577   virtual int print(
Fl_Widget* w, 
int x, 
int y, 
int height) = 0;
 
  580 #endif // Fl_Device_H 
virtual void color(uchar r, uchar g, uchar b)
see fl_color(uchar r, uchar g, uchar b). 
Definition: Fl_Device.H:255
void fl_end_complex_polygon()
Ends complex filled polygon, and draws. 
Definition: fl_draw.H:466
void fl_loop(int x, int y, int x1, int y1, int x2, int y2)
Outlines a 3-sided polygon with lines. 
Definition: fl_draw.H:233
double fl_transform_dx(double x, double y)
Transforms distance using current transformation matrix. 
Definition: fl_draw.H:482
virtual const char * klass()
Returns the class name. 
Definition: Fl_Device.H:569
virtual ~Fl_Surface_Device()
The destructor. 
Definition: Fl_Device.H:541
int fl_clip_box(int x, int y, int w, int h, int &X, int &Y, int &W, int &H)
Intersects the rectangle with the current clip region and returns the bounding box of the result...
Definition: fl_draw.H:126
The Fl_Pixmap class supports caching and drawing of colormap (pixmap) images, including transparency...
Definition: Fl_Pixmap.H:41
void fl_point(int x, int y)
Draws a single pixel at the given coordinates. 
Definition: fl_draw.H:147
const char * class_name()
Returns the name of the class of this object. 
Definition: Fl_Device.H:532
void fl_clip_region(Fl_Region r)
Replaces the top of the clipping stack with a clipping region of any shape. 
Definition: fl_draw.H:136
virtual void text_extents(const char *, int n, int &dx, int &dy, int &w, int &h)
see fl_text_extents(const char*, int n, int& dx, int& dy, int& w, int& h). 
Definition: Fl_Device.cxx:64
void fl_push_matrix()
Saves the current transformation matrix on the stack. 
Definition: fl_draw.H:326
A surface that's susceptible to receive graphical output. 
Definition: Fl_Device.H:523
void fl_transformed_vertex(double xf, double yf)
Adds coordinate pair to the vertex list without further transformations. 
Definition: fl_draw.H:492
void fl_gap()
Call fl_gap() to separate loops of the path. 
Definition: fl_draw.H:462
int fl_not_clipped(int x, int y, int w, int h)
Does the rectangle intersect the current clip region? 
Definition: fl_draw.H:114
static const char * class_id
A string that identifies each subclass of Fl_Device. 
Definition: Fl_Device.H:73
void fl_rotate(double d)
Concatenates rotation transformation onto the current one. 
Definition: fl_draw.H:350
void fl_draw_image(const uchar *buf, int X, int Y, int W, int H, int D=3, int L=0)
Draws an 8-bit per color RGB or luminance image. 
Definition: fl_draw.H:680
void fl_color(Fl_Color c)
Sets the color for all subsequent drawing operations. 
Definition: fl_draw.H:52
virtual void draw_image_mono(const uchar *buf, int X, int Y, int W, int H, int D=1, int L=0)
see fl_draw_image_mono(const uchar* buf, int X,int Y,int W,int H, int D, int L). 
Definition: Fl_Device.H:346
virtual const char * class_name()
Returns the name of the class of this object. 
Definition: Fl_Device.H:83
virtual void draw_image_mono(Fl_Draw_Image_Cb cb, void *data, int X, int Y, int W, int H, int D=1)
see fl_draw_image_mono(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D)...
Definition: Fl_Device.H:350
Fl_Fontsize size()
see fl_size(). 
Definition: Fl_Device.H:383
This a structure for an actual system font, with junk to help choose it and info on character sizes...
Definition: Fl_Font.H:41
FL_EXPORT void gl_start()
Creates an OpenGL context. 
Definition: gl_start.cxx:56
virtual void draw(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy)
Draws an Fl_Pixmap object to the device. 
Definition: Fl_Device.H:363
void fl_begin_polygon()
Starts drawing a convex filled polygon. 
Definition: fl_draw.H:374
void fl_begin_complex_polygon()
Starts drawing a complex filled polygon. 
Definition: fl_draw.H:455
void fl_pop_clip()
Restores the previous clip region. 
Definition: fl_draw.H:103
The Mac OS X-specific graphics class. 
Definition: Fl_Device.H:410
void fl_begin_line()
Starts drawing a list of lines. 
Definition: fl_draw.H:366
void driver(Fl_Graphics_Driver *graphics_driver)
Sets the graphics driver of this drawing surface. 
Definition: Fl_Device.H:535
static Fl_Display_Device * display_device()
Returns the platform display device. 
Definition: Fl_Device.H:555
Fl_Image, Fl_RGB_Image classes. 
void scale(double x)
see fl_scale(double x). 
Definition: Fl_Device.H:322
The Fl_RGB_Image class supports caching and drawing of full-color images with 1 to 4 channels of colo...
Definition: Fl_Image.H:183
void copy_offscreen(int x, int y, int w, int h, Fl_Offscreen pixmap, int srcx, int srcy)
see fl_copy_offscreen() 
Definition: Fl_Double_Window.cxx:121
virtual void rtl_draw(const char *str, int n, int x, int y)
see fl_rtl_draw(const char *str, int n, int x, int y). 
Definition: Fl_Device.H:251
virtual void draw(int X, int Y, int W, int H, int cx=0, int cy=0)
Draws the image with a bounding box. 
Definition: Fl_Image.cxx:523
void fl_end_line()
Ends list of lines, and draws. 
Definition: fl_draw.H:432
virtual int height()
see fl_height(). 
Definition: Fl_Device.H:391
Fl_Font_Descriptor * font_descriptor()
Returns a pointer to the current Fl_Font_Descriptor for the graphics driver. 
Definition: Fl_Device.H:397
virtual void draw(int angle, const char *str, int n, int x, int y)
see fl_draw(int angle, const char *str, int n, int x, int y). 
Definition: Fl_Device.H:249
void fl_end_loop()
Ends closed sequence of lines, and draws. 
Definition: fl_draw.H:436
void fl_curve(double X0, double Y0, double X1, double Y1, double X2, double Y2, double X3, double Y3)
Adds a series of points on a Bezier curve to the path. 
Definition: fl_draw.H:388
FL_EXPORT Fl_Graphics_Driver * fl_graphics_driver
Points to the driver that currently receives all graphics requests. 
Definition: Fl_Device.cxx:46
The Xlib-specific graphics class. 
Definition: Fl_Device.H:494
matrix * fl_matrix
Points to the current coordinate transformation matrix. 
Definition: Fl_Device.H:217
virtual int descent()
see fl_descent(). 
Definition: Fl_Device.H:393
const char * class_name()
Returns the name of the class of this object. 
Definition: Fl_Device.H:551
double fl_transform_dy(double x, double y)
Transforms distance using current transformation matrix. 
Definition: fl_draw.H:487
void fl_end_polygon()
Ends convex filled polygon, and draws. 
Definition: fl_draw.H:440
void draw(const char *str, int n, int x, int y)
see fl_draw(const char *str, int n, int x, int y). 
Fl_Color color()
see fl_color(void). 
Definition: Fl_Device.H:395
void fl_mult_matrix(double a, double b, double c, double d, double x, double y)
Concatenates another transformation onto the current one. 
Definition: fl_draw.H:357
void fl_begin_points()
Starts drawing a list of points. 
Definition: fl_draw.H:362
void fl_line_style(int style, int width=0, char *dashes=0)
Sets how to draw lines (the "pen"). 
Definition: fl_draw.H:177
double fl_transform_x(double x, double y)
Transforms coordinate using the current transformation matrix. 
Definition: fl_draw.H:472
void fl_scale(double x, double y)
Concatenates scaling transformation onto the current one. 
Definition: fl_draw.H:335
const char * class_name()
Returns the name of the class of this object. 
Definition: Fl_Device.H:450
virtual double width(unsigned int c)
see fl_width(unsigned int n). 
Definition: Fl_Device.H:387
void fl_end_points()
Ends list of points, and draws. 
Definition: fl_draw.H:428
Fl_Font font()
see fl_font(void). 
Definition: Fl_Device.H:381
This plugin socket allows the integration of new device drivers for special window or screen types...
Definition: Fl_Device.H:563
const char *const * data() const 
Returns a pointer to the current image data array. 
Definition: Fl_Image.H:120
Fl_Surface_Device(Fl_Graphics_Driver *graphics_driver)
Constructor that sets the graphics driver to use for the created surface. 
Definition: Fl_Device.H:529
A 2D coordinate transformation matrix. 
Definition: Fl_Device.H:107
int Fl_Fontsize
Size of a font in pixels. 
Definition: Enumerations.H:768
static Fl_Surface_Device * surface()
the surface that currently receives graphics output 
Definition: Fl_Device.H:539
Fl_Plugin allows link-time and run-time integration of binary modules. 
Definition: Fl_Plugin.H:61
void fl_rectf(int x, int y, int w, int h)
Colors with current color a rectangle that exactly fills the given bounding box. 
Definition: fl_draw.H:206
virtual void font(Fl_Font face, Fl_Fontsize fsize)
see fl_font(Fl_Font face, Fl_Fontsize size). 
Definition: Fl_Device.H:379
FL_EXPORT void fl_draw(const char *str, int x, int y)
Draws a nul-terminated UTF-8 string starting at the given x, y location. 
Definition: fl_font.cxx:64
void translate(double x, double y)
see fl_translate(double x, double y). 
Definition: Fl_Device.H:324
void fl_begin_loop()
Starts drawing a closed sequence of lines. 
Definition: fl_draw.H:370
virtual ~Fl_Graphics_Driver()
The destructor. 
Definition: Fl_Device.H:401
virtual ~Fl_Device()
Virtual destructor. 
Definition: Fl_Device.H:90
void fl_draw_image_mono(const uchar *buf, int X, int Y, int W, int H, int D=1, int L=0)
Draws a gray-scale (1 channel) image. 
Definition: fl_draw.H:687
const char * class_name()
Returns the name of the class of this object. 
Definition: Fl_Device.H:483
int d() const 
Returns the current image depth. 
Definition: Fl_Image.H:102
void fl_yxline(int x, int y, int y1)
Draws a vertical line from (x,y) to (x,y1) 
Definition: fl_draw.H:270
unsigned int Fl_Color
An FLTK color value; see also Colors. 
Definition: Enumerations.H:796
void fl_push_no_clip()
Pushes an empty clip region onto the stack so nothing will be clipped. 
Definition: fl_draw.H:95
double fl_transform_y(double x, double y)
Transforms coordinate using the current transformation matrix. 
Definition: fl_draw.H:477
void(* Fl_Draw_Image_Cb)(void *data, int x, int y, int w, uchar *buf)
signature of image generation callback function. 
Definition: Fl_Device.H:49
int Fl_Font
A font number is an index into the internal font table. 
Definition: Enumerations.H:739
virtual void draw_image(const uchar *buf, int X, int Y, int W, int H, int D=3, int L=0)
see fl_draw_image(const uchar* buf, int X,int Y,int W,int H, int D, int L). 
Definition: Fl_Device.H:344
A virtual class subclassed for each graphics driver FLTK uses. 
Definition: Fl_Device.H:103
void fl_translate(double x, double y)
Concatenates translation transformation onto the current one. 
Definition: fl_draw.H:345
int w() const 
Returns the current image width in pixels. 
Definition: Fl_Image.H:93
void scale(double x, double y)
see fl_scale(double x, double y). 
Definition: Fl_Device.H:320
void fl_vertex(double x, double y)
Adds a single vertex to the current path. 
Definition: fl_draw.H:379
The Fl_Bitmap class supports caching and drawing of mono-color (bitmap) images. 
Definition: Fl_Bitmap.H:33
void fl_pop_matrix()
Restores the current transformation matrix from the stack. 
Definition: fl_draw.H:330
void fl_polygon(int x, int y, int x1, int y1, int x2, int y2)
Fills a 3-sided polygon. 
Definition: fl_draw.H:244
virtual void color(Fl_Color c)
see fl_color(Fl_Color c). 
Definition: Fl_Device.H:253
virtual void draw(Fl_RGB_Image *rgb, int XP, int YP, int WP, int HP, int cx, int cy)
Draws an Fl_RGB_Image object to the device. 
Definition: Fl_Device.H:357
void fl_xyline(int x, int y, int x1)
Draws a horizontal line from (x,y) to (x1,y) 
Definition: fl_draw.H:255
int h() const 
Returns the current image height in pixels. 
Definition: Fl_Image.H:96
void fl_restore_clip()
Undoes any clobbering of clip done by your program. 
Definition: fl_draw.H:129
void fl_copy_offscreen(int x, int y, int w, int h, Fl_Offscreen pixmap, int srcx, int srcy)
Copy a rectangular area of the given offscreen buffer into the current drawing destination. 
Definition: Fl_Double_Window.cxx:98
Fl_Device_Plugin(const char *pluginName)
The constructor. 
Definition: Fl_Device.H:566
The graphics driver used when printing on MSWindows. 
Definition: Fl_Device.H:480
void fl_rtl_draw(const char *str, int n, int x, int y)
Draws a UTF-8 string of length n bytes right to left starting at the given x, y location. 
Definition: fl_draw.H:627
void fl_line(int x, int y, int x1, int y1)
Draws a line from (x,y) to (x1,y1) 
Definition: fl_draw.H:223
const char * class_name()
Returns the name of the class of this object. 
Definition: Fl_Device.H:497
void fl_arc(int x, int y, int w, int h, double a1, double a2)
Draw ellipse sections using integer coordinates. 
Definition: fl_draw.H:304
virtual void draw(Fl_Bitmap *bm, int XP, int YP, int WP, int HP, int cx, int cy)
Draws an Fl_Bitmap object to the device. 
Definition: Fl_Device.H:369
The MSWindows-specific graphics class. 
Definition: Fl_Device.H:447
A display to which the computer can draw. 
Definition: Fl_Device.H:547
virtual double width(const char *str, int n)
see fl_width(const char *str, int n). 
Definition: Fl_Device.H:385
void font_descriptor(Fl_Font_Descriptor *d)
Sets the current Fl_Font_Descriptor for the graphics driver. 
Definition: Fl_Device.H:399
const char * class_name()
Returns the name of the class of this object. 
Definition: Fl_Device.H:413
virtual void draw(const char *str, int n, int x, int y)
see fl_draw(const char *str, int n, int x, int y). 
Definition: Fl_Device.H:244
unsigned char uchar
unsigned char 
Definition: fl_types.h:30
void fl_font(Fl_Font face, Fl_Fontsize fsize)
Sets the current font, which is then used in various drawing routines. 
Definition: fl_draw.H:509
void fl_rect(int x, int y, int w, int h)
Draws a 1-pixel border inside the given bounding box. 
Definition: fl_draw.H:201
virtual void draw_image(Fl_Draw_Image_Cb cb, void *data, int X, int Y, int W, int H, int D=3)
see fl_draw_image(Fl_Draw_Image_Cb cb, void* data, int X,int Y,int W,int H, int D). 
Definition: Fl_Device.H:348
void fl_push_clip(int x, int y, int w, int h)
Intersects the current clip region with a rectangle and pushes this new region onto the stack...
Definition: fl_draw.H:82
void fl_pie(int x, int y, int w, int h, double a1, double a2)
Draw filled ellipse sections using integer coordinates. 
Definition: fl_draw.H:317
Fl_Graphics_Driver * driver()
Returns the graphics driver of this drawing surface. 
Definition: Fl_Device.H:537
All graphical output devices and all graphics systems. 
Definition: Fl_Device.H:68
virtual const char * class_name()
Returns the name of the class of this object. 
Definition: Fl_Device.H:377
void fl_circle(double x, double y, double r)
fl_circle() is equivalent to fl_arc(x,y,r,0,360), but may be faster. 
Definition: fl_draw.H:424