diff options
-rw-r--r-- | bench/benchmain.cpp | 10 | ||||
-rw-r--r-- | experimental/SimpleiOSApp/SimpleApp.mm | 15 | ||||
-rw-r--r-- | experimental/SimpleiOSApp/tool-Info.plist | 43 | ||||
-rw-r--r-- | experimental/iOSSampleApp/Shared/skia_ios.mm | 4 | ||||
-rw-r--r-- | experimental/iOSSampleApp/SkSampleUIView.mm | 35 | ||||
-rw-r--r-- | gm/gmmain.cpp | 10 | ||||
-rw-r--r-- | gyp/apptype_console.gypi | 49 | ||||
-rw-r--r-- | gyp/common_variables.gypi | 8 | ||||
-rw-r--r-- | samplecode/SampleApp.cpp | 5 | ||||
-rw-r--r-- | src/core/SkPaint.cpp | 3 | ||||
-rw-r--r-- | tests/skia_test.cpp | 10 | ||||
-rw-r--r-- | tools/bench_pictures_main.cpp | 9 | ||||
-rw-r--r-- | tools/pinspect.cpp | 9 | ||||
-rw-r--r-- | tools/render_pictures_main.cpp | 9 | ||||
-rw-r--r-- | tools/skdiff_main.cpp | 9 | ||||
-rw-r--r-- | tools/skhello.cpp | 9 | ||||
-rw-r--r-- | tools/skimage_main.cpp | 9 |
17 files changed, 205 insertions, 41 deletions
diff --git a/bench/benchmain.cpp b/bench/benchmain.cpp index dc9b2572bd..eb8c4eda5e 100644 --- a/bench/benchmain.cpp +++ b/bench/benchmain.cpp @@ -397,7 +397,8 @@ static void help() { SkDebugf(" -h|--help : Show this help message.\n"); } -int main (int argc, char * const argv[]) { +int tool_main(int argc, char** argv); +int tool_main(int argc, char** argv) { #ifdef SK_ENABLE_INST_COUNT gPrintInstCount = true; #endif @@ -907,3 +908,10 @@ int main (int argc, char * const argv[]) { return 0; } + +#if !defined SK_BUILD_FOR_IOS +int main(int argc, char * const argv[]) { + return tool_main(argc, (char**) argv); +} +#endif + diff --git a/experimental/SimpleiOSApp/SimpleApp.mm b/experimental/SimpleiOSApp/SimpleApp.mm index 12dff34ce4..dba8bccafd 100644 --- a/experimental/SimpleiOSApp/SimpleApp.mm +++ b/experimental/SimpleiOSApp/SimpleApp.mm @@ -3,6 +3,10 @@ #import "SkWindow.h" #include "SkGraphics.h" #include "SkCGUtils.h" + +extern void tool_main(int argc, char *argv[]); +void save_args(int argc, char *argv[]); + class SkSampleView : public SkView { public: SkSampleView() { @@ -15,7 +19,7 @@ protected: SkPaint p; p.setTextSize(20); p.setAntiAlias(true); - canvas->drawText("Hello World!", 13, 50, 30, p); + canvas->drawText("finished", 13, 50, 30, p); SkRect r = {50, 50, 80, 80}; p.setColor(0xAA11EEAA); canvas->drawRect(r, p); @@ -34,6 +38,14 @@ void application_term() { SkEvent::Term(); } +int saved_argc; +char** saved_argv; + +void save_args(int argc, char *argv[]) { + saved_argc = argc; + saved_argv = argv; +} + class FillLayout : public SkView::Layout { protected: virtual void onLayoutChildren(SkView* parent) { @@ -46,6 +58,7 @@ protected: @implementation SimpleApp - (id)initWithDefaults { + (void) tool_main(saved_argc, saved_argv); if (self = [super initWithDefaults]) { fWind = new SkOSWindow(self); fWind->setLayout(new FillLayout, false); diff --git a/experimental/SimpleiOSApp/tool-Info.plist b/experimental/SimpleiOSApp/tool-Info.plist new file mode 100644 index 0000000000..6f8c6d8bd1 --- /dev/null +++ b/experimental/SimpleiOSApp/tool-Info.plist @@ -0,0 +1,43 @@ +<?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>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleDisplayName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleIdentifier</key> + <string>com.google.${EXECUTABLE_NAME}</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> + <key>LSRequiresIPhoneOS</key> + <true/> + <key>NSMainNibFile</key> + <string>MainWindow_iPhone</string> + <key>NSMainNibFile~ipad</key> + <string>MainWindow_iPad</string> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + </array> + <key>UISupportedInterfaceOrientations~ipad</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationPortraitUpsideDown</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> +</dict> +</plist> diff --git a/experimental/iOSSampleApp/Shared/skia_ios.mm b/experimental/iOSSampleApp/Shared/skia_ios.mm index 4e497867bf..65b3e8a034 100644 --- a/experimental/iOSSampleApp/Shared/skia_ios.mm +++ b/experimental/iOSSampleApp/Shared/skia_ios.mm @@ -1,9 +1,13 @@ #import <UIKit/UIKit.h> #include "SkApplication.h" + +extern void save_args(int argc, char *argv[]); + int main(int argc, char *argv[]) { signal(SIGPIPE, SIG_IGN); NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; application_init(); + save_args(argc, argv); int retVal = UIApplicationMain(argc, argv, nil, nil); application_term(); [pool release]; diff --git a/experimental/iOSSampleApp/SkSampleUIView.mm b/experimental/iOSSampleApp/SkSampleUIView.mm index b71640201d..b08414ec4e 100644 --- a/experimental/iOSSampleApp/SkSampleUIView.mm +++ b/experimental/iOSSampleApp/SkSampleUIView.mm @@ -7,15 +7,18 @@ #define FORCE_REDRAW +#include "SkCanvas.h" +#include "SkCGUtils.h" +#include "SampleApp.h" + +#if SK_SUPPORT_GPU //#define USE_GL_1 #define USE_GL_2 -#include "SkCanvas.h" -#include "GrContext.h" #include "gl/GrGLInterface.h" +#include "GrContext.h" #include "SkGpuDevice.h" -#include "SkCGUtils.h" -#include "SampleApp.h" +#endif class SkiOSDeviceManager : public SampleWindow::DeviceManager { public: @@ -151,9 +154,11 @@ public: virtual void publishCanvas(SampleWindow::DeviceType dType, SkCanvas* canvas, SampleWindow* win) SK_OVERRIDE { +#if SK_SUPPORT_GPU if (NULL != fCurContext) { fCurContext->flush(); } +#endif win->present(); } @@ -219,18 +224,12 @@ private: #include "SkEvent.h" #include "SkWindow.h" -#define kREDRAW_UIVIEW_GL "sk_redraw_uiview_gl_iOS" - -extern bool gDoTraceDraw; -#define DO_TRACE_DRAW_MAX 100 - struct FPSState { static const int FRAME_COUNT = 60; CFTimeInterval fNow0, fNow1; CFTimeInterval fTime0, fTime1, fTotalTime; int fFrameCounter; - int fDrawCounter; SkString str; FPSState() { fTime0 = fTime1 = fTotalTime = 0; @@ -239,22 +238,10 @@ struct FPSState { void startDraw() { fNow0 = CACurrentMediaTime(); - - if (0 == fDrawCounter && false) { - gDoTraceDraw = true; - SkDebugf("\n"); - } } void endDraw() { fNow1 = CACurrentMediaTime(); - - if (0 == fDrawCounter) { - gDoTraceDraw = true; - } - if (DO_TRACE_DRAW_MAX == ++fDrawCounter) { - fDrawCounter = 0; - } } void flush(SkOSWindow* hwnd) { @@ -335,7 +322,7 @@ static FPSState gFPS; fRasterLayer.opaque = TRUE; [self.layer addSublayer:fRasterLayer]; - NSMutableDictionary *newActions = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNull null], @"onOrderIn", + NSMutableDictionary *newActions = [[NSMutableDictionary alloc] initWithObjectsAndKeys:[NSNull null], @"onOrderIn", [NSNull null], @"onOrderOut", [NSNull null], @"sublayers", [NSNull null], @"contents", @@ -346,7 +333,7 @@ static FPSState gFPS; [newActions release]; fDevManager = new SkiOSDeviceManager(fGL.fFramebuffer); - static char* kDummyArgv = "dummyExecutableName"; + static char* kDummyArgv = const_cast<char*>("dummyExecutableName"); fWind = new SampleWindow(self, 1, &kDummyArgv, fDevManager); fWind->resize(self.frame.size.width, self.frame.size.height, SKWIND_CONFIG); diff --git a/gm/gmmain.cpp b/gm/gmmain.cpp index 1b56bf1e36..f0de5bdf92 100644 --- a/gm/gmmain.cpp +++ b/gm/gmmain.cpp @@ -862,7 +862,8 @@ GrContext* GetGr() { return NULL; } #endif } -int main(int argc, char * const argv[]) { +int tool_main(int argc, char** argv); +int tool_main(int argc, char** argv) { #ifdef SK_ENABLE_INST_COUNT gPrintInstCount = true; @@ -1172,3 +1173,10 @@ int main(int argc, char * const argv[]) { return (0 == testsFailed) ? 0 : -1; } + +#if !defined SK_BUILD_FOR_IOS +int main(int argc, char * const argv[]) { + return tool_main(argc, (char**) argv); +} +#endif + diff --git a/gyp/apptype_console.gypi b/gyp/apptype_console.gypi index 229db0d95e..9e280617ad 100644 --- a/gyp/apptype_console.gypi +++ b/gyp/apptype_console.gypi @@ -17,6 +17,55 @@ 'android_deps.gyp:Android_EntryPoint', ], }], + ['skia_os == "ios"', { + 'target_conditions': [ + ['_type == "executable"', { + 'mac_bundle' : 1, + }], + ], + 'include_dirs' : [ + '../experimental/iOSSampleApp/Shared', + '../include/views', + '../include/xml', + '../include/utils/mac', + ], + 'sources': [ + '../src/views/ios/SkOSWindow_iOS.mm', + '../src/views/mac/SkEventNotifier.h', + '../src/views/mac/SkEventNotifier.mm', + '../experimental/iOSSampleApp/iPad/AppDelegate_iPad.h', + '../experimental/iOSSampleApp/iPad/AppDelegate_iPad.mm', + '../experimental/iOSSampleApp/iPhone/AppDelegate_iPhone.h', + '../experimental/iOSSampleApp/iPhone/AppDelegate_iPhone.mm', + '../experimental/iOSSampleApp/Shared/SkUIView.h', + '../experimental/iOSSampleApp/Shared/SkUIView.mm', + '../experimental/iOSSampleApp/Shared/skia_ios.mm', + '../experimental/SimpleiOSApp/SimpleApp.h', + '../experimental/SimpleiOSApp/SimpleApp.mm', + ], + 'dependencies': [ + 'views.gyp:views', + 'xml.gyp:xml', + ], + 'link_settings': { + 'libraries': [ + '<(ios_sdk_dir)<(ios_sdk_version).sdk/System/Library/Frameworks/CoreGraphics.framework', + '<(ios_sdk_dir)<(ios_sdk_version).sdk/System/Library/Frameworks/CoreText.framework', + '<(ios_sdk_dir)<(ios_sdk_version).sdk/System/Library/Frameworks/Foundation.framework', + '<(ios_sdk_dir)<(ios_sdk_version).sdk/System/Library/Frameworks/ImageIO.framework', + '<(ios_sdk_dir)<(ios_sdk_version).sdk/System/Library/Frameworks/MobileCoreServices.framework', + '<(ios_sdk_dir)<(ios_sdk_version).sdk/System/Library/Frameworks/UIKit.framework', + ], + }, + 'xcode_config_file': '../experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig', + 'mac_bundle_resources' : [ + '../experimental/SimpleiOSApp/iPad/MainWindow_iPad.xib', + '../experimental/SimpleiOSApp/iPhone/MainWindow_iPhone.xib', + ], + 'xcode_settings' : { + 'INFOPLIST_FILE' : '../experimental/SimpleiOSApp/tool-Info.plist', + }, + }], ], }, } diff --git a/gyp/common_variables.gypi b/gyp/common_variables.gypi index b59bd11779..6a0fc6bd98 100644 --- a/gyp/common_variables.gypi +++ b/gyp/common_variables.gypi @@ -69,11 +69,6 @@ }, { 'skia_static_initializers%': 1, }], - [ 'skia_arch_type == "x86"', { - 'ios_sdk_dir%': '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator', - }, { - 'ios_sdk_dir%': '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS', - }], ], 'skia_scalar%': 'float', @@ -84,7 +79,8 @@ 'android_make_apk%': 1, 'skia_nacl%': 0, 'skia_gpu%': 1, - 'ios_sdk_version%': '5.1', + 'ios_sdk_dir%': '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS', + 'ios_sdk_version%': '6.0', 'skia_osx_sdkroot%': 'macosx10.6', }, diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index c55a5c0ec0..6c81041980 100644 --- a/samplecode/SampleApp.cpp +++ b/samplecode/SampleApp.cpp @@ -2456,6 +2456,11 @@ void get_preferred_size(int* x, int* y, int* width, int* height) { *height = 480; } +#ifdef SK_BUILD_FOR_IOS +void save_args(int argc, char *argv[]) { +} +#endif + // FIXME: this should be in a header void application_init(); void application_init() { diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp index 506db0e9c3..7088a94ac1 100644 --- a/src/core/SkPaint.cpp +++ b/src/core/SkPaint.cpp @@ -1718,8 +1718,9 @@ static SkMaskGamma* cachedMaskGamma(SkScalar contrast, SkScalar paintGamma, SkSc SkAutoMutexAcquire ama(gMaskGammaCacheMutex); SkSafeUnref(gLinearMaskGamma); - + gLinearMaskGamma = NULL; SkSafeUnref(gMaskGamma); + gMaskGamma = NULL; SkDEBUGCODE(gContrast = SK_ScalarMin;) SkDEBUGCODE(gPaintGamma = SK_ScalarMin;) SkDEBUGCODE(gDeviceGamma = SK_ScalarMin;) diff --git a/tests/skia_test.cpp b/tests/skia_test.cpp index 5c80a01fc3..f884a6458b 100644 --- a/tests/skia_test.cpp +++ b/tests/skia_test.cpp @@ -106,7 +106,8 @@ private: bool fAndroidMode; }; -int main (int argc, char * const argv[]) { +int tool_main(int argc, char** argv); +int tool_main(int argc, char** argv) { #ifdef SK_ENABLE_INST_COUNT gPrintInstCount = true; #endif @@ -188,3 +189,10 @@ int main (int argc, char * const argv[]) { return (failCount == 0) ? 0 : 1; } + +#if !defined SK_BUILD_FOR_IOS +int main(int argc, char * const argv[]) { + return tool_main(argc, (char**) argv); +} +#endif + diff --git a/tools/bench_pictures_main.cpp b/tools/bench_pictures_main.cpp index 7c313cf41d..76d5ad3bd1 100644 --- a/tools/bench_pictures_main.cpp +++ b/tools/bench_pictures_main.cpp @@ -443,7 +443,8 @@ static int process_input(const SkString& input, return failures; } -int main(int argc, char* const argv[]) { +int tool_main(int argc, char** argv); +int tool_main(int argc, char** argv) { #ifdef SK_ENABLE_INST_COUNT gPrintInstCount = true; #endif @@ -466,3 +467,9 @@ int main(int argc, char* const argv[]) { return 1; } } + +#if !defined SK_BUILD_FOR_IOS +int main(int argc, char * const argv[]) { + return tool_main(argc, (char**) argv); +} +#endif diff --git a/tools/pinspect.cpp b/tools/pinspect.cpp index 975eda5aec..b82bd332c7 100644 --- a/tools/pinspect.cpp +++ b/tools/pinspect.cpp @@ -44,7 +44,8 @@ static void dumpOps(SkPicture* pic) { canvas.drawPicture(*pic); } -int main(int argc, char* const argv[]) { +int tool_main(int argc, char** argv); +int tool_main(int argc, char** argv) { if (argc < 2) { printf("Usage: pinspect [--dump-ops] filename [filename ...]\n"); return 1; @@ -69,3 +70,9 @@ int main(int argc, char* const argv[]) { } return 0; } + +#if !defined SK_BUILD_FOR_IOS +int main(int argc, char * const argv[]) { + return tool_main(argc, (char**) argv); +} +#endif diff --git a/tools/render_pictures_main.cpp b/tools/render_pictures_main.cpp index 764bea06a1..55ecf38317 100644 --- a/tools/render_pictures_main.cpp +++ b/tools/render_pictures_main.cpp @@ -287,7 +287,8 @@ static void parse_commandline(int argc, char* const argv[], SkTArray<SkString>* renderer->setDeviceType(deviceType); } -int main(int argc, char* const argv[]) { +int tool_main(int argc, char** argv); +int tool_main(int argc, char** argv) { SkAutoGraphics ag; SkTArray<SkString> inputs; sk_tools::PictureRenderer* renderer = NULL; @@ -316,3 +317,9 @@ int main(int argc, char* const argv[]) { SkDELETE(renderer); } + +#if !defined SK_BUILD_FOR_IOS +int main(int argc, char * const argv[]) { + return tool_main(argc, (char**) argv); +} +#endif diff --git a/tools/skdiff_main.cpp b/tools/skdiff_main.cpp index 5fbf3ff515..46d4f006a4 100644 --- a/tools/skdiff_main.cpp +++ b/tools/skdiff_main.cpp @@ -1270,7 +1270,8 @@ static void usage (char * argv0) { const int kNoError = 0; const int kGenericError = -1; -int main (int argc, char ** argv) { +int tool_main(int argc, char** argv); +int tool_main(int argc, char** argv) { DiffMetricProc diffProc = compute_diff_pmcolor; int (*sortProc)(const void*, const void*) = compare<CompareDiffMetrics>; @@ -1446,3 +1447,9 @@ int main (int argc, char ** argv) { // make sure that we only return 0 when there were no failures. return (num_failing_results > 255) ? 255 : num_failing_results; } + +#if !defined SK_BUILD_FOR_IOS +int main(int argc, char * const argv[]) { + return tool_main(argc, (char**) argv); +} +#endif diff --git a/tools/skhello.cpp b/tools/skhello.cpp index 82abf80ba7..465806f8fa 100644 --- a/tools/skhello.cpp +++ b/tools/skhello.cpp @@ -14,7 +14,8 @@ static void show_help() { SkDebugf("usage: skhello [-o out-dir] [-t 'hello']\n default output: skhello.png\n"); } -int main(int argc, char* const argv[]) { +int tool_main(int argc, char** argv); +int tool_main(int argc, char** argv) { SkAutoGraphics ag; SkString path("skhello.png"); SkString text("Hello"); @@ -68,3 +69,9 @@ int main(int argc, char* const argv[]) { } return !success; } + +#if !defined SK_BUILD_FOR_IOS +int main(int argc, char * const argv[]) { + return tool_main(argc, (char**) argv); +} +#endif diff --git a/tools/skimage_main.cpp b/tools/skimage_main.cpp index 504bc30204..83f115cbb0 100644 --- a/tools/skimage_main.cpp +++ b/tools/skimage_main.cpp @@ -54,7 +54,8 @@ static void make_outname(SkString* dst, const char outDir[], const char src[]) { dst->append(".png"); } -int main (int argc, char * const argv[]) { +int tool_main(int argc, char** argv); +int tool_main(int argc, char** argv) { SkAutoGraphics ag; int i, outDirIndex = 0; SkString outDir; @@ -102,3 +103,9 @@ int main (int argc, char * const argv[]) { return 0; } +#if !defined SK_BUILD_FOR_IOS +int main(int argc, char * const argv[]) { + return tool_main(argc, (char**) argv); +} +#endif + |