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    94 #define FL_REGION_STACK_SIZE 10    95 #define FL_MATRIX_STACK_SIZE 32   114   struct matrix {
double a, b, c, d, x, y;};
   121   static const int matrix_stack_size = FL_MATRIX_STACK_SIZE;
   122   matrix stack[FL_MATRIX_STACK_SIZE];
   127   int fl_clip_state_number;
   129   static const int region_stack_max = FL_REGION_STACK_SIZE - 1;
   130   Fl_Region rstack[FL_REGION_STACK_SIZE];
   136   void transformed_vertex0(COORD_T x, COORD_T y);
   141   enum {LINE, LOOP, POLYGON, POINT_};
   142   inline int vertex_no() { 
return n; }
   143   inline XPOINT *vertices() {
return p;}
   144   inline int vertex_kind() {
return what;}
   155   friend void fl_rect(
int x, 
int y, 
int w, 
int h);
   156   friend void fl_rectf(
int x, 
int y, 
int w, 
int h);
   157   friend void fl_line_style(
int style, 
int width, 
char* dashes);
   158   friend void fl_xyline(
int x, 
int y, 
int x1);
   159   friend void fl_xyline(
int x, 
int y, 
int x1, 
int y2);
   160   friend void fl_xyline(
int x, 
int y, 
int x1, 
int y2, 
int x3);
   161   friend void fl_yxline(
int x, 
int y, 
int y1);
   162   friend void fl_yxline(
int x, 
int y, 
int y1, 
int x2);
   163   friend void fl_yxline(
int x, 
int y, 
int y1, 
int x2, 
int y3);
   164   friend void fl_line(
int x, 
int y, 
int x1, 
int y1);
   165   friend void fl_line(
int x, 
int y, 
int x1, 
int y1, 
int x2, 
int y2);
   166   friend void fl_draw(
const char *str, 
int n, 
int x, 
int y);
   168   friend void fl_draw(
const char *str, 
int n, 
float x, 
float y);
   170   friend void fl_draw(
int angle, 
const char *str, 
int n, 
int x, 
int y);
   171   friend void fl_rtl_draw(
const char *str, 
int n, 
int x, 
int y);
   176   friend void fl_loop(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2);
   177   friend void fl_loop(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);
   178   friend void fl_polygon(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2);
   179   friend void fl_polygon(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);
   184   friend void fl_vertex(
double x, 
double y);
   185   friend void fl_curve(
double X0, 
double Y0, 
double X1, 
double Y1, 
double X2, 
double Y2, 
double X3, 
double Y3);
   186   friend void fl_circle(
double x, 
double y, 
double r);
   187   friend void fl_arc(
double x, 
double y, 
double r, 
double start, 
double end);
   188   friend void fl_arc(
int x, 
int y, 
int w, 
int h, 
double a1, 
double a2);
   189   friend void fl_pie(
int x, 
int y, 
int w, 
int h, 
double a1, 
double a2);
   196   friend int fl_clip_box(
int x, 
int y, 
int w, 
int h, 
int &X, 
int &Y, 
int &W, 
int &H);
   205   friend void fl_mult_matrix(
double a, 
double b, 
double c, 
double d, 
double x, 
double y);
   206   friend void fl_scale(
double x, 
double y);
   223   friend FL_EXPORT 
void fl_copy_offscreen(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
   229   virtual void rect(
int x, 
int y, 
int w, 
int h);
   231   virtual void rectf(
int x, 
int y, 
int w, 
int h);
   233   virtual void line_style(
int style, 
int width=0, 
char* dashes=0);
   235   virtual void xyline(
int x, 
int y, 
int x1);
   237   virtual void xyline(
int x, 
int y, 
int x1, 
int y2);
   239   virtual void xyline(
int x, 
int y, 
int x1, 
int y2, 
int x3);
   241   virtual void yxline(
int x, 
int y, 
int y1);
   243   virtual void yxline(
int x, 
int y, 
int y1, 
int x2);
   245   virtual void yxline(
int x, 
int y, 
int y1, 
int x2, 
int y3);
   247   virtual void line(
int x, 
int y, 
int x1, 
int y1);
   249   virtual void line(
int x, 
int y, 
int x1, 
int y1, 
int x2, 
int y2);
   251   virtual void draw(
const char *str, 
int n, 
int x, 
int y) {}
   253   virtual void draw(
const char *str, 
int n, 
float x, 
float y) { 
draw(str, n, (
int)(x+0.5), (
int)(y+0.5));}
   256   virtual void draw(
int angle, 
const char *str, 
int n, 
int x, 
int y) {}
   258   virtual void rtl_draw(
const char *str, 
int n, 
int x, 
int y) {};
   264   virtual void point(
int x, 
int y);
   266   virtual void loop(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2);
   268   virtual void loop(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);
   270   virtual void polygon(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2);
   272   virtual void polygon(
int x0, 
int y0, 
int x1, 
int y1, 
int x2, 
int y2, 
int x3, 
int y3);
   274   virtual void begin_points();
   276   virtual void begin_line();
   278   virtual void begin_loop();
   280   virtual void begin_polygon();
   282   virtual void vertex(
double x, 
double y);
   284   virtual void curve(
double X0, 
double Y0, 
double X1, 
double Y1, 
double X2, 
double Y2, 
double X3, 
double Y3);
   286   virtual void circle(
double x, 
double y, 
double r);
   288   virtual void arc(
double x, 
double y, 
double r, 
double start, 
double end);
   290   virtual void arc(
int x, 
int y, 
int w, 
int h, 
double a1, 
double a2);
   292   virtual void pie(
int x, 
int y, 
int w, 
int h, 
double a1, 
double a2);
   294   virtual void end_points();
   296   virtual void end_line();
   298   virtual void end_loop();
   300   virtual void end_polygon();
   302   virtual void begin_complex_polygon();
   306   virtual void end_complex_polygon();
   308   virtual void transformed_vertex(
double xf, 
double yf);
   310   virtual void push_clip(
int x, 
int y, 
int w, 
int h);
   312   virtual int clip_box(
int x, 
int y, 
int w, 
int h, 
int &X, 
int &Y, 
int &W, 
int &H);
   314   virtual int not_clipped(
int x, 
int y, 
int w, 
int h);
   316   virtual void push_no_clip();
   318   virtual void pop_clip();
   325   void mult_matrix(
double a, 
double b, 
double c, 
double d, 
double x, 
double y);
   327   inline void scale(
double x, 
double y) { mult_matrix(x,0,0,y,0,0); }
   329   inline void scale(
double x) { mult_matrix(x,0,0,x,0,0); }
   331   inline void translate(
double x,
double y) { mult_matrix(1,0,0,1,x,y); }
   333   void rotate(
double d);
   335   double transform_x(
double x, 
double y);
   337   double transform_y(
double x, 
double y);
   339   double transform_dx(
double x, 
double y);
   341   double transform_dy(
double x, 
double y);
   343   Fl_Region clip_region();
   345   void clip_region(Fl_Region r);
   351   virtual   void draw_image(
const uchar* buf, 
int X,
int Y,
int W,
int H, 
int D=3, 
int L=0) {}
   370   virtual   void draw(
Fl_Pixmap * pxm,
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy) {}
   376   virtual void draw(
Fl_Bitmap *bm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy) {}
   377 #if FLTK_ABI_VERSION >= 10301   380   void copy_offscreen(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
   392   virtual double width(
const char *str, 
int n) {
return 0;}
   394   virtual inline double width(
unsigned int c) { 
char ch = (char)c; 
return width(&ch, 1); }
   396   virtual void text_extents(
const char*, 
int n, 
int& dx, 
int& dy, 
int& 
w, 
int& 
h);
   407 #if FLTK_ABI_VERSION >= 10304 || defined(FL_DOXYGEN)   410   int draw_scaled(
Fl_Image *img, 
int X, 
int Y, 
int W, 
int H);
   415 #if defined(__APPLE__) || defined(FL_DOXYGEN)   423   static const char *class_id;
   427   void draw(
const char* str, 
int n, 
int x, 
int y);
   429   void draw(
const char *str, 
int n, 
float x, 
float y);
   431   void draw(
int angle, 
const char *str, 
int n, 
int x, 
int y);
   432   void rtl_draw(
const char* str, 
int n, 
int x, 
int y);
   434   void draw(
Fl_Pixmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   435   void draw(
Fl_Bitmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   436   void draw(
Fl_RGB_Image *img, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   438   void draw_image(
const uchar* buf, 
int X,
int Y,
int W,
int H, 
int D=3, 
int L=0);
   442   double width(
const char *str, 
int n);
   443   double width(
unsigned int c);
   444   void text_extents(
const char*, 
int n, 
int& dx, 
int& dy, 
int& w, 
int& h);
   447 #if ! defined(FL_DOXYGEN)   448   static Fl_Offscreen create_offscreen_with_alpha(
int w, 
int h);
   450   void copy_offscreen(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
   453 #if defined(WIN32) || defined(FL_DOXYGEN)   461   static const char *class_id;
   465   void draw(
const char* str, 
int n, 
int x, 
int y);
   466   void draw(
int angle, 
const char *str, 
int n, 
int x, 
int y);
   467   void rtl_draw(
const char* str, 
int n, 
int x, 
int y);
   469   void draw(
Fl_Pixmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   470   void draw(
Fl_Bitmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   471   void draw(
Fl_RGB_Image *img, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   472   void draw_image(
const uchar* buf, 
int X,
int Y,
int W,
int H, 
int D=3, 
int L=0);
   476   double width(
const char *str, 
int n);
   477   double width(
unsigned int c);
   478   void text_extents(
const char*, 
int n, 
int& dx, 
int& dy, 
int& w, 
int& h);
   481 #if ! defined(FL_DOXYGEN)   482   void copy_offscreen_with_alpha(
int x,
int y,
int w,
int h,HBITMAP bitmap,
int srcx,
int srcy);
   484   void copy_offscreen(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
   494   static const char *class_id;
   496   void draw(
Fl_Pixmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   497   void draw(
Fl_Bitmap *bm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   501 #if !(defined(__APPLE__) || defined(WIN32))   509   static const char *class_id;
   513   void draw(
const char* str, 
int n, 
int x, 
int y);
   514   void draw(
int angle, 
const char *str, 
int n, 
int x, 
int y);
   515   void rtl_draw(
const char* str, 
int n, 
int x, 
int y);
   517   void draw(
Fl_Pixmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   518   void draw(
Fl_Bitmap *pxm, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   519   void draw(
Fl_RGB_Image *img, 
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy);
   520   void draw_image(
const uchar* buf, 
int X,
int Y,
int W,
int H, 
int D=3, 
int L=0);
   524   double width(
const char *str, 
int n);
   525   double width(
unsigned int c);
   526   void text_extents(
const char*, 
int n, 
int& dx, 
int& dy, 
int& w, 
int& h);
   529   void copy_offscreen(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
   530 #if ! defined(FL_DOXYGEN)   531   void copy_offscreen_with_alpha(
int x, 
int y, 
int w, 
int h, Fl_Offscreen pixmap, 
int srcx, 
int srcy);
   567   virtual void set_current(
void);
   575     return _surface ? _surface : default_surface();
   591   static bool high_res_window_; 
   592   static bool high_resolution() {
return high_res_window_;}
   595   static const char *class_id;
   614   virtual const char *
klass() { 
return "fltk:device"; }
   616   virtual const char *name() = 0;
   622   virtual int print(
Fl_Widget* w, 
int x, 
int y, 
int height) = 0;
   632 #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:262
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:614
virtual ~Fl_Surface_Device()
The destructor. 
Definition: Fl_Device.H:578
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:566
int h() const
 Returns the current image height in pixels. 
Definition: Fl_Image.H:115
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:68
void fl_push_matrix()
 Saves the current transformation matrix on the stack. 
Definition: fl_draw.H:326
 A drawing surface that's susceptible to receive graphical output. 
Definition: Fl_Device.H:556
void fl_transformed_vertex(double xf, double yf)
 Adds coordinate pair to the vertex list without further transformations. 
Definition: fl_draw.H:492
const char *const  * data() const
 Returns a pointer to the current image data array. 
Definition: Fl_Image.H:138
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:74
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:685
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:353
virtual const char * class_name()
 Returns the name of the class of this object. 
Definition: Fl_Device.H:84
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:357
Fl_Fontsize size()
see fl_size(). 
Definition: Fl_Device.H:390
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:370
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:421
void fl_begin_line()
 Starts drawing a list of lines. 
Definition: fl_draw.H:366
 Base class for image caching and drawing. 
Definition: Fl_Image.H:55
void driver(Fl_Graphics_Driver *graphics_driver)
Sets the graphics driver of this drawing surface. 
Definition: Fl_Device.H:569
Fl_Image, Fl_RGB_Image classes. 
void scale(double x)
see fl_scale(double x). 
Definition: Fl_Device.H:329
int w() const
 Returns the current image width in pixels. 
Definition: Fl_Image.H:111
The Fl_RGB_Image class supports caching and drawing of full-color images with 1 to 4 channels of colo...
Definition: Fl_Image.H:202
virtual 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
int d() const
 Returns the current image depth. 
Definition: Fl_Image.H: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:258
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:651
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:398
Fl_Font_Descriptor * font_descriptor()
Returns a pointer to the current Fl_Font_Descriptor for the graphics driver. 
Definition: Fl_Device.H:404
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:256
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:50
 The Xlib-specific graphics class. 
Definition: Fl_Device.H:507
matrix * fl_matrix
Points to the current coordinate transformation matrix. 
Definition: Fl_Device.H:224
virtual int descent()
see fl_descent(). 
Definition: Fl_Device.H:400
const char * class_name()
 Returns the name of the class of this object. 
Definition: Fl_Device.H:596
double fl_transform_dy(double x, double y)
 Transforms distance using current transformation matrix. 
Definition: fl_draw.H:487
Fl_RGB_Image * rectangle_capture(Fl_Widget *widget, int x, int y, int w, int h)
captures a rectangle of a widget as an image 
Definition: Fl_Device.H:629
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:402
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:462
virtual double width(unsigned int c)
see fl_width(unsigned int n). 
Definition: Fl_Device.H:394
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:388
 This plugin socket allows the integration of new device drivers for special window or screen types...
Definition: Fl_Device.H:608
Fl_Surface_Device(Fl_Graphics_Driver *graphics_driver)
Constructor that sets the graphics driver to use for the created surface. 
Definition: Fl_Device.H:563
A 2D coordinate transformation matrix. 
Definition: Fl_Device.H:114
int Fl_Fontsize
Size of a font in pixels. 
Definition: Enumerations.H:906
static Fl_Surface_Device * surface()
The current drawing surface. 
Definition: Fl_Device.H:574
 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:386
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:70
void translate(double x, double y)
see fl_translate(double x, double y). 
Definition: Fl_Device.H:331
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:412
virtual int draw_scaled(Fl_Image *img, int X, int Y, int W, int H)
Draws an Fl_Image scaled to width W & height H with top-left corner at X,Y. 
Definition: Fl_Image.cxx:674
virtual ~Fl_Device()
 Virtual destructor. 
Definition: Fl_Device.H:91
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:692
const char * class_name()
 Returns the name of the class of this object. 
Definition: Fl_Device.H:495
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:934
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:877
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:351
 A virtual class subclassed for each graphics driver FLTK uses. 
Definition: Fl_Device.H:110
void fl_translate(double x, double y)
 Concatenates translation transformation onto the current one. 
Definition: fl_draw.H:345
void scale(double x, double y)
see fl_scale(double x, double y). 
Definition: Fl_Device.H:327
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:260
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:364
void fl_xyline(int x, int y, int x1)
 Draws a horizontal line from (x,y) to (x1,y) 
Definition: fl_draw.H:255
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:94
Fl_Device_Plugin(const char *pluginName)
The constructor. 
Definition: Fl_Device.H:611
 The graphics driver used when printing on MSWindows. 
Definition: Fl_Device.H:492
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:632
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:510
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:376
 The MSWindows-specific graphics class. 
Definition: Fl_Device.H:459
 A display to which the computer can draw. 
Definition: Fl_Device.H:586
virtual double width(const char *str, int n)
see fl_width(const char *str, int n). 
Definition: Fl_Device.H:392
void font_descriptor(Fl_Font_Descriptor *d)
Sets the current Fl_Font_Descriptor for the graphics driver. 
Definition: Fl_Device.H:406
const char * class_name()
 Returns the name of the class of this object. 
Definition: Fl_Device.H:424
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:251
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:355
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:571
 All graphical output devices and all graphics systems. 
Definition: Fl_Device.H:69
virtual const char * class_name()
 Returns the name of the class of this object. 
Definition: Fl_Device.H:384
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