summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2018-05-12 09:36:36 +0000
committerManolo Gouy <Manolo>2018-05-12 09:36:36 +0000
commit8b7f7c78b2595b22aac6e3269bb1fd4b1a213420 (patch)
tree5c021102fa3d997d0084118bd583373e200ee480 /src/drivers
parent5e785121e0351698b4b375b6c51653c9c3891211 (diff)
Remove public member function Fl_Window_Driver *Fl_Window::driver() so class Fl_Window_Driver is not in FLTK public API.
This function is replaced by static Fl_Window_Driver* Fl_Window_Driver::(const Fl_Window *win). The purpose is to have class Fl_Window_Driver outside from FLTK ABI. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Android/Fl_Android_Window_Driver.H4
-rw-r--r--src/drivers/Android/Fl_Android_Window_Driver.cxx2
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm4
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H2
-rw-r--r--src/drivers/OpenGL/Fl_OpenGL_Display_Device.cxx2
-rw-r--r--src/drivers/Quartz/Fl_Quartz_Image_Surface_Driver.cxx2
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H2
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx4
-rw-r--r--src/drivers/X11/Fl_X11_Screen_Driver.cxx2
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.H2
-rw-r--r--src/drivers/X11/Fl_X11_Window_Driver.cxx4
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx2
12 files changed, 16 insertions, 16 deletions
diff --git a/src/drivers/Android/Fl_Android_Window_Driver.H b/src/drivers/Android/Fl_Android_Window_Driver.H
index 1df475a3d..6ade10cf4 100644
--- a/src/drivers/Android/Fl_Android_Window_Driver.H
+++ b/src/drivers/Android/Fl_Android_Window_Driver.H
@@ -71,8 +71,8 @@ private:
#endif
public:
- static inline Fl_Android_Window_Driver* driver(Fl_Window *w) {
- return (Fl_Android_Window_Driver*)w->driver();
+ static inline Fl_Android_Window_Driver* driver(const Fl_Window *w) {
+ return (Fl_Android_Window_Driver*)Fl_Window_Driver::driver(w);
}
Fl_Android_Window_Driver(Fl_Window *w) : Fl_Window_Driver(w) {}
diff --git a/src/drivers/Android/Fl_Android_Window_Driver.cxx b/src/drivers/Android/Fl_Android_Window_Driver.cxx
index 4e10d6d7d..05fd80020 100644
--- a/src/drivers/Android/Fl_Android_Window_Driver.cxx
+++ b/src/drivers/Android/Fl_Android_Window_Driver.cxx
@@ -99,7 +99,7 @@ void Fl_Android_Window_Driver::expose_all()
{
for (Fl_X *x = Fl_X::first; x; x = x->next) {
Fl_Window *win = x->w;
- win->driver()->wait_for_expose_value = 0;
+ Fl_Android_Window_Driver::driver(win)->wait_for_expose_value = 0;
win->damage(FL_DAMAGE_EXPOSE);
win->redraw();
}
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm b/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm
index d9a43b1f2..fabfcaa8f 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm
+++ b/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm
@@ -383,7 +383,7 @@ void Fl_Cocoa_Printer_Driver::draw_decorated_window(Fl_Window *win, int x_offset
CGContextRef gc = (CGContextRef)driver()->gc();
CGContextSaveGState(gc);
CGContextTranslateCTM(gc, x_offset - 0.5, y_offset + bt - 0.5);
- float s = Fl::screen_driver()->scale(win->driver()->screen_num());
+ float s = Fl::screen_driver()->scale(Fl_Window_Driver::driver(win)->screen_num());
CGContextScaleCTM(gc, 1/s, -1/s);
Fl_Cocoa_Window_Driver::draw_layer_to_context(layer, gc, win->w() * s, bt);
CGContextRestoreGState(gc);
@@ -428,7 +428,7 @@ void Fl_Cocoa_Printer_Driver::draw_decorated_window(Fl_Window *win, int x_offset
Fl::check();
// capture the window title bar with no title
Fl_RGB_Image *top, *left, *bottom, *right;
- win->driver()->capture_titlebar_and_borders(top, left, bottom, right);
+ Fl_Window_Driver::driver(win)->capture_titlebar_and_borders(top, left, bottom, right);
[(NSWindow*)fl_xid(win) setTitle:title]; // put back the window title
this->set_current(); // back to the Fl_Paged_Device
top->draw(x_offset, y_offset); // print the title bar
diff --git a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
index 43538c175..d7162eff9 100644
--- a/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
+++ b/src/drivers/Cocoa/Fl_Cocoa_Window_Driver.H
@@ -73,7 +73,7 @@ private:
public:
Fl_Cocoa_Window_Driver(Fl_Window*);
~Fl_Cocoa_Window_Driver();
- static inline Fl_Cocoa_Window_Driver* driver(Fl_Window *w) {return (Fl_Cocoa_Window_Driver*)w->driver();}
+ static inline Fl_Cocoa_Window_Driver* driver(const Fl_Window *w) {return (Fl_Cocoa_Window_Driver*)Fl_Window_Driver::driver(w);}
CGContextRef gc; // graphics context
NSCursor *cursor;
static void q_release_context(Fl_Cocoa_Window_Driver *x = 0); // free all resources associated with gc
diff --git a/src/drivers/OpenGL/Fl_OpenGL_Display_Device.cxx b/src/drivers/OpenGL/Fl_OpenGL_Display_Device.cxx
index 5b1f8b1f8..09d02cbc3 100644
--- a/src/drivers/OpenGL/Fl_OpenGL_Display_Device.cxx
+++ b/src/drivers/OpenGL/Fl_OpenGL_Display_Device.cxx
@@ -109,7 +109,7 @@ Fl_RGB_Image* Fl_OpenGL_Display_Device::capture_gl_rectangle(Fl_Gl_Window *glw,
glPixelStorei(GL_PACK_SKIP_ROWS, 0);
glPixelStorei(GL_PACK_SKIP_PIXELS, 0);
//
- int ns = glw->driver()->screen_num();
+ int ns = Fl_Window_Driver::driver(glw)->screen_num();
float s = Fl::screen_driver()->scale(ns);
if (s != 1) {
x *= s; y *= s; w *= s; h *= s;
diff --git a/src/drivers/Quartz/Fl_Quartz_Image_Surface_Driver.cxx b/src/drivers/Quartz/Fl_Quartz_Image_Surface_Driver.cxx
index 2c61e6089..2a3448409 100644
--- a/src/drivers/Quartz/Fl_Quartz_Image_Surface_Driver.cxx
+++ b/src/drivers/Quartz/Fl_Quartz_Image_Surface_Driver.cxx
@@ -52,7 +52,7 @@ Fl_Quartz_Image_Surface_Driver::Fl_Quartz_Image_Surface_Driver(int w, int h, int
if (high_res) {
s = Fl_Graphics_Driver::default_driver().scale();
Fl_Window *cw = Fl_Window::current();
- if (cw && ((Fl_Cocoa_Window_Driver*)cw->driver())->mapped_to_retina()) s *= 2;
+ if (cw && Fl_Cocoa_Window_Driver::driver(cw)->mapped_to_retina()) s *= 2;
W *= s; H *= s;
}
CGColorSpaceRef lut = CGColorSpaceCreateDeviceRGB();
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
index 72996db60..44cc06ccc 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
@@ -68,7 +68,7 @@ private:
public:
Fl_WinAPI_Window_Driver(Fl_Window*);
~Fl_WinAPI_Window_Driver();
- static inline Fl_WinAPI_Window_Driver* driver(Fl_Window *w) {return (Fl_WinAPI_Window_Driver*)w->driver();}
+ static inline Fl_WinAPI_Window_Driver* driver(const Fl_Window *w) {return (Fl_WinAPI_Window_Driver*)Fl_Window_Driver::driver(w);}
HDC private_dc; // used for OpenGL
RECT border_width_title_bar_height(int &bx, int &by, int &bt);
virtual void screen_num(int n);
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
index dd45ad2ad..3b6974330 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
@@ -64,7 +64,7 @@ Fl_WinAPI_Window_Driver::~Fl_WinAPI_Window_Driver()
int Fl_WinAPI_Window_Driver::screen_num() {
if (pWindow->parent()) {
- screen_num_ = pWindow->top_window()->driver()->screen_num();
+ screen_num_ = Fl_Window_Driver::driver(pWindow->top_window())->screen_num();
}
return screen_num_ >= 0 ? screen_num_ : 0;
}
@@ -694,7 +694,7 @@ void Fl_WinAPI_Window_Driver::resize_after_screen_change(void *data) {
GetClientRect(fl_xid(win), &r);
float old_f = float(r.right)/win->w();
int ns = data_for_resize_window_between_screens_.screen;
- win->driver()->resize_after_scale_change(ns, old_f, Fl::screen_driver()->scale(ns));
+ Fl_Window_Driver::driver(win)->resize_after_scale_change(ns, old_f, Fl::screen_driver()->scale(ns));
data_for_resize_window_between_screens_.busy = false;
}
diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.cxx b/src/drivers/X11/Fl_X11_Screen_Driver.cxx
index d79d31307..cb6da5d1e 100644
--- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx
@@ -801,7 +801,7 @@ Fl_RGB_Image *Fl_X11_Screen_Driver::read_win_rectangle(int X, int Y, int w, int
RootWindow(fl_display, fl_screen), X*s, Y*s, &dxs, &dys, &child_win);
dx = dxs/s; dy = dys/s;
// screen dimensions
- Fl::screen_xywh(sx, sy, sw, sh, win->driver()->screen_num());
+ Fl::screen_xywh(sx, sy, sw, sh, Fl_Window_Driver::driver(win)->screen_num());
}
if (win && !allow_outside && int(s) != s) {
ws = (w+1)*s-1;
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.H b/src/drivers/X11/Fl_X11_Window_Driver.H
index a3eb304ea..e1ff50105 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.H
+++ b/src/drivers/X11/Fl_X11_Window_Driver.H
@@ -92,7 +92,7 @@ private:
public:
Fl_X11_Window_Driver(Fl_Window*);
virtual ~Fl_X11_Window_Driver();
- static inline Fl_X11_Window_Driver* driver(Fl_Window *w) {return (Fl_X11_Window_Driver*)w->driver();}
+ static inline Fl_X11_Window_Driver* driver(const Fl_Window *w) {return (Fl_X11_Window_Driver*)Fl_Window_Driver::driver(w);}
#if USE_XFT
virtual int screen_num();
static void resize_after_screen_change(void *data);
diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx
index 46aa52878..fc64ee645 100644
--- a/src/drivers/X11/Fl_X11_Window_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx
@@ -691,14 +691,14 @@ Fl_X11_Window_Driver::type_for_resize_window_between_screens Fl_X11_Window_Drive
void Fl_X11_Window_Driver::resize_after_screen_change(void *data) {
Fl_Window *win = (Fl_Window*)data;
float f = Fl::screen_driver()->scale(data_for_resize_window_between_screens_.screen);
- win->driver()->resize_after_scale_change(data_for_resize_window_between_screens_.screen, f, f);
+ Fl_Window_Driver::driver(win)->resize_after_scale_change(data_for_resize_window_between_screens_.screen, f, f);
data_for_resize_window_between_screens_.busy = false;
}
int Fl_X11_Window_Driver::screen_num() {
if (pWindow->parent()) {
- screen_num_ = pWindow->top_window()->driver()->screen_num();
+ screen_num_ = Fl_Window_Driver::driver(pWindow->top_window())->screen_num();
}
return screen_num_ >= 0 ? screen_num_ : 0;
}
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx
index dad106a02..65284514a 100644
--- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_image.cxx
@@ -736,7 +736,7 @@ void Fl_Xlib_Graphics_Driver::draw_fixed(Fl_RGB_Image *img, int X, int Y, int W,
int ox = offset_x_, oy = offset_y_;
offset_x_ = offset_y_ = 0;
Fl_X11_Screen_Driver *d = (Fl_X11_Screen_Driver*)Fl::screen_driver();
- int nscreen = Fl_Window::current()->driver()->screen_num();
+ int nscreen = Fl_Window_Driver::driver(Fl_Window::current())->screen_num();
float keep = d->scale(nscreen);
d->scale(nscreen, 1);
push_no_clip();