diff options
| author | Manolo Gouy <Manolo> | 2016-03-24 22:26:13 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-03-24 22:26:13 +0000 |
| commit | 2530120d7d084f1ffbb9331e925153a3bcb15b92 (patch) | |
| tree | d71449ebeda1310ea0dddafbc4755db7cd047d27 /src/drivers/Quartz | |
| parent | f432c171129fc3657f50073adf87ed99276cb173 (diff) | |
Rewrite Fl::handle_(int e, Fl_Window* window) and Fl_Widget::damage() to remove their platform dependent parts
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11419 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/Quartz')
| -rw-r--r-- | src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx | 14 | ||||
| -rw-r--r-- | src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx | 6 |
2 files changed, 17 insertions, 3 deletions
diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx index f1b159960..6fdc3461e 100644 --- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx +++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx @@ -18,7 +18,7 @@ #include "../../config_lib.h" -#include "Fl_Quartz_Graphics_Driver.h" +#include "Fl_Quartz_Graphics_Driver.H" /* Reference to the current CGContext For back-compatibility only. The preferred procedure to get this reference is @@ -70,6 +70,18 @@ void Fl_Quartz_Graphics_Driver::copy_offscreen(int x,int y,int w,int h,Fl_Offscr CGDataProviderRelease(src_bytes); } +void Fl_Graphics_Driver::add_rectangle_to_region(Fl_Region r, int X, int Y, int W, int H) { + CGRect arg = fl_cgrectmake_cocoa(X, Y, W, H); + int j; // don't add a rectangle totally inside the Fl_Region + for(j = 0; j < r->count; j++) { + if(CGRectContainsRect(r->rects[j], arg)) break; + } + if( j >= r->count) { + r->rects = (CGRect*)realloc(r->rects, (++(r->count)) * sizeof(CGRect)); + r->rects[r->count - 1] = arg; + } +} + // // End of "$Id$". // diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx index 48e2c8f19..7e0b22dec 100644 --- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx +++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver_font.cxx @@ -580,7 +580,8 @@ if (fl_mac_os_version >= Fl_X::CoreText_threshold) { // activate the current GC iSize = sizeof(CGContextRef); iTag = kATSUCGContextTag; - iValuePtr = &gc_; + CGContextRef value = (CGContextRef)fl_graphics_driver->gc(); + iValuePtr = &value; ATSUSetLayoutControls(layout, 1, &iTag, &iSize, &iValuePtr); // now measure the bounding box err = ATSUSetTextPointerLocation(layout, txt, kATSUFromTextBeginning, n, n); @@ -657,7 +658,8 @@ else { // activate the current GC iSize = sizeof(CGContextRef); iTag = kATSUCGContextTag; - iValuePtr = &gc_; + CGContextRef value = (CGContextRef)gc(); + iValuePtr = &value; ATSUSetLayoutControls(layout, 1, &iTag, &iSize, &iValuePtr); // now measure the bounding box err = ATSUSetTextPointerLocation(layout, txt, kATSUFromTextBeginning, n, n); |
