From f55363776f2396c4e1c742e56e0de972a4091b1c Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Sat, 19 Mar 2016 18:44:37 +0000 Subject: Deleted because renamed to src/drivers/XXX/Fl_XXX_Copy_Surface_Driver.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/GDI/Fl_GDI_Copy_Surface.cxx | 105 ----------------------- src/drivers/Quartz/Fl_Quartz_Copy_Surface.cxx | 115 -------------------------- src/drivers/Xlib/Fl_Xlib_Copy_Surface.cxx | 98 ---------------------- 3 files changed, 318 deletions(-) delete mode 100644 src/drivers/GDI/Fl_GDI_Copy_Surface.cxx delete mode 100644 src/drivers/Quartz/Fl_Quartz_Copy_Surface.cxx delete mode 100644 src/drivers/Xlib/Fl_Xlib_Copy_Surface.cxx (limited to 'src') diff --git a/src/drivers/GDI/Fl_GDI_Copy_Surface.cxx b/src/drivers/GDI/Fl_GDI_Copy_Surface.cxx deleted file mode 100644 index 1f6149052..000000000 --- a/src/drivers/GDI/Fl_GDI_Copy_Surface.cxx +++ /dev/null @@ -1,105 +0,0 @@ -// -// "$Id: Fl_GDI_Copy_Surface.cxx 11241 2016-02-27 13:52:27Z manolo $" -// -// Copy-to-clipboard code for the Fast Light Tool Kit (FLTK). -// -// Copyright 1998-2016 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// http://www.fltk.org/COPYING.php -// -// Please report all bugs and problems on the following page: -// -// http://www.fltk.org/str.php -// - -#include "../../config_lib.h" - -#ifdef FL_CFG_GFX_GDI -#include -#include "Fl_GDI_Graphics_Driver.H" -#include - -class Fl_GDI_Copy_Surface_Driver : public Fl_Copy_Surface_Driver { - friend class Fl_Copy_Surface_Driver; -protected: - HDC oldgc; - HDC gc; - Fl_GDI_Copy_Surface_Driver(int w, int h); - ~Fl_GDI_Copy_Surface_Driver(); - void set_current(); - void translate(int x, int y); - void untranslate(); - int w() {return width;} - int h() {return height;} - int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;} -}; - - -Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int h) -{ - return new Fl_GDI_Copy_Surface_Driver(w, h); -} - - -Fl_GDI_Copy_Surface_Driver::Fl_GDI_Copy_Surface_Driver(int w, int h) : Fl_Copy_Surface_Driver(w, h) { - driver(new Fl_Translated_GDI_Graphics_Driver); - oldgc = (HDC)Fl_Surface_Device::surface()->driver()->gc(); - // exact computation of factor from screen units to EnhMetaFile units (0.01 mm) - HDC hdc = GetDC(NULL); - int hmm = GetDeviceCaps(hdc, HORZSIZE); - int hdots = GetDeviceCaps(hdc, HORZRES); - int vmm = GetDeviceCaps(hdc, VERTSIZE); - int vdots = GetDeviceCaps(hdc, VERTRES); - ReleaseDC(NULL, hdc); - float factorw = (100.f * hmm) / hdots; - float factorh = (100.f * vmm) / vdots; - - RECT rect; rect.left = 0; rect.top = 0; rect.right = (LONG)(w * factorw); rect.bottom = (LONG)(h * factorh); - gc = CreateEnhMetaFile (NULL, NULL, &rect, NULL); - if (gc != NULL) { - SetTextAlign(gc, TA_BASELINE|TA_LEFT); - SetBkMode(gc, TRANSPARENT); - } -} - - -Fl_GDI_Copy_Surface_Driver::~Fl_GDI_Copy_Surface_Driver() { - if (oldgc == (HDC)Fl_Surface_Device::surface()->driver()->gc()) oldgc = NULL; - HENHMETAFILE hmf = CloseEnhMetaFile (gc); - if ( hmf != NULL ) { - if ( OpenClipboard (NULL) ){ - EmptyClipboard (); - SetClipboardData (CF_ENHMETAFILE, hmf); - CloseClipboard (); - } - DeleteEnhMetaFile(hmf); - } - DeleteDC(gc); - Fl_Surface_Device::surface()->driver()->gc(oldgc); -} - - -void Fl_GDI_Copy_Surface_Driver::set_current() { - driver()->gc(gc); - fl_window = (Window)1; - Fl_Surface_Device::set_current(); -} - - -void Fl_GDI_Copy_Surface_Driver::translate(int x, int y) { - ((Fl_Translated_GDI_Graphics_Driver*)driver())->translate_all(x, y); -} - - -void Fl_GDI_Copy_Surface_Driver::untranslate() { - ((Fl_Translated_GDI_Graphics_Driver*)driver())->untranslate_all(); -} -#endif // FL_CFG_GFX_GDI - -// -// End of "$Id: Fl_Copy_Surface.H 11220 2016-02-26 12:51:47Z manolo $". -// diff --git a/src/drivers/Quartz/Fl_Quartz_Copy_Surface.cxx b/src/drivers/Quartz/Fl_Quartz_Copy_Surface.cxx deleted file mode 100644 index 8488d5b8e..000000000 --- a/src/drivers/Quartz/Fl_Quartz_Copy_Surface.cxx +++ /dev/null @@ -1,115 +0,0 @@ -// -// "$Id: Fl_Quartz_Copy_Surface.cxx 11241 2016-02-27 13:52:27Z manolo $" -// -// Copy-to-clipboard code for the Fast Light Tool Kit (FLTK). -// -// Copyright 1998-2016 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// http://www.fltk.org/COPYING.php -// -// Please report all bugs and problems on the following page: -// -// http://www.fltk.org/str.php -// - -#include "../../config_lib.h" - -#ifdef FL_CFG_GFX_QUARTZ -#include -#include "Fl_Quartz_Graphics_Driver.H" - -class Fl_Quartz_Copy_Surface_Driver : public Fl_Copy_Surface_Driver { - friend class Fl_Copy_Surface_Driver; -protected: - CFMutableDataRef pdfdata; - CGContextRef gc; - void prepare_copy_pdf_and_tiff(int w, int h); - void init_PDF_context(int w, int h); - static size_t MyPutBytes(void* info, const void* buffer, size_t count); - Fl_Quartz_Copy_Surface_Driver(int w, int h); - ~Fl_Quartz_Copy_Surface_Driver(); - void set_current(); - void translate(int x, int y); - void untranslate(); - int w() {return width;} - int h() {return height;} - int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;} -}; - -Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int h) -{ - return new Fl_Quartz_Copy_Surface_Driver(w, h); -} - -Fl_Quartz_Copy_Surface_Driver::Fl_Quartz_Copy_Surface_Driver(int w, int h) : Fl_Copy_Surface_Driver(w, h) { - driver(new Fl_Quartz_Graphics_Driver); - prepare_copy_pdf_and_tiff(w, h); -} - -Fl_Quartz_Copy_Surface_Driver::~Fl_Quartz_Copy_Surface_Driver() { - // that code is implemented in Fl_cocoa.mm because it uses some Objective-c - Fl_X::complete_copy_pdf_and_tiff(gc, pdfdata); -} - -void Fl_Quartz_Copy_Surface_Driver::set_current() { - driver()->gc(gc); - fl_window = (Window)1; - Fl_Surface_Device::set_current(); -} - -size_t Fl_Quartz_Copy_Surface_Driver::MyPutBytes(void* info, const void* buffer, size_t count) -{ - CFDataAppendBytes ((CFMutableDataRef) info, (const UInt8 *)buffer, count); - return count; -} - -void Fl_Quartz_Copy_Surface_Driver::init_PDF_context(int w, int h) -{ - CGRect bounds = CGRectMake(0, 0, w, h ); - pdfdata = CFDataCreateMutable(NULL, 0); - CGDataConsumerRef myconsumer; -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - if (&CGDataConsumerCreateWithCFData != NULL) { - myconsumer = CGDataConsumerCreateWithCFData(pdfdata); // 10.4 - } - else -#endif - { - static CGDataConsumerCallbacks callbacks = { Fl_Quartz_Copy_Surface_Driver::MyPutBytes, NULL }; - myconsumer = CGDataConsumerCreate ((void*) pdfdata, &callbacks); - } - gc = CGPDFContextCreate (myconsumer, &bounds, NULL); - CGDataConsumerRelease (myconsumer); -} - -void Fl_Quartz_Copy_Surface_Driver::prepare_copy_pdf_and_tiff(int w, int h) -{ - init_PDF_context(w, h); - if (gc == NULL) return; - CGRect bounds = CGRectMake(0, 0, w, h ); - CGContextBeginPage (gc, &bounds); - CGContextTranslateCTM(gc, 0, h); - CGContextScaleCTM(gc, 1.0f, -1.0f); - CGContextSaveGState(gc); -} - -void Fl_Quartz_Copy_Surface_Driver::translate(int x, int y) { - CGContextRestoreGState(gc); - CGContextSaveGState(gc); - CGContextTranslateCTM(gc, x, y); - CGContextSaveGState(gc); -} - -void Fl_Quartz_Copy_Surface_Driver::untranslate() { - CGContextRestoreGState(gc); -} - -#endif // FL_CFG_GFX_QUARTZ - -// -// End of "$Id: Fl_Copy_Surface.H 11220 2016-02-26 12:51:47Z manolo $". -// diff --git a/src/drivers/Xlib/Fl_Xlib_Copy_Surface.cxx b/src/drivers/Xlib/Fl_Xlib_Copy_Surface.cxx deleted file mode 100644 index 8615fbb8b..000000000 --- a/src/drivers/Xlib/Fl_Xlib_Copy_Surface.cxx +++ /dev/null @@ -1,98 +0,0 @@ -// -// "$Id: Fl_Xlib_Copy_Surface.cxx 11241 2016-02-27 13:52:27Z manolo $" -// -// Copy-to-clipboard code for the Fast Light Tool Kit (FLTK). -// -// Copyright 1998-2016 by Bill Spitzak and others. -// -// This library is free software. Distribution and use rights are outlined in -// the file "COPYING" which should have been included with this file. If this -// file is missing or damaged, see the license at: -// -// http://www.fltk.org/COPYING.php -// -// Please report all bugs and problems on the following page: -// -// http://www.fltk.org/str.php -// - -#include "../../config_lib.h" - -#ifdef FL_CFG_GFX_XLIB -#include -#include -#include -#include "Fl_Translated_Xlib_Graphics_Driver.H" - -class Fl_Xlib_Copy_Surface_Driver : public Fl_Copy_Surface_Driver { - friend class Fl_Copy_Surface_Driver; -protected: - Fl_Offscreen xid; - Window oldwindow; - Fl_Surface_Device *_ss; - Fl_Xlib_Copy_Surface_Driver(int w, int h); - ~Fl_Xlib_Copy_Surface_Driver(); - void set_current(); - void translate(int x, int y); - void untranslate(); - int w() {return width;} - int h() {return height;} - int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;} -}; - - -Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int h) -{ - return new Fl_Xlib_Copy_Surface_Driver(w, h); -} - - -Fl_Xlib_Copy_Surface_Driver::Fl_Xlib_Copy_Surface_Driver(int w, int h) : Fl_Copy_Surface_Driver(w, h) { - driver(new Fl_Translated_Xlib_Graphics_Driver()); - Fl::first_window()->make_current(); - oldwindow = fl_xid(Fl::first_window()); - xid = fl_create_offscreen(w,h); - _ss = NULL; - Fl_Surface_Device *present_surface = Fl_Surface_Device::surface(); - Fl_Surface_Device::set_current(); - fl_window = xid; - driver()->color(FL_WHITE); - driver()->rectf(0, 0, w, h); - present_surface->set_current(); - fl_window = oldwindow; -} - - -Fl_Xlib_Copy_Surface_Driver::~Fl_Xlib_Copy_Surface_Driver() { - fl_pop_clip(); - unsigned char *data = fl_read_image(NULL,0,0,width,height,0); - fl_window = oldwindow; - _ss->set_current(); - Fl::copy_image(data,width,height,1); - delete[] data; - fl_delete_offscreen(xid); -} - - -void Fl_Xlib_Copy_Surface_Driver::set_current() { - fl_window = xid; - if (!_ss) _ss = Fl_Surface_Device::surface(); - Fl_Surface_Device::set_current(); - fl_push_no_clip(); -} - - -void Fl_Xlib_Copy_Surface_Driver::translate(int x, int y) { - ((Fl_Translated_Xlib_Graphics_Driver*)driver())->translate_all(x, y); -} - - -void Fl_Xlib_Copy_Surface_Driver::untranslate() { - ((Fl_Translated_Xlib_Graphics_Driver*)driver())->untranslate_all(); -} - -#endif // FL_CFG_GFX_XLIB - -// -// End of "$Id: Fl_Copy_Surface.H 11220 2016-02-26 12:51:47Z manolo $". -// -- cgit v1.2.3