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> 
   55#elif defined(__APPLE__) 
   57typedef struct { 
float x; 
float y; } QPoint;
 
   59extern float fl_quartz_line_width_;
 
   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;}
 
  152  friend class Fl_Pixmap;
 
  153  friend class Fl_Bitmap;
 
  154  friend class Fl_RGB_Image;
 
  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);
 
  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);
 
  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) {}
 
  364  virtual   void draw(Fl_RGB_Image * rgb,
int XP, 
int YP, 
int WP, 
int HP, 
int cx, 
int cy) {}
 
  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);
 
  383  static const char *class_id;
 
  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);
 
  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);
 
  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);
 
  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);
 
 
  565  static const char *class_id;
 
  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;
 
 
int Fl_Font
A font number is an index into the internal font table.
Definition Enumerations.H:884
unsigned int Fl_Color
An FLTK color value; see also Colors.
Definition Enumerations.H:941
int Fl_Fontsize
Size of a font in pixels.
Definition Enumerations.H:913
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
FL_EXPORT Fl_Graphics_Driver * fl_graphics_driver
Points to the driver that currently receives all graphics requests.
Definition Fl_Device.cxx:50
Fl_Image, Fl_RGB_Image classes.
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
Fl_Device_Plugin(const char *pluginName)
The constructor.
Definition Fl_Device.H:611
virtual const char * klass()
Returns the class name.
Definition Fl_Device.H:614
virtual const char * name()=0
Returns the plugin name.
virtual int print(Fl_Widget *w, int x, int y, int height)=0
Prints a widget.
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:84
virtual ~Fl_Device()
Virtual destructor.
Definition Fl_Device.H:91
static const char * class_id
A string that identifies each subclass of Fl_Device.
Definition Fl_Device.H:74
A display to which the computer can draw.
Definition Fl_Device.H:586
Fl_Display_Device(Fl_Graphics_Driver *graphics_driver)
A constructor that sets the graphics driver used by the display.
Definition Fl_Device.cxx:77
const char * class_name()
Returns the name of the class of this object.
Definition Fl_Device.H:596
This a structure for an actual system font, with junk to help choose it and info on character sizes.
Definition Fl_Font.H:41
The MSWindows-specific graphics class.
Definition Fl_Device.H:459
int height()
see fl_height().
void draw(Fl_Bitmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy)
Draws an Fl_Bitmap object to the device.
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).
int descent()
see fl_descent().
void copy_offscreen(int x, int y, int w, int h, Fl_Offscreen pixmap, int srcx, int srcy)
see fl_copy_offscreen()
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.
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).
double width(unsigned int c)
see fl_width(unsigned int n).
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).
void font(Fl_Font face, Fl_Fontsize size)
see fl_font(Fl_Font face, Fl_Fontsize size).
double width(const char *str, int n)
see fl_width(const char *str, int n).
const char * class_name()
Returns the name of the class of this object.
Definition Fl_Device.H:462
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_draw_image_win32.cxx:302
void draw(Fl_RGB_Image *img, int XP, int YP, int WP, int HP, int cx, int cy)
Draws an Fl_RGB_Image object to the device.
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_draw_image_win32.cxx:283
void draw(const char *str, int n, int x, int y)
see fl_draw(const char *str, int n, int x, int y).
The graphics driver used when printing on MSWindows.
Definition Fl_Device.H:492
const char * class_name()
Returns the name of the class of this object.
Definition Fl_Device.H:495
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.
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.
int draw_scaled(Fl_Image *img, int XP, int YP, int WP, int HP)
Draws an Fl_Image scaled to width W & height H with top-left corner at X,Y.
A virtual class subclassed for each graphics driver FLTK uses.
Definition Fl_Device.H:110
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
virtual const char * class_name()
Returns the name of the class of this object.
Definition Fl_Device.H:384
void mult_matrix(double a, double b, double c, double d, double x, double y)
see fl_mult_matrix(double a, double b, double c, double d, double x, double y).
Definition fl_vertex.cxx:52
virtual double width(const char *str, int n)
see fl_width(const char *str, int n).
Definition Fl_Device.H:392
virtual void line_style(int style, int width=0, char *dashes=0)
see fl_line_style(int style, int width, char* dashes).
Definition fl_line_style.cxx:50
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
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 font_descriptor(Fl_Font_Descriptor *d)
Sets the current Fl_Font_Descriptor for the graphics driver.
Definition Fl_Device.H:406
Fl_Color color()
see fl_color(void).
Definition Fl_Device.H:402
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
virtual void rectf(int x, int y, int w, int h)
see fl_rectf(int x, int y, int w, int h).
Definition fl_rect.cxx:180
Fl_Graphics_Driver()
The constructor.
Definition Fl_Device.cxx:55
void translate(double x, double y)
see fl_translate(double x, double y).
Definition Fl_Device.H:331
virtual void yxline(int x, int y, int y1)
see fl_yxline(int x, int y, int y1).
Definition fl_rect.cxx:281
void scale(double x)
see fl_scale(double x).
Definition Fl_Device.H:329
virtual void xyline(int x, int y, int x1)
see fl_xyline(int x, int y, int x1).
Definition fl_rect.cxx:198
virtual void color(uchar r, uchar g, uchar b)
see fl_color(uchar r, uchar g, uchar b).
Definition Fl_Device.H:262
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
matrix * fl_matrix
Points to the current coordinate transformation matrix.
Definition Fl_Device.H:224
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
virtual void font(Fl_Font face, Fl_Fontsize fsize)
see fl_font(Fl_Font face, Fl_Fontsize size).
Definition Fl_Device.H:386
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_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
Fl_Font_Descriptor * font_descriptor()
Returns a pointer to the current Fl_Font_Descriptor for the graphics driver.
Definition Fl_Device.H:404
void scale(double x, double y)
see fl_scale(double x, double y).
Definition Fl_Device.H:327
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
virtual void rect(int x, int y, int w, int h)
see fl_rect(int x, int y, int w, int h).
Definition fl_rect.cxx:158
virtual void color(Fl_Color c)
see fl_color(Fl_Color c).
Definition Fl_Device.H:260
virtual ~Fl_Graphics_Driver()
The destructor.
Definition Fl_Device.H:412
virtual int height()
see fl_height().
Definition Fl_Device.H:398
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
Fl_Fontsize size()
see fl_size().
Definition Fl_Device.H:390
Fl_Font font()
see fl_font(void).
Definition Fl_Device.H:388
virtual double width(unsigned int c)
see fl_width(unsigned int n).
Definition Fl_Device.H:394
virtual int descent()
see fl_descent().
Definition Fl_Device.H:400
virtual void line(int x, int y, int x1, int y1)
see fl_line(int x, int y, int x1, int y1).
Definition fl_rect.cxx:362
Base class for image caching and drawing.
Definition Fl_Image.H:55
Fl_Plugin(const char *klass, const char *name)
Create a plugin.
Definition Fl_Preferences.cxx:1590
The Mac OS X-specific graphics class.
Definition Fl_Device.H:421
void draw(Fl_Bitmap *pxm, int XP, int YP, int WP, int HP, int cx, int cy)
Draws an Fl_Bitmap object to the device.
int height()
see fl_height().
double width(unsigned int c)
see fl_width(unsigned int n).
void draw(Fl_RGB_Image *img, int XP, int YP, int WP, int HP, int cx, int cy)
Draws an Fl_RGB_Image object to the device.
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_draw_image_mac.cxx:157
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).
int descent()
see fl_descent().
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.
const char * class_name()
Returns the name of the class of this object.
Definition Fl_Device.H:424
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).
void draw(const char *str, int n, int x, int y)
see fl_draw(const char *str, int n, int x, int y).
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_draw_image_mac.cxx:164
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).
int draw_scaled(Fl_Image *img, int XP, int YP, int WP, int HP)
Draws an Fl_Image scaled to width W & height H with top-left corner at X,Y.
void font(Fl_Font face, Fl_Fontsize size)
see fl_font(Fl_Font face, Fl_Fontsize size).
double width(const char *str, int n)
see fl_width(const char *str, int n).
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
void driver(Fl_Graphics_Driver *graphics_driver)
Sets the graphics driver of this drawing surface.
Definition Fl_Device.H:569
virtual ~Fl_Surface_Device()
The destructor.
Definition Fl_Device.H:578
Fl_Graphics_Driver * driver()
Returns the graphics driver of this drawing surface.
Definition Fl_Device.H:571
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
static Fl_Surface_Device * surface()
The current drawing surface.
Definition Fl_Device.H:574
const char * class_name()
Returns the name of the class of this object.
Definition Fl_Device.H:566
The Xlib-specific graphics class.
Definition Fl_Device.H:507
const char * class_name()
Returns the name of the class of this object.
Definition Fl_Device.H:510
double width(const char *str, int n)
see fl_width(const char *str, int n).
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_draw_image.cxx:593
double width(unsigned int c)
see fl_width(unsigned int n).
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).
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).
void copy_offscreen(int x, int y, int w, int h, Fl_Offscreen pixmap, int srcx, int srcy)
see fl_copy_offscreen()
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).
int height()
see fl_height().
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_draw_image.cxx:574
int descent()
see fl_descent().
void font(Fl_Font face, Fl_Fontsize size)
see fl_font(Fl_Font face, Fl_Fontsize size).
void draw(const char *str, int n, int x, int y)
see fl_draw(const char *str, int n, int x, int y).
unsigned char uchar
unsigned char
Definition fl_types.h:30
FL_EXPORT void gl_start()
Creates an OpenGL context.
Definition gl_start.cxx:56
Fl_Font fl_font()
Returns the face set by the most recent call to fl_font().
Definition fl_draw.H:515
Fl_Color fl_color()
Returns the last fl_color() that was set.
Definition fl_draw.H:70
void fl_push_no_clip()
Pushes an empty clip region onto the stack so nothing will be clipped.
Definition fl_draw.H:95
void fl_begin_complex_polygon()
Starts drawing a complex filled polygon.
Definition fl_draw.H:455
void fl_vertex(double x, double y)
Adds a single vertex to the current path.
Definition fl_draw.H:379
void fl_point(int x, int y)
Draws a single pixel at the given coordinates.
Definition fl_draw.H:147
Fl_Region fl_clip_region()
Returns the current clipping region.
Definition fl_draw.H:140
void fl_gap()
Call fl_gap() to separate loops of the path.
Definition fl_draw.H:462
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
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
void fl_translate(double x, double y)
Concatenates translation transformation onto the current one.
Definition fl_draw.H:345
void fl_begin_points()
Starts drawing a list of points.
Definition fl_draw.H:362
double fl_transform_dy(double x, double y)
Transforms distance using current transformation matrix.
Definition fl_draw.H:487
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
void fl_begin_loop()
Starts drawing a closed sequence of lines.
Definition fl_draw.H:370
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_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
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
double fl_transform_dx(double x, double y)
Transforms distance using current transformation matrix.
Definition fl_draw.H:482
void fl_end_loop()
Ends closed sequence of lines, and draws.
Definition fl_draw.H:436
void fl_scale(double x, double y)
Concatenates scaling transformation onto the current one.
Definition fl_draw.H:335
void fl_begin_polygon()
Starts drawing a convex filled polygon.
Definition fl_draw.H:374
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:302
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
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
void fl_line_style(int style, int width=0, char *dashes=0)
Sets how to draw lines (the "pen").
Definition fl_draw.H:177
void fl_pop_clip()
Restores the previous clip region.
Definition fl_draw.H:103
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
void fl_yxline(int x, int y, int y1)
Draws a vertical line from (x,y) to (x,y1)
Definition fl_draw.H:270
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
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
void fl_end_line()
Ends list of lines, and draws.
Definition fl_draw.H:432
void fl_pop_matrix()
Restores the current transformation matrix from the stack.
Definition fl_draw.H:330
void fl_rotate(double d)
Concatenates rotation transformation onto the current one.
Definition fl_draw.H:350
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
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
double fl_transform_x(double x, double y)
Transforms coordinate using the current transformation matrix.
Definition fl_draw.H:472
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_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
void fl_push_matrix()
Saves the current transformation matrix on the stack.
Definition fl_draw.H:326
void fl_end_complex_polygon()
Ends complex filled polygon, and draws.
Definition fl_draw.H:466
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 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_end_polygon()
Ends convex filled polygon, and draws.
Definition fl_draw.H:440
void fl_begin_line()
Starts drawing a list of lines.
Definition fl_draw.H:366
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
double fl_transform_y(double x, double y)
Transforms coordinate using the current transformation matrix.
Definition fl_draw.H:477
void fl_end_points()
Ends list of points, and draws.
Definition fl_draw.H:428
void fl_restore_clip()
Undoes any clobbering of clip done by your program.
Definition fl_draw.H:129
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_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
A 2D coordinate transformation matrix.
Definition Fl_Device.H:114