diff options
| author | Manolo Gouy <Manolo> | 2018-05-04 15:11:47 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2018-05-04 15:11:47 +0000 |
| commit | 20ccb6b7f2b0b2b742211c31a32c3ac612c43489 (patch) | |
| tree | bc432cbcba741ba6dab1ab27b0c5674160b67b12 /src/drivers | |
| parent | d4eeb75ac6829e663996e87c3584e247d10eead8 (diff) | |
Shorten the list of virtual member functions used to support Fl_Widget_Surface derived classes.
Change Fl_Cocoa_Screen_Driver::read_win_rectangle() so it captures only
from the current window and ignores its subwindows, as do other Fl_Screen_Driver derived classes.
Remove Fl_Cocoa_Printer_Driver::print_window_part() that is no longer necessary.
Remove Fl_Printer::print_widget() and Fl_Printer::print_window_part() that
are no longer necessary.
Stop Fl_Widget_Surface::print_window_part() from being virtual because its platform-independent
implementation should suffice.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12894 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers')
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm | 15 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx | 2 | ||||
| -rw-r--r-- | src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H | 2 |
3 files changed, 2 insertions, 17 deletions
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm b/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm index c61f09df1..4a7a713dd 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm +++ b/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm @@ -70,7 +70,6 @@ private: int end_page (void); void end_job (void); void draw_decorated_window(Fl_Window *win, int x_offset, int y_offset); - void print_window_part(Fl_Window *win, int x, int y, int w, int h, int delta_x, int delta_y); ~Fl_Cocoa_Printer_Driver(void); }; @@ -362,20 +361,6 @@ void Fl_Cocoa_Printer_Driver::end_job (void) if (w) w->show(); } -// version that prints at high res if using a retina display -void Fl_Cocoa_Printer_Driver::print_window_part(Fl_Window *win, int x, int y, int w, int h, int delta_x, int delta_y) -{ - Fl_Surface_Device::push_current( Fl_Display_Device::display_device() ); - Fl_Window *save_front = Fl::first_window(); - win->show(); - Fl::check(); - CGImageRef img = Fl_Cocoa_Window_Driver::driver(win)->CGImage_from_window_rect(x, y, w, h); - if (save_front != win) save_front->show(); - Fl_Surface_Device::pop_current(); - ((Fl_Quartz_Graphics_Driver*)driver())->draw_CGImage(img,delta_x, delta_y, w, h, 0,0,w,h); - CFRelease(img); -} - void Fl_Cocoa_Printer_Driver::origin(int *x, int *y) { Fl_Paged_Device::origin(x, y); diff --git a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx index d46879932..b7623193d 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx +++ b/src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx @@ -372,7 +372,7 @@ Fl_RGB_Image *Fl_Cocoa_Screen_Driver::read_win_rectangle(int X, int Y, int w, in bpr = 0; } else { // read from window Fl_Cocoa_Window_Driver *d = Fl_Cocoa_Window_Driver::driver(Fl_Window::current()); - CGImageRef cgimg = d->CGImage_from_window_rect(X, Y, w, h); + CGImageRef cgimg = d->CGImage_from_window_rect(X, Y, w, h, false); if (!cgimg) { return NULL; } diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H index f9631198e..256a89a6f 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H +++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H @@ -88,7 +88,7 @@ public: CGRect* subRect() { return subRect_; } // getter void subRect(CGRect *r) { subRect_ = r; } // setter static void destroy(FLWindow*); - CGImageRef CGImage_from_window_rect(int x, int y, int w, int h); + CGImageRef CGImage_from_window_rect(int x, int y, int w, int h, bool capture_subwins = true); // --- window data virtual int decorated_w(); |
