some basic QuartzCore work

This commit is contained in:
Christopher Lloyd 2010-01-09 21:54:29 +00:00
parent 0f48b03880
commit f397a480c8
8 changed files with 477 additions and 96 deletions

0
QuartzCore/CABase.h Normal file
View File

View File

@ -3,51 +3,59 @@
#import <ApplicationServices/ApplicationServices.h>
#import <QuartzCore/CATransform3D.h>
@class CIFilter;
enum {
kCALayerNotSizable = 0x00,
kCALayerMinXMargin = 0x01,
kCALayerWidthSizable = 0x02,
kCALayerMaxXMargin = 0x04,
kCALayerMinYMargin = 0x08,
kCALayerHeightSizable= 0x10,
kCALayerMaxYMargin = 0x20,
};
@interface CALayer : NSObject {
CALayer *_superLayer;
NSMutableArray *_sublayers;
id _delegate;
CGRect _frame;
CGRect _bounds;
float _opacity;
BOOL _opaque;
id _contents;
CATransform3D _transform;
CATransform3D _sublayerTransform;
BOOL _needsDisplay;
}
@property(copy) NSDictionary *actions;
@property CGPoint anchorPoint;
@property unsigned int autoresizingMask;
@property CGColorRef backgroundColor;
@property(copy) NSArray *backgroundFilters;
@property CGColorRef borderColor;
@property CGFloat borderWidth;
@property CGRect bounds;
@property(retain) CIFilter *compositingFilter;
@property NSArray *constraints;
@property(retain) id contents;
@property(copy) NSStrng *contentsGravity;
@property CGRect contentsRect;
@property CGFloat cornerRadius;
@property(assign) id delegate;
@property BOOL doubleSided;
@property unsigned int edgeAntialiasingMask;
@property(copy) NSArray *filters;
@property CGRect frame;
@property BOOL hidden;
@property(retain) id layoutManager;
@property(copy) NSString *magnificationFilter;
@property(retain) CALayer *mask;
@property BOOL masksToBounds;
@property(copy) NSString *minifiactionFilter;
@property(copy) NSString *name;
@property BOOL needsDisplayOnBoundsChange;
@property float opacity;
@property BOOL opaque;
@property CGPoint position;
@property CGColorRef shadowColor;
@property CGSize shadowOffset;
@property float shadowOpacity;
@property CGFloat shadowRadius;
@property(copy) NSDictionary *style;
@property(copy) NSArray *sublayers;
@property CATransform3D sublayerTransform;
+layer;
@property(readonly) CALayer *superLayer;
@property CATransform3D transform;
@property(readonly) CGRect visibleRect;
@property CGFloat zPosition;
@property(copy) NSArray *sublayers;
@property(assign) id delegate;
@property(assign) CGRect frame;
@property(assign) CGRect bounds;
@property(assign) float opacity;
@property(assign) BOOL opaque;
@property(retain) id contents;
@property(assign) CATransform3D transform;
@property(assign) CATransform3D sublayerTransform;
-init;
-(void)addSublayer:(CALayer *)layer;
-(void)display;
-(void)displayIfNeeded;
-(void)drawInContext:(CGContextRef)context;
-(BOOL)needsDisplay;
-(void)removeFromSuperlayer;
-(void)setNeedsDisplay;
-(void)setNeedsDisplayInRect:(CGRect)rect;
@end
@interface NSObject(CALayerDelegate)
-(void)displayLayer:(CALayer *)layer;
-(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)context;
@end

View File

