X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/8c74a125c85da08e34dceedb271b71b5f09ce690..a5128e3ded506a54619177d9a7c95d58463baace:/src/nsimage.m diff --git a/src/nsimage.m b/src/nsimage.m index 1479294948..6b68072b87 100644 --- a/src/nsimage.m +++ b/src/nsimage.m @@ -1,6 +1,6 @@ /* Image support for the NeXT/Open/GNUstep and MacOSX window system. - Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2012 - Free Software Foundation, Inc. + Copyright (C) 1989, 1992-1994, 2005-2006, 2008-2014 Free Software + Foundation, Inc. This file is part of GNU Emacs. @@ -28,7 +28,6 @@ GNUstep port and post-20 update by Adrian Robert (arobert@cogsci.ucsd.edu) /* This should be the first include, as it may set up #defines affecting interpretation of even the system includes. */ #include -#include #include "lisp.h" #include "dispextern.h" @@ -79,7 +78,7 @@ ns_image_from_file (Lisp_Object file) return [EmacsImage allocInitFromFile: file]; } -int +bool ns_load_image (struct frame *f, struct image *img, Lisp_Object spec_file, Lisp_Object spec_data) { @@ -302,7 +301,7 @@ static EmacsImage *ImageList = nil; [bmRep release]; return nil; } -#define hexchar(x) (isdigit (x) ? x - '0' : x - 'a' + 10) +#define hexchar(x) ('0' <= (x) && (x) <= '9' ? (x) - '0' : (x) - 'a' + 10) s1 = *s++; s2 = *s++; c = hexchar (s1) * 0x10 + hexchar (s2); @@ -335,7 +334,7 @@ static EmacsImage *ImageList = nil; { NSSize s = [self size]; unsigned char *planes[5]; - CGFloat r, g, b, a; + EmacsCGFloat r, g, b, a; NSColor *rgbColor; if (bmRep == nil || color == nil) @@ -404,7 +403,6 @@ static EmacsImage *ImageList = nil; if ([rep respondsToSelector: @selector (getBitmapDataPlanes:)]) { bmRep = (NSBitmapImageRep *) rep; - onTiger = [bmRep respondsToSelector: @selector (colorAtX:y:)]; if ([bmRep numberOfPlanes] >= 3) [bmRep getBitmapDataPlanes: pixmapData]; @@ -436,17 +434,16 @@ static EmacsImage *ImageList = nil; | (pixmapData[0][loc] << 16) | (pixmapData[1][loc] << 8) | (pixmapData[2][loc]); } - else if (onTiger) + else { NSColor *color = [bmRep colorAtX: x y: y]; - CGFloat r, g, b, a; + EmacsCGFloat r, g, b, a; [color getRed: &r green: &g blue: &b alpha: &a]; return ((int)(a * 255.0) << 24) | ((int)(r * 255.0) << 16) | ((int)(g * 255.0) << 8) | ((int)(b * 255.0)); } - return 0; } - (void) setPixelAtX: (int)x Y: (int)y toRed: (unsigned char)r @@ -464,7 +461,7 @@ static EmacsImage *ImageList = nil; pixmapData[2][loc] = b; pixmapData[3][loc] = a; } - else if (onTiger) + else { [bmRep setColor: [NSColor colorWithCalibratedRed: (r/255.0) green: (g/255.0) @@ -484,7 +481,7 @@ static EmacsImage *ImageList = nil; pixmapData[3][loc] = a; } - else if (onTiger) + else { NSColor *color = [bmRep colorAtX: x y: y]; color = [color colorWithAlphaComponent: (a / 255.0)]; @@ -501,4 +498,3 @@ static EmacsImage *ImageList = nil; } @end -