aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2008-12-19 18:24:35 +0000
committerGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2008-12-19 18:24:35 +0000
commit6efdc47afc8bb24603fc0d15146ada609b728f2f (patch)
tree30fb21750ba6ab3de207c29a90b522d653af2b32
parent647254a7fd78090f64027383ff98e7ff2cc2667b (diff)
first cut at event-based test app
git-svn-id: http://skia.googlecode.com/svn/trunk@37 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r--include/core/SkAutoKern.h (renamed from src/core/SkAutoKern.h)0
-rw-r--r--include/core/SkBlitter.h (renamed from src/core/SkBlitter.h)0
-rw-r--r--include/core/SkDraw.h2
-rw-r--r--include/core/SkGeometry.h (renamed from src/core/SkGeometry.h)0
-rw-r--r--include/core/SkScan.h (renamed from src/core/SkScan.h)0
-rw-r--r--include/views/SkOSWindow_Mac.h8
-rw-r--r--samplecode/SampleApp.cpp16
-rw-r--r--samplecode/SamplePatch.cpp1
-rw-r--r--samplecode/SamplePath.cpp1
-rw-r--r--samplecode/SamplePathEffects.cpp1
-rw-r--r--src/ports/SkImageDecoder_empty.cpp110
-rw-r--r--src/utils/mac/SkBitmap_Mac.cpp142
-rw-r--r--src/utils/mac/SkOSWindow_Mac.cpp451
-rw-r--r--src/utils/mac/skia_mac.cp43
-rw-r--r--src/views/SkWindow.cpp4
-rw-r--r--xcode/core/core.xcodeproj/project.pbxproj8
-rw-r--r--xcode/effects/effects.xcodeproj/project.pbxproj337
-rw-r--r--xcode/hostapp/CICarbonSample.xcodeproj/project.pbxproj12
-rw-r--r--xcode/maccore/maccore.xcodeproj/project.pbxproj12
19 files changed, 1121 insertions, 27 deletions
diff --git a/src/core/SkAutoKern.h b/include/core/SkAutoKern.h
index 023cb6b2fe..023cb6b2fe 100644
--- a/src/core/SkAutoKern.h
+++ b/include/core/SkAutoKern.h
diff --git a/src/core/SkBlitter.h b/include/core/SkBlitter.h
index 11b84fdb37..11b84fdb37 100644
--- a/src/core/SkBlitter.h
+++ b/include/core/SkBlitter.h
diff --git a/include/core/SkDraw.h b/include/core/SkDraw.h
index 2d775a4272..821485953b 100644
--- a/include/core/SkDraw.h
+++ b/include/core/SkDraw.h
@@ -92,7 +92,7 @@ public:
#endif
};
-#include "SkGlyphCache.h"
+class SkGlyphCache;
class SkTextToPathIter {
public:
diff --git a/src/core/SkGeometry.h b/include/core/SkGeometry.h
index 571159fd07..571159fd07 100644
--- a/src/core/SkGeometry.h
+++ b/include/core/SkGeometry.h
diff --git a/src/core/SkScan.h b/include/core/SkScan.h
index 379c016b41..379c016b41 100644
--- a/src/core/SkScan.h
+++ b/include/core/SkScan.h
diff --git a/include/views/SkOSWindow_Mac.h b/include/views/SkOSWindow_Mac.h
index 1f6a1fa9b2..0d808e105b 100644
--- a/include/views/SkOSWindow_Mac.h
+++ b/include/views/SkOSWindow_Mac.h
@@ -24,13 +24,18 @@ public:
SkOSWindow(void* hwnd);
void* getHWND() const { return fHWND; }
+ void* getHVIEW() const { return fHVIEW; }
void updateSize();
static bool PostEvent(SkEvent* evt, SkEventSinkID, SkMSec delay);
static pascal OSStatus SkOSWindow::EventHandler( EventHandlerCallRef inHandler, EventRef inEvent, void* userData );
+ void doPaint(void* ctx);
+
protected:
+ // overrides from SkEventSink
+ virtual bool onEvent(const SkEvent& evt);
// overrides from SkWindow
virtual void onHandleInval(const SkIRect&);
// overrides from SkView
@@ -39,8 +44,7 @@ protected:
private:
void* fHWND;
-
- void doPaint(void* ctx);
+ void* fHVIEW;
typedef SkWindow INHERITED;
};
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 5ff8362b0e..365f558345 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -9,8 +9,12 @@
#include "SampleCode.h"
+//#define SK_SUPPORT_GL
+
+#ifdef SK_SUPPORT_GL
#include <AGL/agl.h>
#include <OpenGL/gl.h>
+#endif
#define ANIMATING_EVENTTYPE "nextSample"
#define ANIMATING_DELAY 750
@@ -29,6 +33,7 @@ SkViewRegister::SkViewRegister(SkViewFactory fact) : fFact(fact) {
gHead = this;
}
+#ifdef SK_SUPPORT_GL
static AGLContext gAGLContext;
static void init_gl(WindowRef wref) {
@@ -85,6 +90,7 @@ static void setup_offscreen_gl(const SkBitmap& offscreen, WindowRef wref) {
glClearColor(0, 0, 0, 0);
glClear(GL_COLOR_BUFFER_BIT);
}
+#endif
//////////////////////////////////////////////////////////////////////////////
@@ -187,8 +193,10 @@ SampleWindow::CanvasType SampleWindow::cycle_canvastype(CanvasType ct) {
}
SampleWindow::SampleWindow(void* hwnd) : INHERITED(hwnd) {
+#ifdef SK_SUPPORT_GL
init_gl((WindowRef)hwnd);
-
+#endif
+
fPicture = NULL;
fGLCanvas = NULL;
@@ -237,9 +245,11 @@ static void reverseRedAndBlue(const SkBitmap& bm) {
}
SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) {
+#ifdef SK_SUPPORT_GL
#ifndef USE_OFFSCREEN
aglSetWindowRef(gAGLContext, NULL);
#endif
+#endif
switch (fCanvasType) {
case kRaster_CanvasType:
canvas = this->INHERITED::beforeChildren(canvas);
@@ -248,6 +258,7 @@ SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) {
fPicture = new SkPicture;
canvas = fPicture->beginRecording(9999, 9999);
break;
+#ifdef SK_SUPPORT_GL
case kOpenGL_CanvasType: {
//SkGLCanvas::DeleteAllTextures(); // just for testing
SkDevice* device = canvas->getDevice();
@@ -261,6 +272,7 @@ SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) {
canvas = fGLCanvas;
break;
}
+#endif
}
if (fUseClip) {
@@ -305,6 +317,7 @@ void SampleWindow::afterChildren(SkCanvas* orig) {
}
fPicture = NULL;
break;
+#ifdef SK_SUPPORT_GL
case kOpenGL_CanvasType:
glFlush();
delete fGLCanvas;
@@ -313,6 +326,7 @@ void SampleWindow::afterChildren(SkCanvas* orig) {
reverseRedAndBlue(orig->getDevice()->accessBitmap(true));
#endif
break;
+#endif
}
// if ((fScrollTestX | fScrollTestY) != 0)
diff --git a/samplecode/SamplePatch.cpp b/samplecode/SamplePatch.cpp
index 2e55db2ed0..77bd3324b6 100644
--- a/samplecode/SamplePatch.cpp
+++ b/samplecode/SamplePatch.cpp
@@ -11,7 +11,6 @@
#include "SkShader.h"
#include "SkUtils.h"
#include "SkXfermode.h"
-#include "SkShaderExtras.h"
#include "SkColorPriv.h"
#include "SkColorFilter.h"
#include "SkTime.h"
diff --git a/samplecode/SamplePath.cpp b/samplecode/SamplePath.cpp
index 04d006aa50..98f1a5b7f9 100644
--- a/samplecode/SamplePath.cpp
+++ b/samplecode/SamplePath.cpp
@@ -10,7 +10,6 @@
#include "SkShader.h"
#include "SkUtils.h"
#include "SkXfermode.h"
-#include "SkShaderExtras.h"
#include "SkColorPriv.h"
#include "SkColorFilter.h"
#include "SkTime.h"
diff --git a/samplecode/SamplePathEffects.cpp b/samplecode/SamplePathEffects.cpp
index 40822884bd..4e964d776f 100644
--- a/samplecode/SamplePathEffects.cpp
+++ b/samplecode/SamplePathEffects.cpp
@@ -6,7 +6,6 @@
#include "SkRegion.h"
#include "SkShader.h"
#include "SkUtils.h"
-#include "SkShaderExtras.h"
#include "Sk1DPathEffect.h"
#include "SkCornerPathEffect.h"
#include "SkPathMeasure.h"
diff --git a/src/ports/SkImageDecoder_empty.cpp b/src/ports/SkImageDecoder_empty.cpp
new file mode 100644
index 0000000000..45eb346115
--- /dev/null
+++ b/src/ports/SkImageDecoder_empty.cpp
@@ -0,0 +1,110 @@
+/* libs/graphics/ports/SkImageDecoder_Factory.cpp
+**
+** Copyright 2006, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+#include "SkImageDecoder.h"
+#include "SkMovie.h"
+#include "SkStream.h"
+
+extern SkImageDecoder* SkImageDecoder_GIF_Factory(SkStream*);
+extern SkImageDecoder* SkImageDecoder_BMP_Factory(SkStream*);
+extern SkImageDecoder* SkImageDecoder_ICO_Factory(SkStream*);
+extern SkImageDecoder* SkImageDecoder_PNG_Factory(SkStream*);
+extern SkImageDecoder* SkImageDecoder_WBMP_Factory(SkStream*);
+extern SkImageDecoder* SkImageDecoder_JPEG_Factory(SkStream*);
+
+typedef SkImageDecoder* (*SkImageDecoderFactoryProc)(SkStream*);
+
+struct CodecFormat {
+ SkImageDecoderFactoryProc fProc;
+ SkImageDecoder::Format fFormat;
+};
+
+static const CodecFormat gPairs[] = {
+#if 0
+ { SkImageDecoder_GIF_Factory, SkImageDecoder::kGIF_Format },
+ { SkImageDecoder_PNG_Factory, SkImageDecoder::kPNG_Format },
+ { SkImageDecoder_ICO_Factory, SkImageDecoder::kICO_Format },
+ { SkImageDecoder_WBMP_Factory, SkImageDecoder::kWBMP_Format },
+ { SkImageDecoder_BMP_Factory, SkImageDecoder::kBMP_Format },
+ { SkImageDecoder_JPEG_Factory, SkImageDecoder::kJPEG_Format }
+#endif
+};
+
+SkImageDecoder* SkImageDecoder::Factory(SkStream* stream) {
+ for (size_t i = 0; i < SK_ARRAY_COUNT(gPairs); i++) {
+ SkImageDecoder* codec = gPairs[i].fProc(stream);
+ stream->rewind();
+ if (NULL != codec) {
+ return codec;
+ }
+ }
+ return NULL;
+}
+
+bool SkImageDecoder::SupportsFormat(Format format) {
+ for (size_t i = 0; i < SK_ARRAY_COUNT(gPairs); i++) {
+ if (gPairs[i].fFormat == format) {
+ return true;
+ }
+ }
+ return false;
+}
+
+/////////////////////////////////////////////////////////////////////////
+
+typedef SkMovie* (*SkMovieFactoryProc)(SkStream*);
+
+extern SkMovie* SkMovie_GIF_Factory(SkStream*);
+
+static const SkMovieFactoryProc gMovieProcs[] = {
+#if 0
+ SkMovie_GIF_Factory
+#endif
+};
+
+SkMovie* SkMovie::DecodeStream(SkStream* stream) {
+ for (unsigned i = 0; i < SK_ARRAY_COUNT(gMovieProcs); i++) {
+ SkMovie* movie = gMovieProcs[i](stream);
+ if (NULL != movie) {
+ return movie;
+ }
+ stream->rewind();
+ }
+ return NULL;
+}
+
+/////////////////////////////////////////////////////////////////////////
+
+#ifdef SK_SUPPORT_IMAGE_ENCODE
+
+extern SkImageEncoder* SkImageEncoder_JPEG_Factory();
+extern SkImageEncoder* SkImageEncoder_PNG_Factory();
+
+SkImageEncoder* SkImageEncoder::Create(Type t) {
+ switch (t) {
+#if 0
+ case kJPEG_Type:
+ return SkImageEncoder_JPEG_Factory();
+ case kPNG_Type:
+ return SkImageEncoder_PNG_Factory();
+#endif
+ default:
+ return NULL;
+ }
+}
+
+#endif
diff --git a/src/utils/mac/SkBitmap_Mac.cpp b/src/utils/mac/SkBitmap_Mac.cpp
new file mode 100644
index 0000000000..06c2b2701a
--- /dev/null
+++ b/src/utils/mac/SkBitmap_Mac.cpp
@@ -0,0 +1,142 @@
+#include "SkBitmap.h"
+#include "SkColorPriv.h"
+#include "SkMath.h"
+
+#if defined(SK_BUILD_FOR_MAC) && !defined(SK_USE_WXWIDGETS)
+
+#include <ApplicationServices/ApplicationServices.h>
+
+#ifndef __ppc__
+ #define SWAP_16BIT
+#endif
+
+static void convertGL32_to_Mac32(uint32_t dst[], const SkBitmap& bm) {
+ memcpy(dst, bm.getPixels(), bm.getSize());
+ return;
+
+ uint32_t* stop = dst + (bm.getSize() >> 2);
+ const uint8_t* src = (const uint8_t*)bm.getPixels();
+ while (dst < stop) {
+ *dst++ = src[2] << 24 | src[1] << 16 | src[0] << 8 | src[3] << 0;
+ src += sizeof(uint32_t);
+ }
+}
+
+static void convert565_to_32(uint32_t dst[], const SkBitmap& bm) {
+ for (int y = 0; y < bm.height(); y++) {
+ const uint16_t* src = bm.getAddr16(0, y);
+ const uint16_t* stop = src + bm.width();
+ while (src < stop) {
+ unsigned c = *src++;
+ unsigned r = SkPacked16ToR32(c);
+ unsigned g = SkPacked16ToG32(c);
+ unsigned b = SkPacked16ToB32(c);
+
+ *dst++ = (b << 24) | (g << 16) | (r << 8) | 0xFF;
+ }
+ }
+}
+
+static void convert4444_to_555(uint16_t dst[], const uint16_t src[], int count)
+{
+ const uint16_t* stop = src + count;
+
+ while (src < stop)
+ {
+ unsigned c = *src++;
+
+ unsigned r = SkGetPackedR4444(c);
+ unsigned g = SkGetPackedG4444(c);
+ unsigned b = SkGetPackedB4444(c);
+ // convert to 5 bits
+ r = (r << 1) | (r >> 3);
+ g = (g << 1) | (g >> 3);
+ b = (b << 1) | (b >> 3);
+ // build the 555
+ c = (r << 10) | (g << 5) | b;
+
+#ifdef SWAP_16BIT
+ c = (c >> 8) | (c << 8);
+#endif
+ *dst++ = c;
+ }
+}
+
+#include "SkTemplates.h"
+
+static CGImageRef bitmap2imageref(const SkBitmap& bm) {
+ size_t bitsPerComp;
+ size_t bitsPerPixel;
+ CGBitmapInfo info;
+ CGColorSpaceRef cs = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
+ CGDataProviderRef data = CGDataProviderCreateWithData(NULL,
+ bm.getPixels(),
+ bm.getSize(),
+ NULL);
+ SkAutoTCallVProc<CGDataProvider, CGDataProviderRelease> acp(data);
+ SkAutoTCallVProc<CGColorSpace, CGColorSpaceRelease> acp2(cs);
+
+ switch (bm.config()) {
+ case SkBitmap::kARGB_8888_Config:
+ bitsPerComp = 8;
+ bitsPerPixel = 32;
+ info = kCGImageAlphaPremultipliedLast;
+ break;
+ case SkBitmap::kARGB_4444_Config:
+ bitsPerComp = 4;
+ bitsPerPixel = 16;
+ info = kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder16Little;
+ break;
+#if 0 // not supported by quartz !!!
+ case SkBitmap::kRGB_565_Config:
+ bitsPerComp = 5;
+ bitsPerPixel = 16;
+ info = kCGImageAlphaNone | kCGBitmapByteOrder16Little;
+ break;
+#endif
+ default:
+ return NULL;
+ }
+
+ return CGImageCreate(bm.width(), bm.height(), bitsPerComp, bitsPerPixel,
+ bm.rowBytes(), cs, info, data,
+ NULL, false, kCGRenderingIntentDefault);
+}
+
+void SkBitmap::drawToPort(WindowRef wind, CGContextRef cg) const {
+ if (fPixels == NULL || fWidth == 0 || fHeight == 0) {
+ return;
+ }
+
+ bool useQD = false;
+ if (NULL == cg) {
+ SetPortWindowPort(wind);
+ QDBeginCGContext(GetWindowPort(wind), &cg);
+ useQD = true;
+ }
+
+ SkBitmap bm;
+ if (this->config() == kRGB_565_Config) {
+ this->copyTo(&bm, kARGB_8888_Config);
+ } else {
+ bm = *this;
+ }
+ bm.lockPixels();
+
+ CGImageRef image = bitmap2imageref(bm);
+ if (image) {
+ CGRect rect;
+ rect.origin.x = rect.origin.y = 0;
+ rect.size.width = bm.width();
+ rect.size.height = bm.height();
+
+ CGContextDrawImage(cg, rect, image);
+ CGImageRelease(image);
+ }
+
+ if (useQD) {
+ QDEndCGContext(GetWindowPort(wind), &cg);
+ }
+}
+
+#endif
diff --git a/src/utils/mac/SkOSWindow_Mac.cpp b/src/utils/mac/SkOSWindow_Mac.cpp
new file mode 100644
index 0000000000..2c937210c2
--- /dev/null
+++ b/src/utils/mac/SkOSWindow_Mac.cpp
@@ -0,0 +1,451 @@
+#include "SkTypes.h"
+
+#if defined(SK_BUILD_FOR_MAC) && !defined(SK_USE_WXWIDGETS)
+
+#include <Carbon/Carbon.h>
+#include "SkCGUtils.h"
+
+#include "SkWindow.h"
+#include "SkCanvas.h"
+#include "SkOSMenu.h"
+#include "SkTime.h"
+
+#include "SkGraphics.h"
+#include <new.h>
+
+static void (*gPrevNewHandler)();
+
+extern "C" {
+ static void sk_new_handler()
+ {
+ if (SkGraphics::SetFontCacheUsed(0))
+ return;
+ if (gPrevNewHandler)
+ gPrevNewHandler();
+ else
+ sk_throw();
+ }
+}
+
+static SkOSWindow* gCurrOSWin;
+static EventTargetRef gEventTarget;
+static EventQueueRef gCurrEventQ;
+
+static OSStatus MyDrawEventHandler(EventHandlerCallRef myHandler,
+ EventRef event, void *userData) {
+ // NOTE: GState is save/restored by the HIView system doing the callback,
+ // so the draw handler doesn't need to do it
+
+ OSStatus status = noErr;
+ CGContextRef context;
+ HIRect bounds;
+
+ // Get the CGContextRef
+ status = GetEventParameter (event, kEventParamCGContextRef,
+ typeCGContextRef, NULL,
+ sizeof (CGContextRef),
+ NULL,
+ &context);
+
+ if (status != noErr) {
+ SkDebugf("Got error %d getting the context!\n", status);
+ return status;
+ }
+
+ // Get the bounding rectangle
+ HIViewGetBounds ((HIViewRef) userData, &bounds);
+
+ gCurrOSWin->doPaint(context);
+ return status;
+}
+
+#define SK_MacEventClass FOUR_CHAR_CODE('SKec')
+#define SK_MacEventKind FOUR_CHAR_CODE('SKek')
+#define SK_MacEventParamName FOUR_CHAR_CODE('SKev')
+#define SK_MacEventSinkIDParamName FOUR_CHAR_CODE('SKes')
+
+static void set_bindingside(HISideBinding* side, HIViewRef parent, HIBindingKind kind) {
+ side->toView = parent;
+ side->kind = kind;
+ side->offset = 0;
+}
+
+static void set_axisscale(HIAxisScale* axis, HIViewRef parent) {
+ axis->toView = parent;
+ axis->kind = kHILayoutScaleAbsolute;
+ axis->ratio = 1;
+}
+
+static void set_axisposition(HIAxisPosition* pos, HIViewRef parent, HIPositionKind kind) {
+ pos->toView = parent;
+ pos->kind = kind;
+ pos->offset = 0;
+}
+
+SkOSWindow::SkOSWindow(void* hWnd) : fHWND(hWnd)
+{
+ OSStatus result;
+ WindowRef wr = (WindowRef)hWnd;
+
+ HIViewRef imageView, parent;
+ HIViewRef rootView = HIViewGetRoot(wr);
+ HIViewFindByID(rootView, kHIViewWindowContentID, &parent);
+ result = HIImageViewCreate(NULL, &imageView);
+ SkASSERT(result == noErr);
+
+ result = HIViewAddSubview(parent, imageView);
+ SkASSERT(result == noErr);
+
+ fHVIEW = imageView;
+
+ HIViewSetVisible(imageView, true);
+ HIViewPlaceInSuperviewAt(imageView, 0, 0);
+
+ if (true) {
+ HILayoutInfo layout;
+ layout.version = kHILayoutInfoVersionZero;
+ set_bindingside(&layout.binding.left, parent, kHILayoutBindLeft);
+ set_bindingside(&layout.binding.top, parent, kHILayoutBindTop);
+ set_bindingside(&layout.binding.right, parent, kHILayoutBindRight);
+ set_bindingside(&layout.binding.bottom, parent, kHILayoutBindBottom);
+ set_axisscale(&layout.scale.x, parent);
+ set_axisscale(&layout.scale.y, parent);
+ set_axisposition(&layout.position.x, parent, kHILayoutPositionLeft);
+ set_axisposition(&layout.position.y, rootView, kHILayoutPositionTop);
+ HIViewSetLayoutInfo(imageView, &layout);
+ }
+
+ HIImageViewSetOpaque(imageView, true);
+ HIImageViewSetScaleToFit(imageView, false);
+
+ static const EventTypeSpec gTypes[] = {
+ { kEventClassKeyboard, kEventRawKeyDown },
+ { kEventClassKeyboard, kEventRawKeyUp },
+ { kEventClassMouse, kEventMouseDown },
+ { kEventClassMouse, kEventMouseDragged },
+ { kEventClassMouse, kEventMouseUp },
+ { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent },
+ { kEventClassWindow, kEventWindowBoundsChanged },
+// { kEventClassWindow, kEventWindowDrawContent },
+ { SK_MacEventClass, SK_MacEventKind }
+ };
+
+ EventHandlerUPP handlerUPP = NewEventHandlerUPP(SkOSWindow::EventHandler);
+ int count = SK_ARRAY_COUNT(gTypes);
+
+ result = InstallEventHandler(GetWindowEventTarget(wr), handlerUPP,
+ count, gTypes, this, nil);
+ SkASSERT(result == noErr);
+
+ gCurrOSWin = this;
+ gCurrEventQ = GetCurrentEventQueue();
+ gEventTarget = GetWindowEventTarget(wr);
+
+ static bool gOnce = true;
+ if (gOnce) {
+ gOnce = false;
+ gPrevNewHandler = set_new_handler(sk_new_handler);
+ }
+}
+
+void SkOSWindow::doPaint(void* ctx)
+{
+#if 0
+ this->update(NULL);
+
+ const SkBitmap& bm = this->getBitmap();
+ CGImageRef img = SkCreateCGImageRef(bm);
+
+ if (img) {
+ CGRect r = CGRectMake(0, 0, bm.width(), bm.height());
+
+ CGContextRef cg = reinterpret_cast<CGContextRef>(ctx);
+
+ CGContextSaveGState(cg);
+ CGContextTranslateCTM(cg, 0, r.size.height);
+ CGContextScaleCTM(cg, 1, -1);
+
+ CGContextDrawImage(cg, r, img);
+
+ CGContextRestoreGState(cg);
+
+ CGImageRelease(img);
+ }
+#endif
+}
+
+void SkOSWindow::updateSize()
+{
+ Rect r;
+
+ GetWindowBounds((WindowRef)fHWND, kWindowContentRgn, &r);
+ this->resize(r.right - r.left, r.bottom - r.top);
+
+#if 0
+ HIRect frame;
+ HIViewRef imageView = (HIViewRef)getHVIEW();
+ HIViewRef parent = HIViewGetSuperview(imageView);
+
+ HIViewGetBounds(imageView, &frame);
+ SkDebugf("------ %d bounds %g %g %g %g\n", r.right - r.left,
+ frame.origin.x, frame.origin.y, frame.size.width, frame.size.height);
+#endif
+}
+
+void SkOSWindow::onHandleInval(const SkIRect& r)
+{
+ SkEvent* evt = new SkEvent("inval-imageview");
+ evt->post(this->getSinkID());
+}
+
+bool SkOSWindow::onEvent(const SkEvent& evt) {
+ if (evt.isType("inval-imageview")) {
+ this->update(NULL);
+
+ const SkBitmap& bm = this->getBitmap();
+ SkDebugf("------ bitmap %d %d\n", bm.width(), bm.height());
+
+ CGImageRef img = SkCreateCGImageRef(bm);
+ HIImageViewSetImage((HIViewRef)getHVIEW(), img);
+ CGImageRelease(img);
+ return true;
+ }
+ return INHERITED::onEvent(evt);
+}
+
+void SkOSWindow::onSetTitle(const char title[])
+{
+ CFStringRef str = CFStringCreateWithCString(NULL, title, kCFStringEncodingUTF8);
+ SetWindowTitleWithCFString((WindowRef)fHWND, str);
+ CFRelease(str);
+}
+
+void SkOSWindow::onAddMenu(const SkOSMenu* sk_menu)
+{
+}
+
+static void getparam(EventRef inEvent, OSType name, OSType type, UInt32 size, void* data)
+{
+ EventParamType actualType;
+ UInt32 actualSize;
+ OSStatus status;
+
+ status = GetEventParameter(inEvent, name, type, &actualType, size, &actualSize, data);
+ SkASSERT(status == noErr);
+ SkASSERT(actualType == type);
+ SkASSERT(actualSize == size);
+}
+
+enum {
+ SK_MacReturnKey = 36,
+ SK_MacDeleteKey = 51,
+ SK_MacEndKey = 119,
+ SK_MacLeftKey = 123,
+ SK_MacRightKey = 124,
+ SK_MacDownKey = 125,
+ SK_MacUpKey = 126,
+
+ SK_Mac0Key = 0x52,
+ SK_Mac1Key = 0x53,
+ SK_Mac2Key = 0x54,
+ SK_Mac3Key = 0x55,
+ SK_Mac4Key = 0x56,
+ SK_Mac5Key = 0x57,
+ SK_Mac6Key = 0x58,
+ SK_Mac7Key = 0x59,
+ SK_Mac8Key = 0x5b,
+ SK_Mac9Key = 0x5c
+};
+
+static SkKey raw2key(UInt32 raw)
+{
+ static const struct {
+ UInt32 fRaw;
+ SkKey fKey;
+ } gKeys[] = {
+ { SK_MacUpKey, kUp_SkKey },
+ { SK_MacDownKey, kDown_SkKey },
+ { SK_MacLeftKey, kLeft_SkKey },
+ { SK_MacRightKey, kRight_SkKey },
+ { SK_MacReturnKey, kOK_SkKey },
+ { SK_MacDeleteKey, kBack_SkKey },
+ { SK_MacEndKey, kEnd_SkKey },
+ { SK_Mac0Key, k0_SkKey },
+ { SK_Mac1Key, k1_SkKey },
+ { SK_Mac2Key, k2_SkKey },
+ { SK_Mac3Key, k3_SkKey },
+ { SK_Mac4Key, k4_SkKey },
+ { SK_Mac5Key, k5_SkKey },
+ { SK_Mac6Key, k6_SkKey },
+ { SK_Mac7Key, k7_SkKey },
+ { SK_Mac8Key, k8_SkKey },
+ { SK_Mac9Key, k9_SkKey }
+ };
+
+ for (unsigned i = 0; i < SK_ARRAY_COUNT(gKeys); i++)
+ if (gKeys[i].fRaw == raw)
+ return gKeys[i].fKey;
+ return kNONE_SkKey;
+}
+
+static void post_skmacevent()
+{
+ EventRef ref;
+ OSStatus status = CreateEvent(nil, SK_MacEventClass, SK_MacEventKind, 0, 0, &ref);
+ SkASSERT(status == noErr);
+
+#if 0
+ status = SetEventParameter(ref, SK_MacEventParamName, SK_MacEventParamName, sizeof(evt), &evt);
+ SkASSERT(status == noErr);
+ status = SetEventParameter(ref, SK_MacEventSinkIDParamName, SK_MacEventSinkIDParamName, sizeof(sinkID), &sinkID);
+ SkASSERT(status == noErr);
+#endif
+
+ EventTargetRef target = gEventTarget;
+ SetEventParameter(ref, kEventParamPostTarget, typeEventTargetRef, sizeof(target), &target);
+ SkASSERT(status == noErr);
+
+ status = PostEventToQueue(gCurrEventQ, ref, kEventPriorityStandard);
+ SkASSERT(status == noErr);
+
+ ReleaseEvent(ref);
+}
+
+pascal OSStatus SkOSWindow::EventHandler( EventHandlerCallRef inHandler, EventRef inEvent, void* userData )
+{
+ SkOSWindow* win = (SkOSWindow*)userData;
+ OSStatus result = eventNotHandledErr;
+ UInt32 wClass = GetEventClass(inEvent);
+ UInt32 wKind = GetEventKind(inEvent);
+
+ gCurrOSWin = win; // will need to be in TLS. Set this so PostEvent will work
+
+ switch (wClass) {
+ case kEventClassMouse: {
+ Point pt;
+ getparam(inEvent, kEventParamMouseLocation, typeQDPoint, sizeof(pt), &pt);
+ SetPortWindowPort((WindowRef)win->getHWND());
+ GlobalToLocal(&pt);
+
+ switch (wKind) {
+ case kEventMouseDown:
+ (void)win->handleClick(pt.h, pt.v, Click::kDown_State);
+ break;
+ case kEventMouseDragged:
+ (void)win->handleClick(pt.h, pt.v, Click::kMoved_State);
+ break;
+ case kEventMouseUp:
+ (void)win->handleClick(pt.h, pt.v, Click::kUp_State);
+ break;
+ default:
+ break;
+ }
+ break;
+ }
+ case kEventClassKeyboard:
+ if (wKind == kEventRawKeyDown) {
+ UInt32 raw;
+ getparam(inEvent, kEventParamKeyCode, typeUInt32, sizeof(raw), &raw);
+ SkKey key = raw2key(raw);
+ if (key != kNONE_SkKey)
+ (void)win->handleKey(key);
+ } else if (wKind == kEventRawKeyUp) {
+ UInt32 raw;
+ getparam(inEvent, kEventParamKeyCode, typeUInt32, sizeof(raw), &raw);
+ SkKey key = raw2key(raw);
+ if (key != kNONE_SkKey)
+ (void)win->handleKeyUp(key);
+ }
+ break;
+ case kEventClassTextInput:
+ if (wKind == kEventTextInputUnicodeForKeyEvent) {
+ UInt16 uni;
+ getparam(inEvent, kEventParamTextInputSendText, typeUnicodeText, sizeof(uni), &uni);
+ win->handleChar(uni);
+ }
+ break;
+ case kEventClassWindow:
+ switch (wKind) {
+ case kEventWindowBoundsChanged:
+ win->updateSize();
+ break;
+ case kEventWindowDrawContent: {
+ CGContextRef cg;
+ result = GetEventParameter(inEvent,
+ kEventParamCGContextRef,
+ typeCGContextRef,
+ NULL,
+ sizeof (CGContextRef),
+ NULL,
+ &cg);
+ if (result != 0) {
+ cg = NULL;
+ }
+ win->doPaint(cg);
+ break;
+ }
+ default:
+ break;
+ }
+ break;
+ case SK_MacEventClass: {
+ SkASSERT(wKind == SK_MacEventKind);
+ if (SkEvent::ProcessEvent()) {
+ post_skmacevent();
+ }
+ #if 0
+ SkEvent* evt;
+ SkEventSinkID sinkID;
+ getparam(inEvent, SK_MacEventParamName, SK_MacEventParamName, sizeof(evt), &evt);
+ getparam(inEvent, SK_MacEventSinkIDParamName, SK_MacEventSinkIDParamName, sizeof(sinkID), &sinkID);
+ #endif
+ result = noErr;
+ break;
+ }
+ default:
+ break;
+ }
+ if (result == eventNotHandledErr) {
+ result = CallNextEventHandler(inHandler, inEvent);
+ }
+ return result;
+}
+
+///////////////////////////////////////////////////////////////////////////////////////
+
+void SkEvent::SignalNonEmptyQueue()
+{
+ post_skmacevent();
+// SkDebugf("signal nonempty\n");
+}
+
+static TMTask gTMTaskRec;
+static TMTask* gTMTaskPtr;
+
+static void sk_timer_proc(TMTask* rec)
+{
+ SkEvent::ServiceQueueTimer();
+// SkDebugf("timer task fired\n");
+}
+
+void SkEvent::SignalQueueTimer(SkMSec delay)
+{
+ if (gTMTaskPtr)
+ {
+ RemoveTimeTask((QElem*)gTMTaskPtr);
+ DisposeTimerUPP(gTMTaskPtr->tmAddr);
+ gTMTaskPtr = nil;
+ }
+ if (delay)
+ {
+ gTMTaskPtr = &gTMTaskRec;
+ memset(gTMTaskPtr, 0, sizeof(gTMTaskRec));
+ gTMTaskPtr->tmAddr = NewTimerUPP(sk_timer_proc);
+ OSErr err = InstallTimeTask((QElem*)gTMTaskPtr);
+// SkDebugf("installtimetask of %d returned %d\n", delay, err);
+ PrimeTimeTask((QElem*)gTMTaskPtr, delay);
+ }
+}
+
+#endif
+
diff --git a/src/utils/mac/skia_mac.cp b/src/utils/mac/skia_mac.cp
new file mode 100644
index 0000000000..f6be570366
--- /dev/null
+++ b/src/utils/mac/skia_mac.cp
@@ -0,0 +1,43 @@
+#include <Carbon/Carbon.h>
+#include "SkApplication.h"
+#include "SkWindow.h"
+
+int main(int argc, char* argv[])
+{
+ IBNibRef nibRef;
+ WindowRef window;
+ OSStatus err = noErr;
+
+ // Create a Nib reference passing the name of the nib file (without the .nib extension)
+ // CreateNibReference only searches into the application bundle.
+ err = CreateNibReference(CFSTR("main"), &nibRef);
+ require_noerr( err, CantGetNibRef );
+
+ // Then create a window. "MainWindow" is the name of the window object. This name is set in
+ // InterfaceBuilder when the nib is created.
+ err = CreateWindowFromNib(nibRef, CFSTR("MainWindow"), &window);
+ require_noerr( err, CantCreateWindow );
+
+ // We don't need the nib reference anymore.
+ DisposeNibReference(nibRef);
+
+ // if we get here, we can start our normal Skia sequence
+ {
+ application_init();
+ (void)create_sk_window(window);
+ SizeWindow(window, 640, 480, false);
+ }
+
+ // The window was created hidden so show it.
+ ShowWindow( window );
+
+ // Call the event loop
+ RunApplicationEventLoop();
+
+ application_term();
+
+CantCreateWindow:
+CantGetNibRef:
+ return err;
+}
+
diff --git a/src/views/SkWindow.cpp b/src/views/SkWindow.cpp
index 5d00d4fb85..ae03b811c9 100644
--- a/src/views/SkWindow.cpp
+++ b/src/views/SkWindow.cpp
@@ -62,8 +62,6 @@ void SkWindow::setConfig(SkBitmap::Config config)
this->resize(fBitmap.width(), fBitmap.height(), config);
}
-#include "SkImageDecoder.h"
-
void SkWindow::resize(int width, int height, SkBitmap::Config config)
{
if (config == SkBitmap::kNo_Config)
@@ -78,8 +76,6 @@ void SkWindow::resize(int width, int height, SkBitmap::Config config)
this->setSize(SkIntToScalar(width), SkIntToScalar(height));
this->inval(NULL);
}
-
- SkImageDecoder::SetDeviceConfig(fConfig);
}
void SkWindow::eraseARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b)
diff --git a/xcode/core/core.xcodeproj/project.pbxproj b/xcode/core/core.xcodeproj/project.pbxproj
index 2ac8ec9790..ce3c6c697b 100644
--- a/xcode/core/core.xcodeproj/project.pbxproj
+++ b/xcode/core/core.xcodeproj/project.pbxproj
@@ -629,7 +629,12 @@
1DEB91F008733DB70010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ GCC_ENABLE_CPP_EXCEPTIONS = NO;
+ GCC_ENABLE_CPP_RTTI = NO;
+ GCC_MODEL_TUNING = "";
+ GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = SK_DEBUG;
+ GCC_THREADSAFE_STATICS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
@@ -644,7 +649,10 @@
ppc,
i386,
);
+ GCC_ENABLE_CPP_EXCEPTIONS = NO;
+ GCC_ENABLE_CPP_RTTI = NO;
GCC_PREPROCESSOR_DEFINITIONS = SK_RELEASE;
+ GCC_THREADSAFE_STATICS = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
diff --git a/xcode/effects/effects.xcodeproj/project.pbxproj b/xcode/effects/effects.xcodeproj/project.pbxproj
new file mode 100644
index 0000000000..5b3773a750
--- /dev/null
+++ b/xcode/effects/effects.xcodeproj/project.pbxproj
@@ -0,0 +1,337 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 44;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 0028867A0EFAE7500083E387 /* Sk1DPathEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886620EFAE7500083E387 /* Sk1DPathEffect.cpp */; };
+ 0028867B0EFAE7500083E387 /* Sk2DPathEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886630EFAE7500083E387 /* Sk2DPathEffect.cpp */; };
+ 0028867C0EFAE7500083E387 /* SkAvoidXfermode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886640EFAE7500083E387 /* SkAvoidXfermode.cpp */; };
+ 0028867D0EFAE7500083E387 /* SkBlurDrawLooper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886650EFAE7500083E387 /* SkBlurDrawLooper.cpp */; };
+ 0028867E0EFAE7500083E387 /* SkBlurMask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886660EFAE7500083E387 /* SkBlurMask.cpp */; };
+ 0028867F0EFAE7500083E387 /* SkBlurMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 002886670EFAE7500083E387 /* SkBlurMask.h */; };
+ 002886800EFAE7500083E387 /* SkBlurMaskFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886680EFAE7500083E387 /* SkBlurMaskFilter.cpp */; };
+ 002886810EFAE7500083E387 /* SkColorFilters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886690EFAE7500083E387 /* SkColorFilters.cpp */; };
+ 002886820EFAE7500083E387 /* SkColorMatrixFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0028866A0EFAE7500083E387 /* SkColorMatrixFilter.cpp */; };
+ 002886830EFAE7500083E387 /* SkCornerPathEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0028866B0EFAE7500083E387 /* SkCornerPathEffect.cpp */; };
+ 002886840EFAE7500083E387 /* SkDashPathEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0028866C0EFAE7500083E387 /* SkDashPathEffect.cpp */; };
+ 002886850EFAE7500083E387 /* SkDiscretePathEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0028866D0EFAE7500083E387 /* SkDiscretePathEffect.cpp */; };
+ 002886860EFAE7500083E387 /* SkEmbossMask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0028866E0EFAE7500083E387 /* SkEmbossMask.cpp */; };
+ 002886870EFAE7500083E387 /* SkEmbossMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 0028866F0EFAE7500083E387 /* SkEmbossMask.h */; };
+ 002886880EFAE7500083E387 /* SkEmbossMask_Table.h in Headers */ = {isa = PBXBuildFile; fileRef = 002886700EFAE7500083E387 /* SkEmbossMask_Table.h */; };
+ 002886890EFAE7500083E387 /* SkEmbossMaskFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886710EFAE7500083E387 /* SkEmbossMaskFilter.cpp */; };
+ 0028868A0EFAE7500083E387 /* SkGradientShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886720EFAE7500083E387 /* SkGradientShader.cpp */; };
+ 0028868B0EFAE7500083E387 /* SkKernel33MaskFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886730EFAE7500083E387 /* SkKernel33MaskFilter.cpp */; };
+ 0028868C0EFAE7500083E387 /* SkLayerDrawLooper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886740EFAE7500083E387 /* SkLayerDrawLooper.cpp */; };
+ 0028868D0EFAE7500083E387 /* SkLayerRasterizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886750EFAE7500083E387 /* SkLayerRasterizer.cpp */; };
+ 0028868E0EFAE7500083E387 /* SkPaintFlagsDrawFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886760EFAE7500083E387 /* SkPaintFlagsDrawFilter.cpp */; };
+ 0028868F0EFAE7500083E387 /* SkPixelXorXfermode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886770EFAE7500083E387 /* SkPixelXorXfermode.cpp */; };
+ 002886900EFAE7500083E387 /* SkRadialGradient_Table.h in Headers */ = {isa = PBXBuildFile; fileRef = 002886780EFAE7500083E387 /* SkRadialGradient_Table.h */; };
+ 002886910EFAE7500083E387 /* SkTransparentShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886790EFAE7500083E387 /* SkTransparentShader.cpp */; };
+ 002886CD0EFAEA260083E387 /* SkCamera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886C50EFAEA260083E387 /* SkCamera.cpp */; };
+ 002886CE0EFAEA260083E387 /* SkColorMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886C60EFAEA260083E387 /* SkColorMatrix.cpp */; };
+ 002886CF0EFAEA260083E387 /* SkCullPoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886C70EFAEA260083E387 /* SkCullPoints.cpp */; };
+ 002886D00EFAEA260083E387 /* SkDumpCanvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886C80EFAEA260083E387 /* SkDumpCanvas.cpp */; };
+ 002886D10EFAEA260083E387 /* SkInterpolator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886C90EFAEA260083E387 /* SkInterpolator.cpp */; };
+ 002886D20EFAEA260083E387 /* SkNinePatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886CA0EFAEA260083E387 /* SkNinePatch.cpp */; };
+ 002886D30EFAEA260083E387 /* SkProxyCanvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886CB0EFAEA260083E387 /* SkProxyCanvas.cpp */; };
+ 002886D40EFAEA260083E387 /* SkUnitMappers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002886CC0EFAEA260083E387 /* SkUnitMappers.cpp */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 002886620EFAE7500083E387 /* Sk1DPathEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Sk1DPathEffect.cpp; path = ../../src/effects/Sk1DPathEffect.cpp; sourceTree = SOURCE_ROOT; };
+ 002886630EFAE7500083E387 /* Sk2DPathEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Sk2DPathEffect.cpp; path = ../../src/effects/Sk2DPathEffect.cpp; sourceTree = SOURCE_ROOT; };
+ 002886640EFAE7500083E387 /* SkAvoidXfermode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkAvoidXfermode.cpp; path = ../../src/effects/SkAvoidXfermode.cpp; sourceTree = SOURCE_ROOT; };
+ 002886650EFAE7500083E387 /* SkBlurDrawLooper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkBlurDrawLooper.cpp; path = ../../src/effects/SkBlurDrawLooper.cpp; sourceTree = SOURCE_ROOT; };
+ 002886660EFAE7500083E387 /* SkBlurMask.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkBlurMask.cpp; path = ../../src/effects/SkBlurMask.cpp; sourceTree = SOURCE_ROOT; };
+ 002886670EFAE7500083E387 /* SkBlurMask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkBlurMask.h; path = ../../src/effects/SkBlurMask.h; sourceTree = SOURCE_ROOT; };
+ 002886680EFAE7500083E387 /* SkBlurMaskFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkBlurMaskFilter.cpp; path = ../../src/effects/SkBlurMaskFilter.cpp; sourceTree = SOURCE_ROOT; };
+ 002886690EFAE7500083E387 /* SkColorFilters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkColorFilters.cpp; path = ../../src/effects/SkColorFilters.cpp; sourceTree = SOURCE_ROOT; };
+ 0028866A0EFAE7500083E387 /* SkColorMatrixFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkColorMatrixFilter.cpp; path = ../../src/effects/SkColorMatrixFilter.cpp; sourceTree = SOURCE_ROOT; };
+ 0028866B0EFAE7500083E387 /* SkCornerPathEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkCornerPathEffect.cpp; path = ../../src/effects/SkCornerPathEffect.cpp; sourceTree = SOURCE_ROOT; };
+ 0028866C0EFAE7500083E387 /* SkDashPathEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkDashPathEffect.cpp; path = ../../src/effects/SkDashPathEffect.cpp; sourceTree = SOURCE_ROOT; };
+ 0028866D0EFAE7500083E387 /* SkDiscretePathEffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkDiscretePathEffect.cpp; path = ../../src/effects/SkDiscretePathEffect.cpp; sourceTree = SOURCE_ROOT; };
+ 0028866E0EFAE7500083E387 /* SkEmbossMask.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkEmbossMask.cpp; path = ../../src/effects/SkEmbossMask.cpp; sourceTree = SOURCE_ROOT; };
+ 0028866F0EFAE7500083E387 /* SkEmbossMask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkEmbossMask.h; path = ../../src/effects/SkEmbossMask.h; sourceTree = SOURCE_ROOT; };
+ 002886700EFAE7500083E387 /* SkEmbossMask_Table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkEmbossMask_Table.h; path = ../../src/effects/SkEmbossMask_Table.h; sourceTree = SOURCE_ROOT; };
+ 002886710EFAE7500083E387 /* SkEmbossMaskFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkEmbossMaskFilter.cpp; path = ../../src/effects/SkEmbossMaskFilter.cpp; sourceTree = SOURCE_ROOT; };
+ 002886720EFAE7500083E387 /* SkGradientShader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkGradientShader.cpp; path = ../../src/effects/SkGradientShader.cpp; sourceTree = SOURCE_ROOT; };
+ 002886730EFAE7500083E387 /* SkKernel33MaskFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkKernel33MaskFilter.cpp; path = ../../src/effects/SkKernel33MaskFilter.cpp; sourceTree = SOURCE_ROOT; };
+ 002886740EFAE7500083E387 /* SkLayerDrawLooper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkLayerDrawLooper.cpp; path = ../../src/effects/SkLayerDrawLooper.cpp; sourceTree = SOURCE_ROOT; };
+ 002886750EFAE7500083E387 /* SkLayerRasterizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkLayerRasterizer.cpp; path = ../../src/effects/SkLayerRasterizer.cpp; sourceTree = SOURCE_ROOT; };
+ 002886760EFAE7500083E387 /* SkPaintFlagsDrawFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkPaintFlagsDrawFilter.cpp; path = ../../src/effects/SkPaintFlagsDrawFilter.cpp; sourceTree = SOURCE_ROOT; };
+ 002886770EFAE7500083E387 /* SkPixelXorXfermode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkPixelXorXfermode.cpp; path = ../../src/effects/SkPixelXorXfermode.cpp; sourceTree = SOURCE_ROOT; };
+ 002886780EFAE7500083E387 /* SkRadialGradient_Table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkRadialGradient_Table.h; path = ../../src/effects/SkRadialGradient_Table.h; sourceTree = SOURCE_ROOT; };
+ 002886790EFAE7500083E387 /* SkTransparentShader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkTransparentShader.cpp; path = ../../src/effects/SkTransparentShader.cpp; sourceTree = SOURCE_ROOT; };
+ 002886C50EFAEA260083E387 /* SkCamera.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkCamera.cpp; path = ../../src/utils/SkCamera.cpp; sourceTree = SOURCE_ROOT; };
+ 002886C60EFAEA260083E387 /* SkColorMatrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkColorMatrix.cpp; path = ../../src/utils/SkColorMatrix.cpp; sourceTree = SOURCE_ROOT; };
+ 002886C70EFAEA260083E387 /* SkCullPoints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkCullPoints.cpp; path = ../../src/utils/SkCullPoints.cpp; sourceTree = SOURCE_ROOT; };
+ 002886C80EFAEA260083E387 /* SkDumpCanvas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkDumpCanvas.cpp; path = ../../src/utils/SkDumpCanvas.cpp; sourceTree = SOURCE_ROOT; };
+ 002886C90EFAEA260083E387 /* SkInterpolator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkInterpolator.cpp; path = ../../src/utils/SkInterpolator.cpp; sourceTree = SOURCE_ROOT; };
+ 002886CA0EFAEA260083E387 /* SkNinePatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkNinePatch.cpp; path = ../../src/utils/SkNinePatch.cpp; sourceTree = SOURCE_ROOT; };
+ 002886CB0EFAEA260083E387 /* SkProxyCanvas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkProxyCanvas.cpp; path = ../../src/utils/SkProxyCanvas.cpp; sourceTree = SOURCE_ROOT; };
+ 002886CC0EFAEA260083E387 /* SkUnitMappers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkUnitMappers.cpp; path = ../../src/utils/SkUnitMappers.cpp; sourceTree = SOURCE_ROOT; };
+ D2AAC046055464E500DB518D /* libeffects.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libeffects.a; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ D289987405E68DCB004EDB86 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 002886D50EFAEA350083E387 /* utils */ = {
+ isa = PBXGroup;
+ children = (
+ 002886C50EFAEA260083E387 /* SkCamera.cpp */,
+ 002886C60EFAEA260083E387 /* SkColorMatrix.cpp */,
+ 002886C70EFAEA260083E387 /* SkCullPoints.cpp */,
+ 002886C80EFAEA260083E387 /* SkDumpCanvas.cpp */,
+ 002886C90EFAEA260083E387 /* SkInterpolator.cpp */,
+ 002886CA0EFAEA260083E387 /* SkNinePatch.cpp */,
+ 002886CB0EFAEA260083E387 /* SkProxyCanvas.cpp */,
+ 002886CC0EFAEA260083E387 /* SkUnitMappers.cpp */,
+ );
+ name = utils;
+ sourceTree = "<group>";
+ };
+ 08FB7794FE84155DC02AAC07 /* effects */ = {
+ isa = PBXGroup;
+ children = (
+ 002886D50EFAEA350083E387 /* utils */,
+ 08FB7795FE84155DC02AAC07 /* effects */,
+ C6A0FF2B0290797F04C91782 /* Documentation */,
+ 1AB674ADFE9D54B511CA2CBB /* Products */,
+ );
+ name = effects;
+ sourceTree = "<group>";
+ };
+ 08FB7795FE84155DC02AAC07 /* effects */ = {
+ isa = PBXGroup;
+ children = (
+ 002886620EFAE7500083E387 /* Sk1DPathEffect.cpp */,
+ 002886630EFAE7500083E387 /* Sk2DPathEffect.cpp */,
+ 002886640EFAE7500083E387 /* SkAvoidXfermode.cpp */,
+ 002886650EFAE7500083E387 /* SkBlurDrawLooper.cpp */,
+ 002886660EFAE7500083E387 /* SkBlurMask.cpp */,
+ 002886670EFAE7500083E387 /* SkBlurMask.h */,
+ 002886680EFAE7500083E387 /* SkBlurMaskFilter.cpp */,
+ 002886690EFAE7500083E387 /* SkColorFilters.cpp */,
+ 0028866A0EFAE7500083E387 /* SkColorMatrixFilter.cpp */,
+ 0028866B0EFAE7500083E387 /* SkCornerPathEffect.cpp */,
+ 0028866C0EFAE7500083E387 /* SkDashPathEffect.cpp */,
+ 0028866D0EFAE7500083E387 /* SkDiscretePathEffect.cpp */,
+ 0028866E0EFAE7500083E387 /* SkEmbossMask.cpp */,
+ 0028866F0EFAE7500083E387 /* SkEmbossMask.h */,
+ 002886700EFAE7500083E387 /* SkEmbossMask_Table.h */,
+ 002886710EFAE7500083E387 /* SkEmbossMaskFilter.cpp */,
+ 002886720EFAE7500083E387 /* SkGradientShader.cpp */,
+ 002886730EFAE7500083E387 /* SkKernel33MaskFilter.cpp */,
+ 002886740EFAE7500083E387 /* SkLayerDrawLooper.cpp */,
+ 002886750EFAE7500083E387 /* SkLayerRasterizer.cpp */,
+ 002886760EFAE7500083E387 /* SkPaintFlagsDrawFilter.cpp */,
+ 002886770EFAE7500083E387 /* SkPixelXorXfermode.cpp */,
+ 002886780EFAE7500083E387 /* SkRadialGradient_Table.h */,
+ 002886790EFAE7500083E387 /* SkTransparentShader.cpp */,
+ );
+ name = effects;
+ sourceTree = "<group>";
+ };
+ 1AB674ADFE9D54B511CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ D2AAC046055464E500DB518D /* libeffects.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ C6A0FF2B0290797F04C91782 /* Documentation */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Documentation;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ D2AAC043055464E500DB518D /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0028867F0EFAE7500083E387 /* SkBlurMask.h in Headers */,
+ 002886870EFAE7500083E387 /* SkEmbossMask.h in Headers */,
+ 002886880EFAE7500083E387 /* SkEmbossMask_Table.h in Headers */,
+ 002886900EFAE7500083E387 /* SkRadialGradient_Table.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ D2AAC045055464E500DB518D /* effects */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "effects" */;
+ buildPhases = (
+ D2AAC043055464E500DB518D /* Headers */,
+ D2AAC044055464E500DB518D /* Sources */,
+ D289987405E68DCB004EDB86 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = effects;
+ productName = effects;
+ productReference = D2AAC046055464E500DB518D /* libeffects.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 08FB7793FE84155DC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "effects" */;
+ compatibilityVersion = "Xcode 3.0";
+ hasScannedForEncodings = 1;
+ mainGroup = 08FB7794FE84155DC02AAC07 /* effects */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ D2AAC045055464E500DB518D /* effects */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXSourcesBuildPhase section */
+ D2AAC044055464E500DB518D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0028867A0EFAE7500083E387 /* Sk1DPathEffect.cpp in Sources */,
+ 0028867B0EFAE7500083E387 /* Sk2DPathEffect.cpp in Sources */,
+ 0028867C0EFAE7500083E387 /* SkAvoidXfermode.cpp in Sources */,
+ 0028867D0EFAE7500083E387 /* SkBlurDrawLooper.cpp in Sources */,
+ 0028867E0EFAE7500083E387 /* SkBlurMask.cpp in Sources */,
+ 002886800EFAE7500083E387 /* SkBlurMaskFilter.cpp in Sources */,
+ 002886810EFAE7500083E387 /* SkColorFilters.cpp in Sources */,
+ 002886820EFAE7500083E387 /* SkColorMatrixFilter.cpp in Sources */,
+ 002886830EFAE7500083E387 /* SkCornerPathEffect.cpp in Sources */,
+ 002886840EFAE7500083E387 /* SkDashPathEffect.cpp in Sources */,
+ 002886850EFAE7500083E387 /* SkDiscretePathEffect.cpp in Sources */,
+ 002886860EFAE7500083E387 /* SkEmbossMask.cpp in Sources */,
+ 002886890EFAE7500083E387 /* SkEmbossMaskFilter.cpp in Sources */,
+ 0028868A0EFAE7500083E387 /* SkGradientShader.cpp in Sources */,
+ 0028868B0EFAE7500083E387 /* SkKernel33MaskFilter.cpp in Sources */,
+ 0028868C0EFAE7500083E387 /* SkLayerDrawLooper.cpp in Sources */,
+ 0028868D0EFAE7500083E387 /* SkLayerRasterizer.cpp in Sources */,
+ 0028868E0EFAE7500083E387 /* SkPaintFlagsDrawFilter.cpp in Sources */,
+ 0028868F0EFAE7500083E387 /* SkPixelXorXfermode.cpp in Sources */,
+ 002886910EFAE7500083E387 /* SkTransparentShader.cpp in Sources */,
+ 002886CD0EFAEA260083E387 /* SkCamera.cpp in Sources */,
+ 002886CE0EFAEA260083E387 /* SkColorMatrix.cpp in Sources */,
+ 002886CF0EFAEA260083E387 /* SkCullPoints.cpp in Sources */,
+ 002886D00EFAEA260083E387 /* SkDumpCanvas.cpp in Sources */,
+ 002886D10EFAEA260083E387 /* SkInterpolator.cpp in Sources */,
+ 002886D20EFAEA260083E387 /* SkNinePatch.cpp in Sources */,
+ 002886D30EFAEA260083E387 /* SkProxyCanvas.cpp in Sources */,
+ 002886D40EFAEA260083E387 /* SkUnitMappers.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 1DEB91EC08733DB70010E9CD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = effects;
+ ZERO_LINK = YES;
+ };
+ name = Debug;
+ };
+ 1DEB91ED08733DB70010E9CD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_MODEL_TUNING = G5;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = effects;
+ };
+ name = Release;
+ };
+ 1DEB91F008733DB70010E9CD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ GCC_ENABLE_CPP_EXCEPTIONS = NO;
+ GCC_ENABLE_CPP_RTTI = NO;
+ GCC_MODEL_TUNING = "";
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = SK_DEBUG;
+ GCC_THREADSAFE_STATICS = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ PREBINDING = NO;
+ SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
+ USER_HEADER_SEARCH_PATHS = "../../include/**";
+ };
+ name = Debug;
+ };
+ 1DEB91F108733DB70010E9CD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = (
+ ppc,
+ i386,
+ );
+ GCC_ENABLE_CPP_EXCEPTIONS = NO;
+ GCC_ENABLE_CPP_RTTI = NO;
+ GCC_PREPROCESSOR_DEFINITIONS = SK_RELEASE;
+ GCC_THREADSAFE_STATICS = NO;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ PREBINDING = NO;
+ SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
+ USER_HEADER_SEARCH_PATHS = "../../include/**";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 1DEB91EB08733DB70010E9CD /* Build configuration list for PBXNativeTarget "effects" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1DEB91EC08733DB70010E9CD /* Debug */,
+ 1DEB91ED08733DB70010E9CD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 1DEB91EF08733DB70010E9CD /* Build configuration list for PBXProject "effects" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1DEB91F008733DB70010E9CD /* Debug */,
+ 1DEB91F108733DB70010E9CD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
+}
diff --git a/xcode/hostapp/CICarbonSample.xcodeproj/project.pbxproj b/xcode/hostapp/CICarbonSample.xcodeproj/project.pbxproj
index 3065934ef5..7c7c0cdb6d 100644
--- a/xcode/hostapp/CICarbonSample.xcodeproj/project.pbxproj
+++ b/xcode/hostapp/CICarbonSample.xcodeproj/project.pbxproj
@@ -11,6 +11,7 @@
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 */; };
+ 004447A20EFC1DB400116F7C /* SkCreateCGImageRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 004447A10EFC1DB400116F7C /* SkCreateCGImageRef.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 */; };
@@ -24,28 +25,28 @@
isa = PBXContainerItemProxy;
containerPortal = 002884490EFAA35C0083E387 /* core.xcodeproj */;
proxyType = 2;
- remoteGlobalIDString = D2AAC046055464E500DB518D /* libcore.a */;
+ remoteGlobalIDString = D2AAC046055464E500DB518D;
remoteInfo = core;
};
002884540EFAA3770083E387 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 002884490EFAA35C0083E387 /* core.xcodeproj */;
proxyType = 1;
- remoteGlobalIDString = D2AAC045055464E500DB518D /* core */;
+ remoteGlobalIDString = D2AAC045055464E500DB518D;
remoteInfo = core;
};
002884BB0EFAB69F0083E387 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 002884B40EFAB69F0083E387 /* maccore.xcodeproj */;
proxyType = 2;
- remoteGlobalIDString = D2AAC046055464E500DB518D /* libmaccore.a */;
+ remoteGlobalIDString = D2AAC046055464E500DB518D;
remoteInfo = maccore;
};
002884BE0EFAB6B00083E387 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 002884B40EFAB69F0083E387 /* maccore.xcodeproj */;
proxyType = 1;
- remoteGlobalIDString = D2AAC045055464E500DB518D /* maccore */;
+ remoteGlobalIDString = D2AAC045055464E500DB518D;
remoteInfo = maccore;
};
/* End PBXContainerItemProxy section */
@@ -55,6 +56,7 @@
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; };
+ 004447A10EFC1DB400116F7C /* SkCreateCGImageRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkCreateCGImageRef.cpp; path = ../../src/utils/mac/SkCreateCGImageRef.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>"; };
@@ -111,6 +113,7 @@
20286C29FDCF999611CA2CEA /* CICarbonSample */ = {
isa = PBXGroup;
children = (
+ 004447A10EFC1DB400116F7C /* SkCreateCGImageRef.cpp */,
002884D80EFABFE60083E387 /* SkFontHost_none.cpp */,
20286C2AFDCF999611CA2CEA /* Sources */,
20286C2CFDCF999611CA2CEA /* Resources */,
@@ -241,6 +244,7 @@
8D0C4E900486CD37000505A6 /* main.c in Sources */,
002884150EFA97F80083E387 /* test.cpp in Sources */,
002884D90EFABFE60083E387 /* SkFontHost_none.cpp in Sources */,
+ 004447A20EFC1DB400116F7C /* SkCreateCGImageRef.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/xcode/maccore/maccore.xcodeproj/project.pbxproj b/xcode/maccore/maccore.xcodeproj/project.pbxproj
index 9068a70291..f5bba1b2ea 100644
--- a/xcode/maccore/maccore.xcodeproj/project.pbxproj
+++ b/xcode/maccore/maccore.xcodeproj/project.pbxproj
@@ -11,7 +11,6 @@
002884A60EFAB5DE0083E387 /* SkThread_pthread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002884A30EFAB5DE0083E387 /* SkThread_pthread.cpp */; };
002884A70EFAB5DE0083E387 /* SkTime_Unix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002884A40EFAB5DE0083E387 /* SkTime_Unix.cpp */; };
002884E10EFABFFC0083E387 /* SkGlobals_global.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002884E00EFABFFC0083E387 /* SkGlobals_global.cpp */; };
- 002885130EFAD89B0083E387 /* SkCreateCGImageRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 002885120EFAD89B0083E387 /* SkCreateCGImageRef.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -19,7 +18,6 @@
002884A30EFAB5DE0083E387 /* SkThread_pthread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkThread_pthread.cpp; path = ../../src/ports/SkThread_pthread.cpp; sourceTree = SOURCE_ROOT; };
002884A40EFAB5DE0083E387 /* SkTime_Unix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkTime_Unix.cpp; path = ../../src/ports/SkTime_Unix.cpp; sourceTree = SOURCE_ROOT; };
002884E00EFABFFC0083E387 /* SkGlobals_global.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkGlobals_global.cpp; path = ../../src/ports/SkGlobals_global.cpp; sourceTree = SOURCE_ROOT; };
- 002885120EFAD89B0083E387 /* SkCreateCGImageRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SkCreateCGImageRef.cpp; path = ../../src/utils/mac/SkCreateCGImageRef.cpp; sourceTree = SOURCE_ROOT; };
D2AAC046055464E500DB518D /* libmaccore.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmaccore.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
@@ -34,18 +32,9 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 002885110EFAD8840083E387 /* utils */ = {
- isa = PBXGroup;
- children = (
- 002885120EFAD89B0083E387 /* SkCreateCGImageRef.cpp */,
- );
- name = utils;
- sourceTree = "<group>";
- };
08FB7794FE84155DC02AAC07 /* maccore */ = {
isa = PBXGroup;
children = (
- 002885110EFAD8840083E387 /* utils */,
08FB7795FE84155DC02AAC07 /* Source */,
C6A0FF2B0290797F04C91782 /* Documentation */,
1AB674ADFE9D54B511CA2CBB /* Products */,
@@ -135,7 +124,6 @@
002884A60EFAB5DE0083E387 /* SkThread_pthread.cpp in Sources */,
002884A70EFAB5DE0083E387 /* SkTime_Unix.cpp in Sources */,
002884E10EFABFFC0083E387 /* SkGlobals_global.cpp in Sources */,
- 002885130EFAD89B0083E387 /* SkCreateCGImageRef.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};