summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-02-14 06:36:20 +0000
committerManolo Gouy <Manolo>2016-02-14 06:36:20 +0000
commitec290bc9e03c67de690649d1d3174cce0f5b3eec (patch)
tree16601fa88281039e6e41b4502ee319a849ebfcfc
parent6439f34ee7d84dae786c73388c4bae54f31c65e4 (diff)
Remove Fl_X::q_fill_context() used only once.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--FL/mac.H1
-rw-r--r--FL/porting.H1
-rw-r--r--src/Fl_cocoa.mm20
-rw-r--r--src/drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx20
4 files changed, 17 insertions, 25 deletions
diff --git a/FL/mac.H b/FL/mac.H
index 4826056d1..a2559882f 100644
--- a/FL/mac.H
+++ b/FL/mac.H
@@ -162,7 +162,6 @@ public:
void in_windowDidResize(bool); // sets whether window is performing windowDidResize
// Quartz additions:
CGContextRef gc; // graphics context (NULL when using QD)
- static void q_fill_context(); // fill a Quartz context with current FLTK state
static void q_release_context(Fl_X *x=0); // free all resources associated with fl_gc
// Cocoa additions
static NSOpenGLPixelFormat *mode_to_NSOpenGLPixelFormat(int mode, const int*); // computes NSOpenGLPixelFormat from Gl window's mode
diff --git a/FL/porting.H b/FL/porting.H
index 77a999317..6c3d7cfc9 100644
--- a/FL/porting.H
+++ b/FL/porting.H
@@ -97,7 +97,6 @@ public:
// void in_windowDidResize(bool); // sets whether window is performing windowDidResize
// // Quartz additions:
// CGContextRef gc; // graphics context (NULL when using QD)
-// static void q_fill_context(); // fill a Quartz context with current FLTK state
// static void q_release_context(Fl_X *x=0); // free all resources associated with fl_gc
// // Cocoa additions
// static NSOpenGLPixelFormat *mode_to_NSOpenGLPixelFormat(int mode, const int*); // computes NSOpenGLPixelFormat from Gl window's mode
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 6c52ccb98..02a5b4a35 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -3305,26 +3305,6 @@ void Fl_Window::make_current()
#endif
}
-// helper function to manage the current CGContext fl_gc
-extern void fl_quartz_restore_line_style_();
-
-// FLTK has only one global graphics state. This function copies the FLTK state into the
-// current Quartz context
-void Fl_X::q_fill_context() {
- if (!fl_gc) return;
- if ( ! fl_window) { // a bitmap context
- CGFloat hgt = CGBitmapContextGetHeight(fl_gc);
- CGAffineTransform at = CGContextGetCTM(fl_gc);
- if (at.a != 1 && at.a == at.d && at.b == 0 && at.c == 0) { // proportional scaling, no rotation
- hgt /= at.a;
- }
- CGContextTranslateCTM(fl_gc, 0.5, hgt-0.5f);
- CGContextScaleCTM(fl_gc, 1.0f, -1.0f); // now 0,0 is top-left point of the context
- }
- fl_color(fl_graphics_driver->color());
- fl_quartz_restore_line_style_();
-}
-
// Give the Quartz context back to the system
void Fl_X::q_release_context(Fl_X *x) {
if (x && x->gc!=fl_gc) return;
diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx
index f06ef6f3d..aa84d7777 100644
--- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx
+++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_rect.cxx
@@ -265,6 +265,9 @@ void Fl_Quartz_Graphics_Driver::pop_clip() {
restore_clip();
}
+// helper function to manage the current CGContext fl_gc
+extern void fl_quartz_restore_line_style_();
+
void Fl_Quartz_Graphics_Driver::restore_clip() {
fl_clip_state_number++;
Fl_Region r = rstack[rstackptr];
@@ -273,9 +276,20 @@ void Fl_Quartz_Graphics_Driver::restore_clip() {
CGContextRestoreGState(fl_gc);
CGContextSaveGState(fl_gc);
}
- Fl_X::q_fill_context();//flip coords if bitmap context
- //apply program clip
- if (r) {
+ // FLTK has only one global graphics state.
+ // This copies the FLTK state into the current Quartz context
+ if ( ! fl_window ) { // a bitmap context
+ CGFloat hgt = CGBitmapContextGetHeight(fl_gc);
+ CGAffineTransform at = CGContextGetCTM(fl_gc);
+ if (at.a != 1 && at.a == at.d && at.b == 0 && at.c == 0) { // proportional scaling, no rotation
+ hgt /= at.a;
+ }
+ CGContextTranslateCTM(fl_gc, 0.5, hgt-0.5f);
+ CGContextScaleCTM(fl_gc, 1.0f, -1.0f); // now 0,0 is top-left point of the context
+ }
+ color(color());
+ fl_quartz_restore_line_style_();
+ if (r) { //apply program clip
CGContextClipToRects(fl_gc, r->rects, r->count);
}
}