37 #include <FL/Fl_Plugin.H>
38 #include <FL/Fl_Image.H>
39 #include <FL/Fl_Bitmap.H>
40 #include <FL/Fl_Pixmap.H>
41 #include <FL/Fl_RGB_Image.H>
61 # define XPOINT XPoint
62 #elif defined(__APPLE__)
63 typedef float COORD_T;
64 typedef struct {
float x;
float y; } QPoint;
65 # define XPOINT QPoint
66 extern float fl_quartz_line_width_;
68 typedef short COORD_T;
69 # define XPOINT XPoint
98 #define FL_REGION_STACK_SIZE 10
99 #define FL_MATRIX_STACK_SIZE 32
112 struct matrix {
double a, b, c, d, x, y;};
118 enum {LINE, LOOP, POLYGON, POINT_};
120 static const int matrix_stack_size = FL_MATRIX_STACK_SIZE;
121 matrix stack[FL_MATRIX_STACK_SIZE];
126 int fl_clip_state_number;
128 static const int region_stack_max = FL_REGION_STACK_SIZE - 1;
129 Fl_Region rstack[FL_REGION_STACK_SIZE];
135 void transformed_vertex0(COORD_T x, COORD_T y);
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);
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) = 0;
246 virtual void draw(
const char *str,
int n,
float x,
float y) = 0;
249 virtual void draw(
int angle,
const char *str,
int n,
int x,
int y) = 0;
251 virtual void rtl_draw(
const char *str,
int n,
int x,
int y) = 0;
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) = 0;
346 virtual void draw_image_mono(
const uchar* buf,
int X,
int Y,
int W,
int H,
int D=1,
int L=0) = 0;
350 virtual void draw_image_mono(
Fl_Draw_Image_Cb cb,
void*
data,
int X,
int Y,
int W,
int H,
int D=1) = 0;
357 virtual void draw(
Fl_RGB_Image * rgb,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy) = 0;
363 virtual void draw(
Fl_Pixmap * pxm,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy) = 0;
369 virtual void draw(
Fl_Bitmap *bm,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy) = 0;
381 virtual double width(
const char *str,
int n) = 0;
383 virtual inline double width(
unsigned int c) {
char ch = (char)c;
return width(&ch, 1); }
385 virtual void text_extents(
const char*,
int n,
int& dx,
int& dy,
int&
w,
int&
h);
387 virtual int height() = 0;
389 virtual int descent() = 0;
400 #if defined(__APPLE__) || defined(FL_DOXYGEN)
408 static const char *class_id;
412 void draw(
const char* str,
int n,
int x,
int y);
414 void draw(
const char *str,
int n,
float x,
float y);
416 void draw(
int angle,
const char *str,
int n,
int x,
int y);
417 void rtl_draw(
const char* str,
int n,
int x,
int y);
419 void draw(
Fl_Pixmap *pxm,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy);
420 void draw(
Fl_Bitmap *pxm,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy);
421 void draw(
Fl_RGB_Image *img,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy);
422 void draw_image(
const uchar* buf,
int X,
int Y,
int W,
int H,
int D=3,
int L=0);
426 double width(
const char *str,
int n);
427 double width(
unsigned int c);
428 void text_extents(
const char*,
int n,
int& dx,
int& dy,
int& w,
int& h);
433 #if defined(WIN32) || defined(FL_DOXYGEN)
441 static const char *class_id;
445 void draw(
const char* str,
int n,
int x,
int y);
446 void draw(
int angle,
const char *str,
int n,
int x,
int y);
447 void rtl_draw(
const char* str,
int n,
int x,
int y);
449 void draw(
Fl_Pixmap *pxm,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy);
450 void draw(
Fl_Bitmap *pxm,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy);
451 void draw(
Fl_RGB_Image *img,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy);
452 void draw_image(
const uchar* buf,
int X,
int Y,
int W,
int H,
int D=3,
int L=0);
456 double width(
const char *str,
int n);
457 double width(
unsigned int c);
458 void text_extents(
const char*,
int n,
int& dx,
int& dy,
int& w,
int& h);
463 #if !(defined(__APPLE__) || defined(WIN32))
471 static const char *class_id;
475 void draw(
const char* str,
int n,
int x,
int y);
476 void draw(
int angle,
const char *str,
int n,
int x,
int y);
477 void rtl_draw(
const char* str,
int n,
int x,
int y);
479 void draw(
Fl_Pixmap *pxm,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy);
480 void draw(
Fl_Bitmap *pxm,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy);
481 void draw(
Fl_RGB_Image *img,
int XP,
int YP,
int WP,
int HP,
int cx,
int cy);
482 void draw_image(
const uchar* buf,
int X,
int Y,
int W,
int H,
int D=3,
int L=0);
486 double width(
const char *str,
int n);
487 double width(
unsigned int c);
488 void text_extents(
const char*,
int n,
int& dx,
int& dy,
int& w,
int& h);
507 virtual void set_current(
void);
524 static const char *class_id;
543 virtual const char *
klass() {
return "fltk:device"; }
545 virtual const char *name() = 0;
551 virtual int print(
Fl_Widget* w,
int x,
int y,
int height) = 0;
554 #endif // Fl_Device_H
void fl_end_complex_polygon()
Ends complex filled polygon, and draws.
Definition: fl_draw.H:457
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:548
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:242
double fl_transform_dx(double x, double y)
Transforms distance using current transformation matrix.
Definition: fl_draw.H:473
virtual const char * klass()
Returns the class name.
Definition: Fl_Device.H:543
virtual ~Fl_Surface_Device()
The destructor.
Definition: Fl_Device.H:515
virtual void draw_image(const uchar *buf, int X, int Y, int W, int H, int D=3, int L=0)=0
see fl_draw_image(const uchar* buf, int X,int Y,int W,int H, int D, int L).
int descent()
see fl_descent().
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:135
The Fl_Pixmap class supports caching and drawing of colormap (pixmap) images, including transparency...
Definition: Fl_Pixmap.H:47
void fl_point(int x, int y)
Draws a single pixel at the given coordinates.
Definition: fl_draw.H:156
const char * class_name()
Returns the name of the class of this object.
Definition: Fl_Device.H:506
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:145
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:67
void fl_push_matrix()
Saves the current transformation matrix on the stack.
Definition: fl_draw.H:335
A surface that's susceptible to receive graphical output.
Definition: Fl_Device.H:497
void fl_transformed_vertex(double xf, double yf)
Adds coordinate pair to the vertex list without further transformations.
Definition: fl_draw.H:483
void fl_gap()
Call fl_gap() to separate loops of the path.
Definition: fl_draw.H:453
int fl_not_clipped(int x, int y, int w, int h)
Does the rectangle intersect the current clip region?
Definition: fl_draw.H:123
virtual void draw(const char *str, int n, int x, int y)=0
see fl_draw(const char *str, int n, int x, int y).
static const char * class_id
A string that identifies each subclass of Fl_Device.
Definition: Fl_Device.H:80
void fl_rotate(double d)
Concatenates rotation transformation onto the current one.
Definition: fl_draw.H:359
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:666
void fl_color(Fl_Color c)
Sets the color for all subsequent drawing operations.
Definition: fl_draw.H:61
virtual const char * class_name()
Returns the name of the class of this object.
Definition: Fl_Device.H:88
Fl_Fontsize size()
see fl_size().
Definition: Fl_Device.H:379
This a structure for an actual system font, with junk to help choose it and info on character sizes...
Definition: Fl_Font.H:50
FL_EXPORT void gl_start()
Creates an OpenGL context.
Definition: gl_start.cxx:64
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:56
virtual void font(Fl_Font face, Fl_Fontsize size)
see fl_font(Fl_Font face, Fl_Fontsize size).
Definition: Fl_Device.H:375
void fl_begin_polygon()
Starts drawing a convex filled polygon.
Definition: fl_draw.H:383
void fl_begin_complex_polygon()
Starts drawing a complex filled polygon.
Definition: fl_draw.H:446
void fl_pop_clip()
Restores the previous clip region.
Definition: fl_draw.H:112
The Mac OS X-specific graphics class.
Definition: Fl_Device.H:406
virtual int descent()=0
see fl_descent().
void fl_begin_line()
Starts drawing a list of lines.
Definition: fl_draw.H:375
void driver(Fl_Graphics_Driver *graphics_driver)
Sets the graphics driver of this drawing surface.
Definition: Fl_Device.H:509
static Fl_Display_Device * display_device()
Returns the platform display device.
Definition: Fl_Device.H:529
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:175
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).
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:437
void fl_end_line()
Ends list of lines, and draws.
Definition: fl_draw.H:423
Fl_Font_Descriptor * font_descriptor()
Returns a pointer to the current Fl_Font_Descriptor for the graphics driver.
Definition: Fl_Device.H:393
void fl_font(Fl_Font face, Fl_Fontsize size)
Sets the current font, which is then used in various drawing routines.
Definition: fl_draw.H:500
virtual int height()=0
see fl_height().
void fl_end_loop()
Ends closed sequence of lines, and draws.
Definition: fl_draw.H:427
virtual void draw_image_mono(const uchar *buf, int X, int Y, int W, int H, int D=1, int L=0)=0
see fl_draw_image_mono(const uchar* buf, int X,int Y,int W,int H, int D, int L).
virtual void rtl_draw(const char *str, int n, int x, int y)=0
see fl_rtl_draw(const char *str, int n, int x, int y).
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:397
FL_EXPORT Fl_Graphics_Driver * fl_graphics_driver
Points to the driver that currently receives all graphics requests.
The Xlib-specific graphics class.
Definition: Fl_Device.H:469
matrix * fl_matrix
Points to the current coordinate transformation matrix.
Definition: Fl_Device.H:217
const char * class_name()
Returns the name of the class of this object.
Definition: Fl_Device.H:525
double fl_transform_dy(double x, double y)
Transforms distance using current transformation matrix.
Definition: fl_draw.H:478
void fl_end_polygon()
Ends convex filled polygon, and draws.
Definition: fl_draw.H:431
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).
Fl_Color color()
see fl_color(void).
Definition: Fl_Device.H:391
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:366
virtual double width(const char *str, int n)=0
see fl_width(const char *str, int n).
void fl_begin_points()
Starts drawing a list of points.
Definition: fl_draw.H:371
void fl_line_style(int style, int width=0, char *dashes=0)
Sets how to draw lines (the "pen").
Definition: fl_draw.H:186
double fl_transform_x(double x, double y)
Transforms coordinate using the current transformation matrix.
Definition: fl_draw.H:463
void fl_scale(double x, double y)
Concatenates scaling transformation onto the current one.
Definition: fl_draw.H:344
int height()
see fl_height().
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:555
const char * class_name()
Returns the name of the class of this object.
Definition: Fl_Device.H:442
virtual double width(unsigned int c)
see fl_width(unsigned int n).
Definition: Fl_Device.H:383
void fl_end_points()
Ends list of points, and draws.
Definition: fl_draw.H:419
Fl_Font font()
see fl_font(void).
Definition: Fl_Device.H:377
Fl_Device_Plugin(const char *name)
The constructor.
Definition: Fl_Device.H:540
This plugin socket allows the integration of new device drivers for special window or screen types...
Definition: Fl_Device.H:537
const char *const * data() const
Returns a pointer to the current image data array.
Definition: Fl_Image.H:118
Fl_Surface_Device(Fl_Graphics_Driver *graphics_driver)
Constructor that sets the graphics driver to use for the created surface.
Definition: Fl_Device.H:503
A 2D coordinate transformation matrix.
Definition: Fl_Device.H:112
int Fl_Fontsize
Size of a font in pixels.
Definition: Enumerations.H:741
static Fl_Surface_Device * surface()
the surface that currently receives graphics output
Definition: Fl_Device.H:513
Fl_Plugin allows link-time and run-time integration of binary modules.
Definition: Fl_Plugin.H:70
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:215
FL_EXPORT void fl_draw(const char *str, int x, int y)
Draws a nul-terminated string starting at the given location.
Definition: fl_font.cxx:73
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:379
virtual ~Fl_Graphics_Driver()
The destructor.
Definition: Fl_Device.H:397
virtual ~Fl_Device()
Virtual destructor.
Definition: Fl_Device.H:95
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:673
double width(const char *str, int n)
see fl_width(const char *str, int n).
int d() const
Returns the current image depth.
Definition: Fl_Image.H:100
void fl_yxline(int x, int y, int y1)
Draws a vertical line from (x,y) to (x,y1)
Definition: fl_draw.H:279
unsigned int Fl_Color
an FLTK color value
Definition: Enumerations.H:769
void fl_push_no_clip()
Pushes an empty clip region onto the stack so nothing will be clipped.
Definition: fl_draw.H:104
double fl_transform_y(double x, double y)
Transforms coordinate using the current transformation matrix.
Definition: fl_draw.H:468
int Fl_Font
A font number is an index into the internal font table.
Definition: Enumerations.H:712
A virtual class subclassed for each graphics driver FLTK uses.
Definition: Fl_Device.H:108
void fl_translate(double x, double y)
Concatenates translation transformation onto the current one.
Definition: fl_draw.H:354
int w() const
Returns the current image width in pixels.
Definition: Fl_Image.H:91
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:388
The Fl_Bitmap class supports caching and drawing of mono-color (bitmap) images.
Definition: Fl_Bitmap.H:42
void fl_pop_matrix()
Restores the current transformation matrix from the stack.
Definition: fl_draw.H:339
void fl_polygon(int x, int y, int x1, int y1, int x2, int y2)
Fills a 3-sided polygon.
Definition: fl_draw.H:253
virtual void color(Fl_Color c)
see fl_color(Fl_Color c).
Definition: Fl_Device.H:253
void fl_xyline(int x, int y, int x1)
Draws a horizontal line from (x,y) to (x1,y)
Definition: fl_draw.H:264
int h() const
Returns the current image height in pixels.
Definition: Fl_Image.H:94
void fl_restore_clip()
Undoes any clobbering of clip done by your program.
Definition: fl_draw.H:138
void fl_rtl_draw(const char *str, int n, int x, int y)
Draws an array of n characters right to left starting at given location.
Definition: fl_draw.H:613
void fl_line(int x, int y, int x1, int y1)
Draws a line from (x,y) to (x1,y1)
Definition: fl_draw.H:232
const char * class_name()
Returns the name of the class of this object.
Definition: Fl_Device.H:472
void draw(const char *str, int n, int x, int y)
see fl_draw(const char *str, int n, int x, int y).
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:313
The MSWindows-specific graphics class.
Definition: Fl_Device.H:439
A display to which the computer can draw.
Definition: Fl_Device.H:521
void font_descriptor(Fl_Font_Descriptor *d)
Sets the current Fl_Font_Descriptor for the graphics driver.
Definition: Fl_Device.H:395
const char * class_name()
Returns the name of the class of this object.
Definition: Fl_Device.H:409
unsigned char uchar
unsigned char
Definition: fl_types.h:39
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:210
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:91
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:326
Fl_Graphics_Driver * driver()
Returns the graphics driver of this drawing surface.
Definition: Fl_Device.H:511
All graphical output devices and all graphics systems.
Definition: Fl_Device.H:75
virtual const char * class_name()
Returns the name of the class of this object.
Definition: Fl_Device.H:373
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:415