mirror of
https://github.com/gnustep/libs-back.git
synced 2025-05-29 16:31:29 +00:00
Add support for XG_MIME_PNG and NSPasteboardTypePNG in both copy&paste
directions.
This commit is contained in:
parent
6a221b4dc7
commit
c901bc8cd2
1 changed files with 30 additions and 3 deletions
33
Tools/xpbs.m
33
Tools/xpbs.m
|
@ -789,6 +789,11 @@ static int xFixesEventBase;
|
|||
NSDebugLLog(@"Pbs", @"pasteboard: provideDataForType: - requestData XG_MIME_TIFF");
|
||||
[self requestData: XG_MIME_TIFF];
|
||||
}
|
||||
else if ([type isEqual: NSPasteboardTypePNG])
|
||||
{
|
||||
NSDebugLLog(@"Pbs", @"pasteboard: provideDataForType: - requestData XG_MIME_PNG");
|
||||
[self requestData: XG_MIME_PNG];
|
||||
}
|
||||
// FIXME: Support more types
|
||||
else
|
||||
{
|
||||
|
@ -928,6 +933,10 @@ xErrorHandler(Display *d, XErrorEvent *e)
|
|||
{
|
||||
[types addObject: NSTIFFPboardType];
|
||||
}
|
||||
else if (type == XG_MIME_PNG)
|
||||
{
|
||||
[types addObject: NSPasteboardTypePNG];
|
||||
}
|
||||
else if ((type == XG_TARGETS)
|
||||
|| (type == XG_TIMESTAMP)
|
||||
|| (type == XG_OWNER_OS)
|
||||
|
@ -955,9 +964,10 @@ xErrorHandler(Display *d, XErrorEvent *e)
|
|||
XFree(name);
|
||||
}
|
||||
|
||||
NSDebugLLog(@"Pbs", @"%@ availableTypes: %d types available: %@%@%@%@%@",
|
||||
[[self osPb] name], count, types,
|
||||
(txt ? txt : @""), (rtf ? rtf : @""), (std ? std : @""), (bad ? bad : @""));
|
||||
NSDebugLLog(@"Pbs", @"%@ availableTypes: %d types available: ",
|
||||
[[self osPb] name], count, types);
|
||||
NSDebugLLog(@"Pbs", @"\t%@\n\t%@\n\t%@\n\t%@",
|
||||
(txt ? (NSString *)txt : @""), (rtf ? (NSString *)rtf : @""), (std ? (NSString *)std : @""), (bad ? (NSString *)bad : @""));
|
||||
|
||||
return types;
|
||||
}
|
||||
|
@ -1257,6 +1267,10 @@ xErrorHandler(Display *d, XErrorEvent *e)
|
|||
{
|
||||
[self setData: md];
|
||||
}
|
||||
else if (actual_type == XG_MIME_PNG)
|
||||
{
|
||||
[self setData: md];
|
||||
}
|
||||
else if (actual_type == XA_ATOM)
|
||||
{
|
||||
// Used when requesting TARGETS to get available types
|
||||
|
@ -1376,6 +1390,11 @@ xErrorHandler(Display *d, XErrorEvent *e)
|
|||
xTypes[numTypes++] = XG_MIME_TIFF;
|
||||
}
|
||||
|
||||
if ([types containsObject: NSPasteboardTypePNG])
|
||||
{
|
||||
xTypes[numTypes++] = XG_MIME_PNG;
|
||||
}
|
||||
|
||||
xType = XA_ATOM;
|
||||
format = 32;
|
||||
data = [NSData dataWithBytes: (const void*)xTypes
|
||||
|
@ -1601,6 +1620,14 @@ xErrorHandler(Display *d, XErrorEvent *e)
|
|||
format = 8;
|
||||
numItems = [data length];
|
||||
}
|
||||
else if ((xEvent->target == XG_MIME_PNG)
|
||||
&& [types containsObject: NSPasteboardTypePNG])
|
||||
{
|
||||
data = [_pb dataForType: NSPasteboardTypePNG];
|
||||
xType = xEvent->target;
|
||||
format = 8;
|
||||
numItems = [data length];
|
||||
}
|
||||
// FIXME: Support more types
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue