Author: gcasa
Date: Fri Dec 16 01:32:36 2016
New Revision: 40267
URL: http://svn.gna.org/viewcvs/gnustep?rev=40267&view=rev
Log:
Add image rep for svg
Added:
libs/gui/branches/svgimagerep/Source/NSBitmapImageRep+SVG.h
libs/gui/branches/svgimagerep/Source/NSBitmapImageRep+SVG.m
Modified:
libs/gui/branches/svgimagerep/Source/GNUmakefile
Modified: libs/gui/branches/svgimagerep/Source/GNUmakefile
URL:
http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/svgimagerep/Source/GNUmakefile?rev=40267&r1=40266&r2=40267&view=diff
==============================================================================
--- libs/gui/branches/svgimagerep/Source/GNUmakefile (original)
+++ libs/gui/branches/svgimagerep/Source/GNUmakefile Fri Dec 16 01:32:36 2016
@@ -59,6 +59,7 @@
NSBitmapImageRep+JPEG.m \
NSBitmapImageRep+PNG.m \
NSBitmapImageRep+PNM.m \
+NSBitmapImageRep+SVG.m \
NSBox.m \
NSBrowser.m \
NSBrowserCell.m \
Added: libs/gui/branches/svgimagerep/Source/NSBitmapImageRep+SVG.h
URL:
http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/svgimagerep/Source/NSBitmapImageRep%2BSVG.h?rev=40267&view=auto
==============================================================================
--- libs/gui/branches/svgimagerep/Source/NSBitmapImageRep+SVG.h (added)
+++ libs/gui/branches/svgimagerep/Source/NSBitmapImageRep+SVG.h Fri Dec 16
01:32:36 2016
@@ -0,0 +1,42 @@
+/*
+ NSBitmapImageRep+SVG.m
+
+ Methods for loading .icns images.
+
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Written by: Gregory Casamento
+ Date: 2008-08-12
+
+ This file is part of the GNUstep GUI Library.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; see the file COPYING.LIB.
+ If not, see <http://www.gnu.org/licenses/> or write to the
+ Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef _NSBitmapImageRep_SVG_H_include
+#define _NSBitmapImageRep_SVG_H_include
+
+#import "AppKit/NSBitmapImageRep.h"
+
+@interface NSBitmapImageRep (SVG)
++ (BOOL) _bitmapIsSVG: (NSData *)imageData;
++ (NSArray*) _imageRepsWithSVGData: (NSData *)imageData;
+- (id) _initBitmapFromSVG: (NSData *)imageData;
+// - (NSData *) _SVGRepresentationWithProperties: (NSDictionary *) properties;
+@end
+
+#endif
Added: libs/gui/branches/svgimagerep/Source/NSBitmapImageRep+SVG.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/gui/branches/svgimagerep/Source/NSBitmapImageRep%2BSVG.m?rev=40267&view=auto
==============================================================================
--- libs/gui/branches/svgimagerep/Source/NSBitmapImageRep+SVG.m (added)
+++ libs/gui/branches/svgimagerep/Source/NSBitmapImageRep+SVG.m Fri Dec 16
01:32:36 2016
@@ -0,0 +1,82 @@
+/*
+ NSBitmapImageRep+SVG.m
+
+ Methods for loading .svg images.
+
+ Copyright (C) 2008 Free Software Foundation, Inc.
+
+ Written by: Gregory Casamento
+ Date: 2016-11-26
+
+ This file is part of the GNUstep GUI Library.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; see the file COPYING.LIB.
+ If not, see <http://www.gnu.org/licenses/> or write to the
+ Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#import "config.h"
+#import "NSBitmapImageRep+SVG.h"
+#import <Foundation/NSByteOrder.h>
+#import <Foundation/NSData.h>
+#import <Foundation/NSException.h>
+#import <Foundation/NSValue.h>
+#import "AppKit/NSGraphics.h"
+#import "GSGuiPrivate.h"
+#include <librsvg-2.0/librsvg/rsvg.h>
+
+#define SVG_HEADER @"SVG"
+#define XML_HEADER @"DOCTYPE"
+
+@implementation NSBitmapImageRep (SVG)
+
++ (BOOL) _bitmapIsSVG: (NSData *)imageData
+{
+ NSString *string = nil;
+
+ /*
+ * If the data is 0, return immediately.
+ */
+ if ([imageData length] < 8)
+ {
+ return NO;
+ }
+
+ /*
+ * Check the beginning of the data for
+ * the string "svg" or "doctype".
+ */
+ string = [NSString stringWithUTF8String:[imageData bytes]];
+ if([string containsString: SVG_HEADER] &&
+ [string containsString: XML_HEADER])
+ {
+ return YES;
+ }
+
+ return NO;
+}
+
++ (NSArray*) _imageRepsWithSVGData: (NSData *)imageData
+{
+ NSMutableArray *array = [NSMutableArray array];
+ return array;
+}
+
+- (id) _initBitmapFromSVG: (NSData *)imageData
+{
+ return nil;
+}
+
+@end
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs