diff --git a/QuartzCore/CABase.h b/QuartzCore/CABase.h new file mode 100644 index 00000000..e69de29b diff --git a/QuartzCore/CALayer.h b/QuartzCore/CALayer.h index e8eee2ba..2eace970 100644 --- a/QuartzCore/CALayer.h +++ b/QuartzCore/CALayer.h @@ -3,51 +3,59 @@ #import #import -@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 diff --git a/QuartzCore/CALayer.m b/QuartzCore/CALayer.m index e69de29b..3688adfd 100644 --- a/QuartzCore/CALayer.m +++ b/QuartzCore/CALayer.m @@ -0,0 +1,73 @@ +#import + +@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 diff --git a/QuartzCore/CARenderer.h b/QuartzCore/CARenderer.h new file mode 100644 index 00000000..ff18b969 --- /dev/null +++ b/QuartzCore/CARenderer.h @@ -0,0 +1,20 @@ +#import +#import + +@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 diff --git a/QuartzCore/CARenderer.m b/QuartzCore/CARenderer.m new file mode 100644 index 00000000..8e1ec162 --- /dev/null +++ b/QuartzCore/CARenderer.m @@ -0,0 +1,86 @@ +#import +#import +#import + +@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 diff --git a/QuartzCore/CATransform3D.h b/QuartzCore/CATransform3D.h index f7d22311..571930e5 100644 --- a/QuartzCore/CATransform3D.h +++ b/QuartzCore/CATransform3D.h @@ -8,3 +8,5 @@ typedef struct { CGFloat m41,m42,m43,m44; } CATransform3D; +const CATransform3D CATransform3DIdentity; + diff --git a/QuartzCore/Info.plist b/QuartzCore/Info.plist index 0ec80c38..1593fc5f 100644 --- a/QuartzCore/Info.plist +++ b/QuartzCore/Info.plist @@ -6,14 +6,14 @@ English CFBundleExecutable ${EXECUTABLE_NAME} - CFBundleName - ${PRODUCT_NAME} CFBundleIconFile CFBundleIdentifier com.yourcompany.${PRODUCT_NAME:identifier} CFBundleInfoDictionaryVersion 6.0 + CFBundleName + ${PRODUCT_NAME} CFBundlePackageType FMWK CFBundleSignature diff --git a/QuartzCore/QuartzCore.xcodeproj/project.pbxproj b/QuartzCore/QuartzCore.xcodeproj/project.pbxproj index 1c4497bd..ad71065d 100644 --- a/QuartzCore/QuartzCore.xcodeproj/project.pbxproj +++ b/QuartzCore/QuartzCore.xcodeproj/project.pbxproj @@ -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 = ""; }; 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 = ""; }; + FEC3ED7710E1270C00511C18 /* CARenderer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CARenderer.m; sourceTree = ""; }; + 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 = ""; }; + FED38BEA10E12BAB00A2A651 /* CARenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARenderer.h; sourceTree = ""; }; + 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 = ""; }; 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 = ""; }; FEF88C2C100CC45B00B15FD7 /* CALayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALayer.h; sourceTree = ""; }; @@ -67,21 +127,13 @@ FEF88C37100CC62400B15FD7 /* CATransform3D.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CATransform3D.m; sourceTree = ""; }; /* 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 = ""; @@ -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 = ""; @@ -159,6 +215,7 @@ FEF88C24100CC41C00B15FD7 /* CoreGraphics.framework */, FEF88C26100CC41C00B15FD7 /* CoreGraphics.framework */, FEF88C28100CC41C00B15FD7 /* CoreGraphics.framework */, + FE293C5E10D984D10031C1DC /* CoreGraphics.framework */, ); name = Products; sourceTree = ""; @@ -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 */;