26 #include <FL/Fl_Export.H>
28 #ifdef FLTK_HAVE_CAIRO
29 # include <FL/Fl_Cairo.H>
35 # define Fl_Object Fl_Widget
49 #if defined(WIN32) && !defined(__CYGWIN__)
51 # define FL_SOCKET unsigned __int64
53 # define FL_SOCKET int
56 # define FL_SOCKET int
139 static int use_high_res_GL_;
152 static int e_is_click;
156 static void *e_clipboard_data;
157 static const char *e_clipboard_type;
166 static int compose_state;
167 static void call_screen_init();
169 static void reset_marked_text();
170 static void insertion_point_location(
int x,
int y,
int height);
197 OPTION_ARROW_FOCUS = 0,
231 static unsigned char options_[OPTION_LAST];
232 static unsigned char options_read_;
239 static bool option(Fl_Option opt);
244 static void option(Fl_Option opt,
bool val);
253 static void (*idle)();
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_;
264 static int e_original_keysym;
265 static int scrollbar_size_;
275 static double version();
276 static int api_version();
279 static int abi_version();
304 return val == abi_version();
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);
318 static void display(
const char*);
319 static int visual(
int);
329 static int gl_visual(
int,
int *alist=0);
330 static void own_colormap();
331 static void get_system_colors();
337 static int scheme(
const char *name);
339 static const char*
scheme() {
return scheme_;}
369 return (scheme_ && name && !strcmp(name,scheme_));
376 static int reload_scheme();
377 static int scrollbar_size();
378 static void scrollbar_size(
int W);
382 static double wait(
double time);
463 static void add_fd(
int fd,
int when,
Fl_FD_Handler cb,
void* = 0);
467 static void remove_fd(
int,
int when);
469 static void remove_fd(
int);
476 static void redraw();
498 static void (*warning)(
const char*, ...);
513 static void (*error)(
const char*, ...);
530 static void (*fatal)(
const char*, ...);
593 static int event() {
return e_number;}
636 static void get_mouse(
int &,
int &);
771 static int event_key(
int key);
777 static int get_key(
int key);
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*);
821 static void enable_im();
826 static void disable_im();
869 #if FLTK_ABI_VERSION >= 10303 || defined(FL_DOXYGEN)
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);
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);
917 #if FLTK_ABI_VERSION >= 10303 || defined(FL_DOXYGEN)
920 static void paste(
Fl_Widget &receiver,
int source,
const char *type);
921 static void paste(
Fl_Widget &receiver,
int source );
953 static int clipboard_contains(
const char *type);
977 static void selection(
Fl_Widget &owner,
const char*,
int len);
994 static int screen_count();
1003 screen_xywh(X, Y, W, H, x, y);
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);
1021 screen_work_area(X, Y, W, H, x, y);
1037 static void set_color(
Fl_Color i,
unsigned c);
1038 static unsigned get_color(
Fl_Color i);
1045 static void free_color(
Fl_Color i,
int overlay = 0);
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*);
1094 static Fl_Font set_fonts(
const char* = 0);
1119 static int draw_box_active();
1121 static void set_box_color(
Fl_Color);
1129 static void default_atclose(
Fl_Window*,
void*);
1220 static void unlock();
1221 static void awake(
void* message = 0);
1230 static void* thread_message();
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);
1282 #ifdef FLTK_HAVE_CAIRO
1288 static cairo_t * cairo_make_current(
Fl_Window* w);
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); }
1321 static cairo_t * cairo_make_current(
void* gc);
1322 static cairo_t * cairo_make_current(
void* gc,
int W,
int H);
1327 #endif // FLTK_HAVE_CAIRO