fltk  1.3.5-source
About: FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X.
  Fossies Dox: fltk-1.3.5-source.tar.bz2  ("inofficial" and yet experimental doxygen-generated source code documentation)  

Fl.H
Go to the documentation of this file.
1 //
2 // "$Id$"
3 //
4 // Main header file for the Fast Light Tool Kit (FLTK).
5 //
6 // Copyright 1998-2016 by Bill Spitzak and others.
7 //
8 // This library is free software. Distribution and use rights are outlined in
9 // the file "COPYING" which should have been included with this file. If this
10 // file is missing or damaged, see the license at:
11 //
12 // http://www.fltk.org/COPYING.php
13 //
14 // Please report all bugs and problems on the following page:
15 //
16 // http://www.fltk.org/str.php
17 //
18 
23 #ifndef Fl_H
24 # define Fl_H
25 
26 #include <FL/Fl_Export.H>
27 
28 #ifdef FLTK_HAVE_CAIRO
29 # include <FL/Fl_Cairo.H>
30 #endif
31 
32 # include "fl_utf8.h"
33 # include "Enumerations.H"
34 # ifndef Fl_Object
35 # define Fl_Object Fl_Widget
36 # endif
37 
38 # ifdef check
39 # undef check
40 # endif
41 
42 
43 class Fl_Widget;
44 class Fl_Window;
45 class Fl_Image;
46 struct Fl_Label;
47 
48 // Keep avoiding having the socket deps at that level but mke sure it will work in both 32 & 64 bit builds
49 #if defined(WIN32) && !defined(__CYGWIN__)
50 # if defined(_WIN64)
51 # define FL_SOCKET unsigned __int64
52 # else
53 # define FL_SOCKET int
54 # endif
55 #else
56 # define FL_SOCKET int
57 #endif
58 
59 
60 // Pointers you can use to change FLTK to a foreign language.
61 // Note: Similar pointers are defined in FL/fl_ask.H and src/fl_ask.cxx
62 extern FL_EXPORT const char* fl_local_ctrl;
63 extern FL_EXPORT const char* fl_local_meta;
64 extern FL_EXPORT const char* fl_local_alt;
65 extern FL_EXPORT const char* fl_local_shift;
66 
83 typedef void (Fl_Label_Draw_F)(const Fl_Label *label, int x, int y, int w, int h, Fl_Align align);
84 
86 typedef void (Fl_Label_Measure_F)(const Fl_Label *label, int &width, int &height);
87 
89 typedef void (Fl_Box_Draw_F)(int x, int y, int w, int h, Fl_Color color);
90 
92 typedef void (*Fl_Timeout_Handler)(void *data);
93 
95 typedef void (*Fl_Awake_Handler)(void *data);
96 
98 typedef void (*Fl_Idle_Handler)(void *data);
99 
101 typedef void (*Fl_Old_Idle_Handler)();
102 
104 typedef void (*Fl_FD_Handler)(FL_SOCKET fd, void *data);
105 
107 typedef int (*Fl_Event_Handler)(int event);
108 
110 typedef int (*Fl_System_Handler)(void *event, void *data);
111 
113 typedef void (*Fl_Abort_Handler)(const char *format,...);
114 
116 typedef void (*Fl_Atclose_Handler)(Fl_Window *window, void *data);
117 
119 typedef int (*Fl_Args_Handler)(int argc, char **argv, int &i);
120 
123 typedef int (*Fl_Event_Dispatch)(int event, Fl_Window *w);
124 
126 typedef void (*Fl_Clipboard_Notify_Handler)(int source, void *data);
127  /* group callback_functions */
129 
130 
135 class FL_EXPORT Fl {
136  Fl() {}; // no constructor!
137 
138 private:
139  static int use_high_res_GL_;
140 
141 public: // should be private!
142 #ifndef FL_DOXYGEN
143  static int e_number;
144  static int e_x;
145  static int e_y;
146  static int e_x_root;
147  static int e_y_root;
148  static int e_dx;
149  static int e_dy;
150  static int e_state;
151  static int e_clicks;
152  static int e_is_click;
153  static int e_keysym;
154  static char* e_text;
155  static int e_length;
156  static void *e_clipboard_data;
157  static const char *e_clipboard_type;
161  static Fl_Widget* focus_;
162  static int damage_;
164  static Fl_Window* modal_;
165  static Fl_Window* grab_;
166  static int compose_state; // used for dead keys (WIN32) or marked text (MacOS)
167  static void call_screen_init(); // recompute screen number and dimensions
168 #ifdef __APPLE__
169  static void reset_marked_text(); // resets marked text
170  static void insertion_point_location(int x, int y, int height); // sets window coordinates & height of insertion point
171 #endif
172 #endif // FL_DOXYGEN
173 
174 
178  static void damage(int d) {damage_ = d;}
179 
180 public:
187  typedef enum {
197  OPTION_ARROW_FOCUS = 0,
198  // When switched on, FLTK will use the file chooser dialog that comes
199  // with your operating system whenever possible. When switched off, FLTK
200  // will present its own file chooser.
201  // \todo implement me
202  // OPTION_NATIVE_FILECHOOSER,
203  // When Filechooser Preview is enabled, the FLTK or native file chooser
204  // will show a preview of a selected file (if possible) before the user
205  // decides to choose the file.
206  // \todo implement me
207  //OPTION_FILECHOOSER_PREVIEW,
225  // don't change this, leave it always as the last element
227  OPTION_LAST
228  } Fl_Option;
229 
230 private:
231  static unsigned char options_[OPTION_LAST];
232  static unsigned char options_read_;
233 
234 public:
235  /*
236  Return a global setting for all FLTK applications, possibly overridden
237  by a setting specifically for this application.
238  */
239  static bool option(Fl_Option opt);
240 
241  /*
242  Override an option while the application is running.
243  */
244  static void option(Fl_Option opt, bool val);
245 
253  static void (*idle)();
254 
255 #ifndef FL_DOXYGEN
257  static void **awake_data_;
258  static int awake_ring_size_;
259  static int awake_ring_head_;
260  static int awake_ring_tail_;
261  static const char* scheme_;
263 
264  static int e_original_keysym; // late addition
265  static int scrollbar_size_;
266 #endif
267 
268 
269  static int add_awake_handler_(Fl_Awake_Handler, void*);
270  static int get_awake_handler_(Fl_Awake_Handler&, void*&);
271 
272 public:
273 
274  // API version number
275  static double version();
276  static int api_version();
277 
278  // ABI version number
279  static int abi_version();
280 
303  static inline int abi_check(const int val = FL_ABI_VERSION) {
304  return val == abi_version();
305  }
306 
307  // argument parsers:
308  static int arg(int argc, char **argv, int& i);
309  static int args(int argc, char **argv, int& i, Fl_Args_Handler cb = 0);
310  static void args(int argc, char **argv);
315  static const char* const help;
316 
317  // things called by initialization:
318  static void display(const char*);
319  static int visual(int);
329  static int gl_visual(int, int *alist=0); // platform dependent
330  static void own_colormap();
331  static void get_system_colors();
332  static void foreground(uchar, uchar, uchar);
333  static void background(uchar, uchar, uchar);
334  static void background2(uchar, uchar, uchar);
335 
336  // schemes:
337  static int scheme(const char *name);
339  static const char* scheme() {return scheme_;}
340 
368  static int is_scheme(const char *name) {
369  return (scheme_ && name && !strcmp(name,scheme_));
370  }
376  static int reload_scheme(); // platform dependent
377  static int scrollbar_size();
378  static void scrollbar_size(int W);
379 
380  // execution:
381  static int wait();
382  static double wait(double time);
383  static int check();
384  static int ready();
385  static int run();
386  static Fl_Widget* readqueue();
417  static void add_timeout(double t, Fl_Timeout_Handler,void* = 0); // platform dependent
438  static void repeat_timeout(double t, Fl_Timeout_Handler, void* = 0); // platform dependent
439  static int has_timeout(Fl_Timeout_Handler, void* = 0);
440  static void remove_timeout(Fl_Timeout_Handler, void* = 0);
441  static void add_check(Fl_Timeout_Handler, void* = 0);
442  static int has_check(Fl_Timeout_Handler, void* = 0);
443  static void remove_check(Fl_Timeout_Handler, void* = 0);
463  static void add_fd(int fd, int when, Fl_FD_Handler cb, void* = 0); // platform dependent
465  static void add_fd(int fd, Fl_FD_Handler cb, void* = 0); // platform dependent
467  static void remove_fd(int, int when); // platform dependent
469  static void remove_fd(int); // platform dependent
470 
471  static void add_idle(Fl_Idle_Handler cb, void* data = 0);
472  static int has_idle(Fl_Idle_Handler cb, void* data = 0);
473  static void remove_idle(Fl_Idle_Handler cb, void* data = 0);
475  static int damage() {return damage_;}
476  static void redraw();
477  static void flush();
498  static void (*warning)(const char*, ...);
513  static void (*error)(const char*, ...);
530  static void (*fatal)(const char*, ...);
536  static Fl_Window* first_window();
537  static void first_window(Fl_Window*);
538  static Fl_Window* next_window(const Fl_Window*);
539 
549  static Fl_Window* modal() {return modal_;}
555  static Fl_Window* grab() {return grab_;}
580  static void grab(Fl_Window*); // platform dependent
587  // event information:
593  static int event() {return e_number;}
598  static int event_x() {return e_x;}
603  static int event_y() {return e_y;}
610  static int event_x_root() {return e_x_root;}
617  static int event_y_root() {return e_y_root;}
622  static int event_dx() {return e_dx;}
627  static int event_dy() {return e_dy;}
636  static void get_mouse(int &,int &); // platform dependent
645  static int event_clicks() {return e_clicks;}
653  static void event_clicks(int i) {e_clicks = i;}
661  static int event_is_click() {return e_is_click;}
668  static void event_is_click(int i) {e_is_click = i;}
678  static int event_button() {return e_keysym-FL_Button;}
704  static int event_state() {return e_state;}
705 
711  static int event_state(int mask) {return e_state&mask;}
723  static int event_key() {return e_keysym;}
732  static int event_original_key(){return e_original_keysym;}
771  static int event_key(int key);
777  static int get_key(int key); // platform dependent
792  static const char* event_text() {return e_text;}
799  static int event_length() {return e_length;}
800 
804  static void *event_clipboard() { return e_clipboard_data; }
808  static const char *event_clipboard_type() {return e_clipboard_type; }
809 
810 
811  static int compose(int &del);
812  static void compose_reset();
813  static int event_inside(int,int,int,int);
814  static int event_inside(const Fl_Widget*);
815  static int test_shortcut(Fl_Shortcut);
816 
821  static void enable_im();
826  static void disable_im();
827 
828  // event destinations:
829  static int handle(int, Fl_Window*);
830  static int handle_(int, Fl_Window*);
833  static Fl_Widget* belowmouse() {return belowmouse_;}
834  static void belowmouse(Fl_Widget*);
837  static Fl_Widget* pushed() {return pushed_;}
838  static void pushed(Fl_Widget*);
840  static Fl_Widget* focus() {return focus_;}
841  static void focus(Fl_Widget*);
842  static void add_handler(Fl_Event_Handler h);
843  static void remove_handler(Fl_Event_Handler h);
844  static void add_system_handler(Fl_System_Handler h, void *data);
845  static void remove_system_handler(Fl_System_Handler h);
846  static void event_dispatch(Fl_Event_Dispatch d);
847  static Fl_Event_Dispatch event_dispatch();
853  // cut/paste:
869 #if FLTK_ABI_VERSION >= 10303 || defined(FL_DOXYGEN)
870  static void copy(const char* stuff, int len, int destination = 0, const char *type = Fl::clipboard_plain_text); // platform dependent
871 #else
872  static void copy(const char* stuff, int len, int destination, const char *type);
873  static void copy(const char* stuff, int len, int destination = 0);
874 #endif
875 
876 #if !(defined(__APPLE__) || defined(WIN32) || defined(FL_DOXYGEN))
877  static void copy_image(const unsigned char* data, int W, int H, int destination = 0); // platform dependent
878 #endif
879 
917 #if FLTK_ABI_VERSION >= 10303 || defined(FL_DOXYGEN)
918  static void paste(Fl_Widget &receiver, int source, const char *type = Fl::clipboard_plain_text); // platform dependent
919 #else
920  static void paste(Fl_Widget &receiver, int source, const char *type);
921  static void paste(Fl_Widget &receiver, int source /*=0*/);
922 #endif
923 
944  static void add_clipboard_notify(Fl_Clipboard_Notify_Handler h, void *data = 0);
949  static void remove_clipboard_notify(Fl_Clipboard_Notify_Handler h);
953  static int clipboard_contains(const char *type);
956  static char const * const clipboard_plain_text;
959  static char const * const clipboard_image;
960 
970  static int dnd(); // platform dependent
971 
972  // These are for back-compatibility only:
975  static Fl_Widget* selection_owner() {return selection_owner_;}
976  static void selection_owner(Fl_Widget*);
977  static void selection(Fl_Widget &owner, const char*, int len);
978  static void paste(Fl_Widget &receiver);
983  // screen size:
985  static int x(); // platform dependent
987  static int y(); // platform dependent
989  static int w(); // platform dependent
991  static int h(); // platform dependent
992 
993  // multi-head support:
994  static int screen_count();
1000  static void screen_xywh(int &X, int &Y, int &W, int &H) {
1001  int x, y;
1002  Fl::get_mouse(x, y);
1003  screen_xywh(X, Y, W, H, x, y);
1004  }
1005  static void screen_xywh(int &X, int &Y, int &W, int &H, int mx, int my);
1006  static void screen_xywh(int &X, int &Y, int &W, int &H, int n);
1007  static void screen_xywh(int &X, int &Y, int &W, int &H, int mx, int my, int mw, int mh);
1008  static int screen_num(int x, int y);
1009  static int screen_num(int x, int y, int w, int h);
1010  static void screen_dpi(float &h, float &v, int n=0);
1011  static void screen_work_area(int &X, int &Y, int &W, int &H, int mx, int my);
1012  static void screen_work_area(int &X, int &Y, int &W, int &H, int n);
1018  static void screen_work_area(int &X, int &Y, int &W, int &H) {
1019  int x, y;
1020  Fl::get_mouse(x, y);
1021  screen_work_area(X, Y, W, H, x, y);
1022  }
1023 
1031  // color map:
1032  static void set_color(Fl_Color, uchar, uchar, uchar);
1037  static void set_color(Fl_Color i, unsigned c); // platform dependent
1038  static unsigned get_color(Fl_Color i);
1039  static void get_color(Fl_Color i, uchar &red, uchar &green, uchar &blue);
1045  static void free_color(Fl_Color i, int overlay = 0); // platform dependent
1046 
1047  // fonts:
1048  static const char* get_font(Fl_Font);
1061  static const char* get_font_name(Fl_Font, int* attributes = 0);
1073  static int get_font_sizes(Fl_Font, int*& sizep);
1074  static void set_font(Fl_Font, const char*);
1075  static void set_font(Fl_Font, Fl_Font);
1094  static Fl_Font set_fonts(const char* = 0); // platform dependent
1095 
1102  // <Hack to re-order the 'Drawing functions' group>
1105  // labeltypes:
1106  static void set_labeltype(Fl_Labeltype,Fl_Label_Draw_F*,Fl_Label_Measure_F*);
1108  static void set_labeltype(Fl_Labeltype, Fl_Labeltype from); // is it defined ?
1109 
1110  // boxtypes:
1111  static Fl_Box_Draw_F *get_boxtype(Fl_Boxtype);
1112  static void set_boxtype(Fl_Boxtype, Fl_Box_Draw_F*,uchar,uchar,uchar,uchar);
1113  static void set_boxtype(Fl_Boxtype, Fl_Boxtype from);
1114  static int box_dx(Fl_Boxtype);
1115  static int box_dy(Fl_Boxtype);
1116  static int box_dw(Fl_Boxtype);
1117  static int box_dh(Fl_Boxtype);
1118 
1119  static int draw_box_active();
1120  static Fl_Color box_color(Fl_Color);
1121  static void set_box_color(Fl_Color);
1122 
1123  // back compatibility:
1127  static void set_abort(Fl_Abort_Handler f) {fatal = f;}
1128  static void (*atclose)(Fl_Window*,void*);
1129  static void default_atclose(Fl_Window*,void*);
1133  static void set_atclose(Fl_Atclose_Handler f) {atclose = f;}
1139  static int event_shift() {return e_state&FL_SHIFT;}
1141  static int event_ctrl() {return e_state&FL_CTRL;}
1143  static int event_command() {return e_state&FL_COMMAND;}
1145  static int event_alt() {return e_state&FL_ALT;}
1154  static int event_buttons() {return e_state&0x7f000000;}
1159  static int event_button1() {return e_state&FL_BUTTON1;}
1164  static int event_button2() {return e_state&FL_BUTTON2;}
1169  static int event_button3() {return e_state&FL_BUTTON3;}
1177  static void set_idle(Fl_Old_Idle_Handler cb) {idle = cb;}
1179  static void grab(Fl_Window& win) {grab(&win);}
1183  static void release() {grab(0);}
1184 
1185  // Visible focus methods...
1191  static void visible_focus(int v) { option(OPTION_VISIBLE_FOCUS, (v!=0)); }
1197  static int visible_focus() { return option(OPTION_VISIBLE_FOCUS); }
1198 
1199  // Drag-n-drop text operation methods...
1206  static void dnd_text_ops(int v) { option(OPTION_DND_TEXT, (v!=0)); }
1213  static int dnd_text_ops() { return option(OPTION_DND_TEXT); }
1218  // Multithreading support:
1219  static int lock();
1220  static void unlock();
1221  static void awake(void* message = 0);
1223  static int awake(Fl_Awake_Handler cb, void* message = 0);
1230  static void* thread_message(); // platform dependent
1262  // Widget deletion:
1263  static void delete_widget(Fl_Widget *w);
1264  static void do_widget_deletion();
1265  static void watch_widget_pointer(Fl_Widget *&w);
1266  static void release_widget_pointer(Fl_Widget *&w);
1267  static void clear_widget_pointer(Fl_Widget const *w);
1274  static void use_high_res_GL(int val) { use_high_res_GL_ = val; }
1280  static int use_high_res_GL() { return use_high_res_GL_; }
1281 
1282 #ifdef FLTK_HAVE_CAIRO
1283 
1286 public:
1287  // Cairo support API
1288  static cairo_t * cairo_make_current(Fl_Window* w);
1303  static void cairo_autolink_context(bool alink) {cairo_state_.autolink(alink);}
1311  static bool cairo_autolink_context() {return cairo_state_.autolink();}
1313  static cairo_t * cairo_cc() { return cairo_state_.cc(); }
1318  static void cairo_cc(cairo_t * c, bool own=false){ cairo_state_.cc(c, own); }
1319 
1320 private:
1321  static cairo_t * cairo_make_current(void* gc);
1322  static cairo_t * cairo_make_current(void* gc, int W, int H);
1323  static Fl_Cairo_State cairo_state_;
1324 public:
1327 #endif // FLTK_HAVE_CAIRO
1328 
1329 };
1330 
1372 
1374 
1375 public:
1376 
1378  ~Fl_Widget_Tracker();
1379 
1385  Fl_Widget *widget() {return wp_;}
1386 
1396  int deleted() {return wp_ == 0;}
1397 
1407  int exists() {return wp_ != 0;}
1408 
1409 };
1410 
1416 #endif // !Fl_H
1417 
1418 //
1419 // End of "$Id$".
1420 //
Fl::damage
static void damage(int d)
Definition: Fl.H:178
Fl_Box_Draw_F
void() Fl_Box_Draw_F(int x, int y, int w, int h, Fl_Color color)
Definition: Fl.H:89
Fl::set_idle
static void set_idle(Fl_Old_Idle_Handler cb)
Definition: Fl.H:1177
Fl::modal
static Fl_Window * modal()
Definition: Fl.H:549
Fl::e_y
static int e_y
Definition: Fl.H:145
Fl_Event_Handler
int(* Fl_Event_Handler)(int event)
Definition: Fl.H:107
Fl_Color
unsigned int Fl_Color
Definition: Enumerations.H:934
Fl::OPTION_VISIBLE_FOCUS
Definition: Fl.H:212
Fl_Boxtype
Fl_Boxtype
Definition: Enumerations.H:603
Fl_Image
Base class for image caching and drawing.
Definition: Fl_Image.H:55
Fl::event_original_key
static int event_original_key()
Definition: Fl.H:732
Fl::e_state
static int e_state
Definition: Fl.H:150
Fl::event_alt
static int event_alt()
Definition: Fl.H:1145
Fl::event_state
static int event_state()
Definition: Fl.H:704
Fl_Atclose_Handler
void(* Fl_Atclose_Handler)(Fl_Window *window, void *data)
Definition: Fl.H:116
Fl::e_clipboard_data
static void * e_clipboard_data
Definition: Fl.H:156
message
static Fl_Box * message
Definition: fl_ask.cxx:47
Fl::event_button
static int event_button()
Definition: Fl.H:678
Fl::pushed_
static Fl_Widget * pushed_
Definition: Fl.H:160
Fl::e_is_click
static int e_is_click
Definition: Fl.H:152
Fl::event_button2
static int event_button2()
Definition: Fl.H:1164
Fl_Clipboard_Notify_Handler
void(* Fl_Clipboard_Notify_Handler)(int source, void *data)
Definition: Fl.H:126
Fl::e_text
static char * e_text
Definition: Fl.H:154
Fl::belowmouse_
static Fl_Widget * belowmouse_
Definition: Fl.H:159
FL_SHIFT
#define FL_SHIFT
One of the shift keys is down.
Definition: Enumerations.H:557
Fl::event_is_click
static int event_is_click()
Definition: Fl.H:661
Fl::e_y_root
static int e_y_root
Definition: Fl.H:147
Fl::event_text
static const char * event_text()
Definition: Fl.H:792
fl_local_meta
const char * fl_local_meta
string pointer used in shortcuts, you can change it to another language
Definition: Fl.cxx:97
Fl::screen_xywh
static void screen_xywh(int &X, int &Y, int &W, int &H)
Definition: Fl.H:1000
H
static int H
Definition: Fl_Tooltip.cxx:76
Fl::modal_
static Fl_Window * modal_
Definition: Fl.H:164
Fl::release
static void release()
Definition: Fl.H:1183
window
static Fl_TooltipBox * window
Definition: Fl_Tooltip.cxx:75
Fl::e_number
static int e_number
Definition: Fl.H:143
Fl_Widget_Tracker::wp_
Fl_Widget * wp_
Definition: Fl.H:1373
Fl::use_high_res_GL
static int use_high_res_GL()
Definition: Fl.H:1280
Fl_Shortcut
unsigned int Fl_Shortcut
Definition: fl_types.h:46
Fl_Event_Dispatch
int(* Fl_Event_Dispatch)(int event, Fl_Window *w)
Definition: Fl.H:123
Fl::clipboard_plain_text
static const char *const clipboard_plain_text
Definition: Fl.H:956
Fl::event_key
static int event_key()
Definition: Fl.H:723
key
int key
Definition: Fl_Text_Editor.cxx:91
Fl::e_x_root
static int e_x_root
Definition: Fl.H:146
FL_EXPORT
#define FL_EXPORT
Definition: Fl_Export.H:35
Fl_Widget_Tracker::deleted
int deleted()
Definition: Fl.H:1396
Fl_Label_Draw_F
void() Fl_Label_Draw_F(const Fl_Label *label, int x, int y, int w, int h, Fl_Align align)
Definition: Fl.H:83
Fl::OPTION_SHOW_TOOLTIPS
Definition: Fl.H:220
background
void background(uchar r, uchar g, uchar b)
Definition: cmap.cxx:113
Fl_Awake_Handler
void(* Fl_Awake_Handler)(void *data)
Definition: Fl.H:95
Fl::event_x
static int event_x()
Definition: Fl.H:598
fl_local_shift
const char * fl_local_shift
string pointer used in shortcuts, you can change it to another language
Definition: Fl.cxx:98
Fl::e_clipboard_type
static const char * e_clipboard_type
Definition: Fl.H:157
Fl::dnd_text_ops
static int dnd_text_ops()
Definition: Fl.H:1213
Fl::belowmouse
static Fl_Widget * belowmouse()
Definition: Fl.H:833
Fl::e_clicks
static int e_clicks
Definition: Fl.H:151
fl_local_ctrl
const char * fl_local_ctrl
string pointer used in shortcuts, you can change it to another language
Definition: Fl.cxx:96
Fl::OPTION_DND_TEXT
Definition: Fl.H:216
Fl::event
static int event()
Definition: Fl.H:593
Fl::damage_
static int damage_
Definition: Fl.H:162
Fl::event_clipboard
static void * event_clipboard()
Definition: Fl.H:804
Fl::awake_data_
static void ** awake_data_
Definition: Fl.H:257
FL_BUTTON2
#define FL_BUTTON2
Mouse button 2 is pushed.
Definition: Enumerations.H:568
fl_utf8.h
header for Unicode and UTF-8 character handling
FL_ALT
#define FL_ALT
One of the alt keys is down.
Definition: Enumerations.H:560
Fl_Abort_Handler
void(* Fl_Abort_Handler)(const char *format,...)
Definition: Fl.H:113
Fl::event_buttons
static int event_buttons()
Definition: Fl.H:1154
Fl_Label
Definition: Fl_Widget.H:65
arg
static int arg(int argc, char **argv, int &i)
Definition: fluid.cxx:1723
Fl::event_y_root
static int event_y_root()
Definition: Fl.H:617
Fl::visible_focus
static void visible_focus(int v)
Definition: Fl.H:1191
Fl::screen_work_area
static void screen_work_area(int &X, int &Y, int &W, int &H)
Definition: Fl.H:1018
Fl::e_keysym
static int e_keysym
Definition: Fl.H:153
Fl::clipboard_image
static const char *const clipboard_image
Definition: Fl.H:959
FL_COMMAND
#define FL_COMMAND
An alias for FL_CTRL on WIN32 and X11, or FL_META on MacOS X.
Definition: Enumerations.H:580
Fl::e_dy
static int e_dy
Definition: Fl.H:149
Fl_Window
Definition: Fl_Window.H:57
fatal
static void fatal(const char *format,...)
Definition: Fl_abort.cxx:75
Fl_Widget_Tracker::exists
int exists()
Definition: Fl.H:1407
event_inside
static int event_inside(const int xywh[4])
Definition: Fl_Tree_Item.cxx:33
gc
GC gc
Definition: test.c:72
FL_BUTTON3
#define FL_BUTTON3
Mouse button 3 is pushed.
Definition: Enumerations.H:569
cb
static void cb(Fl_Widget *, void *v)
Definition: factory.cxx:937
fl_local_alt
const char * fl_local_alt
string pointer used in shortcuts, you can change it to another language
Definition: Fl.cxx:95
Fl::event_length
static int event_length()
Definition: Fl.H:799
FL_ABI_VERSION
#define FL_ABI_VERSION
Definition: Enumerations.H:156
Fl::event_clipboard_type
static const char * event_clipboard_type()
Definition: Fl.H:808
Fl::OPTION_FNFC_USES_GTK
Definition: Fl.H:224
Fl_Widget
Definition: Fl_Widget.H:101
FL_Button
#define FL_Button
A mouse button; use Fl_Button + n for mouse button n.
Definition: Enumerations.H:467
Fl::abi_check
static int abi_check(const int val=(1 *10000+3 *100))
Definition: Fl.H:303
Fl::focus
static Fl_Widget * focus()
Definition: Fl.H:840
fd
static struct FD * fd
Fl::event_y
static int event_y()
Definition: Fl.H:603
Fl_Widget_Tracker
Definition: Fl.H:1371
Fl::awake_ring_size_
static int awake_ring_size_
Definition: Fl.H:258
Fl::pushed
static Fl_Widget * pushed()
Definition: Fl.H:837
Fl::event_x_root
static int event_x_root()
Definition: Fl.H:610
Fl::e_dx
static int e_dx
Definition: Fl.H:148
Fl::event_dy
static int event_dy()
Definition: Fl.H:627
Fl::use_high_res_GL
static void use_high_res_GL(int val)
Definition: Fl.H:1274
color
void color(int n)
Definition: gl2opengl.h:29
Fl_Old_Idle_Handler
void(* Fl_Old_Idle_Handler)()
Definition: Fl.H:101
Fl_Idle_Handler
void(* Fl_Idle_Handler)(void *data)
Definition: Fl.H:98
Fl_Cairo.H
Fl::event_clicks
static int event_clicks()
Definition: Fl.H:645
x
int x
Definition: test.c:73
Fl::set_abort
static void set_abort(Fl_Abort_Handler f)
Definition: Fl.H:1127
Fl_Export.H
Fl_Font
int Fl_Font
Definition: Enumerations.H:877
Fl_Labeltype
Fl_Labeltype
Definition: Enumerations.H:763
Fl
Definition: Fl.H:135
opt
static int opt[10][2]
Definition: alignment_panel.cxx:545
Fl::grab_
static Fl_Window * grab_
Definition: Fl.H:165
Fl::visible_focus
static int visible_focus()
Definition: Fl.H:1197
FL_BUTTON1
#define FL_BUTTON1
Mouse button 1 is pushed.
Definition: Enumerations.H:567
Fl::options_read_
static unsigned char options_read_
Definition: Fl.H:232
y
int y
Definition: test.c:74
Fl::e_dispatch
static Fl_Event_Dispatch e_dispatch
Definition: Fl.H:158
Fl::focus_
static Fl_Widget * focus_
Definition: Fl.H:161
Fl::grab
static void grab(Fl_Window &win)
Definition: Fl.H:1179
Fl::e_x
static int e_x
Definition: Fl.H:144
f
Fl_Box_Draw_F * f
Definition: fl_boxtype.cxx:285
Fl::set_atclose
static void set_atclose(Fl_Atclose_Handler f)
Definition: Fl.H:1133
Fl::e_length
static int e_length
Definition: Fl.H:155
Fl::scheme_bg_
static Fl_Image * scheme_bg_
Definition: Fl.H:262
Fl::awake_ring_
static Fl_Awake_Handler * awake_ring_
Definition: Fl.H:256
Fl_Timeout_Handler
void(* Fl_Timeout_Handler)(void *data)
Definition: Fl.H:92
Fl::is_scheme
static int is_scheme(const char *name)
Definition: Fl.H:368
Y
static int Y
Definition: Fl_Tooltip.cxx:76
Fl::event_shift
static int event_shift()
Definition: Fl.H:1139
Fl::Fl_Option
Fl_Option
Definition: Fl.H:187
Fl::event_clicks
static void event_clicks(int i)
Definition: Fl.H:653
Fl::compose_state
static int compose_state
Definition: Fl.H:166
Fl::awake_ring_head_
static int awake_ring_head_
Definition: Fl.H:259
Fl::get_mouse
static void get_mouse(int &, int &)
Definition: Fl_win32.cxx:587
Fl::scrollbar_size_
static int scrollbar_size_
Definition: Fl.H:265
Fl::selection_owner
static Fl_Widget * selection_owner()
Definition: Fl.H:975
Fl_Widget_Tracker::widget
Fl_Widget * widget()
Definition: Fl.H:1385
Fl::dnd_text_ops
static void dnd_text_ops(int v)
Definition: Fl.H:1206
Fl_System_Handler
int(* Fl_System_Handler)(void *event, void *data)
Definition: Fl.H:110
Fl::scheme
static const char * scheme()
Definition: Fl.H:339
Fl_FD_Handler
void(* Fl_FD_Handler)(int fd, void *data)
Definition: Fl.H:104
Fl::event_command
static int event_command()
Definition: Fl.H:1143
Fl::awake_ring_tail_
static int awake_ring_tail_
Definition: Fl.H:260
Fl::event_state
static int event_state(int mask)
Definition: Fl.H:711
Fl::event_is_click
static void event_is_click(int i)
Definition: Fl.H:668
Fl::damage
static int damage()
Definition: Fl.H:475
Fl::event_ctrl
static int event_ctrl()
Definition: Fl.H:1141
attributes
static CFMutableDictionaryRef attributes
Definition: fl_font_mac.cxx:29
Fl_Label_Measure_F
void() Fl_Label_Measure_F(const Fl_Label *label, int &width, int &height)
Definition: Fl.H:86
Fl::event_button3
static int event_button3()
Definition: Fl.H:1169
Fl_Align
unsigned Fl_Align
Definition: Enumerations.H:828
uchar
unsigned char uchar
Definition: fl_types.h:30
name
static const char * name
Definition: Fl_arg.cxx:53
FL_CTRL
#define FL_CTRL
One of the ctrl keys is down.
Definition: Enumerations.H:559
Fl::selection_owner_
static Fl_Widget * selection_owner_
Definition: Fl.H:163
Fl::event_button1
static int event_button1()
Definition: Fl.H:1159
Enumerations.H
Fl::grab
static Fl_Window * grab()
Definition: Fl.H:555
FL_SOCKET
#define FL_SOCKET
Definition: Fl.H:56
warning
static void warning(const char *format,...)
Definition: Fl_abort.cxx:57
Fl::help
static const char *const help
Definition: Fl.H:315
error
static void error(const char *format,...)
Definition: Fl_abort.cxx:66
Fl::e_original_keysym
static int e_original_keysym
Definition: Fl.H:264
Fl::event_dx
static int event_dx()
Definition: Fl.H:622
Fl::scheme_
static const char * scheme_
Definition: Fl.H:261
Fl_Args_Handler
int(* Fl_Args_Handler)(int argc, char **argv, int &i)
Definition: Fl.H:119