/* vim:expandtab:ts=2 sw=2: */ /* Grafx2 - The Ultimate 256-color bitmap paint program Copyright 2018 Thomas Bernard Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud) Grafx2 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. Grafx2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Grafx2; if not, see */ ///@file pasteboard.m /// Support for Mac OS X PasteBoard /// #import const void * get_tiff_paste_board(unsigned long * size) { NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; NSLog(@"types in pasteboard : %@", [pasteboard types]); NSData *data = [pasteboard dataForType:NSTIFFPboardType]; if (data == nil) return NULL; *size = [data length]; return [data bytes]; } int set_tiff_paste_board(const void * tiff, unsigned long size) { if (tiff == NULL || size == 0) return 0; NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; [pasteboard declareTypes:[NSArray arrayWithObject:NSTIFFPboardType] owner:nil]; NSData *data = [[NSData alloc] initWithBytes:tiff length:size]; BOOL b = [pasteboard setData:data forType:NSTIFFPboardType]; if (!b) NSLog(@"Failed to set data in pasteboard"); [data release]; return (int)b; }