From eeb65bef23b2d269ea38474c04a55ffca5c6e63e Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Sun, 10 Jan 2016 19:08:16 +0000 Subject: 1) Replicate in branch-1.3-porting all recent changes of branch-1.3 2) Advance branch-1.3-porting with new function Fl_X::capture_titlebar_and_borders() that contains all the platform-specific code of all operations related to drawing window borders and title bars. What is platform-specific and what is not is therefore much clearer, to ease porting. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11002 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- FL/Fl_Image_Surface.H | 1 + FL/Fl_Paged_Device.H | 12 ++---------- FL/mac.H | 1 + FL/win32.H | 1 + FL/x.H | 1 + 5 files changed, 6 insertions(+), 10 deletions(-) (limited to 'FL') diff --git a/FL/Fl_Image_Surface.H b/FL/Fl_Image_Surface.H index 955576610..d6ed05e55 100644 --- a/FL/Fl_Image_Surface.H +++ b/FL/Fl_Image_Surface.H @@ -70,6 +70,7 @@ public: void set_current(); void draw(Fl_Widget*, int delta_x = 0, int delta_y = 0); Fl_RGB_Image *image(); + void draw_decorated_window(Fl_Window* win, int delta_x = 0, int delta_y = 0); }; #ifdef __APPLE__ diff --git a/FL/Fl_Paged_Device.H b/FL/Fl_Paged_Device.H index 9dd6b7d8d..968f87b74 100644 --- a/FL/Fl_Paged_Device.H +++ b/FL/Fl_Paged_Device.H @@ -36,17 +36,9 @@ or Fl_PostScript_File_Device instead. */ class FL_EXPORT Fl_Paged_Device : public Fl_Surface_Device { -#ifdef __APPLE__ - // not needed -#elif defined(WIN32) friend class Fl_Copy_Surface; - void draw_decorated_window(Fl_Window *win, int x_offset, int y_offset, Fl_Surface_Device *toset); -#elif defined(FL_PORTING) -# pragma message "FL_PORTING: define member variables to support Fl_Copy_Surface in Fl_Paged_Device" -#else // X11 - friend class Fl_Copy_Surface; - void draw_decorated_window(Fl_Window *win, int x_offset, int y_offset, Fl_Surface_Device *toset); -#endif + friend class Fl_Image_Surface; + void draw_decorated_window(Fl_Window *win, int x_offset, int y_offset); public: /** \brief Possible page formats. diff --git a/FL/mac.H b/FL/mac.H index a8a6fc271..31ff624fd 100644 --- a/FL/mac.H +++ b/FL/mac.H @@ -199,6 +199,7 @@ public: void set_icons() {}; int set_cursor(Fl_Cursor); int set_cursor(const Fl_RGB_Image*, int, int); + void capture_titlebar_and_borders(Fl_RGB_Image*& top, Fl_RGB_Image*& left, Fl_RGB_Image*& bottom, Fl_RGB_Image*& right); static CGImageRef CGImage_from_window_rect(Fl_Window *win, int x, int y, int w, int h); static unsigned char *bitmap_from_window_rect(Fl_Window *win, int x, int y, int w, int h, int *bytesPerPixel); static Fl_Region intersect_region_and_rect(Fl_Region current, int x,int y,int w, int h); diff --git a/FL/win32.H b/FL/win32.H index 657a66d9f..c7f689ede 100644 --- a/FL/win32.H +++ b/FL/win32.H @@ -90,6 +90,7 @@ public: void set_icons(); int set_cursor(Fl_Cursor); int set_cursor(const Fl_RGB_Image*, int, int); + void capture_titlebar_and_borders(Fl_RGB_Image*& top, Fl_RGB_Image*& left, Fl_RGB_Image*& bottom, Fl_RGB_Image*& right); static Fl_X* make(Fl_Window*); }; extern FL_EXPORT UINT fl_wake_msg; diff --git a/FL/x.H b/FL/x.H index 2358ed003..5f3d80279 100644 --- a/FL/x.H +++ b/FL/x.H @@ -147,6 +147,7 @@ public: void set_icons(); int set_cursor(Fl_Cursor); int set_cursor(const Fl_RGB_Image*, int, int); + void capture_titlebar_and_borders(Fl_RGB_Image*& top, Fl_RGB_Image*& left, Fl_RGB_Image*& bottom, Fl_RGB_Image*& right); static void make_xid(Fl_Window*,XVisualInfo* =fl_visual, Colormap=fl_colormap); static Fl_X* set_xid(Fl_Window*, Window); // kludges to get around protection: -- cgit v1.2.3