diff --git a/samplecode/SampleArc.cpp b/samplecode/SampleArc.cpp
index 7bc862b..ada1d0a 100644
--- a/samplecode/SampleArc.cpp
+++ b/samplecode/SampleArc.cpp
@@ -6,7 +6,7 @@
 #include "SkRegion.h"
 #include "SkShader.h"
 #include "SkUtils.h"
-#include "SkShaderExtras.h"
+#include "SkComposeShader.h"
 #include "Sk1DPathEffect.h"
 #include "SkCornerPathEffect.h"
 #include "SkPathMeasure.h"
diff --git a/xcode/sampleapp/English.lproj/main.nib/classes.nib b/xcode/sampleapp/English.lproj/main.nib/classes.nib
new file mode 100644
index 0000000..c4b887e
--- /dev/null
+++ b/xcode/sampleapp/English.lproj/main.nib/classes.nib
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IBVersion</key>
+	<string>1</string>
+</dict>
+</plist>
diff --git a/xcode/sampleapp/English.lproj/main.nib/info.nib b/xcode/sampleapp/English.lproj/main.nib/info.nib
new file mode 100644
index 0000000..848f03c
--- /dev/null
+++ b/xcode/sampleapp/English.lproj/main.nib/info.nib
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IBFramework Version</key>
+	<string>629</string>
+	<key>IBLastKnownRelativeProjectPath</key>
+	<string>../../CICarbonSample.xcodeproj</string>
+	<key>IBOldestOS</key>
+	<integer>5</integer>
+	<key>IBOpenObjects</key>
+	<array/>
+	<key>IBSystem Version</key>
+	<string>9F33</string>
+	<key>targetFramework</key>
+	<string>IBCarbonFramework</string>
+</dict>
+</plist>
diff --git a/xcode/sampleapp/English.lproj/main.nib/objects.xib b/xcode/sampleapp/English.lproj/main.nib/objects.xib
new file mode 100644
index 0000000..9809e73
--- /dev/null
+++ b/xcode/sampleapp/English.lproj/main.nib/objects.xib
@@ -0,0 +1,151 @@
+<?xml version="1.0" standalone="yes"?>
+<object class="NSIBObjectData">
+  <object name="rootObject" class="NSCustomObject" id="1">
+  </object>
+  <array count="18" name="allObjects">
+    <object class="IBCarbonWindow" id="166">
+      <boolean name="receiveUpdates">FALSE</boolean>
+      <boolean name="hasCloseBox">FALSE</boolean>
+      <boolean name="liveResize">TRUE</boolean>
+      <boolean name="compositing">TRUE</boolean>
+      <boolean name="asyncDrag">TRUE</boolean>
+      <boolean name="isConstrained">FALSE</boolean>
+      <boolean name="hideOnFullScreen">TRUE</boolean>
+      <boolean name="hideOnSuspend">TRUE</boolean>
+      <boolean name="doesNotCycle">TRUE</boolean>
+      <int name="windowPosition">1</int>
+      <int name="scalingMode">1048576</int>
+      <string name="title">Window</string>
+      <object name="rootControl" class="IBCarbonRootControl" id="167">
+        <string name="viewFrame">0 0 480 360 </string>
+        <string name="bounds">0 0 360 480 </string>
+      </object>
+      <string name="windowRect">504 338 864 818 </string>
+      <string name="ScreenRectAtEncodeTime">0 0 768 1024 </string>
+    </object>
+    <object class="IBCarbonMenu" id="29">
+      <string name="title">main</string>
+      <string name="name">_NSMainMenu</string>
+      <array count="3" name="items">
+        <object class="IBCarbonMenuItem" id="185">
+          <string name="title">Foo</string>
+          <object name="submenu" class="IBCarbonMenu" id="184">
+            <string name="title">Foo</string>
+            <string name="name">_NSAppleMenu</string>
+            <array count="1" name="items">
+              <object class="IBCarbonMenuItem" id="187">
+                <string name="title">About Foo</string>
+                <int name="keyEquivalentModifier">0</int>
+                <ostype name="command">abou</ostype>
+              </object>
+            </array>
+          </object>
+        </object>
+        <object class="IBCarbonMenuItem" id="127">
+          <string name="title">File</string>
+          <object name="submenu" class="IBCarbonMenu" id="131">
+            <string name="title">File</string>
+            <array count="2" name="items">
+              <object class="IBCarbonMenuItem" id="135">
+                <string name="title">Page Setup…</string>
+                <string name="keyEquivalent">P</string>
+                <ostype name="command">page</ostype>
+              </object>
+              <object class="IBCarbonMenuItem" id="136">
+                <string name="title">Print…</string>
+                <string name="keyEquivalent">p</string>
+                <ostype name="command">prnt</ostype>
+              </object>
+            </array>
+          </object>
+        </object>
+        <object class="IBCarbonMenuItem" id="192">
+          <string name="title">Window</string>
+          <object name="submenu" class="IBCarbonMenu" id="195">
+            <string name="title">Window</string>
+            <string name="name">_NSWindowsMenu</string>
+            <array count="6" name="items">
+              <object class="IBCarbonMenuItem" id="190">
+                <string name="title">Minimize</string>
+                <string name="keyEquivalent">m</string>
+                <boolean name="dynamic">TRUE</boolean>
+                <ostype name="command">mini</ostype>
+              </object>
+              <object class="IBCarbonMenuItem" id="191">
+                <string name="title">Minimize All</string>
+                <string name="keyEquivalent">m</string>
+                <boolean name="dynamic">TRUE</boolean>
+                <int name="keyEquivalentModifier">1572864</int>
+                <ostype name="command">mina</ostype>
+              </object>
+              <object class="IBCarbonMenuItem" id="197">
+                <string name="title">Zoom</string>
+                <ostype name="command">zoom</ostype>
+              </object>
+              <object class="IBCarbonMenuItem" id="194">
+                <boolean name="separator">TRUE</boolean>
+              </object>
+              <object class="IBCarbonMenuItem" id="196">
+                <string name="title">Bring All to Front</string>
+                <boolean name="dynamic">TRUE</boolean>
+                <ostype name="command">bfrt</ostype>
+              </object>
+              <object class="IBCarbonMenuItem" id="193">
+                <string name="title">Arrange in Front</string>
+                <boolean name="dynamic">TRUE</boolean>
+                <int name="keyEquivalentModifier">1572864</int>
+                <ostype name="command">frnt</ostype>
+              </object>
+            </array>
+          </object>
+        </object>
+      </array>
+    </object>
+    <reference idRef="193"/>
+    <reference idRef="191"/>
+    <reference idRef="135"/>
+    <reference idRef="196"/>
+    <reference idRef="192"/>
+    <reference idRef="127"/>
+    <reference idRef="195"/>
+    <reference idRef="194"/>
+    <reference idRef="187"/>
+    <reference idRef="131"/>
+    <reference idRef="184"/>
+    <reference idRef="136"/>
+    <reference idRef="167"/>
+    <reference idRef="185"/>
+    <reference idRef="190"/>
+    <reference idRef="197"/>
+  </array>
+  <array count="18" name="allParents">
+    <reference idRef="1"/>
+    <reference idRef="1"/>
+    <reference idRef="195"/>
+    <reference idRef="195"/>
+    <reference idRef="131"/>
+    <reference idRef="195"/>
+    <reference idRef="29"/>
+    <reference idRef="29"/>
+    <reference idRef="192"/>
+    <reference idRef="195"/>
+    <reference idRef="184"/>
+    <reference idRef="127"/>
+    <reference idRef="185"/>
+    <reference idRef="131"/>
+    <reference idRef="166"/>
+    <reference idRef="29"/>
+    <reference idRef="195"/>
+    <reference idRef="195"/>
+  </array>
+  <dictionary count="3" name="nameTable">
+    <string>File&apos;s Owner</string>
+    <reference idRef="1"/>
+    <string>MainWindow</string>
+    <reference idRef="166"/>
+    <string>MenuBar</string>
+    <reference idRef="29"/>
+  </dictionary>
+  <string name="targetFramework">IBCarbonFramework</string>
+  <unsigned_int name="nextObjectID">204</unsigned_int>
+</object>
diff --git a/xcode/sampleapp/SampleApp.xcodeproj/project.pbxproj b/xcode/sampleapp/SampleApp.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..029b426
--- /dev/null
+++ b/xcode/sampleapp/SampleApp.xcodeproj/project.pbxproj
@@ -0,0 +1,531 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 42;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		00003C660EFC22A8000FF73A /* SampleApp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C620EFC22A8000FF73A /* SampleApp.cpp */; };
+		00003C680EFC22A8000FF73A /* SamplePath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C640EFC22A8000FF73A /* SamplePath.cpp */; };
+		00003C690EFC22A8000FF73A /* SamplePathEffects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C650EFC22A8000FF73A /* SamplePathEffects.cpp */; };
+		00003C740EFC22CE000FF73A /* SkEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C6B0EFC22CE000FF73A /* SkEvent.cpp */; };
+		00003C750EFC22CE000FF73A /* SkEventSink.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C6C0EFC22CE000FF73A /* SkEventSink.cpp */; };
+		00003C760EFC22CE000FF73A /* SkMetaData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C6D0EFC22CE000FF73A /* SkMetaData.cpp */; };
+		00003C770EFC22CE000FF73A /* SkOSMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C6E0EFC22CE000FF73A /* SkOSMenu.cpp */; };
+		00003C790EFC22CE000FF73A /* SkTagList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C700EFC22CE000FF73A /* SkTagList.cpp */; };
+		00003C7A0EFC22CE000FF73A /* SkView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C710EFC22CE000FF73A /* SkView.cpp */; };
+		00003C7B0EFC22CE000FF73A /* SkViewPriv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C720EFC22CE000FF73A /* SkViewPriv.cpp */; };
+		00003C7C0EFC22CE000FF73A /* SkWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C730EFC22CE000FF73A /* SkWindow.cpp */; };
+		00003C800EFC22E1000FF73A /* SkCreateCGImageRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C7D0EFC22E1000FF73A /* SkCreateCGImageRef.cpp */; };
+		00003C810EFC22E1000FF73A /* skia_mac.cp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C7E0EFC22E1000FF73A /* skia_mac.cp */; };
+		00003C820EFC22E1000FF73A /* SkOSWindow_Mac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C7F0EFC22E1000FF73A /* SkOSWindow_Mac.cpp */; };
+		00003C950EFC2316000FF73A /* libeffects.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00003C940EFC230E000FF73A /* libeffects.a */; };
+		00003C9E0EFC233F000FF73A /* SkDOM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C9A0EFC233F000FF73A /* SkDOM.cpp */; };
+		00003C9F0EFC233F000FF73A /* SkParse.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C9B0EFC233F000FF73A /* SkParse.cpp */; };
+		00003CA00EFC233F000FF73A /* SkParseColor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C9C0EFC233F000FF73A /* SkParseColor.cpp */; };
+		00003CA10EFC233F000FF73A /* SkXMLParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003C9D0EFC233F000FF73A /* SkXMLParser.cpp */; };
+		00003CA40EFC235F000FF73A /* SkXMLParser_empty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 00003CA30EFC235F000FF73A /* SkXMLParser_empty.cpp */; };
+		0028847B0EFAB46A0083E387 /* libcore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 002884510EFAA35C0083E387 /* libcore.a */; };
+		002884BD0EFAB6A30083E387 /* libmaccore.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 002884BC0EFAB69F0083E387 /* libmaccore.a */; };
+		002884D90EFABFE60083E387 /* SkFontHost_none.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002884D80EFABFE60083E387 /* SkFontHost_none.cpp */; };
+		0156F80407C56A3000C6122B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0156F80307C56A3000C6122B /* Foundation.framework */; };
+		01FC44D507BD3BB800D228F4 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01FC44D407BD3BB800D228F4 /* Quartz.framework */; };
+		8D0C4E8D0486CD37000505A6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0867D6AAFE840B52C02AAC07 /* InfoPlist.strings */; };
+		8D0C4E8E0486CD37000505A6 /* main.nib in Resources */ = {isa = PBXBuildFile; fileRef = 02345980000FD03B11CA0E72 /* main.nib */; };
+		8D0C4E920486CD37000505A6 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20286C33FDCF999611CA2CEA /* Carbon.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+		00003C930EFC230E000FF73A /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 00003C8C0EFC230E000FF73A /* effects.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = D2AAC046055464E500DB518D;
+			remoteInfo = effects;
+		};
+		00003C970EFC2321000FF73A /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 00003C8C0EFC230E000FF73A /* effects.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = D2AAC045055464E500DB518D;
+			remoteInfo = effects;
+		};
+		002884500EFAA35C0083E387 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 002884490EFAA35C0083E387 /* core.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = D2AAC046055464E500DB518D;
+			remoteInfo = core;
+		};
+		002884540EFAA3770083E387 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 002884490EFAA35C0083E387 /* core.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = D2AAC045055464E500DB518D;
+			remoteInfo = core;
+		};
+		002884BB0EFAB69F0083E387 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 002884B40EFAB69F0083E387 /* maccore.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = D2AAC046055464E500DB518D;
+			remoteInfo = maccore;
+		};
+		002884BE0EFAB6B00083E387 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 002884B40EFAB69F0083E387 /* maccore.xcodeproj */;
+			proxyType = 1;
+			remoteGlobalIDString = D2AAC045055464E500DB518D;
+			remoteInfo = maccore;
+		};
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+		00003C620EFC22A8000FF73A /* SampleApp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SampleApp.cpp; path = ../../samplecode/SampleApp.cpp; sourceTree = SOURCE_ROOT; };
+		00003C640EFC22A8000FF73A /* SamplePath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SamplePath.cpp; path = ../../samplecode/SamplePath.cpp; sourceTree = SOURCE_ROOT; };
+		00003C650EFC22A8000FF73A /* SamplePathEffects.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SamplePathEffects.cpp; path = ../../samplecode/SamplePathEffects.cpp; sourceTree = SOURCE_ROOT; };
+		00003C6B0EFC22CE000FF73A /* SkEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkEvent.cpp; path = ../../src/views/SkEvent.cpp; sourceTree = SOURCE_ROOT; };
+		00003C6C0EFC22CE000FF73A /* SkEventSink.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkEventSink.cpp; path = ../../src/views/SkEventSink.cpp; sourceTree = SOURCE_ROOT; };
+		00003C6D0EFC22CE000FF73A /* SkMetaData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkMetaData.cpp; path = ../../src/views/SkMetaData.cpp; sourceTree = SOURCE_ROOT; };
+		00003C6E0EFC22CE000FF73A /* SkOSMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkOSMenu.cpp; path = ../../src/views/SkOSMenu.cpp; sourceTree = SOURCE_ROOT; };
+		00003C700EFC22CE000FF73A /* SkTagList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkTagList.cpp; path = ../../src/views/SkTagList.cpp; sourceTree = SOURCE_ROOT; };
+		00003C710EFC22CE000FF73A /* SkView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkView.cpp; path = ../../src/views/SkView.cpp; sourceTree = SOURCE_ROOT; };
+		00003C720EFC22CE000FF73A /* SkViewPriv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkViewPriv.cpp; path = ../../src/views/SkViewPriv.cpp; sourceTree = SOURCE_ROOT; };
+		00003C730EFC22CE000FF73A /* SkWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkWindow.cpp; path = ../../src/views/SkWindow.cpp; sourceTree = SOURCE_ROOT; };
+		00003C7D0EFC22E1000FF73A /* SkCreateCGImageRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkCreateCGImageRef.cpp; path = ../../src/utils/mac/SkCreateCGImageRef.cpp; sourceTree = SOURCE_ROOT; };
+		00003C7E0EFC22E1000FF73A /* skia_mac.cp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = skia_mac.cp; path = ../../src/utils/mac/skia_mac.cp; sourceTree = SOURCE_ROOT; };
+		00003C7F0EFC22E1000FF73A /* SkOSWindow_Mac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkOSWindow_Mac.cpp; path = ../../src/utils/mac/SkOSWindow_Mac.cpp; sourceTree = SOURCE_ROOT; };
+		00003C8C0EFC230E000FF73A /* effects.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = effects.xcodeproj; path = ../effects/effects.xcodeproj; sourceTree = SOURCE_ROOT; };
+		00003C9A0EFC233F000FF73A /* SkDOM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkDOM.cpp; path = ../../src/xml/SkDOM.cpp; sourceTree = SOURCE_ROOT; };
+		00003C9B0EFC233F000FF73A /* SkParse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkParse.cpp; path = ../../src/xml/SkParse.cpp; sourceTree = SOURCE_ROOT; };
+		00003C9C0EFC233F000FF73A /* SkParseColor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkParseColor.cpp; path = ../../src/xml/SkParseColor.cpp; sourceTree = SOURCE_ROOT; };
+		00003C9D0EFC233F000FF73A /* SkXMLParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkXMLParser.cpp; path = ../../src/xml/SkXMLParser.cpp; sourceTree = SOURCE_ROOT; };
+		00003CA30EFC235F000FF73A /* SkXMLParser_empty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkXMLParser_empty.cpp; path = ../../src/ports/SkXMLParser_empty.cpp; sourceTree = SOURCE_ROOT; };
+		002884490EFAA35C0083E387 /* core.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = core.xcodeproj; path = ../core/core.xcodeproj; sourceTree = SOURCE_ROOT; };
+		002884B40EFAB69F0083E387 /* maccore.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = maccore.xcodeproj; path = ../maccore/maccore.xcodeproj; sourceTree = SOURCE_ROOT; };
+		002884D80EFABFE60083E387 /* SkFontHost_none.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkFontHost_none.cpp; path = ../../src/ports/SkFontHost_none.cpp; sourceTree = SOURCE_ROOT; };
+		0156F80307C56A3000C6122B /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+		01FC44D407BD3BB800D228F4 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = /System/Library/Frameworks/Quartz.framework; sourceTree = "<absolute>"; };
+		0867D6ABFE840B52C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		1870340FFE93FCAF11CA0CD7 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/main.nib; sourceTree = "<group>"; };
+		20286C33FDCF999611CA2CEA /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
+		32DBCF6D0370B57F00C91783 /* CICarbonSample_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CICarbonSample_Prefix.pch; sourceTree = "<group>"; };
+		4A9504C8FFE6A3BC11CA0CBA /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
+		4A9504CAFFE6A41611CA0CBA /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
+		8D0C4E960486CD37000505A6 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+		8D0C4E970486CD37000505A6 /* CICarbonSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CICarbonSample.app; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		8D0C4E910486CD37000505A6 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				8D0C4E920486CD37000505A6 /* Carbon.framework in Frameworks */,
+				01FC44D507BD3BB800D228F4 /* Quartz.framework in Frameworks */,
+				0156F80407C56A3000C6122B /* Foundation.framework in Frameworks */,
+				0028847B0EFAB46A0083E387 /* libcore.a in Frameworks */,
+				002884BD0EFAB6A30083E387 /* libmaccore.a in Frameworks */,
+				00003C950EFC2316000FF73A /* libeffects.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		00003C610EFC2287000FF73A /* samples */ = {
+			isa = PBXGroup;
+			children = (
+				00003C620EFC22A8000FF73A /* SampleApp.cpp */,
+				00003C640EFC22A8000FF73A /* SamplePath.cpp */,
+				00003C650EFC22A8000FF73A /* SamplePathEffects.cpp */,
+			);
+			name = samples;
+			sourceTree = "<group>";
+		};
+		00003C6A0EFC22AD000FF73A /* views */ = {
+			isa = PBXGroup;
+			children = (
+				00003C9A0EFC233F000FF73A /* SkDOM.cpp */,
+				00003C9B0EFC233F000FF73A /* SkParse.cpp */,
+				00003C9C0EFC233F000FF73A /* SkParseColor.cpp */,
+				00003C9D0EFC233F000FF73A /* SkXMLParser.cpp */,
+				00003C7D0EFC22E1000FF73A /* SkCreateCGImageRef.cpp */,
+				00003C7E0EFC22E1000FF73A /* skia_mac.cp */,
+				00003C7F0EFC22E1000FF73A /* SkOSWindow_Mac.cpp */,
+				00003C6B0EFC22CE000FF73A /* SkEvent.cpp */,
+				00003C6C0EFC22CE000FF73A /* SkEventSink.cpp */,
+				00003C6D0EFC22CE000FF73A /* SkMetaData.cpp */,
+				00003C6E0EFC22CE000FF73A /* SkOSMenu.cpp */,
+				00003C700EFC22CE000FF73A /* SkTagList.cpp */,
+				00003C710EFC22CE000FF73A /* SkView.cpp */,
+				00003C720EFC22CE000FF73A /* SkViewPriv.cpp */,
+				00003C730EFC22CE000FF73A /* SkWindow.cpp */,
+			);
+			name = views;
+			sourceTree = "<group>";
+		};
+		00003C8D0EFC230E000FF73A /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				00003C940EFC230E000FF73A /* libeffects.a */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		0028844A0EFAA35C0083E387 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				002884510EFAA35C0083E387 /* libcore.a */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		002884B50EFAB69F0083E387 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				002884BC0EFAB69F0083E387 /* libmaccore.a */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		195DF8CFFE9D517E11CA2CBB /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				8D0C4E970486CD37000505A6 /* CICarbonSample.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		20286C29FDCF999611CA2CEA /* CICarbonSample */ = {
+			isa = PBXGroup;
+			children = (
+				00003C6A0EFC22AD000FF73A /* views */,
+				00003C610EFC2287000FF73A /* samples */,
+				002884D80EFABFE60083E387 /* SkFontHost_none.cpp */,
+				00003CA30EFC235F000FF73A /* SkXMLParser_empty.cpp */,
+				20286C2AFDCF999611CA2CEA /* Sources */,
+				20286C2CFDCF999611CA2CEA /* Resources */,
+				20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */,
+				195DF8CFFE9D517E11CA2CBB /* Products */,
+				002884490EFAA35C0083E387 /* core.xcodeproj */,
+				002884B40EFAB69F0083E387 /* maccore.xcodeproj */,
+				00003C8C0EFC230E000FF73A /* effects.xcodeproj */,
+			);
+			name = CICarbonSample;
+			sourceTree = "<group>";
+		};
+		20286C2AFDCF999611CA2CEA /* Sources */ = {
+			isa = PBXGroup;
+			children = (
+				32DBCF6D0370B57F00C91783 /* CICarbonSample_Prefix.pch */,
+			);
+			name = Sources;
+			sourceTree = "<group>";
+		};
+		20286C2CFDCF999611CA2CEA /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				8D0C4E960486CD37000505A6 /* Info.plist */,
+				0867D6AAFE840B52C02AAC07 /* InfoPlist.strings */,
+				02345980000FD03B11CA0E72 /* main.nib */,
+			);
+			name = Resources;
+			sourceTree = "<group>";
+		};
+		20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */ = {
+			isa = PBXGroup;
+			children = (
+				0156F80307C56A3000C6122B /* Foundation.framework */,
+				01FC44D407BD3BB800D228F4 /* Quartz.framework */,
+				20286C33FDCF999611CA2CEA /* Carbon.framework */,
+				4A9504CAFFE6A41611CA0CBA /* CoreServices.framework */,
+				4A9504C8FFE6A3BC11CA0CBA /* ApplicationServices.framework */,
+			);
+			name = "External Frameworks and Libraries";
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		8D0C4E890486CD37000505A6 /* CICarbonSample */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 01E2163909EDAC6600E66AF8 /* Build configuration list for PBXNativeTarget "CICarbonSample" */;
+			buildPhases = (
+				8D0C4E8C0486CD37000505A6 /* Resources */,
+				8D0C4E8F0486CD37000505A6 /* Sources */,
+				8D0C4E910486CD37000505A6 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				002884550EFAA3770083E387 /* PBXTargetDependency */,
+				002884BF0EFAB6B00083E387 /* PBXTargetDependency */,
+				00003C980EFC2321000FF73A /* PBXTargetDependency */,
+			);
+			name = CICarbonSample;
+			productInstallPath = "$(HOME)/Applications";
+			productName = CICarbonSample;
+			productReference = 8D0C4E970486CD37000505A6 /* CICarbonSample.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		20286C28FDCF999611CA2CEA /* Project object */ = {
+			isa = PBXProject;
+			buildConfigurationList = 01E2163D09EDAC6600E66AF8 /* Build configuration list for PBXProject "SampleApp" */;
+			compatibilityVersion = "Xcode 2.4";
+			hasScannedForEncodings = 1;
+			mainGroup = 20286C29FDCF999611CA2CEA /* CICarbonSample */;
+			projectDirPath = "";
+			projectReferences = (
+				{
+					ProductGroup = 0028844A0EFAA35C0083E387 /* Products */;
+					ProjectRef = 002884490EFAA35C0083E387 /* core.xcodeproj */;
+				},
+				{
+					ProductGroup = 00003C8D0EFC230E000FF73A /* Products */;
+					ProjectRef = 00003C8C0EFC230E000FF73A /* effects.xcodeproj */;
+				},
+				{
+					ProductGroup = 002884B50EFAB69F0083E387 /* Products */;
+					ProjectRef = 002884B40EFAB69F0083E387 /* maccore.xcodeproj */;
+				},
+			);
+			projectRoot = "";
+			targets = (
+				8D0C4E890486CD37000505A6 /* CICarbonSample */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+		00003C940EFC230E000FF73A /* libeffects.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libeffects.a;
+			remoteRef = 00003C930EFC230E000FF73A /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		002884510EFAA35C0083E387 /* libcore.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libcore.a;
+			remoteRef = 002884500EFAA35C0083E387 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		002884BC0EFAB69F0083E387 /* libmaccore.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libmaccore.a;
+			remoteRef = 002884BB0EFAB69F0083E387 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+		8D0C4E8C0486CD37000505A6 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				8D0C4E8D0486CD37000505A6 /* InfoPlist.strings in Resources */,
+				8D0C4E8E0486CD37000505A6 /* main.nib in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		8D0C4E8F0486CD37000505A6 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				002884D90EFABFE60083E387 /* SkFontHost_none.cpp in Sources */,
+				00003C660EFC22A8000FF73A /* SampleApp.cpp in Sources */,
+				00003C680EFC22A8000FF73A /* SamplePath.cpp in Sources */,
+				00003C690EFC22A8000FF73A /* SamplePathEffects.cpp in Sources */,
+				00003C740EFC22CE000FF73A /* SkEvent.cpp in Sources */,
+				00003C750EFC22CE000FF73A /* SkEventSink.cpp in Sources */,
+				00003C760EFC22CE000FF73A /* SkMetaData.cpp in Sources */,
+				00003C770EFC22CE000FF73A /* SkOSMenu.cpp in Sources */,
+				00003C790EFC22CE000FF73A /* SkTagList.cpp in Sources */,
+				00003C7A0EFC22CE000FF73A /* SkView.cpp in Sources */,
+				00003C7B0EFC22CE000FF73A /* SkViewPriv.cpp in Sources */,
+				00003C7C0EFC22CE000FF73A /* SkWindow.cpp in Sources */,
+				00003C800EFC22E1000FF73A /* SkCreateCGImageRef.cpp in Sources */,
+				00003C810EFC22E1000FF73A /* skia_mac.cp in Sources */,
+				00003C820EFC22E1000FF73A /* SkOSWindow_Mac.cpp in Sources */,
+				00003C9E0EFC233F000FF73A /* SkDOM.cpp in Sources */,
+				00003C9F0EFC233F000FF73A /* SkParse.cpp in Sources */,
+				00003CA00EFC233F000FF73A /* SkParseColor.cpp in Sources */,
+				00003CA10EFC233F000FF73A /* SkXMLParser.cpp in Sources */,
+				00003CA40EFC235F000FF73A /* SkXMLParser_empty.cpp in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+		00003C980EFC2321000FF73A /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = effects;
+			targetProxy = 00003C970EFC2321000FF73A /* PBXContainerItemProxy */;
+		};
+		002884550EFAA3770083E387 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = core;
+			targetProxy = 002884540EFAA3770083E387 /* PBXContainerItemProxy */;
+		};
+		002884BF0EFAB6B00083E387 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			name = maccore;
+			targetProxy = 002884BE0EFAB6B00083E387 /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+		02345980000FD03B11CA0E72 /* main.nib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				1870340FFE93FCAF11CA0CD7 /* English */,
+			);
+			name = main.nib;
+			sourceTree = "<group>";
+		};
+		0867D6AAFE840B52C02AAC07 /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				0867D6ABFE840B52C02AAC07 /* English */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		01E2163A09EDAC6600E66AF8 /* Development */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = NO;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_ENABLE_FIX_AND_CONTINUE = YES;
+				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = CICarbonSample_Prefix.pch;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				INFOPLIST_FILE = Info.plist;
+				INSTALL_PATH = "$(HOME)/Applications";
+				PREBINDING = NO;
+				PRODUCT_NAME = CICarbonSample;
+				SKIP_INSTALL = YES;
+				WRAPPER_EXTENSION = app;
+				ZERO_LINK = YES;
+			};
+			name = Development;
+		};
+		01E2163B09EDAC6600E66AF8 /* Deployment */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				COPY_PHASE_STRIP = YES;
+				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = CICarbonSample_Prefix.pch;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				INFOPLIST_FILE = Info.plist;
+				INSTALL_PATH = "$(HOME)/Applications";
+				PREBINDING = NO;
+				PRODUCT_NAME = CICarbonSample;
+				SKIP_INSTALL = YES;
+				WRAPPER_EXTENSION = app;
+				ZERO_LINK = NO;
+			};
+			name = Deployment;
+		};
+		01E2163C09EDAC6600E66AF8 /* Default */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+				GCC_PRECOMPILE_PREFIX_HEADER = YES;
+				GCC_PREFIX_HEADER = CICarbonSample_Prefix.pch;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				INFOPLIST_FILE = Info.plist;
+				INSTALL_PATH = "$(HOME)/Applications";
+				PRODUCT_NAME = CICarbonSample;
+				SKIP_INSTALL = YES;
+				WRAPPER_EXTENSION = app;
+			};
+			name = Default;
+		};
+		01E2163E09EDAC6600E66AF8 /* Development */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_ENABLE_CPP_EXCEPTIONS = NO;
+				GCC_ENABLE_CPP_RTTI = NO;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					SK_BUILD_FOR_MAC,
+					SK_DEBUG,
+				);
+				GCC_THREADSAFE_STATICS = NO;
+				USER_HEADER_SEARCH_PATHS = "../../include/**";
+			};
+			name = Development;
+		};
+		01E2163F09EDAC6600E66AF8 /* Deployment */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_ENABLE_CPP_EXCEPTIONS = NO;
+				GCC_ENABLE_CPP_RTTI = NO;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					SK_BUILD_FOR_MAC,
+					SK_RELEASE,
+				);
+				GCC_THREADSAFE_STATICS = NO;
+				USER_HEADER_SEARCH_PATHS = "../../include/**";
+			};
+			name = Deployment;
+		};
+		01E2164009EDAC6600E66AF8 /* Default */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				GCC_ENABLE_CPP_EXCEPTIONS = NO;
+				GCC_ENABLE_CPP_RTTI = NO;
+				GCC_THREADSAFE_STATICS = NO;
+				USER_HEADER_SEARCH_PATHS = "../../include/**";
+			};
+			name = Default;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		01E2163909EDAC6600E66AF8 /* Build configuration list for PBXNativeTarget "CICarbonSample" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				01E2163A09EDAC6600E66AF8 /* Development */,
+				01E2163B09EDAC6600E66AF8 /* Deployment */,
+				01E2163C09EDAC6600E66AF8 /* Default */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Default;
+		};
+		01E2163D09EDAC6600E66AF8 /* Build configuration list for PBXProject "SampleApp" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				01E2163E09EDAC6600E66AF8 /* Development */,
+				01E2163F09EDAC6600E66AF8 /* Deployment */,
+				01E2164009EDAC6600E66AF8 /* Default */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Default;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 20286C28FDCF999611CA2CEA /* Project object */;
+}