@ -0,0 +1,73 @@
#import <QuartzCore/CALayer.h>
@implementation CALayer
+layer {
return [[[self alloc] init] autorelease];
}
@synthesize superLayer=_superLayer;
@synthesize sublayers=_sublayers;
@synthesize delegate=_delegate;
@synthesize frame=_frame;
@synthesize bounds=_bounds;
@synthesize opacity=_opacity;
@synthesize opaque=_opaque;
@synthesize contents=_contents;
@synthesize transform=_transform;
@synthesize sublayerTransform=_sublayerTransform;
-init {
_superLayer=nil;
_sublayers=[NSMutableArray new];
_delegate=nil;
_frame=CGRectZero;
_bounds=CGRectZero;
_opacity=1.0;
_opaque=YES;
_contents=nil;
_transform=CATransform3DIdentity;
_sublayerTransform=CATransform3DIdentity;
return self;
}
-(void)_setSuperLayer:(CALayer *)parent {
_superLayer=parent;
}
-(void)_removeSublayer:(CALayer *)child {
[_sublayers removeObjectIdenticalTo:child];
}
-(void)addSublayer:(CALayer *)layer {
[_sublayers addObject:layer];
[layer _setSuperLayer:self];
}
-(void)display {
}
-(void)displayIfNeeded {
}
-(void)drawInContext:(CGContextRef)context {
}
-(BOOL)needsDisplay {
return _needsDisplay;
}
-(void)removeFromSuperlayer {
[_superLayer _removeSublayer:self];
_superLayer=nil;
}
-(void)setNeedsDisplay {
_needsDisplay=YES;
}
-(void)setNeedsDisplayInRect:(CGRect)rect {
_needsDisplay=YES;
}
@end

20
QuartzCore/CARenderer.h Normal file
View File

@ -0,0 +1,20 @@
#import <Foundation/NSObject.h>
#import <ApplicationServices/ApplicationServices.h>
@class CALayer,O2Surface;
@interface CARenderer : NSObject {
void *_cglContext;
CGRect _bounds;
CALayer *_rootLayer;
}
@property(assign) CGRect bounds;
@property(retain) CALayer *layer;
+(CARenderer *)rendererWithCGLContext:(void *)cglContext options:(NSDictionary *)options;
-(void)render;
-(void)renderWithSurface:(O2Surface *)surface;
@end

86
QuartzCore/CARenderer.m Normal file
View File

@ -0,0 +1,86 @@
#import <QuartzCore/CARenderer.h>
#import <OpenGL/OpenGL.h>
#import <CoreGraphics/O2Surface.h>
@implementation CARenderer
@synthesize bounds=_bounds;
@synthesize layer=_rootLayer;
-initWithCGLContext:(void *)cglContext options:(NSDictionary *)options {
_cglContext=cglContext;
_bounds=CGRectZero;
_rootLayer=nil;
return self;
}
+(CARenderer *)rendererWithCGLContext:(void *)cglContext options:(NSDictionary *)options {
return [[[self alloc] initWithCGLContext:cglContext options:options] autorelease];
}
-(void)render {
}
-(void)renderWithSurface:(O2Surface *)surface {
CGLError error;
if((error=CGLSetCurrentContext(_cglContext))!=kCGLNoError)
NSLog(@"CGLSetCurrentContext failed with %d in %s %d",error,__FILE__,__LINE__);
// render
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glEnable( GL_TEXTURE_2D );
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnable (GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
size_t width=O2ImageGetWidth(surface);
size_t height=O2ImageGetHeight(surface);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, [surface pixelBytes]);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
GLfloat vertices[4*2];
GLfloat texture[4*2];
vertices[0]=0;
vertices[1]=0;
vertices[2]=width;
vertices[3]=0;
vertices[4]=0;
vertices[5]=height;
vertices[6]=width;
vertices[7]=height;
texture[0]=0;
texture[1]=1;
texture[2]=1;
texture[3]=1;
texture[4]=0;
texture[5]=0;
texture[6]=1;
texture[7]=0;
glPushMatrix();
// glTranslatef(width/2,height/2,0);
glTexCoordPointer(2, GL_FLOAT, 0, texture);
glVertexPointer(2, GL_FLOAT, 0, vertices);
// glTranslatef(center.x,center.y,0);
// glRotatef(1,0,0,1);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
glPopMatrix();
}
@end

View File

@ -8,3 +8,5 @@ typedef struct {
CGFloat m41,m42,m43,m44;
} CATransform3D;
const CATransform3D CATransform3DIdentity;

View File

