25 #  error "Never use <FL/win32.H> directly; include <FL/x.H> instead." 
   29 typedef HRGN Fl_Region;
 
   36 #if defined(FL_LIBRARY) || defined(FL_INTERNALS)  
   40 #define LPMINMAXINFO MINMAXINFO* 
   49 struct XRectangle {
int x, y, width, height;};
 
   50 extern Fl_Region XRectangleRegion(
int x, 
int y, 
int w, 
int h);
 
   51 inline void XDestroyRegion(Fl_Region r) {DeleteObject(r);}
 
   52 inline void XClipBox(Fl_Region r,XRectangle* rect) {
 
   53     RECT win_rect; GetRgnBox(r,&win_rect);
 
   54     rect->x=win_rect.left;
 
   56     rect->width=win_rect.right-win_rect.left;
 
   57     rect->height=win_rect.bottom-win_rect.top;
 
   59 #define XDestroyWindow(a,b) DestroyWindow(b) 
   60 #define XMapWindow(a,b) ShowWindow(b, SW_RESTORE) 
   61 #define XUnmapWindow(a,b) ShowWindow(b, SW_HIDE) 
   65 class FL_EXPORT Fl_X {
 
   80   static Fl_X* i(
const Fl_Window* w) {
return w->i;}
 
   81   static int fake_X_wm(
const Fl_Window* w,
int &X, 
int &Y,
 
   82                                  int &bt,
int &bx,
int &by);
 
   83   void make_fullscreen(
int X, 
int Y, 
int W, 
int H);
 
   84   void setwindow(
Fl_Window* wi) {w=wi; wi->i=
this;}
 
   85   void flush() {w->
flush();}
 
   86   void set_minmax(LPMINMAXINFO minmax);
 
   88   static void set_default_icons(
const Fl_RGB_Image*[], 
int);
 
   89   static void set_default_icons(HICON, HICON);
 
   95 extern FL_EXPORT UINT fl_wake_msg;
 
   96 extern FL_EXPORT 
char fl_override_redirect; 
 
   97 extern FL_EXPORT 
int fl_background_pixel;  
 
   98 extern FL_EXPORT HPALETTE fl_palette; 
 
   99 extern FL_EXPORT 
void fl_release_dc(HWND w, HDC dc);
 
  100 extern FL_EXPORT 
void fl_save_dc( HWND w, HDC dc);
 
  102 inline Window fl_xid(
const Fl_Window* w) { Fl_X *temp = Fl_X::i(w); 
return temp ? temp->xid : 0; }
 
  104 extern FL_EXPORT 
void fl_open_display();
 
  107 FL_EXPORT Window fl_xid_(
const Fl_Window* w);
 
  108 #define fl_xid(w) fl_xid_(w) 
  109 #endif // FL_LIBRARY || FL_INTERNALS 
  111 FL_EXPORT 
Fl_Window* fl_find(Window xid);
 
  115 extern FL_EXPORT 
struct Fl_XMap {
 
  120 inline COLORREF fl_RGB() {
return fl_current_xmap->rgb;}
 
  121 inline HPEN fl_pen() {
return fl_current_xmap->pen;}
 
  122 FL_EXPORT HBRUSH fl_brush(); 
 
  123 FL_EXPORT HBRUSH fl_brush_action(
int); 
 
  125 extern FL_EXPORT HINSTANCE fl_display;
 
  126 extern FL_EXPORT Window fl_window;
 
  127 extern FL_EXPORT HDC fl_gc;
 
  128 extern FL_EXPORT MSG fl_msg;
 
  129 extern FL_EXPORT HDC fl_GetDC(Window);
 
  130 extern FL_EXPORT HDC fl_makeDC(HBITMAP);
 
  133 typedef HBITMAP Fl_Offscreen;
 
  134 #define fl_create_offscreen(w, h) \ 
  135   CreateCompatibleBitmap( (fl_gc ? fl_gc : fl_GetDC(0) ) , w, h) 
  137 # define fl_begin_offscreen(b) \ 
  138    HDC _sgc=fl_gc; Window _sw=fl_window; \ 
  139    Fl_Surface_Device *_ss = Fl_Surface_Device::surface(); Fl_Display_Device::display_device()->set_current(); \ 
  140    fl_gc=fl_makeDC(b); int _savedc = SaveDC(fl_gc); fl_window=(HWND)b; fl_push_no_clip() 
  142 # define fl_end_offscreen() \ 
  143    fl_pop_clip(); RestoreDC(fl_gc, _savedc); DeleteDC(fl_gc); _ss->set_current(); fl_window=_sw; fl_gc = _sgc 
  146 FL_EXPORT 
void fl_copy_offscreen(
int x,
int y,
int w,
int h,HBITMAP pixmap,
int srcx,
int srcy);
 
  147 #define fl_delete_offscreen(bitmap) DeleteObject(bitmap) 
  150 typedef HBITMAP Fl_Bitmask;
 
  152 extern FL_EXPORT Fl_Bitmask fl_create_bitmask(
int w, 
int h, 
const uchar *data);
 
  153 extern FL_EXPORT Fl_Bitmask fl_create_alphamask(
int w, 
int h, 
int d, 
int ld, 
const uchar *data);
 
  154 extern FL_EXPORT 
void fl_delete_bitmask(Fl_Bitmask bm);
 
  159 extern FL_EXPORT 
int fl_parse_color(
const char* p, 
uchar& r, 
uchar& g, 
uchar& b);
 
This widget produces an actual window. 
Definition: Fl_Window.H:57
Fl_Cursor
The following constants define the mouse cursors that are available in FLTK. 
Definition: Enumerations.H:910
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:136
void fl_open_callback(void(*cb)(const char *))
Register a function called for each file dropped onto an application icon. 
The Fl_RGB_Image class supports caching and drawing of full-color images with 1 to 4 channels of colo...
Definition: Fl_Image.H:183
virtual void flush()
Forces the window to be drawn, this window is also made current and calls draw(). ...
Definition: Fl.cxx:1844
void fl_copy_offscreen(int x, int y, int w, int h, Fl_Offscreen pixmap, int srcx, int srcy)
Copy a rectangular area of the given offscreen buffer into the current drawing destination. 
Definition: Fl_Double_Window.cxx:98
unsigned char uchar
unsigned char 
Definition: fl_types.h:30