26 #ifdef FLTK_HAVE_CAIRO 
   27 # include <FL/Fl_Cairo.H> 
   33 #    define Fl_Object Fl_Widget  
   47 #if defined(WIN32) && !defined(__CYGWIN__) 
   49 #  define FL_SOCKET unsigned __int64 
   51 #  define FL_SOCKET int 
   54 # define FL_SOCKET int 
  139   static int e_is_click;
 
  143   static void *e_clipboard_data;
 
  144   static const char *e_clipboard_type;
 
  153   static int compose_state; 
 
  154   static void call_screen_init(); 
 
  156   static void reset_marked_text(); 
 
  157   static void insertion_point_location(
int x, 
int y, 
int height); 
 
  184     OPTION_ARROW_FOCUS = 0,
 
  218   static unsigned char options_[OPTION_LAST];
 
  219   static unsigned char options_read_;
 
  226   static bool option(Fl_Option opt);
 
  231   static void option(Fl_Option opt, 
bool val);
 
  240   static void (*idle)();
 
  244   static void **awake_data_;
 
  245   static int awake_ring_size_;
 
  246   static int awake_ring_head_;
 
  247   static int awake_ring_tail_;
 
  248   static const char* scheme_;
 
  251   static int e_original_keysym; 
 
  252   static int scrollbar_size_;
 
  262   static double version();
 
  265   static int arg(
int argc, 
char **argv, 
int& i);
 
  266   static int args(
int argc, 
char **argv, 
int& i, 
Fl_Args_Handler cb = 0);
 
  267   static void args(
int argc, 
char **argv);
 
  275   static void display(
const char*);
 
  276   static int visual(
int);
 
  286   static int gl_visual(
int, 
int *alist=0); 
 
  287   static void own_colormap();
 
  288   static void get_system_colors();
 
  294   static int scheme(
const char *name);
 
  296   static const char* 
scheme() {
return scheme_;}
 
  326     return (scheme_ && name && !strcmp(name,scheme_));
 
  333   static int reload_scheme(); 
 
  334   static int scrollbar_size();
 
  335   static void scrollbar_size(
int W);
 
  339   static double wait(
double time);
 
  416   static void add_fd(
int fd, 
int when, 
Fl_FD_Handler cb, 
void* = 0); 
 
  420   static void remove_fd(
int, 
int when); 
 
  422   static void remove_fd(
int); 
 
  429   static void redraw();
 
  451   static void (*warning)(
const char*, ...);
 
  466   static void (*error)(
const char*, ...);
 
  483   static void (*fatal)(
const char*, ...);
 
  546   static int event()            {
return e_number;}
 
  589   static void get_mouse(
int &,
int &); 
 
  714   static int event_key(
int key);
 
  720   static int get_key(
int key); 
 
  754   static int compose(
int &del);
 
  755   static void compose_reset();
 
  756   static int event_inside(
int,
int,
int,
int);
 
  757   static int event_inside(
const Fl_Widget*);
 
  764   static void enable_im();
 
  769   static void disable_im();
 
  811 #if FLTK_ABI_VERSION >= 10303 || defined(FL_DOXYGEN) 
  814   static void copy(
const char* stuff, 
int len, 
int destination, 
const char *type);
 
  815   static void copy(
const char* stuff, 
int len, 
int destination = 0);
 
  818 #if !(defined(__APPLE__) || defined(WIN32) || defined(FL_DOXYGEN)) 
  819   static void copy_image(
const unsigned char* data, 
int W, 
int H, 
int destination = 0); 
 
  852 #if FLTK_ABI_VERSION >= 10303 || defined(FL_DOXYGEN) 
  855   static void paste(
Fl_Widget &receiver, 
int source, 
const char *type);
 
  856   static void paste(
Fl_Widget &receiver, 
int source );
 
  888   static int clipboard_contains(
const char *type);
 
  912   static void selection(
Fl_Widget &owner, 
const char*, 
int len);
 
  929   static int screen_count();
 
  938     screen_xywh(X, Y, W, H, x, y);
 
  940   static void screen_xywh(
int &X, 
int &Y, 
int &W, 
int &H, 
int mx, 
int my);
 
  941   static void screen_xywh(
int &X, 
int &Y, 
int &W, 
int &H, 
int n); 
 
  942   static void screen_xywh(
int &X, 
int &Y, 
int &W, 
int &H, 
int mx, 
int my, 
int mw, 
int mh);
 
  943   static int screen_num(
int x, 
int y);
 
  944   static int screen_num(
int x, 
int y, 
int w, 
int h);
 
  945   static void screen_dpi(
float &h, 
float &v, 
int n=0);
 
  946   static void screen_work_area(
int &X, 
int &Y, 
int &W, 
int &H, 
int mx, 
int my);
 
  947   static void screen_work_area(
int &X, 
int &Y, 
int &W, 
int &H, 
int n);
 
  956     screen_work_area(X, Y, W, H, x, y);
 
  972   static void   set_color(
Fl_Color i, 
unsigned c); 
 
  973   static unsigned get_color(
Fl_Color i);
 
  980   static void   free_color(
Fl_Color i, 
int overlay = 0); 
 
  983   static const char* get_font(
Fl_Font);
 
  996   static const char* get_font_name(
Fl_Font, 
int* attributes = 0);
 
 1008   static int get_font_sizes(
Fl_Font, 
int*& sizep);
 
 1009   static void set_font(
Fl_Font, 
const char*);
 
 1029   static Fl_Font set_fonts(
const char* = 0); 
 
 1053   static int draw_box_active();
 
 1061   static void default_atclose(
Fl_Window*,
void*);
 
 1152   static void unlock();
 
 1153   static void awake(
void* message = 0);
 
 1162   static void* thread_message(); 
 
 1195   static void delete_widget(
Fl_Widget *w);
 
 1196   static void do_widget_deletion();
 
 1197   static void watch_widget_pointer(
Fl_Widget *&w);
 
 1198   static void release_widget_pointer(
Fl_Widget *&w);
 
 1199   static void clear_widget_pointer(
Fl_Widget const *w);
 
 1202 #ifdef FLTK_HAVE_CAIRO 
 1208   static cairo_t * cairo_make_current(
Fl_Window* w);
 
 1233   static cairo_t * 
