diff options
| author | Manolo Gouy <Manolo> | 2014-11-08 18:14:31 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2014-11-08 18:14:31 +0000 |
| commit | 574e31276e7006e1f558ebcb3af6fbd3c4274633 (patch) | |
| tree | 9634f8a5aaef7d0405c990a063ef42040d965265 /src/Fl_Copy_Surface.cxx | |
| parent | baf5ea7d56abed44ab3224a47496250dedaa8b83 (diff) | |
Rewrite Fl_Copy_Surface::complete_copy_pdf_and_tiff() using cocoa APIs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10442 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Copy_Surface.cxx')
| -rw-r--r-- | src/Fl_Copy_Surface.cxx | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/src/Fl_Copy_Surface.cxx b/src/Fl_Copy_Surface.cxx index 706b87f1e..3f3db0d7f 100644 --- a/src/Fl_Copy_Surface.cxx +++ b/src/Fl_Copy_Surface.cxx @@ -212,49 +212,6 @@ void Fl_Copy_Surface::prepare_copy_pdf_and_tiff(int w, int h) CGContextSaveGState(gc); } - -void Fl_Copy_Surface::complete_copy_pdf_and_tiff() -{ - CGContextRestoreGState(gc); - CGContextEndPage(gc); - CGContextRelease(gc); - PasteboardRef clipboard = NULL; - PasteboardCreate(kPasteboardClipboard, &clipboard); - PasteboardClear(clipboard); // first, copy PDF to clipboard - PasteboardPutItemFlavor (clipboard, (PasteboardItemID)1, - CFSTR("com.adobe.pdf"), // kUTTypePDF - pdfdata, kPasteboardFlavorNoFlags); - //second, transform this PDF to a bitmap image and put it as tiff in clipboard - CGDataProviderRef prov; -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 - if(fl_mac_os_version >= 100400) - prov = CGDataProviderCreateWithCFData(pdfdata); // 10.4 - else -#endif - prov = CGDataProviderCreateWithData(NULL, CFDataGetBytePtr(pdfdata), CFDataGetLength(pdfdata), NULL); - CGPDFDocumentRef pdfdoc = CGPDFDocumentCreateWithProvider(prov); - CGPDFPageRef pdfpage = CGPDFDocumentGetPage(pdfdoc, 1); - CGDataProviderRelease(prov); - CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB(); - void *mem = ( fl_mac_os_version >= 100600 ? NULL : malloc(width * height * 4) ); - gc = CGBitmapContextCreate(mem, width, height, 8, width * 4, space, kCGImageAlphaNoneSkipLast); - CFRelease(space); - if (gc == NULL) { if (mem) free(mem); return; } - CGRect rect = CGRectMake(0, 0, width, height); - CGContextSetRGBFillColor(gc, 1,1,1,1);//need to clear background - CGContextFillRect(gc, rect); -#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 - CGContextDrawPDFPage(gc, pdfpage); // requires 10.3 -#endif - CGPDFDocumentRelease(pdfdoc); - CFRelease(pdfdata); - PasteboardPutItemFlavor(clipboard, (PasteboardItemID)1, CFSTR("public.tiff"), - Fl_X::CGBitmapContextToTIFF(gc), kPasteboardFlavorNoFlags); - CFRelease(clipboard); - CGContextRelease(gc); - if (mem) free(mem); -} - #endif // __APPLE__ #if !(defined(__APPLE__) || defined(WIN32) || defined(FL_DOXYGEN)) |