@ -6,14 +6,14 @@
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.yourcompany.${PRODUCT_NAME:identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleSignature</key>

View File

@ -7,14 +7,24 @@
objects = {
/* Begin PBXBuildFile section */
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
FE4477C01039EECB00ECD6A6 /* QuartzCore.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4477BF1039EECB00ECD6A6 /* QuartzCore.h */; settings = {ATTRIBUTES = (Public, ); }; };
FECA819810EBB231003472F1 /* CAAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF88C2B100CC45B00B15FD7 /* CAAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; };
FECA819910EBB231003472F1 /* CALayer.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF88C2C100CC45B00B15FD7 /* CALayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
FECA819A10EBB231003472F1 /* CATransform3D.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF88C2D100CC45B00B15FD7 /* CATransform3D.h */; settings = {ATTRIBUTES = (Public, ); }; };
FECA819B10EBB231003472F1 /* QuartzCore.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4477BF1039EECB00ECD6A6 /* QuartzCore.h */; settings = {ATTRIBUTES = (Public, ); }; };
FECA819C10EBB231003472F1 /* CARenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = FED38BEA10E12BAB00A2A651 /* CARenderer.h */; settings = {ATTRIBUTES = (Public, ); }; };
FECA819D10EBB231003472F1 /* CABase.h in Headers */ = {isa = PBXBuildFile; fileRef = FED38C8D10E13FCC00A2A651 /* CABase.h */; settings = {ATTRIBUTES = (Public, ); }; };
FED38BEB10E12BAB00A2A651 /* CARenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = FED38BEA10E12BAB00A2A651 /* CARenderer.h */; settings = {ATTRIBUTES = (Public, ); }; };
FED38C4510E13E1000A2A651 /* CAAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF88C2B100CC45B00B15FD7 /* CAAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; };
FED38C4610E13E1000A2A651 /* CALayer.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF88C2C100CC45B00B15FD7 /* CALayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
FED38C4710E13E1000A2A651 /* CATransform3D.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF88C2D100CC45B00B15FD7 /* CATransform3D.h */; settings = {ATTRIBUTES = (Public, ); }; };
FED38C4810E13E1000A2A651 /* QuartzCore.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4477BF1039EECB00ECD6A6 /* QuartzCore.h */; settings = {ATTRIBUTES = (Public, ); }; };
FED38C4910E13E1000A2A651 /* CARenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = FED38BEA10E12BAB00A2A651 /* CARenderer.h */; settings = {ATTRIBUTES = (Public, ); }; };
FED38C8E10E13FCC00A2A651 /* CABase.h in Headers */ = {isa = PBXBuildFile; fileRef = FED38C8D10E13FCC00A2A651 /* CABase.h */; settings = {ATTRIBUTES = (Public, ); }; };
FED38C8F10E13FCC00A2A651 /* CABase.h in Headers */ = {isa = PBXBuildFile; fileRef = FED38C8D10E13FCC00A2A651 /* CABase.h */; settings = {ATTRIBUTES = (Public, ); }; };
FEF88C2E100CC45B00B15FD7 /* CAAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF88C2B100CC45B00B15FD7 /* CAAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; };
FEF88C2F100CC45B00B15FD7 /* CALayer.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF88C2C100CC45B00B15FD7 /* CALayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
FEF88C30100CC45B00B15FD7 /* CATransform3D.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF88C2D100CC45B00B15FD7 /* CATransform3D.h */; settings = {ATTRIBUTES = (Public, ); }; };
FEF88C38100CC62500B15FD7 /* CAAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF88C35100CC62400B15FD7 /* CAAnimation.m */; };
FEF88C39100CC62500B15FD7 /* CALayer.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF88C36100CC62400B15FD7 /* CALayer.m */; };
FEF88C3A100CC62500B15FD7 /* CATransform3D.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF88C37100CC62400B15FD7 /* CATransform3D.m */; };
/* End PBXBuildFile section */
/* Begin PBXBuildRule section */
@ -26,9 +36,53 @@
outputFiles = (
);
};
FECA819E10EBB231003472F1 /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.windows.i386.gcc.default;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
FED38C4A10E13E1000A2A651 /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = org.cocotron.1.0.windows.i386.gcc.default;
fileType = sourcecode.c;
isEditable = 1;
outputFiles = (
);
};
/* End PBXBuildRule section */
/* Begin PBXContainerItemProxy section */
FE293C5D10D984D10031C1DC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FEF88C1D100CC41C00B15FD7 /* CoreGraphics.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = FE5A884510C6F286005E348A;
remoteInfo = "CoreGraphics-FreeBSD-i386";
};
FECA81AD10EBB2AC003472F1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FEF88C1D100CC41C00B15FD7 /* CoreGraphics.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
remoteInfo = "CoreGraphics-Windows-i386";
};
FED38C7810E13ED400A2A651 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FEF88C1D100CC41C00B15FD7 /* CoreGraphics.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = FE6F7BDB0FD55FA300C3244F;
remoteInfo = "CoreGraphics-Darwin-i386";
};
FED38C9210E13FDC00A2A651 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FEF88C1D100CC41C00B15FD7 /* CoreGraphics.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = FE5A877910C6F286005E348A;
remoteInfo = "CoreGraphics-FreeBSD-i386";
};
FEF88C23100CC41C00B15FD7 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = FEF88C1D100CC41C00B15FD7 /* CoreGraphics.xcodeproj */;
@ -58,6 +112,12 @@
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8DC2EF5B0486A6940098B216 /* QuartzCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = QuartzCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FE4477BF1039EECB00ECD6A6 /* QuartzCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QuartzCore.h; sourceTree = "<group>"; };
FEC3ED7710E1270C00511C18 /* CARenderer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CARenderer.m; sourceTree = "<group>"; };
FECA81A110EBB231003472F1 /* QuartzCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = QuartzCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FECA81A210EBB232003472F1 /* Info copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info copy.plist"; sourceTree = "<group>"; };
FED38BEA10E12BAB00A2A651 /* CARenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARenderer.h; sourceTree = "<group>"; };
FED38C4D10E13E1000A2A651 /* QuartzCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = QuartzCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
FED38C8D10E13FCC00A2A651 /* CABase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABase.h; sourceTree = "<group>"; };
FEF88C1D100CC41C00B15FD7 /* CoreGraphics.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CoreGraphics.xcodeproj; path = ../CoreGraphics/CoreGraphics.xcodeproj; sourceTree = SOURCE_ROOT; };
FEF88C2B100CC45B00B15FD7 /* CAAnimation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAnimation.h; sourceTree = "<group>"; };
FEF88C2C100CC45B00B15FD7 /* CALayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALayer.h; sourceTree = "<group>"; };
@ -67,21 +127,13 @@
FEF88C37100CC62400B15FD7 /* CATransform3D.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CATransform3D.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8DC2EF560486A6940098B216 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
034768DFFF38A50411DB9C8B /* Products */ = {
isa = PBXGroup;
children = (
8DC2EF5B0486A6940098B216 /* QuartzCore.framework */,
FED38C4D10E13E1000A2A651 /* QuartzCore.framework */,
FECA81A110EBB231003472F1 /* QuartzCore.framework */,
);
name = Products;
sourceTree = "<group>";
@ -89,6 +141,9 @@
0867D691FE84028FC02AAC07 /* QuartzCore */ = {
isa = PBXGroup;
children = (
FED38C8D10E13FCC00A2A651 /* CABase.h */,
FED38BEA10E12BAB00A2A651 /* CARenderer.h */,
FEC3ED7710E1270C00511C18 /* CARenderer.m */,
FE4477BF1039EECB00ECD6A6 /* QuartzCore.h */,
FEF88C2B100CC45B00B15FD7 /* CAAnimation.h */,
FEF88C35100CC62400B15FD7 /* CAAnimation.m */,
@ -120,6 +175,7 @@
children = (
8DC2EF5A0486A6940098B216 /* Info.plist */,
089C1666FE841158C02AAC07 /* InfoPlist.strings */,
FECA81A210EBB232003472F1 /* Info copy.plist */,
);
name = Resources;
sourceTree = "<group>";
@ -159,6 +215,7 @@
FEF88C24100CC41C00B15FD7 /* CoreGraphics.framework */,
FEF88C26100CC41C00B15FD7 /* CoreGraphics.framework */,
FEF88C28100CC41C00B15FD7 /* CoreGraphics.framework */,
FE293C5E10D984D10031C1DC /* CoreGraphics.framework */,
);
name = Products;
sourceTree = "<group>";
@ -174,30 +231,92 @@
FEF88C2F100CC45B00B15FD7 /* CALayer.h in Headers */,
FEF88C30100CC45B00B15FD7 /* CATransform3D.h in Headers */,
FE4477C01039EECB00ECD6A6 /* QuartzCore.h in Headers */,
FED38BEB10E12BAB00A2A651 /* CARenderer.h in Headers */,
FED38C8E10E13FCC00A2A651 /* CABase.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FECA819710EBB231003472F1 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
FECA819810EBB231003472F1 /* CAAnimation.h in Headers */,
FECA819910EBB231003472F1 /* CALayer.h in Headers */,
FECA819A10EBB231003472F1 /* CATransform3D.h in Headers */,
FECA819B10EBB231003472F1 /* QuartzCore.h in Headers */,
FECA819C10EBB231003472F1 /* CARenderer.h in Headers */,
FECA819D10EBB231003472F1 /* CABase.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FED38C4410E13E1000A2A651 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
FED38C4510E13E1000A2A651 /* CAAnimation.h in Headers */,
FED38C4610E13E1000A2A651 /* CALayer.h in Headers */,
FED38C4710E13E1000A2A651 /* CATransform3D.h in Headers */,
FED38C4810E13E1000A2A651 /* QuartzCore.h in Headers */,
FED38C4910E13E1000A2A651 /* CARenderer.h in Headers */,
FED38C8F10E13FCC00A2A651 /* CABase.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8DC2EF4F0486A6940098B216 /* QuartzCore-Windows-i386 */ = {
8DC2EF4F0486A6940098B216 /* QuartzCore-FreeBSD-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "QuartzCore-Windows-i386" */;
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "QuartzCore-FreeBSD-i386" */;
buildPhases = (
8DC2EF500486A6940098B216 /* Headers */,
8DC2EF520486A6940098B216 /* Resources */,
8DC2EF540486A6940098B216 /* Sources */,
8DC2EF560486A6940098B216 /* Frameworks */,
);
buildRules = (
FE4477E01039F3E700ECD6A6 /* PBXBuildRule */,
);
dependencies = (
FED38C9310E13FDC00A2A651 /* PBXTargetDependency */,
);
name = "QuartzCore-FreeBSD-i386";
productInstallPath = "$(HOME)/Library/Frameworks";
productName = QuartzCore;
productReference = 8DC2EF5B0486A6940098B216 /* QuartzCore.framework */;
productType = "com.apple.product-type.framework";
};
FECA819410EBB231003472F1 /* QuartzCore-Windows-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FECA819F10EBB231003472F1 /* Build configuration list for PBXNativeTarget "QuartzCore-Windows-i386" */;
buildPhases = (
FECA819710EBB231003472F1 /* Headers */,
);
buildRules = (
FECA819E10EBB231003472F1 /* PBXBuildRule */,
);
dependencies = (
FECA81AE10EBB2AC003472F1 /* PBXTargetDependency */,
);
name = "QuartzCore-Windows-i386";
productInstallPath = "$(HOME)/Library/Frameworks";
productName = QuartzCore;
productReference = 8DC2EF5B0486A6940098B216 /* QuartzCore.framework */;
productReference = FECA81A110EBB231003472F1 /* QuartzCore.framework */;
productType = "com.apple.product-type.framework";
};
FED38C4310E13E1000A2A651 /* QuartzCore-Darwin-i386 */ = {
isa = PBXNativeTarget;
buildConfigurationList = FED38C4B10E13E1000A2A651 /* Build configuration list for PBXNativeTarget "QuartzCore-Darwin-i386" */;
buildPhases = (
FED38C4410E13E1000A2A651 /* Headers */,
);
buildRules = (
FED38C4A10E13E1000A2A651 /* PBXBuildRule */,
);
dependencies = (
FED38C7910E13ED400A2A651 /* PBXTargetDependency */,
);
name = "QuartzCore-Darwin-i386";
productInstallPath = "$(HOME)/Library/Frameworks";
productName = QuartzCore;
productReference = FED38C4D10E13E1000A2A651 /* QuartzCore.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
@ -219,12 +338,21 @@
);
projectRoot = "";
targets = (
8DC2EF4F0486A6940098B216 /* QuartzCore-Windows-i386 */,
8DC2EF4F0486A6940098B216 /* QuartzCore-FreeBSD-i386 */,
FED38C4310E13E1000A2A651 /* QuartzCore-Darwin-i386 */,
FECA819410EBB231003472F1 /* QuartzCore-Windows-i386 */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
FE293C5E10D984D10031C1DC /* CoreGraphics.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
path = CoreGraphics.framework;
remoteRef = FE293C5D10D984D10031C1DC /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
FEF88C24100CC41C00B15FD7 /* CoreGraphics.framework */ = {
isa = PBXReferenceProxy;
fileType = wrapper.framework;
@ -248,29 +376,23 @@
};
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
8DC2EF520486A6940098B216 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
/* Begin PBXTargetDependency section */
FECA81AE10EBB2AC003472F1 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "CoreGraphics-Windows-i386";
targetProxy = FECA81AD10EBB2AC003472F1 /* PBXContainerItemProxy */;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8DC2EF540486A6940098B216 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FEF88C38100CC62500B15FD7 /* CAAnimation.m in Sources */,
FEF88C39100CC62500B15FD7 /* CALayer.m in Sources */,
FEF88C3A100CC62500B15FD7 /* CATransform3D.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
FED38C7910E13ED400A2A651 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "CoreGraphics-Darwin-i386";
targetProxy = FED38C7810E13ED400A2A651 /* PBXContainerItemProxy */;
};
/* End PBXSourcesBuildPhase section */
FED38C9310E13FDC00A2A651 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "CoreGraphics-FreeBSD-i386";
targetProxy = FED38C9210E13FDC00A2A651 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
089C1666FE841158C02AAC07 /* InfoPlist.strings */ = {
@ -291,7 +413,43 @@
DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /;
EXECUTABLE_SUFFIX = .1.0.dll;
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 = (
"-DQUARTZCORE_INSIDE_BUILD",
"-D__LITTLE_ENDIAN__",
"-Wreturn-type",
);
OTHER_LDFLAGS = "";
PREBINDING = NO;
PRODUCT_NAME = QuartzCore;
STRIP_INSTALLED_PRODUCT = YES;
SYMROOT = /Developer/Cocotron/1.0/build/QuartzCore/FreeBSD;
};
name = Release;
};
1DEB91B308733DA50010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Release;
};
FECA81A010EBB231003472F1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /;
FRAMEWORK_SEARCH_PATHS = /Developer/Cocotron/1.0/Windows/i386/Frameworks;
GCC_ENABLE_CPP_EXCEPTIONS = NO;
GCC_ENABLE_CPP_RTTI = NO;
@ -308,14 +466,7 @@
"-D__LITTLE_ENDIAN__",
"-Wreturn-type",
);
OTHER_LDFLAGS = (
"-shared",
"-lgdi32",
"-Wl,--enable-auto-import",
"-Wl,--export-all-symbols",
"-Wl,--image-base=0x20000000",
"-Wl,--out-implib,$TARGET_BUILD_DIR/QuartzCore.framework/libQuartzCore.a",
);
OTHER_LDFLAGS = "";
PREBINDING = NO;
PRODUCT_NAME = QuartzCore;
STRIP_INSTALLED_PRODUCT = YES;
@ -323,16 +474,41 @@
};
name = Release;
};
1DEB91B308733DA50010E9CD /* Release */ = {
FED38C4C10E13E1000A2A651 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = i386;
DEPLOYMENT_LOCATION = YES;
DEPLOYMENT_POSTPROCESSING = YES;
DSTROOT = /;
FRAMEWORK_SEARCH_PATHS = /Developer/Cocotron/1.0/Darwin/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/Darwin/i386/Frameworks;
OTHER_CFLAGS = (
"-DQUARTZCORE_INSIDE_BUILD",
"-D__LITTLE_ENDIAN__",
"-Wreturn-type",
);
OTHER_LDFLAGS = "";
PREBINDING = NO;
PRODUCT_NAME = QuartzCore;
STRIP_INSTALLED_PRODUCT = YES;
SYMROOT = /Developer/Cocotron/1.0/build/QuartzCore/Darwin;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "QuartzCore-Windows-i386" */ = {
1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "QuartzCore-FreeBSD-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1DEB91AF08733DA50010E9CD /* Release */,
@ -348,6 +524,22 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FECA819F10EBB231003472F1 /* Build configuration list for PBXNativeTarget "QuartzCore-Windows-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FECA81A010EBB231003472F1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
FED38C4B10E13E1000A2A651 /* Build configuration list for PBXNativeTarget "QuartzCore-Darwin-i386" */ = {
isa = XCConfigurationList;
buildConfigurations = (
FED38C4C10E13E1000A2A651 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;