Remove the GSFusedSilica files as they are obsolete now.

The Opal library is a more complete replacement for CoreGraphics.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32251 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Fred Kiefer 2011-02-20 20:10:57 +00:00
parent d83fb0774b
commit c67cd8b4f8
8 changed files with 12 additions and 2122 deletions

View file

@ -1,3 +1,14 @@
2011-02-20 Fred Kiefer <FredKiefer@gmx.de>
* Headers/Additions/GNUstepGUI/GSFusedSilica.h,
* Source/GSFusedSilicaContext.h,
* Source/GSFusedSilicaContext.m,
* Source/GSFusedSilica.m: Remove these files as they are obsolete
now. The Opal library is a more complete replacement for CoreGraphics.
* Source/GNUmakefile,
* Source/DocMakefile,
* Source/NSFont.m: Remove references to GSFusedSilica.
2011-02-20 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSScreen.m,

View file

@ -1,786 +0,0 @@
/** <title>GSFusedSilica</title>
<abstract>C Interface to graphics drawing library</abstract>
Copyright (C) 2002 Free Software Foundation, Inc.
Author: Adam Fedor <fedor@gnu.org>
Date: Sep 2002
This file is part of the GNUStep
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 _GSFusedSilica_h_INCLUDE
#define _GSFusedSilica_h_INCLUDE
#include <unistd.h>
/* ------------------------------------------------------------------------
* Data Types
* ------------------------------------------------------------------------*/
typedef struct CGAffineTransform
{
float a;
float b;
float c;
float d;
float tx;
float ty;
} CGAffineTransform;
typedef struct CGPoint
{
float x;
float y;
} CGPoint;
typedef struct CGSize
{
float width;
float height;
} CGSize;
typedef struct CGRect
{
CGPoint origin;
CGSize size;
} CGRect;
typedef void * CGColorSpaceRef;
typedef void * CGContextRef;
typedef void * CGFontRef;
typedef /*UInt16*/ unsigned int CGGlyph;
typedef void * CGImageRef;
typedef void * CGPatternRef;
typedef void * CGPDFDocumentRef;
typedef void * CGDataConsumerRef;
/* ------------------------------------------------------------------------
* Constants
* ---------------------------------------------------------------------- */
static const CGAffineTransform CGAffineTransformIdentity = {1,0,0,1,0,0};
typedef enum CGColorRenderingIntent
{
kCGRenderingIntentDefault = 0,
kCGRenderingIntentAbsoluteColorimetric = 1,
kCGRenderingIntentRelativeColorimetric = 2,
kCGRenderingIntentPerceptual = 3,
kCGRenderingIntentSaturation = 4
} CGColorRenderingIntent;
typedef enum CGImageAlphaInfo
{
kCGImageAlphaNone = 0,
kCGImageAlphaPremultipliedLast = 1,
kCGImageAlphaPremultipliedFirst = 2,
kCGImageAlphaLast = 3,
kCGImageAlphaFirst = 4,
kCGImageAlphaNoneSkipLast = 5,
kCGImageAlphaNoneSkipFirst = 6
} CGImageAlphaInfo;
typedef enum CGInterpolationQuality
{
kCGInterpolationDefault = 0,
kCGInterpolationNone = 1,
kCGInterpolationLow = 2,
kCGInterpolationHigh = 3
} CGInterpolationQuality;
typedef enum CGLineCap
{
kCGLineCapButt = 0,
kCGLineCapRound = 1,
kCGLineCapSquare = 2
} CGLineCap;
typedef enum CGLineJoin
{
kCGLineJoinMiter = 0,
kCGLineJoinRound = 1,
kCGLineJoinBevel = 2
} CGLineJoin;
typedef enum CGPathDrawingMode
{
kCGPathFill = 0,
kCGPathEOFill = 1,
kCGPathStroke = 2,
kCGPathFillStroke = 3,
kCGPathEOFillStroke = 4
} CGPathDrawingMode;
static const CGPoint CGPointZero = {0,0};
typedef enum CGRectEdge
{
CGRectMinXEdge = 0,
CGRectMinYEdge = 1,
CGRectMaxXEdge = 2,
CGRectMaxYEdge = 3
} CGRectEdge;
static const CGRect CGRectNull = {{-1,-1},{0,0}}; /*FIXME*/
static const CGSize CGSizeZero = {0,0};
static const CGRect CGRectZero = {{0,0},{0,0}};
typedef enum CGTextDrawingMode
{
kCGTextFill = 0,
kCGTextStroke = 1,
kCGTextFillStroke = 2,
kCGTextInvisible = 3,
kCGTextFillClip = 4,
kCGTextStrokeClip = 5,
kCGTextFillStrokeClip = 6,
kCGTextClip = 7
} CGTextDrawingMode;
typedef enum CGTextEncoding
{
kCGEncodingFontSpecific = 0,
kCGEncodingMacRoman = 1
} CGTextEncoding;
/* ------------------------------------------------------------------------
* Callbacks
* ---------------------------------------------------------------------- */
typedef void(*CGGetBytePointerProcPtr)(void *info);
typedef size_t(*CGGetBytesDirectProcPtr)(
void *info,
void *buffer,
size_t offset,
size_t count
);
typedef size_t(*CGGetBytesProcPtr)(void *info, void *buffer, size_t count);
typedef size_t(*CGPutBytesProcPtr)(
void *info,
const void *buffer,
size_t count
);
typedef void(*CGSkipBytesProcPtr)(void *info, size_t count);
typedef void(*CGReleaseByteProcPtr)(void *info, const void *pointer);
typedef void(*CGReleaseConsumerProcPtr)(void *info);
typedef void(*CGReleaseDataProcPtr)(
void *info,
const void *data,
size_t size
);
typedef void(*CGReleaseProviderProcPtr)(void *info);
typedef void(*CGRewindProcPtr)(void *info);
typedef struct CGDataConsumerCallbacks
{
CGPutBytesProcPtr putBytes;
CGReleaseConsumerProcPtr releaseConsumer;
} CGDataConsumerCallbacks;
typedef void * CGDataProviderRef;
typedef struct CGDataProviderCallbacks
{
CGGetBytesProcPtr getBytes;
CGSkipBytesProcPtr skipBytes;
CGRewindProcPtr rewind;
CGReleaseProviderProcPtr releaseProvider;
} CGDataProviderCallbacks;
typedef struct CGDataProviderDirectAccessCallbacks
{
CGGetBytePointerProcPtr getBytePointer;
CGReleaseByteProcPtr releaseBytePointer;
CGGetBytesDirectProcPtr getBytes;
CGReleaseProviderProcPtr releaseProvider;
} CGDataProviderDirectAccessCallbacks;
/* ------------------------------------------------------------------------
* Functions
* ---------------------------------------------------------------------- */
/* Managing Graphics Contexts */
CGContextRef CGBitmapContextCreate(
void *data,
size_t width,
size_t height,
size_t bitsPerComponent,
size_t bytesPerRow,
CGColorSpaceRef colorspace,
CGImageAlphaInfo alphaInfo
);
/*
CGContextRef CGPDFContextCreate(
CGDataConsumerRef consumer,
const CGRect *mediaBox,
CFDictionaryRef auxiliaryInfo
);
CGContextRef CGPDFContextCreateWithURL(
CFURLRef url,
const CGRect *mediaBox,
CFDictionaryRef auxiliaryInfo
);
*/
CGContextRef CGContextRetain(CGContextRef ctx);
void CGContextRelease(CGContextRef ctx);
void CGContextFlush(CGContextRef ctx);
void CGContextSynchronize(CGContextRef ctx);
/* Defining Pages */
void CGContextBeginPage(CGContextRef ctx, const CGRect *mediaBox);
void CGContextEndPage(CGContextRef ctx);
/* Transforming the Coordinate Space of the Page */
void CGContextScaleCTM(CGContextRef ctx, float sx, float sy);
void CGContextTranslateCTM(CGContextRef ctx, float tx, float ty);
void CGContextRotateCTM(CGContextRef ctx, float angle);
void CGContextConcatCTM(CGContextRef ctx, CGAffineTransform transform);
CGAffineTransform CGContextGetCTM(CGContextRef ctx);
/* Saving and Restoring the Graphics State */
void CGContextSaveGState(CGContextRef ctx);
void CGContextRestoreGState(CGContextRef ctx);
/* Setting Graphics State Attributes */
void CGContextSetShouldAntialias(CGContextRef ctx, int shouldAntialias);
void CGContextSetLineWidth(CGContextRef ctx, float width);
void CGContextSetLineJoin(CGContextRef ctx, CGLineJoin join);
void CGContextSetMiterLimit(CGContextRef ctx, float limit);
void CGContextSetLineCap(CGContextRef ctx, CGLineCap cap);
void CGContextSetLineDash(CGContextRef ctx, float phase, const float *lengths, size_t count);
void CGContextSetFlatness(CGContextRef ctx, float flatness);
/* Constructing Paths */
void CGContextBeginPath(CGContextRef ctx);
void CGContextMoveToPoint(CGContextRef ctx, float x, float y);
void CGContextAddLineToPoint(CGContextRef ctx, float x, float y);
void CGContextAddLines(CGContextRef ctx, const CGPoint *points, size_t count);
void CGContextAddCurveToPoint(
CGContextRef ctx,
float cp1x,
float cp1y,
float cp2x,
float cp2y,
float x,
float y
);
void CGContextAddQuadCurveToPoint(
CGContextRef ctx,
float cpx,
float cpy,
float x,
float y
);
void CGContextAddRect(CGContextRef ctx, CGRect rect);
void CGContextAddRects(CGContextRef ctx, const CGRect *rects, size_t count);
void CGContextAddArc(
CGContextRef ctx,
float x,
float y,
float radius,
float startAngle,
float endAngle,
int clockwise
);
void CGContextAddArcToPoint(
CGContextRef ctx,
float x1,
float y1,
float x2,
float y2,
float radius
);
void CGContextClosePath(CGContextRef ctx);
/* Painting Paths */
void CGContextDrawPath(CGContextRef ctx, CGPathDrawingMode mode);
void CGContextStrokePath(CGContextRef ctx);
void CGContextFillPath(CGContextRef ctx);
void CGContextEOFillPath(CGContextRef ctx);
void CGContextStrokeRect(CGContextRef ctx, CGRect rect);
void CGContextStrokeRectWithWidth(CGContextRef ctx, CGRect rect, float width);
void CGContextFillRect(CGContextRef ctx, CGRect rect);
void CGContextFillRects(CGContextRef ctx, const CGRect *rects, size_t count);
void CGContextClearRect(CGContextRef c, CGRect rect);
/* Obtaining Path Information */
int CGContextIsPathEmpty(CGContextRef ctx);
CGPoint CGContextGetPathCurrentPoint(CGContextRef ctx);
CGRect CGContextGetPathBoundingBox(CGContextRef ctx);
/* Clipping Paths */
void CGContextClip(CGContextRef ctx);
void CGContextEOClip(CGContextRef ctx);
void CGContextClipToRect(CGContextRef ctx, CGRect rect);
void CGContextClipToRects(CGContextRef ctx, const CGRect *rects, size_t count);
/* Setting the Color Space */
CGColorSpaceRef CGColorSpaceCreateDeviceGray(void);
CGColorSpaceRef CGColorSpaceCreateDeviceRGB(void);
CGColorSpaceRef CGColorSpaceCreateDeviceCMYK(void);
CGColorSpaceRef CGColorSpaceCreateCalibratedGray(
const float *whitePoint,
const float *blackPoint,
float gamma
);
CGColorSpaceRef CGColorSpaceCreateCalibratedRGB(
const float *whitePoint,
const float *blackPoint,
const float *gamma,
const float *matrix
);
CGColorSpaceRef CGColorSpaceCreateLab(
const float *whitePoint,
const float *blackPoint,
const float *range
);
CGColorSpaceRef CGColorSpaceCreateICCBased(
size_t nComponents,
const float *range,
CGDataProviderRef profile,
CGColorSpaceRef alternateSpace
);
CGColorSpaceRef CGColorSpaceCreateIndexed(
CGColorSpaceRef baseSpace,
size_t lastIndex,
const /*UInt8*/ unsigned short int *colorTable
);
size_t CGColorSpaceGetNumberOfComponents(CGColorSpaceRef cs);
CGColorSpaceRef CGColorSpaceRetain(CGColorSpaceRef cs);
void CGColorSpaceRelease(CGColorSpaceRef cs);
void CGContextSetFillColorSpace(CGContextRef ctx, CGColorSpaceRef colorspace);
void CGContextSetStrokeColorSpace(CGContextRef ctx, CGColorSpaceRef colorspace);
void CGContextSetRenderingIntent(CGContextRef c, CGColorRenderingIntent intent);
/* Setting Colors */
void CGContextSetFillColor(CGContextRef ctx, const float *value);
void CGContextSetStrokeColor(CGContextRef ctx, const float *value);
void CGContextSetGrayFillColor(CGContextRef ctx, float gray, float alpha);
void CGContextSetGrayStrokeColor(CGContextRef ctx, float gray, float alpha);
void CGContextSetRGBFillColor(
CGContextRef ctx,
float r,
float g,
float b,
float alpha
);
void CGContextSetRGBStrokeColor(
CGContextRef ctx,
float r,
float g,
float b,
float alpha
);
void CGContextSetCMYKFillColor(
CGContextRef ctx,
float c,
float m,
float y,
float k,
float alpha
);
void CGContextSetCMYKStrokeColor(
CGContextRef ctx,
float c,
float m,
float y,
float k,
float alpha
);
void CGContextSetAlpha(CGContextRef ctx, float alpha);
/* Drawing Images */
CGImageRef CGImageCreate(
size_t width,
size_t height,
size_t bitsPerComponent,
size_t bitsPerPixel,
size_t bytesPerRow,
CGColorSpaceRef colorspace,
CGImageAlphaInfo alphaInfo,
CGDataProviderRef provider,
const float *decode,
int shouldInterpolate,
CGColorRenderingIntent intent
);
CGImageRef CGImageMaskCreate(
size_t width,
size_t height,
size_t bitsPerComponent,
size_t bitsPerPixel,
size_t bytesPerRow,
CGDataProviderRef provider,
const float *decode,
int shouldInterpolate
);
CGImageRef CGImageRetain(CGImageRef image);
void CGImageRelease(CGImageRef image);
int CGImageIsMask(CGImageRef image);
size_t CGImageGetWidth(CGImageRef image);
size_t CGImageGetHeight(CGImageRef image);
size_t CGImageGetBitsPerComponent(CGImageRef image);
size_t CGImageGetBitsPerPixel(CGImageRef image);
size_t CGImageGetBytesPerRow(CGImageRef image);
CGColorSpaceRef CGImageGetColorSpace(CGImageRef image);
CGImageAlphaInfo CGImageGetAlphaInfo(CGImageRef image);
CGDataProviderRef CGImageGetDataProvider(CGImageRef image);
const float *CGImageGetDecode(CGImageRef image);
int CGImageGetShouldInterpolate(CGImageRef image);
CGColorRenderingIntent CGImageGetRenderingIntent(CGImageRef image);
void CGContextDrawImage(CGContextRef ctx, CGRect rect, CGImageRef image);
/* Drawing PDF Documents */
CGPDFDocumentRef CGPDFDocumentCreateWithProvider(CGDataProviderRef provider);
/* CGPDFDocumentRef CGPDFDocumentCreateWithURL(CFURLRef url); */
CGPDFDocumentRef CGPDFDocumentRetain(CGPDFDocumentRef document);
void CGPDFDocumentRelease(CGPDFDocumentRef document);
int CGPDFDocumentGetNumberOfPages(CGPDFDocumentRef document);
CGRect CGPDFDocumentGetMediaBox(CGPDFDocumentRef document, int page);
CGRect CGPDFDocumentGetCropBox(CGPDFDocumentRef document, int page);
CGRect CGPDFDocumentGetBleedBox(CGPDFDocumentRef document, int page);
CGRect CGPDFDocumentGetTrimBox(CGPDFDocumentRef document, int page);
CGRect CGPDFDocumentGetArtBox(CGPDFDocumentRef document, int page);
int CGPDFDocumentGetRotationAngle(CGPDFDocumentRef document, int page);
void CGContextDrawPDFDocument(
CGContextRef ctx,
CGRect rect,
CGPDFDocumentRef document,
int page
);
/* Drawing Text */
CGFontRef CGFontCreateWithPlatformFont(void *platformFontReference);
void CGContextSelectFont(
CGContextRef ctx,
const char *name,
float size,
CGTextEncoding textEncoding
);
void CGContextSetFont(CGContextRef ctx, CGFontRef font);
void CGContextSetFontSize(CGContextRef ctx, float size);
CGFontRef CGFontRetain(CGFontRef font);
void CGFontRelease(CGFontRef font);
void CGContextSetCharacterSpacing(CGContextRef ctx, float spacing);
void CGContextSetTextDrawingMode(CGContextRef ctx, CGTextDrawingMode mode);
void CGContextSetTextPosition(CGContextRef ctx, float x, float y);
CGPoint CGContextGetTextPosition(CGContextRef ctx);
void CGContextSetTextMatrix(CGContextRef ctx, CGAffineTransform transform);
CGAffineTransform CGContextGetTextMatrix(CGContextRef ctx);
void CGContextShowText(CGContextRef ctx, const char *cstring, size_t length);
void CGContextShowGlyphs(CGContextRef ctx, const CGGlyph *g, size_t count);
void CGContextShowTextAtPoint(
CGContextRef ctx,
float x,
float y,
const char *cstring,
size_t length
);
void CGContextShowGlyphsAtPoint(
CGContextRef ctx,
float x,
float y,
const CGGlyph *g,
size_t count
);
/* Passing Data */
CGDataConsumerRef CGDataConsumerCreate(
void *info,
const CGDataConsumerCallbacks *callbacks
);
/* CGDataConsumerRef CGDataConsumerCreateWithURL(CFURLRef url); */
CGDataConsumerRef CGDataConsumerRetain(CGDataConsumerRef consumer);
void CGDataConsumerRelease(CGDataConsumerRef consumer);
CGDataProviderRef CGDataProviderCreate(
void *info,
const CGDataProviderCallbacks *callbacks
);
CGDataProviderRef CGDataProviderCreateDirectAccess(
void *info,
size_t size,
const CGDataProviderDirectAccessCallbacks *callbacks
);
CGDataProviderRef CGDataProviderCreateWithData(
void *info,
const void *data,
size_t size,
int releaseData
);
/* CGDataProviderRef CGDataProviderCreateWithURL(CFURLRef url); */
CGDataProviderRef CGDataProviderRetain(CGDataProviderRef provider);
void CGDataProviderRelease(CGDataProviderRef provider);
/* Modifying Geometric Forms */
CGPoint CGPointMake(float x, float y);
CGSize CGSizeMake(float width, float height);
CGRect CGRectMake(
float x,
float y,
float width,
float height
);
CGRect CGRectStandardize(CGRect rect);
CGRect CGRectInset(CGRect rect, float dx, float dy);
CGRect CGRectOffset(CGRect rect, float dx, float dy);
CGRect CGRectIntegral(CGRect rect);
CGRect CGRectUnion(CGRect r1, CGRect r2);
CGRect CGRectIntersection(CGRect r1, CGRect r2);
void CGRectDivide(
CGRect rect,
CGRect *slice,
CGRect *remainder,
float amount,
CGRectEdge edge
);
/* Accessing Geometric Attributes */
float CGRectGetMinX(CGRect rect);
float CGRectGetMidX(CGRect rect);
float CGRectGetMaxX(CGRect rect);
float CGRectGetMinY(CGRect rect);
float CGRectGetMidY(CGRect rect);
float CGRectGetMaxY(CGRect rect);
float CGRectGetWidth(CGRect rect);
float CGRectGetHeight(CGRect rect);
int CGRectIsNull(CGRect rect);
int CGRectIsEmpty(CGRect rect);
int CGRectIntersectsRect(CGRect rect1, CGRect rect2);
int CGRectContainsRect(CGRect rect1, CGRect rect2);
int CGRectContainsPoint(CGRect rect, CGPoint point);
int CGRectEqualToRect(CGRect rect1, CGRect rect2);
int CGSizeEqualToSize(CGSize size1, CGSize size2);
int CGPointEqualToPoint(CGPoint point1, CGPoint point2);
/* Affine Transform Utility Functions */
CGAffineTransform CGAffineTransformMake(
float a,
float b,
float c,
float d,
float tx,
float ty
);
CGAffineTransform CGAffineTransformMakeTranslation(float tx, float ty);
CGAffineTransform CGAffineTransformMakeScale(float sx, float sy);
CGAffineTransform CGAffineTransformMakeRotation(float angle);
CGAffineTransform CGAffineTransformTranslate(
CGAffineTransform t,
float tx,
float ty
);
CGAffineTransform CGAffineTransformScale(
CGAffineTransform t,
float sx,
float sy
);
CGAffineTransform CGAffineTransformRotate(CGAffineTransform t, float angle);
CGAffineTransform CGAffineTransformInvert(CGAffineTransform t);
CGAffineTransform CGAffineTransformConcat(
CGAffineTransform t1,
CGAffineTransform t2
);
CGPoint CGPointApplyAffineTransform(CGPoint point, CGAffineTransform t);
CGSize CGSizeApplyAffineTransform(CGSize size, CGAffineTransform t);
#endif

View file

@ -149,7 +149,6 @@ NSWorkspace.h
AUTOGSDOC_HEADERS_GUIADD = \
GSDisplayServer.h \
GSTheme.h \
GSFusedSilica.h \
GSTable.h \
GSHbox.h \
GSVbox.h \

View file

@ -189,8 +189,6 @@ NSWindowController.m \
NSWorkspace.m \
GSAnimator.m \
GSDisplayServer.m \
GSFusedSilica.m \
GSFusedSilicaContext.m \
GSHelpManagerPanel.m \
GSInfoPanel.m \
GSMemoryPanel.m \
@ -424,7 +422,6 @@ GSHelpManagerPanel.h \
GSGormLoading.h \
GSNibContainer.h \
GSDisplayServer.h \
GSFusedSilica.h \
GSTable.h \
GSHbox.h \
GSVbox.h \

File diff suppressed because it is too large Load diff

View file

@ -1,70 +0,0 @@
/** <title>GSFusedSilicaContext</title>
<abstract>Extention to NSGraphicsContext for necessary methods</abstract>
Copyright (C) 2002 Free Software Foundation, Inc.
Author: Adam Fedor <fedor@gnu.org>
Date: Oct 2002
This file is part of the GNUStep
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 _GSFusedSilicaContext_h_INCLUDE
#define _GSFusedSilicaContext_h_INCLUDE
#import "AppKit/NSGraphicsContext.h"
#import "GNUstepGUI/GSFusedSilica.h"
@interface NSGraphicsContext (FusedSilica)
/* Colorspaces */
+ (CGColorSpaceRef) CGColorSpaceCreateDeviceGray;
+ (CGColorSpaceRef) CGColorSpaceCreateDeviceRGB;
+ (CGColorSpaceRef) CGColorSpaceCreateDeviceCMYK;
+ (CGColorSpaceRef) CGColorSpaceCreateCalibratedGray: (const float *)whitePoint
: (const float *)blackPoint
: (float)gamma;
+ (CGColorSpaceRef) CGColorSpaceCreateCalibratedRGB: (const float *)whitePoint
: (const float *)blackPoint
: (const float *)gamma
: (const float *)matrix;
+ (CGColorSpaceRef) CGColorSpaceCreateLab: (const float *)whitePoint
: (const float *)blackPoint
: (const float *)range;
+ (CGColorSpaceRef) CGColorSpaceCreateICCBased: (size_t)nComponents
: (const float *)range
: (CGDataProviderRef)profile
: (CGColorSpaceRef)alternateSpace;
+ (CGColorSpaceRef) CGColorSpaceCreateIndexed: (CGColorSpaceRef)baseSpace
: (size_t) lastIndex
: (const unsigned short int *)colorTable;
+ (size_t) CGColorSpaceGetNumberOfComponents: (CGColorSpaceRef)cs;
+ (CGColorSpaceRef) CGColorSpaceRetain: (CGColorSpaceRef)cs;
+ (void) CGColorSpaceRelease: (CGColorSpaceRef)cs;
/* Fonts */
+ (CGFontRef) CGFontReferenceFromFont: (NSFont *)font;
+ (CGFontRef) CGFontRetain: (CGFontRef) font;
+ (void) CGFontRelease: (CGFontRef) font;
@end
#endif

