- add FreeBSD targets to all frameworks

- brought X11 back to current for Darwin and FreeBSD
- removed CairoCacheImage, added O2Surface_cairo
- separated TTFFont into O2FontState_cairo/O2Font_FT/TTFFont
- renamed CairoContext O2Context_cairo
- added O2Context_builtin_FT which implements Onyx2D+FreeType
- moved font queries to X11Display
- added NSPlatform_bsd.m to AppKit
- encoding change/fix(?) in NSColor.m
- moved showText: into abstract class O2Context from _gdi classes
- fix for ObjCModule.m to get executable path
This commit is contained in:
Christopher Lloyd 2009-12-16 19:27:00 +00:00
parent 4e9c27c4cc
commit c3dead2920
53 changed files with 5782 additions and 689 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>

View File

@ -111,7 +111,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
// NSCustomColorSpace NSColorSpace
NSUInteger length;
const uint8_t *rgb=[keyed decodeBytesForKey:@"NSRGB" returnedLength:&length];
NSString *string=[NSString stringWithCString:rgb length:length];
NSString *string=[[[NSString alloc] initWithBytes:rgb length:length encoding:NSUTF8StringEncoding] autorelease];
NSArray *components=[string componentsSeparatedByString:@" "];
float values[4]={0,0,0,1};
int i,count=[components count];
@ -126,7 +126,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
case 2:{
NSUInteger length;
const uint8_t *rgb=[keyed decodeBytesForKey:@"NSRGB" returnedLength:&length];
NSString *string=[NSString stringWithCString:rgb length:length];
NSString *string=[[[NSString alloc] initWithBytes:rgb length:length encoding:NSUTF8StringEncoding] autorelease];
NSArray *components=[string componentsSeparatedByString:@" "];
float values[4]={0,0,0,1};
int i,count=[components count];
@ -141,7 +141,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
case 3:{
NSUInteger length;
const uint8_t *white=[keyed decodeBytesForKey:@"NSWhite" returnedLength:&length];
NSString *string=[NSString stringWithCString:white length:length-1];
NSString *string=[[[NSString alloc] initWithBytes:white length:length encoding:NSUTF8StringEncoding] autorelease];
NSArray *components=[string componentsSeparatedByString:@" "];
float values[2]={0,1};
int i,count=[components count];
@ -156,7 +156,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
case 4:{
NSUInteger length;
const uint8_t *white=[keyed decodeBytesForKey:@"NSWhite" returnedLength:&length];
NSString *string=[NSString stringWithCString:white length:length];
NSString *string=[[[NSString alloc] initWithBytes:white length:length encoding:NSUTF8StringEncoding] autorelease];
NSArray *components=[string componentsSeparatedByString:@" "];
float values[2]={0,1};
int i,count=[components count];
@ -173,7 +173,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
// NSCustomColorSpace NSColorSpace
NSUInteger length;
const uint8_t *cmyk=[keyed decodeBytesForKey:@"NSCMYK" returnedLength:&length];
NSString *string=[NSString stringWithCString:cmyk length:length];
NSString *string=[[[NSString alloc] initWithBytes:cmyk length:length-1 encoding:NSUTF8StringEncoding] autorelease];
NSArray *components=[string componentsSeparatedByString:@" "];
float values[5]={0,0,0,0,1};
int i,count=[components count];

View File

@ -13,8 +13,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
@implementation NSColorPickerColorList
- (id)initWithPickerMask:(int)mask colorPanel:(NSColorPanel *)colorPanel
{
-initWithPickerMask:(NSUInteger)mask colorPanel:(NSColorPanel *)colorPanel {
NSEnumerator *colorListsEnumerator = [[NSColorList availableColorLists] objectEnumerator];
NSColorList *colorList;

View File

@ -12,7 +12,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
@implementation NSColorPickerSliders
-initWithPickerMask:(int)mask colorPanel:(NSColorPanel *)colorPanel {
-initWithPickerMask:(NSUInteger)mask colorPanel:(NSColorPanel *)colorPanel {
[super initWithPickerMask:mask colorPanel:colorPanel];
NSSize size=[_grayscaleConstantsMatrix cellSize];

View File

@ -13,6 +13,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
#import <AppKit/NSColor.h>
#import <AppKit/NSImage.h>
#import <AppKit/NSMenuView.h>
#import <AppKit/NSToolbarView.h>
// FIX, the border stuff should probably be moved into a sheet background view or somesuch

View File

@ -20,10 +20,6 @@ static inline O2GState *currentState(O2Context *self){
return [self->_stateStack lastObject];
}
static inline BOOL transformIsFlipped(O2AffineTransform matrix){
return (matrix.d<0)?YES:NO;
}
-initWithSurface:(O2Surface *)surface flipped:(BOOL)flipped {
[super initWithSurface:surface flipped:flipped];
if([[self surface] isKindOfClass:[O2Surface_DIBSection class]])
@ -103,15 +99,4 @@ static inline BOOL transformIsFlipped(O2AffineTransform matrix){
currentState(self)->_textTransform.ty+=0;
}
-(void)showText:(const char *)text length:(unsigned)length {
O2Glyph *encoding=[currentState(self) glyphTableForTextEncoding];
O2Glyph glyphs[length];
int i;
for(i=0;i<length;i++)
glyphs[i]=encoding[(uint8_t)text[i]];
[self showGlyphs:glyphs count:length];
}
@end

View File

@ -349,16 +349,6 @@ static inline O2GState *currentState(O2Context *self){
currentState(self)->_textTransform.ty+=0;
}
-(void)showText:(const char *)text length:(unsigned)length {
O2Glyph *encoding=[currentState(self) glyphTableForTextEncoding];
O2Glyph glyphs[length];
int i;
for(i=0;i<length;i++)
glyphs[i]=encoding[(uint8_t)text[i]];
[self showGlyphs:glyphs count:length];
}
// The problem is that the GDI gradient fill is a linear/stitched filler and the
// Mac one is a sampling one. So to preserve color variation we stitch together a lot of samples
@ -1060,7 +1050,7 @@ static void zeroBytes(void *bytes,int size){
}
#endif
-(void)drawImage:(O2Image *)image inRect:(NSRect)rect {
-(void)drawImage:(O2Image *)image inRect:(O2Rect)rect {
O2AffineTransform transformToDevice=O2ContextGetUserSpaceToDeviceSpaceTransform(self);
O2GState *gState=currentState(self);
O2ClipPhase *phase=[[gState clipPhases] lastObject];

View File

@ -13,18 +13,13 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
@class NSEvent;
typedef enum {
Win32BackingStoreRetained=0,
Win32BackingStoreNonretained=1,
Win32BackingStoreBuffered=2
} Win32BackingStoreType;
@interface Win32Window : CGWindow {
HWND _handle;
NSSize _size;
O2Context *_cgContext;
Win32BackingStoreType _backingType;
CGSBackingStoreType _backingType;
O2Context *_backingContext;
BOOL _isLayered;
@ -38,7 +33,7 @@ typedef enum {
NSMutableDictionary *_deviceDictionary;
}
-initWithFrame:(NSRect)frame styleMask:(unsigned)styleMask isPanel:(BOOL)isPanel backingType:(Win32BackingStoreType)backingType;
-initWithFrame:(NSRect)frame styleMask:(unsigned)styleMask isPanel:(BOOL)isPanel backingType:(CGSBackingStoreType)backingType;
-(void)setDelegate:delegate;
-delegate;

View File

@ -144,7 +144,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
return rect;
}
-initWithFrame:(NSRect)frame styleMask:(unsigned)styleMask isPanel:(BOOL)isPanel backingType:(Win32BackingStoreType)backingType {
-initWithFrame:(NSRect)frame styleMask:(unsigned)styleMask isPanel:(BOOL)isPanel backingType:(CGSBackingStoreType)backingType {
_styleMask=styleMask;
_isPanel=isPanel;
_isLayered=NO;
@ -169,7 +169,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
_backingType=backingType;
if([[NSUserDefaults standardUserDefaults] boolForKey:@"NSAllWindowsRetained"])
_backingType=Win32BackingStoreRetained;
_backingType=CGSBackingStoreRetained;
_backingContext=nil;
@ -231,12 +231,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
-(O2Context *)cgContext {
switch(_backingType){
case Win32BackingStoreRetained:
case Win32BackingStoreNonretained:
case CGSBackingStoreRetained:
case CGSBackingStoreNonretained:
default:
return [self createCGContextIfNeeded];
case Win32BackingStoreBuffered:
case CGSBackingStoreBuffered:
return [self createBackingCGContextIfNeeded];
}
}
@ -356,11 +356,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
else {
switch(_backingType){
case Win32BackingStoreRetained:
case Win32BackingStoreNonretained:
case CGSBackingStoreRetained:
case CGSBackingStoreNonretained:
break;
case Win32BackingStoreBuffered:
case CGSBackingStoreBuffered:
if(_backingContext!=nil)
[_cgContext drawBackingContext:_backingContext size:_size];
break;
@ -438,11 +438,11 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
switch(_backingType){
case Win32BackingStoreRetained:
case Win32BackingStoreNonretained:
case CGSBackingStoreRetained:
case CGSBackingStoreNonretained:
break;
case Win32BackingStoreBuffered:
case CGSBackingStoreBuffered:
[_delegate platformWindow:self needsDisplayInRect:NSZeroRect];
break;
}
@ -468,14 +468,14 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
switch(_backingType){
case Win32BackingStoreRetained:
case Win32BackingStoreNonretained:
case CGSBackingStoreRetained:
case CGSBackingStoreNonretained:
BeginPaint([self windowHandle],&paintStruct);
[_delegate platformWindow:self needsDisplayInRect:NSZeroRect];
EndPaint([self windowHandle],&paintStruct);
break;
case Win32BackingStoreBuffered:
case CGSBackingStoreBuffered:
BeginPaint([self windowHandle],&paintStruct);
[self flushBuffer];
EndPaint([self windowHandle],&paintStruct);

View File

@ -1,49 +0,0 @@
/* Copyright (c) 2008 Johannes Fortmann
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
#import <AppKit/CairoCacheImage.h>
#import <Foundation/NSString.h>
@implementation CairoCacheImage
-(id)initWithSurface:(cairo_surface_t*)surf
{
if(self=[super init])
{
_surface=surf;
cairo_surface_reference(_surface);
}
return self;
}
-(void)dealloc {
cairo_surface_destroy(_surface);
[super dealloc];
}
-(float)width
{
return _size.width;
}
-(float)height
{
return _size.height;
}
-(cairo_surface_t*)_cairoSurface
{
return _surface;
}
-(id)description
{
return [NSString stringWithFormat:@"%@: %p, (%fx%f)", [super description], _surface, _size.width, _size.height];
}
@synthesize size=_size;
@end

View File

@ -12,7 +12,7 @@
#include <X11/Xlib.h>
#include <GL/gl.h>
#include <GL/glx.h>
#include <GL/glu.h>
//#include <GL/glu.h>
@class NSView,NSOpenGLPixelFormat;

View File

@ -15,7 +15,7 @@
#include <X11/Xlib.h>
#include <GL/gl.h>
#include <GL/glx.h>
#include <GL/glu.h>
//#include <GL/glu.h>
void CGLDestroyContext(void *glContext)
{

View File

@ -6,16 +6,15 @@
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
#import <Foundation/NSObject.h>
#import <Foundation/NSGeometry.h>
#import <cairo.h>
#import <Foundation/NSPlatform_bsd.h>
#import <Foundation/NSString.h>
#import <AppKit/X11AsyncInputSourceSet.h>
#import <Foundation/NSArray.h>
@implementation NSPlatform_bsd(GTKAppKit)
@interface CairoCacheImage : NSObject {
cairo_surface_t *_surface;
NSSize _size;
-(id)asynchronousInputSourceSets {
return [NSArray arrayWithObject:[[X11AsyncInputSourceSet new] autorelease]];
}
@property (assign) NSSize size;
-(id)initWithSurface:(cairo_surface_t*)surf;
-(cairo_surface_t*)_cairoSurface;
@end

View File

@ -0,0 +1,12 @@
/* Copyright (c) 2009 Christopher J. W. Lloyd
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
#import <CoreGraphics/O2Context_builtin.h>
@interface O2Context_builtin_FT : O2Context_builtin
@end

View File

@ -0,0 +1,170 @@
#import "O2Context_builtin_FT.h"
#import <CoreGraphics/O2GraphicsState.h>
#import "O2Font_FT.h"
#import <CoreGraphics/O2Paint_color.h>
@implementation O2Context_builtin_FT
+(BOOL)canInitBackingWithContext:(O2Context *)context deviceDictionary:(NSDictionary *)deviceDictionary {
return YES;
}
static inline O2GState *currentState(O2Context *self){
return [self->_stateStack lastObject];
}
-initWithSurface:(O2Surface *)surface flipped:(BOOL)flipped {
if([super initWithSurface:surface flipped:flipped]==nil)
return nil;
return self;
}
-(void)dealloc {
[super dealloc];
}
-(void)establishFontStateInDeviceIfDirty {
O2GState *gState=currentState(self);
if(gState->_fontIsDirty){
[gState clearFontIsDirty];
}
}
static O2Paint *paintFromColor(O2ColorRef color){
size_t count=O2ColorGetNumberOfComponents(color);
const float *components=O2ColorGetComponents(color);
if(count==2)
return [[O2Paint_color alloc] initWithGray:components[0] alpha:components[1]];
if(count==4)
return [[O2Paint_color alloc] initWithRed:components[0] green:components[1] blue:components[2] alpha:components[3]];
return [[O2Paint_color alloc] initWithGray:0 alpha:1];
}
static void applyCoverageToSpan_lRGBA8888_PRE(O2argb8u *dst,unsigned char *coverageSpan,O2argb8u *src,int length){
int i;
for(i=0;i<length;i++,src++,dst++){
int coverage=coverageSpan[i];
int oneMinusCoverage=inverseCoverage(coverage);
O2argb8u r=*src;
O2argb8u d=*dst;
*dst=O2argb8uAdd(O2argb8uMultiplyByCoverage(r , coverage) , O2argb8uMultiplyByCoverage(d , oneMinusCoverage));
}
}
static void drawFreeTypeBitmap(O2Context_builtin_FT *self,O2Surface *surface,FT_Bitmap *bitmap,int x,int y,O2Paint *paint){
// FIXME: clipping
int width=bitmap->width;
int row,height=bitmap->rows;
O2argb8u *dstBuffer=__builtin_alloca(width*sizeof(O2argb8u));
O2argb8u *srcBuffer=__builtin_alloca(width*sizeof(O2argb8u));
unsigned char *coverage=bitmap->buffer;
for(row=0;row<height;row++,y++){
int length=width;
O2argb8u *dst=dstBuffer;
O2argb8u *src=srcBuffer;
O2argb8u *direct=surface->_read_lRGBA8888_PRE(surface,x,y,dst,length);
if(direct!=NULL)
dst=direct;
while(YES){
int chunk=O2PaintReadSpan_lRGBA8888_PRE(paint,x,y,src,length);
if(chunk<0)
chunk=-chunk;
else {
self->_blend_lRGBA8888_PRE(src,dst,chunk);
applyCoverageToSpan_lRGBA8888_PRE(dst,coverage,src,chunk);
if(direct==NULL)
O2SurfaceWriteSpan_lRGBA8888_PRE(surface,x,y,dst,chunk);
}
coverage+=chunk;
length-=chunk;
x+=chunk;
src+=chunk;
dst+=chunk;
if(length==0)
break;
}
x-=width;
}
}
-(void)showGlyphs:(const O2Glyph *)glyphs count:(unsigned)count {
O2AffineTransform transformToDevice=O2ContextGetUserSpaceToDeviceSpaceTransform(self);
O2GState *gState=currentState(self);
O2Paint *paint=paintFromColor(gState->_fillColor);
O2AffineTransform Trm=O2AffineTransformConcat(gState->_textTransform,transformToDevice);
O2Point point=O2PointApplyAffineTransform(NSMakePoint(0,0),Trm);
[self establishFontStateInDeviceIfDirty];
O2Font_FT *font=(O2Font_FT *)gState->_font;
FT_Face face=[font face];
int i;
FT_Error ftError;
if(face==NULL){
NSLog(@"face is NULL");
return;
}
FT_GlyphSlot slot=face->glyph;
if(ftError=FT_Set_Char_Size(face,0,gState->_pointSize*64,72.0,72.0)){
NSLog(@"FT_Set_Char_Size returned %d",ftError);
return;
}
for(i=0;i<count;i++){
ftError=FT_Load_Glyph(face,glyphs[i],FT_LOAD_DEFAULT);
if(ftError)
continue;
ftError=FT_Render_Glyph(face->glyph,FT_RENDER_MODE_NORMAL);
if(ftError)
continue;
drawFreeTypeBitmap(self,_surface,&slot->bitmap,point.x+slot->bitmap_left,point.y-slot->bitmap_top,paint);
point.x += slot->advance.x >> 6;
}
O2PaintRelease(paint);
int advances[count];
O2Float unitsPerEm=O2FontGetUnitsPerEm(font);
O2FontGetGlyphAdvances(font,glyphs,count,advances);
O2Float total=0;
for(i=0;i<count;i++)
total+=advances[i];
total=(total/O2FontGetUnitsPerEm(font))*gState->_pointSize;
currentState(self)->_textTransform.tx+=total;
currentState(self)->_textTransform.ty+=0;
}
@end

View File

@ -13,17 +13,12 @@
#import <cairo-xlib.h>
#import <AppKit/X11Window.h>
@interface CairoContext : O2Context {
NSRect _dirtyRect;
cairo_surface_t *_surface;
@interface O2Context_cairo : O2Context {
cairo_t *_context;
cairo_surface_t *_surface;
}
-(id)initWithWindow:(X11Window*)w;
-(id)initWithSize:(NSSize)s;
-(void)setSize:(NSSize)size;
-(NSSize)size;
-(NSRect)dirtyRect;
-(void)resetDirtyRect;
-(void)addToDirtyRect:(NSRect)rect;
-(void)copyFromBackingContext:(CairoContext*)other;
-(void)drawBackingContext:(O2Context *)other size:(NSSize)size;
@end

View File

@ -6,7 +6,7 @@
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
#import <AppKit/CairoContext.h>
#import "O2Context_cairo.h"
#import <AppKit/X11Display.h>
#import <CoreGraphics/O2MutablePath.h>
#import <CoreGraphics/O2Color.h>
@ -15,95 +15,74 @@
#import <AppKit/TTFFont.h>
#import <CoreGraphics/O2ColorSpace.h>
#import <CoreGraphics/O2Surface.h>
#import <AppKit/CairoCacheImage.h>
#import <Foundation/NSException.h>
#import <cairo/cairo-ft.h>
#import <cairo/cairo.h>
#import "O2FontState_cairo.h"
#import "O2Surface_cairo.h"
#import "O2Context_builtin_FT.h"
@implementation TTFFont (CairoFont)
-(void)releasePlatformFont {
cairo_font_face_destroy(_platformFont);
}
-(cairo_font_face_t*)cairoFont {
if(!_platformFont) {
_platformFont=(void*)cairo_ft_font_face_create_for_ft_face([self face], NULL);
}
return (cairo_font_face_t *)_platformFont;
}
@end
@implementation CairoContext
@implementation O2Context_cairo
static inline O2GState *currentState(O2Context *self){
return [self->_stateStack lastObject];
}
+(BOOL)canInitWithWindow:(CGWindow *)window {
return YES;
}
-(id)initWithWindow:(X11Window*)w
{
NSRect frame=[w frame];
+(BOOL)canInitBackingWithContext:(O2Context *)context deviceDictionary:(NSDictionary *)deviceDictionary {
NSString *name=[deviceDictionary objectForKey:@"O2Context"];
if(name==nil || [name isEqual:@"cairo"])
return YES;
return NO;
}
-initWithSize:(O2Size)size window:(CGWindow *)cgWindow {
X11Window *window=(X11Window *)cgWindow;
O2Rect frame=[window frame];
O2GState *initialState=[[[O2GState alloc] initWithDeviceTransform:O2AffineTransformIdentity] autorelease];
if(self=[super initWithGraphicsState:initialState])
{
if(self=[super initWithGraphicsState:initialState]){
Display *dpy=[(X11Display*)[NSDisplay currentDisplay] display];
_surface = cairo_xlib_surface_create(dpy, [w drawable], [w visual], frame.size.width, frame.size.height);
[self setSize:NSMakeSize(frame.size.width, frame.size.height)];
_surface = cairo_xlib_surface_create(dpy, [window drawable], [window visual], frame.size.width, frame.size.height);
_context = cairo_create(_surface);
}
return self;
}
-(id)initWithSize:(NSSize)size
{
-initWithSize:(O2Size)size context:(O2Context *)context {
O2GState *initialState=[[[O2GState alloc] initWithDeviceTransform:O2AffineTransformIdentity] autorelease];
if(self=[super initWithGraphicsState:initialState])
{
if(self=[super initWithGraphicsState:initialState]){
_surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, size.width, size.height);
_context = cairo_create(_surface);
}
return self;
}
-(void)dealloc
{
-(void)dealloc {
cairo_surface_destroy(_surface);
cairo_destroy(_context);
[super dealloc];
}
-(void)setSize:(NSSize)size
{
if(_context)
cairo_destroy(_context);
switch(cairo_surface_get_type(_surface))
{
case CAIRO_SURFACE_TYPE_XLIB:
cairo_xlib_surface_set_size(_surface, size.width, size.height);
break;
case CAIRO_SURFACE_TYPE_IMAGE:
cairo_surface_destroy(_surface);
_surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, size.width, size.height);
default:
;
}
_dirtyRect=NSMakeRect(0, 0, size.width, size.height);
_context = cairo_create(_surface);
-(O2Surface *)createSurfaceWithWidth:(size_t)width height:(size_t)height {
return [[O2Surface_cairo alloc] initWithWidth:width height:height compatibleWithContext:self];
}
-(void)deviceClipReset {
cairo_reset_clip(_context);
}
-(void)setCurrentColor:(O2Color*)color
{
float *c=[color components];
int count=[color numberOfComponents];
const float *c=O2ColorGetComponents(color);
int count=O2ColorGetNumberOfComponents(color);
switch(count)
{
@ -201,10 +180,10 @@ static inline O2GState *currentState(O2Context *self){
-(void)setCurrentPath:(O2Path*)path
{
unsigned opCount=[path numberOfElements];
const unsigned char *operators=[path elements];
unsigned pointCount=[path numberOfPoints];
const NSPoint *points=[path points];
unsigned opCount=O2PathNumberOfElements(path);
const unsigned char *operators=O2PathElements(path);
unsigned pointCount=O2PathNumberOfPoints(path);
const NSPoint *points=O2PathPoints(path);
unsigned i,pointIndex;
cairo_identity_matrix(_context);
cairo_new_path(_context);
@ -264,7 +243,7 @@ static inline O2GState *currentState(O2Context *self){
}
-(void)drawPath:(CGPathDrawingMode)mode
-(void)drawPath:(O2PathDrawingMode)mode
{
[self setCurrentPath:(O2Path*)_path];
@ -308,15 +287,25 @@ static inline O2GState *currentState(O2Context *self){
cairo_stroke_preserve(_context);
break;
}
{
double x,y,x2,y2;
cairo_stroke_extents(_context, &x, &y, &x2, &y2);
_dirtyRect=NSUnionRect(_dirtyRect, NSMakeRect(x, y, x2-x, y2-y));
}
cairo_new_path(_context);
[_path reset];
O2PathReset(_path);
}
-(BOOL)resizeWithNewSize:(O2Size)size {
switch(cairo_surface_get_type(_surface)){
case CAIRO_SURFACE_TYPE_XLIB:
// if(_context!=NULL)
// cairo_destroy(_context);
cairo_xlib_surface_set_size(_surface, size.width, size.height);
// _context = cairo_create(_surface);
return YES;
default:
return NO;
}
}
-(NSSize)size {
@ -331,26 +320,6 @@ static inline O2GState *currentState(O2Context *self){
}
}
-(O2Image *)createImage {
NSSize size=[self size];
cairo_surface_t* img=cairo_image_surface_create(CAIRO_FORMAT_ARGB32, size.width, size.height);
cairo_t *ctx=cairo_create(img);
cairo_set_source_surface(ctx, _surface, 0, 0);
cairo_set_operator(ctx, CAIRO_OPERATOR_SOURCE);
cairo_paint(ctx);
cairo_destroy(ctx);
id ret=[[CairoCacheImage alloc] initWithSurface:img];
[ret setSize:size];
cairo_surface_destroy(img);
return ret;
}
-(void)drawShading:(O2Shading *)shading {
if([shading isAxial]) {
cairo_pattern_t *pat;
@ -362,63 +331,42 @@ static inline O2GState *currentState(O2Context *self){
}
}
-(void)drawImage:(id)image inRect:(CGRect)rect {
BOOL shouldFreeImage=NO;
cairo_surface_t *img=NULL;
O2argb8u *data=NULL;
-(void)drawImage:(O2Image *)image inRect:(O2Rect)rect {
cairo_surface_t *surface=NULL;
if([image respondsToSelector:@selector(_cairoSurface)])
{
img=[image _cairoSurface];
}
else
{
NSAssert([image isKindOfClass:[O2Image class]], nil);
O2Image *ki=image;
int w=[ki width], h=[ki height], i, j;
data=calloc(sizeof(O2argb8u), w*h);
for(i=0; i<h; i++) {
ki->_read_lRGBA8888_PRE(ki, 0, i, &data[w*i], w);
}
shouldFreeImage=YES;
img=cairo_image_surface_create_for_data((unsigned char*)data,
CAIRO_FORMAT_ARGB32,
w,
h,
w*sizeof(O2argb8u));
}
if([image isKindOfClass:[O2Surface_cairo class]])
surface=cairo_surface_reference([(O2Surface_cairo *)image cairo_surface]);
else {
int width=O2ImageGetWidth(image);
int height=O2ImageGetHeight(image);
surface=cairo_image_surface_create(CAIRO_FORMAT_ARGB32,width,height);
unsigned char *data=cairo_image_surface_get_data(surface);
int bytesPerRow=cairo_image_surface_get_stride(surface);
int i;
for(i=0; i<height; i++) {
image->_read_lRGBA8888_PRE(image, 0, i, (O2argb8u *)(data+i*bytesPerRow), width);
}
}
NSAssert(img, nil);
cairo_identity_matrix(_context);
[self appendFlip];
[self appendCTM];
cairo_new_path(_context);
cairo_translate(_context, rect.origin.x, rect.origin.y);
cairo_rectangle(_context,
0, 0, rect.size.width, rect.size.height);
cairo_rectangle(_context,0, 0, rect.size.width, rect.size.height);
cairo_clip(_context);
cairo_set_source_surface(_context, img, 0.0, 0.0);
cairo_set_source_surface(_context,surface, 0.0, 0.0);
cairo_paint(_context);
cairo_paint(_context);
{
double x,y,x2,y2;
cairo_clip_extents(_context, &x, &y, &x2, &y2);
_dirtyRect=NSUnionRect(_dirtyRect, NSMakeRect(x, y, x2-x, y2-y));
}
if(shouldFreeImage) {
cairo_surface_destroy(img);
free(data);
}
cairo_surface_destroy(surface);
}
-(void)establishFontStateInDeviceIfDirty {
@ -427,10 +375,8 @@ static inline O2GState *currentState(O2Context *self){
if(gState->_fontIsDirty){
[gState clearFontIsDirty];
O2Font *cgFont=[gState font];
KTFont *fontState=[[TTFFont alloc] initWithFont:cgFont size:[gState pointSize]];
NSString *name=[fontState name];
CGFloat pointSize=[fontState pointSize];
O2Font_FT *cgFont=(O2Font_FT *)[gState font];
KTFont *fontState=[[O2FontState_cairo alloc] initWithFreeTypeFont:cgFont size:[gState pointSize]];
[gState setFontState:fontState];
[fontState release];
@ -438,28 +384,29 @@ static inline O2GState *currentState(O2Context *self){
}
-(void)showGlyphs:(const CGGlyph *)glyphs count:(unsigned)count {
-(void)showGlyphs:(const O2Glyph *)glyphs count:(unsigned)count {
[self establishFontStateInDeviceIfDirty];
TTFFont *fontState=(TTFFont*)[currentState(self) fontState];
int i;
cairo_glyph_t *cg=alloca(sizeof(cairo_glyph_t)*count);
BOOL nominal;
O2GState *gState=currentState(self);
O2Font *font=[gState font];
O2FontState_cairo *fontState=[gState fontState];
cairo_font_face_t *face=[fontState cairo_font_face];
cairo_glyph_t *cg=alloca(sizeof(cairo_glyph_t)*count);
int i,advances[count];
O2Float unitsPerEm=O2FontGetUnitsPerEm(font);
O2FontGetGlyphAdvances(font,glyphs,count,advances);
float x=0, y=0;
for(i=0; i<count; i++)
{
NSPoint pos=[fontState positionOfGlyph:glyphs[i] precededByGlyph:CGNullGlyph isNominal:&nominal];
cg[i].x=x;
cg[i].y=y+pos.y;
cg[i].index=glyphs[i];
x+=pos.x;
for(i=0; i<count; i++){
cg[i].x=x;
cg[i].y=y;
cg[i].index=glyphs[i];
x+=((CGFloat)advances[i]/(CGFloat)unitsPerEm)*gState->_pointSize;
}
cairo_font_face_t *face=[[currentState(self) fontState] cairoFont];
cairo_set_font_face(_context, face);
cairo_set_font_size(_context, [fontState pointSize]);
cairo_set_font_size(_context, gState->_pointSize);
cairo_identity_matrix(_context);
@ -474,25 +421,11 @@ static inline O2GState *currentState(O2Context *self){
}
-(void)showText:(const char *)text length:(unsigned)length {
[self establishFontStateInDeviceIfDirty];
unichar unicode[length];
CGGlyph glyphs[length];
int i;
id str=[NSString stringWithUTF8String:text];
[str getCharacters:unicode range:NSMakeRange(0, length)];
[(KTFont*)[currentState(self) fontState] getGlyphs:glyphs forCharacters:unicode length:length];
[self showGlyphs:glyphs count:length];
}
-(void)flush {
cairo_surface_flush(_surface);
}
-(cairo_surface_t*)_cairoSurface {
-(cairo_surface_t *)cairo_surface {
return _surface;
}
@ -525,41 +458,34 @@ cairo_status_t writeToData(void *closure,
return ret;
}
-(void)addToDirtyRect:(NSRect)rect {
_dirtyRect=NSUnionRect(_dirtyRect, rect);
}
-(NSRect)dirtyRect; {
return _dirtyRect;
}
-(void)resetDirtyRect; {
_dirtyRect=NSZeroRect;
}
-(void)copyFromBackingContext:(CairoContext*)other
{
NSRect clip=[other dirtyRect];
-(void)drawBackingContext:(O2Context *)other size:(NSSize)size {
cairo_surface_t *otherSurface=NULL;
if(NSIsEmptyRect(clip))
if([other isKindOfClass:[O2Context_cairo class]])
otherSurface=[(O2Context_cairo *)other cairo_surface];
else if([other isKindOfClass:[O2Context_builtin_FT class]]){
O2Surface *surface=[(O2Context_builtin_FT *)other surface];
if([surface isKindOfClass:[O2Surface_cairo class]])
otherSurface=[(O2Surface_cairo *)surface cairo_surface];
}
if(otherSurface==NULL){
NSLog(@"unable to draw backing context %@",other);
return;
}
if(size.width==0 || size.height==0)
return;
cairo_identity_matrix(_context);
cairo_reset_clip(_context);
cairo_rectangle(_context,0,0,size.width,size.height);
cairo_set_source_surface(_context, otherSurface, 0, 0);
O2AffineTransform matrix={1, 0, 0, -1, 0, [self size].height};
clip.origin=O2PointApplyAffineTransform(clip.origin,matrix);
clip.origin.y-=clip.size.height;
cairo_new_path(_context);
cairo_rectangle(_context, clip.origin.x, clip.origin.y, clip.size.width, clip.size.height);
cairo_clip(_context);
cairo_set_source_surface (_context, [other _cairoSurface], 0, 0);
cairo_paint(_context);
[other resetDirtyRect];
cairo_paint(_context);
cairo_surface_flush(_surface);
}
@end

View File

@ -0,0 +1,16 @@
#import <CoreGraphics/O2Geometry.h>
#import <cairo/cairo-ft.h>
@class O2Font_FT;
@interface O2FontState_cairo : NSObject {
O2Font_FT *_font;
O2Float _size;
cairo_font_face_t *_cairo_font_face;
}
-initWithFreeTypeFont:(O2Font_FT *)font size:(O2Float)size;
-(cairo_font_face_t *)cairo_font_face;
@end

View File

@ -0,0 +1,23 @@
#import "O2FontState_cairo.h"
#import "O2Font_FT.h"
@implementation O2FontState_cairo
-initWithFreeTypeFont:(O2Font_FT *)font size:(O2Float)size {
_font=[font retain];
_size=size;
_cairo_font_face=cairo_ft_font_face_create_for_ft_face([font face],0);
return self;
}
-(void)dealloc {
[_font release];
cairo_font_face_destroy(_cairo_font_face);
[super dealloc];
}
-(cairo_font_face_t *)cairo_font_face {
return _cairo_font_face;
}
@end

View File

@ -0,0 +1,18 @@
#import <CoreGraphics/O2Font.h>
#import <stddef.h>
#import <ft2build.h>
#import FT_FREETYPE_H
#import FT_RENDER_H
#import <fontconfig.h>
@interface O2Font_FT : O2Font {
FT_Face _face;
}
-(FT_Face)face;
@end
FT_Library O2FontSharedFreeTypeLibrary();
FcConfig *O2FontSharedFontConfig();

View File

@ -0,0 +1,139 @@
/* Copyright (c) 2008 Johannes Fortmann
Copyright (c) 2009 Christopher J. W. Lloyd - <cjwl@objc.net>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
#import "O2Font_FT.h"
@implementation O2Font(FreeType)
+allocWithZone:(NSZone *)zone {
return NSAllocateObject([O2Font_FT class],0,NULL);
}
@end
@implementation O2Font_FT
FT_Library O2FontSharedFreeTypeLibrary(){
static FT_Library library=NULL;
if(library==NULL){
if(FT_Init_FreeType(&library)!=0)
NSLog(@"FT_Init_FreeType failed");
}
return library;
}
FcConfig *O2FontSharedFontConfig() {
static FcConfig *fontConfig=NULL;
if(fontConfig==NULL){
fontConfig=FcInitLoadConfigAndFonts();
}
return fontConfig;
}
+(NSString*)filenameForPattern:(NSString *)pattern {
int i;
FcPattern *pat=FcNameParse((unsigned char*)[pattern UTF8String]);
FcObjectSet *props=FcObjectSetBuild(FC_FILE, NULL);
FcFontSet *set = FcFontList (O2FontSharedFontConfig(), pat, props);
NSString* ret=NULL;
for(i = 0; i < set->nfont && !ret; i++) {
FcChar8 *filename;
if (FcPatternGetString (set->fonts[i], FC_FILE, 0, &filename) == FcResultMatch) {
ret=[NSString stringWithUTF8String:(char*)filename];
}
}
FcPatternDestroy(pat);
FcObjectSetDestroy(props);
FcFontSetDestroy(set);
return ret;
}
-initWithFontName:(NSString *)name {
[super initWithFontName:name];
NSString *filename=[isa filenameForPattern:name];
if(filename==nil) {
filename=[isa filenameForPattern:@""];
if(filename==nil) {
#ifdef LINUX
filename=@"/usr/share/fonts/truetype/freefont/FreeSans.ttf";
#else
filename=@"/System/Library/Fonts/HelveticaNeue.ttc";
#endif
}
}
FT_Error ret=FT_New_Face(O2FontSharedFreeTypeLibrary(),[filename fileSystemRepresentation],0,&_face);
if(ret!=0)
NSLog(@"FT_New_Face returned %d",ret);
FT_Select_Charmap(_face, FT_ENCODING_UNICODE);
// FT_Set_Char_Size(_face,0,2048*64,72,72);
if(!(_face->face_flags&FT_FACE_FLAG_SCALABLE))
NSLog(@"FreeType font face is not scalable");
_unitsPerEm=(float)_face->units_per_EM;
_ascent=_face->ascender;
_descent=_face->descender;
_leading=0;
_capHeight=_face->height;
_xHeight=_face->height;
_italicAngle=0;
_stemV=0;
_bbox.origin.x=_face->bbox.xMin;
_bbox.origin.y=_face->bbox.yMin;
_bbox.size.width=_face->bbox.xMax-_face->bbox.xMin;
_bbox.size.height=_face->bbox.yMax-_face->bbox.yMin;
_numberOfGlyphs=_face->num_glyphs;
_advances=NULL;
return self;
}
-(void)dealloc {
FT_Done_Face(_face);
[super dealloc];
}
-(FT_Face)face {
return _face;
}
-(O2Glyph)glyphWithGlyphName:(NSString *)name {
// FIXME: implement
return 0;
}
-(void)fetchAdvances {
O2Glyph glyph;
FT_Set_Char_Size(_face,0,_unitsPerEm*64,72,72);
_advances=NSZoneMalloc(NULL,sizeof(int)*_numberOfGlyphs);
for(glyph=0;glyph<_numberOfGlyphs;glyph++){
FT_Load_Glyph(_face, glyph, FT_LOAD_DEFAULT);
_advances[glyph]=_face->glyph->advance.x/(float)(2<<5);
}
}
@end

View File

@ -0,0 +1,21 @@
/* Copyright (c) 2009 Christopher J. W. Lloyd
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
#import <CoreGraphics/O2Surface.h>
#import <cairo.h>
@class O2Context_cairo;
@interface O2Surface_cairo : O2Surface {
cairo_surface_t *_cairo_surface;
}
-initWithWidth:(size_t)width height:(size_t)height compatibleWithContext:(O2Context_cairo *)compatible;
-(cairo_surface_t *)cairo_surface;
@end

View File

@ -0,0 +1,35 @@
#import "O2Surface_cairo.h"
@implementation O2Surface_cairo
-initWithWidth:(size_t)width height:(size_t)height compatibleWithContext:(O2Context_cairo *)compatible {
O2ColorSpaceRef colorSpace=O2ColorSpaceCreateDeviceRGB();
if([super initWithBytes:NULL width:width height:height bitsPerComponent:8 bytesPerRow:0 colorSpace:colorSpace bitmapInfo:kO2ImageAlphaPremultipliedFirst|kO2BitmapByteOrder32Little]==nil){
O2ColorSpaceRelease(colorSpace);
[self dealloc];
return nil;
}
O2ColorSpaceRelease(colorSpace);
if((_cairo_surface=cairo_image_surface_create_for_data(_pixelBytes,CAIRO_FORMAT_ARGB32,width,height,_bytesPerRow))==NULL){
NSLog(@"%s %d cairo_image_surface_create_for_data failed",__FILE__,__LINE__);
[self dealloc];
return NULL;
}
return self;
}
-(void)dealloc {
cairo_surface_destroy(_cairo_surface);
[super dealloc];
}
-(cairo_surface_t *)cairo_surface {
return _cairo_surface;
}
@end

View File

@ -19,16 +19,9 @@ typedef int ptrdiff_t;
@class NSSet;
@interface TTFFont : NSObject {
FT_Face _face;
float _size;
id _name;
void *_platformFont;
}
+(NSSet*)allFontFamilyNames;
+(NSArray *)fontTypefacesForFamilyName:(NSString *)name;
@interface TTFFont : KTFont
-(CGPoint)positionOfGlyph:(CGGlyph)current precededByGlyph:(CGGlyph)previous isNominal:(BOOL *)isNominalp;
-(void)getAdvancements:(CGSize *)advancements forGlyphs:(const CGGlyph *)glyphs count:(unsigned)count;
-(float)pointSize;
-(FT_Face)face;
@end

View File

@ -9,9 +9,8 @@
#import "TTFFont.h"
#import <AppKit/KTFont.h>
#import <AppKit/NSRaise.h>
#import <CoreGraphics/O2Font.h>
#import "O2Font_FT.h"
#import <AppKit/NSFontTypeface.h>
#import <fontconfig.h>
@implementation KTFont(TTFFont)
+(id)allocWithZone:(NSZone*)zone
@ -21,202 +20,7 @@
@end
@implementation TTFFont
FT_Library library;
FcConfig *fontConfig;
+(NSSet*)allFontFamilyNames {
int i;
FcPattern *pat=FcPatternCreate();
FcObjectSet *props=FcObjectSetBuild(FC_FAMILY, 0);
FcFontSet *set = FcFontList (fontConfig, pat, props);
NSMutableSet* ret=[NSMutableSet set];
for(i = 0; i < set->nfont; i++)
{
FcChar8 *family;
if (FcPatternGetString (set->fonts[i], FC_FAMILY, 0, &family) == FcResultMatch) {
[ret addObject:[NSString stringWithUTF8String:(char*)family]];
}
}
FcPatternDestroy(pat);
FcObjectSetDestroy(props);
FcFontSetDestroy(set);
return ret;
}
+(NSArray *)fontTypefacesForFamilyName:(NSString *)familyName {
int i;
FcPattern *pat=FcPatternCreate();
FcPatternAddString(pat, FC_FAMILY, (unsigned char*)[familyName UTF8String]);
FcObjectSet *props=FcObjectSetBuild(FC_FAMILY, FC_STYLE, FC_SLANT, FC_WIDTH, FC_WEIGHT, 0);
FcFontSet *set = FcFontList (fontConfig, pat, props);
NSMutableArray* ret=[NSMutableArray array];
for(i = 0; i < set->nfont; i++)
{
FcChar8 *typeface;
FcPattern *p=set->fonts[i];
if (FcPatternGetString (p, FC_STYLE, 0, &typeface) == FcResultMatch) {
NSString* traitName=[NSString stringWithUTF8String:(char*)typeface];
FcChar8* pattern=FcNameUnparse(p);
NSString* name=[NSString stringWithUTF8String:(char*)pattern];
FcStrFree(pattern);
NSFontTraitMask traits=0;
int slant, width, weight;
FcPatternGetInteger(p, FC_SLANT, FC_SLANT_ROMAN, &slant);
FcPatternGetInteger(p, FC_WIDTH, FC_WIDTH_NORMAL, &width);
FcPatternGetInteger(p, FC_WEIGHT, FC_WEIGHT_REGULAR, &weight);
switch(slant) {
case FC_SLANT_OBLIQUE:
case FC_SLANT_ITALIC:
traits|=NSItalicFontMask;
break;
default:
traits|=NSUnitalicFontMask;
break;
}
if(weight<=FC_WEIGHT_LIGHT)
traits|=NSUnboldFontMask;
else if(weight>=FC_WEIGHT_SEMIBOLD)
traits|=NSBoldFontMask;
if(width<=FC_WIDTH_SEMICONDENSED)
traits|=NSNarrowFontMask;
else if(width>=FC_WIDTH_SEMIEXPANDED)
traits|=NSExpandedFontMask;
NSFontTypeface *face=[[NSFontTypeface alloc] initWithName:name traitName:traitName traits:traits];
[ret addObject:face];
[face release];
}
}
FcPatternDestroy(pat);
FcObjectSetDestroy(props);
FcFontSetDestroy(set);
return ret;
}
+(NSString*)filenameForPattern:(NSString *)pattern {
int i;
FcPattern *pat=FcNameParse((unsigned char*)[pattern UTF8String]);
FcObjectSet *props=FcObjectSetBuild(FC_FILE, 0);
FcFontSet *set = FcFontList (fontConfig, pat, props);
NSString* ret=NULL;
for(i = 0; i < set->nfont && !ret; i++) {
FcChar8 *filename;
if (FcPatternGetString (set->fonts[i], FC_FILE, 0, &filename) == FcResultMatch) {
ret=[NSString stringWithUTF8String:(char*)filename];
}
}
FcPatternDestroy(pat);
FcObjectSetDestroy(props);
FcFontSetDestroy(set);
return ret;
}
+(void)initialize {
int ret=FT_Init_FreeType(&library);
NSAssert(ret==0, nil);
fontConfig=FcInitLoadConfigAndFonts();
}
-(float)pointSize
{
return _size;
}
-(id)name
{
return _name;
}
-(float)ascender
{
return _size * _face->ascender/(float)_face->units_per_EM;
}
-(float)descender
{
return _size * _face->descender/(float)_face->units_per_EM;
}
-(float)leading
{
return 0.0;
}
-initWithFont:(O2Font *)font size:(float)size {
NSString *fontName=O2FontCopyFullName(font);
NSString* key=[NSString stringWithFormat:@"%@@%f", fontName, size];
[fontName release];
static NSMutableDictionary *cache=nil;
if(!cache)
cache=[NSMutableDictionary new];
id ret=[cache objectForKey:key];
if(ret) {
[self release];
return [ret retain];
}
[cache setObject:self forKey:key];
if(self=[super init])
{
id pattern=[font fontName];
id filename=[isa filenameForPattern:pattern];
if(!filename) {
filename=[isa filenameForPattern:@""];
if(!filename) {
#ifdef LINUX
filename=@"/usr/share/fonts/truetype/freefont/FreeSans.ttf";
#else
filename=@"/System/Library/Fonts/Geneva.dfont";
#endif
}
}
FT_Error ret=FT_New_Face(library,
[filename fileSystemRepresentation],
0,
&_face);
FT_Select_Charmap(_face, FT_ENCODING_UNICODE);
_size=size;
_name=[pattern retain];
}
return self;
}
-(void)releasePlatformFont {
}
-(void)dealloc {
FT_Done_Face(_face);
[_name release];
[self releasePlatformFont];
[super dealloc];
}
-initWithUIFontType:(CTFontUIFontType)uiFontType size:(CGFloat)size language:(NSString *)language {
O2Font *font=nil;
@ -243,41 +47,46 @@ FcConfig *fontConfig;
}
-(void)getGlyphs:(CGGlyph *)glyphs forCharacters:(const unichar *)characters length:(unsigned)length {
O2Font_FT *o2Font=(O2Font_FT *)_font;
FT_Face face=[o2Font face];
int i;
for(i=0; i<length; i++)
{
glyphs[i]=FT_Get_Char_Index(_face, characters[i]);
glyphs[i]=FT_Get_Char_Index(face, characters[i]);
}
}
-(void)getAdvancements:(CGSize *)advancements forGlyphs:(const CGGlyph *)glyphs count:(unsigned)count {
O2Font_FT *o2Font=(O2Font_FT *)_font;
FT_Face face=[o2Font face];
int i;
FT_Set_Pixel_Sizes(_face, _size, _size);
FT_Set_Pixel_Sizes(face, _size, _size);
for(i=0;i<count;i++){
FT_Load_Glyph(_face, glyphs[i], FT_LOAD_DEFAULT);
advancements[i]= CGSizeMake(_face->glyph->bitmap_left,
FT_Load_Glyph(face, glyphs[i], FT_LOAD_DEFAULT);
advancements[i]= CGSizeMake(face->glyph->bitmap_left,
0);
}
}
-(CGPoint)positionOfGlyph:(CGGlyph)current precededByGlyph:(CGGlyph)previous isNominal:(BOOL *)isNominalp {
O2Font_FT *o2Font=(O2Font_FT *)_font;
FT_Face face=[o2Font face];
*isNominalp=YES;
if(!current)
return NSZeroPoint;
FT_Set_Pixel_Sizes(_face, _size, _size);
FT_Set_Pixel_Sizes(face, _size, _size);
FT_Load_Glyph(_face, current, FT_LOAD_DEFAULT);
return NSMakePoint(_face->glyph->advance.x/(float)(2<<5),
_face->glyph->advance.y/(float)(2<<5));
FT_Load_Glyph(face, current, FT_LOAD_DEFAULT);
return NSMakePoint(face->glyph->advance.x/(float)(2<<5),face->glyph->advance.y/(float)(2<<5));
}
-(FT_Face)face
{
return _face;
}
@end

View File

@ -16,7 +16,11 @@
#import <AppKit/NSImage.h>
#import <AppKit/TTFFont.h>
#import <AppKit/NSRaise.h>
#import <AppKit/O2Font_FT.h>
#import <AppKit/NSFontManager.h>
#import <AppKit/NSFontTypeface.h>
#import <fcntl.h>
#import <fontconfig.h>
@implementation NSDisplay(X11)
@ -166,11 +170,83 @@ static int errorHandler(Display* display,
}
-(NSSet *)allFontFamilyNames {
return [TTFFont allFontFamilyNames];
int i;
FcPattern *pat=FcPatternCreate();
FcObjectSet *props=FcObjectSetBuild(FC_FAMILY, NULL);
FcFontSet *set = FcFontList (O2FontSharedFontConfig(), pat, props);
NSMutableSet* ret=[NSMutableSet set];
for(i = 0; i < set->nfont; i++)
{
FcChar8 *family;
if (FcPatternGetString (set->fonts[i], FC_FAMILY, 0, &family) == FcResultMatch) {
[ret addObject:[NSString stringWithUTF8String:(char*)family]];
}
}
FcPatternDestroy(pat);
FcObjectSetDestroy(props);
FcFontSetDestroy(set);
return ret;
}
-(NSArray *)fontTypefacesForFamilyName:(NSString *)name {
return [TTFFont fontTypefacesForFamilyName:name];
-(NSArray *)fontTypefacesForFamilyName:(NSString *)familyName {
int i;
FcPattern *pat=FcPatternCreate();
FcPatternAddString(pat, FC_FAMILY, (unsigned char*)[familyName UTF8String]);
FcObjectSet *props=FcObjectSetBuild(FC_FAMILY, FC_STYLE, FC_SLANT, FC_WIDTH, FC_WEIGHT, NULL);
FcFontSet *set = FcFontList (O2FontSharedFontConfig(), pat, props);
NSMutableArray* ret=[NSMutableArray array];
for(i = 0; i < set->nfont; i++)
{
FcChar8 *typeface;
FcPattern *p=set->fonts[i];
if (FcPatternGetString (p, FC_STYLE, 0, &typeface) == FcResultMatch) {
NSString* traitName=[NSString stringWithUTF8String:(char*)typeface];
FcChar8* pattern=FcNameUnparse(p);
NSString* name=[NSString stringWithUTF8String:(char*)pattern];
FcStrFree(pattern);
NSFontTraitMask traits=0;
int slant, width, weight;
FcPatternGetInteger(p, FC_SLANT, FC_SLANT_ROMAN, &slant);
FcPatternGetInteger(p, FC_WIDTH, FC_WIDTH_NORMAL, &width);
FcPatternGetInteger(p, FC_WEIGHT, FC_WEIGHT_REGULAR, &weight);
switch(slant) {
case FC_SLANT_OBLIQUE:
case FC_SLANT_ITALIC:
traits|=NSItalicFontMask;
break;
default:
traits|=NSUnitalicFontMask;
break;
}
if(weight<=FC_WEIGHT_LIGHT)
traits|=NSUnboldFontMask;
else if(weight>=FC_WEIGHT_SEMIBOLD)
traits|=NSBoldFontMask;
if(width<=FC_WIDTH_SEMICONDENSED)
traits|=NSNarrowFontMask;
else if(width>=FC_WIDTH_SEMIEXPANDED)
traits|=NSExpandedFontMask;
NSFontTypeface *face=[[NSFontTypeface alloc] initWithName:name traitName:traitName traits:traits];
[ret addObject:face];
[face release];
}
}
FcPatternDestroy(pat);
FcObjectSetDestroy(props);
FcFontSetDestroy(set);
return ret;
}
-(float)scrollerWidth {
@ -248,6 +324,7 @@ static int errorHandler(Display* display,
while(numEvents=XEventsQueued(_display, QueuedAfterFlush)) {
XNextEvent(_display, &e);
id window=[self windowForID:e.xany.window];
[window handleEvent:&e fromDisplay:self];
[windowsUsed addObject:window];

View File

@ -12,6 +12,7 @@
#import <AppKit/X11Display.h>
#import <Foundation/NSArray.h>
#import <Foundation/NSRunloop.h>
#import <Foundation/NSSocket_bsd.h>
#import <AppKit/NSApplication.h>
#import <AppKit/X11AsyncInputSource.h>
#import <X11/Xlib.h>

View File

@ -7,28 +7,30 @@
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
#import <AppKit/CGWindow.h>
#import <CoreGraphics/O2Geometry.h>
#import <X11/Xlib.h>
@class CairoContext, X11Display;
@class O2Context_cairo, X11Display;
@interface X11Window : CGWindow {
id _delegate;
Window _window;
Display *_dpy;
CairoContext *_backingContext;
CairoContext *_cgContext;
CGSBackingStoreType _backingType;
O2Context *_backingContext;
O2Context *_context;
NSMutableDictionary *_deviceDictionary;
NSRect _frame;
O2Rect _frame;
BOOL _mapped;
}
+(void)removeDecorationForWindow:(Window)w onDisplay:(Display*)dpy;
-initWithFrame:(NSRect)frame styleMask:(unsigned)styleMask isPanel:(BOOL)isPanel backingType:(NSUInteger)backingType;
-(NSRect)frame;
-(O2Rect)frame;
-(Visual*)visual;
-(Drawable)drawable;
-(NSPoint)transformPoint:(NSPoint)pos;
-(NSRect)transformFrame:(NSRect)frame;
-(void)sizeChanged;
-(O2Rect)transformFrame:(O2Rect)frame;
-(void)frameChanged;
-(void)handleEvent:(XEvent*)ev fromDisplay:(X11Display*)display;
@end

View File

@ -12,7 +12,7 @@
#import <AppKit/X11Display.h>
#import <AppKit/NSRaise.h>
#import <X11/Xutil.h>
#import <AppKit/CairoContext.h>
#import "O2Context_cairo.h"
#import <Foundation/NSException.h>
@implementation X11Window
@ -26,8 +26,7 @@
XVisualInfo match={0};
Display *dpy=[(X11Display*)[NSDisplay currentDisplay] display];
XVisualInfo *info=XGetVisualInfo(dpy,
0, &match, &visuals_matched);
XVisualInfo *info=XGetVisualInfo(dpy,0, &match, &visuals_matched);
for(i=0; i<visuals_matched; i++) {
if(info[i].depth == 32 &&
@ -46,51 +45,46 @@
}
-initWithFrame:(NSRect)frame styleMask:(unsigned)styleMask isPanel:(BOOL)isPanel backingType:(NSUInteger)backingType;
{
if(self=[super init])
{
_deviceDictionary=[NSMutableDictionary new];
_dpy=[(X11Display*)[NSDisplay currentDisplay] display];
int s = DefaultScreen(_dpy);
_frame=[self transformFrame:frame];
if(isPanel && styleMask&NSDocModalWindowMask)
styleMask=NSBorderlessWindowMask;
-initWithFrame:(O2Rect)frame styleMask:(unsigned)styleMask isPanel:(BOOL)isPanel backingType:(NSUInteger)backingType {
_backingType=backingType;
_deviceDictionary=[NSMutableDictionary new];
_dpy=[(X11Display*)[NSDisplay currentDisplay] display];
int s = DefaultScreen(_dpy);
_frame=[self transformFrame:frame];
if(isPanel && styleMask&NSDocModalWindowMask)
styleMask=NSBorderlessWindowMask;
XSetWindowAttributes xattr;
unsigned long xattr_mask;
xattr.override_redirect = styleMask == NSBorderlessWindowMask ? True : False;
xattr_mask = CWOverrideRedirect;
XSetWindowAttributes xattr;
unsigned long xattr_mask;
xattr.override_redirect = styleMask == NSBorderlessWindowMask ? True : False;
xattr_mask = CWOverrideRedirect;
_window = XCreateWindow(_dpy, DefaultRootWindow(_dpy),
_window = XCreateWindow(_dpy, DefaultRootWindow(_dpy),
_frame.origin.x, _frame.origin.y, _frame.size.width, _frame.size.height,
0, CopyFromParent, InputOutput,
CopyFromParent,
xattr_mask, &xattr);
XSelectInput(_dpy, _window, ExposureMask | KeyPressMask | KeyReleaseMask | StructureNotifyMask |
ButtonPressMask | ButtonReleaseMask | ButtonMotionMask | VisibilityChangeMask | FocusChangeMask | SubstructureRedirectMask );
XSelectInput(_dpy, _window, ExposureMask | KeyPressMask | KeyReleaseMask | StructureNotifyMask |
ButtonPressMask | ButtonReleaseMask | ButtonMotionMask | VisibilityChangeMask | FocusChangeMask | SubstructureRedirectMask );
Atom atm=XInternAtom(_dpy, "WM_DELETE_WINDOW", False);
XSetWMProtocols(_dpy, _window, &atm , 1);
Atom atm=XInternAtom(_dpy, "WM_DELETE_WINDOW", False);
XSetWMProtocols(_dpy, _window, &atm , 1);
XSetWindowBackgroundPixmap(_dpy, _window, None);
XSetWindowBackgroundPixmap(_dpy, _window, None);
[(X11Display*)[NSDisplay currentDisplay] setWindow:self forID:_window];
[self sizeChanged];
[(X11Display*)[NSDisplay currentDisplay] setWindow:self forID:_window];
if(styleMask == NSBorderlessWindowMask)
{
[isa removeDecorationForWindow:_window onDisplay:_dpy];
}
}
if(styleMask == NSBorderlessWindowMask){
[isa removeDecorationForWindow:_window onDisplay:_dpy];
}
return self;
}
-(void)dealloc {
[self invalidate];
[_backingContext release];
[_cgContext release];
[_context release];
[_deviceDictionary release];
[super dealloc];
}
@ -115,15 +109,10 @@
sizeof (hints) / sizeof (long));
}
-(void)ensureMapped
{
if(!_mapped)
{
[_cgContext release];
-(void)ensureMapped {
if(!_mapped){
XMapWindow(_dpy, _window);
_mapped=YES;
_cgContext = [[CairoContext alloc] initWithWindow:self];
}
}
@ -138,8 +127,8 @@
-(void)invalidate {
_delegate=nil;
[_cgContext release];
_cgContext=nil;
[_context release];
_context=nil;
if(_window) {
[(X11Display*)[NSDisplay currentDisplay] setWindow:nil forID:_window];
@ -148,16 +137,50 @@
}
}
-(O2Context *)createCGContextIfNeeded {
if(_context==nil)
_context=[O2Context createContextWithSize:_frame.size window:self];
-(O2Context *)cgContext {
if(!_backingContext)
{
_backingContext=[[CairoContext alloc] initWithSize:_frame.size];
return _context;
}
-(O2Context *)createBackingCGContextIfNeeded {
if(_backingContext==nil){
_backingContext=[O2Context createBackingContextWithSize:_frame.size context:[self createCGContextIfNeeded] deviceDictionary:_deviceDictionary];
}
return _backingContext;
}
-(O2Context *)cgContext {
switch(_backingType){
case CGSBackingStoreRetained:
case CGSBackingStoreNonretained:
default:
return [self createCGContextIfNeeded];
case CGSBackingStoreBuffered:
return [self createBackingCGContextIfNeeded];
}
return nil;
}
-(void)invalidateContextsWithNewSize:(NSSize)size forceRebuild:(BOOL)forceRebuild {
if(!NSEqualSizes(_frame.size,size) || forceRebuild){
_frame.size=size;
if(![_context resizeWithNewSize:size]){
[_context release];
_context=nil;
}
[_backingContext release];
_backingContext=nil;
}
}
-(void)invalidateContextsWithNewSize:(NSSize)size {
[self invalidateContextsWithNewSize:size forceRebuild:NO];
}
-(void)setTitle:(NSString *)title {
XTextProperty prop;
@ -166,31 +189,25 @@
XSetWMName(_dpy, _window, &prop);
}
-(void)setFrame:(NSRect)frame {
-(void)setFrame:(O2Rect)frame {
frame=[self transformFrame:frame];
XMoveResizeWindow(_dpy, _window, frame.origin.x, frame.origin.y, frame.size.width, frame.size.height);
[_cgContext setSize:[self frame].size];
[_backingContext setSize:[self frame].size];
}
[self invalidateContextsWithNewSize:frame.size];
}
-(void)showWindowForAppActivation:(NSRect)frame {
-(void)showWindowForAppActivation:(O2Rect)frame {
NSUnimplementedMethod();
}
-(void)hideWindowForAppDeactivation:(NSRect)frame {
-(void)hideWindowForAppDeactivation:(O2Rect)frame {
NSUnimplementedMethod();
}
-(void)hideWindow {
XUnmapWindow(_dpy, _window);
_mapped=NO;
[_cgContext release];
_cgContext=nil;
}
-(void)placeAboveWindow:(X11Window *)other {
[self ensureMapped];
@ -239,7 +256,22 @@
-(void)flushBuffer {
[_cgContext copyFromBackingContext:_backingContext];
switch(_backingType){
case CGSBackingStoreRetained:
case CGSBackingStoreNonretained:
O2ContextFlush(_context);
break;
case CGSBackingStoreBuffered:
if(_backingContext!=nil){
O2ContextFlush(_backingContext);
[_context drawBackingContext:_backingContext size:_frame.size];
O2ContextFlush(_context);
}
break;
}
}
@ -249,7 +281,7 @@
}
-(NSRect)frame
-(O2Rect)frame
{
return [self transformFrame:_frame];
}
@ -273,7 +305,7 @@ static int ignoreBadWindow(Display* display,
int x, y;
unsigned int w, h, d, b, nchild;
Window* children;
NSRect rect=NSZeroRect;
O2Rect rect=NSZeroRect;
// recursively get geometry to get absolute position
BOOL success=YES;
while(window && success) {
@ -290,37 +322,26 @@ static int ignoreBadWindow(Display* display,
window=parent;
};
_frame=rect;
[self sizeChanged];
[self invalidateContextsWithNewSize:rect.size];
}
@finally {
XSetErrorHandler(previousHandler);
}
}
-(void)sizeChanged
{
[_cgContext setSize:_frame.size];
[_backingContext setSize:_frame.size];
}
-(Visual*)visual
{
-(Visual*)visual {
return DefaultVisual(_dpy, DefaultScreen(_dpy));
}
-(Drawable)drawable
{
-(Drawable)drawable {
return _window;
}
-(void)addEntriesToDeviceDictionary:(NSDictionary *)entries
{
-(void)addEntriesToDeviceDictionary:(NSDictionary *)entries {
[_deviceDictionary addEntriesFromDictionary:entries];
}
-(NSRect)transformFrame:(NSRect)frame
{
-(O2Rect)transformFrame:(O2Rect)frame {
return NSMakeRect(frame.origin.x, DisplayHeight(_dpy, DefaultScreen(_dpy)) - frame.origin.y - frame.size.height, fmax(frame.size.width, 1.0), fmax(frame.size.height, 1.0));
}
@ -347,6 +368,7 @@ static int ignoreBadWindow(Display* display,
static NSTimeInterval lastClickTimeStamp=0.0;
static int clickCount=0;
switch(ev->type) {
case DestroyNotify:
{
@ -363,10 +385,10 @@ static int ignoreBadWindow(Display* display,
}
case Expose:
{
NSRect rect=NSMakeRect(ev->xexpose.x, ev->xexpose.y, ev->xexpose.width, ev->xexpose.height);
O2Rect rect=NSMakeRect(ev->xexpose.x, ev->xexpose.y, ev->xexpose.width, ev->xexpose.height);
rect.origin.y=_frame.size.height-rect.origin.y-rect.size.height;
// rect=NSInsetRect(rect, -10, -10);
[_backingContext addToDirtyRect:rect];
// [_backingContext addToDirtyRect:rect];
if(ev->xexpose.count==0)
[self flushBuffer];
break;
@ -383,6 +405,7 @@ static int ignoreBadWindow(Display* display,
lastClickTimeStamp=now;
NSPoint pos=[self transformPoint:NSMakePoint(ev->xbutton.x, ev->xbutton.y)];
id event=[NSEvent mouseEventWithType:NSLeftMouseDown
location:pos
modifierFlags:[self modifierFlagsForState:ev->xbutton.state]
@ -392,8 +415,9 @@ static int ignoreBadWindow(Display* display,
break;
}
case ButtonRelease:
{
{
NSPoint pos=[self transformPoint:NSMakePoint(ev->xbutton.x, ev->xbutton.y)];
id event=[NSEvent mouseEventWithType:NSLeftMouseUp
location:pos
modifierFlags:[self modifierFlagsForState:ev->xbutton.state]

View File

@ -10,6 +10,7 @@
C889771E0EA0C0CD00D0A0A2 /* ApplicationServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FE32179C0BB41C65004F000A /* ApplicationServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
C8A2E2730F07E9B70054397C /* ApplicationServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FE32179C0BB41C65004F000A /* ApplicationServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE01AAE60C5D9BF900AEA51A /* ApplicationServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FE32179C0BB41C65004F000A /* ApplicationServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A889D10C6F34A005E348A /* ApplicationServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FE32179C0BB41C65004F000A /* ApplicationServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
@ -37,6 +38,14 @@
outputFiles = (
);
};
FE5A88A110C6F34A005E348A /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.freebsd.i386.gcc.default;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
/* End PBXBuildRule section */
/* Begin PBXContainerItemProxy section */
@ -61,6 +70,34 @@
remoteGlobalIDString = 28D487A90FE04E7100DC03EF;
remoteInfo = "Foundation-Linux-ppc";
};
FE5A886110C6F2A4005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FEC11BB10FD4B86500082282 /* CoreGraphics.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FE5A884510C6F286005E348A /* CoreGraphics.framework */;
remoteInfo = "CoreGraphics-FreeBSD-i386";
};
FE5A886D10C6F2A4005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FECAF5010DB7119B00BA2A8E /* Foundation.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FE30A2FF10C6ED6F00A1BF7F /* Foundation.framework */;
remoteInfo = "Foundation-FreeBSD-i386";
};
FE5A889110C6F2F5005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FE5A888E10C6F2F5005E348A /* CoreText.framework */;
remoteInfo = "CoreText-Linux-i386 copy";
};
FE5A88A910C6F35F005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = FE5A887C10C6F2F5005E348A /* CoreText-FreeBSD-i386 */;
remoteInfo = "CoreText-FreeBSD-i386";
};
FE5C3A8010633B9300710AEF /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FECAF5010DB7119B00BA2A8E /* Foundation.xcodeproj */;
@ -183,6 +220,7 @@
C8A2E2900F07E9B70054397C /* ApplicationServices.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ApplicationServices.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE01AAED0C5D9BF900AEA51A /* ApplicationServices.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ApplicationServices.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE32179C0BB41C65004F000A /* ApplicationServices.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ApplicationServices.h; sourceTree = "<group>"; };
FE5A88A410C6F34A005E348A /* ApplicationServices.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ApplicationServices.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FEC11BB10FD4B86500082282 /* CoreGraphics.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CoreGraphics.xcodeproj; path = ../CoreGraphics/CoreGraphics.xcodeproj; sourceTree = SOURCE_ROOT; };
FECAF5010DB7119B00BA2A8E /* Foundation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Foundation.xcodeproj; path = ../Foundation/Foundation.xcodeproj; sourceTree = SOURCE_ROOT; };
FECF921A0FFB222D007AECF1 /* CoreText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CoreText.xcodeproj; path = ../CoreText/CoreText.xcodeproj; sourceTree = SOURCE_ROOT; };
@ -210,6 +248,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A88A010C6F34A005E348A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@ -219,6 +264,7 @@
FE01AAED0C5D9BF900AEA51A /* ApplicationServices.framework */,
C88977390EA0C0CD00D0A0A2 /* ApplicationServices.framework */,
C8A2E2900F07E9B70054397C /* ApplicationServices.framework */,
FE5A88A410C6F34A005E348A /* ApplicationServices.framework */,
);
name = Products;
sourceTree = "<group>";
@ -284,6 +330,7 @@
FEC11BB60FD4B86500082282 /* CoreGraphics.framework */,
FEA316590FD5669200F480D4 /* CoreGraphics.framework */,
FEA3165B0FD5669200F480D4 /* CoreGraphics.framework */,
FE5A886210C6F2A4005E348A /* CoreGraphics.framework */,
);
name = Products;
sourceTree = "<group>";
@ -299,6 +346,7 @@
FE65207C0FBE3D6300464BFD /* Foundation.framework */,
FE13630F0FE72ECD00DE15FA /* Foundation.framework */,
FE5C3A8110633B9300710AEF /* Foundation.framework */,
FE5A886E10C6F2A4005E348A /* Foundation.framework */,
);
name = Products;
sourceTree = "<group>";
@ -309,6 +357,7 @@
FECF921F0FFB222D007AECF1 /* CoreText.framework */,
FECF92540FFB2A2B007AECF1 /* CoreText.framework */,
FECF92560FFB2A2B007AECF1 /* CoreText.framework */,
FE5A889210C6F2F5005E348A /* CoreText.framework */,
);
name = Products;
sourceTree = "<group>";
@ -340,6 +389,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A889C10C6F34A005E348A /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A889D10C6F34A005E348A /* ApplicationServices.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
@ -408,6 +465,27 @@
productReference = FE01AAED0C5D9BF900AEA51A /* ApplicationServices.framework */;
productType = "com.apple.product-type.framework";
};
FE5A889910C6F34A005E348A /* ApplicationServices-FreeBSD-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FE5A88A210C6F34A005E348A /* Build configuration list for PBXNativeTarget "ApplicationServices-FreeBSD-i386" */;
buildPhases = (
FE5A889C10C6F34A005E348A /* Headers */,
FE5A889E10C6F34A005E348A /* Resources */,
FE5A889F10C6F34A005E348A /* Sources */,
FE5A88A010C6F34A005E348A /* Frameworks */,
);
buildRules = (
FE5A88A110C6F34A005E348A /* PBXBuildRule */,
);
dependencies = (
FE5A88AA10C6F35F005E348A /* PBXTargetDependency */,
);
name = "ApplicationServices-FreeBSD-i386";
productInstallPath = "$(HOME)/Library/Frameworks";
productName = ApplicationServices;
productReference = FE5A88A410C6F34A005E348A /* ApplicationServices.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@ -438,6 +516,7 @@
FE01AAE20C5D9BF900AEA51A /* ApplicationServices-Windows-i386 */,
C889771C0EA0C0CD00D0A0A2 /* ApplicationServices-Linux-i386 */,
C8A2E2710F07E9B70054397C /* ApplicationServices-Darwin-i386 */,
FE5A889910C6F34A005E348A /* ApplicationServices-FreeBSD-i386 */,
);
};
/* End PBXProject section */
@ -450,6 +529,27 @@
remoteRef = FE13630E0FE72ECD00DE15FA /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FE5A886210C6F2A4005E348A /* CoreGraphics.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = CoreGraphics.framework;
remoteRef = FE5A886110C6F2A4005E348A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FE5A886E10C6F2A4005E348A /* Foundation.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = Foundation.framework;
remoteRef = FE5A886D10C6F2A4005E348A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FE5A889210C6F2F5005E348A /* CoreText.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = CoreText.framework;
remoteRef = FE5A889110C6F2F5005E348A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FE5C3A8110633B9300710AEF /* Foundation.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
@ -565,6 +665,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A889E10C6F34A005E348A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@ -589,6 +696,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A889F10C6F34A005E348A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
@ -602,6 +716,11 @@
name = "CoreGraphics-Darwin-i386";
targetProxy = FE0D38DB10ADE87F0003382F /* PBXContainerItemProxy */;
};
FE5A88AA10C6F35F005E348A /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "CoreText-FreeBSD-i386";
targetProxy = FE5A88A910C6F35F005E348A /* PBXContainerItemProxy */;
};
FEC11BB80FD4B88800082282 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "CoreGraphics-Windows-i386";
@ -703,6 +822,29 @@
};
name = Release;
};
FE5A88A310C6F34A005E348A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DSTROOT = /;
EXECUTABLE_SUFFIX = .so;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
OTHER_CFLAGS = (
"-DAPPLICATIONSERVICES_INSIDE_BUILD",
"-D__LITTLE_ENDIAN__",
);
OTHER_LDFLAGS = "";
PREBINDING = NO;
PRODUCT_NAME = ApplicationServices;
SYMROOT = /Developer/Cocotron/1.0/build/ApplicationServices/FreeBSD/i386;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@ -738,6 +880,14 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FE5A88A210C6F34A005E348A /* Build configuration list for PBXNativeTarget "ApplicationServices-FreeBSD-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FE5A88A310C6F34A005E348A /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>

View File

@ -15,6 +15,10 @@
FE01AB1A0C5D9C3400AEA51A /* Cocoa.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF3B2780B35CB9D00A76FD1 /* Cocoa.m */; };
FE01AB1C0C5D9C3400AEA51A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
FE01AB1D0C5D9C3400AEA51A /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
FE5A873410C6F1E8005E348A /* Cocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF3B23A0B35C74700A76FD1 /* Cocoa.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A873710C6F1E8005E348A /* Cocoa.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF3B2780B35CB9D00A76FD1 /* Cocoa.m */; };
FE5A873910C6F1E8005E348A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
FE5A873A10C6F1E8005E348A /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
FECC1DCC108D025D00BD4A91 /* Cocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF3B23A0B35C74700A76FD1 /* Cocoa.h */; settings = {ATTRIBUTES = (Public, ); }; };
FECC1DCF108D025D00BD4A91 /* Cocoa.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF3B2780B35CB9D00A76FD1 /* Cocoa.m */; };
FECC1DD1108D025D00BD4A91 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
@ -30,6 +34,14 @@
outputFiles = (
);
};
FE5A873B10C6F1E8005E348A /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.freebsd.i386.gcc.default;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
FECC1DDB108D02C600BD4A91 /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.linux.i386.gcc.default;
@ -104,13 +116,34 @@
remoteGlobalIDString = FEA3164C0FD5667D00F480D4;
remoteInfo = "AppKit-MacOS-i386";
};
FE5A88AC10C6F369005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FE3217D10BB41D16004F000A /* ApplicationServices.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FE5A88A410C6F34A005E348A;
remoteInfo = "ApplicationServices-FreeBSD-i386";
};
FE5A8CB710C828A5005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FE7135460B36427F006C9493 /* AppKit.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FE5A8BE310C6F50E005E348A;
remoteInfo = "AppKit-FreeBSD-i386";
};
FECC1DD9108D027000BD4A91 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FE7135460B36427F006C9493 /* AppKit.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = C889741E0EA0BF3100D0A0A2 /* AppKit-Linux-i386 */;
remoteGlobalIDString = C889741E0EA0BF3100D0A0A2;
remoteInfo = "AppKit-Linux-i386";
};
FEE044C210C99F84000BCEB8 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FE7135460B36427F006C9493 /* AppKit.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = FE5A88D610C6F50E005E348A;
remoteInfo = "AppKit-FreeBSD-i386";
};
FEF80ABD0C5D9F3000FF7CA5 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FE7135460B36427F006C9493 /* AppKit.xcodeproj */;
@ -134,9 +167,9 @@
C8E0BFAA0F0E6B0E00677729 /* Cocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE01AB210C5D9C3400AEA51A /* Cocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE3217D10BB41D16004F000A /* ApplicationServices.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ApplicationServices.xcodeproj; path = ../ApplicationServices/ApplicationServices.xcodeproj; sourceTree = SOURCE_ROOT; };
FE5A873F10C6F1E8005E348A /* Cocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE7135460B36427F006C9493 /* AppKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = AppKit.xcodeproj; path = ../AppKit/AppKit.xcodeproj; sourceTree = SOURCE_ROOT; };
FECC1DD6108D025D00BD4A91 /* Cocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FECC1DD7108D025D00BD4A91 /* Info copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info copy.plist"; sourceTree = "<group>"; };
FEF3B23A0B35C74700A76FD1 /* Cocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cocoa.h; sourceTree = "<group>"; };
FEF3B2780B35CB9D00A76FD1 /* Cocoa.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Cocoa.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
@ -160,6 +193,15 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A873810C6F1E8005E348A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A873910C6F1E8005E348A /* Foundation.framework in Frameworks */,
FE5A873A10C6F1E8005E348A /* AppKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FECC1DD0108D025D00BD4A91 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -178,6 +220,7 @@
FE01AB210C5D9C3400AEA51A /* Cocoa.framework */,
C8E0BFAA0F0E6B0E00677729 /* Cocoa.framework */,
FECC1DD6108D025D00BD4A91 /* Cocoa.framework */,
FE5A873F10C6F1E8005E348A /* Cocoa.framework */,
);
name = Products;
sourceTree = "<group>";
@ -211,7 +254,6 @@
isa = PBXGroup;
children = (
8DC2EF5A0486A6940098B216 /* Info.plist */,
FECC1DD7108D025D00BD4A91 /* Info copy.plist */,
);
name = Resources;
sourceTree = "<group>";
@ -252,6 +294,7 @@
FE01AB280C5D9C3500AEA51A /* ApplicationServices.framework */,
C8724AC30EC706C200DBDDAD /* ApplicationServices.framework */,
C8E0BF970F0E6AF300677729 /* ApplicationServices.framework */,
FE5A88AD10C6F369005E348A /* ApplicationServices.framework */,
);
name = Products;
sourceTree = "<group>";
@ -263,6 +306,7 @@
C8724AC00EC706C200DBDDAD /* AppKit.framework */,
C8E0BF930F0E6AF300677729 /* AppKit.framework */,
FE1362640FE7167F00DE15FA /* AppKit.framework */,
FE5A8CB810C828A5005E348A /* AppKit.framework */,
);
name = Products;
sourceTree = "<group>";
@ -286,6 +330,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A873310C6F1E8005E348A /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A873410C6F1E8005E348A /* Cocoa.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FECC1DCB108D025D00BD4A91 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@ -340,6 +392,27 @@
productReference = FE01AB210C5D9C3400AEA51A /* Cocoa.framework */;
productType = "com.apple.product-type.framework";
};
FE5A873010C6F1E8005E348A /* Cocoa-FreeBSD-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FE5A873C10C6F1E8005E348A /* Build configuration list for PBXNativeTarget "Cocoa-FreeBSD-i386" */;
buildPhases = (
FE5A873310C6F1E8005E348A /* Headers */,
FE5A873510C6F1E8005E348A /* Resources */,
FE5A873610C6F1E8005E348A /* Sources */,
FE5A873810C6F1E8005E348A /* Frameworks */,
);
buildRules = (
FE5A873B10C6F1E8005E348A /* PBXBuildRule */,
);
dependencies = (
FEE044C310C99F84000BCEB8 /* PBXTargetDependency */,
);
name = "Cocoa-FreeBSD-i386";
productInstallPath = "$(HOME)/Library/Frameworks";
productName = Cocoa;
productReference = FE5A873F10C6F1E8005E348A /* Cocoa.framework */;
productType = "com.apple.product-type.framework";
};
FECC1DC6108D025D00BD4A91 /* Cocoa-Linux-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FECC1DD3108D025D00BD4A91 /* Build configuration list for PBXNativeTarget "Cocoa-Linux-i386" */;
@ -387,6 +460,7 @@
FE01AB110C5D9C3400AEA51A /* Cocoa-Windows-i386 */,
C8E0BF990F0E6B0E00677729 /* Cocoa-Darwin-i386 */,
FECC1DC6108D025D00BD4A91 /* Cocoa-Linux-i386 */,
FE5A873010C6F1E8005E348A /* Cocoa-FreeBSD-i386 */,
);
};
/* End PBXProject section */
@ -441,6 +515,20 @@
remoteRef = FE1362630FE7167F00DE15FA /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FE5A88AD10C6F369005E348A /* ApplicationServices.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = ApplicationServices.framework;
remoteRef = FE5A88AC10C6F369005E348A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FE5A8CB810C828A5005E348A /* AppKit.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = AppKit.framework;
remoteRef = FE5A8CB710C828A5005E348A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
@ -458,6 +546,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A873510C6F1E8005E348A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
FECC1DCD108D025D00BD4A91 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -484,6 +579,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A873610C6F1E8005E348A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A873710C6F1E8005E348A /* Cocoa.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FECC1DCE108D025D00BD4A91 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -510,6 +613,11 @@
name = "AppKit-Linux-i386";
targetProxy = FECC1DD9108D027000BD4A91 /* PBXContainerItemProxy */;
};
FEE044C310C99F84000BCEB8 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "AppKit-FreeBSD-i386";
targetProxy = FEE044C210C99F84000BCEB8 /* PBXContainerItemProxy */;
};
FEF80ABE0C5D9F3000FF7CA5 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "AppKit-Windows-i386";
@ -641,6 +749,69 @@
};
name = Release;
};
FE5A873D10C6F1E8005E348A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DSTROOT = /;
EXECUTABLE_PREFIX = lib;
EXECUTABLE_SUFFIX = .so;
FRAMEWORK_SEARCH_PATHS = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
HEADER_SEARCH_PATHS = (
/Developer/Cocotron/1.0/FreeBSD/i386/include,
/Developer/Cocotron/1.0/FreeBSD/i386/include/freetype2,
/Developer/Cocotron/1.0/FreeBSD/i386/include/cairo,
/Developer/Cocotron/1.0/FreeBSD/i386/include/fontconfig,
/Developer/Cocotron/1.0/FreeBSD/i386/include,
);
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
LIBRARY_SEARCH_PATHS = /Developer/Cocotron/1.0/FreeBSD/i386/lib;
OTHER_CFLAGS = (
"-DCOCOA_INSIDE_BUILD",
"-D__LITTLE_ENDIAN__",
);
OTHER_LDFLAGS = (
"-shared",
"-lX11",
"-lcairo",
"-lfreetype",
"-lfontconfig",
);
PREBINDING = NO;
PRODUCT_NAME = Cocoa;
SYMROOT = /Developer/Cocotron/1.0/build/Cocoa/FreeBSD/i386;
};
name = Release;
};
FE5A873E10C6F1E8005E348A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DSTROOT = /;
EXECUTABLE_PREFIX = lib;
EXECUTABLE_SUFFIX = .so;
FRAMEWORK_SEARCH_PATHS = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
OTHER_CFLAGS = (
"-DCOCOA_INSIDE_BUILD",
"-D__LITTLE_ENDIAN__",
);
PREBINDING = NO;
PRODUCT_NAME = Cocoa;
SYMROOT = /Developer/Cocotron/1.0/build/Cocoa/FreeBSD/i386;
};
name = Debug;
};
FECC1DD4108D025D00BD4A91 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -719,6 +890,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FE5A873C10C6F1E8005E348A /* Build configuration list for PBXNativeTarget "Cocoa-FreeBSD-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FE5A873D10C6F1E8005E348A /* Release */,
FE5A873E10C6F1E8005E348A /* Debug */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FECC1DD3108D025D00BD4A91 /* Build configuration list for PBXNativeTarget "Cocoa-Linux-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (

View File

@ -8,6 +8,46 @@
/* Begin PBXBuildFile section */
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
FE5A869910C6EE28005E348A /* CFBase.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C60DC962D600598037 /* CFBase.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A869A10C6EE28005E348A /* CFLocale.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C70DC962D600598037 /* CFLocale.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A869B10C6EE28005E348A /* CFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C90DC962D600598037 /* CFNumber.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A869C10C6EE28005E348A /* CFNumberFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9CA0DC962D600598037 /* CFNumberFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A869D10C6EE28005E348A /* CFString.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9CB0DC962D600598037 /* CFString.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A869E10C6EE28005E348A /* CoreFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9F90DC9646300598037 /* CoreFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A869F10C6EE28005E348A /* CFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22530EFB669D004E378B /* CFArray.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86A010C6EE28005E348A /* CFAttributedString.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22540EFB669D004E378B /* CFAttributedString.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86A110C6EE28005E348A /* CFBag.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22550EFB669D004E378B /* CFBag.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86A210C6EE28005E348A /* CFBinaryHeap.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22560EFB669D004E378B /* CFBinaryHeap.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86A310C6EE28005E348A /* CFBitVector.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22570EFB669D004E378B /* CFBitVector.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86A410C6EE28005E348A /* CFBundle.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22580EFB669D004E378B /* CFBundle.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86A510C6EE28005E348A /* CFByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22590EFB669D004E378B /* CFByteOrder.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86A610C6EE28005E348A /* CFCalendar.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225A0EFB669D004E378B /* CFCalendar.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86A710C6EE28005E348A /* CFCharacterSet.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225B0EFB669D004E378B /* CFCharacterSet.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86A810C6EE28005E348A /* CFData.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225C0EFB669D004E378B /* CFData.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86A910C6EE28005E348A /* CFDate.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225D0EFB669D004E378B /* CFDate.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86AA10C6EE28005E348A /* CFDateFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225E0EFB669D004E378B /* CFDateFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86AB10C6EE28005E348A /* CFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED225F0EFB669D004E378B /* CFDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86AC10C6EE28005E348A /* CFError.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22600EFB669D004E378B /* CFError.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86AD10C6EE28005E348A /* CFFileDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22610EFB669D004E378B /* CFFileDescriptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86AE10C6EE28005E348A /* CFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22620EFB669D004E378B /* CFMachPort.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86AF10C6EE28005E348A /* CFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22630EFB669D004E378B /* CFMessagePort.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86B010C6EE28005E348A /* CFNotificationCenter.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22640EFB669D004E378B /* CFNotificationCenter.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86B110C6EE28005E348A /* CFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22650EFB669D004E378B /* CFPlugIn.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86B210C6EE28005E348A /* CFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22670EFB669D004E378B /* CFPreferences.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86B310C6EE28005E348A /* CFPropertyList.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22680EFB669D004E378B /* CFPropertyList.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86B410C6EE28005E348A /* CFRunLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22690EFB669D004E378B /* CFRunLoop.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86B510C6EE28005E348A /* CFSet.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226A0EFB669D004E378B /* CFSet.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86B610C6EE28005E348A /* CFSocket.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226B0EFB669D004E378B /* CFSocket.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86B710C6EE28005E348A /* CFStream.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226C0EFB669D004E378B /* CFStream.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86B810C6EE28005E348A /* CFStringTokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226D0EFB669D004E378B /* CFStringTokenizer.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86B910C6EE28005E348A /* CFTimeZone.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226E0EFB669D004E378B /* CFTimeZone.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86BA10C6EE28005E348A /* CFTree.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED226F0EFB669D004E378B /* CFTree.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86BB10C6EE28005E348A /* CFURL.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22700EFB669D004E378B /* CFURL.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86BC10C6EE28005E348A /* CFUserNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22710EFB669D004E378B /* CFUserNotification.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86BD10C6EE28005E348A /* CFUUID.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22720EFB669D004E378B /* CFUUID.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86BE10C6EE28005E348A /* CFXMLNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22730EFB669D004E378B /* CFXMLNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86BF10C6EE28005E348A /* CFXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = FEED22740EFB669D004E378B /* CFXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A86C110C6EE28005E348A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
FEA828B5109B754A00C7A732 /* CFBase.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C60DC962D600598037 /* CFBase.h */; settings = {ATTRIBUTES = (Public, ); }; };
FEA828B6109B754A00C7A732 /* CFLocale.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C70DC962D600598037 /* CFLocale.h */; settings = {ATTRIBUTES = (Public, ); }; };
FEA828B7109B754A00C7A732 /* CFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = FEE0F9C90DC962D600598037 /* CFNumber.h */; settings = {ATTRIBUTES = (Public, ); }; };
@ -210,6 +250,14 @@
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
FE5A86C410C6EE28005E348A /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.freebsd.i386.gcc.default;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
FEA828E0109B754A00C7A732 /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.linux.i386.gcc.default;
@ -256,6 +304,7 @@
089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8DC2EF5B0486A6940098B216 /* CoreFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE5A86C810C6EE28005E348A /* CoreFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FEA828E4109B754A00C7A732 /* CoreFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FEA82956109B75D600C7A732 /* CoreFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FEA82990109B773300C7A732 /* CoreFoundation.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreFoundation.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@ -309,6 +358,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A86C310C6EE28005E348A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
FEA828DF109B754A00C7A732 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -348,6 +404,7 @@
FEA82956109B75D600C7A732 /* CoreFoundation.framework */,
FEA82990109B773300C7A732 /* CoreFoundation.framework */,
FEA829CD109B7BFD00C7A732 /* CoreFoundation.framework */,
FE5A86C810C6EE28005E348A /* CoreFoundation.framework */,
);
name = Products;
sourceTree = "<group>";
@ -490,6 +547,52 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A869810C6EE28005E348A /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A869910C6EE28005E348A /* CFBase.h in Headers */,
FE5A869A10C6EE28005E348A /* CFLocale.h in Headers */,
FE5A869B10C6EE28005E348A /* CFNumber.h in Headers */,
FE5A869C10C6EE28005E348A /* CFNumberFormatter.h in Headers */,
FE5A869D10C6EE28005E348A /* CFString.h in Headers */,
FE5A869E10C6EE28005E348A /* CoreFoundation.h in Headers */,
FE5A869F10C6EE28005E348A /* CFArray.h in Headers */,
FE5A86A010C6EE28005E348A /* CFAttributedString.h in Headers */,
FE5A86A110C6EE28005E348A /* CFBag.h in Headers */,
FE5A86A210C6EE28005E348A /* CFBinaryHeap.h in Headers */,
FE5A86A310C6EE28005E348A /* CFBitVector.h in Headers */,
FE5A86A410C6EE28005E348A /* CFBundle.h in Headers */,
FE5A86A510C6EE28005E348A /* CFByteOrder.h in Headers */,
FE5A86A610C6EE28005E348A /* CFCalendar.h in Headers */,
FE5A86A710C6EE28005E348A /* CFCharacterSet.h in Headers */,
FE5A86A810C6EE28005E348A /* CFData.h in Headers */,
FE5A86A910C6EE28005E348A /* CFDate.h in Headers */,
FE5A86AA10C6EE28005E348A /* CFDateFormatter.h in Headers */,
FE5A86AB10C6EE28005E348A /* CFDictionary.h in Headers */,
FE5A86AC10C6EE28005E348A /* CFError.h in Headers */,
FE5A86AD10C6EE28005E348A /* CFFileDescriptor.h in Headers */,
FE5A86AE10C6EE28005E348A /* CFMachPort.h in Headers */,
FE5A86AF10C6EE28005E348A /* CFMessagePort.h in Headers */,
FE5A86B010C6EE28005E348A /* CFNotificationCenter.h in Headers */,
FE5A86B110C6EE28005E348A /* CFPlugIn.h in Headers */,
FE5A86B210C6EE28005E348A /* CFPreferences.h in Headers */,
FE5A86B310C6EE28005E348A /* CFPropertyList.h in Headers */,
FE5A86B410C6EE28005E348A /* CFRunLoop.h in Headers */,
FE5A86B510C6EE28005E348A /* CFSet.h in Headers */,
FE5A86B610C6EE28005E348A /* CFSocket.h in Headers */,
FE5A86B710C6EE28005E348A /* CFStream.h in Headers */,
FE5A86B810C6EE28005E348A /* CFStringTokenizer.h in Headers */,
FE5A86B910C6EE28005E348A /* CFTimeZone.h in Headers */,
FE5A86BA10C6EE28005E348A /* CFTree.h in Headers */,
FE5A86BB10C6EE28005E348A /* CFURL.h in Headers */,
FE5A86BC10C6EE28005E348A /* CFUserNotification.h in Headers */,
FE5A86BD10C6EE28005E348A /* CFUUID.h in Headers */,
FE5A86BE10C6EE28005E348A /* CFXMLNode.h in Headers */,
FE5A86BF10C6EE28005E348A /* CFXMLParser.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FEA828B4109B754A00C7A732 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@ -697,6 +800,26 @@
productReference = 8DC2EF5B0486A6940098B216 /* CoreFoundation.framework */;
productType = "com.apple.product-type.framework";
};
FE5A869710C6EE28005E348A /* CoreFoundation-FreeBSD-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FE5A86C510C6EE28005E348A /* Build configuration list for PBXNativeTarget "CoreFoundation-FreeBSD-i386" */;
buildPhases = (
FE5A869810C6EE28005E348A /* Headers */,
FE5A86C010C6EE28005E348A /* Resources */,
FE5A86C210C6EE28005E348A /* Sources */,
FE5A86C310C6EE28005E348A /* Frameworks */,
);
buildRules = (
FE5A86C410C6EE28005E348A /* PBXBuildRule */,
);
dependencies = (
);
name = "CoreFoundation-FreeBSD-i386";
productInstallPath = "$(HOME)/Library/Frameworks";
productName = CoreFoundation;
productReference = FE5A86C810C6EE28005E348A /* CoreFoundation.framework */;
productType = "com.apple.product-type.framework";
};
FEA828B3109B754A00C7A732 /* CoreFoundation-Linux-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FEA828E1109B754A00C7A732 /* Build configuration list for PBXNativeTarget "CoreFoundation-Linux-i386" */;
@ -795,6 +918,7 @@
FEA82925109B75D600C7A732 /* CoreFoundation-Darwin-i386 */,
FEA8295F109B773300C7A732 /* CoreFoundation-Linux-arm */,
FEA8299C109B7BFD00C7A732 /* CoreFoundation-Linux-ppc */,
FE5A869710C6EE28005E348A /* CoreFoundation-FreeBSD-i386 */,
);
};
/* End PBXProject section */
@ -808,6 +932,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A86C010C6EE28005E348A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A86C110C6EE28005E348A /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FEA828DC109B754A00C7A732 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -850,6 +982,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A86C210C6EE28005E348A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
FEA828DE109B754A00C7A732 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -960,6 +1099,46 @@
};
name = Release;
};
FE5A86C610C6EE28005E348A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /;
EXECUTABLE_SUFFIX = .so;
INFOPLIST_FILE = Info.plist;
INSTALL_MODE_FLAG = "og-w,a+rX";
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
OTHER_CFLAGS = "-DCOREFOUNDATION_INSIDE_BUILD";
PRODUCT_NAME = CoreFoundation;
SDKROOT = "";
STRIP_INSTALLED_PRODUCT = YES;
SYMROOT = /Developer/Cocotron/1.0/build/CoreFoundation/FreeBSD/i386;
};
name = Debug;
};
FE5A86C710C6EE28005E348A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /;
EXECUTABLE_SUFFIX = .so;
INFOPLIST_FILE = Info.plist;
INSTALL_MODE_FLAG = "og-w,a+rX";
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
OTHER_CFLAGS = "-DCOREFOUNDATION_INSIDE_BUILD";
PRODUCT_NAME = CoreFoundation;
SDKROOT = "";
STRIP_INSTALLED_PRODUCT = YES;
SYMROOT = /Developer/Cocotron/1.0/build/CoreFoundation/FreeBSD/i386;
};
name = Release;
};
FEA828E2109B754A00C7A732 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -1141,6 +1320,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FE5A86C510C6EE28005E348A /* Build configuration list for PBXNativeTarget "CoreFoundation-FreeBSD-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FE5A86C610C6EE28005E348A /* Debug */,
FE5A86C710C6EE28005E348A /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FEA828E1109B754A00C7A732 /* Build configuration list for PBXNativeTarget "CoreFoundation-Linux-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (

View File

@ -27,6 +27,6 @@ static inline const O2PatternCallbacks *O2PatternCallbacksFromCG(const CGPattern
return (const O2PatternCallbacks *)callbacks;
}
static inline const O2PathApplierFunction O2PathApplierFunctionFromCG(const CGPathApplierFunction function){
return (const O2PathApplierFunction)function;
static inline O2PathApplierFunction O2PathApplierFunctionFromCG(const CGPathApplierFunction function){
return (O2PathApplierFunction)function;
}

View File

@ -11,11 +11,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
typedef struct O2Font *CGFontRef;
#ifndef WIN32
typedef uint32_t CGGlyph;
#else
typedef unsigned short CGGlyph;
#endif
typedef uint16_t CGGlyph;
COREGRAPHICS_EXPORT CGFontRef CGFontCreateWithFontName(CFStringRef name);
COREGRAPHICS_EXPORT CGFontRef CGFontRetain(CGFontRef self);

View File

@ -10,6 +10,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
@class O2Context,CGEvent;
typedef enum {
CGSBackingStoreRetained=0,
CGSBackingStoreNonretained=1,
CGSBackingStoreBuffered=2
} CGSBackingStoreType;
@interface CGWindow : NSObject
-(void)setDelegate:delegate;

View File

@ -13,15 +13,206 @@
FE3C8540108779410018252A /* O2Geometry.m in Sources */ = {isa = PBXBuildFile; fileRef = FE3C853C108779410018252A /* O2Geometry.m */; };
FE3C8541108779410018252A /* O2AffineTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C8539108779410018252A /* O2AffineTransform.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE3C8542108779410018252A /* O2AffineTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = FE3C853A108779410018252A /* O2AffineTransform.m */; };
FE3C8543108779410018252A /* O2Geometry.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C853B108779410018252A /* O2Geometry.h */; };
FE3C8543108779410018252A /* O2Geometry.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C853B108779410018252A /* O2Geometry.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE3C8544108779410018252A /* O2Geometry.m in Sources */ = {isa = PBXBuildFile; fileRef = FE3C853C108779410018252A /* O2Geometry.m */; };
FE3C8545108779410018252A /* O2AffineTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C8539108779410018252A /* O2AffineTransform.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE3C8546108779410018252A /* O2AffineTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = FE3C853A108779410018252A /* O2AffineTransform.m */; };
FE3C8547108779410018252A /* O2Geometry.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C853B108779410018252A /* O2Geometry.h */; };
FE3C8547108779410018252A /* O2Geometry.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C853B108779410018252A /* O2Geometry.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE3C8548108779410018252A /* O2Geometry.m in Sources */ = {isa = PBXBuildFile; fileRef = FE3C853C108779410018252A /* O2Geometry.m */; };
FE3C85961087928D0018252A /* CGConversions.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C85951087928D0018252A /* CGConversions.h */; };
FE3C85971087928D0018252A /* CGConversions.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C85951087928D0018252A /* CGConversions.h */; };
FE3C85981087928D0018252A /* CGConversions.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C85951087928D0018252A /* CGConversions.h */; };
FE5A877F10C6F286005E348A /* CGAffineTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A380FD4B4D600082282 /* CGAffineTransform.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878010C6F286005E348A /* CGBitmapContext.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A3A0FD4B4D600082282 /* CGBitmapContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878110C6F286005E348A /* CGColor.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A3C0FD4B4D600082282 /* CGColor.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878210C6F286005E348A /* CGColorSpace.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A3E0FD4B4D600082282 /* CGColorSpace.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878310C6F286005E348A /* CGContext.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A400FD4B4D600082282 /* CGContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878410C6F286005E348A /* CGDataProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A420FD4B4D600082282 /* CGDataProvider.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878510C6F286005E348A /* CGEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A440FD4B4D600082282 /* CGEvent.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878610C6F286005E348A /* CGFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A460FD4B4D600082282 /* CGFont.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878710C6F286005E348A /* CGFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A480FD4B4D600082282 /* CGFunction.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878810C6F286005E348A /* CGGeometry.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A4A0FD4B4D600082282 /* CGGeometry.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878910C6F286005E348A /* CGImage.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A4C0FD4B4D600082282 /* CGImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878A10C6F286005E348A /* CGImageProperties.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A4E0FD4B4D600082282 /* CGImageProperties.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878B10C6F286005E348A /* CGImageSource.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A500FD4B4D600082282 /* CGImageSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878C10C6F286005E348A /* CGLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A520FD4B4D600082282 /* CGLayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878D10C6F286005E348A /* CGPath.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A540FD4B4D600082282 /* CGPath.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878E10C6F286005E348A /* CGPattern.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A560FD4B4D600082282 /* CGPattern.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A878F10C6F286005E348A /* CGPDFDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A580FD4B4D600082282 /* CGPDFDocument.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A879010C6F286005E348A /* CGPDFPage.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A5A0FD4B4D600082282 /* CGPDFPage.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A879110C6F286005E348A /* CGShading.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A5C0FD4B4D600082282 /* CGShading.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A879210C6F286005E348A /* CGWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A5E0FD4B4D600082282 /* CGWindow.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A879310C6F286005E348A /* CoreGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A600FD4B4D600082282 /* CoreGraphics.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A879410C6F286005E348A /* CoreGraphicsExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A610FD4B4D600082282 /* CoreGraphicsExport.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A879510C6F286005E348A /* gif_lib.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A630FD4B4D600082282 /* gif_lib.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A879610C6F286005E348A /* O2BitmapContext.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A650FD4B4D600082282 /* O2BitmapContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A879710C6F286005E348A /* O2Blending.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A670FD4B4D600082282 /* O2Blending.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A879810C6F286005E348A /* O2ClipPhase.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A680FD4B4D600082282 /* O2ClipPhase.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A879910C6F286005E348A /* O2Color.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A6A0FD4B4D600082282 /* O2Color.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A879A10C6F286005E348A /* O2ColorSpace+PDF.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A6C0FD4B4D600082282 /* O2ColorSpace+PDF.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A879B10C6F286005E348A /* O2ColorSpace.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A6E0FD4B4D600082282 /* O2ColorSpace.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A879C10C6F286005E348A /* O2Context.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A700FD4B4D600082282 /* O2Context.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A879D10C6F286005E348A /* O2Context_builtin.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A720FD4B4D600082282 /* O2Context_builtin.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A879E10C6F286005E348A /* O2DataProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A740FD4B4D600082282 /* O2DataProvider.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A879F10C6F286005E348A /* O2Exceptions.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A760FD4B4D600082282 /* O2Exceptions.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87A010C6F286005E348A /* O2Font.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A770FD4B4D600082282 /* O2Font.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87A110C6F286005E348A /* O2Function+PDF.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A790FD4B4D600082282 /* O2Function+PDF.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87A210C6F286005E348A /* O2Function.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A7B0FD4B4D600082282 /* O2Function.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87A310C6F286005E348A /* O2GraphicsState.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A7D0FD4B4D600082282 /* O2GraphicsState.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87A410C6F286005E348A /* O2Image+PDF.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A7F0FD4B4D600082282 /* O2Image+PDF.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87A510C6F286005E348A /* O2Image.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A810FD4B4D600082282 /* O2Image.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87A610C6F286005E348A /* O2ImageSource.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A830FD4B4D600082282 /* O2ImageSource.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87A710C6F286005E348A /* O2ImageSource_BMP.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A850FD4B4D600082282 /* O2ImageSource_BMP.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87A810C6F286005E348A /* O2ImageSource_GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A870FD4B4D600082282 /* O2ImageSource_GIF.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87A910C6F286005E348A /* O2ImageSource_JPEG.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A890FD4B4D600082282 /* O2ImageSource_JPEG.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87AA10C6F286005E348A /* O2ImageSource_PNG.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A8B0FD4B4D600082282 /* O2ImageSource_PNG.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87AB10C6F286005E348A /* O2ImageSource_TIFF.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A8D0FD4B4D600082282 /* O2ImageSource_TIFF.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87AC10C6F286005E348A /* O2Layer.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A8F0FD4B4D600082282 /* O2Layer.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87AD10C6F286005E348A /* O2MutablePath.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A910FD4B4D600082282 /* O2MutablePath.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87AE10C6F286005E348A /* O2Paint.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A930FD4B4D600082282 /* O2Paint.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87AF10C6F286005E348A /* O2Paint_axialGradient.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A950FD4B4D600082282 /* O2Paint_axialGradient.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87B010C6F286005E348A /* O2Paint_color.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A970FD4B4D600082282 /* O2Paint_color.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87B110C6F286005E348A /* O2Paint_image.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A990FD4B4D600082282 /* O2Paint_image.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87B210C6F286005E348A /* O2Paint_pattern.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A9B0FD4B4D600082282 /* O2Paint_pattern.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87B310C6F286005E348A /* O2Paint_radialGradient.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A9D0FD4B4D600082282 /* O2Paint_radialGradient.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87B410C6F286005E348A /* O2Paint_ramp.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A9F0FD4B4D600082282 /* O2Paint_ramp.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87B510C6F286005E348A /* O2Path.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AA10FD4B4D600082282 /* O2Path.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87B610C6F286005E348A /* O2Pattern.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AA30FD4B4D600082282 /* O2Pattern.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87B710C6F286005E348A /* O2PDFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AA50FD4B4D600082282 /* O2PDFArray.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87B810C6F286005E348A /* O2PDFContentStream.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AA70FD4B4D600082282 /* O2PDFContentStream.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87B910C6F286005E348A /* O2PDFContext.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AA90FD4B4D600082282 /* O2PDFContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87BA10C6F286005E348A /* O2PDFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AAB0FD4B4D600082282 /* O2PDFDictionary.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87BB10C6F286005E348A /* O2PDFDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AAD0FD4B4D600082282 /* O2PDFDocument.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87BC10C6F286005E348A /* O2PDFFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AAF0FD4B4D600082282 /* O2PDFFilter.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87BD10C6F286005E348A /* O2PDFFunction_Type2.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AB10FD4B4D600082282 /* O2PDFFunction_Type2.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87BE10C6F286005E348A /* O2PDFFunction_Type3.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AB30FD4B4D600082282 /* O2PDFFunction_Type3.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87BF10C6F286005E348A /* O2PDFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AB50FD4B4D600082282 /* O2PDFObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87C010C6F286005E348A /* O2PDFObject_Boolean.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AB70FD4B4D600082282 /* O2PDFObject_Boolean.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87C110C6F286005E348A /* O2PDFObject_const.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AB90FD4B4D600082282 /* O2PDFObject_const.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87C210C6F286005E348A /* O2PDFObject_identifier.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ABB0FD4B4D600082282 /* O2PDFObject_identifier.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87C310C6F286005E348A /* O2PDFObject_Integer.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ABD0FD4B4D600082282 /* O2PDFObject_Integer.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87C410C6F286005E348A /* O2PDFObject_Name.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ABF0FD4B4D600082282 /* O2PDFObject_Name.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87C510C6F286005E348A /* O2PDFObject_R.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AC10FD4B4D600082282 /* O2PDFObject_R.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87C610C6F286005E348A /* O2PDFObject_Real.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AC30FD4B4D600082282 /* O2PDFObject_Real.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87C710C6F286005E348A /* O2PDFOperators.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AC50FD4B4D600082282 /* O2PDFOperators.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87C810C6F286005E348A /* O2PDFOperatorTable.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AC70FD4B4D600082282 /* O2PDFOperatorTable.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87C910C6F286005E348A /* O2PDFPage.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AC90FD4B4D600082282 /* O2PDFPage.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87CA10C6F286005E348A /* O2PDFScanner.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ACB0FD4B4D600082282 /* O2PDFScanner.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87CB10C6F286005E348A /* O2PDFStream.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ACD0FD4B4D600082282 /* O2PDFStream.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87CC10C6F286005E348A /* O2PDFString.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ACF0FD4B4D600082282 /* O2PDFString.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87CD10C6F286005E348A /* O2PDFxref.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AD10FD4B4D600082282 /* O2PDFxref.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87CE10C6F286005E348A /* O2PDFxrefEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AD30FD4B4D600082282 /* O2PDFxrefEntry.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87CF10C6F286005E348A /* O2Shading+PDF.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AD50FD4B4D600082282 /* O2Shading+PDF.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87D010C6F286005E348A /* O2Shading.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AD70FD4B4D600082282 /* O2Shading.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87D110C6F286005E348A /* O2Surface.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AD90FD4B4D600082282 /* O2Surface.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87D210C6F286005E348A /* O2zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11ADB0FD4B4D600082282 /* O2zlib.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87D310C6F286005E348A /* NSTIFFImageFileDirectory.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE10FD4B4D600082282 /* NSTIFFImageFileDirectory.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87D410C6F286005E348A /* O2Decoder_TIFF.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE30FD4B4D600082282 /* O2Decoder_TIFF.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87D510C6F286005E348A /* VGmath.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE50FD4B4D600082282 /* VGmath.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87D610C6F286005E348A /* VGPath.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11AE60FD4B4D600082282 /* VGPath.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87D710C6F286005E348A /* CGDataConsumer.h in Headers */ = {isa = PBXBuildFile; fileRef = FE9DB45F0FD6C38300A1CE17 /* CGDataConsumer.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A87D810C6F286005E348A /* O2DataConsumer.h in Headers */ = {isa = PBXBuildFile; fileRef = FEAED70E0FD6C40E0043F915 /* O2DataConsumer.h */; };
FE5A87D910C6F286005E348A /* CGPDFContext.h in Headers */ = {isa = PBXBuildFile; fileRef = FEAED71A0FD6C4460043F915 /* CGPDFContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A87DA10C6F286005E348A /* O2LZW.h in Headers */ = {isa = PBXBuildFile; fileRef = FEBF5BCD100D8B2C00F64C71 /* O2LZW.h */; };
FE5A87DB10C6F286005E348A /* O2AffineTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C8539108779410018252A /* O2AffineTransform.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87DC10C6F286005E348A /* O2Geometry.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C853B108779410018252A /* O2Geometry.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A87DD10C6F286005E348A /* CGConversions.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3C85951087928D0018252A /* CGConversions.h */; };
FE5A87DE10C6F286005E348A /* CGImageDestination.h in Headers */ = {isa = PBXBuildFile; fileRef = FE8C020A10C59BB300FE4072 /* CGImageDestination.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A87DF10C6F286005E348A /* O2Encoder_TIFF.h in Headers */ = {isa = PBXBuildFile; fileRef = FE8C020C10C59BB300FE4072 /* O2Encoder_TIFF.h */; };
FE5A87E010C6F286005E348A /* O2ImageDestination.h in Headers */ = {isa = PBXBuildFile; fileRef = FE8C020E10C59BB300FE4072 /* O2ImageDestination.h */; };
FE5A87E310C6F286005E348A /* CGAffineTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A390FD4B4D600082282 /* CGAffineTransform.m */; };
FE5A87E410C6F286005E348A /* CGBitmapContext.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A3B0FD4B4D600082282 /* CGBitmapContext.m */; };
FE5A87E510C6F286005E348A /* CGColor.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A3D0FD4B4D600082282 /* CGColor.m */; };
FE5A87E610C6F286005E348A /* CGColorSpace.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A3F0FD4B4D600082282 /* CGColorSpace.m */; };
FE5A87E710C6F286005E348A /* CGContext.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A410FD4B4D600082282 /* CGContext.m */; };
FE5A87E810C6F286005E348A /* CGDataProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A430FD4B4D600082282 /* CGDataProvider.m */; };
FE5A87E910C6F286005E348A /* CGEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A450FD4B4D600082282 /* CGEvent.m */; };
FE5A87EA10C6F286005E348A /* CGFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A470FD4B4D600082282 /* CGFont.m */; };
FE5A87EB10C6F286005E348A /* CGFunction.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A490FD4B4D600082282 /* CGFunction.m */; };
FE5A87EC10C6F286005E348A /* CGGeometry.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A4B0FD4B4D600082282 /* CGGeometry.m */; };
FE5A87ED10C6F286005E348A /* CGImage.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A4D0FD4B4D600082282 /* CGImage.m */; };
FE5A87EE10C6F286005E348A /* CGImageProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A4F0FD4B4D600082282 /* CGImageProperties.m */; };
FE5A87EF10C6F286005E348A /* CGImageSource.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A510FD4B4D600082282 /* CGImageSource.m */; };
FE5A87F010C6F286005E348A /* CGLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A530FD4B4D600082282 /* CGLayer.m */; };
FE5A87F110C6F286005E348A /* CGPath.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A550FD4B4D600082282 /* CGPath.m */; };
FE5A87F210C6F286005E348A /* CGPattern.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A570FD4B4D600082282 /* CGPattern.m */; };
FE5A87F310C6F286005E348A /* CGPDFDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A590FD4B4D600082282 /* CGPDFDocument.m */; };
FE5A87F410C6F286005E348A /* CGPDFPage.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A5B0FD4B4D600082282 /* CGPDFPage.m */; };
FE5A87F510C6F286005E348A /* CGShading.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A5D0FD4B4D600082282 /* CGShading.m */; };
FE5A87F610C6F286005E348A /* CGWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A5F0FD4B4D600082282 /* CGWindow.m */; };
FE5A87F710C6F286005E348A /* gif_lib.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A640FD4B4D600082282 /* gif_lib.m */; };
FE5A87F810C6F286005E348A /* O2BitmapContext.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A660FD4B4D600082282 /* O2BitmapContext.m */; };
FE5A87F910C6F286005E348A /* O2ClipPhase.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A690FD4B4D600082282 /* O2ClipPhase.m */; };
FE5A87FA10C6F286005E348A /* O2Color.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A6B0FD4B4D600082282 /* O2Color.m */; };
FE5A87FB10C6F286005E348A /* O2ColorSpace+PDF.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A6D0FD4B4D600082282 /* O2ColorSpace+PDF.m */; };
FE5A87FC10C6F286005E348A /* O2ColorSpace.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A6F0FD4B4D600082282 /* O2ColorSpace.m */; };
FE5A87FD10C6F286005E348A /* O2Context.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A710FD4B4D600082282 /* O2Context.m */; };
FE5A87FE10C6F286005E348A /* O2Context_builtin.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A730FD4B4D600082282 /* O2Context_builtin.m */; };
FE5A87FF10C6F286005E348A /* O2DataProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A750FD4B4D600082282 /* O2DataProvider.m */; };
FE5A880010C6F286005E348A /* O2Font.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A780FD4B4D600082282 /* O2Font.m */; };
FE5A880110C6F286005E348A /* O2Function+PDF.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A7A0FD4B4D600082282 /* O2Function+PDF.m */; };
FE5A880210C6F286005E348A /* O2Function.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A7C0FD4B4D600082282 /* O2Function.m */; };
FE5A880310C6F286005E348A /* O2GraphicsState.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A7E0FD4B4D600082282 /* O2GraphicsState.m */; };
FE5A880410C6F286005E348A /* O2Image+PDF.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A800FD4B4D600082282 /* O2Image+PDF.m */; };
FE5A880510C6F286005E348A /* O2Image.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A820FD4B4D600082282 /* O2Image.m */; };
FE5A880610C6F286005E348A /* O2ImageSource.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A840FD4B4D600082282 /* O2ImageSource.m */; };
FE5A880710C6F286005E348A /* O2ImageSource_BMP.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A860FD4B4D600082282 /* O2ImageSource_BMP.m */; };
FE5A880810C6F286005E348A /* O2ImageSource_GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A880FD4B4D600082282 /* O2ImageSource_GIF.m */; };
FE5A880910C6F286005E348A /* O2ImageSource_JPEG.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A8A0FD4B4D600082282 /* O2ImageSource_JPEG.m */; };
FE5A880A10C6F286005E348A /* O2ImageSource_PNG.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A8C0FD4B4D600082282 /* O2ImageSource_PNG.m */; };
FE5A880B10C6F286005E348A /* O2ImageSource_TIFF.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A8E0FD4B4D600082282 /* O2ImageSource_TIFF.m */; };
FE5A880C10C6F286005E348A /* O2Layer.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A900FD4B4D600082282 /* O2Layer.m */; };
FE5A880D10C6F286005E348A /* O2MutablePath.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A920FD4B4D600082282 /* O2MutablePath.m */; };
FE5A880E10C6F286005E348A /* O2Paint.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A940FD4B4D600082282 /* O2Paint.m */; };
FE5A880F10C6F286005E348A /* O2Paint_axialGradient.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A960FD4B4D600082282 /* O2Paint_axialGradient.m */; };
FE5A881010C6F286005E348A /* O2Paint_color.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A980FD4B4D600082282 /* O2Paint_color.m */; };
FE5A881110C6F286005E348A /* O2Paint_image.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A9A0FD4B4D600082282 /* O2Paint_image.m */; };
FE5A881210C6F286005E348A /* O2Paint_pattern.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A9C0FD4B4D600082282 /* O2Paint_pattern.m */; };
FE5A881310C6F286005E348A /* O2Paint_radialGradient.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11A9E0FD4B4D600082282 /* O2Paint_radialGradient.m */; };
FE5A881410C6F286005E348A /* O2Paint_ramp.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AA00FD4B4D600082282 /* O2Paint_ramp.m */; };
FE5A881510C6F286005E348A /* O2Path.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AA20FD4B4D600082282 /* O2Path.m */; };
FE5A881610C6F286005E348A /* O2Pattern.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AA40FD4B4D600082282 /* O2Pattern.m */; };
FE5A881710C6F286005E348A /* O2PDFArray.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AA60FD4B4D600082282 /* O2PDFArray.m */; };
FE5A881810C6F286005E348A /* O2PDFContentStream.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AA80FD4B4D600082282 /* O2PDFContentStream.m */; };
FE5A881910C6F286005E348A /* O2PDFContext.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AAA0FD4B4D600082282 /* O2PDFContext.m */; };
FE5A881A10C6F286005E348A /* O2PDFDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AAC0FD4B4D600082282 /* O2PDFDictionary.m */; };
FE5A881B10C6F286005E348A /* O2PDFDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AAE0FD4B4D600082282 /* O2PDFDocument.m */; };
FE5A881C10C6F286005E348A /* O2PDFFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AB00FD4B4D600082282 /* O2PDFFilter.m */; };
FE5A881D10C6F286005E348A /* O2PDFFunction_Type2.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AB20FD4B4D600082282 /* O2PDFFunction_Type2.m */; };
FE5A881E10C6F286005E348A /* O2PDFFunction_Type3.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AB40FD4B4D600082282 /* O2PDFFunction_Type3.m */; };
FE5A881F10C6F286005E348A /* O2PDFObject.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AB60FD4B4D600082282 /* O2PDFObject.m */; };
FE5A882010C6F286005E348A /* O2PDFObject_Boolean.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AB80FD4B4D600082282 /* O2PDFObject_Boolean.m */; };
FE5A882110C6F286005E348A /* O2PDFObject_const.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ABA0FD4B4D600082282 /* O2PDFObject_const.m */; };
FE5A882210C6F286005E348A /* O2PDFObject_identifier.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ABC0FD4B4D600082282 /* O2PDFObject_identifier.m */; };
FE5A882310C6F286005E348A /* O2PDFObject_Integer.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ABE0FD4B4D600082282 /* O2PDFObject_Integer.m */; };
FE5A882410C6F286005E348A /* O2PDFObject_Name.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AC00FD4B4D600082282 /* O2PDFObject_Name.m */; };
FE5A882510C6F286005E348A /* O2PDFObject_R.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AC20FD4B4D600082282 /* O2PDFObject_R.m */; };
FE5A882610C6F286005E348A /* O2PDFObject_Real.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AC40FD4B4D600082282 /* O2PDFObject_Real.m */; };
FE5A882710C6F286005E348A /* O2PDFOperators.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AC60FD4B4D600082282 /* O2PDFOperators.m */; };
FE5A882810C6F286005E348A /* O2PDFOperatorTable.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AC80FD4B4D600082282 /* O2PDFOperatorTable.m */; };
FE5A882910C6F286005E348A /* O2PDFPage.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ACA0FD4B4D600082282 /* O2PDFPage.m */; };
FE5A882A10C6F286005E348A /* O2PDFScanner.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ACC0FD4B4D600082282 /* O2PDFScanner.m */; };
FE5A882B10C6F286005E348A /* O2PDFStream.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ACE0FD4B4D600082282 /* O2PDFStream.m */; };
FE5A882C10C6F286005E348A /* O2PDFString.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AD00FD4B4D600082282 /* O2PDFString.m */; };
FE5A882D10C6F286005E348A /* O2PDFxref.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AD20FD4B4D600082282 /* O2PDFxref.m */; };
FE5A882E10C6F286005E348A /* O2PDFxrefEntry.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AD40FD4B4D600082282 /* O2PDFxrefEntry.m */; };
FE5A882F10C6F286005E348A /* O2Shading+PDF.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AD60FD4B4D600082282 /* O2Shading+PDF.m */; };
FE5A883010C6F286005E348A /* O2Shading.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AD80FD4B4D600082282 /* O2Shading.m */; };
FE5A883110C6F286005E348A /* O2Surface.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ADA0FD4B4D600082282 /* O2Surface.m */; };
FE5A883210C6F286005E348A /* O2zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11ADC0FD4B4D600082282 /* O2zlib.m */; };
FE5A883310C6F286005E348A /* NSTIFFImageFileDirectory.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE20FD4B4D600082282 /* NSTIFFImageFileDirectory.m */; };
FE5A883410C6F286005E348A /* O2Decoder_TIFF.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE40FD4B4D600082282 /* O2Decoder_TIFF.m */; };
FE5A883510C6F286005E348A /* VGPath.m in Sources */ = {isa = PBXBuildFile; fileRef = FEC11AE70FD4B4D600082282 /* VGPath.m */; };
FE5A883610C6F286005E348A /* CGDataConsumer.m in Sources */ = {isa = PBXBuildFile; fileRef = FE9DB4600FD6C38300A1CE17 /* CGDataConsumer.m */; };
FE5A883710C6F286005E348A /* O2DataConsumer.m in Sources */ = {isa = PBXBuildFile; fileRef = FEAED70F0FD6C40E0043F915 /* O2DataConsumer.m */; };
FE5A883810C6F286005E348A /* CGPDFContext.m in Sources */ = {isa = PBXBuildFile; fileRef = FEAED71B0FD6C4460043F915 /* CGPDFContext.m */; };
FE5A883910C6F286005E348A /* O2LZW.m in Sources */ = {isa = PBXBuildFile; fileRef = FEBF5BCE100D8B2C00F64C71 /* O2LZW.m */; };
FE5A883A10C6F286005E348A /* O2AffineTransform.m in Sources */ = {isa = PBXBuildFile; fileRef = FE3C853A108779410018252A /* O2AffineTransform.m */; };
FE5A883B10C6F286005E348A /* O2Geometry.m in Sources */ = {isa = PBXBuildFile; fileRef = FE3C853C108779410018252A /* O2Geometry.m */; };
FE5A883C10C6F286005E348A /* CGImageDestination.m in Sources */ = {isa = PBXBuildFile; fileRef = FE8C020B10C59BB300FE4072 /* CGImageDestination.m */; };
FE5A883D10C6F286005E348A /* O2Encoder_TIFF.m in Sources */ = {isa = PBXBuildFile; fileRef = FE8C020D10C59BB300FE4072 /* O2Encoder_TIFF.m */; };
FE5A883E10C6F286005E348A /* O2ImageDestination.m in Sources */ = {isa = PBXBuildFile; fileRef = FE8C020F10C59BB300FE4072 /* O2ImageDestination.m */; };
FE5A884010C6F286005E348A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
FE6F7AFA0FD554A800C3244F /* CGAffineTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A380FD4B4D600082282 /* CGAffineTransform.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE6F7AFB0FD554A800C3244F /* CGBitmapContext.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A3A0FD4B4D600082282 /* CGBitmapContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE6F7AFC0FD554A800C3244F /* CGColor.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC11A3C0FD4B4D600082282 /* CGColor.h */; settings = {ATTRIBUTES = (Public, ); }; };
@ -583,6 +774,22 @@
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
FE5A884110C6F286005E348A /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.gcc.4_2;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
FE5A887710C6F2F0005E348A /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.freebsd.i386.gcc.default;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
FE6F7BB00FD554A800C3244F /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.linux.i386.gcc.default;
@ -617,6 +824,34 @@
remoteGlobalIDString = 15D921C0105E918000171406;
remoteInfo = "Foundation-Linux-arm";
};
FE5A884D10C6F286005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FE7434FB10A8BE84004CDF00 /* CoreFoundation.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FE5A86C810C6EE28005E348A /* CoreFoundation.framework */;
remoteInfo = "CoreFoundation-FreeBSD-i386";
};
FE5A885610C6F286005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FE6F7BC00FD5572F00C3244F /* Foundation.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FE30A2FF10C6ED6F00A1BF7F /* Foundation.framework */;
remoteInfo = "Foundation-FreeBSD-i386";
};
FE5A886F10C6F2AD005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FE7434FB10A8BE84004CDF00 /* CoreFoundation.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = FE5A869710C6EE28005E348A /* CoreFoundation-FreeBSD-i386 */;
remoteInfo = "CoreFoundation-FreeBSD-i386";
};
FE5A887110C6F2B1005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FE6F7BC00FD5572F00C3244F /* Foundation.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = FE30A04F10C6ED6F00A1BF7F /* Foundation-FreeBSD-i386 */;
remoteInfo = "Foundation-FreeBSD-i386";
};
FE6F7BCA0FD5572F00C3244F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FE6F7BC00FD5572F00C3244F /* Foundation.xcodeproj */;
@ -754,6 +989,7 @@
FE3C853B108779410018252A /* O2Geometry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = O2Geometry.h; sourceTree = "<group>"; };
FE3C853C108779410018252A /* O2Geometry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = O2Geometry.m; sourceTree = "<group>"; };
FE3C85951087928D0018252A /* CGConversions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CGConversions.h; sourceTree = "<group>"; };
FE5A884510C6F286005E348A /* CoreGraphics.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreGraphics.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE6F7BB30FD554A800C3244F /* CoreGraphics.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreGraphics.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE6F7BC00FD5572F00C3244F /* Foundation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Foundation.xcodeproj; path = ../Foundation/Foundation.xcodeproj; sourceTree = SOURCE_ROOT; };
FE6F7C980FD55FA300C3244F /* CoreGraphics.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreGraphics.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@ -955,6 +1191,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A883F10C6F286005E348A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A884010C6F286005E348A /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FE6F7BAE0FD554A800C3244F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -981,6 +1225,7 @@
FE6F7BB30FD554A800C3244F /* CoreGraphics.framework */,
FE6F7C980FD55FA300C3244F /* CoreGraphics.framework */,
FEA313490FD5642000F480D4 /* Foundation.framework */,
FE5A884510C6F286005E348A /* CoreGraphics.framework */,
);
name = Products;
sourceTree = "<group>";
@ -1230,6 +1475,7 @@
FE6F7BD50FD5572F00C3244F /* Foundation.framework */,
FE8F93BD0FE344D6003F38A6 /* Foundation.framework */,
FE14CDDA1069660900B0FFAF /* Foundation.framework */,
FE5A885710C6F286005E348A /* Foundation.framework */,
);
name = Products;
sourceTree = "<group>";
@ -1242,6 +1488,7 @@
FE74350810A8BE84004CDF00 /* CoreFoundation.framework */,
FE74350A10A8BE84004CDF00 /* CoreFoundation.framework */,
FE74350C10A8BE84004CDF00 /* CoreFoundation.framework */,
FE5A884E10C6F286005E348A /* CoreFoundation.framework */,
);
name = Products;
sourceTree = "<group>";
@ -1354,6 +1601,111 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A877E10C6F286005E348A /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A877F10C6F286005E348A /* CGAffineTransform.h in Headers */,
FE5A878010C6F286005E348A /* CGBitmapContext.h in Headers */,
FE5A878110C6F286005E348A /* CGColor.h in Headers */,
FE5A878210C6F286005E348A /* CGColorSpace.h in Headers */,
FE5A878310C6F286005E348A /* CGContext.h in Headers */,
FE5A878410C6F286005E348A /* CGDataProvider.h in Headers */,
FE5A878510C6F286005E348A /* CGEvent.h in Headers */,
FE5A878610C6F286005E348A /* CGFont.h in Headers */,
FE5A878710C6F286005E348A /* CGFunction.h in Headers */,
FE5A878810C6F286005E348A /* CGGeometry.h in Headers */,
FE5A878910C6F286005E348A /* CGImage.h in Headers */,
FE5A878A10C6F286005E348A /* CGImageProperties.h in Headers */,
FE5A878B10C6F286005E348A /* CGImageSource.h in Headers */,
FE5A878C10C6F286005E348A /* CGLayer.h in Headers */,
FE5A878D10C6F286005E348A /* CGPath.h in Headers */,
FE5A878E10C6F286005E348A /* CGPattern.h in Headers */,
FE5A878F10C6F286005E348A /* CGPDFDocument.h in Headers */,
FE5A879010C6F286005E348A /* CGPDFPage.h in Headers */,
FE5A879110C6F286005E348A /* CGShading.h in Headers */,
FE5A879210C6F286005E348A /* CGWindow.h in Headers */,
FE5A879310C6F286005E348A /* CoreGraphics.h in Headers */,
FE5A879410C6F286005E348A /* CoreGraphicsExport.h in Headers */,
FE5A879510C6F286005E348A /* gif_lib.h in Headers */,
FE5A879610C6F286005E348A /* O2BitmapContext.h in Headers */,
FE5A879710C6F286005E348A /* O2Blending.h in Headers */,
FE5A879810C6F286005E348A /* O2ClipPhase.h in Headers */,
FE5A879910C6F286005E348A /* O2Color.h in Headers */,
FE5A879A10C6F286005E348A /* O2ColorSpace+PDF.h in Headers */,
FE5A879B10C6F286005E348A /* O2ColorSpace.h in Headers */,
FE5A879C10C6F286005E348A /* O2Context.h in Headers */,
FE5A879D10C6F286005E348A /* O2Context_builtin.h in Headers */,
FE5A879E10C6F286005E348A /* O2DataProvider.h in Headers */,
FE5A879F10C6F286005E348A /* O2Exceptions.h in Headers */,
FE5A87A010C6F286005E348A /* O2Font.h in Headers */,
FE5A87A110C6F286005E348A /* O2Function+PDF.h in Headers */,
FE5A87A210C6F286005E348A /* O2Function.h in Headers */,
FE5A87A310C6F286005E348A /* O2GraphicsState.h in Headers */,
FE5A87A410C6F286005E348A /* O2Image+PDF.h in Headers */,
FE5A87A510C6F286005E348A /* O2Image.h in Headers */,
FE5A87A610C6F286005E348A /* O2ImageSource.h in Headers */,
FE5A87A710C6F286005E348A /* O2ImageSource_BMP.h in Headers */,
FE5A87A810C6F286005E348A /* O2ImageSource_GIF.h in Headers */,
FE5A87A910C6F286005E348A /* O2ImageSource_JPEG.h in Headers */,
FE5A87AA10C6F286005E348A /* O2ImageSource_PNG.h in Headers */,
FE5A87AB10C6F286005E348A /* O2ImageSource_TIFF.h in Headers */,
FE5A87AC10C6F286005E348A /* O2Layer.h in Headers */,
FE5A87AD10C6F286005E348A /* O2MutablePath.h in Headers */,
FE5A87AE10C6F286005E348A /* O2Paint.h in Headers */,
FE5A87AF10C6F286005E348A /* O2Paint_axialGradient.h in Headers */,
FE5A87B010C6F286005E348A /* O2Paint_color.h in Headers */,
FE5A87B110C6F286005E348A /* O2Paint_image.h in Headers */,
FE5A87B210C6F286005E348A /* O2Paint_pattern.h in Headers */,
FE5A87B310C6F286005E348A /* O2Paint_radialGradient.h in Headers */,
FE5A87B410C6F286005E348A /* O2Paint_ramp.h in Headers */,
FE5A87B510C6F286005E348A /* O2Path.h in Headers */,
FE5A87B610C6F286005E348A /* O2Pattern.h in Headers */,
FE5A87B710C6F286005E348A /* O2PDFArray.h in Headers */,
FE5A87B810C6F286005E348A /* O2PDFContentStream.h in Headers */,
FE5A87B910C6F286005E348A /* O2PDFContext.h in Headers */,
FE5A87BA10C6F286005E348A /* O2PDFDictionary.h in Headers */,
FE5A87BB10C6F286005E348A /* O2PDFDocument.h in Headers */,
FE5A87BC10C6F286005E348A /* O2PDFFilter.h in Headers */,
FE5A87BD10C6F286005E348A /* O2PDFFunction_Type2.h in Headers */,
FE5A87BE10C6F286005E348A /* O2PDFFunction_Type3.h in Headers */,
FE5A87BF10C6F286005E348A /* O2PDFObject.h in Headers */,
FE5A87C010C6F286005E348A /* O2PDFObject_Boolean.h in Headers */,
FE5A87C110C6F286005E348A /* O2PDFObject_const.h in Headers */,
FE5A87C210C6F286005E348A /* O2PDFObject_identifier.h in Headers */,
FE5A87C310C6F286005E348A /* O2PDFObject_Integer.h in Headers */,
FE5A87C410C6F286005E348A /* O2PDFObject_Name.h in Headers */,
FE5A87C510C6F286005E348A /* O2PDFObject_R.h in Headers */,
FE5A87C610C6F286005E348A /* O2PDFObject_Real.h in Headers */,
FE5A87C710C6F286005E348A /* O2PDFOperators.h in Headers */,
FE5A87C810C6F286005E348A /* O2PDFOperatorTable.h in Headers */,
FE5A87C910C6F286005E348A /* O2PDFPage.h in Headers */,
FE5A87CA10C6F286005E348A /* O2PDFScanner.h in Headers */,
FE5A87CB10C6F286005E348A /* O2PDFStream.h in Headers */,
FE5A87CC10C6F286005E348A /* O2PDFString.h in Headers */,
FE5A87CD10C6F286005E348A /* O2PDFxref.h in Headers */,
FE5A87CE10C6F286005E348A /* O2PDFxrefEntry.h in Headers */,
FE5A87CF10C6F286005E348A /* O2Shading+PDF.h in Headers */,
FE5A87D010C6F286005E348A /* O2Shading.h in Headers */,
FE5A87D110C6F286005E348A /* O2Surface.h in Headers */,
FE5A87D210C6F286005E348A /* O2zlib.h in Headers */,
FE5A87D310C6F286005E348A /* NSTIFFImageFileDirectory.h in Headers */,
FE5A87D410C6F286005E348A /* O2Decoder_TIFF.h in Headers */,
FE5A87D510C6F286005E348A /* VGmath.h in Headers */,
FE5A87D610C6F286005E348A /* VGPath.h in Headers */,
FE5A87D710C6F286005E348A /* CGDataConsumer.h in Headers */,
FE5A87D810C6F286005E348A /* O2DataConsumer.h in Headers */,
FE5A87D910C6F286005E348A /* CGPDFContext.h in Headers */,
FE5A87DA10C6F286005E348A /* O2LZW.h in Headers */,
FE5A87DB10C6F286005E348A /* O2AffineTransform.h in Headers */,
FE5A87DC10C6F286005E348A /* O2Geometry.h in Headers */,
FE5A87DD10C6F286005E348A /* CGConversions.h in Headers */,
FE5A87DE10C6F286005E348A /* CGImageDestination.h in Headers */,
FE5A87DF10C6F286005E348A /* O2Encoder_TIFF.h in Headers */,
FE5A87E010C6F286005E348A /* O2ImageDestination.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FE6F7AF90FD554A800C3244F /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@ -1589,6 +1941,29 @@
productReference = 8DC2EF5B0486A6940098B216 /* CoreGraphics.framework */;
productType = "com.apple.product-type.framework";
};
FE5A877910C6F286005E348A /* CoreGraphics-FreeBSD-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FE5A884210C6F286005E348A /* Build configuration list for PBXNativeTarget "CoreGraphics-FreeBSD-i386" */;
buildPhases = (
FE5A877E10C6F286005E348A /* Headers */,
FE5A87E110C6F286005E348A /* Resources */,
FE5A87E210C6F286005E348A /* Sources */,
FE5A883F10C6F286005E348A /* Frameworks */,
);
buildRules = (
FE5A887710C6F2F0005E348A /* PBXBuildRule */,
FE5A884110C6F286005E348A /* PBXBuildRule */,
);
dependencies = (
FE5A887010C6F2AD005E348A /* PBXTargetDependency */,
FE5A887210C6F2B1005E348A /* PBXTargetDependency */,
);
name = "CoreGraphics-FreeBSD-i386";
productInstallPath = "$(HOME)/Library/Frameworks";
productName = CoreGraphics;
productReference = FE5A884510C6F286005E348A /* CoreGraphics.framework */;
productType = "com.apple.product-type.framework";
};
FE6F7AF80FD554A800C3244F /* CoreGraphics-Linux-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FE6F7BB10FD554A800C3244F /* Build configuration list for PBXNativeTarget "CoreGraphics-Linux-i386" */;
@ -1659,6 +2034,7 @@
8DC2EF4F0486A6940098B216 /* CoreGraphics-Windows-i386 */,
FE6F7AF80FD554A800C3244F /* CoreGraphics-Linux-i386 */,
FE6F7BDB0FD55FA300C3244F /* CoreGraphics-Darwin-i386 */,
FE5A877910C6F286005E348A /* CoreGraphics-FreeBSD-i386 */,
);
};
/* End PBXProject section */
@ -1671,6 +2047,20 @@
remoteRef = FE14CDD91069660900B0FFAF /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FE5A884E10C6F286005E348A /* CoreFoundation.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = CoreFoundation.framework;
remoteRef = FE5A884D10C6F286005E348A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FE5A885710C6F286005E348A /* Foundation.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = Foundation.framework;
remoteRef = FE5A885610C6F286005E348A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FE6F7BCB0FD5572F00C3244F /* Foundation.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
@ -1765,6 +2155,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A87E110C6F286005E348A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
FE6F7B560FD554A800C3244F /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -1881,6 +2278,105 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A87E210C6F286005E348A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A87E310C6F286005E348A /* CGAffineTransform.m in Sources */,
FE5A87E410C6F286005E348A /* CGBitmapContext.m in Sources */,
FE5A87E510C6F286005E348A /* CGColor.m in Sources */,
FE5A87E610C6F286005E348A /* CGColorSpace.m in Sources */,
FE5A87E710C6F286005E348A /* CGContext.m in Sources */,
FE5A87E810C6F286005E348A /* CGDataProvider.m in Sources */,
FE5A87E910C6F286005E348A /* CGEvent.m in Sources */,
FE5A87EA10C6F286005E348A /* CGFont.m in Sources */,
FE5A87EB10C6F286005E348A /* CGFunction.m in Sources */,
FE5A87EC10C6F286005E348A /* CGGeometry.m in Sources */,
FE5A87ED10C6F286005E348A /* CGImage.m in Sources */,
FE5A87EE10C6F286005E348A /* CGImageProperties.m in Sources */,
FE5A87EF10C6F286005E348A /* CGImageSource.m in Sources */,
FE5A87F010C6F286005E348A /* CGLayer.m in Sources */,
FE5A87F110C6F286005E348A /* CGPath.m in Sources */,
FE5A87F210C6F286005E348A /* CGPattern.m in Sources */,
FE5A87F310C6F286005E348A /* CGPDFDocument.m in Sources */,
FE5A87F410C6F286005E348A /* CGPDFPage.m in Sources */,
FE5A87F510C6F286005E348A /* CGShading.m in Sources */,
FE5A87F610C6F286005E348A /* CGWindow.m in Sources */,
FE5A87F710C6F286005E348A /* gif_lib.m in Sources */,
FE5A87F810C6F286005E348A /* O2BitmapContext.m in Sources */,
FE5A87F910C6F286005E348A /* O2ClipPhase.m in Sources */,
FE5A87FA10C6F286005E348A /* O2Color.m in Sources */,
FE5A87FB10C6F286005E348A /* O2ColorSpace+PDF.m in Sources */,
FE5A87FC10C6F286005E348A /* O2ColorSpace.m in Sources */,
FE5A87FD10C6F286005E348A /* O2Context.m in Sources */,
FE5A87FE10C6F286005E348A /* O2Context_builtin.m in Sources */,
FE5A87FF10C6F286005E348A /* O2DataProvider.m in Sources */,
FE5A880010C6F286005E348A /* O2Font.m in Sources */,
FE5A880110C6F286005E348A /* O2Function+PDF.m in Sources */,
FE5A880210C6F286005E348A /* O2Function.m in Sources */,
FE5A880310C6F286005E348A /* O2GraphicsState.m in Sources */,
FE5A880410C6F286005E348A /* O2Image+PDF.m in Sources */,
FE5A880510C6F286005E348A /* O2Image.m in Sources */,
FE5A880610C6F286005E348A /* O2ImageSource.m in Sources */,
FE5A880710C6F286005E348A /* O2ImageSource_BMP.m in Sources */,
FE5A880810C6F286005E348A /* O2ImageSource_GIF.m in Sources */,
FE5A880910C6F286005E348A /* O2ImageSource_JPEG.m in Sources */,
FE5A880A10C6F286005E348A /* O2ImageSource_PNG.m in Sources */,
FE5A880B10C6F286005E348A /* O2ImageSource_TIFF.m in Sources */,
FE5A880C10C6F286005E348A /* O2Layer.m in Sources */,
FE5A880D10C6F286005E348A /* O2MutablePath.m in Sources */,
FE5A880E10C6F286005E348A /* O2Paint.m in Sources */,
FE5A880F10C6F286005E348A /* O2Paint_axialGradient.m in Sources */,
FE5A881010C6F286005E348A /* O2Paint_color.m in Sources */,
FE5A881110C6F286005E348A /* O2Paint_image.m in Sources */,
FE5A881210C6F286005E348A /* O2Paint_pattern.m in Sources */,
FE5A881310C6F286005E348A /* O2Paint_radialGradient.m in Sources */,
FE5A881410C6F286005E348A /* O2Paint_ramp.m in Sources */,
FE5A881510C6F286005E348A /* O2Path.m in Sources */,
FE5A881610C6F286005E348A /* O2Pattern.m in Sources */,
FE5A881710C6F286005E348A /* O2PDFArray.m in Sources */,
FE5A881810C6F286005E348A /* O2PDFContentStream.m in Sources */,
FE5A881910C6F286005E348A /* O2PDFContext.m in Sources */,
FE5A881A10C6F286005E348A /* O2PDFDictionary.m in Sources */,
FE5A881B10C6F286005E348A /* O2PDFDocument.m in Sources */,
FE5A881C10C6F286005E348A /* O2PDFFilter.m in Sources */,
FE5A881D10C6F286005E348A /* O2PDFFunction_Type2.m in Sources */,
FE5A881E10C6F286005E348A /* O2PDFFunction_Type3.m in Sources */,
FE5A881F10C6F286005E348A /* O2PDFObject.m in Sources */,
FE5A882010C6F286005E348A /* O2PDFObject_Boolean.m in Sources */,
FE5A882110C6F286005E348A /* O2PDFObject_const.m in Sources */,
FE5A882210C6F286005E348A /* O2PDFObject_identifier.m in Sources */,
FE5A882310C6F286005E348A /* O2PDFObject_Integer.m in Sources */,
FE5A882410C6F286005E348A /* O2PDFObject_Name.m in Sources */,
FE5A882510C6F286005E348A /* O2PDFObject_R.m in Sources */,
FE5A882610C6F286005E348A /* O2PDFObject_Real.m in Sources */,
FE5A882710C6F286005E348A /* O2PDFOperators.m in Sources */,
FE5A882810C6F286005E348A /* O2PDFOperatorTable.m in Sources */,
FE5A882910C6F286005E348A /* O2PDFPage.m in Sources */,
FE5A882A10C6F286005E348A /* O2PDFScanner.m in Sources */,
FE5A882B10C6F286005E348A /* O2PDFStream.m in Sources */,
FE5A882C10C6F286005E348A /* O2PDFString.m in Sources */,
FE5A882D10C6F286005E348A /* O2PDFxref.m in Sources */,
FE5A882E10C6F286005E348A /* O2PDFxrefEntry.m in Sources */,
FE5A882F10C6F286005E348A /* O2Shading+PDF.m in Sources */,
FE5A883010C6F286005E348A /* O2Shading.m in Sources */,
FE5A883110C6F286005E348A /* O2Surface.m in Sources */,
FE5A883210C6F286005E348A /* O2zlib.m in Sources */,
FE5A883310C6F286005E348A /* NSTIFFImageFileDirectory.m in Sources */,
FE5A883410C6F286005E348A /* O2Decoder_TIFF.m in Sources */,
FE5A883510C6F286005E348A /* VGPath.m in Sources */,
FE5A883610C6F286005E348A /* CGDataConsumer.m in Sources */,
FE5A883710C6F286005E348A /* O2DataConsumer.m in Sources */,
FE5A883810C6F286005E348A /* CGPDFContext.m in Sources */,
FE5A883910C6F286005E348A /* O2LZW.m in Sources */,
FE5A883A10C6F286005E348A /* O2AffineTransform.m in Sources */,
FE5A883B10C6F286005E348A /* O2Geometry.m in Sources */,
FE5A883C10C6F286005E348A /* CGImageDestination.m in Sources */,
FE5A883D10C6F286005E348A /* O2Encoder_TIFF.m in Sources */,
FE5A883E10C6F286005E348A /* O2ImageDestination.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FE6F7B570FD554A800C3244F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -2082,6 +2578,16 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
FE5A887010C6F2AD005E348A /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "CoreFoundation-FreeBSD-i386";
targetProxy = FE5A886F10C6F2AD005E348A /* PBXContainerItemProxy */;
};
FE5A887210C6F2B1005E348A /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "Foundation-FreeBSD-i386";
targetProxy = FE5A887110C6F2B1005E348A /* PBXContainerItemProxy */;
};
FE6F7BD70FD5573B00C3244F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "Foundation-Windows-i386";
@ -2160,6 +2666,78 @@
};
name = Release;
};
FE5A884310C6F286005E348A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /;
EXECUTABLE_PREFIX = lib;
EXECUTABLE_SUFFIX = .so;
FRAMEWORK_SEARCH_PATHS = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
GCC_ENABLE_CPP_EXCEPTIONS = NO;
GCC_ENABLE_CPP_RTTI = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = Info.plist;
INSTALL_MODE_FLAG = "og-w,a+rX";
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
OTHER_CFLAGS = (
"-DCOREGRAPHICS_INSIDE_BUILD",
"-D__LITTLE_ENDIAN__",
"-Wreturn-type",
);
OTHER_LDFLAGS = (
"-shared",
"-lm",
);
PREBINDING = NO;
PRODUCT_NAME = CoreGraphics;
STRIP_INSTALLED_PRODUCT = YES;
SYMROOT = /Developer/Cocotron/1.0/build/CoreGraphics/FreeBSD;
};
name = Release;
};
FE5A884410C6F286005E348A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /;
EXECUTABLE_PREFIX = lib;
EXECUTABLE_SUFFIX = .so;
FRAMEWORK_SEARCH_PATHS = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
GCC_ENABLE_CPP_EXCEPTIONS = NO;
GCC_ENABLE_CPP_RTTI = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = Info.plist;
INSTALL_MODE_FLAG = "og-w,a+rX";
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
OTHER_CFLAGS = (
"-DCOREGRAPHICS_INSIDE_BUILD",
"-D__LITTLE_ENDIAN__",
"-Wreturn-type",
);
OTHER_LDFLAGS = (
"-shared",
"-lm",
);
PREBINDING = NO;
PRODUCT_NAME = CoreGraphics;
STRIP_INSTALLED_PRODUCT = YES;
SYMROOT = /Developer/Cocotron/1.0/build/CoreGraphics/FreeBSD;
};
name = Debug;
};
FE6F7BB20FD554A800C3244F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -2366,6 +2944,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FE5A884210C6F286005E348A /* Build configuration list for PBXNativeTarget "CoreGraphics-FreeBSD-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FE5A884310C6F286005E348A /* Release */,
FE5A884410C6F286005E348A /* Debug */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FE6F7BB10FD554A800C3244F /* Build configuration list for PBXNativeTarget "CoreGraphics-Linux-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (

View File

@ -142,6 +142,7 @@ typedef int O2TextDrawingMode;
-(void)flush;
-(void)synchronize;
-(BOOL)resizeWithNewSize:(O2Size)size;
-(void)beginPage:(const O2Rect *)mediaBox;
-(void)endPage;

View File

@ -30,6 +30,8 @@ static NSMutableArray *possibleContextClasses=nil;
[possibleContextClasses addObject:@"O2Context_gdi"];
[possibleContextClasses addObject:@"O2Context_builtin"];
[possibleContextClasses addObject:@"O2Context_builtin_gdi"];
[possibleContextClasses addObject:@"O2Context_cairo"];
[possibleContextClasses addObject:@"O2Context_builtin_FT"];
NSArray *allPaths=[[NSBundle bundleForClass:self] pathsForResourcesOfType:@"cgContext" inDirectory:nil];
int i,count=[allPaths count];
@ -65,7 +67,7 @@ static NSMutableArray *possibleContextClasses=nil;
while(--count>=0){
Class check=[array objectAtIndex:count];
if([check canInitWithWindow:window]){
O2Context *result=[[check alloc] initWithSize:size window:window];
@ -239,7 +241,14 @@ static inline O2GState *currentState(O2Context *self){
}
-(void)showText:(const char *)text length:(unsigned)length {
O2InvalidAbstractInvocation();
O2Glyph *encoding=[currentState(self) glyphTableForTextEncoding];
O2Glyph glyphs[length];
int i;
for(i=0;i<length;i++)
glyphs[i]=encoding[(uint8_t)text[i]];
[self showGlyphs:glyphs count:length];
}
-(void)drawShading:(O2Shading *)shading {
@ -262,6 +271,10 @@ static inline O2GState *currentState(O2Context *self){
// do nothing
}
-(BOOL)resizeWithNewSize:(O2Size)size {
return NO;
}
-(void)beginPage:(const O2Rect *)mediaBox {
// do nothing
}

View File

@ -399,8 +399,10 @@ BOOL O2FontGetGlyphAdvances(O2FontRef self,const O2Glyph *glyphs,size_t count,in
if(glyph<self->_numberOfGlyphs)
advances[i]=self->_advances[glyph];
else
else {
NSLog(@"unknown glyph %d",glyph);
advances[i]=0;
}
}
return YES;
}

View File

@ -73,7 +73,7 @@ static char GifVersionPrefix[GIF_STAMP_LEN + 1] = GIF87_STAMP;
GifFileType *DGifOpen(NSInputStream *stream) {
unsigned char Buf[GIF_STAMP_LEN + 1];
uint8_t Buf[GIF_STAMP_LEN + 1];
GifFileType *GifFile;
GifFile = malloc(sizeof(GifFileType));
@ -98,7 +98,7 @@ GifFileType *DGifOpen(NSInputStream *stream) {
/* The GIF Version number is ignored at this time. Maybe we should do
* something more useful with it. */
Buf[GIF_STAMP_LEN] = 0;
if (strncmp(GIF_STAMP, Buf, GIF_VERSION_POS) != 0) {
if (strncmp(GIF_STAMP, (char *)Buf, GIF_VERSION_POS) != 0) {
GifFile->GifError = D_GIF_ERR_NOT_GIF_FILE;
free((char *)GifFile);
return NULL;

View File

@ -10,6 +10,14 @@
FE4B804510B483A50045407A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */; };
FE4B804610B483A50045407A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */; };
FE4B804710B483A60045407A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */; };
FE5A888010C6F2F5005E348A /* CoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920B0FFB217F007AECF1 /* CoreText.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A888110C6F2F5005E348A /* CoreTextExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920C0FFB217F007AECF1 /* CoreTextExport.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A888210C6F2F5005E348A /* CTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920D0FFB217F007AECF1 /* CTFont.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A888310C6F2F5005E348A /* KTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920F0FFB217F007AECF1 /* KTFont.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE5A888610C6F2F5005E348A /* CTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FECF920E0FFB217F007AECF1 /* CTFont.m */; };
FE5A888710C6F2F5005E348A /* KTFont.m in Sources */ = {isa = PBXBuildFile; fileRef = FECF92100FFB217F007AECF1 /* KTFont.m */; };
FE5A888910C6F2F5005E348A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
FE5A888A10C6F2F5005E348A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */; };
FECF92110FFB217F007AECF1 /* CoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920B0FFB217F007AECF1 /* CoreText.h */; settings = {ATTRIBUTES = (Public, ); }; };
FECF92120FFB217F007AECF1 /* CoreTextExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920C0FFB217F007AECF1 /* CoreTextExport.h */; settings = {ATTRIBUTES = (Public, ); }; };
FECF92130FFB217F007AECF1 /* CTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920D0FFB217F007AECF1 /* CTFont.h */; settings = {ATTRIBUTES = (Public, ); }; };
@ -34,6 +42,14 @@
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
FE5A888B10C6F2F5005E348A /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.freebsd.i386.gcc.default;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
FECF92600FFB2B8F007AECF1 /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.windows.i386.gcc.default;
@ -53,6 +69,20 @@
/* End PBXBuildRule section */
/* Begin PBXContainerItemProxy section */
FE5A884810C6F286005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FE5A884510C6F286005E348A /* CoreGraphics.framework */;
remoteInfo = "CoreGraphics-Darwin-i386 copy";
};
FE5A889310C6F33D005E348A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = FE5A877910C6F286005E348A /* CoreGraphics-FreeBSD-i386 */;
remoteInfo = "CoreGraphics-FreeBSD-i386";
};
FECF92710FFB2BA7007AECF1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */;
@ -101,6 +131,7 @@
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8DC2EF5B0486A6940098B216 /* CoreText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreText.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE5A888E10C6F2F5005E348A /* CoreText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreText.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FECF920B0FFB217F007AECF1 /* CoreText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreText.h; sourceTree = "<group>"; };
FECF920C0FFB217F007AECF1 /* CoreTextExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreTextExport.h; sourceTree = "<group>"; };
FECF920D0FFB217F007AECF1 /* CTFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTFont.h; sourceTree = "<group>"; };
@ -123,6 +154,15 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A888810C6F2F5005E348A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A888910C6F2F5005E348A /* Foundation.framework in Frameworks */,
FE5A888A10C6F2F5005E348A /* CoreGraphics.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FECF923C0FFB29FF007AECF1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -150,6 +190,7 @@
8DC2EF5B0486A6940098B216 /* CoreText.framework */,
FECF923F0FFB29FF007AECF1 /* CoreText.framework */,
FECF924F0FFB2A0D007AECF1 /* CoreText.framework */,
FE5A888E10C6F2F5005E348A /* CoreText.framework */,
);
name = Products;
sourceTree = "<group>";
@ -226,6 +267,7 @@
FECF92720FFB2BA7007AECF1 /* CoreGraphics.framework */,
FECF92740FFB2BA7007AECF1 /* CoreGraphics.framework */,
FECF92760FFB2BA7007AECF1 /* CoreGraphics.framework */,
FE5A884910C6F286005E348A /* CoreGraphics.framework */,
);
name = Products;
sourceTree = "<group>";
@ -244,6 +286,17 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A887F10C6F2F5005E348A /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A888010C6F2F5005E348A /* CoreText.h in Headers */,
FE5A888110C6F2F5005E348A /* CoreTextExport.h in Headers */,
FE5A888210C6F2F5005E348A /* CTFont.h in Headers */,
FE5A888310C6F2F5005E348A /* KTFont.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FECF92320FFB29FF007AECF1 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@ -290,6 +343,27 @@
productReference = 8DC2EF5B0486A6940098B216 /* CoreText.framework */;
productType = "com.apple.product-type.framework";
};
FE5A887C10C6F2F5005E348A /* CoreText-FreeBSD-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FE5A888C10C6F2F5005E348A /* Build configuration list for PBXNativeTarget "CoreText-FreeBSD-i386" */;
buildPhases = (
FE5A887F10C6F2F5005E348A /* Headers */,
FE5A888410C6F2F5005E348A /* Resources */,
FE5A888510C6F2F5005E348A /* Sources */,
FE5A888810C6F2F5005E348A /* Frameworks */,
);
buildRules = (
FE5A888B10C6F2F5005E348A /* PBXBuildRule */,
);
dependencies = (
FE5A889410C6F33D005E348A /* PBXTargetDependency */,
);
name = "CoreText-FreeBSD-i386";
productInstallPath = "$(HOME)/Library/Frameworks";
productName = CoreText;
productReference = FE5A888E10C6F2F5005E348A /* CoreText.framework */;
productType = "com.apple.product-type.framework";
};
FECF92310FFB29FF007AECF1 /* CoreText-Linux-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FECF923D0FFB29FF007AECF1 /* Build configuration list for PBXNativeTarget "CoreText-Linux-i386" */;
@ -353,11 +427,19 @@
8DC2EF4F0486A6940098B216 /* CoreText-Windows-i386 */,
FECF92310FFB29FF007AECF1 /* CoreText-Linux-i386 */,
FECF92410FFB2A0D007AECF1 /* CoreText-Darwin-i386 */,
FE5A887C10C6F2F5005E348A /* CoreText-FreeBSD-i386 */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
FE5A884910C6F286005E348A /* CoreGraphics.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = CoreGraphics.framework;
remoteRef = FE5A884810C6F286005E348A /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FECF92720FFB2BA7007AECF1 /* CoreGraphics.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
@ -389,6 +471,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A888410C6F2F5005E348A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
FECF92370FFB29FF007AECF1 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -415,6 +504,15 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A888510C6F2F5005E348A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A888610C6F2F5005E348A /* CTFont.m in Sources */,
FE5A888710C6F2F5005E348A /* KTFont.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FECF92390FFB29FF007AECF1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -436,6 +534,11 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
FE5A889410C6F33D005E348A /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "CoreGraphics-FreeBSD-i386";
targetProxy = FE5A889310C6F33D005E348A /* PBXContainerItemProxy */;
};
FECF92780FFB2BB0007AECF1 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "CoreGraphics-Windows-i386";
@ -500,6 +603,43 @@
};
name = Release;
};
FE5A888D10C6F2F5005E348A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /;
EXECUTABLE_PREFIX = lib;
EXECUTABLE_SUFFIX = .so;
FRAMEWORK_SEARCH_PATHS = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
GCC_ENABLE_CPP_EXCEPTIONS = NO;
GCC_ENABLE_CPP_RTTI = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = Info.plist;
INSTALL_MODE_FLAG = "og-w,a+rX";
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
OTHER_CFLAGS = (
"-DCORETEXT_INSIDE_BUILD",
"-D__LITTLE_ENDIAN__",
"-Wreturn-type",
);
OTHER_LDFLAGS = (
"-shared",
"-lm",
);
PREBINDING = NO;
PRODUCT_NAME = CoreText;
STRIP_INSTALLED_PRODUCT = YES;
SYMROOT = /Developer/Cocotron/1.0/build/CoreText/FreeBSD;
};
name = Release;
};
FECF923E0FFB29FF007AECF1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -594,6 +734,14 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FE5A888C10C6F2F5005E348A /* Build configuration list for PBXNativeTarget "CoreText-FreeBSD-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FE5A888D10C6F2F5005E348A /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FECF923D0FFB29FF007AECF1 /* Build configuration list for PBXNativeTarget "CoreText-Linux-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (

File diff suppressed because it is too large Load Diff

View File

@ -136,6 +136,7 @@ NSString *NSString_anyCStringNewWithBytes(NSStringEncoding encoding, NSZone *zon
}
else {
//we cannot use the macro :-(, because we will get into an infinite loop
NSCLog("encoding %d",encoding);
NSCLog("%s() unimplemented in %s at %d",__PRETTY_FUNCTION__,__FILE__,__LINE__);
}
@ -158,6 +159,7 @@ NSString *NSString_anyCStringNewWithCharacters(NSStringEncoding encoding, NSZone
}
else {
//we cannot use the macro :-(, because we will get into an infinite loop
NSCLog("encoding %d",encoding);
NSCLog("%s() unimplemented in %s at %d",__PRETTY_FUNCTION__,__FILE__,__LINE__);
}
@ -184,6 +186,7 @@ NSUInteger NSGetAnyCStringWithMaxLength(NSStringEncoding encoding, const unichar
}
else {
//we cannot use the macro :-(, because we will get into an infinite loop
NSCLog("encoding %d",encoding);
NSCLog("%s() unimplemented in %s at %d",__PRETTY_FUNCTION__,__FILE__,__LINE__);
}
//assuming NextSTEP

View File

@ -27,6 +27,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
#import <sys/param.h>
#import <limits.h>
#endif
#ifdef BSD
#import <sys/sysctl.h>
#endif
static OBJCArray *OBJCObjectFileImageArray(void) {
static OBJCArray *objectFileImageArray=NULL;
@ -116,11 +119,33 @@ extern int _NSGetExecutablePath(char *path,uint32_t *capacity);
#elif defined(BSD)
int _NSGetExecutablePath(char *path,uint32_t *capacity) {
if((*capacity=readlink("/proc/curproc/file", path, *capacity))<0){
#if defined(FREEBSD)
int mib[4];
mib[0] = CTL_KERN;
mib[1] = KERN_PROC;
mib[2] = KERN_PROC_PATHNAME;
mib[3] = -1;
size_t cb = *capacity;
if(sysctl(mib, 4, path, &cb, NULL, 0)<0){
*capacity=0;
return -1;
}
*capacity=strlen(path);
return 0;
#else
int length;
if((length=readlink("/proc/curproc/file", path, 1024))<0){
*capacity=0;
return -1;
}
*capacity=length;
#endif
return 0;
}

View File

@ -31,6 +31,10 @@ NSUInteger NSPageSize(void)
NSUInteger NSRealMemoryAvailable(void)
{
return (NSUInteger)sysconf(_SC_AVPHYS_PAGES)
* (NSUInteger)sysconf(_SC_PAGESIZE);
#ifdef FREEBSD
// FIXME:
return 0;
#else
return (NSUInteger)sysconf(_SC_AVPHYS_PAGES) * (NSUInteger)sysconf(_SC_PAGESIZE);
#endif
}

View File

@ -80,7 +80,7 @@ NSStringEncoding defaultEncoding()
if(defaultEncoding == -1)
{
//set the default to ASCII
defaultEncoding = NSASCIIStringEncoding;
defaultEncoding = NSISOLatin1StringEncoding; // FIXME: should be utf8?
}
}

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>

View File

@ -1,2 +1,2 @@
static void OpenGL(){
void OpenGL(){
}

View File

@ -11,14 +11,18 @@
C8E0BE800F0E544700677729 /* gl.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB5D0C87B894001FC5A8 /* gl.h */; settings = {ATTRIBUTES = (Public, ); }; };
C8E0BE810F0E544700677729 /* glu.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB670C87B8BA001FC5A8 /* glu.h */; settings = {ATTRIBUTES = (Public, ); }; };
C8E0BE820F0E544700677729 /* glext.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3B34A90D55939B009E0AA5 /* glext.h */; settings = {ATTRIBUTES = (Public, ); }; };
C8E0BE850F0E544700677729 /* OpenGL.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF2EB8E0C87B987001FC5A8 /* OpenGL.m */; };
FE3B34AA0D55939B009E0AA5 /* glext.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3B34A90D55939B009E0AA5 /* glext.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A875810C6F244005E348A /* OpenGL.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB220C878C88001FC5A8 /* OpenGL.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A875910C6F244005E348A /* gl.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB5D0C87B894001FC5A8 /* gl.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A875A10C6F244005E348A /* glu.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB670C87B8BA001FC5A8 /* glu.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A875B10C6F244005E348A /* glext.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3B34A90D55939B009E0AA5 /* glext.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A8C3C10C776B0005E348A /* CGLCurrent.h in Headers */ = {isa = PBXBuildFile; fileRef = FED35B65104DF7F80038ED7C /* CGLCurrent.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A8C3D10C776B5005E348A /* CGLTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = FED35B66104DF7F80038ED7C /* CGLTypes.h */; settings = {ATTRIBUTES = (Public, ); }; };
FED35B67104DF7F80038ED7C /* CGLCurrent.h in Headers */ = {isa = PBXBuildFile; fileRef = FED35B65104DF7F80038ED7C /* CGLCurrent.h */; settings = {ATTRIBUTES = (Public, ); }; };
FED35B68104DF7F80038ED7C /* CGLTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = FED35B66104DF7F80038ED7C /* CGLTypes.h */; settings = {ATTRIBUTES = (Public, ); }; };
FEF2EB230C878C88001FC5A8 /* OpenGL.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB220C878C88001FC5A8 /* OpenGL.h */; settings = {ATTRIBUTES = (Public, ); }; };
FEF2EB5E0C87B894001FC5A8 /* gl.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB5D0C87B894001FC5A8 /* gl.h */; settings = {ATTRIBUTES = (Public, ); }; };
FEF2EB680C87B8BA001FC5A8 /* glu.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF2EB670C87B8BA001FC5A8 /* glu.h */; settings = {ATTRIBUTES = (Public, ); }; };
FEF2EB8F0C87B987001FC5A8 /* OpenGL.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF2EB8E0C87B987001FC5A8 /* OpenGL.m */; };
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
@ -30,6 +34,14 @@
outputFiles = (
);
};
FE5A876010C6F244005E348A /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.freebsd.i386.gcc.default;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
FEF2EB380C878DAA001FC5A8 /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.windows.i386.gcc.default;
@ -46,12 +58,12 @@
8DC2EF5B0486A6940098B216 /* OpenGL.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OpenGL.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C8E0BE8A0F0E544700677729 /* OpenGL.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OpenGL.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE3B34A90D55939B009E0AA5 /* glext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = glext.h; sourceTree = "<group>"; };
FE5A876310C6F244005E348A /* OpenGL.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OpenGL.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FED35B65104DF7F80038ED7C /* CGLCurrent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CGLCurrent.h; sourceTree = "<group>"; };
FED35B66104DF7F80038ED7C /* CGLTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CGLTypes.h; sourceTree = "<group>"; };
FEF2EB220C878C88001FC5A8 /* OpenGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenGL.h; sourceTree = "<group>"; };
FEF2EB5D0C87B894001FC5A8 /* gl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = gl.h; sourceTree = "<group>"; };
FEF2EB670C87B8BA001FC5A8 /* glu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = glu.h; sourceTree = "<group>"; };
FEF2EB8E0C87B987001FC5A8 /* OpenGL.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = OpenGL.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -69,6 +81,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A875F10C6F244005E348A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@ -77,6 +96,7 @@
children = (
8DC2EF5B0486A6940098B216 /* OpenGL.framework */,
C8E0BE8A0F0E544700677729 /* OpenGL.framework */,
FE5A876310C6F244005E348A /* OpenGL.framework */,
);
name = Products;
sourceTree = "<group>";
@ -95,7 +115,6 @@
FEF2EB220C878C88001FC5A8 /* OpenGL.h */,
FEF2EB5D0C87B894001FC5A8 /* gl.h */,
FEF2EB670C87B8BA001FC5A8 /* glu.h */,
FEF2EB8E0C87B987001FC5A8 /* OpenGL.m */,
);
name = OpenGL;
sourceTree = "<group>";
@ -173,6 +192,19 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A875710C6F244005E348A /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A875810C6F244005E348A /* OpenGL.h in Headers */,
FE5A875910C6F244005E348A /* gl.h in Headers */,
FE5A875A10C6F244005E348A /* glu.h in Headers */,
FE5A875B10C6F244005E348A /* glext.h in Headers */,
FE5A8C3C10C776B0005E348A /* CGLCurrent.h in Headers */,
FE5A8C3D10C776B5005E348A /* CGLTypes.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
@ -216,6 +248,26 @@
productReference = C8E0BE8A0F0E544700677729 /* OpenGL.framework */;
productType = "com.apple.product-type.framework";
};
FE5A875610C6F244005E348A /* OpenGL-FreeBSD-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FE5A876110C6F244005E348A /* Build configuration list for PBXNativeTarget "OpenGL-FreeBSD-i386" */;
buildPhases = (
FE5A875710C6F244005E348A /* Headers */,
FE5A875C10C6F244005E348A /* Resources */,
FE5A875D10C6F244005E348A /* Sources */,
FE5A875F10C6F244005E348A /* Frameworks */,
);
buildRules = (
FE5A876010C6F244005E348A /* PBXBuildRule */,
);
dependencies = (
);
name = "OpenGL-FreeBSD-i386";
productInstallPath = "$(HOME)/Library/Frameworks";
productName = OpenGL;
productReference = FE5A876310C6F244005E348A /* OpenGL.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@ -231,6 +283,7 @@
targets = (
8DC2EF4F0486A6940098B216 /* OpenGL-Windows-i386 */,
C8E0BE7D0F0E544700677729 /* OpenGL-Darwin-i386 */,
FE5A875610C6F244005E348A /* OpenGL-FreeBSD-i386 */,
);
};
/* End PBXProject section */
@ -250,6 +303,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A875C10C6F244005E348A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@ -257,7 +317,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FEF2EB8F0C87B987001FC5A8 /* OpenGL.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -265,7 +324,13 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C8E0BE850F0E544700677729 /* OpenGL.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A875D10C6F244005E348A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -326,6 +391,24 @@
};
name = Release;
};
FE5A876210C6F244005E348A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DSTROOT = /;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = Info.plist;
INSTALL_MODE_FLAG = "og-w,a+rX";
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
PREBINDING = NO;
PRODUCT_NAME = OpenGL;
SYMROOT = /Developer/Cocotron/1.0/build/OpenGL/FreeBSD/i386;
WRAPPER_EXTENSION = framework;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@ -353,6 +436,14 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FE5A876110C6F244005E348A /* Build configuration list for PBXNativeTarget "OpenGL-FreeBSD-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FE5A876210C6F244005E348A /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;

View File

@ -1 +1,3 @@
#ifdef WINDOWS
#import <gl/glu.h>
#endif

View File

@ -48,6 +48,16 @@
FE4034BC0B42F24C00CEC41A /* objc-class.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034B90B42F24C00CEC41A /* objc-class.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE4034CF0B42F2C400CEC41A /* objc.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034CE0B42F2C400CEC41A /* objc.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE4034D10B42F2C400CEC41A /* objc.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034CE0B42F2C400CEC41A /* objc.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A867B10C6EDDC005E348A /* objc-class.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034B90B42F24C00CEC41A /* objc-class.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A867C10C6EDDC005E348A /* objc.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034CE0B42F2C400CEC41A /* objc.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A867D10C6EDDC005E348A /* objc-export.h in Headers */ = {isa = PBXBuildFile; fileRef = FEB6CBF90B4A1584004FADF2 /* objc-export.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A867E10C6EDDC005E348A /* objc-runtime.h in Headers */ = {isa = PBXBuildFile; fileRef = FE85F6AA0BBF51D400E9C25C /* objc-runtime.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A867F10C6EDDC005E348A /* runtime.h in Headers */ = {isa = PBXBuildFile; fileRef = FE88A1D90F88F8D00081CFC1 /* runtime.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A868010C6EDDC005E348A /* message.h in Headers */ = {isa = PBXBuildFile; fileRef = FE88A1EB0F891B440081CFC1 /* message.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A868110C6EDDC005E348A /* deprecated.h in Headers */ = {isa = PBXBuildFile; fileRef = FE88A1F50F891D970081CFC1 /* deprecated.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A868210C6EDDC005E348A /* Object.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDB75C50F8A9EFE00AC545D /* Object.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A868310C6EDDC005E348A /* Protocol.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDB75C60F8A9EFE00AC545D /* Protocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE5A868410C6EDDC005E348A /* objc-auto.h in Headers */ = {isa = PBXBuildFile; fileRef = FE74345E10A8A61B004CDF00 /* objc-auto.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE651A8F0FBC84DD00464BFD /* objc-class.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034B90B42F24C00CEC41A /* objc-class.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE651A900FBC84DD00464BFD /* objc.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4034CE0B42F2C400CEC41A /* objc.h */; settings = {ATTRIBUTES = (Public, ); }; };
FE651A910FBC84DD00464BFD /* objc-export.h in Headers */ = {isa = PBXBuildFile; fileRef = FEB6CBF90B4A1584004FADF2 /* objc-export.h */; settings = {ATTRIBUTES = (Public, ); }; };
@ -145,6 +155,14 @@
outputFiles = (
);
};
FE5A868610C6EDDC005E348A /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.freebsd.i386.gcc.default;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
FE651A990FBC84DD00464BFD /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.gcc.4_0;
@ -197,6 +215,7 @@
FE40348A0B42E94D00CEC41A /* objc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = objc.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE4034B90B42F24C00CEC41A /* objc-class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "objc-class.h"; sourceTree = "<group>"; };
FE4034CE0B42F2C400CEC41A /* objc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = objc.h; sourceTree = "<group>"; };
FE5A868A10C6EDDC005E348A /* objc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = objc.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE651A9D0FBC84DD00464BFD /* objc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = objc.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE74345E10A8A61B004CDF00 /* objc-auto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "objc-auto.h"; sourceTree = "<group>"; };
FE85F6AA0BBF51D400E9C25C /* objc-runtime.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = "objc-runtime.h"; sourceTree = "<group>"; };
@ -222,6 +241,7 @@
FE651A9D0FBC84DD00464BFD /* objc.framework */,
28D484FD0FE04DDD00DC03EF /* objc.framework */,
15D921E5105E922600171406 /* objc.framework */,
FE5A868A10C6EDDC005E348A /* objc.framework */,
);
name = Products;
sourceTree = "<group>";
@ -365,6 +385,23 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A867A10C6EDDC005E348A /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
FE5A867B10C6EDDC005E348A /* objc-class.h in Headers */,
FE5A867C10C6EDDC005E348A /* objc.h in Headers */,
FE5A867D10C6EDDC005E348A /* objc-export.h in Headers */,
FE5A867E10C6EDDC005E348A /* objc-runtime.h in Headers */,
FE5A867F10C6EDDC005E348A /* runtime.h in Headers */,
FE5A868010C6EDDC005E348A /* message.h in Headers */,
FE5A868110C6EDDC005E348A /* deprecated.h in Headers */,
FE5A868210C6EDDC005E348A /* Object.h in Headers */,
FE5A868310C6EDDC005E348A /* Protocol.h in Headers */,
FE5A868410C6EDDC005E348A /* objc-auto.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FE651A8E0FBC84DD00464BFD /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@ -509,6 +546,24 @@
productReference = FE40348A0B42E94D00CEC41A /* objc.framework */;
productType = "com.apple.product-type.framework";
};
FE5A867910C6EDDC005E348A /* objc-FreeBSD-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FE5A868710C6EDDC005E348A /* Build configuration list for PBXNativeTarget "objc-FreeBSD-i386" */;
buildPhases = (
FE5A867A10C6EDDC005E348A /* Headers */,
FE5A868510C6EDDC005E348A /* Resources */,
);
buildRules = (
FE5A868610C6EDDC005E348A /* PBXBuildRule */,
);
dependencies = (
);
name = "objc-FreeBSD-i386";
productInstallPath = "$(HOME)/Library/Frameworks";
productName = objc;
productReference = FE5A868A10C6EDDC005E348A /* objc.framework */;
productType = "com.apple.product-type.framework";
};
FE651A8D0FBC84DD00464BFD /* objc-Darwin-x86_64 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FE651A9A0FBC84DD00464BFD /* Build configuration list for PBXNativeTarget "objc-Darwin-x86_64" */;
@ -585,6 +640,7 @@
FE651A8D0FBC84DD00464BFD /* objc-Darwin-x86_64 */,
28D484ED0FE04DDD00DC03EF /* objc-Linux-ppc */,
15D921D5105E922600171406 /* objc-Linux-arm */,
FE5A867910C6EDDC005E348A /* objc-FreeBSD-i386 */,
);
};
/* End PBXProject section */
@ -625,6 +681,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
FE5A868510C6EDDC005E348A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
FE651A980FBC84DD00464BFD /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -997,6 +1060,54 @@
};
name = Release;
};
FE5A868810C6EDDC005E348A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DSTROOT = /;
EXECUTABLE_SUFFIX = .so;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
OTHER_CFLAGS = (
"-DOBJC_INSIDE_BUILD",
"-D__LITTLE_ENDIAN__",
"-fPIC",
);
OTHER_LDFLAGS = "-shared";
PREBINDING = NO;
PRODUCT_NAME = objc;
SYMROOT = /Developer/Cocotron/1.0/build/objc/FreeBSD/i386;
};
name = Release;
};
FE5A868910C6EDDC005E348A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DSTROOT = /;
EXECUTABLE_SUFFIX = .so;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = /Developer/Cocotron/1.0/FreeBSD/i386/Frameworks;
OTHER_CFLAGS = (
"-DOBJC_INSIDE_BUILD",
"-D__LITTLE_ENDIAN__",
"-fPIC",
);
OTHER_LDFLAGS = "-shared";
PREBINDING = NO;
PRODUCT_NAME = objc;
SYMROOT = /Developer/Cocotron/1.0/build/objc/FreeBSD/i386;
};
name = Debug;
};
FE651A9B0FBC84DD00464BFD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
@ -1155,6 +1266,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FE5A868710C6EDDC005E348A /* Build configuration list for PBXNativeTarget "objc-FreeBSD-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FE5A868810C6EDDC005E348A /* Release */,
FE5A868910C6EDDC005E348A /* Debug */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FE651A9A0FBC84DD00464BFD /* Build configuration list for PBXNativeTarget "objc-Darwin-x86_64" */ = {
isa = XCConfigurationList;
buildConfigurations = (