summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2018-05-04 15:11:47 +0000
committerManolo Gouy <Manolo>2018-05-04 15:11:47 +0000
commit20ccb6b7f2b0b2b742211c31a32c3ac612c43489 (patch)
treebc432cbcba741ba6dab1ab27b0c5674160b67b12 /src/drivers
parentd4eeb75ac6829e663996e87c3584e247d10eead8 (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.mm15
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx2
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H2
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();