View file

@ -1,165 +0,0 @@
/** <title>GSFusedSilicaContext</title>
<abstract>Extention to NSGraphicsContext for necessary methods</abstract>
Copyright (C) 2002 Free Software Foundation, Inc.
Author: Adam Fedor <fedor@gnu.org>
Date: Oct 2002
This file is part of the GNUStep
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 <Foundation/NSData.h>
#import <Foundation/NSDictionary.h>
#import <Foundation/NSValue.h>
#import "AppKit/NSGraphics.h"
#import "GNUstepGUI/GSFontInfo.h"
#import "GSFusedSilicaContext.h"
#define NUMBER(num) \
[NSNumber numberWithInt: num]
#define FLOAT_ARRAY(ptr, count) \
[NSData dataWithBytes: ptr length: count*sizeof(float)]
@implementation NSGraphicsContext (FusedSilica)
/* Colorspaces */
+ (CGColorSpaceRef) CGColorSpaceCreateDeviceGray
{
NSMutableDictionary *space;
space = [NSMutableDictionary dictionaryWithObject: NSDeviceWhiteColorSpace
forKey: GSColorSpaceName];
[space setObject: NUMBER(1) forKey: GSColorSpaceComponents];
return space;
}
+ (CGColorSpaceRef) CGColorSpaceCreateDeviceRGB
{
NSMutableDictionary *space;
space = [NSMutableDictionary dictionaryWithObject: NSDeviceRGBColorSpace
forKey: GSColorSpaceName];
[space setObject: NUMBER(3) forKey: GSColorSpaceComponents];
return space;
}
+ (CGColorSpaceRef) CGColorSpaceCreateDeviceCMYK
{
NSMutableDictionary *space;
space = [NSMutableDictionary dictionaryWithObject: NSDeviceCMYKColorSpace
forKey: GSColorSpaceName];
[space setObject: NUMBER(4) forKey: GSColorSpaceComponents];
return space;
}
+ (CGColorSpaceRef) CGColorSpaceCreateCalibratedGray: (const float *)whitePoint
: (const float *)blackPoint
: (float)gamma
{
NSMutableDictionary *space;
space = [NSMutableDictionary dictionaryWithObject: NSCalibratedWhiteColorSpace
forKey: GSColorSpaceName];
[space setObject: FLOAT_ARRAY(whitePoint, 3) forKey: GSColorSpaceWhitePoint];
[space setObject: FLOAT_ARRAY(blackPoint, 3) forKey: GSColorSpaceBlackPoint];
[space setObject: NUMBER(1) forKey: GSColorSpaceComponents];
return space;
}
+ (CGColorSpaceRef) CGColorSpaceCreateCalibratedRGB: (const float *)whitePoint
: (const float *)blackPoint
: (const float *)gamma
: (const float *)matrix
{
NSMutableDictionary *space;
space = [NSMutableDictionary dictionaryWithObject: NSCalibratedRGBColorSpace
forKey: GSColorSpaceName];
[space setObject: FLOAT_ARRAY(whitePoint, 3) forKey: GSColorSpaceWhitePoint];
[space setObject: FLOAT_ARRAY(blackPoint, 3) forKey: GSColorSpaceBlackPoint];
[space setObject: FLOAT_ARRAY(gamma, 3) forKey: GSColorSpaceGamma];
[space setObject: FLOAT_ARRAY(matrix, 9) forKey: GSColorSpaceMatrix];
[space setObject: NUMBER(3) forKey: GSColorSpaceComponents];
return space;
}
+ (CGColorSpaceRef) CGColorSpaceCreateLab: (const float *)whitePoint
: (const float *)blackPoint
: (const float *) range
{
NSMutableDictionary *space;
space = [NSMutableDictionary dictionaryWithObject: @"NSLabColorSpace"
forKey: GSColorSpaceName];
[space setObject: FLOAT_ARRAY(whitePoint, 3) forKey: GSColorSpaceWhitePoint];
[space setObject: FLOAT_ARRAY(blackPoint, 3) forKey: GSColorSpaceBlackPoint];
[space setObject: FLOAT_ARRAY(range, 4) forKey: GSColorSpaceRange];
[space setObject: NUMBER(3) forKey: GSColorSpaceComponents];
return space;
}
+ (CGColorSpaceRef) CGColorSpaceCreateICCBased: (size_t) nComponents
: (const float *)range
: (CGDataProviderRef)profile
: (CGColorSpaceRef)alternateSpace
{
//FIXME
return nil;
}
+ (CGColorSpaceRef) CGColorSpaceCreateIndexed: (CGColorSpaceRef)baseSpace
: (size_t)lastIndex
: (const unsigned short int *)colorTable
{
//FIXME
return nil;
}
+ (size_t) CGColorSpaceGetNumberOfComponents: (CGColorSpaceRef)cs
{
return [[(NSDictionary *)cs objectForKey: GSColorSpaceComponents] intValue];
}
+ (CGColorSpaceRef) CGColorSpaceRetain: (CGColorSpaceRef)cs
{
return [(NSDictionary *)cs retain];
}
+ (void) CGColorSpaceRelease: (CGColorSpaceRef)cs
{
[(NSDictionary *)cs release];
}
/* Fonts */
+ (CGFontRef) CGFontReferenceFromFont: (NSFont *)font
{
return [font fontInfo];
}
+ (CGFontRef) CGFontRetain: (CGFontRef) font
{
return [(GSFontInfo *)font retain];
}
+ (void) CGFontRelease: (CGFontRef) font
{
[(GSFontInfo *)font release];
}
@end

View file

@ -45,7 +45,6 @@
#import "AppKit/NSFontManager.h"
#import "AppKit/NSView.h"
#import "GNUstepGUI/GSFontInfo.h"
#import "GSFusedSilicaContext.h"
@interface NSFont (Private)
@ -1492,7 +1491,7 @@ static BOOL flip_hack;
- (void *) fontRef
{
if (_fontRef == nil)
_fontRef = [NSGraphicsContext CGFontReferenceFromFont: self];
_fontRef = fontInfo;
return _fontRef;
}