35 #ifdef FLTK_HAVE_CAIRO
36 # include <FL/Fl_Cairo.H>
42 # define Fl_Object Fl_Widget
132 static int e_is_click;
144 static int compose_state;
163 OPTION_ARROW_FOCUS = 0,
193 static unsigned char options_[OPTION_LAST];
194 static unsigned char options_read_;
201 static bool option(Fl_Option opt);
206 static void option(Fl_Option opt,
bool val);
215 static void (*idle)();
219 static void **awake_data_;
220 static int awake_ring_size_;
221 static int awake_ring_head_;
222 static int awake_ring_tail_;
223 static const char* scheme_;
226 static int e_original_keysym;
227 static int scrollbar_size_;
237 static double version();
240 static int arg(
int argc,
char **argv,
int& i);
241 static int args(
int argc,
char **argv,
int& i,
Fl_Args_Handler cb = 0);
242 static void args(
int argc,
char **argv);
250 static void display(
const char*);
251 static int visual(
int);
261 static int gl_visual(
int,
int *alist=0);
262 static void own_colormap();
263 static void get_system_colors();
269 static int scheme(
const char*);
271 static const char*
scheme() {
return scheme_;}
277 static int reload_scheme();
278 static int scrollbar_size();
279 static void scrollbar_size(
int W);
283 static double wait(
double time);
360 static void add_fd(
int fd,
int when,
Fl_FD_Handler cb,
void* = 0);
364 static void remove_fd(
int,
int when);
366 static void remove_fd(
int);
373 static void redraw();
395 static void (*warning)(
const char*, ...);
410 static void (*error)(
const char*, ...);
427 static void (*fatal)(
const char*, ...);
490 static int event() {
return e_number;}
533 static void get_mouse(
int &,
int &);
658 static int event_key(
int key);
664 static int get_key(
int key);
688 static int compose(
int &del);
689 static void compose_reset();
690 static int event_inside(
int,
int,
int,
int);
691 static int event_inside(
const Fl_Widget*);
727 static void copy(
const char* stuff,
int len,
int destination = 0);
745 static void paste(
Fl_Widget &receiver,
int source );
762 static void selection(
Fl_Widget &owner,
const char*,
int len);
779 static int screen_count();
786 screen_xywh(X, Y, W, H, e_x_root, e_y_root);
788 static void screen_xywh(
int &X,
int &Y,
int &W,
int &H,
int mx,
int my);
789 static void screen_xywh(
int &X,
int &Y,
int &W,
int &H,
int n);
790 static void screen_xywh(
int &X,
int &Y,
int &W,
int &H,
int mx,
int my,
int mw,
int mh);
791 static void screen_dpi(
float &h,
float &v,
int n=0);
806 static void set_color(
Fl_Color i,
unsigned c);
807 static unsigned get_color(
Fl_Color i);
814 static void free_color(
Fl_Color i,
int overlay = 0);
817 static const char* get_font(
Fl_Font);
830 static const char* get_font_name(
Fl_Font,
int* attributes = 0);
842 static int get_font_sizes(
Fl_Font,
int*& sizep);
843 static void set_font(
Fl_Font,
const char*);
863 static Fl_Font set_fonts(
const char* = 0);
887 static int draw_box_active();
895 static void default_atclose(
Fl_Window*,
void*);
986 static void unlock();
987 static void awake(
void* message = 0);
996 static void* thread_message();
1029 static void delete_widget(
Fl_Widget *w);
1030 static void do_widget_deletion();
1031 static void watch_widget_pointer(
Fl_Widget *&w);
1032 static void release_widget_pointer(
Fl_Widget *&w);
1033 static void clear_widget_pointer(
Fl_Widget const *w);
1036 #ifdef FLTK_HAVE_CAIRO
1042 static cairo_t * cairo_make_current(
Fl_Window* w);
1067 static cairo_t *
cairo_cc() {
return cairo_state_.cc(); }
1072 static void cairo_cc(cairo_t * c,
bool own=
false){ cairo_state_.cc(c, own); }
1075 static cairo_t * cairo_make_current(
void* gc);
1076 static cairo_t * cairo_make_current(
void* gc,
int W,
int H);
1081 #endif // FLTK_HAVE_CAIRO