cairo_cc() { 
return cairo_state_.cc(); }
 
 1238   static void cairo_cc(cairo_t * c, 
bool own=
false){ cairo_state_.cc(c, own); } 
 
 1241   static cairo_t * cairo_make_current(
void* gc);
 
 1242   static cairo_t * cairo_make_current(
void* gc, 
int W, 
int H);
 
 1247 #endif // FLTK_HAVE_CAIRO 
static Fl_Window * modal()
Returns the top-most modal() window currently shown. 
Definition: Fl.H:502
static char const *const clipboard_image
Denotes image data. 
Definition: Fl.H:894
int(* Fl_Event_Dispatch)(int event, Fl_Window *w)
Signature of event_dispatch functions passed as parameters. 
Definition: Fl.H:113
This widget produces an actual window. 
Definition: Fl_Window.H:57
static int event_is_click()
Returns non-zero if the mouse has not moved far enough and not enough time has passed since the last ...
Definition: Fl.H:614
void( Fl_Label_Draw_F)(const Fl_Label *label, int x, int y, int w, int h, Fl_Align align)
Signature of some label drawing functions passed as parameters. 
Definition: Fl.H:73
#define FL_BUTTON2
Mouse button 2 is pushed. 
Definition: Enumerations.H:438
static const char * scheme()
See void scheme(const char *name) 
Definition: Fl.H:296
static Fl_Widget * focus()
Gets the current Fl::focus() widget. 
Definition: Fl.H:783
static const char * event_text()
Returns the text associated with the current event, including FL_PASTE or FL_DND_RELEASE events...
Definition: Fl.H:735
static void * event_clipboard()
During an FL_PASTE event of non-textual data, returns a pointer to the pasted data. 
Definition: Fl.H:747
static Fl_Widget * selection_owner()
back-compatibility only: Gets the widget owning the current selection 
Definition: Fl.H:910
int(* Fl_Args_Handler)(int argc, char **argv, int &i)
Signature of args functions passed as parameters. 
Definition: Fl.H:109
static int event_button1()
Returns non-zero if mouse button 1 is currently held down. 
Definition: Fl.H:1091
static int is_scheme(const char *name)
Returns whether the current scheme is the given name. 
Definition: Fl.H:325
void( Fl_Label_Measure_F)(const Fl_Label *label, int &width, int &height)
Signature of some label measurement functions passed as parameters. 
Definition: Fl.H:76
static void cairo_autolink_context(bool alink)
when FLTK_HAVE_CAIRO is defined and cairo_autolink_context() is true, any current window dc is linked...
Definition: Fl.H:1223
The Fl is the FLTK global (static) class containing state information and global methods for the curr...
Definition: Fl.H:125
static void release()
Releases the current grabbed window, equals grab(0). 
Definition: Fl.H:1115
void(* Fl_Abort_Handler)(const char *format,...)
Signature of set_abort functions passed as parameters. 
Definition: Fl.H:103
static const char * event_clipboard_type()
Returns the type of the pasted data during an FL_PASTE event. 
Definition: Fl.H:751
static int event_y_root()
Returns the mouse position on the screen of the event. 
Definition: Fl.H:570
If visible focus is switched on (default), FLTK will draw a dotted rectangle inside the widget that w...
Definition: Fl.H:199
static Fl_Widget * belowmouse()
Gets the widget that is below the mouse. 
Definition: Fl.H:776
static int event()
Returns the last event that was processed. 
Definition: Fl.H:546
header for Unicode and UTF8 chracter handling 
#define FL_BUTTON3
Mouse button 3 is pushed. 
Definition: Enumerations.H:439
static int event_y()
Returns the mouse position of the event relative to the Fl_Window it was passed to. 
Definition: Fl.H:556
Fl_Image is the base class used for caching and drawing all kinds of images in FLTK. 
Definition: Fl_Image.H:52
static int event_dx()
Returns the current horizontal mouse scrolling associated with the FL_MOUSEWHEEL event. 
Definition: Fl.H:575
int(* Fl_Event_Handler)(int event)
Signature of add_handler functions passed as parameters. 
Definition: Fl.H:97
static void screen_work_area(int &X, int &Y, int &W, int &H)
Gets the bounding box of the work area of the screen that contains the mouse pointer. 
Definition: Fl.H:953
If tooltips are enabled (default), hovering the mouse over a widget with a tooltip text will open a l...
Definition: Fl.H:207
Fl_Boxtype
Definition: Enumerations.H:473
static int event_button()
Gets which particular mouse button caused the current event. 
Definition: Fl.H:628
static bool cairo_autolink_context()
Gets the current autolink mode for cairo support. 
Definition: Fl.H:1231
#define FL_SHIFT
One of the shift keys is down. 
Definition: Enumerations.H:427
This file contains type definitions and general enumerations. 
#define FL_COMMAND
An alias for FL_CTRL on WIN32 and X11, or FL_META on MacOS X. 
Definition: Enumerations.H:450
#define FL_Button
A mouse button; use Fl_Button + n for mouse button n. 
Definition: Enumerations.H:337
If text drag-and-drop is enabled (default), the user can select and drag text from any text widget...
Definition: Fl.H:203
static void event_clicks(int i)
Manually sets the number returned by Fl::event_clicks(). 
Definition: Fl.H:606
static int event_clicks()
Returns non zero if we had a double click event. 
Definition: Fl.H:598
static const char *const help
Usage string displayed if Fl::args() detects an invalid argument. 
Definition: Fl.H:272
When switched on (default), Fl_Native_File_Chooser runs GTK file dialogs if the GTK library is availa...
Definition: Fl.H:211
static int event_state(int i)
See int event_state() 
Definition: Fl.H:654
static int event_state()
This is a bitfield of what shift states were on and what mouse buttons were held down during the most...
Definition: Fl.H:652
This struct stores all information for a text or mixed graphics label. 
Definition: Fl_Widget.H:64
#define FL_CTRL
One of the ctrl keys is down. 
Definition: Enumerations.H:429
static int event_original_key()
Returns the keycode of the last key event, regardless of the NumLock state. 
Definition: Fl.H:675
static void screen_xywh(int &X, int &Y, int &W, int &H)
Gets the bounding box of a screen that contains the mouse pointer. 
Definition: Fl.H:935
static int event_button3()
Returns non-zero if button 3 is currently held down. 
Definition: Fl.H:1101
static int visible_focus()
Gets or sets the visible keyboard focus on buttons and other non-text widgets. 
Definition: Fl.H:1129
static int event_dy()
Returns the current vertical mouse scrolling associated with the FL_MOUSEWHEEL event. 
Definition: Fl.H:580
void(* Fl_Atclose_Handler)(Fl_Window *window, void *data)
Signature of set_atclose functions passed as parameters. 
Definition: Fl.H:106
static void get_mouse(int &, int &)
Return where the mouse is on the screen by doing a round-trip query to the server. 
static void grab(Fl_Window &win)
See grab(Fl_Window*) 
Definition: Fl.H:1111
#define FL_ALT
One of the alt keys is down. 
Definition: Enumerations.H:430
static int event_length()
Returns the length of the text in Fl::event_text(). 
Definition: Fl.H:742
static int event_command()
Returns non-zero if the FL_COMMAND key is pressed, either FL_CTRL or on OSX FL_META. 
Definition: Fl.H:1075
static void event_is_click(int i)
Clears the value returned by Fl::event_is_click(). 
Definition: Fl.H:621
unsigned int Fl_Color
An FLTK color value; see also Colors. 
Definition: Enumerations.H:796
Fl_Labeltype
The labeltype() method sets the type of the label. 
Definition: Enumerations.H:633
int Fl_Font
A font number is an index into the internal font table. 
Definition: Enumerations.H:739
static char const *const clipboard_plain_text
Denotes plain textual data. 
Definition: Fl.H:891
static int event_x_root()
Returns the mouse position on the screen of the event. 
Definition: Fl.H:563
#define FL_BUTTON1
Mouse button 1 is pushed. 
Definition: Enumerations.H:437
unsigned Fl_Align
FLTK type for alignment control. 
Definition: Enumerations.H:690
static void dnd_text_ops(int v)
Gets or sets whether drag and drop text operations are supported. 
Definition: Fl.H:1138
static void cairo_cc(cairo_t *c, bool own=false)
Sets the current cairo context to c. 
Definition: Fl.H:1238
static Fl_Window * grab()
Returns the window that currently receives all events. 
Definition: Fl.H:508
void(* Fl_Old_Idle_Handler)()
Signature of set_idle callback functions passed as parameters. 
Definition: Fl.H:91
static void damage(int d)
If true then flush() will do something. 
Definition: Fl.H:165
void(* Fl_Idle_Handler)(void *data)
Signature of add_idle callback functions passed as parameters. 
Definition: Fl.H:88
int(* Fl_System_Handler)(void *event, void *data)
Signature of add_system_handler functions passed as parameters. 
Definition: Fl.H:100
static void visible_focus(int v)
Gets or sets the visible keyboard focus on buttons and other non-text widgets. 
Definition: Fl.H:1123
static int event_button2()
Returns non-zero if button 2 is currently held down. 
Definition: Fl.H:1096
static Fl_Widget * pushed()
Gets the widget that is being pushed. 
Definition: Fl.H:780
void(* Fl_Awake_Handler)(void *data)
Signature of some wakeup callback functions passed as parameters. 
Definition: Fl.H:85
static void set_atclose(Fl_Atclose_Handler f)
For back compatibility, sets the Fl::atclose handler callback. 
Definition: Fl.H:1065
void( Fl_Box_Draw_F)(int x, int y, int w, int h, Fl_Color color)
Signature of some box drawing functions passed as parameters. 
Definition: Fl.H:79
static cairo_t * cairo_cc()
Gets the current cairo context linked with a fltk window. 
Definition: Fl.H:1233
Contains all the necessary info on the current cairo context. 
Definition: Fl_Cairo.H:54
static int event_x()
Returns the mouse position of the event relative to the Fl_Window it was passed to. 
Definition: Fl.H:551
Fl_Color color
text color 
Definition: Fl_Widget.H:76
static int dnd_text_ops()
Gets or sets whether drag and drop text operations are supported. 
Definition: Fl.H:1145
static int event_shift()
Returns non-zero if the Shift key is pressed. 
Definition: Fl.H:1071
void(* Fl_FD_Handler)(FL_SOCKET fd, void *data)
Signature of add_fd functions passed as parameters. 
Definition: Fl.H:94
static int event_ctrl()
Returns non-zero if the Control key is pressed. 
Definition: Fl.H:1073
static int damage()
If true then flush() will do something. 
Definition: Fl.H:428
void(* Fl_Timeout_Handler)(void *data)
Signature of some timeout callback functions passed as parameters. 
Definition: Fl.H:82
static void set_idle(Fl_Old_Idle_Handler cb)
Sets an idle callback. 
Definition: Fl.H:1109
unsigned char uchar
unsigned char 
Definition: fl_types.h:30
static int event_buttons()
Returns the mouse buttons state bits; if non-zero, then at least one button is pressed now...
Definition: Fl.H:1086
void(* Fl_Clipboard_Notify_Handler)(int source, void *data)
Signature of add_clipboard_notify functions passed as parameters. 
Definition: Fl.H:116
unsigned int Fl_Shortcut
24-bit Unicode character + 8-bit indicator for keyboard flags 
Definition: fl_types.h:46
static int event_key()
Gets which key on the keyboard was last pushed. 
Definition: Fl.H:666
static void set_abort(Fl_Abort_Handler f)
For back compatibility, sets the void Fl::fatal handler callback. 
Definition: Fl.H:1059
static int event_alt()
Returns non-zero if the Alt key is pressed. 
Definition: Fl.H:1077