summaryrefslogtreecommitdiff
path: root/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-02-27 13:52:27 +0000
committerManolo Gouy <Manolo>2016-02-27 13:52:27 +0000
commit0b406baa0f05d8b829d2c35b10c8450e7628be53 (patch)
tree62d91890f7194e00ea9f40e89f640c7c013c7b45 /src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx
parent5d24872dc40e1047cea6337d8823718ac2acd575 (diff)
Rewrite all fl_XXX_offscreen() functions so they use an Fl_Image_Surface object.
These functions become therefore platform-independent. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11241 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx')
-rw-r--r--src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx90
1 files changed, 0 insertions, 90 deletions
diff --git a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx
index 7186a030a..f1b159960 100644
--- a/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx
+++ b/src/drivers/Quartz/Fl_Quartz_Graphics_Driver.cxx
@@ -40,16 +40,6 @@ Fl_Graphics_Driver *Fl_Graphics_Driver::newMainGraphicsDriver()
return new Fl_Quartz_Graphics_Driver();
}
-#ifndef FL_DOXYGEN
-Fl_Offscreen Fl_Quartz_Graphics_Driver::create_offscreen_with_alpha(int w, int h) {
- void *data = calloc(w*h,4);
- CGColorSpaceRef lut = CGColorSpaceCreateDeviceRGB();
- CGContextRef ctx = CGBitmapContextCreate(data, w, h, 8, w*4, lut, kCGImageAlphaPremultipliedLast);
- CGColorSpaceRelease(lut);
- return (Fl_Offscreen)ctx;
-}
-#endif
-
char Fl_Quartz_Graphics_Driver::can_do_alpha_blending() {
return 1;
}
@@ -80,86 +70,6 @@ void Fl_Quartz_Graphics_Driver::copy_offscreen(int x,int y,int w,int h,Fl_Offscr
CGDataProviderRelease(src_bytes);
}
-/** \addtogroup fl_drawings
- @{
- */
-
-// FIXME: driver system
-/**
- Creation of an offscreen graphics buffer.
- \param w,h width and height in pixels of the buffer.
- \return the created graphics buffer.
- */
-Fl_Offscreen fl_create_offscreen(int w, int h) {
- void *data = calloc(w*h,4);
- CGColorSpaceRef lut = CGColorSpaceCreateDeviceRGB();
- CGContextRef ctx = CGBitmapContextCreate(
- data, w, h, 8, w*4, lut, kCGImageAlphaNoneSkipLast);
- CGColorSpaceRelease(lut);
- return (Fl_Offscreen)ctx;
-}
-
-// FIXME: driver system
-/** Deletion of an offscreen graphics buffer.
- \param ctx the buffer to be deleted.
- */
-void fl_delete_offscreen(Fl_Offscreen ctx) {
- if (!ctx) return;
- void *data = CGBitmapContextGetData((CGContextRef)ctx);
- CFIndex count = CFGetRetainCount(ctx);
- CGContextRelease((CGContextRef)ctx);
- if(count == 1) free(data);
-}
-
-// FIXME: driver system
-const int stack_max = 16;
-static int stack_ix = 0;
-static CGContextRef stack_gc[stack_max];
-static Window stack_window[stack_max];
-static Fl_Surface_Device *_ss;
-
-// FIXME: driver system
-/** Send all subsequent drawing commands to this offscreen buffer.
- \param ctx the offscreen buffer.
- */
-void fl_begin_offscreen(Fl_Offscreen ctx) {
- _ss = Fl_Surface_Device::surface();
- Fl_Display_Device::display_device()->set_current();
- if (stack_ix<stack_max) {
- stack_gc[stack_ix] = (CGContextRef)fl_graphics_driver->gc();
- stack_window[stack_ix] = fl_window;
- } else
- fprintf(stderr, "FLTK CGContext Stack overflow error\n");
- stack_ix++;
-
- fl_graphics_driver->gc(ctx);
- fl_window = 0;
- CGContextSaveGState(ctx);
- fl_graphics_driver->push_no_clip();
-}
-
-// FIXME: driver system
-/** Quit sending drawing commands to the current offscreen buffer.
- */
-void fl_end_offscreen() {
- fl_graphics_driver->pop_clip();
- CGContextRef gc = (CGContextRef)fl_graphics_driver->gc();
-
- CGContextRestoreGState(gc); // matches CGContextSaveGState in fl_begin_offscreen()
- CGContextFlush(gc);
- if (stack_ix>0)
- stack_ix--;
- else
- fprintf(stderr, "FLTK CGContext Stack underflow error\n");
- if (stack_ix<stack_max) {
- fl_graphics_driver->gc(stack_gc[stack_ix]);
- fl_window = stack_window[stack_ix];
- }
- _ss->set_current();
-}
-
-/** @} */
-
//
// End of "$Id$".
//