diff options
author | 2011-08-12 14:27:47 +0000 | |
---|---|---|
committer | 2011-08-12 14:27:47 +0000 | |
commit | ef7bdfac618f60e9edc9f42cd4661d563937e6d8 (patch) | |
tree | 3acb17216c4ede79d0c349182dfaca38e96803a1 | |
parent | 16edff2b1cbd80e36456138f8631711a585205ba (diff) |
Added Debugger to Sample App, off by default
Removed CocoaDebugger from experimental
Slight changes to SkOSMenu
Bug fixes for NetPipeReader and DrawingBoard
git-svn-id: http://skia.googlecode.com/svn/trunk@2102 2bbb7eff-a529-9590-31e7-b0007b416f81
45 files changed, 969 insertions, 6156 deletions
diff --git a/experimental/CocoaDebugger/CocoaDebugger-Info.plist b/experimental/CocoaDebugger/CocoaDebugger-Info.plist deleted file mode 100644 index f696cb233e..0000000000 --- a/experimental/CocoaDebugger/CocoaDebugger-Info.plist +++ /dev/null @@ -1,32 +0,0 @@ -<?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>CFBundleExecutable</key> - <string>${EXECUTABLE_NAME}</string> - <key>CFBundleIconFile</key> - <string></string> - <key>CFBundleIdentifier</key> - <string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>${PRODUCT_NAME}</string> - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleShortVersionString</key> - <string>1.0</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1</string> - <key>LSMinimumSystemVersion</key> - <string>${MACOSX_DEPLOYMENT_TARGET}</string> - <key>NSMainNibFile</key> - <string>MainMenu</string> - <key>NSPrincipalClass</key> - <string>NSApplication</string> -</dict> -</plist> diff --git a/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.h b/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.h deleted file mode 100644 index 88d4011e73..0000000000 --- a/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.h +++ /dev/null @@ -1,15 +0,0 @@ - -/* - * Copyright 2011 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ -#import <Cocoa/Cocoa.h> -#import "SkNSWindow.h" -@interface CocoaDebuggerAppDelegate : NSObject <NSApplicationDelegate> { - SkNSWindow *window; -} - -@property (assign) IBOutlet SkNSWindow *window; -@end diff --git a/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.mm b/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.mm deleted file mode 100644 index 7358c5f7ce..0000000000 --- a/experimental/CocoaDebugger/CocoaDebuggerAppDelegate.mm +++ /dev/null @@ -1,10 +0,0 @@ -#import "CocoaDebuggerAppDelegate.h" - -@implementation CocoaDebuggerAppDelegate -@synthesize window; - --(void) applicationDidFinishLaunching:(NSNotification *)aNotification { - //Load specified skia views after launching - [window installSkViews]; -} -@end diff --git a/experimental/CocoaDebugger/CocoaDebugger_Prefix.pch b/experimental/CocoaDebugger/CocoaDebugger_Prefix.pch deleted file mode 100644 index 8d43caec0d..0000000000 --- a/experimental/CocoaDebugger/CocoaDebugger_Prefix.pch +++ /dev/null @@ -1,7 +0,0 @@ -// -// Prefix header for all source files of the 'CocoaSampleApp' target in the 'CocoaSampleApp' project -// - -#ifdef __OBJC__ - #import <Cocoa/Cocoa.h> -#endif diff --git a/experimental/CocoaDebugger/English.lproj/InfoPlist.strings b/experimental/CocoaDebugger/English.lproj/InfoPlist.strings deleted file mode 100644 index 477b28ff8f..0000000000 --- a/experimental/CocoaDebugger/English.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/experimental/CocoaDebugger/English.lproj/MainMenu.xib b/experimental/CocoaDebugger/English.lproj/MainMenu.xib deleted file mode 100644 index beceeb114a..0000000000 --- a/experimental/CocoaDebugger/English.lproj/MainMenu.xib +++ /dev/null @@ -1,4455 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> - <data> - <int key="IBDocument.SystemTarget">1060</int> - <string key="IBDocument.SystemVersion">10J3250</string> - <string key="IBDocument.InterfaceBuilderVersion">851</string> - <string key="IBDocument.AppKitVersion">1038.35</string> - <string key="IBDocument.HIToolboxVersion">461.00</string> - <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="NS.object.0">851</string> - </object> - <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> - <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="371"/> - <integer value="81"/> - </object> - <object class="NSArray" key="IBDocument.PluginDependencies"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - </object> - <object class="NSMutableDictionary" key="IBDocument.Metadata"> - <string key="NS.key.0">PluginDependencyRecalculationVersion</string> - <integer value="1" key="NS.object.0"/> - </object> - <object class="NSMutableArray" key="IBDocument.RootObjects" id="1048"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSCustomObject" id="1021"> - <string key="NSClassName">NSApplication</string> - </object> - <object class="NSCustomObject" id="1014"> - <string key="NSClassName">FirstResponder</string> - </object> - <object class="NSCustomObject" id="1050"> - <string key="NSClassName">NSApplication</string> - </object> - <object class="NSMenu" id="649796088"> - <string key="NSTitle">AMainMenu</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="694149608"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">CocoaDebugger</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <object class="NSCustomResource" key="NSOnImage" id="35465992"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSMenuCheckmark</string> - </object> - <object class="NSCustomResource" key="NSMixedImage" id="502551668"> - <string key="NSClassName">NSImage</string> - <string key="NSResourceName">NSMenuMixedState</string> - </object> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="110575045"> - <string key="NSTitle">CocoaDebugger</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="238522557"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">About CocoaDebugger</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="304266470"> - <reference key="NSMenu" ref="110575045"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="609285721"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Preferences…</string> - <string key="NSKeyEquiv">,</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="481834944"> - <reference key="NSMenu" ref="110575045"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1046388886"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Services</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="752062318"> - <string key="NSTitle">Services</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <string key="NSName">_NSServicesMenu</string> - </object> - </object> - <object class="NSMenuItem" id="646227648"> - <reference key="NSMenu" ref="110575045"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="755159360"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Hide CocoaDebugger</string> - <string key="NSKeyEquiv">h</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="342932134"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Hide Others</string> - <string key="NSKeyEquiv">h</string> - <int key="NSKeyEquivModMask">1572864</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="908899353"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Show All</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1056857174"> - <reference key="NSMenu" ref="110575045"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="632727374"> - <reference key="NSMenu" ref="110575045"/> - <string key="NSTitle">Quit CocoaDebugger</string> - <string key="NSKeyEquiv">q</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - <string key="NSName">_NSAppleMenu</string> - </object> - </object> - <object class="NSMenuItem" id="379814623"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">File</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="720053764"> - <string key="NSTitle">File</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="705341025"> - <reference key="NSMenu" ref="720053764"/> - <string key="NSTitle">New</string> - <string key="NSKeyEquiv">n</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="722745758"> - <reference key="NSMenu" ref="720053764"/> - <string key="NSTitle">Open…</string> - <string key="NSKeyEquiv">o</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1025936716"> - <reference key="NSMenu" ref="720053764"/> - <string key="NSTitle">Open Recent</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="1065607017"> - <string key="NSTitle">Open Recent</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="759406840"> - <reference key="NSMenu" ref="1065607017"/> - <string key="NSTitle">Clear Menu</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - <string key="NSName">_NSRecentDocumentsMenu</string> - </object> - </object> - <object class="NSMenuItem" id="425164168"> - <reference key="NSMenu" ref="720053764"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="776162233"> - <reference key="NSMenu" ref="720053764"/> - <string key="NSTitle">Close</string> - <string key="NSKeyEquiv">w</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1023925487"> - <reference key="NSMenu" ref="720053764"/> - <string key="NSTitle">Save</string> - <string key="NSKeyEquiv">s</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="117038363"> - <reference key="NSMenu" ref="720053764"/> - <string key="NSTitle">Save As…</string> - <string key="NSKeyEquiv">S</string> - <int key="NSKeyEquivModMask">1179648</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="579971712"> - <reference key="NSMenu" ref="720053764"/> - <string key="NSTitle">Revert to Saved</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1010469920"> - <reference key="NSMenu" ref="720053764"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="294629803"> - <reference key="NSMenu" ref="720053764"/> - <string key="NSTitle">Page Setup...</string> - <string key="NSKeyEquiv">P</string> - <int key="NSKeyEquivModMask">1179648</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSToolTip"/> - </object> - <object class="NSMenuItem" id="49223823"> - <reference key="NSMenu" ref="720053764"/> - <string key="NSTitle">Print…</string> - <string key="NSKeyEquiv">p</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="952259628"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">Edit</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="789758025"> - <string key="NSTitle">Edit</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="1058277027"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Undo</string> - <string key="NSKeyEquiv">z</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="790794224"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Redo</string> - <string key="NSKeyEquiv">Z</string> - <int key="NSKeyEquivModMask">1179648</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1040322652"> - <reference key="NSMenu" ref="789758025"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="296257095"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Cut</string> - <string key="NSKeyEquiv">x</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="860595796"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Copy</string> - <string key="NSKeyEquiv">c</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="29853731"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Paste</string> - <string key="NSKeyEquiv">v</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="82994268"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Paste and Match Style</string> - <string key="NSKeyEquiv">V</string> - <int key="NSKeyEquivModMask">1572864</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="437104165"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Delete</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="583158037"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Select All</string> - <string key="NSKeyEquiv">a</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="212016141"> - <reference key="NSMenu" ref="789758025"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="892235320"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Find</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="963351320"> - <string key="NSTitle">Find</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="447796847"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Find…</string> - <string key="NSKeyEquiv">f</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">1</int> - </object> - <object class="NSMenuItem" id="326711663"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Find Next</string> - <string key="NSKeyEquiv">g</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">2</int> - </object> - <object class="NSMenuItem" id="270902937"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Find Previous</string> - <string key="NSKeyEquiv">G</string> - <int key="NSKeyEquivModMask">1179648</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">3</int> - </object> - <object class="NSMenuItem" id="159080638"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Use Selection for Find</string> - <string key="NSKeyEquiv">e</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">7</int> - </object> - <object class="NSMenuItem" id="88285865"> - <reference key="NSMenu" ref="963351320"/> - <string key="NSTitle">Jump to Selection</string> - <string key="NSKeyEquiv">j</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="972420730"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Spelling and Grammar</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="769623530"> - <string key="NSTitle">Spelling and Grammar</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="679648819"> - <reference key="NSMenu" ref="769623530"/> - <string key="NSTitle">Show Spelling and Grammar</string> - <string key="NSKeyEquiv">:</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="96193923"> - <reference key="NSMenu" ref="769623530"/> - <string key="NSTitle">Check Document Now</string> - <string key="NSKeyEquiv">;</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="859480356"> - <reference key="NSMenu" ref="769623530"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="948374510"> - <reference key="NSMenu" ref="769623530"/> - <string key="NSTitle">Check Spelling While Typing</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="967646866"> - <reference key="NSMenu" ref="769623530"/> - <string key="NSTitle">Check Grammar With Spelling</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="795346622"> - <reference key="NSMenu" ref="769623530"/> - <string key="NSTitle">Correct Spelling Automatically</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="507821607"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Substitutions</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="698887838"> - <string key="NSTitle">Substitutions</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="65139061"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Show Substitutions</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="19036812"> - <reference key="NSMenu" ref="698887838"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="605118523"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Smart Copy/Paste</string> - <string key="NSKeyEquiv">f</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">1</int> - </object> - <object class="NSMenuItem" id="197661976"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Smart Quotes</string> - <string key="NSKeyEquiv">g</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">2</int> - </object> - <object class="NSMenuItem" id="672708820"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Smart Dashes</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="708854459"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Smart Links</string> - <string key="NSKeyEquiv">G</string> - <int key="NSKeyEquivModMask">1179648</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">3</int> - </object> - <object class="NSMenuItem" id="537092702"> - <reference key="NSMenu" ref="698887838"/> - <string key="NSTitle">Text Replacement</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="288088188"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Transformations</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="579392910"> - <string key="NSTitle">Transformations</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="1060694897"> - <reference key="NSMenu" ref="579392910"/> - <string key="NSTitle">Make Upper Case</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="879586729"> - <reference key="NSMenu" ref="579392910"/> - <string key="NSTitle">Make Lower Case</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="56570060"> - <reference key="NSMenu" ref="579392910"/> - <string key="NSTitle">Capitalize</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="676164635"> - <reference key="NSMenu" ref="789758025"/> - <string key="NSTitle">Speech</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="785027613"> - <string key="NSTitle">Speech</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="731782645"> - <reference key="NSMenu" ref="785027613"/> - <string key="NSTitle">Start Speaking</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="680220178"> - <reference key="NSMenu" ref="785027613"/> - <string key="NSTitle">Stop Speaking</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="302598603"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">Format</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="941447902"> - <string key="NSTitle">Format</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="792887677"> - <reference key="NSMenu" ref="941447902"/> - <string key="NSTitle">Font</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="786677654"> - <string key="NSTitle">Font</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="159677712"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Show Fonts</string> - <string key="NSKeyEquiv">t</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="305399458"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Bold</string> - <string key="NSKeyEquiv">b</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">2</int> - </object> - <object class="NSMenuItem" id="814362025"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Italic</string> - <string key="NSKeyEquiv">i</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">1</int> - </object> - <object class="NSMenuItem" id="330926929"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Underline</string> - <string key="NSKeyEquiv">u</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="533507878"> - <reference key="NSMenu" ref="786677654"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="158063935"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Bigger</string> - <string key="NSKeyEquiv">+</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">3</int> - </object> - <object class="NSMenuItem" id="885547335"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Smaller</string> - <string key="NSKeyEquiv">-</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <int key="NSTag">4</int> - </object> - <object class="NSMenuItem" id="901062459"> - <reference key="NSMenu" ref="786677654"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="767671776"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Kern</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="175441468"> - <string key="NSTitle">Kern</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="252969304"> - <reference key="NSMenu" ref="175441468"/> - <string key="NSTitle">Use Default</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="766922938"> - <reference key="NSMenu" ref="175441468"/> - <string key="NSTitle">Use None</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="677519740"> - <reference key="NSMenu" ref="175441468"/> - <string key="NSTitle">Tighten</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="238351151"> - <reference key="NSMenu" ref="175441468"/> - <string key="NSTitle">Loosen</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="691570813"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Ligature</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="1058217995"> - <string key="NSTitle">Ligature</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="706297211"> - <reference key="NSMenu" ref="1058217995"/> - <string key="NSTitle">Use Default</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="568384683"> - <reference key="NSMenu" ref="1058217995"/> - <string key="NSTitle">Use None</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="663508465"> - <reference key="NSMenu" ref="1058217995"/> - <string key="NSTitle">Use All</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="769124883"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Baseline</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="18263474"> - <string key="NSTitle">Baseline</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="257962622"> - <reference key="NSMenu" ref="18263474"/> - <string key="NSTitle">Use Default</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="644725453"> - <reference key="NSMenu" ref="18263474"/> - <string key="NSTitle">Superscript</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1037576581"> - <reference key="NSMenu" ref="18263474"/> - <string key="NSTitle">Subscript</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="941806246"> - <reference key="NSMenu" ref="18263474"/> - <string key="NSTitle">Raise</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1045724900"> - <reference key="NSMenu" ref="18263474"/> - <string key="NSTitle">Lower</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="739652853"> - <reference key="NSMenu" ref="786677654"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="1012600125"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Show Colors</string> - <string key="NSKeyEquiv">C</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="214559597"> - <reference key="NSMenu" ref="786677654"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="596732606"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Copy Style</string> - <string key="NSKeyEquiv">c</string> - <int key="NSKeyEquivModMask">1572864</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="393423671"> - <reference key="NSMenu" ref="786677654"/> - <string key="NSTitle">Paste Style</string> - <string key="NSKeyEquiv">v</string> - <int key="NSKeyEquivModMask">1572864</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - <string key="NSName">_NSFontMenu</string> - </object> - </object> - <object class="NSMenuItem" id="215659978"> - <reference key="NSMenu" ref="941447902"/> - <string key="NSTitle">Text</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="446991534"> - <string key="NSTitle">Text</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="875092757"> - <reference key="NSMenu" ref="446991534"/> - <string key="NSTitle">Align Left</string> - <string key="NSKeyEquiv">{</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="630155264"> - <reference key="NSMenu" ref="446991534"/> - <string key="NSTitle">Center</string> - <string key="NSKeyEquiv">|</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="945678886"> - <reference key="NSMenu" ref="446991534"/> - <string key="NSTitle">Justify</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="512868991"> - <reference key="NSMenu" ref="446991534"/> - <string key="NSTitle">Align Right</string> - <string key="NSKeyEquiv">}</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="163117631"> - <reference key="NSMenu" ref="446991534"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="31516759"> - <reference key="NSMenu" ref="446991534"/> - <string key="NSTitle">Writing Direction</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="956096989"> - <string key="NSTitle">Writing Direction</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="257099033"> - <reference key="NSMenu" ref="956096989"/> - <bool key="NSIsDisabled">YES</bool> - <string key="NSTitle">Paragraph</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="551969625"> - <reference key="NSMenu" ref="956096989"/> - <string type="base64-UTF8" key="NSTitle">CURlZmF1bHQ</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="249532473"> - <reference key="NSMenu" ref="956096989"/> - <string type="base64-UTF8" key="NSTitle">CUxlZnQgdG8gUmlnaHQ</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="607364498"> - <reference key="NSMenu" ref="956096989"/> - <string type="base64-UTF8" key="NSTitle">CVJpZ2h0IHRvIExlZnQ</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="508151438"> - <reference key="NSMenu" ref="956096989"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="981751889"> - <reference key="NSMenu" ref="956096989"/> - <bool key="NSIsDisabled">YES</bool> - <string key="NSTitle">Selection</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="380031999"> - <reference key="NSMenu" ref="956096989"/> - <string type="base64-UTF8" key="NSTitle">CURlZmF1bHQ</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="825984362"> - <reference key="NSMenu" ref="956096989"/> - <string type="base64-UTF8" key="NSTitle">CUxlZnQgdG8gUmlnaHQ</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="560145579"> - <reference key="NSMenu" ref="956096989"/> - <string type="base64-UTF8" key="NSTitle">CVJpZ2h0IHRvIExlZnQ</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="908105787"> - <reference key="NSMenu" ref="446991534"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="644046920"> - <reference key="NSMenu" ref="446991534"/> - <string key="NSTitle">Show Ruler</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="231811626"> - <reference key="NSMenu" ref="446991534"/> - <string key="NSTitle">Copy Ruler</string> - <string key="NSKeyEquiv">c</string> - <int key="NSKeyEquivModMask">1310720</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="883618387"> - <reference key="NSMenu" ref="446991534"/> - <string key="NSTitle">Paste Ruler</string> - <string key="NSKeyEquiv">v</string> - <int key="NSKeyEquivModMask">1310720</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="586577488"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">View</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="466310130"> - <string key="NSTitle">View</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="102151532"> - <reference key="NSMenu" ref="466310130"/> - <string key="NSTitle">Show Toolbar</string> - <string key="NSKeyEquiv">t</string> - <int key="NSKeyEquivModMask">1572864</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="237841660"> - <reference key="NSMenu" ref="466310130"/> - <string key="NSTitle">Customize Toolbar…</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - </object> - </object> - <object class="NSMenuItem" id="713487014"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">Window</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="835318025"> - <string key="NSTitle">Window</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="1011231497"> - <reference key="NSMenu" ref="835318025"/> - <string key="NSTitle">Minimize</string> - <string key="NSKeyEquiv">m</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="575023229"> - <reference key="NSMenu" ref="835318025"/> - <string key="NSTitle">Zoom</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="299356726"> - <reference key="NSMenu" ref="835318025"/> - <bool key="NSIsDisabled">YES</bool> - <bool key="NSIsSeparator">YES</bool> - <string key="NSTitle"/> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="625202149"> - <reference key="NSMenu" ref="835318025"/> - <string key="NSTitle">Bring All to Front</string> - <string key="NSKeyEquiv"/> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - <string key="NSName">_NSWindowsMenu</string> - </object> - </object> - <object class="NSMenuItem" id="448692316"> - <reference key="NSMenu" ref="649796088"/> - <string key="NSTitle">Help</string> - <string key="NSKeyEquiv"/> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - <string key="NSAction">submenuAction:</string> - <object class="NSMenu" key="NSSubmenu" id="992780483"> - <string key="NSTitle">Help</string> - <object class="NSMutableArray" key="NSMenuItems"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMenuItem" id="105068016"> - <reference key="NSMenu" ref="992780483"/> - <string key="NSTitle">CocoaDebugger Help</string> - <string key="NSKeyEquiv">?</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - </object> - <string key="NSName">_NSHelpMenu</string> - </object> - </object> - </object> - <string key="NSName">_NSMainMenu</string> - </object> - <object class="NSWindowTemplate" id="972006081"> - <int key="NSWindowStyleMask">15</int> - <int key="NSWindowBacking">2</int> - <string key="NSWindowRect">{{335, 239}, {840, 680}}</string> - <int key="NSWTFlags">1954021376</int> - <string key="NSWindowTitle">CocoaDebugger</string> - <string key="NSWindowClass">SkDebugger</string> - <nil key="NSViewClass"/> - <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string> - <object class="NSView" key="NSWindowView" id="439893737"> - <reference key="NSNextResponder"/> - <int key="NSvFlags">256</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSSplitView" id="235139528"> - <reference key="NSNextResponder" ref="439893737"/> - <int key="NSvFlags">274</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSCustomView" id="638101539"> - <reference key="NSNextResponder" ref="235139528"/> - <int key="NSvFlags">256</int> - <string key="NSFrameSize">{200, 680}</string> - <reference key="NSSuperview" ref="235139528"/> - <string key="NSClassName">SkNSView</string> - </object> - <object class="NSSplitView" id="341659203"> - <reference key="NSNextResponder" ref="235139528"/> - <int key="NSvFlags">268</int> - <object class="NSMutableArray" key="NSSubviews"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSCustomView" id="882643913"> - <reference key="NSNextResponder" ref="341659203"/> - <int key="NSvFlags">256</int> - <string key="NSFrameSize">{639, 529}</string> - <reference key="NSSuperview" ref="341659203"/> - <string key="NSClassName">SkNSView</string> - </object> - <object class="NSCustomView" id="119239"> - <reference key="NSNextResponder" ref="341659203"/> - <int key="NSvFlags">256</int> - <string key="NSFrame">{{0, 530}, {639, 150}}</string> - <reference key="NSSuperview" ref="341659203"/> - <string key="NSClassName">SkNSView</string> - </object> - </object> - <string key="NSFrame">{{201, 0}, {639, 680}}</string> - <reference key="NSSuperview" ref="235139528"/> - <int key="NSDividerStyle">2</int> - </object> - </object> - <string key="NSFrameSize">{840, 680}</string> - <reference key="NSSuperview" ref="439893737"/> - <bool key="NSIsVertical">YES</bool> - <int key="NSDividerStyle">2</int> - </object> - </object> - <string key="NSFrameSize">{840, 680}</string> - <reference key="NSSuperview"/> - </object> - <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string> - <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string> - </object> - <object class="NSCustomObject" id="976324537"> - <string key="NSClassName">CocoaDebuggerAppDelegate</string> - </object> - <object class="NSCustomObject" id="755631768"> - <string key="NSClassName">NSFontManager</string> - </object> - <object class="NSCustomObject" id="615377771"> - <string key="NSClassName">SkMenuController</string> - </object> - </object> - <object class="IBObjectContainer" key="IBDocument.Objects"> - <object class="NSMutableArray" key="connectionRecords"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performMiniaturize:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="1011231497"/> - </object> - <int key="connectionID">37</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">arrangeInFront:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="625202149"/> - </object> - <int key="connectionID">39</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">print:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="49223823"/> - </object> - <int key="connectionID">86</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">runPageLayout:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="294629803"/> - </object> - <int key="connectionID">87</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">clearRecentDocuments:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="759406840"/> - </object> - <int key="connectionID">127</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">orderFrontStandardAboutPanel:</string> - <reference key="source" ref="1021"/> - <reference key="destination" ref="238522557"/> - </object> - <int key="connectionID">142</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performClose:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="776162233"/> - </object> - <int key="connectionID">193</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleContinuousSpellChecking:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="948374510"/> - </object> - <int key="connectionID">222</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">undo:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="1058277027"/> - </object> - <int key="connectionID">223</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">copy:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="860595796"/> - </object> - <int key="connectionID">224</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">checkSpelling:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="96193923"/> - </object> - <int key="connectionID">225</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">paste:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="29853731"/> - </object> - <int key="connectionID">226</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">stopSpeaking:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="680220178"/> - </object> - <int key="connectionID">227</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">cut:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="296257095"/> - </object> - <int key="connectionID">228</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">showGuessPanel:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="679648819"/> - </object> - <int key="connectionID">230</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">redo:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="790794224"/> - </object> - <int key="connectionID">231</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">selectAll:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="583158037"/> - </object> - <int key="connectionID">232</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">startSpeaking:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="731782645"/> - </object> - <int key="connectionID">233</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">delete:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="437104165"/> - </object> - <int key="connectionID">235</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performZoom:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="575023229"/> - </object> - <int key="connectionID">240</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performFindPanelAction:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="447796847"/> - </object> - <int key="connectionID">241</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">centerSelectionInVisibleArea:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="88285865"/> - </object> - <int key="connectionID">245</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleGrammarChecking:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="967646866"/> - </object> - <int key="connectionID">347</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleSmartInsertDelete:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="605118523"/> - </object> - <int key="connectionID">355</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleAutomaticQuoteSubstitution:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="197661976"/> - </object> - <int key="connectionID">356</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleAutomaticLinkDetection:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="708854459"/> - </object> - <int key="connectionID">357</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">saveDocument:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="1023925487"/> - </object> - <int key="connectionID">362</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">saveDocumentAs:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="117038363"/> - </object> - <int key="connectionID">363</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">revertDocumentToSaved:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="579971712"/> - </object> - <int key="connectionID">364</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">runToolbarCustomizationPalette:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="237841660"/> - </object> - <int key="connectionID">365</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleToolbarShown:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="102151532"/> - </object> - <int key="connectionID">366</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">hide:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="755159360"/> - </object> - <int key="connectionID">367</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">hideOtherApplications:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="342932134"/> - </object> - <int key="connectionID">368</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">unhideAllApplications:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="908899353"/> - </object> - <int key="connectionID">370</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">newDocument:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="705341025"/> - </object> - <int key="connectionID">373</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">addFontTrait:</string> - <reference key="source" ref="755631768"/> - <reference key="destination" ref="305399458"/> - </object> - <int key="connectionID">421</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">addFontTrait:</string> - <reference key="source" ref="755631768"/> - <reference key="destination" ref="814362025"/> - </object> - <int key="connectionID">422</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">modifyFont:</string> - <reference key="source" ref="755631768"/> - <reference key="destination" ref="885547335"/> - </object> - <int key="connectionID">423</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">orderFrontFontPanel:</string> - <reference key="source" ref="755631768"/> - <reference key="destination" ref="159677712"/> - </object> - <int key="connectionID">424</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">modifyFont:</string> - <reference key="source" ref="755631768"/> - <reference key="destination" ref="158063935"/> - </object> - <int key="connectionID">425</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">raiseBaseline:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="941806246"/> - </object> - <int key="connectionID">426</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">lowerBaseline:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="1045724900"/> - </object> - <int key="connectionID">427</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">copyFont:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="596732606"/> - </object> - <int key="connectionID">428</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">subscript:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="1037576581"/> - </object> - <int key="connectionID">429</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">superscript:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="644725453"/> - </object> - <int key="connectionID">430</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">tightenKerning:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="677519740"/> - </object> - <int key="connectionID">431</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">underline:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="330926929"/> - </object> - <int key="connectionID">432</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">orderFrontColorPanel:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="1012600125"/> - </object> - <int key="connectionID">433</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">useAllLigatures:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="663508465"/> - </object> - <int key="connectionID">434</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">loosenKerning:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="238351151"/> - </object> - <int key="connectionID">435</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">pasteFont:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="393423671"/> - </object> - <int key="connectionID">436</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">unscript:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="257962622"/> - </object> - <int key="connectionID">437</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">useStandardKerning:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="252969304"/> - </object> - <int key="connectionID">438</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">useStandardLigatures:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="706297211"/> - </object> - <int key="connectionID">439</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">turnOffLigatures:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="568384683"/> - </object> - <int key="connectionID">440</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">turnOffKerning:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="766922938"/> - </object> - <int key="connectionID">441</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">terminate:</string> - <reference key="source" ref="1050"/> - <reference key="destination" ref="632727374"/> - </object> - <int key="connectionID">449</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleAutomaticSpellingCorrection:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="795346622"/> - </object> - <int key="connectionID">456</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">orderFrontSubstitutionsPanel:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="65139061"/> - </object> - <int key="connectionID">458</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleAutomaticDashSubstitution:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="672708820"/> - </object> - <int key="connectionID">461</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleAutomaticTextReplacement:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="537092702"/> - </object> - <int key="connectionID">463</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">uppercaseWord:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="1060694897"/> - </object> - <int key="connectionID">464</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">capitalizeWord:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="56570060"/> - </object> - <int key="connectionID">467</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">lowercaseWord:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="879586729"/> - </object> - <int key="connectionID">468</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">pasteAsPlainText:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="82994268"/> - </object> - <int key="connectionID">486</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performFindPanelAction:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="326711663"/> - </object> - <int key="connectionID">487</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performFindPanelAction:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="270902937"/> - </object> - <int key="connectionID">488</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">performFindPanelAction:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="159080638"/> - </object> - <int key="connectionID">489</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">showHelp:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="105068016"/> - </object> - <int key="connectionID">493</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">delegate</string> - <reference key="source" ref="1021"/> - <reference key="destination" ref="976324537"/> - </object> - <int key="connectionID">495</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">alignCenter:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="630155264"/> - </object> - <int key="connectionID">518</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">pasteRuler:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="883618387"/> - </object> - <int key="connectionID">519</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleRuler:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="644046920"/> - </object> - <int key="connectionID">520</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">alignRight:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="512868991"/> - </object> - <int key="connectionID">521</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">copyRuler:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="231811626"/> - </object> - <int key="connectionID">522</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">alignJustified:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="945678886"/> - </object> - <int key="connectionID">523</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">alignLeft:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="875092757"/> - </object> - <int key="connectionID">524</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">makeBaseWritingDirectionNatural:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="551969625"/> - </object> - <int key="connectionID">525</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">makeBaseWritingDirectionLeftToRight:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="249532473"/> - </object> - <int key="connectionID">526</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">makeBaseWritingDirectionRightToLeft:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="607364498"/> - </object> - <int key="connectionID">527</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">makeTextWritingDirectionNatural:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="380031999"/> - </object> - <int key="connectionID">528</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">makeTextWritingDirectionLeftToRight:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="825984362"/> - </object> - <int key="connectionID">529</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">makeTextWritingDirectionRightToLeft:</string> - <reference key="source" ref="1014"/> - <reference key="destination" ref="560145579"/> - </object> - <int key="connectionID">530</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">window</string> - <reference key="source" ref="976324537"/> - <reference key="destination" ref="972006081"/> - </object> - <int key="connectionID">537</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fCommandView</string> - <reference key="source" ref="972006081"/> - <reference key="destination" ref="638101539"/> - </object> - <int key="connectionID">550</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fContentView</string> - <reference key="source" ref="972006081"/> - <reference key="destination" ref="882643913"/> - </object> - <int key="connectionID">551</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fInfoView</string> - <reference key="source" ref="972006081"/> - <reference key="destination" ref="119239"/> - </object> - <int key="connectionID">552</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">menu</string> - <reference key="source" ref="972006081"/> - <reference key="destination" ref="649796088"/> - </object> - <int key="connectionID">554</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">openFile:</string> - <reference key="source" ref="615377771"/> - <reference key="destination" ref="722745758"/> - </object> - <int key="connectionID">565</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBOutletConnection" key="connection"> - <string key="label">fWindow</string> - <reference key="source" ref="615377771"/> - <reference key="destination" ref="972006081"/> - </object> - <int key="connectionID">567</int> - </object> - </object> - <object class="IBMutableOrderedSet" key="objectRecords"> - <object class="NSArray" key="orderedObjects"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBObjectRecord"> - <int key="objectID">0</int> - <object class="NSArray" key="object" id="0"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <reference key="children" ref="1048"/> - <nil key="parent"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-2</int> - <reference key="object" ref="1021"/> - <reference key="parent" ref="0"/> - <string key="objectName">File's Owner</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-1</int> - <reference key="object" ref="1014"/> - <reference key="parent" ref="0"/> - <string key="objectName">First Responder</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">-3</int> - <reference key="object" ref="1050"/> - <reference key="parent" ref="0"/> - <string key="objectName">Application</string> - </object> - <object class="IBObjectRecord"> - <int key="objectID">29</int> - <reference key="object" ref="649796088"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="713487014"/> - <reference ref="694149608"/> - <reference ref="952259628"/> - <reference ref="379814623"/> - <reference ref="586577488"/> - <reference ref="302598603"/> - <reference ref="448692316"/> - </object> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">19</int> - <reference key="object" ref="713487014"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="835318025"/> - </object> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">56</int> - <reference key="object" ref="694149608"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="110575045"/> - </object> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">217</int> - <reference key="object" ref="952259628"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="789758025"/> - </object> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">83</int> - <reference key="object" ref="379814623"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="720053764"/> - </object> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">81</int> - <reference key="object" ref="720053764"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="1023925487"/> - <reference ref="117038363"/> - <reference ref="49223823"/> - <reference ref="722745758"/> - <reference ref="705341025"/> - <reference ref="1025936716"/> - <reference ref="294629803"/> - <reference ref="776162233"/> - <reference ref="425164168"/> - <reference ref="579971712"/> - <reference ref="1010469920"/> - </object> - <reference key="parent" ref="379814623"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">75</int> - <reference key="object" ref="1023925487"/> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">80</int> - <reference key="object" ref="117038363"/> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">78</int> - <reference key="object" ref="49223823"/> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">72</int> - <reference key="object" ref="722745758"/> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">82</int> - <reference key="object" ref="705341025"/> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">124</int> - <reference key="object" ref="1025936716"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="1065607017"/> - </object> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">77</int> - <reference key="object" ref="294629803"/> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">73</int> - <reference key="object" ref="776162233"/> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">79</int> - <reference key="object" ref="425164168"/> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">112</int> - <reference key="object" ref="579971712"/> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">74</int> - <reference key="object" ref="1010469920"/> - <reference key="parent" ref="720053764"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">125</int> - <reference key="object" ref="1065607017"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="759406840"/> - </object> - <reference key="parent" ref="1025936716"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">126</int> - <reference key="object" ref="759406840"/> - <reference key="parent" ref="1065607017"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">205</int> - <reference key="object" ref="789758025"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="437104165"/> - <reference ref="583158037"/> - <reference ref="1058277027"/> - <reference ref="212016141"/> - <reference ref="296257095"/> - <reference ref="29853731"/> - <reference ref="860595796"/> - <reference ref="1040322652"/> - <reference ref="790794224"/> - <reference ref="892235320"/> - <reference ref="972420730"/> - <reference ref="676164635"/> - <reference ref="507821607"/> - <reference ref="288088188"/> - <reference ref="82994268"/> - </object> - <reference key="parent" ref="952259628"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">202</int> - <reference key="object" ref="437104165"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">198</int> - <reference key="object" ref="583158037"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">207</int> - <reference key="object" ref="1058277027"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">214</int> - <reference key="object" ref="212016141"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">199</int> - <reference key="object" ref="296257095"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">203</int> - <reference key="object" ref="29853731"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">197</int> - <reference key="object" ref="860595796"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">206</int> - <reference key="object" ref="1040322652"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">215</int> - <reference key="object" ref="790794224"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">218</int> - <reference key="object" ref="892235320"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="963351320"/> - </object> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">216</int> - <reference key="object" ref="972420730"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="769623530"/> - </object> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">200</int> - <reference key="object" ref="769623530"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="948374510"/> - <reference ref="96193923"/> - <reference ref="679648819"/> - <reference ref="967646866"/> - <reference ref="859480356"/> - <reference ref="795346622"/> - </object> - <reference key="parent" ref="972420730"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">219</int> - <reference key="object" ref="948374510"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">201</int> - <reference key="object" ref="96193923"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">204</int> - <reference key="object" ref="679648819"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">220</int> - <reference key="object" ref="963351320"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="270902937"/> - <reference ref="88285865"/> - <reference ref="159080638"/> - <reference ref="326711663"/> - <reference ref="447796847"/> - </object> - <reference key="parent" ref="892235320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">213</int> - <reference key="object" ref="270902937"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">210</int> - <reference key="object" ref="88285865"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">221</int> - <reference key="object" ref="159080638"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">208</int> - <reference key="object" ref="326711663"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">209</int> - <reference key="object" ref="447796847"/> - <reference key="parent" ref="963351320"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">57</int> - <reference key="object" ref="110575045"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="238522557"/> - <reference ref="755159360"/> - <reference ref="908899353"/> - <reference ref="632727374"/> - <reference ref="646227648"/> - <reference ref="609285721"/> - <reference ref="481834944"/> - <reference ref="304266470"/> - <reference ref="1046388886"/> - <reference ref="1056857174"/> - <reference ref="342932134"/> - </object> - <reference key="parent" ref="694149608"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">58</int> - <reference key="object" ref="238522557"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">134</int> - <reference key="object" ref="755159360"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">150</int> - <reference key="object" ref="908899353"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">136</int> - <reference key="object" ref="632727374"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">144</int> - <reference key="object" ref="646227648"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">129</int> - <reference key="object" ref="609285721"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">143</int> - <reference key="object" ref="481834944"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">236</int> - <reference key="object" ref="304266470"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">131</int> - <reference key="object" ref="1046388886"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="752062318"/> - </object> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">149</int> - <reference key="object" ref="1056857174"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">145</int> - <reference key="object" ref="342932134"/> - <reference key="parent" ref="110575045"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">130</int> - <reference key="object" ref="752062318"/> - <reference key="parent" ref="1046388886"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">24</int> - <reference key="object" ref="835318025"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="299356726"/> - <reference ref="625202149"/> - <reference ref="575023229"/> - <reference ref="1011231497"/> - </object> - <reference key="parent" ref="713487014"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">92</int> - <reference key="object" ref="299356726"/> - <reference key="parent" ref="835318025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">5</int> - <reference key="object" ref="625202149"/> - <reference key="parent" ref="835318025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">239</int> - <reference key="object" ref="575023229"/> - <reference key="parent" ref="835318025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">23</int> - <reference key="object" ref="1011231497"/> - <reference key="parent" ref="835318025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">295</int> - <reference key="object" ref="586577488"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="466310130"/> - </object> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">296</int> - <reference key="object" ref="466310130"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="102151532"/> - <reference ref="237841660"/> - </object> - <reference key="parent" ref="586577488"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">297</int> - <reference key="object" ref="102151532"/> - <reference key="parent" ref="466310130"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">298</int> - <reference key="object" ref="237841660"/> - <reference key="parent" ref="466310130"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">211</int> - <reference key="object" ref="676164635"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="785027613"/> - </object> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">212</int> - <reference key="object" ref="785027613"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="680220178"/> - <reference ref="731782645"/> - </object> - <reference key="parent" ref="676164635"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">195</int> - <reference key="object" ref="680220178"/> - <reference key="parent" ref="785027613"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">196</int> - <reference key="object" ref="731782645"/> - <reference key="parent" ref="785027613"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">346</int> - <reference key="object" ref="967646866"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">348</int> - <reference key="object" ref="507821607"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="698887838"/> - </object> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">349</int> - <reference key="object" ref="698887838"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="605118523"/> - <reference ref="197661976"/> - <reference ref="708854459"/> - <reference ref="65139061"/> - <reference ref="19036812"/> - <reference ref="672708820"/> - <reference ref="537092702"/> - </object> - <reference key="parent" ref="507821607"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">350</int> - <reference key="object" ref="605118523"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">351</int> - <reference key="object" ref="197661976"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">354</int> - <reference key="object" ref="708854459"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">371</int> - <reference key="object" ref="972006081"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="439893737"/> - </object> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">372</int> - <reference key="object" ref="439893737"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="235139528"/> - </object> - <reference key="parent" ref="972006081"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">375</int> - <reference key="object" ref="302598603"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="941447902"/> - </object> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">376</int> - <reference key="object" ref="941447902"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="792887677"/> - <reference ref="215659978"/> - </object> - <reference key="parent" ref="302598603"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">377</int> - <reference key="object" ref="792887677"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="786677654"/> - </object> - <reference key="parent" ref="941447902"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">388</int> - <reference key="object" ref="786677654"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="159677712"/> - <reference ref="305399458"/> - <reference ref="814362025"/> - <reference ref="330926929"/> - <reference ref="533507878"/> - <reference ref="158063935"/> - <reference ref="885547335"/> - <reference ref="901062459"/> - <reference ref="767671776"/> - <reference ref="691570813"/> - <reference ref="769124883"/> - <reference ref="739652853"/> - <reference ref="1012600125"/> - <reference ref="214559597"/> - <reference ref="596732606"/> - <reference ref="393423671"/> - </object> - <reference key="parent" ref="792887677"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">389</int> - <reference key="object" ref="159677712"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">390</int> - <reference key="object" ref="305399458"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">391</int> - <reference key="object" ref="814362025"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">392</int> - <reference key="object" ref="330926929"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">393</int> - <reference key="object" ref="533507878"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">394</int> - <reference key="object" ref="158063935"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">395</int> - <reference key="object" ref="885547335"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">396</int> - <reference key="object" ref="901062459"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">397</int> - <reference key="object" ref="767671776"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="175441468"/> - </object> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">398</int> - <reference key="object" ref="691570813"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="1058217995"/> - </object> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">399</int> - <reference key="object" ref="769124883"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="18263474"/> - </object> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">400</int> - <reference key="object" ref="739652853"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">401</int> - <reference key="object" ref="1012600125"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">402</int> - <reference key="object" ref="214559597"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">403</int> - <reference key="object" ref="596732606"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">404</int> - <reference key="object" ref="393423671"/> - <reference key="parent" ref="786677654"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">405</int> - <reference key="object" ref="18263474"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="257962622"/> - <reference ref="644725453"/> - <reference ref="1037576581"/> - <reference ref="941806246"/> - <reference ref="1045724900"/> - </object> - <reference key="parent" ref="769124883"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">406</int> - <reference key="object" ref="257962622"/> - <reference key="parent" ref="18263474"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">407</int> - <reference key="object" ref="644725453"/> - <reference key="parent" ref="18263474"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">408</int> - <reference key="object" ref="1037576581"/> - <reference key="parent" ref="18263474"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">409</int> - <reference key="object" ref="941806246"/> - <reference key="parent" ref="18263474"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">410</int> - <reference key="object" ref="1045724900"/> - <reference key="parent" ref="18263474"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">411</int> - <reference key="object" ref="1058217995"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="706297211"/> - <reference ref="568384683"/> - <reference ref="663508465"/> - </object> - <reference key="parent" ref="691570813"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">412</int> - <reference key="object" ref="706297211"/> - <reference key="parent" ref="1058217995"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">413</int> - <reference key="object" ref="568384683"/> - <reference key="parent" ref="1058217995"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">414</int> - <reference key="object" ref="663508465"/> - <reference key="parent" ref="1058217995"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">415</int> - <reference key="object" ref="175441468"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="252969304"/> - <reference ref="766922938"/> - <reference ref="677519740"/> - <reference ref="238351151"/> - </object> - <reference key="parent" ref="767671776"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">416</int> - <reference key="object" ref="252969304"/> - <reference key="parent" ref="175441468"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">417</int> - <reference key="object" ref="766922938"/> - <reference key="parent" ref="175441468"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">418</int> - <reference key="object" ref="677519740"/> - <reference key="parent" ref="175441468"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">419</int> - <reference key="object" ref="238351151"/> - <reference key="parent" ref="175441468"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">420</int> - <reference key="object" ref="755631768"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">450</int> - <reference key="object" ref="288088188"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="579392910"/> - </object> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">451</int> - <reference key="object" ref="579392910"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="1060694897"/> - <reference ref="879586729"/> - <reference ref="56570060"/> - </object> - <reference key="parent" ref="288088188"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">452</int> - <reference key="object" ref="1060694897"/> - <reference key="parent" ref="579392910"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">453</int> - <reference key="object" ref="859480356"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">454</int> - <reference key="object" ref="795346622"/> - <reference key="parent" ref="769623530"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">457</int> - <reference key="object" ref="65139061"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">459</int> - <reference key="object" ref="19036812"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">460</int> - <reference key="object" ref="672708820"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">462</int> - <reference key="object" ref="537092702"/> - <reference key="parent" ref="698887838"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">465</int> - <reference key="object" ref="879586729"/> - <reference key="parent" ref="579392910"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">466</int> - <reference key="object" ref="56570060"/> - <reference key="parent" ref="579392910"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">485</int> - <reference key="object" ref="82994268"/> - <reference key="parent" ref="789758025"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">490</int> - <reference key="object" ref="448692316"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="992780483"/> - </object> - <reference key="parent" ref="649796088"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">491</int> - <reference key="object" ref="992780483"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="105068016"/> - </object> - <reference key="parent" ref="448692316"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">492</int> - <reference key="object" ref="105068016"/> - <reference key="parent" ref="992780483"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">494</int> - <reference key="object" ref="976324537"/> - <reference key="parent" ref="0"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">496</int> - <reference key="object" ref="215659978"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="446991534"/> - </object> - <reference key="parent" ref="941447902"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">497</int> - <reference key="object" ref="446991534"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="875092757"/> - <reference ref="630155264"/> - <reference ref="945678886"/> - <reference ref="512868991"/> - <reference ref="163117631"/> - <reference ref="31516759"/> - <reference ref="908105787"/> - <reference ref="644046920"/> - <reference ref="231811626"/> - <reference ref="883618387"/> - </object> - <reference key="parent" ref="215659978"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">498</int> - <reference key="object" ref="875092757"/> - <reference key="parent" ref="446991534"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">499</int> - <reference key="object" ref="630155264"/> - <reference key="parent" ref="446991534"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">500</int> - <reference key="object" ref="945678886"/> - <reference key="parent" ref="446991534"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">501</int> - <reference key="object" ref="512868991"/> - <reference key="parent" ref="446991534"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">502</int> - <reference key="object" ref="163117631"/> - <reference key="parent" ref="446991534"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">503</int> - <reference key="object" ref="31516759"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="956096989"/> - </object> - <reference key="parent" ref="446991534"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">504</int> - <reference key="object" ref="908105787"/> - <reference key="parent" ref="446991534"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">505</int> - <reference key="object" ref="644046920"/> - <reference key="parent" ref="446991534"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">506</int> - <reference key="object" ref="231811626"/> - <reference key="parent" ref="446991534"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">507</int> - <reference key="object" ref="883618387"/> - <reference key="parent" ref="446991534"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">508</int> - <reference key="object" ref="956096989"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="257099033"/> - <reference ref="551969625"/> - <reference ref="249532473"/> - <reference ref="607364498"/> - <reference ref="508151438"/> - <reference ref="981751889"/> - <reference ref="380031999"/> - <reference ref="825984362"/> - <reference ref="560145579"/> - </object> - <reference key="parent" ref="31516759"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">509</int> - <reference key="object" ref="257099033"/> - <reference key="parent" ref="956096989"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">510</int> - <reference key="object" ref="551969625"/> - <reference key="parent" ref="956096989"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">511</int> - <reference key="object" ref="249532473"/> - <reference key="parent" ref="956096989"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">512</int> - <reference key="object" ref="607364498"/> - <reference key="parent" ref="956096989"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">513</int> - <reference key="object" ref="508151438"/> - <reference key="parent" ref="956096989"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">514</int> - <reference key="object" ref="981751889"/> - <reference key="parent" ref="956096989"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">515</int> - <reference key="object" ref="380031999"/> - <reference key="parent" ref="956096989"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">516</int> - <reference key="object" ref="825984362"/> - <reference key="parent" ref="956096989"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">517</int> - <reference key="object" ref="560145579"/> - <reference key="parent" ref="956096989"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">541</int> - <reference key="object" ref="235139528"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="638101539"/> - <reference ref="341659203"/> - </object> - <reference key="parent" ref="439893737"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">542</int> - <reference key="object" ref="638101539"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - <reference key="parent" ref="235139528"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">547</int> - <reference key="object" ref="341659203"/> - <object class="NSMutableArray" key="children"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference ref="882643913"/> - <reference ref="119239"/> - </object> - <reference key="parent" ref="235139528"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">548</int> - <reference key="object" ref="882643913"/> - <reference key="parent" ref="341659203"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">549</int> - <reference key="object" ref="119239"/> - <reference key="parent" ref="341659203"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">564</int> - <reference key="object" ref="615377771"/> - <reference key="parent" ref="0"/> - </object> - </object> - </object> - <object class="NSMutableDictionary" key="flattenedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>-3.IBPluginDependency</string> - <string>112.IBPluginDependency</string> - <string>112.ImportedFromIB2</string> - <string>124.IBPluginDependency</string> - <string>124.ImportedFromIB2</string> - <string>125.IBPluginDependency</string> - <string>125.ImportedFromIB2</string> - <string>125.editorWindowContentRectSynchronizationRect</string> - <string>126.IBPluginDependency</string> - <string>126.ImportedFromIB2</string> - <string>129.IBPluginDependency</string> - <string>129.ImportedFromIB2</string> - <string>130.IBPluginDependency</string> - <string>130.ImportedFromIB2</string> - <string>130.editorWindowContentRectSynchronizationRect</string> - <string>131.IBPluginDependency</string> - <string>131.ImportedFromIB2</string> - <string>134.IBPluginDependency</string> - <string>134.ImportedFromIB2</string> - <string>136.IBPluginDependency</string> - <string>136.ImportedFromIB2</string> - <string>143.IBPluginDependency</string> - <string>143.ImportedFromIB2</string> - <string>144.IBPluginDependency</string> - <string>144.ImportedFromIB2</string> - <string>145.IBPluginDependency</string> - <string>145.ImportedFromIB2</string> - <string>149.IBPluginDependency</string> - <string>149.ImportedFromIB2</string> - <string>150.IBPluginDependency</string> - <string>150.ImportedFromIB2</string> - <string>19.IBPluginDependency</string> - <string>19.ImportedFromIB2</string> - <string>195.IBPluginDependency</string> - <string>195.ImportedFromIB2</string> - <string>196.IBPluginDependency</string> - <string>196.ImportedFromIB2</string> - <string>197.IBPluginDependency</string> - <string>197.ImportedFromIB2</string> - <string>198.IBPluginDependency</string> - <string>198.ImportedFromIB2</string> - <string>199.IBPluginDependency</string> - <string>199.ImportedFromIB2</string> - <string>200.IBEditorWindowLastContentRect</string> - <string>200.IBPluginDependency</string> - <string>200.ImportedFromIB2</string> - <string>200.editorWindowContentRectSynchronizationRect</string> - <string>201.IBPluginDependency</string> - <string>201.ImportedFromIB2</string> - <string>202.IBPluginDependency</string> - <string>202.ImportedFromIB2</string> - <string>203.IBPluginDependency</string> - <string>203.ImportedFromIB2</string> - <string>204.IBPluginDependency</string> - <string>204.ImportedFromIB2</string> - <string>205.IBEditorWindowLastContentRect</string> - <string>205.IBPluginDependency</string> - <string>205.ImportedFromIB2</string> - <string>205.editorWindowContentRectSynchronizationRect</string> - <string>206.IBPluginDependency</string> - <string>206.ImportedFromIB2</string> - <string>207.IBPluginDependency</string> - <string>207.ImportedFromIB2</string> - <string>208.IBPluginDependency</string> - <string>208.ImportedFromIB2</string> - <string>209.IBPluginDependency</string> - <string>209.ImportedFromIB2</string> - <string>210.IBPluginDependency</string> - <string>210.ImportedFromIB2</string> - <string>211.IBPluginDependency</string> - <string>211.ImportedFromIB2</string> - <string>212.IBPluginDependency</string> - <string>212.ImportedFromIB2</string> - <string>212.editorWindowContentRectSynchronizationRect</string> - <string>213.IBPluginDependency</string> - <string>213.ImportedFromIB2</string> - <string>214.IBPluginDependency</string> - <string>214.ImportedFromIB2</string> - <string>215.IBPluginDependency</string> - <string>215.ImportedFromIB2</string> - <string>216.IBPluginDependency</string> - <string>216.ImportedFromIB2</string> - <string>217.IBPluginDependency</string> - <string>217.ImportedFromIB2</string> - <string>218.IBPluginDependency</string> - <string>218.ImportedFromIB2</string> - <string>219.IBPluginDependency</string> - <string>219.ImportedFromIB2</string> - <string>220.IBEditorWindowLastContentRect</string> - <string>220.IBPluginDependency</string> - <string>220.ImportedFromIB2</string> - <string>220.editorWindowContentRectSynchronizationRect</string> - <string>221.IBPluginDependency</string> - <string>221.ImportedFromIB2</string> - <string>23.IBPluginDependency</string> - <string>23.ImportedFromIB2</string> - <string>236.IBPluginDependency</string> - <string>236.ImportedFromIB2</string> - <string>239.IBPluginDependency</string> - <string>239.ImportedFromIB2</string> - <string>24.IBEditorWindowLastContentRect</string> - <string>24.IBPluginDependency</string> - <string>24.ImportedFromIB2</string> - <string>24.editorWindowContentRectSynchronizationRect</string> - <string>29.IBEditorWindowLastContentRect</string> - <string>29.IBPluginDependency</string> - <string>29.ImportedFromIB2</string> - <string>29.WindowOrigin</string> - <string>29.editorWindowContentRectSynchronizationRect</string> - <string>295.IBPluginDependency</string> - <string>296.IBEditorWindowLastContentRect</string> - <string>296.IBPluginDependency</string> - <string>296.editorWindowContentRectSynchronizationRect</string> - <string>297.IBPluginDependency</string> - <string>298.IBPluginDependency</string> - <string>346.IBPluginDependency</string> - <string>346.ImportedFromIB2</string> - <string>348.IBPluginDependency</string> - <string>348.ImportedFromIB2</string> - <string>349.IBEditorWindowLastContentRect</string> - <string>349.IBPluginDependency</string> - <string>349.ImportedFromIB2</string> - <string>349.editorWindowContentRectSynchronizationRect</string> - <string>350.IBPluginDependency</string> - <string>350.ImportedFromIB2</string> - <string>351.IBPluginDependency</string> - <string>351.ImportedFromIB2</string> - <string>354.IBPluginDependency</string> - <string>354.ImportedFromIB2</string> - <string>371.IBEditorWindowLastContentRect</string> - <string>371.IBPluginDependency</string> - <string>371.IBWindowTemplateEditedContentRect</string> - <string>371.NSWindowTemplate.visibleAtLaunch</string> - <string>371.editorWindowContentRectSynchronizationRect</string> - <string>371.windowTemplate.maxSize</string> - <string>371.windowTemplate.minSize</string> - <string>372.IBPluginDependency</string> - <string>375.IBPluginDependency</string> - <string>376.IBEditorWindowLastContentRect</string> - <string>376.IBPluginDependency</string> - <string>377.IBPluginDependency</string> - <string>388.IBEditorWindowLastContentRect</string> - <string>388.IBPluginDependency</string> - <string>389.IBPluginDependency</string> - <string>390.IBPluginDependency</string> - <string>391.IBPluginDependency</string> - <string>392.IBPluginDependency</string> - <string>393.IBPluginDependency</string> - <string>394.IBPluginDependency</string> - <string>395.IBPluginDependency</string> - <string>396.IBPluginDependency</string> - <string>397.IBPluginDependency</string> - <string>398.IBPluginDependency</string> - <string>399.IBPluginDependency</string> - <string>400.IBPluginDependency</string> - <string>401.IBPluginDependency</string> - <string>402.IBPluginDependency</string> - <string>403.IBPluginDependency</string> - <string>404.IBPluginDependency</string> - <string>405.IBPluginDependency</string> - <string>406.IBPluginDependency</string> - <string>407.IBPluginDependency</string> - <string>408.IBPluginDependency</string> - <string>409.IBPluginDependency</string> - <string>410.IBPluginDependency</string> - <string>411.IBPluginDependency</string> - <string>412.IBPluginDependency</string> - <string>413.IBPluginDependency</string> - <string>414.IBPluginDependency</string> - <string>415.IBPluginDependency</string> - <string>416.IBPluginDependency</string> - <string>417.IBPluginDependency</string> - <string>418.IBPluginDependency</string> - <string>419.IBPluginDependency</string> - <string>450.IBPluginDependency</string> - <string>451.IBEditorWindowLastContentRect</string> - <string>451.IBPluginDependency</string> - <string>452.IBPluginDependency</string> - <string>453.IBPluginDependency</string> - <string>454.IBPluginDependency</string> - <string>457.IBPluginDependency</string> - <string>459.IBPluginDependency</string> - <string>460.IBPluginDependency</string> - <string>462.IBPluginDependency</string> - <string>465.IBPluginDependency</string> - <string>466.IBPluginDependency</string> - <string>485.IBPluginDependency</string> - <string>490.IBPluginDependency</string> - <string>491.IBEditorWindowLastContentRect</string> - <string>491.IBPluginDependency</string> - <string>492.IBPluginDependency</string> - <string>496.IBPluginDependency</string> - <string>497.IBEditorWindowLastContentRect</string> - <string>497.IBPluginDependency</string> - <string>498.IBPluginDependency</string> - <string>499.IBPluginDependency</string> - <string>5.IBPluginDependency</string> - <string>5.ImportedFromIB2</string> - <string>500.IBPluginDependency</string> - <string>501.IBPluginDependency</string> - <string>502.IBPluginDependency</string> - <string>503.IBPluginDependency</string> - <string>504.IBPluginDependency</string> - <string>505.IBPluginDependency</string> - <string>506.IBPluginDependency</string> - <string>507.IBPluginDependency</string> - <string>508.IBEditorWindowLastContentRect</string> - <string>508.IBPluginDependency</string> - <string>509.IBPluginDependency</string> - <string>510.IBPluginDependency</string> - <string>511.IBPluginDependency</string> - <string>512.IBPluginDependency</string> - <string>513.IBPluginDependency</string> - <string>514.IBPluginDependency</string> - <string>515.IBPluginDependency</string> - <string>516.IBPluginDependency</string> - <string>517.IBPluginDependency</string> - <string>541.IBPluginDependency</string> - <string>542.IBPluginDependency</string> - <string>547.IBPluginDependency</string> - <string>548.IBPluginDependency</string> - <string>549.IBPluginDependency</string> - <string>56.IBPluginDependency</string> - <string>56.ImportedFromIB2</string> - <string>564.IBPluginDependency</string> - <string>57.IBEditorWindowLastContentRect</string> - <string>57.IBPluginDependency</string> - <string>57.ImportedFromIB2</string> - <string>57.editorWindowContentRectSynchronizationRect</string> - <string>58.IBPluginDependency</string> - <string>58.ImportedFromIB2</string> - <string>72.IBPluginDependency</string> - <string>72.ImportedFromIB2</string> - <string>73.IBPluginDependency</string> - <string>73.ImportedFromIB2</string> - <string>74.IBPluginDependency</string> - <string>74.ImportedFromIB2</string> - <string>75.IBPluginDependency</string> - <string>75.ImportedFromIB2</string> - <string>77.IBPluginDependency</string> - <string>77.ImportedFromIB2</string> - <string>78.IBPluginDependency</string> - <string>78.ImportedFromIB2</string> - <string>79.IBPluginDependency</string> - <string>79.ImportedFromIB2</string> - <string>80.IBPluginDependency</string> - <string>80.ImportedFromIB2</string> - <string>81.IBEditorWindowLastContentRect</string> - <string>81.IBPluginDependency</string> - <string>81.ImportedFromIB2</string> - <string>81.editorWindowContentRectSynchronizationRect</string> - <string>82.IBPluginDependency</string> - <string>82.ImportedFromIB2</string> - <string>83.IBPluginDependency</string> - <string>83.ImportedFromIB2</string> - <string>92.IBPluginDependency</string> - <string>92.ImportedFromIB2</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{522, 812}, {146, 23}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{436, 809}, {64, 6}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{753, 187}, {275, 113}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{608, 612}, {275, 83}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{567, 553}, {254, 283}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{187, 434}, {243, 243}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{608, 612}, {167, 43}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{753, 217}, {238, 103}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{608, 612}, {241, 103}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{654, 239}, {194, 73}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{525, 802}, {197, 73}}</string> - <string>{{366, 1048}, {479, 20}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{74, 862}</string> - <string>{{6, 978}, {478, 20}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{604, 269}, {231, 43}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{475, 832}, {234, 43}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{746, 287}, {220, 133}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{608, 612}, {215, 63}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{307, 304}, {840, 680}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{307, 304}, {840, 680}}</string> - <integer value="1"/> - <string>{{33, 99}, {480, 360}}</string> - <string>{3.40282e+38, 3.40282e+38}</string> - <string>{0, 0}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{591, 420}, {83, 43}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{523, 2}, {178, 283}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{753, 197}, {170, 63}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{725, 289}, {246, 23}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{674, 260}, {204, 183}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{878, 180}, {164, 173}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{286, 129}, {275, 183}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{23, 794}, {245, 183}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{511, 845}, {196, 203}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>{{145, 474}, {199, 203}}</string> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <integer value="1"/> - </object> - </object> - <object class="NSMutableDictionary" key="unlocalizedProperties"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="activeLocalization"/> - <object class="NSMutableDictionary" key="localizations"> - <bool key="EncodedWithXMLCoder">YES</bool> - <reference key="dict.sortedKeys" ref="0"/> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> - </object> - <nil key="sourceID"/> - <int key="maxID">567</int> - </object> - <object class="IBClassDescriber" key="IBDocument.Classes"> - <object class="NSMutableArray" key="referencedPartialClassDescriptions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">CocoaDebuggerAppDelegate</string> - <string key="superclassName">NSObject</string> - <object class="NSMutableDictionary" key="outlets"> - <string key="NS.key.0">window</string> - <string key="NS.object.0">SkNSWindow</string> - </object> - <object class="NSMutableDictionary" key="toOneOutletInfosByName"> - <string key="NS.key.0">window</string> - <object class="IBToOneOutletInfo" key="NS.object.0"> - <string key="name">window</string> - <string key="candidateClassName">SkNSWindow</string> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">CocoaDebuggerAppDelegate.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">SkDebugger</string> - <string key="superclassName">SkNSWindow</string> - <object class="NSMutableDictionary" key="outlets"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>fCommandView</string> - <string>fContentView</string> - <string>fInfoView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>SkNSView</string> - <string>SkNSView</string> - <string>SkNSView</string> - </object> - </object> - <object class="NSMutableDictionary" key="toOneOutletInfosByName"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>fCommandView</string> - <string>fContentView</string> - <string>fInfoView</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBToOneOutletInfo"> - <string key="name">fCommandView</string> - <string key="candidateClassName">SkNSView</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">fContentView</string> - <string key="candidateClassName">SkNSView</string> - </object> - <object class="IBToOneOutletInfo"> - <string key="name">fInfoView</string> - <string key="candidateClassName">SkNSView</string> - </object> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">SkDebugger.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">SkMenuController</string> - <string key="superclassName">NSObject</string> - <object class="NSMutableDictionary" key="actions"> - <string key="NS.key.0">openFile:</string> - <string key="NS.object.0">id</string> - </object> - <object class="NSMutableDictionary" key="actionInfosByName"> - <string key="NS.key.0">openFile:</string> - <object class="IBActionInfo" key="NS.object.0"> - <string key="name">openFile:</string> - <string key="candidateClassName">id</string> - </object> - </object> - <object class="NSMutableDictionary" key="outlets"> - <string key="NS.key.0">fWindow</string> - <string key="NS.object.0">SkDebugger</string> - </object> - <object class="NSMutableDictionary" key="toOneOutletInfosByName"> - <string key="NS.key.0">fWindow</string> - <object class="IBToOneOutletInfo" key="NS.object.0"> - <string key="name">fWindow</string> - <string key="candidateClassName">SkDebugger</string> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">SkMenuController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">SkNSView</string> - <string key="superclassName">NSView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">../SimpleCocoaApp/SkNSView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">SkNSWindow</string> - <string key="superclassName">NSWindow</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBProjectSource</string> - <string key="minorKey">../SimpleCocoaApp/SkNSWindow.h</string> - </object> - </object> - </object> - <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBPartialClassDescription"> - <string key="className">NSApplication</string> - <string key="superclassName">NSResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="822405504"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSApplication</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="850738725"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSApplication</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="624831158"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSApplication</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSApplication</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSApplication</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSBrowser</string> - <string key="superclassName">NSControl</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSBrowser.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSControl</string> - <string key="superclassName">NSView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="310914472"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSControl.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSDocument</string> - <string key="superclassName">NSObject</string> - <object class="NSMutableDictionary" key="actions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>printDocument:</string> - <string>revertDocumentToSaved:</string> - <string>runPageLayout:</string> - <string>saveDocument:</string> - <string>saveDocumentAs:</string> - <string>saveDocumentTo:</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>id</string> - <string>id</string> - <string>id</string> - <string>id</string> - <string>id</string> - <string>id</string> - </object> - </object> - <object class="NSMutableDictionary" key="actionInfosByName"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>printDocument:</string> - <string>revertDocumentToSaved:</string> - <string>runPageLayout:</string> - <string>saveDocument:</string> - <string>saveDocumentAs:</string> - <string>saveDocumentTo:</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBActionInfo"> - <string key="name">printDocument:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">revertDocumentToSaved:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">runPageLayout:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">saveDocument:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">saveDocumentAs:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">saveDocumentTo:</string> - <string key="candidateClassName">id</string> - </object> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSDocument.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSDocument</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSDocumentScripting.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSDocumentController</string> - <string key="superclassName">NSObject</string> - <object class="NSMutableDictionary" key="actions"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>clearRecentDocuments:</string> - <string>newDocument:</string> - <string>openDocument:</string> - <string>saveAllDocuments:</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>id</string> - <string>id</string> - <string>id</string> - <string>id</string> - </object> - </object> - <object class="NSMutableDictionary" key="actionInfosByName"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>clearRecentDocuments:</string> - <string>newDocument:</string> - <string>openDocument:</string> - <string>saveAllDocuments:</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="IBActionInfo"> - <string key="name">clearRecentDocuments:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">newDocument:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">openDocument:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo"> - <string key="name">saveAllDocuments:</string> - <string key="candidateClassName">id</string> - </object> - </object> - </object> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSDocumentController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSFontManager</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="946436764"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSFormatter</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSMatrix</string> - <string key="superclassName">NSControl</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSMatrix.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSMenu</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="1056362899"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSMenuItem</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="472958451"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSMovieView</string> - <string key="superclassName">NSView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSMovieView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <reference key="sourceIdentifier" ref="822405504"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <reference key="sourceIdentifier" ref="850738725"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <reference key="sourceIdentifier" ref="624831158"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <reference key="sourceIdentifier" ref="310914472"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <reference key="sourceIdentifier" ref="946436764"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <reference key="sourceIdentifier" ref="1056362899"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="809545482"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier" id="260078765"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSError.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSObject.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSThread.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURL.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSResponder</string> - <string key="superclassName">NSObject</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSResponder.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSSplitView</string> - <string key="superclassName">NSView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSSplitView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSTableView</string> - <string key="superclassName">NSControl</string> - <reference key="sourceIdentifier" ref="809545482"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSText</string> - <string key="superclassName">NSView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSText.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSTextView</string> - <string key="superclassName">NSText</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSTextView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSClipView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSView</string> - <reference key="sourceIdentifier" ref="472958451"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSView</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSView</string> - <string key="superclassName">NSResponder</string> - <reference key="sourceIdentifier" ref="260078765"/> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSWindow</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSWindow</string> - <string key="superclassName">NSResponder</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSWindow.h</string> - </object> - </object> - <object class="IBPartialClassDescription"> - <string key="className">NSWindow</string> - <object class="IBClassDescriptionSource" key="sourceIdentifier"> - <string key="majorKey">IBFrameworkSource</string> - <string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string> - </object> - </object> - </object> - </object> - <int key="IBDocument.localizationMode">0</int> - <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> - <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> - <integer value="1060" key="NS.object.0"/> - </object> - <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> - <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string> - <integer value="3000" key="NS.object.0"/> - </object> - <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> - <string key="IBDocument.LastKnownRelativeProjectPath">../CocoaDebugger.xcodeproj</string> - <int key="IBDocument.defaultPropertyAccessControl">3</int> - <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes"> - <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>NSMenuCheckmark</string> - <string>NSMenuMixedState</string> - </object> - <object class="NSMutableArray" key="dict.values"> - <bool key="EncodedWithXMLCoder">YES</bool> - <string>{9, 8}</string> - <string>{7, 2}</string> - </object> - </object> - </data> -</archive> diff --git a/experimental/CocoaDebugger/SkContentView.cpp b/experimental/CocoaDebugger/SkContentView.cpp deleted file mode 100644 index 8846826f3f..0000000000 --- a/experimental/CocoaDebugger/SkContentView.cpp +++ /dev/null @@ -1,157 +0,0 @@ - -/* - * Copyright 2011 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ -#include "SkDebuggerViews.h" -#include <stdio.h> - -SkContentView::SkContentView(SkEventSinkID clID, SkEventSinkID ipID) : - fDumper(this->getSinkID(), clID, ipID) { - fBGColor = 0xFFDDDDDD; - fAtomsToRead = 0; - fDisplayClip = false; -} - -SkContentView::~SkContentView() { - fAtomBounds.clear(); - fFrameBounds.clear(); -} - -void SkContentView::reinit(const char* filename) { - fFilePath.set(filename); - fAtomsToRead = 0; - this->init(); -} - -bool SkContentView::onEvent(const SkEvent& evt) { - return this->INHERITED::onEvent(evt); -} - -//Read file atom by atom and record attom bounds -void SkContentView::init() { - fDumper.unload(); - fAtomBounds.clear(); - fFrameBounds.clear(); - - SkDumpCanvasM* dumpCanvas = new SkDumpCanvasM(&fDumper); - SkGPipeReader* dumpReader = new SkGPipeReader(dumpCanvas); - - FILE* f = fopen(fFilePath.c_str(), "rb"); - SkASSERT(f != NULL); - fseek(f, 0, SEEK_END); - int fileSize = ftell(f) * sizeof(char); - fseek(f, 0, SEEK_SET); - if (fileSize > 0) { - char* block = (char*)sk_malloc_throw(fileSize); - fread(block, 1, fileSize, f); - int offset = 0; - int frameBound = 0; - size_t bytesRead; - while (offset < fileSize) { - SkGPipeReader::Status s = dumpReader->playback(block + offset, - fileSize - offset, - &bytesRead, true); - SkASSERT(SkGPipeReader::kError_Status != s); - offset += bytesRead; - if (SkGPipeReader::kDone_Status == s) { - fDumper.dump(dumpCanvas,SkDumpCanvasM::kNULL_Verb, - "End of Frame", NULL); - delete dumpReader; - delete dumpCanvas; - dumpCanvas = new SkDumpCanvasM(&fDumper); - dumpReader = new SkGPipeReader(dumpCanvas); - frameBound = offset; - } - fAtomBounds.push_back(offset); - fFrameBounds.push_back(frameBound); - } - sk_free(block); - } - - fclose(f); - - delete dumpReader; - delete dumpCanvas; - - fDumper.load(); -} - -void SkContentView::goToAtom(int atom) { - if (atom != fAtomsToRead) { - fAtomsToRead = atom; - this->inval(NULL); - } -} - -void SkContentView::toggleClip() { - fDisplayClip = !fDisplayClip; - this->inval(NULL); -} - -void SkContentView::onDraw(SkCanvas* canvas) { - canvas->drawColor(fBGColor); - - SkAutoCanvasRestore acr(canvas, true); - - int lastFrameBound = fFrameBounds[fAtomsToRead]; - int toBeRead = fAtomBounds[fAtomsToRead] - lastFrameBound; - int firstChunk = (fAtomsToRead > 0) ? fAtomBounds[fAtomsToRead - 1] - - lastFrameBound: 0; - if (toBeRead > 0) { - SkDumpCanvasM* dumpCanvas = new SkDumpCanvasM(&fDumper); - SkGPipeReader* dumpReader = new SkGPipeReader(dumpCanvas); - SkGPipeReader* reader = new SkGPipeReader(canvas); - fDumper.disable(); - - FILE* f = fopen(fFilePath.c_str(), "rb"); - SkASSERT(f != NULL); - fseek(f, lastFrameBound, SEEK_SET); - char* block = (char*)sk_malloc_throw(toBeRead); - fread(block, 1, toBeRead, f); - int offset = 0; - size_t bytesRead; - SkGPipeReader::Status s; - //Read the first chunk - if (offset < firstChunk && firstChunk < toBeRead) { - s = dumpReader->playback(block + offset, firstChunk - offset, NULL, false); - SkASSERT(SkGPipeReader::kError_Status != s); - s = reader->playback(block + offset, firstChunk - offset, &bytesRead, false); - SkASSERT(SkGPipeReader::kError_Status != s); - if (SkGPipeReader::kDone_Status == s){ - delete dumpReader; - delete dumpCanvas; - dumpCanvas = new SkDumpCanvasM(&fDumper); - dumpReader = new SkGPipeReader(dumpCanvas); - delete reader; - reader = new SkGPipeReader(canvas); - } - offset += bytesRead; - } - SkASSERT(offset == firstChunk); - //Then read the current atom - fDumper.enable(); - s = dumpReader->playback(block + offset, toBeRead - offset, NULL, true); - SkASSERT(SkGPipeReader::kError_Status != s); - s = reader->playback(block + offset, toBeRead - offset, &bytesRead, true); - SkASSERT(SkGPipeReader::kError_Status != s); - - sk_free(block); - fclose(f); - - delete reader; - delete dumpReader; - delete dumpCanvas; - - if (fDisplayClip) { - SkPaint p; - p.setColor(0x440000AA); - SkPath path; - canvas->getTotalClip().getBoundaryPath(&path); - canvas->drawPath(path, p); - } - } - this->INHERITED::onDraw(canvas); -}
\ No newline at end of file diff --git a/experimental/CocoaDebugger/SkDebugger.h b/experimental/CocoaDebugger/SkDebugger.h deleted file mode 100644 index f18848e70a..0000000000 --- a/experimental/CocoaDebugger/SkDebugger.h +++ /dev/null @@ -1,22 +0,0 @@ - -/* - * Copyright 2011 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ -#import "SkNSWindow.h" -#import "SkDebuggerViews.h" -@interface SkDebugger : SkNSWindow { - IBOutlet SkNSView* fCommandView; - IBOutlet SkNSView* fContentView; - IBOutlet SkNSView* fInfoView; - - SkCommandListView* fCommand; - SkContentView* fContent; - SkInfoPanelView* fInfo; -} - -- (void)loadFile:(NSString *)filename; -@end - diff --git a/experimental/CocoaDebugger/SkDebugger.mm b/experimental/CocoaDebugger/SkDebugger.mm deleted file mode 100644 index a969583c2a..0000000000 --- a/experimental/CocoaDebugger/SkDebugger.mm +++ /dev/null @@ -1,156 +0,0 @@ -#import "SkDebugger.h" -@implementation SkDebugger --(void) installSkViews { - - float width = [self frame].size.width; - float height = [self frame].size.height; - float commandListW = 200; - float infoPanelH = 150.0; - fCommand = new SkCommandListView; - fCommand->setSize(commandListW, height); - fCommand->setVisibleP(true); - - fInfo = new SkInfoPanelView; - fInfo->setSize(width - commandListW, infoPanelH); - fInfo->setVisibleP(true); - - fContent = new SkContentView(fCommand->getSinkID(), - fInfo->getSinkID()); - fContent->setSize(width - commandListW, height - infoPanelH); - fContent->setVisibleP(true); - - [fInfoView addSkView:fInfo]; - [fCommandView addSkView:fCommand]; - [fContentView addSkView:fContent]; - - fInfo->unref(); - fCommand->unref(); - fContent->unref(); -} - -- (void)loadFile:(NSString *)filename { - fCommand->reinit(); - fContent->reinit([filename UTF8String]); -} - -- (void)keyDown:(NSEvent *)event { - // arrow keys have this mask - if ([event modifierFlags] & NSNumericPadKeyMask) { - NSString *theArrow = [event charactersIgnoringModifiers]; - if ( [theArrow length] == 0 ) - return; // reject dead keys - if ( [theArrow length] == 1 ) { - switch ([theArrow characterAtIndex:0]) { - case NSLeftArrowFunctionKey: - fContent->goToAtom(fCommand->prevItem()); - break; - case NSRightArrowFunctionKey: - fContent->goToAtom(fCommand->nextItem()); - break; - case NSUpArrowFunctionKey: - fContent->goToAtom(fCommand->scrollUp()); - break; - case NSDownArrowFunctionKey: - fContent->goToAtom(fCommand->scrollDown()); - break; - default: - [super keyDown:event]; - } - return; - } - } - else {//normal keys - switch ([[event characters] characterAtIndex:0]) { - case 'c': - fContent->toggleClip(); - break; - case 'e': - fCommand->toggleCentered(); - break; - default: - [super keyDown:event]; - } - return; - } - - [super keyDown:event]; -} - -- (void)mouseDown:(NSEvent *)event { - if ([event clickCount] > 1) { - [fContentView resetTransformations]; - [fContentView setNeedsDisplay:YES]; - } - else { - NSPoint p = [event locationInWindow]; - NSRect commandRect = [fCommandView convertRectToBase:[fCommandView bounds]]; - if ([fCommandView mouse:p inRect:commandRect]) { - NSPoint mouseLocInView = [fCommandView convertPoint:p fromView:nil]; - fContent->goToAtom(fCommand->selectHighlight(mouseLocInView.y)); - } - } - [super mouseDown:event]; -} - -- (void)mouseDragged:(NSEvent *)event { - NSPoint p = [event locationInWindow]; - NSRect contentRect = [fContentView convertRectToBase:[fContentView bounds]]; - NSRect commandRect = [fCommandView convertRectToBase:[fCommandView bounds]]; - if ([fContentView mouse:p inRect:contentRect]) { - fContentView.fOffset = NSMakePoint(fContentView.fOffset.x + [event deltaX], - fContentView.fOffset.y + [event deltaY]); - fContentView.fCenter = NSMakePoint(fContentView.fCenter.x - [event deltaX], - fContentView.fCenter.y - [event deltaY]); - [fContentView setNeedsDisplay:YES]; - } - [super mouseDragged:event]; -} - -- (void)magnifyWithEvent:(NSEvent *)event { - if ([fContentView mouse:[event locationInWindow] - inRect:[fContentView convertRectToBase:[fContentView bounds]]]) { -// fContentView.fCenter = [fContentView convertPoint:[event locationInWindow] -// fromView:nil]; - fContentView.fScale = fContentView.fScale * ([event magnification] + 1.0); - [fContentView setNeedsDisplay:YES]; - } - [super magnifyWithEvent:event]; -} - -- (void)rotateWithEvent:(NSEvent *)event { - if ([fContentView mouse:[event locationInWindow] - inRect:[fContentView convertRectToBase:[fContentView bounds]]]) { -// fContentView.fCenter = [fContentView convertPoint:[event locationInWindow] -// fromView:nil]; - fContentView.fRotation = fContentView.fRotation - [event rotation]; - [fContentView setNeedsDisplay:YES]; - } - [super rotateWithEvent:event]; -} - -- (void)scrollWheel:(NSEvent *)event { - NSPoint p = [event locationInWindow]; - NSRect contentRect = [fContentView convertRectToBase:[fContentView bounds]]; - NSRect commandRect = [fCommandView convertRectToBase:[fCommandView bounds]]; - if ([fContentView mouse:p inRect:contentRect]) { -// fContentView.fCenter = [fContentView convertPoint:[event locationInWindow] -// fromView:nil]; - if ([event deltaY] > 0) { - fContentView.fScale = fContentView.fScale * (1.05); - } - if ([event deltaY] < 0) { - fContentView.fScale = fContentView.fScale * (0.95); - } - [fContentView setNeedsDisplay:YES]; - } - if ([fCommandView mouse:p inRect:commandRect]) { - if ([event deltaY] > 0) { - fContent->goToAtom(fCommand->scrollUp()); - } - if ([event deltaY] < 0) { - fContent->goToAtom(fCommand->scrollDown()); - } - } - [super scrollWheel:event]; -} -@end
\ No newline at end of file diff --git a/experimental/CocoaDebugger/SkDumpCanvasM.cpp b/experimental/CocoaDebugger/SkDumpCanvasM.cpp deleted file mode 100644 index 80d2422ce9..0000000000 --- a/experimental/CocoaDebugger/SkDumpCanvasM.cpp +++ /dev/null @@ -1,385 +0,0 @@ - -/* - * Copyright 2011 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ -#include "SkDumpCanvasM.h" -#include "SkPicture.h" -#include "SkPixelRef.h" -#include "SkString.h" -#include <stdarg.h> - -// needed just to know that these are all subclassed from SkFlattenable -#include "SkShader.h" -#include "SkPathEffect.h" -#include "SkXfermode.h" -#include "SkColorFilter.h" -#include "SkPathEffect.h" -#include "SkMaskFilter.h" -#include "SkEvent.h" -static void toString(const SkRect& r, SkString* str) { - str->printf("[%g,%g %g:%g]", - SkScalarToFloat(r.fLeft), SkScalarToFloat(r.fTop), - SkScalarToFloat(r.width()), SkScalarToFloat(r.height())); -} - -static void toString(const SkIRect& r, SkString* str) { - str->printf("[%d,%d %d:%d]", r.fLeft, r.fTop, r.width(), r.height()); -} - -static void dumpVerbs(const SkPath& path, SkString* str) { - SkPath::Iter iter(path, false); - SkPoint pts[4]; - for (;;) { - switch (iter.next(pts)) { - case SkPath::kMove_Verb: - str->appendf(" M%g,%g", pts[0].fX, pts[0].fY); - break; - case SkPath::kLine_Verb: - str->appendf(" L%g,%g", pts[0].fX, pts[0].fY); - break; - case SkPath::kQuad_Verb: - str->appendf(" Q%g,%g,%g,%g", pts[1].fX, pts[1].fY, - pts[2].fX, pts[2].fY); - break; - case SkPath::kCubic_Verb: - str->appendf(" C%g,%g,%g,%g,%g,%g", pts[1].fX, pts[1].fY, - pts[2].fX, pts[2].fY, pts[3].fX, pts[3].fY); - break; - case SkPath::kClose_Verb: - str->appendf("X"); - break; - case SkPath::kDone_Verb: - return; - } - } -} - -static void toString(const SkPath& path, SkString* str) { - if (path.isEmpty()) { - str->set("path:empty"); - } else { - toString(path.getBounds(), str); -#if 1 - SkString s; - dumpVerbs(path, &s); - str->append(s.c_str()); -#endif - str->append("]"); - str->prepend("path:["); - } -} - -static const char* toString(SkRegion::Op op) { - static const char* gOpNames[] = { - "DIFF", "SECT", "UNION", "XOR", "RDIFF", "REPLACE" - }; - return gOpNames[op]; -} - -static void toString(const SkRegion& rgn, SkString* str) { - toString(rgn.getBounds(), str); - str->prepend("Region:["); - str->append("]"); - if (rgn.isComplex()) { - str->append(".complex"); - } -} - -static const char* toString(SkCanvas::VertexMode vm) { - static const char* gVMNames[] = { - "TRIANGLES", "STRIP", "FAN" - }; - return gVMNames[vm]; -} - -static const char* toString(SkCanvas::PointMode pm) { - static const char* gPMNames[] = { - "POINTS", "LINES", "POLYGON" - }; - return gPMNames[pm]; -} - -static const char* toString(SkBitmap::Config config) { - static const char* gConfigNames[] = { - "NONE", "A1", "A8", "INDEX8", "565", "4444", "8888", "RLE" - }; - return gConfigNames[config]; -} - -static void toString(const SkBitmap& bm, SkString* str) { - str->printf("bitmap:[%d %d] %s", bm.width(), bm.height(), - toString(bm.config())); - - SkPixelRef* pr = bm.pixelRef(); - if (NULL == pr) { - // show null or the explicit pixel address (rare) - str->appendf(" pixels:%p", bm.getPixels()); - } else { - const char* uri = pr->getURI(); - if (uri) { - str->appendf(" uri:\"%s\"", uri); - } else { - str->appendf(" pixelref:%p", pr); - } - } -} - -static void toString(const void* text, size_t len, SkPaint::TextEncoding enc, - SkString* str) { - switch (enc) { - case SkPaint::kUTF8_TextEncoding: - str->printf("\"%.*s\"%s", SkMax32(len, 32), text, - len > 32 ? "..." : ""); - break; - case SkPaint::kUTF16_TextEncoding: - str->printf("\"%.*S\"%s", SkMax32(len, 32), text, - len > 64 ? "..." : ""); - break; - case SkPaint::kGlyphID_TextEncoding: - str->set("<glyphs>"); - break; - } -} - -/////////////////////////////////////////////////////////////////////////////// - -SkDumpCanvasM::SkDumpCanvasM(Dumper* dumper) : fNestLevel(0) { - SkSafeRef(dumper); - fDumper = dumper; - - static const int WIDE_OPEN = 16384; - SkBitmap emptyBitmap; - - emptyBitmap.setConfig(SkBitmap::kNo_Config, WIDE_OPEN, WIDE_OPEN); - this->setBitmapDevice(emptyBitmap); -} - -SkDumpCanvasM::~SkDumpCanvasM() { - SkSafeUnref(fDumper); -} - -void SkDumpCanvasM::dump(Verb verb, const SkPaint* paint, - const char format[], ...) { - static const size_t BUFFER_SIZE = 1024; - - char buffer[BUFFER_SIZE]; - va_list args; - va_start(args, format); - vsnprintf(buffer, BUFFER_SIZE, format, args); - va_end(args); - - if (fDumper) { - fDumper->dump(this, verb, buffer, paint); - } -} - -/////////////////////////////////////////////////////////////////////////////// - -int SkDumpCanvasM::save(SaveFlags flags) { - this->dump(kSave_Verb, NULL, "save(0x%X)", flags); - return this->INHERITED::save(flags); -} - -int SkDumpCanvasM::saveLayer(const SkRect* bounds, const SkPaint* paint, - SaveFlags flags) { - this->dump(kSave_Verb, paint, "saveLayer(0x%X)", flags); - return this->INHERITED::saveLayer(bounds, paint, flags); -} - -void SkDumpCanvasM::restore() { - this->INHERITED::restore(); - this->dump(kRestore_Verb, NULL, "restore"); -} - -bool SkDumpCanvasM::translate(SkScalar dx, SkScalar dy) { - this->dump(kMatrix_Verb, NULL, "translate(%g %g)", - SkScalarToFloat(dx), SkScalarToFloat(dy)); - return this->INHERITED::translate(dx, dy); -} - -bool SkDumpCanvasM::scale(SkScalar sx, SkScalar sy) { - this->dump(kMatrix_Verb, NULL, "scale(%g %g)", - SkScalarToFloat(sx), SkScalarToFloat(sy)); - return this->INHERITED::scale(sx, sy); -} - -bool SkDumpCanvasM::rotate(SkScalar degrees) { - this->dump(kMatrix_Verb, NULL, "rotate(%g)", SkScalarToFloat(degrees)); - return this->INHERITED::rotate(degrees); -} - -bool SkDumpCanvasM::skew(SkScalar sx, SkScalar sy) { - this->dump(kMatrix_Verb, NULL, "skew(%g %g)", - SkScalarToFloat(sx), SkScalarToFloat(sy)); - return this->INHERITED::skew(sx, sy); -} - -bool SkDumpCanvasM::concat(const SkMatrix& matrix) { - SkString str; - matrix.toDumpString(&str); - this->dump(kMatrix_Verb, NULL, "concat(%s)", str.c_str()); - return this->INHERITED::concat(matrix); -} - -void SkDumpCanvasM::setMatrix(const SkMatrix& matrix) { - SkString str; - matrix.toDumpString(&str); - this->dump(kMatrix_Verb, NULL, "setMatrix(%s)", str.c_str()); - this->INHERITED::setMatrix(matrix); -} - -/////////////////////////////////////////////////////////////////////////////// - -bool SkDumpCanvasM::clipRect(const SkRect& rect, SkRegion::Op op) { - SkString str; - toString(rect, &str); - this->dump(kClip_Verb, NULL, "clipRect(%s %s)", str.c_str(), toString(op)); - return this->INHERITED::clipRect(rect, op); -} - -bool SkDumpCanvasM::clipPath(const SkPath& path, SkRegion::Op op) { - SkString str; - toString(path, &str); - this->dump(kClip_Verb, NULL, "clipPath(%s %s)", str.c_str(), toString(op)); - return this->INHERITED::clipPath(path, op); -} - -bool SkDumpCanvasM::clipRegion(const SkRegion& deviceRgn, SkRegion::Op op) { - SkString str; - toString(deviceRgn, &str); - this->dump(kClip_Verb, NULL, "clipRegion(%s %s)", str.c_str(), - toString(op)); - return this->INHERITED::clipRegion(deviceRgn, op); -} - -/////////////////////////////////////////////////////////////////////////////// - -void SkDumpCanvasM::drawPaint(const SkPaint& paint) { - this->dump(kDrawPaint_Verb, &paint, "drawPaint()"); -} - -void SkDumpCanvasM::drawPoints(PointMode mode, size_t count, - const SkPoint pts[], const SkPaint& paint) { - this->dump(kDrawPoints_Verb, &paint, "drawPoints(%s, %d)", toString(mode), - count); -} - -void SkDumpCanvasM::drawRect(const SkRect& rect, const SkPaint& paint) { - SkString str; - toString(rect, &str); - this->dump(kDrawRect_Verb, &paint, "drawRect(%s)", str.c_str()); -} - -void SkDumpCanvasM::drawPath(const SkPath& path, const SkPaint& paint) { - SkString str; - toString(path, &str); - this->dump(kDrawPath_Verb, &paint, "drawPath(%s)", str.c_str()); -} - -void SkDumpCanvasM::drawBitmap(const SkBitmap& bitmap, SkScalar x, SkScalar y, - const SkPaint* paint) { - SkString str; - toString(bitmap, &str); - this->dump(kDrawBitmap_Verb, paint, "drawBitmap(%s %g %g)", str.c_str(), - SkScalarToFloat(x), SkScalarToFloat(y)); -} - -void SkDumpCanvasM::drawBitmapRect(const SkBitmap& bitmap, const SkIRect* src, - const SkRect& dst, const SkPaint* paint) { - SkString bs, rs; - toString(bitmap, &bs); - toString(dst, &rs); - // show the src-rect only if its not everything - if (src && (src->fLeft > 0 || src->fTop > 0 || - src->fRight < bitmap.width() || - src->fBottom < bitmap.height())) { - SkString ss; - toString(*src, &ss); - rs.prependf("%s ", ss.c_str()); - } - - this->dump(kDrawBitmap_Verb, paint, "drawBitmapRect(%s %s)", - bs.c_str(), rs.c_str()); -} - -void SkDumpCanvasM::drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m, - const SkPaint* paint) { - SkString bs, ms; - toString(bitmap, &bs); - m.toDumpString(&ms); - this->dump(kDrawBitmap_Verb, paint, "drawBitmapMatrix(%s %s)", - bs.c_str(), ms.c_str()); -} - -void SkDumpCanvasM::drawSprite(const SkBitmap& bitmap, int x, int y, - const SkPaint* paint) { - SkString str; - toString(bitmap, &str); - this->dump(kDrawBitmap_Verb, paint, "drawSprite(%s %d %d)", str.c_str(), - x, y); -} - -void SkDumpCanvasM::drawText(const void* text, size_t byteLength, SkScalar x, - SkScalar y, const SkPaint& paint) { - SkString str; - toString(text, byteLength, paint.getTextEncoding(), &str); - this->dump(kDrawText_Verb, &paint, "drawText(%s [%d] %g %g)", str.c_str(), - byteLength, SkScalarToFloat(x), SkScalarToFloat(y)); -} - -void SkDumpCanvasM::drawPosText(const void* text, size_t byteLength, - const SkPoint pos[], const SkPaint& paint) { - SkString str; - toString(text, byteLength, paint.getTextEncoding(), &str); - this->dump(kDrawText_Verb, &paint, "drawPosText(%s [%d] %g %g ...)", - str.c_str(), byteLength, SkScalarToFloat(pos[0].fX), - SkScalarToFloat(pos[0].fY)); -} - -void SkDumpCanvasM::drawPosTextH(const void* text, size_t byteLength, - const SkScalar xpos[], SkScalar constY, - const SkPaint& paint) { - SkString str; - toString(text, byteLength, paint.getTextEncoding(), &str); - this->dump(kDrawText_Verb, &paint, "drawPosTextH(%s [%d] %g %g ...)", - str.c_str(), byteLength, SkScalarToFloat(xpos[0]), - SkScalarToFloat(constY)); -} - -void SkDumpCanvasM::drawTextOnPath(const void* text, size_t byteLength, - const SkPath& path, const SkMatrix* matrix, - const SkPaint& paint) { - SkString str; - toString(text, byteLength, paint.getTextEncoding(), &str); - this->dump(kDrawText_Verb, &paint, "drawTextOnPath(%s [%d])", - str.c_str(), byteLength); -} - -void SkDumpCanvasM::drawPicture(SkPicture& picture) { - this->dump(kDrawPicture_Verb, NULL, "drawPicture(%p) %d:%d", &picture, - picture.width(), picture.height()); - fNestLevel += 1; - this->INHERITED::drawPicture(picture); - fNestLevel -= 1; - this->dump(kDrawPicture_Verb, NULL, "endPicture(%p) %d:%d", &picture, - picture.width(), picture.height()); -} - -void SkDumpCanvasM::drawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkXfermode* xmode, - const uint16_t indices[], int indexCount, - const SkPaint& paint) { - this->dump(kDrawVertices_Verb, &paint, "drawVertices(%s [%d] %g %g ...)", - toString(vmode), vertexCount, SkScalarToFloat(vertices[0].fX), - SkScalarToFloat(vertices[0].fY)); -} - -void SkDumpCanvasM::drawData(const void* data, size_t length) { -// this->dump(kDrawData_Verb, NULL, "drawData(%d)", length); - this->dump(kDrawData_Verb, NULL, "drawData(%d) %.*s", length, - SkMin32(length, 64), data); -}
\ No newline at end of file diff --git a/experimental/CocoaDebugger/SkDumpCanvasM.h b/experimental/CocoaDebugger/SkDumpCanvasM.h deleted file mode 100644 index be83d6c217..0000000000 --- a/experimental/CocoaDebugger/SkDumpCanvasM.h +++ /dev/null @@ -1,122 +0,0 @@ - -/* - * Copyright 2011 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ -#ifndef SkDumpCanvasM_DEFINED -#define SkDumpCanvasM_DEFINED - -#include "SkCanvas.h" - -/** This class overrides all the draw methods on SkCanvas, and formats them - as text, and then sends that to a Dumper helper object. - - Typical use might be to dump a display list to a log file to see what is - being drawn. - */ -class SkDumpCanvasM : public SkCanvas { -public: - class Dumper; - - explicit SkDumpCanvasM(Dumper* = 0); - virtual ~SkDumpCanvasM(); - - enum Verb { - kNULL_Verb, - - kSave_Verb, - kRestore_Verb, - - kMatrix_Verb, - - kClip_Verb, - - kDrawPaint_Verb, - kDrawPoints_Verb, - kDrawRect_Verb, - kDrawPath_Verb, - kDrawBitmap_Verb, - kDrawText_Verb, - kDrawPicture_Verb, - kDrawVertices_Verb, - kDrawData_Verb - }; - - /** Subclasses of this are installed on the DumpCanvas, and then called for - each drawing command. - */ - class Dumper : public SkRefCnt { - public: - virtual void dump(SkDumpCanvasM*, SkDumpCanvasM::Verb, const char str[], - const SkPaint*) = 0; - }; - - Dumper* getDumper() const { return fDumper; } - void setDumper(Dumper*); - - int getNestLevel() const { return fNestLevel; } - - // overrides from SkCanvas - - virtual int save(SaveFlags flags = kMatrixClip_SaveFlag); - virtual int saveLayer(const SkRect* bounds, const SkPaint* paint, - SaveFlags flags = kARGB_ClipLayer_SaveFlag); - virtual void restore(); - - virtual bool translate(SkScalar dx, SkScalar dy); - virtual bool scale(SkScalar sx, SkScalar sy); - virtual bool rotate(SkScalar degrees); - virtual bool skew(SkScalar sx, SkScalar sy); - virtual bool concat(const SkMatrix& matrix); - virtual void setMatrix(const SkMatrix& matrix); - - virtual bool clipRect(const SkRect& rect, - SkRegion::Op op = SkRegion::kIntersect_Op); - virtual bool clipPath(const SkPath& path, - SkRegion::Op op = SkRegion::kIntersect_Op); - virtual bool clipRegion(const SkRegion& deviceRgn, - SkRegion::Op op = SkRegion::kIntersect_Op); - - virtual void drawPaint(const SkPaint& paint); - virtual void drawPoints(PointMode mode, size_t count, const SkPoint pts[], - const SkPaint& paint); - virtual void drawRect(const SkRect& rect, const SkPaint& paint); - virtual void drawPath(const SkPath& path, const SkPaint& paint); - virtual void drawBitmap(const SkBitmap& bitmap, SkScalar left, SkScalar top, - const SkPaint* paint = NULL); - virtual void drawBitmapRect(const SkBitmap& bitmap, const SkIRect* src, - const SkRect& dst, const SkPaint* paint = NULL); - virtual void drawBitmapMatrix(const SkBitmap& bitmap, const SkMatrix& m, - const SkPaint* paint = NULL); - virtual void drawSprite(const SkBitmap& bitmap, int left, int top, - const SkPaint* paint = NULL); - virtual void drawText(const void* text, size_t byteLength, SkScalar x, - SkScalar y, const SkPaint& paint); - virtual void drawPosText(const void* text, size_t byteLength, - const SkPoint pos[], const SkPaint& paint); - virtual void drawPosTextH(const void* text, size_t byteLength, - const SkScalar xpos[], SkScalar constY, - const SkPaint& paint); - virtual void drawTextOnPath(const void* text, size_t byteLength, - const SkPath& path, const SkMatrix* matrix, - const SkPaint& paint); - virtual void drawPicture(SkPicture&); - virtual void drawVertices(VertexMode vmode, int vertexCount, - const SkPoint vertices[], const SkPoint texs[], - const SkColor colors[], SkXfermode* xmode, - const uint16_t indices[], int indexCount, - const SkPaint& paint); - virtual void drawData(const void*, size_t); - -private: - Dumper* fDumper; - int fNestLevel; // for nesting recursive elements like pictures - - void dump(Verb, const SkPaint*, const char format[], ...); - - typedef SkCanvas INHERITED; -}; - -#endif diff --git a/experimental/CocoaDebugger/SkMenuController.h b/experimental/CocoaDebugger/SkMenuController.h deleted file mode 100644 index e8a7e8b85f..0000000000 --- a/experimental/CocoaDebugger/SkMenuController.h +++ /dev/null @@ -1,14 +0,0 @@ - -/* - * Copyright 2011 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ -#import <Cocoa/Cocoa.h> -#import "SkDebugger.h" -@interface SkMenuController : NSObject { - IBOutlet SkDebugger *fWindow; -} --(IBAction) openFile:(id) sender; -@end diff --git a/experimental/CocoaDebugger/SkMenuController.mm b/experimental/CocoaDebugger/SkMenuController.mm deleted file mode 100644 index 4a9f4f7ae2..0000000000 --- a/experimental/CocoaDebugger/SkMenuController.mm +++ /dev/null @@ -1,16 +0,0 @@ -#import "SkMenuController.h" - -@implementation SkMenuController --(IBAction) openFile:(id) sender { - NSOpenPanel* panel = [NSOpenPanel openPanel]; - NSInteger response = [panel runModal]; - - [panel setFloatingPanel:YES]; - [panel setCanChooseDirectories:NO]; - [panel setCanChooseFiles:YES]; - - if(response == NSOKButton){ - [fWindow loadFile:[panel filename]]; - } -} -@end diff --git a/experimental/CocoaDebugger/TestData/test1.data b/experimental/CocoaDebugger/TestData/test1.data Binary files differdeleted file mode 100644 index 07ae8ea82d..0000000000 --- a/experimental/CocoaDebugger/TestData/test1.data +++ /dev/null diff --git a/experimental/CocoaDebugger/TestData/test2.data b/experimental/CocoaDebugger/TestData/test2.data Binary files differdeleted file mode 100644 index 9cf95f6e04..0000000000 --- a/experimental/CocoaDebugger/TestData/test2.data +++ /dev/null diff --git a/experimental/CocoaDebugger/main.m b/experimental/CocoaDebugger/main.m deleted file mode 100644 index cd85c6d018..0000000000 --- a/experimental/CocoaDebugger/main.m +++ /dev/null @@ -1,16 +0,0 @@ -// -// main.m -// CocoaSampleApp -// -// Created by Yang Su on 6/14/11. -// Copyright 2011 Google Inc. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// - -#import <Cocoa/Cocoa.h> - -int main(int argc, char *argv[]) -{ - return NSApplicationMain(argc, (const char **) argv); -} diff --git a/experimental/CocoaSampleApp/SampleApp.xib b/experimental/CocoaSampleApp/SampleApp.xib index 074d52bbe7..e0c5f2b2b6 100644 --- a/experimental/CocoaSampleApp/SampleApp.xib +++ b/experimental/CocoaSampleApp/SampleApp.xib @@ -11,9 +11,9 @@ <string key="NS.object.0">851</string> </object> <array class="NSMutableArray" key="IBDocument.EditedObjectIDs"> - <integer value="296"/> - <integer value="372"/> + <integer value="24"/> <integer value="634"/> + <integer value="372"/> </array> <array key="IBDocument.PluginDependencies"> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -952,24 +952,6 @@ <object class="NSMenu" key="NSSubmenu" id="466310130"> <string key="NSTitle">View</string> <array class="NSMutableArray" key="NSMenuItems"> - <object class="NSMenuItem" id="962976284"> - <reference key="NSMenu" ref="466310130"/> - <string key="NSTitle">Increase Increase Size</string> - <string key="NSKeyEquiv">=</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> - <object class="NSMenuItem" id="368680108"> - <reference key="NSMenu" ref="466310130"/> - <string key="NSTitle">Decrease Window Size</string> - <string key="NSKeyEquiv">-</string> - <int key="NSKeyEquivModMask">1048576</int> - <int key="NSMnemonicLoc">2147483647</int> - <reference key="NSOnImage" ref="35465992"/> - <reference key="NSMixedImage" ref="502551668"/> - </object> <object class="NSMenuItem" id="87708234"> <reference key="NSMenu" ref="466310130"/> <string key="NSTitle">Show Menu Key Equivalents</string> @@ -1507,6 +1489,15 @@ <reference key="NSOnImage" ref="35465992"/> <reference key="NSMixedImage" ref="502551668"/> </object> + <object class="NSMenuItem" id="92029792"> + <reference key="NSMenu" ref="835318025"/> + <string key="NSTitle">768 x 1024</string> + <string key="NSKeyEquiv">=</string> + <int key="NSKeyEquivModMask">1048576</int> + <int key="NSMnemonicLoc">2147483647</int> + <reference key="NSOnImage" ref="35465992"/> + <reference key="NSMixedImage" ref="502551668"/> + </object> <object class="NSMenuItem" id="299356726"> <reference key="NSMenu" ref="835318025"/> <bool key="NSIsDisabled">YES</bool> @@ -2294,27 +2285,19 @@ </object> <object class="IBConnectionRecord"> <object class="IBActionConnection" key="connection"> - <string key="label">increaseWindowSize:</string> - <reference key="source" ref="976324537"/> - <reference key="destination" ref="962976284"/> + <string key="label">toggleKeyEquivalents:</string> + <reference key="source" ref="429436769"/> + <reference key="destination" ref="87708234"/> </object> - <int key="connectionID">711</int> + <int key="connectionID">719</int> </object> <object class="IBConnectionRecord"> <object class="IBActionConnection" key="connection"> - <string key="label">decreaseWindowSize:</string> + <string key="label">toiPadSize:</string> <reference key="source" ref="976324537"/> - <reference key="destination" ref="368680108"/> + <reference key="destination" ref="92029792"/> </object> - <int key="connectionID">712</int> - </object> - <object class="IBConnectionRecord"> - <object class="IBActionConnection" key="connection"> - <string key="label">toggleKeyEquivalents:</string> - <reference key="source" ref="429436769"/> - <reference key="destination" ref="87708234"/> - </object> - <int key="connectionID">719</int> + <int key="connectionID">721</int> </object> </array> <object class="IBMutableOrderedSet" key="objectRecords"> @@ -2717,6 +2700,7 @@ <reference ref="625202149"/> <reference ref="575023229"/> <reference ref="1011231497"/> + <reference ref="92029792"/> </array> <reference key="parent" ref="713487014"/> </object> @@ -2754,8 +2738,6 @@ <array class="NSMutableArray" key="children"> <reference ref="102151532"/> <reference ref="237841660"/> - <reference ref="962976284"/> - <reference ref="368680108"/> <reference ref="87708234"/> </array> <reference key="parent" ref="586577488"/> @@ -3406,20 +3388,15 @@ <reference key="parent" ref="110575045"/> </object> <object class="IBObjectRecord"> - <int key="objectID">708</int> - <reference key="object" ref="962976284"/> - <reference key="parent" ref="466310130"/> - </object> - <object class="IBObjectRecord"> - <int key="objectID">710</int> - <reference key="object" ref="368680108"/> - <reference key="parent" ref="466310130"/> - </object> - <object class="IBObjectRecord"> <int key="objectID">718</int> <reference key="object" ref="87708234"/> <reference key="parent" ref="466310130"/> </object> + <object class="IBObjectRecord"> + <int key="objectID">720</int> + <reference key="object" ref="92029792"/> + <reference key="parent" ref="835318025"/> + </object> </array> </object> <dictionary class="NSMutableDictionary" key="flattenedProperties"> @@ -3523,7 +3500,7 @@ <integer value="1" key="236.ImportedFromIB2"/> <string key="239.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1" key="239.ImportedFromIB2"/> - <string key="24.IBEditorWindowLastContentRect">{{707, 426}, {194, 73}}</string> + <string key="24.IBEditorWindowLastContentRect">{{707, 406}, {194, 93}}</string> <string key="24.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1" key="24.ImportedFromIB2"/> <string key="24.editorWindowContentRectSynchronizationRect">{{525, 802}, {197, 73}}</string> @@ -3533,7 +3510,7 @@ <string key="29.WindowOrigin">{74, 862}</string> <string key="29.editorWindowContentRectSynchronizationRect">{{6, 978}, {478, 20}}</string> <string key="295.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="296.IBEditorWindowLastContentRect">{{591, 396}, {279, 103}}</string> + <string key="296.IBEditorWindowLastContentRect">{{591, 436}, {276, 63}}</string> <string key="296.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="296.editorWindowContentRectSynchronizationRect">{{475, 832}, {234, 43}}</string> <string key="297.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -3552,9 +3529,9 @@ <integer value="1" key="351.ImportedFromIB2"/> <string key="354.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1" key="354.ImportedFromIB2"/> - <string key="371.IBEditorWindowLastContentRect">{{199, 4}, {640, 480}}</string> + <string key="371.IBEditorWindowLastContentRect">{{254, 23}, {640, 480}}</string> <string key="371.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="371.IBWindowTemplateEditedContentRect">{{199, 4}, {640, 480}}</string> + <string key="371.IBWindowTemplateEditedContentRect">{{254, 23}, {640, 480}}</string> <integer value="1" key="371.NSWindowTemplate.visibleAtLaunch"/> <string key="371.editorWindowContentRectSynchronizationRect">{{33, 99}, {480, 360}}</string> <string key="371.windowTemplate.maxSize">{3.40282e+38, 3.40282e+38}</string> @@ -3642,7 +3619,7 @@ <string key="515.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="516.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="517.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="538.IBEditorWindowLastContentRect">{{136, 946}, {341, 321}}</string> + <string key="538.IBEditorWindowLastContentRect">{{136, 685}, {341, 321}}</string> <string key="538.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="539.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="56.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -3670,11 +3647,10 @@ <string key="698.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="705.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="706.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="708.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> - <string key="710.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="718.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="72.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1" key="72.ImportedFromIB2"/> + <string key="720.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <string key="73.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> <integer value="1" key="73.ImportedFromIB2"/> <string key="74.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string> @@ -3704,27 +3680,24 @@ <nil key="activeLocalization"/> <dictionary class="NSMutableDictionary" key="localizations"/> <nil key="sourceID"/> - <int key="maxID">719</int> + <int key="maxID">721</int> </object> <object class="IBClassDescriber" key="IBDocument.Classes"> <array class="NSMutableArray" key="referencedPartialClassDescriptions"> <object class="IBPartialClassDescription"> <string key="className">SampleAppDelegate</string> <string key="superclassName">NSObject</string> - <dictionary class="NSMutableDictionary" key="actions"> - <string key="decreaseWindowSize:">id</string> - <string key="increaseWindowSize:">id</string> - </dictionary> - <dictionary class="NSMutableDictionary" key="actionInfosByName"> - <object class="IBActionInfo" key="decreaseWindowSize:"> - <string key="name">decreaseWindowSize:</string> - <string key="candidateClassName">id</string> - </object> - <object class="IBActionInfo" key="increaseWindowSize:"> - <string key="name">increaseWindowSize:</string> + <object class="NSMutableDictionary" key="actions"> + <string key="NS.key.0">toiPadSize:</string> + <string key="NS.object.0">id</string> + </object> + <object class="NSMutableDictionary" key="actionInfosByName"> + <string key="NS.key.0">toiPadSize:</string> + <object class="IBActionInfo" key="NS.object.0"> + <string key="name">toiPadSize:</string> <string key="candidateClassName">id</string> </object> - </dictionary> + </object> <dictionary class="NSMutableDictionary" key="outlets"> <string key="fOptions">SkOptionsTableView</string> <string key="fView">SkNSView</string> diff --git a/experimental/CocoaSampleApp/SampleAppDelegate.h b/experimental/CocoaSampleApp/SampleAppDelegate.h index ee2cacb58d..e4892d65b9 100644 --- a/experimental/CocoaSampleApp/SampleAppDelegate.h +++ b/experimental/CocoaSampleApp/SampleAppDelegate.h @@ -11,6 +11,5 @@ @property (assign) IBOutlet SkNSView* fView; @property (assign) IBOutlet SkOptionsTableView* fOptions; -- (IBAction)decreaseWindowSize:(id)sender; -- (IBAction)increaseWindowSize:(id)sender; +- (IBAction)toiPadSize:(id)sender; @end diff --git a/experimental/CocoaSampleApp/SampleAppDelegate.mm b/experimental/CocoaSampleApp/SampleAppDelegate.mm index 2a216ab713..c54a8a30cf 100644 --- a/experimental/CocoaSampleApp/SampleAppDelegate.mm +++ b/experimental/CocoaSampleApp/SampleAppDelegate.mm @@ -8,24 +8,8 @@ [fOptions registerMenus:fView.fWind->getMenus()]; } -static float deltaw = 120; -static float deltah = 80; - -- (IBAction)decreaseWindowSize:(id)sender { - NSRect frame = [fWindow frame]; - frame.origin.y += deltah; - frame.size.width -=deltaw; - frame.size.height -= deltah; - - [fWindow setFrame:frame display:YES animate:YES]; -} - -- (IBAction)increaseWindowSize:(id)sender { - NSRect frame = [fWindow frame]; - frame.origin.y -= deltah; - frame.size.width += deltaw; - frame.size.height += deltah; - +- (IBAction)toiPadSize:(id)sender { + NSRect frame = NSMakeRect(fWindow.frame.origin.x, fWindow.frame.origin.y, 768, 1024); [fWindow setFrame:frame display:YES animate:YES]; } @end diff --git a/experimental/CocoaSampleApp/SkNSView.mm b/experimental/CocoaSampleApp/SkNSView.mm index 4ce3d3d435..aa8768adb5 100644 --- a/experimental/CocoaSampleApp/SkNSView.mm +++ b/experimental/CocoaSampleApp/SkNSView.mm @@ -204,10 +204,7 @@ static SkKey raw2key(UInt32 raw) CGLContextObj createGLContext() { GLint major, minor; - CGLContextObj ctx; - CGLGetVersion(&major, &minor); - SkDebugf("---- cgl version %d %d\n", major, minor); const CGLPixelFormatAttribute attributes[] = { kCGLPFAStencilSize, (CGLPixelFormatAttribute)8, @@ -224,11 +221,9 @@ CGLContextObj createGLContext() { CGLPixelFormatObj format; GLint npix; CGLChoosePixelFormat(attributes, &format, &npix); - SkDebugf("----- cgl format %p\n", format); + CGLContextObj ctx; CGLCreateContext(format, NULL, &ctx); - - SkDebugf("----- cgl context %p\n", ctx); CGLDestroyPixelFormat(format); static const GLint interval = 1; diff --git a/experimental/CocoaSampleApp/SkOptionsTableView.mm b/experimental/CocoaSampleApp/SkOptionsTableView.mm index 2a0cd30387..d905f9b697 100644 --- a/experimental/CocoaSampleApp/SkOptionsTableView.mm +++ b/experimental/CocoaSampleApp/SkOptionsTableView.mm @@ -54,7 +54,7 @@ if (menuIndex >= 0 && menuIndex < fMenus->count()) { NSUInteger first = 0; for (NSInteger i = 0; i < menuIndex; ++i) { - first += (*fMenus)[i]->countItems(); + first += (*fMenus)[i]->getCount(); } [fItems removeObjectsInRange:NSMakeRange(first, [fItems count] - first)]; [self loadMenu:menu]; @@ -72,20 +72,22 @@ } - (void)loadMenu:(const SkOSMenu*)menu { - for (int i = 0; i < menu->countItems(); ++i) { - const SkOSMenu::Item* item = menu->getItem(i); + const SkOSMenu::Item* menuitems[menu->getCount()]; + menu->getItems(menuitems); + for (int i = 0; i < menu->getCount(); ++i) { + const SkOSMenu::Item* item = menuitems[i]; SkOptionItem* option = [[SkOptionItem alloc] init]; option.fItem = item; if (SkOSMenu::kList_Type == item->getType()) { int index = 0, count = 0; - SkOSMenu::FindListItemCount(item->getEvent(), &count); + SkOSMenu::FindListItemCount(*item->getEvent(), &count); NSMutableArray* optionstrs = [[NSMutableArray alloc] initWithCapacity:count]; SkString options[count]; - SkOSMenu::FindListItems(item->getEvent(), options); + SkOSMenu::FindListItems(*item->getEvent(), options); for (int i = 0; i < count; ++i) [optionstrs addObject:[NSString stringWithUTF8String:options[i].c_str()]]; - SkOSMenu::FindListIndex(item->getEvent(), item->getSlotName(), &index); + SkOSMenu::FindListIndex(*item->getEvent(), item->getSlotName(), &index); option.fCell = [self createList:optionstrs current:index]; [optionstrs release]; } @@ -99,23 +101,23 @@ break; case SkOSMenu::kSlider_Type: SkScalar min, max, value; - SkOSMenu::FindSliderValue(item->getEvent(), item->getSlotName(), &value); - SkOSMenu::FindSliderMin(item->getEvent(), &min); - SkOSMenu::FindSliderMax(item->getEvent(), &max); + SkOSMenu::FindSliderValue(*item->getEvent(), item->getSlotName(), &value); + SkOSMenu::FindSliderMin(*item->getEvent(), &min); + SkOSMenu::FindSliderMax(*item->getEvent(), &max); option.fCell = [self createSlider:value min:min max:max]; break; case SkOSMenu::kSwitch_Type: - SkOSMenu::FindSwitchState(item->getEvent(), item->getSlotName(), &state); + SkOSMenu::FindSwitchState(*item->getEvent(), item->getSlotName(), &state); option.fCell = [self createSwitch:(BOOL)state]; break; case SkOSMenu::kTriState_Type: - SkOSMenu::FindTriState(item->getEvent(), item->getSlotName(), &tristate); + SkOSMenu::FindTriState(*item->getEvent(), item->getSlotName(), &tristate); option.fCell = [self createTriState:[self triStateToNSState:tristate]]; break; case SkOSMenu::kTextField_Type: - SkOSMenu::FindText(item->getEvent(),item->getSlotName(), &str); + SkOSMenu::FindText(*item->getEvent(),item->getSlotName(), &str); option.fCell = [self createTextField:[NSString stringWithUTF8String:str.c_str()]]; break; default: @@ -202,29 +204,30 @@ break; case SkOSMenu::kList_Type: [(NSPopUpButtonCell*)cell selectItemAtIndex:[anObject intValue]]; - item->postEventWithInt([anObject intValue]); + item->setInt([anObject intValue]); break; case SkOSMenu::kSlider_Type: [cell setFloatValue:[anObject floatValue]]; - item->postEventWithScalar([anObject floatValue]); + item->setScalar([anObject floatValue]); break; case SkOSMenu::kSwitch_Type: [cell setState:[anObject boolValue]]; - item->postEventWithBool([anObject boolValue]); + item->setBool([anObject boolValue]); break; case SkOSMenu::kTextField_Type: if ([anObject length] > 0) { [cell setStringValue:anObject]; - item->postEventWithString([anObject UTF8String]); + item->setString([anObject UTF8String]); } break; case SkOSMenu::kTriState_Type: [cell setState:[anObject intValue]]; - item->postEventWithInt([anObject intValue]); + item->setTriState((SkOSMenu::TriState)[anObject intValue]); break; default: break; } + item->postEvent(); } } diff --git a/experimental/CocoaDebugger/SkCommandListView.cpp b/experimental/Debugger/DebuggerCommandsView.cpp index 209adcf05a..112c447909 100644 --- a/experimental/CocoaDebugger/SkCommandListView.cpp +++ b/experimental/Debugger/DebuggerCommandsView.cpp @@ -5,95 +5,88 @@ * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ -#include "SkDebuggerViews.h" +#include "DebuggerViews.h" -SkCommandListView::SkCommandListView() { +DebuggerCommandsView::DebuggerCommandsView() { fBGColor = 0xFFBBBBBB; fTopIndex = 0; fHighlight = 0; + fResizing = false; SkPaint p; - p.setTextSize(SkIntToScalar(SkDebugger_TextSize)); + p.setTextSize(SkIntToScalar(SKDEBUGGER_TEXTSIZE)); fSpacing = p.getFontSpacing(); fCentered = false; fRange = (int)(this->height()/fSpacing) - 1; } -bool SkCommandListView::onEvent(const SkEvent& evt) { - if (evt.isType(SkDebugger_CommandType)) { - SkString msg(evt.findString(SkDebugger_Atom)); - fList.push_back(msg); +DebuggerCommandsView::~DebuggerCommandsView() { + fList.deleteAll(); +} + +bool DebuggerCommandsView::onEvent(const SkEvent& evt) { + if (evt.isType(SKDEBUGGER_COMMANDTYPE)) { + *fList.append() = new SkString(evt.findString(SKDEBUGGER_ATOM)); this->inval(NULL); return true; } return this->INHERITED::onEvent(evt); } -void SkCommandListView::onSizeChange() { - fRange = (int)(this->height()/fSpacing) - 1; +void DebuggerCommandsView::onSizeChange() { + fRange = (int)(this->height()/fSpacing); this->INHERITED::onSizeChange(); } -void SkCommandListView::reinit() { - fList.clear(); - fTopIndex = 0; - fHighlight = 0; -} - -void SkCommandListView::alignCenter() { - if (!fCentered || fHighlight < fRange/2 || fHighlight > (fList.size() - fRange/2)) +void DebuggerCommandsView::alignCenter() { + if (!fCentered || fHighlight < fRange/2 || fHighlight > (fList.count() - fRange/2)) { return; - else { - if (fHighlight > (fTopIndex + fRange/2)) { + } else { + if (fHighlight > (fTopIndex + fRange/2)) fTopIndex += fHighlight - (fTopIndex + fRange/2); - } - if (fHighlight < (fTopIndex + fRange/2)) { + if (fHighlight < (fTopIndex + fRange/2)) fTopIndex -= (fTopIndex + fRange/2) - fHighlight; - } } } -int SkCommandListView::nextItem() { - if (fHighlight < fList.size() - 1) +int DebuggerCommandsView::nextItem() { + if (fHighlight < fList.count() - 1) ++fHighlight; - if (fHighlight < fTopIndex || fHighlight > (fTopIndex + fRange)) { + if (fHighlight < fTopIndex || fHighlight > (fTopIndex + fRange)) fTopIndex = fHighlight; - } - if (fHighlight == (fTopIndex + fRange)) { + if (fHighlight == (fTopIndex + fRange)) ++fTopIndex; - } this->alignCenter(); this->inval(NULL); return fHighlight; } -int SkCommandListView::prevItem() { +int DebuggerCommandsView::prevItem() { if (fHighlight > 0) --fHighlight; - if (fHighlight < fTopIndex || fHighlight > (fTopIndex + fRange)) { + if (fHighlight < fTopIndex || fHighlight > (fTopIndex + fRange)) fTopIndex = fHighlight; - } this->alignCenter(); this->inval(NULL); return fHighlight; } -int SkCommandListView::scrollUp() { +int DebuggerCommandsView::scrollUp() { if (fTopIndex > 0) --fTopIndex; this->inval(NULL); return fHighlight; } -int SkCommandListView::scrollDown() { - if (fTopIndex < (fList.size() - 1)) +int DebuggerCommandsView::scrollDown() { + if (fTopIndex < (fList.count() - 1)) ++fTopIndex; this->inval(NULL); return fHighlight; } -void SkCommandListView::highlight(int index) { - SkASSERT(index >= 0 && index < fList.size()); +void DebuggerCommandsView::highlight(int index) { + SkASSERT(index >= 0 && index < fList.count()); if (fHighlight != index) { fHighlight = index; this->alignCenter(); @@ -101,10 +94,10 @@ void SkCommandListView::highlight(int index) { } } -int SkCommandListView::selectHighlight(int ypos) { +int DebuggerCommandsView::selectHighlight(int ypos) { int i = (int)(ypos/fSpacing) + fTopIndex; - if (i >= fList.size()) { - i = fList.size() - 1; + if (i >= fList.count()) { + i = fList.count() - 1; } if (fHighlight != i) { fHighlight = i; @@ -114,35 +107,39 @@ int SkCommandListView::selectHighlight(int ypos) { return fHighlight; } -void SkCommandListView::toggleCentered() { +void DebuggerCommandsView::toggleCentered() { fCentered = !fCentered; this->alignCenter(); this->inval(NULL); } -void SkCommandListView::onDraw(SkCanvas* canvas) { +void DebuggerCommandsView::onDraw(SkCanvas* canvas) { canvas->drawColor(fBGColor); SkPaint p; - p.setTextSize(SkIntToScalar(SkDebugger_TextSize)); + p.setTextSize(SkIntToScalar(SKDEBUGGER_TEXTSIZE)); p.setAntiAlias(true); //draw highlight int selected = fHighlight - fTopIndex; SkRect r = {0, fSpacing * selected, this->width(), fSpacing * (selected+1)}; - p.setColor(0x880033DD); + p.setColor(SKDEBUGGER_HIGHLIGHTCOLOR); canvas->drawRect(r, p); int endIndex = fTopIndex + fRange; - if (endIndex > fList.size()) - endIndex = fList.size(); + if (endIndex > fList.count()) + endIndex = fList.count(); - p.setColor(0xFF000000); + p.setColor(SKDEBUGGER_TEXTCOLOR); int pos; for (int i = fTopIndex; i < endIndex; ++i) { pos = i - fTopIndex; - canvas->drawText(fList[i].c_str(), fList[i].size(), + canvas->drawText(fList[i]->c_str(), fList[i]->size(), 0, fSpacing - 2 + fSpacing * pos, p); } + p.setColor(SKDEBUGGER_RESIZEBARCOLOR); + r = SkRect::MakeXYWH(this->width() - SKDEBUGGER_RESIZEBARSIZE, 0, + SKDEBUGGER_RESIZEBARSIZE, this->height()); + canvas->drawRect(r, p); this->INHERITED::onDraw(canvas); }
\ No newline at end of file diff --git a/experimental/Debugger/DebuggerContentView.cpp b/experimental/Debugger/DebuggerContentView.cpp new file mode 100644 index 0000000000..925c3726d2 --- /dev/null +++ b/experimental/Debugger/DebuggerContentView.cpp @@ -0,0 +1,271 @@ +#include "SampleCode.h" +#include "SkView.h" +#include "SkCanvas.h" +#include "SkGradientShader.h" +#include "SkGPipe.h" +#include "SkOSMenu.h" + +#include "DebuggerViews.h" +static const char gIsDebuggerQuery[] = "is-debugger"; +class DebuggerView : public SampleView { +public: + DebuggerView(const char* data, size_t size) { + fData.append(size, data); + fCommandsVisible = true; + fCommandsResizing = false; + fStateVisible = true; + fStateResizing = false; + + fCommands = new DebuggerCommandsView; + fCommands->setVisibleP(fCommandsVisible); + this->attachChildToFront(fCommands)->unref(); + + + fState = new DebuggerStateView; + fState->setVisibleP(fStateVisible); + this->attachChildToFront(fState)->unref(); + + fAtomsToRead = 0; + fDisplayClip = false; + + fDumper = new SkDebugDumper(this->getSinkID(), fCommands->getSinkID(), + fState->getSinkID()); + + fDumper->unload(); + fAtomBounds.reset(); + fFrameBounds.reset(); + + SkDumpCanvas* dumpCanvas = new SkDumpCanvas(fDumper); + SkGPipeReader* dumpReader = new SkGPipeReader(dumpCanvas); + + + if (size > 0) { + int offset = 0; + int frameBound = 0; + size_t bytesRead; + while (offset < size) { + SkGPipeReader::Status s = dumpReader->playback(data + offset, + size - offset, + &bytesRead, + true); + SkASSERT(SkGPipeReader::kError_Status != s); + offset += bytesRead; + + if (SkGPipeReader::kDone_Status == s) { + fDumper->dump(dumpCanvas, SkDumpCanvas::kNULL_Verb, + "End of Frame", NULL); + delete dumpReader; + delete dumpCanvas; + dumpCanvas = new SkDumpCanvas(fDumper); + dumpReader = new SkGPipeReader(dumpCanvas); + frameBound = offset; + } + fAtomBounds.append(1, &offset); + fFrameBounds.append(1, &frameBound); + } + } + + delete dumpReader; + delete dumpCanvas; + + fDumper->load(); + } + + ~DebuggerView() { + fAtomBounds.reset(); + fFrameBounds.reset(); + delete fDumper; + } + + virtual void requestMenu(SkOSMenu* menu) { + menu->setTitle("Debugger"); + menu->appendSwitch("Show Commands", "Commands", this->getSinkID(), fCommandsVisible); + menu->appendSwitch("Show State", "State", this->getSinkID(), fStateVisible); + menu->appendSwitch("Display Clip", "Clip", this->getSinkID(), fDisplayClip); + } + + + void goToAtom(int atom) { + if (atom != fAtomsToRead) { + fAtomsToRead = atom; + this->inval(NULL); + } + } + +protected: + virtual bool onQuery(SkEvent* evt) { + if (SampleCode::TitleQ(*evt)) { + SampleCode::TitleR(evt, "Debugger"); + return true; + } + if (evt->isType(gIsDebuggerQuery)) { + return true; + } + return this->INHERITED::onQuery(evt); + } + + virtual bool onEvent(const SkEvent& evt) { + if (SkOSMenu::FindSwitchState(evt, "Commands", &fCommandsVisible) || + SkOSMenu::FindSwitchState(evt, "State", &fStateVisible)) { + fCommands->setVisibleP(fCommandsVisible); + fState->setVisibleP(fStateVisible); + fStateOffset = (fCommandsVisible) ? fCommands->width() : 0; + fState->setSize(this->width() - fStateOffset, fState->height()); + fState->setLoc(fStateOffset, this->height() - fState->height()); + this->inval(NULL); + return true; + } + if (SkOSMenu::FindSwitchState(evt, "Clip", &fDisplayClip)) { + this->inval(NULL); + return true; + } + return this->INHERITED::onEvent(evt); + } + + virtual void onDrawContent(SkCanvas* canvas) { + if (fData.count() <= 0) + return; + SkAutoCanvasRestore acr(canvas, true); + canvas->translate(fStateOffset, 0); + + int lastFrameBound = fFrameBounds[fAtomsToRead]; + int toBeRead = fAtomBounds[fAtomsToRead] - lastFrameBound; + int firstChunk = (fAtomsToRead > 0) ? fAtomBounds[fAtomsToRead - 1] - lastFrameBound: 0; + if (toBeRead > 0) { + SkDumpCanvas* dumpCanvas = new SkDumpCanvas(fDumper); + SkGPipeReader* dumpReader = new SkGPipeReader(dumpCanvas); + SkGPipeReader* reader = new SkGPipeReader(canvas); + fDumper->disable(); + + int offset = 0; + size_t bytesRead; + SkGPipeReader::Status s; + //Read the first chunk + if (offset < firstChunk && firstChunk < toBeRead) { + s = dumpReader->playback(fData.begin() + offset, firstChunk - offset, NULL, false); + SkASSERT(SkGPipeReader::kError_Status != s); + s = reader->playback(fData.begin() + offset, firstChunk - offset, &bytesRead, false); + SkASSERT(SkGPipeReader::kError_Status != s); + if (SkGPipeReader::kDone_Status == s){ + delete dumpReader; + delete dumpCanvas; + dumpCanvas = new SkDumpCanvas(fDumper); + dumpReader = new SkGPipeReader(dumpCanvas); + delete reader; + reader = new SkGPipeReader(canvas); + } + offset += bytesRead; + } + SkASSERT(offset == firstChunk); + //Then read the current atom + fDumper->enable(); + s = dumpReader->playback(fData.begin() + offset, toBeRead - offset, NULL, true); + SkASSERT(SkGPipeReader::kError_Status != s); + s = reader->playback(fData.begin() + offset, toBeRead - offset, &bytesRead, true); + SkASSERT(SkGPipeReader::kError_Status != s); + + delete reader; + delete dumpReader; + delete dumpCanvas; + + if (fDisplayClip) { + SkPaint p; + p.setColor(0x440000AA); + SkPath path; + canvas->getTotalClip().getBoundaryPath(&path); + canvas->drawPath(path, p); + } + } + } + + virtual SkView::Click* onFindClickHandler(SkScalar x, SkScalar y) { + return new Click(this); + } + + virtual bool onClick(SkView::Click* click) { + SkPoint prev = click->fPrev; + SkPoint curr = click->fCurr; + bool handled = true; + switch (click->fState) { + case SkView::Click::kDown_State: + if (SkScalarAbs(curr.fX - fCommands->width()) <= SKDEBUGGER_RESIZEBARSIZE) { + fCommandsResizing = true; + } + else if (SkScalarAbs(curr.fY - (this->height() - fState->height())) <= SKDEBUGGER_RESIZEBARSIZE && + curr.fX > fCommands->width()) { + fStateResizing = true; + } + else if (curr.fX < fCommands->width()) { + fAtomsToRead = fCommands->selectHighlight(curr.fY); + } + else + handled = false; + break; + case SkView::Click::kMoved_State: + if (fCommandsResizing) + fCommands->setSize(curr.fX, this->height()); + else if (fStateResizing) + fState->setSize(this->width(), this->height() - curr.fY); + else if (curr.fX < fCommands->width()) { + if (curr.fY - prev.fY < 0) { + fCommands->scrollDown(); + } + if (curr.fY - prev.fY > 0) { + fCommands->scrollUp(); + } + } + else + handled = false; + break; + case SkView::Click::kUp_State: + fStateResizing = fCommandsResizing = false; + break; + default: + break; + } + + fStateOffset = fCommands->width(); + fState->setSize(this->width() - fStateOffset, fState->height()); + fState->setLoc(fStateOffset, this->height() - fState->height()); + if (handled) + this->inval(NULL); + return handled; + } + + virtual void onSizeChange() { + this->INHERITED::onSizeChange(); + fCommands->setSize(CMD_WIDTH, this->height()); + fCommands->setLoc(0, 0); + fState->setSize(this->width() - CMD_WIDTH, INFO_HEIGHT); + fState->setLoc(CMD_WIDTH, this->height() - INFO_HEIGHT); + } + +private: + DebuggerCommandsView* fCommands; + DebuggerStateView* fState; + bool fCommandsResizing; + bool fCommandsVisible; + bool fStateResizing; + bool fStateVisible; + float fStateOffset; + bool fDisplayClip; + int fAtomsToRead; + SkTDArray<int> fAtomBounds; + SkTDArray<int> fFrameBounds; + SkTDArray<char> fData; + SkDebugDumper* fDumper; + + typedef SampleView INHERITED; +}; + + +/////////////////////////////////////////////////////////////////////////////// + +SkView* create_debugger(const char* data, size_t size) { + return SkNEW_ARGS(DebuggerView, (data, size)); +}; + +bool is_debugger(SkView* view) { + SkEvent isDebugger(gIsDebuggerQuery); + return view->doQuery(&isDebugger); +} diff --git a/experimental/CocoaDebugger/SkInfoPanelView.cpp b/experimental/Debugger/DebuggerStateView.cpp index 3b54860148..2953e8f921 100644 --- a/experimental/CocoaDebugger/SkInfoPanelView.cpp +++ b/experimental/Debugger/DebuggerStateView.cpp @@ -5,23 +5,24 @@ * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ -#include "SkDebuggerViews.h" +#include "DebuggerViews.h" #include "SkRect.h" -SkInfoPanelView::SkInfoPanelView() { +DebuggerStateView::DebuggerStateView() { fBGColor = 0xFF999999; fPaint.setColor(fBGColor); + fResizing = false; } -bool SkInfoPanelView::onEvent(const SkEvent& evt) { - if (evt.isType(SkDebugger_StateType)) { - fMatrix = evt.findString(SkDebugger_Matrix); - fClip = evt.findString(SkDebugger_Clip); +bool DebuggerStateView::onEvent(const SkEvent& evt) { + if (evt.isType(SKDEBUGGER_STATETYPE)) { + fMatrix = evt.findString(SKDEBUGGER_MATRIX); + fClip = evt.findString(SKDEBUGGER_CLIP); SkPaint* ptr; - if (evt.getMetaData().findPtr(SkDebugger_Paint, (void**)&ptr)) { + if (evt.getMetaData().findPtr(SKDEBUGGER_PAINT, (void**)&ptr)) { fPaint = *ptr; - fPaintInfo = evt.findString(SkDebugger_PaintInfo); + fPaintInfo = evt.findString(SKDEBUGGER_PAINTINFO); } this->inval(NULL); return true; @@ -29,7 +30,7 @@ bool SkInfoPanelView::onEvent(const SkEvent& evt) { return this->INHERITED::onEvent(evt); } -void SkInfoPanelView::onDraw(SkCanvas* canvas) { +void DebuggerStateView::onDraw(SkCanvas* canvas) { canvas->drawColor(fBGColor); //Display Current Paint @@ -37,12 +38,15 @@ void SkInfoPanelView::onDraw(SkCanvas* canvas) { canvas->drawRect(r, fPaint); //Display Information SkPaint p; - p.setTextSize(SkDebugger_TextSize); + p.setTextSize(SKDEBUGGER_TEXTSIZE); p.setAntiAlias(true); int x = 50; canvas->drawText(fPaintInfo.c_str(), fPaintInfo.size(), x, 30, p); canvas->drawText(fMatrix.c_str(), fMatrix.size(), x, 60, p); canvas->drawText(fClip.c_str(), fClip.size(), x, 90, p); + p.setColor(SKDEBUGGER_RESIZEBARCOLOR); + r = SkRect::MakeXYWH(0, 0, this->width(), SKDEBUGGER_RESIZEBARSIZE); + canvas->drawRect(r, p); this->INHERITED::onDraw(canvas); }
\ No newline at end of file diff --git a/experimental/CocoaDebugger/SkDebuggerViews.h b/experimental/Debugger/DebuggerViews.h index d292140ef6..acaa68b36d 100644 --- a/experimental/CocoaDebugger/SkDebuggerViews.h +++ b/experimental/Debugger/DebuggerViews.h @@ -13,73 +13,51 @@ #include "SkPaint.h" #include "SkDebugDumper.h" -#include <deque> -#define SkDebugger_TextSize 14 -#define SkDebugger_CommandType "SkDebugger_Command" -#define SkDebugger_StateType "SkDebugger_State" +#define SKDEBUGGER_COMMANDTYPE "SKDEBUGGER_COMMAND" +#define SKDEBUGGER_STATETYPE "SKDEBUGGER_STATE" -#define SkDebugger_Atom "SkDebugger_Atom" -#define SkDebugger_Matrix "SkDebugger_Matrix" -#define SkDebugger_Clip "SkDebugger_Clip" -#define SkDebugger_PaintInfo "SkDebugger_PaintInfo" -#define SkDebugger_Paint "SkDebugger_Paint" +#define SKDEBUGGER_ATOM "SKDEBUGGER_ATOM" +#define SKDEBUGGER_MATRIX "SKDEBUGGER_MATRIX" +#define SKDEBUGGER_CLIP "SKDEBUGGER_CLIP" +#define SKDEBUGGER_PAINTINFO "SKDEBUGGER_PAINTINFO" +#define SKDEBUGGER_PAINT "SKDEBUGGER_PAINT" -/* - * Debugger - Main Content - */ -class SkContentView : public SkView { -public: - SkContentView(SkEventSinkID clID, SkEventSinkID ipID); - ~SkContentView(); - - void init(); - void reinit(const char* fileName); - void toggleClip(); - void goToAtom(int atom); - -protected: - virtual bool onEvent(const SkEvent& evt); - virtual void onDraw(SkCanvas* canvas); - -private: - SkColor fBGColor; - int fAtomsToRead; - std::deque<int> fAtomBounds; - std::deque<int> fFrameBounds; - bool fDisplayClip; - SkString fFilePath; - SkDebugDumper fDumper; - typedef SkView INHERITED; -}; +#define SKDEBUGGER_TEXTSIZE 14 +#define CMD_WIDTH 200 +#define INFO_HEIGHT 150.0 +#define SKDEBUGGER_HIGHLIGHTCOLOR 0xFF113399 +#define SKDEBUGGER_TEXTCOLOR 0xFF000000 +#define SKDEBUGGER_RESIZEBARCOLOR 0xFF333333 +#define SKDEBUGGER_RESIZEBARSIZE 5 /* * Debugger - Info Panel */ -class SkInfoPanelView : public SkView { +class DebuggerStateView : public SkView { public: - SkInfoPanelView(); + DebuggerStateView(); protected: virtual bool onEvent(const SkEvent& evt); virtual void onDraw(SkCanvas* canvas); - private: SkColor fBGColor; SkPaint fPaint; SkString fMatrix; SkString fPaintInfo; SkString fClip; + bool fResizing; typedef SkView INHERITED; }; /* * Debugger - Commands List */ -class SkCommandListView : public SkView { +class DebuggerCommandsView : public SkView { public: - SkCommandListView(); - void reinit(); + DebuggerCommandsView(); + ~DebuggerCommandsView(); int nextItem(); int prevItem(); int scrollUp(); @@ -93,15 +71,16 @@ protected: virtual void onSizeChange(); virtual void onDraw(SkCanvas* canvas); private: - void init(); - void alignCenter(); + void init(); + void alignCenter(); SkColor fBGColor; int fTopIndex; int fHighlight; SkScalar fSpacing; int fRange; + bool fResizing; bool fCentered; - std::deque<SkString> fList; + SkTDArray<SkString*> fList; typedef SkView INHERITED; }; diff --git a/experimental/CocoaDebugger/SkDebugDumper.cpp b/experimental/Debugger/SkDebugDumper.cpp index 225435a4bc..d353cfdc41 100644 --- a/experimental/CocoaDebugger/SkDebugDumper.cpp +++ b/experimental/Debugger/SkDebugDumper.cpp @@ -14,31 +14,16 @@ #include "SkColorFilter.h" #include "SkPathEffect.h" #include "SkMaskFilter.h" -#include "SkGradientShader.h" -#include "SkDebuggerViews.h" - -bool gNeverSetToTrueJustNeedToFoolLinker; -static void init_effects() { - if (gNeverSetToTrueJustNeedToFoolLinker) { - SkPoint p = SkPoint::Make(0,0); - SkPoint q = SkPoint::Make(100,100); - SkPoint pts[] = {p, q}; - SkColor colors[] = { SK_ColorRED, SK_ColorGREEN }; - SkScalar pos[] = { 0, 1.0}; - SkGradientShader::CreateLinear(pts, colors, pos, 2, - SkShader::kMirror_TileMode); - } -} +#include "DebuggerViews.h" SkDebugDumper::SkDebugDumper(SkEventSinkID cID, SkEventSinkID clID, SkEventSinkID ipID) { fContentID = cID; - fCommandListID = clID; - fInfoPanelID = ipID; + fCommandsID = clID; + fStateID = ipID; fInit = false; fDisabled = false; fCount = 0; - init_effects(); } static void appendPtr(SkString* str, const void* ptr, const char name[]) { @@ -52,14 +37,14 @@ static void appendFlattenable(SkString* str, const SkFlattenable* ptr, if (ptr) { SkString info; if (ptr->toDumpString(&info)) { - str->appendf("%s", info.c_str()); + str->appendf("%s\n", info.c_str()); } else { - str->appendf("%s: %p", name, ptr); + str->appendf("%s: %p\n", name, ptr); } } } -static SkString dumpMatrix(SkDumpCanvasM* canvas) { +static SkString dumpMatrix(SkDumpCanvas* canvas) { SkString str; SkMatrix m = canvas->getTotalMatrix(); str.appendf("Matrix:"); @@ -79,7 +64,7 @@ static SkString dumpMatrix(SkDumpCanvasM* canvas) { return str; } -static SkString dumpClip(SkDumpCanvasM* canvas) { +static SkString dumpClip(SkDumpCanvas* canvas) { SkString str; SkPath p; int maxPts = 50; @@ -111,13 +96,12 @@ static const char* gPaintFlags[] = { "LCD/Subpixel Glyph Rendering", "Embedded Bitmap Text", "Freetype Autohinting", - "ALL" }; -static SkString dumpPaint(SkDumpCanvasM* canvas, const SkPaint* p, - SkDumpCanvasM::Verb verb) { +static SkString dumpPaint(SkDumpCanvas* canvas, const SkPaint* p, + SkDumpCanvas::Verb verb) { SkString str; str.appendf("Color: #%08X\n", p->getColor()); str.appendf("Flags: %s\n", gPaintFlags[p->getFlags()]); @@ -128,7 +112,7 @@ static SkString dumpPaint(SkDumpCanvasM* canvas, const SkPaint* p, appendFlattenable(&str, p->getPathEffect(), "pathEffect"); appendFlattenable(&str, p->getColorFilter(), "filter"); - if (SkDumpCanvasM::kDrawText_Verb == verb) { + if (SkDumpCanvas::kDrawText_Verb == verb) { str.appendf("Text Size:%0.4g\n", SkScalarToFloat(p->getTextSize())); appendPtr(&str, p->getTypeface(), "typeface"); } @@ -136,7 +120,7 @@ static SkString dumpPaint(SkDumpCanvasM* canvas, const SkPaint* p, return str; } -void SkDebugDumper::dump(SkDumpCanvasM* canvas, SkDumpCanvasM::Verb verb, +void SkDebugDumper::dump(SkDumpCanvas* canvas, SkDumpCanvas::Verb verb, const char str[], const SkPaint* p) { if (!fDisabled) { SkString msg, tab; @@ -150,19 +134,19 @@ void SkDebugDumper::dump(SkDumpCanvasM* canvas, SkDumpCanvasM::Verb verb, msg.appendf("%03d: %s%s\n", fCount, tab.c_str(), str); ++fCount; if (!fInit) { - SkEvent* cmd = new SkEvent(SkDebugger_CommandType); - cmd->setString(SkDebugger_Atom, msg); - cmd->post(fCommandListID, 100); + SkEvent* cmd = new SkEvent(SKDEBUGGER_COMMANDTYPE, fCommandsID); + cmd->setString(SKDEBUGGER_ATOM, msg); + cmd->postDelay(100); } else { - SkEvent* state = new SkEvent(SkDebugger_StateType); - state->setString(SkDebugger_Matrix, dumpMatrix(canvas)); - state->setString(SkDebugger_Clip, dumpClip(canvas)); + SkEvent* state = new SkEvent(SKDEBUGGER_STATETYPE, fStateID); + state->setString(SKDEBUGGER_MATRIX, dumpMatrix(canvas)); + state->setString(SKDEBUGGER_CLIP, dumpClip(canvas)); if (p) { - state->setString(SkDebugger_PaintInfo, dumpPaint(canvas, p, verb)); - state->getMetaData().setPtr(SkDebugger_Paint, (void*)p, PaintProc); + state->setString(SKDEBUGGER_PAINTINFO, dumpPaint(canvas, p, verb)); + state->getMetaData().setPtr(SKDEBUGGER_PAINT, (void*)p, PaintProc); } - state->post(fInfoPanelID); + state->post(); } } }
\ No newline at end of file diff --git a/experimental/CocoaDebugger/SkDebugDumper.h b/experimental/Debugger/SkDebugDumper.h index 73cb1b2a4d..35b0b23e41 100644 --- a/experimental/CocoaDebugger/SkDebugDumper.h +++ b/experimental/Debugger/SkDebugDumper.h @@ -7,21 +7,18 @@ */ #ifndef SkDebugDumper_DEFINED #define SkDebugDumper_DEFINED -#include "SkDumpCanvasM.h" +#include "SkDumpCanvas.h" #include "SkEvent.h" -class CommandListView; -class InfoPanelView; -class ContentView; /** Formats the draw commands, and send them to a function-pointer provided by the caller. */ -class SkDebugDumper : public SkDumpCanvasM::Dumper { +class SkDebugDumper : public SkDumpCanvas::Dumper { public: SkDebugDumper(SkEventSinkID cID, SkEventSinkID clID, SkEventSinkID ipID); // override from baseclass that does the formatting, and in turn calls // the function pointer that was passed to the constructor - virtual void dump(SkDumpCanvasM*, SkDumpCanvasM::Verb, const char str[], + virtual void dump(SkDumpCanvas*, SkDumpCanvas::Verb, const char str[], const SkPaint*); void load() { fInit = true; }; @@ -33,9 +30,9 @@ private: bool fInit; bool fDisabled; SkEventSinkID fContentID; - SkEventSinkID fCommandListID; - SkEventSinkID fInfoPanelID; + SkEventSinkID fCommandsID; + SkEventSinkID fStateID; - typedef SkDumpCanvasM::Dumper INHERITED; + typedef SkDumpCanvas::Dumper INHERITED; }; #endif
\ No newline at end of file diff --git a/experimental/DrawingBoard/SampleDrawingClient.cpp b/experimental/DrawingBoard/SampleDrawingClient.cpp index 9885d518f9..02b7a3b4f7 100644 --- a/experimental/DrawingBoard/SampleDrawingClient.cpp +++ b/experimental/DrawingBoard/SampleDrawingClient.cpp @@ -8,7 +8,32 @@ #include "SkColorPalette.h" #include "SkOSMenu.h" + +/** + * Drawing Client + * + * A drawing client that allows a user to perform simple brush stokes with + * a selected color and brush size. The drawing client communicates with a + * drawing server to send/receive data to/from other clients connected to the + * same server. The drawing client stores data in fData and fBuffer depending on + * the data type. Append type means that the drawing data is a completed stroke + * and Replace type means that the drawing data is in progress and will be + * replaced by subsequent data. fData and fBuffer are read by a pipe reader and + * reproduce the drawing. When the client is in a normal state, the data stored + * on the client and the server should be identical. + * The drawing client is also able to switch between vector and bitmap drawing. + * The drawing client also renders the latest drawing stroke locally in order to + * produce better reponses. This can be disabled by calling + * controller.disablePlayBack(), which will introduce a lag between the input + * and the drawing. + * Note: in order to keep up with the drawing data, the client will try to read + * a few times each frame in case more than one frame worth of data has been + * received and render them together. This behavior can be adjusted by tweaking + * MAX_READ_PER_FRAME or disabled by turning fSync to false + */ + #define MAX_READ_PER_FRAME 5 + class DrawingClientView : public SampleView { public: DrawingClientView() { @@ -22,8 +47,8 @@ public: fBrushSize = SkFloatToScalar(2.5); fAA = false; fPaletteVisible = true; - fSync = false; - fVector = false; + fSync = true; + fVector = true; } ~DrawingClientView() { if (fSocket) { @@ -35,11 +60,14 @@ public: virtual void requestMenu(SkOSMenu* menu) { menu->setTitle("Drawing Client"); - menu->appendTextField("Server IP", "Server IP", this->getSinkID(), "IP address or hostname"); + menu->appendTextField("Server IP", "Server IP", this->getSinkID(), + "IP address or hostname"); menu->appendSwitch("Vector", "Vector", this->getSinkID(), fVector); - menu->appendSlider("Brush Size", "Brush Size", this->getSinkID(), 1.0, 100.0, fBrushSize); + menu->appendSlider("Brush Size", "Brush Size", this->getSinkID(), 1.0, + 100.0, fBrushSize); menu->appendSwitch("Anti-Aliasing", "AA", this->getSinkID(), fAA); - menu->appendSwitch("Show Color Palette", "Palette", this->getSinkID(), fPaletteVisible); + menu->appendSwitch("Show Color Palette", "Palette", this->getSinkID(), + fPaletteVisible); menu->appendSwitch("Sync", "Sync", this->getSinkID(), fSync); menu->appendAction("Clear", this->getSinkID()); } @@ -75,11 +103,11 @@ protected: } bool onEvent(const SkEvent& evt) {; - if (SkOSMenu::FindSliderValue(&evt, "Brush Size", &fBrushSize)) + if (SkOSMenu::FindSliderValue(evt, "Brush Size", &fBrushSize)) return true; SkString s; - if (SkOSMenu::FindText(&evt, "Server IP", &s)) { + if (SkOSMenu::FindText(evt, "Server IP", &s)) { if (NULL != fSocket) { delete fSocket; } @@ -92,18 +120,18 @@ protected: this->inval(NULL); return true; } - if (SkOSMenu::FindSwitchState(&evt, "AA", &fAA) || - SkOSMenu::FindSwitchState(&evt, "Sync", &fSync)) + if (SkOSMenu::FindSwitchState(evt, "AA", &fAA) || + SkOSMenu::FindSwitchState(evt, "Sync", &fSync)) return true; - if (SkOSMenu::FindSwitchState(&evt, "Vector", &fVector)) { + if (SkOSMenu::FindSwitchState(evt, "Vector", &fVector)) { this->clearBitmap(); return true; } - if (SkOSMenu::FindAction(&evt, "Clear")) { + if (SkOSMenu::FindAction(evt, "Clear")) { this->clear(); return true; } - if (SkOSMenu::FindSwitchState(&evt, "Palette", &fPaletteVisible)) { + if (SkOSMenu::FindSwitchState(evt, "Palette", &fPaletteVisible)) { fPalette->setVisibleP(fPaletteVisible); return true; } @@ -150,6 +178,7 @@ protected: fSocket->connectToServer(); } size_t bytesRead = 0; + SkGPipeReader::Status status; SkCanvas bufferCanvas(fBase); SkCanvas* tempCanvas; while (fTotalBytesRead < fData.count()) { @@ -157,10 +186,10 @@ protected: tempCanvas = canvas; else tempCanvas = &bufferCanvas; - SkGPipeReader reader(tempCanvas); - SkGPipeReader::Status status = reader.playback(fData.begin() + fTotalBytesRead, - fData.count() - fTotalBytesRead, - &bytesRead); + SkGPipeReader reader(tempCanvas); + status = reader.playback(fData.begin() + fTotalBytesRead, + fData.count() - fTotalBytesRead, + &bytesRead); SkASSERT(SkGPipeReader::kError_Status != status); fTotalBytesRead += bytesRead; } @@ -172,10 +201,10 @@ protected: size_t totalBytesRead = 0; while (totalBytesRead < fBuffer.count()) { SkGPipeReader reader(canvas); - reader.playback(fBuffer.begin() + totalBytesRead, - fBuffer.count() - totalBytesRead, - &bytesRead); - + status = reader.playback(fBuffer.begin() + totalBytesRead, + fBuffer.count() - totalBytesRead, + &bytesRead); + SkASSERT(SkGPipeReader::kError_Status != status); totalBytesRead += bytesRead; } diff --git a/experimental/DrawingBoard/SampleDrawingServer.cpp b/experimental/DrawingBoard/SampleDrawingServer.cpp index 6542b58891..c79f8d3470 100644 --- a/experimental/DrawingBoard/SampleDrawingServer.cpp +++ b/experimental/DrawingBoard/SampleDrawingServer.cpp @@ -7,6 +7,25 @@ #include "SkCornerPathEffect.h" #include "SkOSMenu.h" #include <map> + +/** + * Drawing Server + * + * This simple drawing server can accept connections from multiple drawing + * clients simultaneously. It accumulates drawing data from each client each + * frame, stores it in the appropriate place, and then broadcasts incremental + * changes back to all the clients. Each logical packet, meaning one brush + * stoke in this case can be of two types, append and replace. Append types are + * completed strokes ready to be stored in the fData queue and will no longer be + * modified. Replace types are drawing operations that are still in progress on + * the client side, so they are appended to fBuffer. The location and size of + * the buffered data for each client is stored in a map and updated properly. + * Each time a new replace drawing call is received from a client, its previous + * buffered data is discarded. + * Since the Server keeps all the complete drawing data and the latest buffered + * data, it's able to switch between vector and bitmap drawing + */ + class DrawingServerView : public SampleView { public: DrawingServerView(){ @@ -77,14 +96,12 @@ protected: SkSocket::kPipeAppend_type); fTotalBytesWritten = fData.count(); fServer->suspendWrite(); - //this->clearBitmap(); } else { //other types of data } } - // overrides from SkEventSink bool onQuery(SkEvent* evt) { if (SampleCode::TitleQ(*evt)) { SampleCode::TitleR(evt, "Drawing Server"); @@ -94,11 +111,11 @@ protected: } bool onEvent(const SkEvent& evt) { - if (SkOSMenu::FindAction(&evt, "Clear")) { + if (SkOSMenu::FindAction(evt, "Clear")) { this->clear(); return true; } - if (SkOSMenu::FindSwitchState(&evt, "Vector", &fVector)) { + if (SkOSMenu::FindSwitchState(evt, "Vector", &fVector)) { this->clearBitmap(); return true; } @@ -121,33 +138,35 @@ protected: } size_t bytesRead; + SkGPipeReader::Status stat; SkCanvas bufferCanvas(fBase); SkCanvas* tempCanvas; while (fTotalBytesRead < fData.count()) { - if (fVector) + if (fVector) { tempCanvas = canvas; - else + } else { tempCanvas = &bufferCanvas; + } SkGPipeReader reader(tempCanvas); - SkGPipeReader::Status stat = reader.playback(fData.begin() + fTotalBytesRead, - fData.count() - fTotalBytesRead, - &bytesRead); + stat = reader.playback(fData.begin() + fTotalBytesRead, + fData.count() - fTotalBytesRead, + &bytesRead); SkASSERT(SkGPipeReader::kError_Status != stat); fTotalBytesRead += bytesRead; - - if (SkGPipeReader::kDone_Status == stat) {} } - if (fVector) + if (fVector) { fTotalBytesRead = 0; - else + } else { canvas->drawBitmap(fBase, 0, 0, NULL); + } size_t totalBytesRead = 0; while (totalBytesRead < fBuffer.count()) { SkGPipeReader reader(canvas); - reader.playback(fBuffer.begin() + totalBytesRead, - fBuffer.count() - totalBytesRead, - &bytesRead); + stat = reader.playback(fBuffer.begin() + totalBytesRead, + fBuffer.count() - totalBytesRead, + &bytesRead); + SkASSERT(SkGPipeReader::kError_Status != stat); totalBytesRead += bytesRead; } @@ -159,7 +178,9 @@ protected: virtual void onSizeChange() { this->INHERITED::onSizeChange(); - fBase.setConfig(SkBitmap::kARGB_8888_Config, this->width(), this->height()); + fBase.setConfig(SkBitmap::kARGB_8888_Config, + this->width(), + this->height()); fBase.allocPixels(NULL); this->clearBitmap(); } @@ -181,6 +202,7 @@ private: int bufferBase; int bufferSize; }; + std::map<int, ClientState*> fClientMap; SkTDArray<char> fData; SkTDArray<char> fBuffer; diff --git a/experimental/Networking/SampleNetPipeReader.cpp b/experimental/Networking/SampleNetPipeReader.cpp index 0d90286ad7..f58d5c2164 100644 --- a/experimental/Networking/SampleNetPipeReader.cpp +++ b/experimental/Networking/SampleNetPipeReader.cpp @@ -6,12 +6,26 @@ #include "SkSockets.h" #include "SkOSMenu.h" -#define MAX_READS_PER_FRAME 5 +/** + * A simple networked pipe reader + * + * This view will connect to a user specified server, in this case meaning any + * Skia app that's has a SkTCPServer set up to broadcast its piped drawing data, + * received all the data transmitted and attempt to reproduce the drawing calls. + * This reader will only keep the latest batch of data. In order to keep up with + * the server, which may be producing data at a much higher rate than the reader + * is consuming, the reader will attempt multiple reads and only render the + * latest frame. this behavior can be adjusted by changing MAX_READS_PER_FRAME + * or disabled by setting fSync to false + */ + +#define MAX_READS_PER_FRAME 12 + class NetPipeReaderView : public SampleView { public: NetPipeReaderView() { fSocket = NULL; - fSync = false; + fSync = true; } ~NetPipeReaderView() { @@ -47,9 +61,9 @@ protected: return this->INHERITED::onQuery(evt); } - bool onEvent(const SkEvent& evt) {; + bool onEvent(const SkEvent& evt) { SkString s; - if (SkOSMenu::FindText(&evt, "Server IP", &s)) { + if (SkOSMenu::FindText(evt, "Server IP", &s)) { if (NULL != fSocket) { delete fSocket; } @@ -58,7 +72,7 @@ protected: SkDebugf("Connecting to %s\n", s.c_str()); return true; } - if (SkOSMenu::FindSwitchState(&evt, "Sync", &fSync)) + if (SkOSMenu::FindSwitchState(evt, "Sync", &fSync)) return true; return this->INHERITED::onEvent(evt); } @@ -73,10 +87,17 @@ protected: int numreads = 0; while (fSocket->readPacket(readData, this) > 0 && numreads < MAX_READS_PER_FRAME) { + // at this point, new data has been read and stored, discard + // old data since it's not needed anymore + SkASSERT(fDataArray.count() > dataToRemove); fDataArray.remove(0, dataToRemove); dataToRemove = fDataArray.count(); ++numreads; } + // clean up if max reads reached + if (numreads == MAX_READS_PER_FRAME && + fDataArray.count() > dataToRemove) + fDataArray.remove(0, dataToRemove); } else { if (fSocket->readPacket(readData, this) > 0) @@ -85,7 +106,7 @@ protected: } else fSocket->connectToServer(); - + SkGPipeReader reader(canvas); size_t bytesRead; SkGPipeReader::Status fStatus = reader.playback(fDataArray.begin(), @@ -102,7 +123,6 @@ private: typedef SampleView INHERITED; }; - /////////////////////////////////////////////////////////////////////////////// static SkView* MyFactory() { return new NetPipeReaderView; } diff --git a/experimental/Networking/SkSockets.cpp b/experimental/Networking/SkSockets.cpp index ccf6010f4d..4304b6cfd6 100644 --- a/experimental/Networking/SkSockets.cpp +++ b/experimental/Networking/SkSockets.cpp @@ -23,6 +23,7 @@ SkSocket::SkSocket() { SkSocket::~SkSocket() { this->closeSocket(fSockfd); + shutdown(fSockfd, 2); //stop sending/receiving } int SkSocket::createSocket() { @@ -49,7 +50,6 @@ void SkSocket::closeSocket(int sockfd) { if (!fReady) return; - shutdown(sockfd, 2); //stop sending/receiving close(sockfd); //SkDebugf("Closed fd:%d\n", sockfd); @@ -151,7 +151,7 @@ int SkSocket::readPacket(void (*onRead)(int, const void*, size_t, DataType, } if (failure) { - onRead(NULL, 0, i, h.type, context); + onRead(i, NULL, 0, h.type, context); this->onFailedConnection(i); continue; } diff --git a/experimental/Networking/SkSockets.h b/experimental/Networking/SkSockets.h index 1f47a94028..0302426954 100644 --- a/experimental/Networking/SkSockets.h +++ b/experimental/Networking/SkSockets.h @@ -52,8 +52,8 @@ public: * For blocking sockets, write will block indefinitely if the socket at the * other end of the connection doesn't receive any data. * NOTE: This method guarantees that all of the data will be sent unless - * there was an error, so it might block temporarily when the write buffer - * is full + * there was an error, so it may block temporarily when the write buffer is + * full */ int writePacket(void* data, size_t size, DataType type = kPipeAppend_type); @@ -67,7 +67,7 @@ public: * blocking sockets, read will block indefinitely if the socket doesn't * receive any data. * NOTE: This method guarantees that all the data in a logical packet will - * be read so there might be temporary delays if it's waiting for parts of a + * be read so it may block temporarily if it's waiting for parts of a * packet */ int readPacket(void (*onRead)(int cid, const void* data, size_t size, diff --git a/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.mm b/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.mm index 29f2c7e9fa..acf70b81cb 100644 --- a/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.mm +++ b/experimental/iOSSampleApp/Shared/SkOptionsTableViewController.mm @@ -38,7 +38,7 @@ - (NSUInteger)convertPathToIndex:(NSIndexPath*)path { NSUInteger index = 0; for (NSInteger i = 0; i < path.section; ++i) { - index += (*fMenus)[i]->countItems(); + index += (*fMenus)[i]->getCount(); } return index + path.row; } @@ -57,7 +57,7 @@ if (menuIndex >= 0 && menuIndex < fMenus->count()) { NSUInteger first = 0; for (NSInteger i = 0; i < menuIndex; ++i) { - first += (*fMenus)[i]->countItems(); + first += (*fMenus)[i]->getCount(); } [fItems removeObjectsInRange:NSMakeRange(first, [fItems count] - first)]; [self loadMenu:menu]; @@ -66,8 +66,10 @@ } - (void)loadMenu:(const SkOSMenu*)menu { - for (int i = 0; i < menu->countItems(); ++i) { - const SkOSMenu::Item* item = menu->getItem(i); + const SkOSMenu::Item* menuitems[menu->getCount()]; + menu->getItems(menuitems); + for (int i = 0; i < menu->getCount(); ++i) { + const SkOSMenu::Item* item = menuitems[i]; NSString* title = [NSString stringWithUTF8String:item->getLabel()]; if (SkOSMenu::kList_Type == item->getType()) { @@ -78,12 +80,12 @@ List.fOptions = [[SkOptionListController alloc] initWithStyle:UITableViewStyleGrouped]; int count = 0; - SkOSMenu::FindListItemCount(item->getEvent(), &count); + SkOSMenu::FindListItemCount(*item->getEvent(), &count); SkString options[count]; - SkOSMenu::FindListItems(item->getEvent(), options); + SkOSMenu::FindListItems(*item->getEvent(), options); for (int i = 0; i < count; ++i) [List.fOptions addOption:[NSString stringWithUTF8String:options[i].c_str()]]; - SkOSMenu::FindListIndex(item->getEvent(), item->getSlotName(), &value); + SkOSMenu::FindListIndex(*item->getEvent(), item->getSlotName(), &value); List.fOptions.fSelectedIndex = value; List.fCell = [self createList:title @@ -104,25 +106,25 @@ option.fCell = [self createAction:title]; break; case SkOSMenu::kSwitch_Type: - SkOSMenu::FindSwitchState(item->getEvent(), item->getSlotName(), &state); + SkOSMenu::FindSwitchState(*item->getEvent(), item->getSlotName(), &state); option.fCell = [self createSwitch:title default:(BOOL)state]; break; case SkOSMenu::kSlider_Type: SkScalar min, max, value; - SkOSMenu::FindSliderValue(item->getEvent(), item->getSlotName(), &value); - SkOSMenu::FindSliderMin(item->getEvent(), &min); - SkOSMenu::FindSliderMax(item->getEvent(), &max); + SkOSMenu::FindSliderValue(*item->getEvent(), item->getSlotName(), &value); + SkOSMenu::FindSliderMin(*item->getEvent(), &min); + SkOSMenu::FindSliderMax(*item->getEvent(), &max); option.fCell = [self createSlider:title min:min max:max default:value]; break; case SkOSMenu::kTriState_Type: - SkOSMenu::FindTriState(item->getEvent(), item->getSlotName(), &tristate); + SkOSMenu::FindTriState(*item->getEvent(), item->getSlotName(), &tristate); option.fCell = [self createTriState:title default:(int)tristate]; break; case SkOSMenu::kTextField_Type: - SkOSMenu::FindText(item->getEvent(), item->getSlotName(), &str); + SkOSMenu::FindText(*item->getEvent(), item->getSlotName(), &str); option.fCell = [self createTextField:title default:[NSString stringWithUTF8String:str.c_str()]]; break; @@ -142,26 +144,31 @@ if ([sender isKindOfClass:[UISlider class]]) {//Slider UISlider* slider = (UISlider *)sender; cell.detailTextLabel.text = [NSString stringWithFormat:@"%1.1f", slider.value]; - item.fItem->postEventWithScalar(slider.value); + item.fItem->setScalar(slider.value); } else if ([sender isKindOfClass:[UISwitch class]]) {//Switch UISwitch* switch_ = (UISwitch *)sender; - item.fItem->postEventWithBool(switch_.on); + item.fItem->setBool(switch_.on); } else if ([sender isKindOfClass:[UITextField class]]) { //TextField UITextField* textField = (UITextField *)sender; [textField resignFirstResponder]; - item.fItem->postEventWithString([textField.text UTF8String]); + item.fItem->setString([textField.text UTF8String]); } else if ([sender isKindOfClass:[UISegmentedControl class]]) { //Action UISegmentedControl* segmented = (UISegmentedControl *)sender; - item.fItem->postEventWithInt((2 == segmented.selectedSegmentIndex) ? - SkOSMenu::kMixedState : - segmented.selectedSegmentIndex); + SkOSMenu::TriState state; + if (2 == segmented.selectedSegmentIndex) { + state = SkOSMenu::kMixedState; + } else { + state = (SkOSMenu::TriState)segmented.selectedSegmentIndex; + } + item.fItem->setTriState(state); } else{ NSLog(@"unknown"); } + item.fItem->postEvent(); } - (UITableViewCell*)createAction:(NSString*)title { @@ -272,7 +279,7 @@ } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - return (*fMenus)[section]->countItems(); + return (*fMenus)[section]->getCount(); } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { @@ -314,7 +321,8 @@ if (self == viewController) { //when a List option is popped, trigger event NSString* selectedOption = [fCurrentList.fOptions getSelectedOption]; fCurrentList.fCell.detailTextLabel.text = selectedOption; - fCurrentList.fItem->postEventWithInt(fCurrentList.fOptions.fSelectedIndex); + fCurrentList.fItem->setInt(fCurrentList.fOptions.fSelectedIndex); + fCurrentList.fItem->postEvent(); } } diff --git a/experimental/iOSSampleApp/Shared/SkUIDetailViewController.mm b/experimental/iOSSampleApp/Shared/SkUIDetailViewController.mm index f4976b56c4..7c2aef4d4f 100644 --- a/experimental/iOSSampleApp/Shared/SkUIDetailViewController.mm +++ b/experimental/iOSSampleApp/Shared/SkUIDetailViewController.mm @@ -1,4 +1,3 @@ -#import "SkAlertPrompt.h" #import "SkUIDetailViewController.h" #include "SampleApp.h" #include "SkCGUtils.h" diff --git a/experimental/iOSSampleApp/Shared/SkUIView.mm b/experimental/iOSSampleApp/Shared/SkUIView.mm index c6f1e22cd4..05b6edd60f 100644 --- a/experimental/iOSSampleApp/Shared/SkUIView.mm +++ b/experimental/iOSSampleApp/Shared/SkUIView.mm @@ -5,7 +5,7 @@ #define SKGL_CONFIG kEAGLColorFormatRGB565 //#define SKGL_CONFIG kEAGLColorFormatRGBA8 -//#define FORCE_REDRAW +#define FORCE_REDRAW //#define USE_GL_1 #define USE_GL_2 diff --git a/experimental/iOSSampleApp/iOSSampleApp.xcodeproj/project.pbxproj b/experimental/iOSSampleApp/iOSSampleApp.xcodeproj/project.pbxproj index d1fcab1ab7..e87667867b 100755 --- a/experimental/iOSSampleApp/iOSSampleApp.xcodeproj/project.pbxproj +++ b/experimental/iOSSampleApp/iOSSampleApp.xcodeproj/project.pbxproj @@ -9,92 +9,51 @@ /* Begin PBXBuildFile section */ 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; - 260E00D513B11F5B0064D447 /* bitmapfilters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001513B11F5B0064D447 /* bitmapfilters.cpp */; }; - 260E00D613B11F5B0064D447 /* blurs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001613B11F5B0064D447 /* blurs.cpp */; }; - 260E00D713B11F5B0064D447 /* complexclip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001713B11F5B0064D447 /* complexclip.cpp */; }; - 260E00D813B11F5B0064D447 /* filltypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001813B11F5B0064D447 /* filltypes.cpp */; }; - 260E00D913B11F5B0064D447 /* gradients.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001A13B11F5B0064D447 /* gradients.cpp */; }; - 260E00DA13B11F5B0064D447 /* nocolorbleed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001B13B11F5B0064D447 /* nocolorbleed.cpp */; }; - 260E00DB13B11F5B0064D447 /* points.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001C13B11F5B0064D447 /* points.cpp */; }; - 260E00DC13B11F5B0064D447 /* poly2poly.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001D13B11F5B0064D447 /* poly2poly.cpp */; }; - 260E00DD13B11F5B0064D447 /* shadertext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001E13B11F5B0064D447 /* shadertext.cpp */; }; - 260E00DE13B11F5B0064D447 /* shadows.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001F13B11F5B0064D447 /* shadows.cpp */; }; - 260E00DF13B11F5B0064D447 /* shapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002013B11F5B0064D447 /* shapes.cpp */; }; - 260E00E013B11F5B0064D447 /* tilemodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002113B11F5B0064D447 /* tilemodes.cpp */; }; - 260E00E113B11F5B0064D447 /* xfermodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002213B11F5B0064D447 /* xfermodes.cpp */; }; + 2605F44213F18B1B0044A072 /* DebuggerView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2605F43C13F18B1B0044A072 /* DebuggerView.cpp */; }; + 2605F44313F18B1B0044A072 /* DebuggerCommandsView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2605F43E13F18B1B0044A072 /* DebuggerCommandsView.cpp */; }; + 2605F44413F18B1B0044A072 /* SkDebugDumper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2605F43F13F18B1B0044A072 /* SkDebugDumper.cpp */; }; + 2605F44513F18B1B0044A072 /* DebuggerStateView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2605F44113F18B1B0044A072 /* DebuggerStateView.cpp */; }; + 2605F65D13F19D1D0044A072 /* SamplePicture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005913B11F5B0064D447 /* SamplePicture.cpp */; }; + 2605F66513F19EB80044A072 /* GrStencilBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2605F66413F19EB80044A072 /* GrStencilBuffer.cpp */; }; + 2605F83013F1AE4B0044A072 /* xfermodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002213B11F5B0064D447 /* xfermodes.cpp */; }; + 2605F83113F1AE4C0044A072 /* tilemodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002113B11F5B0064D447 /* tilemodes.cpp */; }; + 2605F83213F1AE4C0044A072 /* shapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002013B11F5B0064D447 /* shapes.cpp */; }; + 2605F83313F1AE4D0044A072 /* shadows.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001F13B11F5B0064D447 /* shadows.cpp */; }; + 2605F83413F1AE4D0044A072 /* shadertext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001E13B11F5B0064D447 /* shadertext.cpp */; }; + 2605F83513F1AE4E0044A072 /* poly2poly.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001D13B11F5B0064D447 /* poly2poly.cpp */; }; + 2605F83613F1AE4F0044A072 /* nocolorbleed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001B13B11F5B0064D447 /* nocolorbleed.cpp */; }; + 2605F83713F1AE500044A072 /* points.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001C13B11F5B0064D447 /* points.cpp */; }; + 2605F83813F1AE500044A072 /* gradients.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001A13B11F5B0064D447 /* gradients.cpp */; }; + 2605F83913F1AE510044A072 /* filltypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001813B11F5B0064D447 /* filltypes.cpp */; }; + 2605F83A13F1AE520044A072 /* complexclip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001713B11F5B0064D447 /* complexclip.cpp */; }; + 2605F83B13F1AE520044A072 /* blurs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001613B11F5B0064D447 /* blurs.cpp */; }; + 2605F83C13F1AE530044A072 /* bitmapfilters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E001513B11F5B0064D447 /* bitmapfilters.cpp */; }; 260E00E313B11F5B0064D447 /* OverView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002513B11F5B0064D447 /* OverView.cpp */; }; - 260E00E413B11F5B0064D447 /* SampleAARects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002613B11F5B0064D447 /* SampleAARects.cpp */; }; - 260E00E513B11F5B0064D447 /* SampleAll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002713B11F5B0064D447 /* SampleAll.cpp */; }; - 260E00E613B11F5B0064D447 /* SampleAnimator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002813B11F5B0064D447 /* SampleAnimator.cpp */; }; 260E00E813B11F5B0064D447 /* SampleArc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002A13B11F5B0064D447 /* SampleArc.cpp */; }; 260E00E913B11F5B0064D447 /* SampleAvoid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002B13B11F5B0064D447 /* SampleAvoid.cpp */; }; - 260E00EA13B11F5B0064D447 /* SampleBigGradient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002C13B11F5B0064D447 /* SampleBigGradient.cpp */; }; - 260E00EB13B11F5B0064D447 /* SampleBitmapRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002D13B11F5B0064D447 /* SampleBitmapRect.cpp */; }; 260E00EC13B11F5B0064D447 /* SampleBlur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002E13B11F5B0064D447 /* SampleBlur.cpp */; }; - 260E00ED13B11F5B0064D447 /* SampleCamera.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E002F13B11F5B0064D447 /* SampleCamera.cpp */; }; 260E00EE13B11F5B0064D447 /* SampleCircle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003013B11F5B0064D447 /* SampleCircle.cpp */; }; - 260E00EF13B11F5B0064D447 /* SampleColorFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003213B11F5B0064D447 /* SampleColorFilter.cpp */; }; 260E00F013B11F5B0064D447 /* SampleComplexClip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003313B11F5B0064D447 /* SampleComplexClip.cpp */; }; - 260E00F113B11F5B0064D447 /* SampleConcavePaths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003413B11F5B0064D447 /* SampleConcavePaths.cpp */; }; 260E00F213B11F5B0064D447 /* SampleCull.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003513B11F5B0064D447 /* SampleCull.cpp */; }; - 260E00F313B11F5B0064D447 /* SampleDecode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003613B11F5B0064D447 /* SampleDecode.cpp */; }; - 260E00F413B11F5B0064D447 /* SampleDither.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003713B11F5B0064D447 /* SampleDither.cpp */; }; - 260E00F513B11F5B0064D447 /* SampleDitherBitmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003813B11F5B0064D447 /* SampleDitherBitmap.cpp */; }; - 260E00F613B11F5B0064D447 /* SampleDrawLooper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003913B11F5B0064D447 /* SampleDrawLooper.cpp */; }; - 260E00F713B11F5B0064D447 /* SampleEffects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003A13B11F5B0064D447 /* SampleEffects.cpp */; }; - 260E00F813B11F5B0064D447 /* SampleEmboss.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003B13B11F5B0064D447 /* SampleEmboss.cpp */; }; - 260E00F913B11F5B0064D447 /* SampleEncode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003C13B11F5B0064D447 /* SampleEncode.cpp */; }; - 260E00FA13B11F5B0064D447 /* SampleExtractAlpha.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003D13B11F5B0064D447 /* SampleExtractAlpha.cpp */; }; 260E00FB13B11F5B0064D447 /* SampleFillType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003E13B11F5B0064D447 /* SampleFillType.cpp */; }; - 260E00FC13B11F5B0064D447 /* SampleFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E003F13B11F5B0064D447 /* SampleFilter.cpp */; }; - 260E00FD13B11F5B0064D447 /* SampleFilter2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004013B11F5B0064D447 /* SampleFilter2.cpp */; }; - 260E00FE13B11F5B0064D447 /* SampleFontCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004113B11F5B0064D447 /* SampleFontCache.cpp */; }; - 260E010213B11F5B0064D447 /* SampleGradients.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004513B11F5B0064D447 /* SampleGradients.cpp */; }; - 260E010313B11F5B0064D447 /* SampleHairline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004613B11F5B0064D447 /* SampleHairline.cpp */; }; - 260E010413B11F5B0064D447 /* SampleImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004713B11F5B0064D447 /* SampleImage.cpp */; }; - 260E010513B11F5B0064D447 /* SampleImageDir.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004813B11F5B0064D447 /* SampleImageDir.cpp */; }; 260E010613B11F5B0064D447 /* SampleLCD.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004913B11F5B0064D447 /* SampleLCD.cpp */; }; - 260E010713B11F5B0064D447 /* SampleLayerMask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004A13B11F5B0064D447 /* SampleLayerMask.cpp */; }; - 260E010813B11F5B0064D447 /* SampleLayers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004B13B11F5B0064D447 /* SampleLayers.cpp */; }; - 260E010913B11F5B0064D447 /* SampleLineClipper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004C13B11F5B0064D447 /* SampleLineClipper.cpp */; }; - 260E010A13B11F5B0064D447 /* SampleLines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004D13B11F5B0064D447 /* SampleLines.cpp */; }; - 260E010B13B11F5B0064D447 /* SampleMeasure.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004E13B11F5B0064D447 /* SampleMeasure.cpp */; }; - 260E010C13B11F5B0064D447 /* SampleMipMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004F13B11F5B0064D447 /* SampleMipMap.cpp */; }; - 260E010D13B11F5B0064D447 /* SampleMovie.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005013B11F5B0064D447 /* SampleMovie.cpp */; }; - 260E010E13B11F5B0064D447 /* SampleNinePatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005113B11F5B0064D447 /* SampleNinePatch.cpp */; }; - 260E010F13B11F5B0064D447 /* SampleOvalTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005213B11F5B0064D447 /* SampleOvalTest.cpp */; }; - 260E011013B11F5B0064D447 /* SampleOverflow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005313B11F5B0064D447 /* SampleOverflow.cpp */; }; - 260E011113B11F5B0064D447 /* SamplePageFlip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005413B11F5B0064D447 /* SamplePageFlip.cpp */; }; - 260E011213B11F5B0064D447 /* SamplePatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005513B11F5B0064D447 /* SamplePatch.cpp */; }; 260E011313B11F5B0064D447 /* SamplePath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005613B11F5B0064D447 /* SamplePath.cpp */; }; 260E011413B11F5B0064D447 /* SamplePathClip.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005713B11F5B0064D447 /* SamplePathClip.cpp */; }; 260E011513B11F5B0064D447 /* SamplePathEffects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005813B11F5B0064D447 /* SamplePathEffects.cpp */; }; - 260E011613B11F5B0064D447 /* SamplePicture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005913B11F5B0064D447 /* SamplePicture.cpp */; }; 260E011713B11F5B0064D447 /* SamplePoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005A13B11F5B0064D447 /* SamplePoints.cpp */; }; 260E011813B11F5B0064D447 /* SamplePolyToPoly.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005B13B11F5B0064D447 /* SamplePolyToPoly.cpp */; }; 260E011913B11F5B0064D447 /* SampleRegion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005C13B11F5B0064D447 /* SampleRegion.cpp */; }; - 260E011A13B11F5B0064D447 /* SampleRepeatTile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005D13B11F5B0064D447 /* SampleRepeatTile.cpp */; }; - 260E011B13B11F5B0064D447 /* SampleShaderText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005E13B11F5B0064D447 /* SampleShaderText.cpp */; }; - 260E011C13B11F5B0064D447 /* SampleShaders.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E005F13B11F5B0064D447 /* SampleShaders.cpp */; }; 260E011D13B11F5B0064D447 /* SampleShapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006013B11F5B0064D447 /* SampleShapes.cpp */; }; - 260E011E13B11F5B0064D447 /* SampleSkLayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006113B11F5B0064D447 /* SampleSkLayer.cpp */; }; 260E011F13B11F5B0064D447 /* SampleSlides.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006213B11F5B0064D447 /* SampleSlides.cpp */; }; - 260E012013B11F5B0064D447 /* SampleStrokePath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006313B11F5B0064D447 /* SampleStrokePath.cpp */; }; - 260E012113B11F5B0064D447 /* SampleStrokeText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006413B11F5B0064D447 /* SampleStrokeText.cpp */; }; 260E012313B11F5B0064D447 /* SampleText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006613B11F5B0064D447 /* SampleText.cpp */; }; 260E012413B11F5B0064D447 /* SampleTextAlpha.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006713B11F5B0064D447 /* SampleTextAlpha.cpp */; }; 260E012513B11F5B0064D447 /* SampleTextBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006813B11F5B0064D447 /* SampleTextBox.cpp */; }; 260E012613B11F5B0064D447 /* SampleTextEffects.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006913B11F5B0064D447 /* SampleTextEffects.cpp */; }; 260E012713B11F5B0064D447 /* SampleTextOnPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006A13B11F5B0064D447 /* SampleTextOnPath.cpp */; }; - 260E012813B11F5B0064D447 /* SampleTextureDomain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006B13B11F5B0064D447 /* SampleTextureDomain.cpp */; }; - 260E012913B11F5B0064D447 /* SampleTiling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006C13B11F5B0064D447 /* SampleTiling.cpp */; }; - 260E012A13B11F5B0064D447 /* SampleTinyBitmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006D13B11F5B0064D447 /* SampleTinyBitmap.cpp */; }; 260E012B13B11F5B0064D447 /* SampleTriangles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006E13B11F5B0064D447 /* SampleTriangles.cpp */; }; 260E012C13B11F5B0064D447 /* SampleTypeface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E006F13B11F5B0064D447 /* SampleTypeface.cpp */; }; 260E012D13B11F5B0064D447 /* SampleUnitMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007013B11F5B0064D447 /* SampleUnitMapper.cpp */; }; 260E012E13B11F5B0064D447 /* SampleVertices.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007113B11F5B0064D447 /* SampleVertices.cpp */; }; - 260E012F13B11F5B0064D447 /* SampleXfermodes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007213B11F5B0064D447 /* SampleXfermodes.cpp */; }; - 260E013013B11F5B0064D447 /* SampleXfermodesBlur.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007313B11F5B0064D447 /* SampleXfermodesBlur.cpp */; }; 260E013113B11F5B0064D447 /* SkGPipeRead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007513B11F5B0064D447 /* SkGPipeRead.cpp */; }; 260E013213B11F5B0064D447 /* SkGPipeWrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E007613B11F5B0064D447 /* SkGPipeWrite.cpp */; }; 260E02A213B1225D0064D447 /* Sk64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E020C13B1225D0064D447 /* Sk64.cpp */; }; @@ -410,8 +369,6 @@ 260E095813B134C90064D447 /* GrDrawMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E095613B134C90064D447 /* GrDrawMesh.cpp */; }; 260E147913B2734E0064D447 /* SkUISplitViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 260E147813B2734E0064D447 /* SkUISplitViewController.mm */; }; 260E16E613B2853F0064D447 /* SampleGM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004413B11F5B0064D447 /* SampleGM.cpp */; }; - 260E16F013B285540064D447 /* SampleFuzz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004313B11F5B0064D447 /* SampleFuzz.cpp */; }; - 260E16F213B285570064D447 /* SampleFontScalerTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E004213B11F5B0064D447 /* SampleFontScalerTest.cpp */; }; 260E1DCD13B3AA490064D447 /* SkUINavigationController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 260E1DCB13B3AA490064D447 /* SkUINavigationController.mm */; }; 260E1EA213B3B15A0064D447 /* SkPDFCatalog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E1E9613B3B15A0064D447 /* SkPDFCatalog.cpp */; }; 260E1EA313B3B15A0064D447 /* SkPDFDevice.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 260E1E9713B3B15A0064D447 /* SkPDFDevice.cpp */; }; @@ -429,6 +386,7 @@ 260EF18513AFD62E0064D447 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 260EF18413AFD62E0064D447 /* CoreText.framework */; }; 260EF2B013AFDBD30064D447 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 263BE75813CCC7BF00CCE991 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 263BE75713CCC7BF00CCE991 /* QuartzCore.framework */; }; + 2645945F13F34FB100DCF534 /* test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2645945E13F34FB100DCF534 /* test.cpp */; }; 26591EB913EB16EB000DA8A8 /* TransitionView.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26591EB813EB16EB000DA8A8 /* TransitionView.cpp */; }; 265C7DE313D75752008329F6 /* SkOptionListController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 265C7DE213D75752008329F6 /* SkOptionListController.mm */; }; 2662AB7013BD067900CDE7E9 /* SkiOSSampleApp-Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 2662AB6F13BD067900CDE7E9 /* SkiOSSampleApp-Debug.xcconfig */; }; @@ -440,7 +398,6 @@ 268C50D613F022820003FF9A /* SkColorPalette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50D213F022820003FF9A /* SkColorPalette.cpp */; }; 268C50D713F022820003FF9A /* SkNetPipeController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50D413F022820003FF9A /* SkNetPipeController.cpp */; }; 268C50DA13F022AF0003FF9A /* SampleDrawingClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50D813F022AF0003FF9A /* SampleDrawingClient.cpp */; }; - 268C50DB13F022AF0003FF9A /* SampleDrawingServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50D913F022AF0003FF9A /* SampleDrawingServer.cpp */; }; 268C50DF13F0230C0003FF9A /* SampleNetPipeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50DC13F0230C0003FF9A /* SampleNetPipeReader.cpp */; }; 268C50E013F0230C0003FF9A /* SkSockets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268C50DD13F0230C0003FF9A /* SkSockets.cpp */; }; 26962B2313CDF6A00039B1FB /* SkOSFile_iOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 260EE8BB13AFA7790064D447 /* SkOSFile_iOS.mm */; }; @@ -482,6 +439,13 @@ 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1D6058910D05DD3D006BFB54 /* iOSSampleApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iOSSampleApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 2605F43C13F18B1B0044A072 /* DebuggerView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DebuggerView.cpp; sourceTree = "<group>"; }; + 2605F43D13F18B1B0044A072 /* DebuggerViews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebuggerViews.h; sourceTree = "<group>"; }; + 2605F43E13F18B1B0044A072 /* DebuggerCommandsView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DebuggerCommandsView.cpp; sourceTree = "<group>"; }; + 2605F43F13F18B1B0044A072 /* SkDebugDumper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SkDebugDumper.cpp; sourceTree = "<group>"; }; + 2605F44013F18B1B0044A072 /* SkDebugDumper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SkDebugDumper.h; sourceTree = "<group>"; }; + 2605F44113F18B1B0044A072 /* DebuggerStateView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DebuggerStateView.cpp; sourceTree = "<group>"; }; + 2605F66413F19EB80044A072 /* GrStencilBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GrStencilBuffer.cpp; sourceTree = "<group>"; }; 260E001513B11F5B0064D447 /* bitmapfilters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bitmapfilters.cpp; sourceTree = "<group>"; }; 260E001613B11F5B0064D447 /* blurs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = blurs.cpp; sourceTree = "<group>"; }; 260E001713B11F5B0064D447 /* complexclip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = complexclip.cpp; sourceTree = "<group>"; }; @@ -1327,6 +1291,7 @@ 260EE9D113AFA7850064D447 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; 260EF18413AFD62E0064D447 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; 263BE75713CCC7BF00CCE991 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 2645945E13F34FB100DCF534 /* test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test.cpp; sourceTree = SOURCE_ROOT; }; 26591EB813EB16EB000DA8A8 /* TransitionView.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TransitionView.cpp; sourceTree = "<group>"; }; 265C7DE113D75752008329F6 /* SkOptionListController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SkOptionListController.h; path = Shared/SkOptionListController.h; sourceTree = "<group>"; }; 265C7DE213D75752008329F6 /* SkOptionListController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SkOptionListController.mm; path = Shared/SkOptionListController.mm; sourceTree = "<group>"; }; @@ -1434,6 +1399,20 @@ name = Products; sourceTree = "<group>"; }; + 2605F43B13F18B1B0044A072 /* Debugger */ = { + isa = PBXGroup; + children = ( + 2605F43C13F18B1B0044A072 /* DebuggerView.cpp */, + 2605F43D13F18B1B0044A072 /* DebuggerViews.h */, + 2605F43E13F18B1B0044A072 /* DebuggerCommandsView.cpp */, + 2605F43F13F18B1B0044A072 /* SkDebugDumper.cpp */, + 2605F44013F18B1B0044A072 /* SkDebugDumper.h */, + 2605F44113F18B1B0044A072 /* DebuggerStateView.cpp */, + ); + name = Debugger; + path = ../Debugger; + sourceTree = SOURCE_ROOT; + }; 260E001413B11F5B0064D447 /* gm */ = { isa = PBXGroup; children = ( @@ -1459,6 +1438,7 @@ 260E002313B11F5B0064D447 /* samplecode */ = { isa = PBXGroup; children = ( + 2645945E13F34FB100DCF534 /* test.cpp */, 26591EB813EB16EB000DA8A8 /* TransitionView.cpp */, 260E002413B11F5B0064D447 /* ClockFaceView.cpp */, 260E002513B11F5B0064D447 /* OverView.cpp */, @@ -2028,6 +2008,7 @@ 260E03C813B122D40064D447 /* src */ = { isa = PBXGroup; children = ( + 2605F66413F19EB80044A072 /* GrStencilBuffer.cpp */, 26FB12B313E70D51001AFF6D /* GrRenderTarget.cpp */, 26FB12AD13E70D3B001AFF6D /* GrGLRenderTarget.cpp */, 26FB12AE13E70D3B001AFF6D /* GrGLRenderTarget.h */, @@ -2822,6 +2803,7 @@ 26962C8E13CE25D60039B1FB /* iOSSampleApp_Prefix.pch */, 26962C8F13CE25D60039B1FB /* iOSSampleApp-Info.plist */, 26962CC813CE27390039B1FB /* xcconfig */, + 2605F43B13F18B1B0044A072 /* Debugger */, 26F67B2A13CB3564005DDCD2 /* Networking */, 26962CE713CE29120039B1FB /* DrawingBoard */, 260EE8B913AFA7790064D447 /* iOS */, @@ -2912,92 +2894,32 @@ 1D60589B0D05DD56006BFB54 /* main.m in Sources */, 2860E328111B887F00E27156 /* AppDelegate_iPhone.mm in Sources */, 2860E32E111B888700E27156 /* AppDelegate_iPad.mm in Sources */, - 260E00D513B11F5B0064D447 /* bitmapfilters.cpp in Sources */, - 260E00D613B11F5B0064D447 /* blurs.cpp in Sources */, - 260E00D713B11F5B0064D447 /* complexclip.cpp in Sources */, - 260E00D813B11F5B0064D447 /* filltypes.cpp in Sources */, - 260E00D913B11F5B0064D447 /* gradients.cpp in Sources */, - 260E00DA13B11F5B0064D447 /* nocolorbleed.cpp in Sources */, - 260E00DB13B11F5B0064D447 /* points.cpp in Sources */, - 260E00DC13B11F5B0064D447 /* poly2poly.cpp in Sources */, - 260E00DD13B11F5B0064D447 /* shadertext.cpp in Sources */, - 260E00DE13B11F5B0064D447 /* shadows.cpp in Sources */, - 260E00DF13B11F5B0064D447 /* shapes.cpp in Sources */, - 260E00E013B11F5B0064D447 /* tilemodes.cpp in Sources */, - 260E00E113B11F5B0064D447 /* xfermodes.cpp in Sources */, 260E00E313B11F5B0064D447 /* OverView.cpp in Sources */, - 260E00E413B11F5B0064D447 /* SampleAARects.cpp in Sources */, - 260E00E513B11F5B0064D447 /* SampleAll.cpp in Sources */, - 260E00E613B11F5B0064D447 /* SampleAnimator.cpp in Sources */, 260E00E813B11F5B0064D447 /* SampleArc.cpp in Sources */, 260E00E913B11F5B0064D447 /* SampleAvoid.cpp in Sources */, - 260E00EA13B11F5B0064D447 /* SampleBigGradient.cpp in Sources */, - 260E00EB13B11F5B0064D447 /* SampleBitmapRect.cpp in Sources */, 260E00EC13B11F5B0064D447 /* SampleBlur.cpp in Sources */, - 260E00ED13B11F5B0064D447 /* SampleCamera.cpp in Sources */, 260E00EE13B11F5B0064D447 /* SampleCircle.cpp in Sources */, - 260E00EF13B11F5B0064D447 /* SampleColorFilter.cpp in Sources */, 260E00F013B11F5B0064D447 /* SampleComplexClip.cpp in Sources */, - 260E00F113B11F5B0064D447 /* SampleConcavePaths.cpp in Sources */, 260E00F213B11F5B0064D447 /* SampleCull.cpp in Sources */, - 260E00F313B11F5B0064D447 /* SampleDecode.cpp in Sources */, - 260E00F413B11F5B0064D447 /* SampleDither.cpp in Sources */, - 260E00F513B11F5B0064D447 /* SampleDitherBitmap.cpp in Sources */, - 260E00F613B11F5B0064D447 /* SampleDrawLooper.cpp in Sources */, - 260E00F713B11F5B0064D447 /* SampleEffects.cpp in Sources */, - 260E00F813B11F5B0064D447 /* SampleEmboss.cpp in Sources */, - 260E00F913B11F5B0064D447 /* SampleEncode.cpp in Sources */, - 260E00FA13B11F5B0064D447 /* SampleExtractAlpha.cpp in Sources */, 260E00FB13B11F5B0064D447 /* SampleFillType.cpp in Sources */, - 260E00FC13B11F5B0064D447 /* SampleFilter.cpp in Sources */, - 260E00FD13B11F5B0064D447 /* SampleFilter2.cpp in Sources */, - 260E00FE13B11F5B0064D447 /* SampleFontCache.cpp in Sources */, - 260E010213B11F5B0064D447 /* SampleGradients.cpp in Sources */, - 260E010313B11F5B0064D447 /* SampleHairline.cpp in Sources */, - 260E010413B11F5B0064D447 /* SampleImage.cpp in Sources */, - 260E010513B11F5B0064D447 /* SampleImageDir.cpp in Sources */, 260E010613B11F5B0064D447 /* SampleLCD.cpp in Sources */, - 260E010713B11F5B0064D447 /* SampleLayerMask.cpp in Sources */, - 260E010813B11F5B0064D447 /* SampleLayers.cpp in Sources */, - 260E010913B11F5B0064D447 /* SampleLineClipper.cpp in Sources */, - 260E010A13B11F5B0064D447 /* SampleLines.cpp in Sources */, - 260E010B13B11F5B0064D447 /* SampleMeasure.cpp in Sources */, - 260E010C13B11F5B0064D447 /* SampleMipMap.cpp in Sources */, - 260E010D13B11F5B0064D447 /* SampleMovie.cpp in Sources */, - 260E010E13B11F5B0064D447 /* SampleNinePatch.cpp in Sources */, - 260E010F13B11F5B0064D447 /* SampleOvalTest.cpp in Sources */, - 260E011013B11F5B0064D447 /* SampleOverflow.cpp in Sources */, - 260E011113B11F5B0064D447 /* SamplePageFlip.cpp in Sources */, - 260E011213B11F5B0064D447 /* SamplePatch.cpp in Sources */, 260E011313B11F5B0064D447 /* SamplePath.cpp in Sources */, 260E011413B11F5B0064D447 /* SamplePathClip.cpp in Sources */, 260E011513B11F5B0064D447 /* SamplePathEffects.cpp in Sources */, - 260E011613B11F5B0064D447 /* SamplePicture.cpp in Sources */, 260E011713B11F5B0064D447 /* SamplePoints.cpp in Sources */, 260E011813B11F5B0064D447 /* SamplePolyToPoly.cpp in Sources */, 260E011913B11F5B0064D447 /* SampleRegion.cpp in Sources */, - 260E011A13B11F5B0064D447 /* SampleRepeatTile.cpp in Sources */, - 260E011B13B11F5B0064D447 /* SampleShaderText.cpp in Sources */, - 260E011C13B11F5B0064D447 /* SampleShaders.cpp in Sources */, 260E011D13B11F5B0064D447 /* SampleShapes.cpp in Sources */, - 260E011E13B11F5B0064D447 /* SampleSkLayer.cpp in Sources */, 260E011F13B11F5B0064D447 /* SampleSlides.cpp in Sources */, - 260E012013B11F5B0064D447 /* SampleStrokePath.cpp in Sources */, - 260E012113B11F5B0064D447 /* SampleStrokeText.cpp in Sources */, 260E012313B11F5B0064D447 /* SampleText.cpp in Sources */, 260E012413B11F5B0064D447 /* SampleTextAlpha.cpp in Sources */, 260E012513B11F5B0064D447 /* SampleTextBox.cpp in Sources */, 260E012613B11F5B0064D447 /* SampleTextEffects.cpp in Sources */, 260E012713B11F5B0064D447 /* SampleTextOnPath.cpp in Sources */, - 260E012813B11F5B0064D447 /* SampleTextureDomain.cpp in Sources */, - 260E012913B11F5B0064D447 /* SampleTiling.cpp in Sources */, - 260E012A13B11F5B0064D447 /* SampleTinyBitmap.cpp in Sources */, 260E012B13B11F5B0064D447 /* SampleTriangles.cpp in Sources */, 260E012C13B11F5B0064D447 /* SampleTypeface.cpp in Sources */, 260E012D13B11F5B0064D447 /* SampleUnitMapper.cpp in Sources */, 260E012E13B11F5B0064D447 /* SampleVertices.cpp in Sources */, - 260E012F13B11F5B0064D447 /* SampleXfermodes.cpp in Sources */, - 260E013013B11F5B0064D447 /* SampleXfermodesBlur.cpp in Sources */, 260E013113B11F5B0064D447 /* SkGPipeRead.cpp in Sources */, 260E013213B11F5B0064D447 /* SkGPipeWrite.cpp in Sources */, 260E02A213B1225D0064D447 /* Sk64.cpp in Sources */, @@ -3313,8 +3235,6 @@ 260E095813B134C90064D447 /* GrDrawMesh.cpp in Sources */, 260E147913B2734E0064D447 /* SkUISplitViewController.mm in Sources */, 260E16E613B2853F0064D447 /* SampleGM.cpp in Sources */, - 260E16F013B285540064D447 /* SampleFuzz.cpp in Sources */, - 260E16F213B285570064D447 /* SampleFontScalerTest.cpp in Sources */, 260E1DCD13B3AA490064D447 /* SkUINavigationController.mm in Sources */, 260E1EA213B3B15A0064D447 /* SkPDFCatalog.cpp in Sources */, 260E1EA313B3B15A0064D447 /* SkPDFDevice.cpp in Sources */, @@ -3363,9 +3283,28 @@ 268C50D613F022820003FF9A /* SkColorPalette.cpp in Sources */, 268C50D713F022820003FF9A /* SkNetPipeController.cpp in Sources */, 268C50DA13F022AF0003FF9A /* SampleDrawingClient.cpp in Sources */, - 268C50DB13F022AF0003FF9A /* SampleDrawingServer.cpp in Sources */, 268C50DF13F0230C0003FF9A /* SampleNetPipeReader.cpp in Sources */, 268C50E013F0230C0003FF9A /* SkSockets.cpp in Sources */, + 2605F44213F18B1B0044A072 /* DebuggerView.cpp in Sources */, + 2605F44313F18B1B0044A072 /* DebuggerCommandsView.cpp in Sources */, + 2605F44413F18B1B0044A072 /* SkDebugDumper.cpp in Sources */, + 2605F44513F18B1B0044A072 /* DebuggerStateView.cpp in Sources */, + 2605F65D13F19D1D0044A072 /* SamplePicture.cpp in Sources */, + 2605F66513F19EB80044A072 /* GrStencilBuffer.cpp in Sources */, + 2605F83013F1AE4B0044A072 /* xfermodes.cpp in Sources */, + 2605F83113F1AE4C0044A072 /* tilemodes.cpp in Sources */, + 2605F83213F1AE4C0044A072 /* shapes.cpp in Sources */, + 2605F83313F1AE4D0044A072 /* shadows.cpp in Sources */, + 2605F83413F1AE4D0044A072 /* shadertext.cpp in Sources */, + 2605F83513F1AE4E0044A072 /* poly2poly.cpp in Sources */, + 2605F83613F1AE4F0044A072 /* nocolorbleed.cpp in Sources */, + 2605F83713F1AE500044A072 /* points.cpp in Sources */, + 2605F83813F1AE500044A072 /* gradients.cpp in Sources */, + 2605F83913F1AE510044A072 /* filltypes.cpp in Sources */, + 2605F83A13F1AE520044A072 /* complexclip.cpp in Sources */, + 2605F83B13F1AE520044A072 /* blurs.cpp in Sources */, + 2605F83C13F1AE530044A072 /* bitmapfilters.cpp in Sources */, + 2645945F13F34FB100DCF534 /* test.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/gyp/CocoaDebuggerApp.gyp b/gyp/CocoaDebuggerApp.gyp deleted file mode 100644 index e53dfbb106..0000000000 --- a/gyp/CocoaDebuggerApp.gyp +++ /dev/null @@ -1,79 +0,0 @@ -{ - 'includes': [ - 'common.gypi', - ], - 'targets': [ - { - 'target_name': 'CocoaDebuggerApp', - 'type': 'executable', - 'mac_bundle' : 1, - - 'include_dirs' : [ - '../include/pipe', - '../experimental/CocoaDebugger', - '../experimental/SimpleCocoaApp', - ], - 'sources': [ - '../experimental/CocoaDebugger/SkCommandListView.cpp', - '../experimental/CocoaDebugger/SkContentView.cpp', - '../experimental/CocoaDebugger/SkDebugDumper.cpp', - '../experimental/CocoaDebugger/SkDumpCanvasM.cpp', - '../experimental/CocoaDebugger/SkInfoPanelView.cpp', - '../src/pipe/SkGPipeRead.cpp', - ], - 'dependencies': [ - 'core.gyp:core', - 'effects.gyp:effects', - 'opts.gyp:opts', - 'utils.gyp:utils', - 'views.gyp:views', - 'xml.gyp:xml', - ], - 'conditions' : [ - # Only supports Mac currently - ['skia_os == "mac"', { - 'sources': [ - '../experimental/CocoaDebugger/CocoaDebugger-Info.plist', - '../experimental/CocoaDebugger/CocoaDebugger_Prefix.pch', - '../experimental/CocoaDebugger/CocoaDebuggerAppDelegate.mm', - '../experimental/CocoaDebugger/main.m', - '../experimental/CocoaDebugger/SkDebugger.mm', - '../experimental/CocoaDebugger/SkMenuController.mm', - '../experimental/SimpleCocoaApp/SkNSView.mm', - '../experimental/SimpleCocoaApp/SkNSWindow.mm', - '../include/utils/mac/SkCGUtils.h', - '../src/utils/mac/SkCreateCGImageRef.cpp', - ], - 'link_settings': { - 'libraries': [ - '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework', - '$(SDKROOT)/System/Library/Frameworks/AppKit.framework', - '$(SDKROOT)/System/Library/Frameworks/Foundation.framework', - '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework', - ], - 'libraries!': [ - # Currently skia mac apps rely on Carbon and AGL for UI. Future - # apps should use Cocoa instead and dependencies on Carbon and AGL - # should eventually be removed - '$(SDKROOT)/System/Library/Frameworks/Carbon.framework', - '$(SDKROOT)/System/Library/Frameworks/AGL.framework', - ], - }, - 'xcode_settings' : { - 'INFOPLIST_FILE' : '../experimental/CocoaDebugger/CocoaDebugger-Info.plist', - }, - 'mac_bundle_resources' : [ - '../experimental/CocoaDebugger/English.lproj/InfoPlist.strings', - '../experimental/CocoaDebugger/English.lproj/MainMenu.xib', - ], - }], - ], - }, - ], -} - -# Local Variables: -# tab-width:2 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=2 shiftwidth=2: diff --git a/gyp/CocoaSampleApp.gyp b/gyp/CocoaSampleApp.gyp index 8dccce53f7..27846e1811 100644 --- a/gyp/CocoaSampleApp.gyp +++ b/gyp/CocoaSampleApp.gyp @@ -14,104 +14,104 @@ ], 'sources': [ # gm files needed for SampleGM.cpp - '../gm/bitmapfilters.cpp', - '../gm/blurs.cpp', - '../gm/complexclip.cpp', - '../gm/filltypes.cpp', - '../gm/gm.h', - '../gm/gradients.cpp', - '../gm/nocolorbleed.cpp', - '../gm/points.cpp', - '../gm/poly2poly.cpp', - '../gm/shadertext.cpp', - '../gm/shadows.cpp', - '../gm/shapes.cpp', - '../gm/tilemodes.cpp', - '../gm/xfermodes.cpp', + #'../gm/bitmapfilters.cpp', + #'../gm/blurs.cpp', + #'../gm/complexclip.cpp', + #'../gm/filltypes.cpp', + #'../gm/gm.h', + #'../gm/gradients.cpp', + #'../gm/nocolorbleed.cpp', + #'../gm/points.cpp', + #'../gm/poly2poly.cpp', + #'../gm/shadertext.cpp', + #'../gm/shadows.cpp', + #'../gm/shapes.cpp', + #'../gm/tilemodes.cpp', + #'../gm/xfermodes.cpp', - '../samplecode/ClockFaceView.cpp', + #'../samplecode/ClockFaceView.cpp', '../samplecode/OverView.cpp', - '../samplecode/Sample2PtRadial.cpp', - '../samplecode/SampleAll.cpp', - '../samplecode/SampleAnimator.cpp', + #'../samplecode/Sample2PtRadial.cpp', + #'../samplecode/SampleAll.cpp', + #'../samplecode/SampleAnimator.cpp', '../samplecode/SampleApp.cpp', '../samplecode/SampleArc.cpp', '../samplecode/SampleAvoid.cpp', - '../samplecode/SampleBigBlur.cpp', - '../samplecode/SampleBigGradient.cpp', - '../samplecode/SampleBitmapRect.cpp', + #'../samplecode/SampleBigBlur.cpp', + #'../samplecode/SampleBigGradient.cpp', + #'../samplecode/SampleBitmapRect.cpp', '../samplecode/SampleBlur.cpp', - '../samplecode/SampleCamera.cpp', - '../samplecode/SampleCircle.cpp', + #'../samplecode/SampleCamera.cpp', + #'../samplecode/SampleCircle.cpp', '../samplecode/SampleCode.h', - '../samplecode/SampleColorFilter.cpp', + #'../samplecode/SampleColorFilter.cpp', '../samplecode/SampleComplexClip.cpp', - '../samplecode/SampleConcavePaths.cpp', + #'../samplecode/SampleConcavePaths.cpp', '../samplecode/SampleCull.cpp', - '../samplecode/SampleDecode.cpp', + #'../samplecode/SampleDecode.cpp', '../samplecode/SampleDegenerateTwoPtRadials.cpp', - '../samplecode/SampleDither.cpp', - '../samplecode/SampleDitherBitmap.cpp', - '../samplecode/SampleDrawBitmap.cpp', - '../samplecode/SampleDrawLooper.cpp', - '../samplecode/SampleEffects.cpp', - '../samplecode/SampleEmboss.cpp', - '../samplecode/SampleEncode.cpp', - '../samplecode/SampleExtractAlpha.cpp', + #'../samplecode/SampleDither.cpp', + #'../samplecode/SampleDitherBitmap.cpp', + #'../samplecode/SampleDrawBitmap.cpp', + #'../samplecode/SampleDrawLooper.cpp', + #'../samplecode/SampleEffects.cpp', + #'../samplecode/SampleEmboss.cpp', + #'../samplecode/SampleEncode.cpp', + #'../samplecode/SampleExtractAlpha.cpp', '../samplecode/SampleFillType.cpp', - '../samplecode/SampleFilter.cpp', - '../samplecode/SampleFilter2.cpp', - '../samplecode/SampleFontCache.cpp', - '../samplecode/SampleFontScalerTest.cpp', - '../samplecode/SampleFuzz.cpp', - '../samplecode/SampleGM.cpp', - '../samplecode/SampleGradients.cpp', - '../samplecode/SampleHairline.cpp', - '../samplecode/SampleImage.cpp', - '../samplecode/SampleImageDir.cpp', - '../samplecode/SampleLayerMask.cpp', - '../samplecode/SampleLayers.cpp', + #'../samplecode/SampleFilter.cpp', + #'../samplecode/SampleFilter2.cpp', + #'../samplecode/SampleFontCache.cpp', + #'../samplecode/SampleFontScalerTest.cpp', + #'../samplecode/SampleFuzz.cpp', + #'../samplecode/SampleGM.cpp', + #'../samplecode/SampleGradients.cpp', + #'../samplecode/SampleHairline.cpp', + #'../samplecode/SampleImage.cpp', + #'../samplecode/SampleImageDir.cpp', + #'../samplecode/SampleLayerMask.cpp', + #'../samplecode/SampleLayers.cpp', '../samplecode/SampleLCD.cpp', '../samplecode/SampleLineClipper.cpp', - '../samplecode/SampleLines.cpp', - '../samplecode/SampleMeasure.cpp', - '../samplecode/SampleMipMap.cpp', - '../samplecode/SampleMovie.cpp', - '../samplecode/SampleNinePatch.cpp', - '../samplecode/SampleOvalTest.cpp', - '../samplecode/SampleOverflow.cpp', - '../samplecode/SamplePageFlip.cpp', - '../samplecode/SamplePatch.cpp', + #'../samplecode/SampleLines.cpp', + #'../samplecode/SampleMeasure.cpp', + #'../samplecode/SampleMipMap.cpp', + #'../samplecode/SampleMovie.cpp', + #'../samplecode/SampleNinePatch.cpp', + #'../samplecode/SampleOvalTest.cpp', + #'../samplecode/SampleOverflow.cpp', + #'../samplecode/SamplePageFlip.cpp', + #'../samplecode/SamplePatch.cpp', '../samplecode/SamplePath.cpp', '../samplecode/SamplePathClip.cpp', '../samplecode/SamplePathEffects.cpp', '../samplecode/SamplePicture.cpp', '../samplecode/SamplePoints.cpp', '../samplecode/SamplePolyToPoly.cpp', - '../samplecode/SampleAARects.cpp', + ##'../samplecode/SampleAARects.cpp', '../samplecode/SampleRegion.cpp', - '../samplecode/SampleRepeatTile.cpp', - '../samplecode/SampleShaders.cpp', - '../samplecode/SampleShaderText.cpp', - '../samplecode/SampleShapes.cpp', - '../samplecode/SampleSkLayer.cpp', + #'../samplecode/SampleRepeatTile.cpp', + #'../samplecode/SampleShaders.cpp', + #'../samplecode/SampleShaderText.cpp', + #'../samplecode/SampleShapes.cpp', + #'../samplecode/SampleSkLayer.cpp', '../samplecode/SampleSlides.cpp', - '../samplecode/SampleStrokePath.cpp', - '../samplecode/SampleStrokeText.cpp', - '../samplecode/SampleTests.cpp', - '../samplecode/SampleText.cpp', - '../samplecode/SampleTextAlpha.cpp', + #'../samplecode/SampleStrokePath.cpp', + #'../samplecode/SampleStrokeText.cpp', + #'../samplecode/SampleTests.cpp', + #'../samplecode/SampleText.cpp', + #'../samplecode/SampleTextAlpha.cpp', '../samplecode/SampleTextBox.cpp', '../samplecode/SampleTextEffects.cpp', '../samplecode/SampleTextOnPath.cpp', - '../samplecode/SampleTextureDomain.cpp', - '../samplecode/SampleTiling.cpp', - '../samplecode/SampleTinyBitmap.cpp', + #'../samplecode/SampleTextureDomain.cpp', + #'../samplecode/SampleTiling.cpp', + #'../samplecode/SampleTinyBitmap.cpp', '../samplecode/SampleTriangles.cpp', '../samplecode/SampleTypeface.cpp', '../samplecode/SampleUnitMapper.cpp', - '../samplecode/SampleVertices.cpp', - '../samplecode/SampleXfermodes.cpp', + #'../samplecode/SampleVertices.cpp', + #'../samplecode/SampleXfermodes.cpp', '../samplecode/SampleXfermodesBlur.cpp', '../samplecode/TransitionView.cpp', @@ -124,13 +124,21 @@ '../experimental/DrawingBoard/SkColorPalette.cpp', '../experimental/DrawingBoard/SkNetPipeController.h', '../experimental/DrawingBoard/SkNetPipeController.cpp', - '../experimental/DrawingBoard/SampleDrawingClient.cpp', + #'../experimental/DrawingBoard/SampleDrawingClient.cpp', '../experimental/DrawingBoard/SampleDrawingServer.cpp', # Networking '../experimental/Networking/SampleNetPipeReader.cpp', '../experimental/Networking/SkSockets.cpp', '../experimental/Networking/SkSockets.h', + + # Debugger + '../experimental/Debugger/DebuggerViews.h', + '../experimental/Debugger/DebuggerContentView.cpp', + '../experimental/Debugger/DebuggerCommandsView.cpp', + '../experimental/Debugger/DebuggerStateView.cpp', + '../experimental/Debugger/SkDebugDumper.cpp', + '../experimental/Debugger/SkDebugDumper.h', ], 'sources!': [ '../samplecode/SampleSkLayer.cpp', #relies on SkMatrix44 which doesn't compile diff --git a/gyp/SimpleCocoaApp.gyp b/gyp/SimpleCocoaApp.gyp index ead9fe4f98..1725f12bb3 100644 --- a/gyp/SimpleCocoaApp.gyp +++ b/gyp/SimpleCocoaApp.gyp @@ -12,12 +12,16 @@ ], 'sources': [ '../experimental/SimpleCocoaApp/main.m', + '../experimental/SimpleCocoaApp/SampleWindow.h', '../experimental/SimpleCocoaApp/SampleWindow.mm', - '../experimental/SimpleCocoaApp/SimpleCocoaApp-Info.plist', - '../experimental/SimpleCocoaApp/SimpleCocoaApp_Prefix.pch', + '../experimental/SimpleCocoaApp/SimpleCocoaAppDelegate.h', '../experimental/SimpleCocoaApp/SimpleCocoaAppDelegate.mm', + '../experimental/SimpleCocoaApp/SkNSView.h', '../experimental/SimpleCocoaApp/SkNSView.mm', + '../experimental/SimpleCocoaApp/SkNSWindow.h', '../experimental/SimpleCocoaApp/SkNSWindow.mm', + '../experimental/SimpleCocoaApp/SimpleCocoaApp-Info.plist', + '../experimental/SimpleCocoaApp/SimpleCocoaApp_Prefix.pch', ], 'dependencies': [ 'core.gyp:core', diff --git a/include/views/SkOSMenu.h b/include/views/SkOSMenu.h index 763499e073..0c4a619efa 100644 --- a/include/views/SkOSMenu.h +++ b/include/views/SkOSMenu.h @@ -66,18 +66,19 @@ public: SkUnichar getKeyEquivalent() const { return fKey; } /** - * Post event associated with the menu item to target, any changes to - * the associated event must be made prior to calling this method + * Helper functions for predefined types */ - void postEvent() const { (new SkEvent(*(fEvent)))->post(); } + void setBool(bool value) const; //For Switch + void setScalar(SkScalar value) const; //For Slider + void setInt(int value) const; //For List + void setTriState(TriState value) const; //For Tristate + void setString(const char value[]) const; //For TextField /** - * Helper functions for predefined types + * Post event associated with the menu item to target, any changes to + * the associated event must be made prior to calling this method */ - void postEventWithBool(bool value) const; //For Switch - void postEventWithScalar(SkScalar value) const; //For Slider - void postEventWithInt(int value) const; //For List, TriState - void postEventWithString(const char value[]) const; //For TextField + void postEvent() const { (new SkEvent(*(fEvent)))->post(); } private: int fID; @@ -88,11 +89,12 @@ public: SkUnichar fKey; }; - void reset(); + void reset(); const char* getTitle() const { return fTitle.c_str(); } void setTitle (const char title[]) { fTitle.set(title); } - int countItems() const { return fItems.count(); } - const Item* getItem(int index) const { return fItems[index]; } + int getCount() const { return fItems.count(); } + const Item* getItemByID(int itemID) const; + void getItems(const Item* items[]) const; /** * Assign key to the menu item with itemID, will do nothing if there's no @@ -143,30 +145,30 @@ public: * Helper functions to retrieve information other than the stored value for * some predefined types */ - static bool FindListItemCount(const SkEvent* evt, int* count); + static bool FindListItemCount(const SkEvent& evt, int* count); /** * Ensure that the items array can store n SkStrings where n is the count * extracted using FindListItemCount */ - static bool FindListItems(const SkEvent* evt, SkString items[]); - static bool FindSliderMin(const SkEvent* evt, SkScalar* min); - static bool FindSliderMax(const SkEvent* evt, SkScalar* max); + static bool FindListItems(const SkEvent& evt, SkString items[]); + static bool FindSliderMin(const SkEvent& evt, SkScalar* min); + static bool FindSliderMax(const SkEvent& evt, SkScalar* max); /** * Returns true if an action with the given label is found, false otherwise */ - static bool FindAction(const SkEvent* evt, const char label[]); + static bool FindAction(const SkEvent& evt, const char label[]); /** * The following helper functions will return true if evt is generated from * a predefined item type and retrieve the corresponding state information. * They will return false and leave value unchanged if there's a type * mismatch or slotName is incorrect */ - static bool FindListIndex(const SkEvent* evt, const char slotName[], int* value); - static bool FindSliderValue(const SkEvent* evt, const char slotName[], SkScalar* value); - static bool FindSwitchState(const SkEvent* evt, const char slotName[], bool* value); - static bool FindTriState(const SkEvent* evt, const char slotName[], TriState* value); - static bool FindText(const SkEvent* evt, const char slotName[], SkString* value); + static bool FindListIndex(const SkEvent& evt, const char slotName[], int* value); + static bool FindSliderValue(const SkEvent& evt, const char slotName[], SkScalar* value); + static bool FindSwitchState(const SkEvent& evt, const char slotName[], bool* value); + static bool FindTriState(const SkEvent& evt, const char slotName[], TriState* value); + static bool FindText(const SkEvent& evt, const char slotName[], SkString* value); private: SkString fTitle; diff --git a/samplecode/OverView.cpp b/samplecode/OverView.cpp index 8a9359aed6..1a6d9e9660 100644 --- a/samplecode/OverView.cpp +++ b/samplecode/OverView.cpp @@ -13,6 +13,11 @@ static const int N = 8; const SkScalar W = SkIntToScalar(640); const SkScalar H = SkIntToScalar(480); +static const char gIsOverview[] = "is-overview"; +bool is_overview(SkView* view) { + SkEvent isOverview(gIsOverview); + return view->doQuery(&isOverview); +} class OverView : public SkView { public: OverView(int count, const SkViewFactory factories[]); @@ -33,6 +38,9 @@ protected: SampleCode::TitleR(evt, "Overview"); return true; } + if (evt->isType(gIsOverview)) { + return true; + } return this->INHERITED::onQuery(evt); } diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index 15d1c28798..e450a95824 100644 --- a/samplecode/SampleApp.cpp +++ b/samplecode/SampleApp.cpp @@ -29,7 +29,7 @@ #include "SkPDFDocument.h" #include "SkStream.h" -#define TEST_GPIPEx +#define TEST_GPIPE #ifdef TEST_GPIPE #define PIPE_FILEx @@ -42,13 +42,24 @@ #include "SkSockets.h" SkTCPServer gServer; #endif + +#define DEBUGGERx +#ifdef DEBUGGER +extern SkView* create_debugger(const char* data, size_t size); +extern bool is_debugger(SkView* view); +SkTDArray<char> gTempDataStore; +#endif + #endif #define USE_ARROWS_FOR_ZOOM true //#define DEFAULT_TO_GPU extern SkView* create_overview(int, const SkViewFactory[]); +extern bool is_overview(SkView* view); extern SkView* create_transition(SkView*, SkView*, int); +extern bool is_transition(SkView* view); + #define ANIMATING_EVENTTYPE "nextSample" #define ANIMATING_DELAY 750 @@ -438,6 +449,7 @@ SampleWindow::SampleWindow(void* hwnd, int argc, char** argv, DeviceManager* dev fZoomScale = SK_Scalar1; fMagnify = false; + fDebugger = false; fSaveToPdf = false; fPdfCanvas = NULL; @@ -449,7 +461,8 @@ SampleWindow::SampleWindow(void* hwnd, int argc, char** argv, DeviceManager* dev fAppMenu.setTitle("Global Settings"); int itemID; - itemID =fAppMenu.appendList("Device Type", "Device Type", sinkID, 0, "Raster", "Picture", "OpenGL", NULL); + itemID =fAppMenu.appendList("Device Type", "Device Type", sinkID, 0, + "Raster", "Picture", "OpenGL", NULL); fAppMenu.assignKeyEquivalentToItem(itemID, 'd'); itemID = fAppMenu.appendTriState("AA", "AA", sinkID, fAAState); fAppMenu.assignKeyEquivalentToItem(itemID, 'b'); @@ -459,14 +472,16 @@ SampleWindow::SampleWindow(void* hwnd, int argc, char** argv, DeviceManager* dev fAppMenu.assignKeyEquivalentToItem(itemID, 'n'); itemID = fAppMenu.appendTriState("Hinting", "Hinting", sinkID, fHintingState); fAppMenu.assignKeyEquivalentToItem(itemID, 'h'); - itemID = fAppMenu.appendSwitch("Pipe", "Pipe" , sinkID, fUsePipe); - fAppMenu.assignKeyEquivalentToItem(itemID, 'p'); + fUsePipeMenuItemID = fAppMenu.appendSwitch("Pipe", "Pipe" , sinkID, fUsePipe); + fAppMenu.assignKeyEquivalentToItem(fUsePipeMenuItemID, 'p'); +#ifdef DEBUGGER + itemID = fAppMenu.appendSwitch("Debugger", "Debugger", sinkID, fDebugger); + fAppMenu.assignKeyEquivalentToItem(itemID, 'q'); +#endif itemID = fAppMenu.appendSwitch("Slide Show", "Slide Show" , sinkID, false); fAppMenu.assignKeyEquivalentToItem(itemID, 'a'); itemID = fAppMenu.appendSwitch("Clip", "Clip" , sinkID, fUseClip); fAppMenu.assignKeyEquivalentToItem(itemID, 'c'); - itemID = fAppMenu.appendSwitch("Measure FPS", "Measure FPS" , sinkID, fMeasureFPS); - fAppMenu.assignKeyEquivalentToItem(itemID, 'f'); itemID = fAppMenu.appendSwitch("Flip X", "Flip X" , sinkID, false); fAppMenu.assignKeyEquivalentToItem(itemID, 'x'); itemID = fAppMenu.appendSwitch("Flip Y", "Flip Y" , sinkID, false); @@ -914,7 +929,7 @@ void SampleWindow::afterChildren(SkCanvas* orig) { this->inval(NULL); return; } - + if (fRequestGrabImage) { fRequestGrabImage = false; @@ -969,7 +984,24 @@ void SampleWindow::afterChildren(SkCanvas* orig) { r.set(50, 50, 50+100, 50+100); bm.scrollRect(&r, dx, dy, &inval); paint_rgn(bm, r, inval); - } + } +#ifdef DEBUGGER + SkView* curr = curr_view(this); + if (fDebugger && !is_debugger(curr) && !is_transition(curr) && !is_overview(curr)) { + //Stop Pipe when fDebugger is active + fUsePipe = false; + (void)SampleView::SetUsePipe(curr, false); + fAppMenu.getItemByID(fUsePipeMenuItemID)->setBool(fUsePipe); + this->onUpdateMenu(&fAppMenu); + + //Reset any transformations + fGesture.stop(); + fGesture.reset(); + + this->loadView(create_debugger(gTempDataStore.begin(), + gTempDataStore.count())); + } +#endif } void SampleWindow::beforeChild(SkView* child, SkCanvas* canvas) { @@ -1000,7 +1032,7 @@ void SampleWindow::beforeChild(SkView* child, SkCanvas* canvas) { } else { (void)SampleView::SetRepeatDraw(child, 1); } - (void)SampleView::SetUsePipe(child, fUsePipe); + //(void)SampleView::SetUsePipe(child, fUsePipe); } void SampleWindow::afterChild(SkView* child, SkCanvas* canvas) { @@ -1089,8 +1121,8 @@ bool SampleWindow::onEvent(const SkEvent& evt) { } return true; } - if (evt.isType("unref-transition-view")) { - SkEventSink::FindSink(evt.getFast32())->unref(); + if (evt.isType("replace-transition-view")) { + this->loadView((SkView*)SkEventSink::FindSink(evt.getFast32())); return true; } if (evt.isType("set-curr-index")) { @@ -1102,49 +1134,65 @@ bool SampleWindow::onEvent(const SkEvent& evt) { return true; } int selected = -1; - if (SkOSMenu::FindListIndex(&evt, "Device Type", &selected)) { + if (SkOSMenu::FindListIndex(evt, "Device Type", &selected)) { this->setDeviceType((DeviceType)selected); return true; } - if (SkOSMenu::FindSwitchState(&evt, "Pipe", NULL)) { - this->togglePipe(); + if (SkOSMenu::FindSwitchState(evt, "Pipe", &fUsePipe)) { +#ifdef PIPE_NET + if (!fUsePipe) + gServer.disconnectAll(); +#endif + (void)SampleView::SetUsePipe(curr_view(this), fUsePipe); + this->updateTitle(); + this->inval(NULL); return true; } - if (SkOSMenu::FindSwitchState(&evt, "Slide Show", NULL)) { + if (SkOSMenu::FindSwitchState(evt, "Slide Show", NULL)) { this->toggleSlideshow(); return true; } - if (SkOSMenu::FindTriState(&evt, "AA", &fAAState) || - SkOSMenu::FindTriState(&evt, "LCD", &fLCDState) || - SkOSMenu::FindTriState(&evt, "Filter", &fFilterState) || - SkOSMenu::FindTriState(&evt, "Hinting", &fHintingState) || - SkOSMenu::FindSwitchState(&evt, "Clip", &fUseClip) || - SkOSMenu::FindSwitchState(&evt, "Zoomer", &fShowZoomer) || - SkOSMenu::FindSwitchState(&evt, "Magnify", &fMagnify) || - SkOSMenu::FindSwitchState(&evt, "Measure FPS", &fMeasureFPS) || - SkOSMenu::FindListIndex(&evt, "Transition-Next", &fTransitionNext) || - SkOSMenu::FindListIndex(&evt, "Transition-Prev", &fTransitionPrev)) { + if (SkOSMenu::FindTriState(evt, "AA", &fAAState) || + SkOSMenu::FindTriState(evt, "LCD", &fLCDState) || + SkOSMenu::FindTriState(evt, "Filter", &fFilterState) || + SkOSMenu::FindTriState(evt, "Hinting", &fHintingState) || + SkOSMenu::FindSwitchState(evt, "Clip", &fUseClip) || + SkOSMenu::FindSwitchState(evt, "Zoomer", &fShowZoomer) || + SkOSMenu::FindSwitchState(evt, "Magnify", &fMagnify) || + SkOSMenu::FindListIndex(evt, "Transition-Next", &fTransitionNext) || + SkOSMenu::FindListIndex(evt, "Transition-Prev", &fTransitionPrev)) { this->inval(NULL); this->updateTitle(); return true; } - if (SkOSMenu::FindSwitchState(&evt, "Flip X", NULL)) { + if (SkOSMenu::FindSwitchState(evt, "Flip X", NULL)) { fFlipAxis ^= kFlipAxis_X; this->updateTitle(); this->inval(NULL); return true; } - if (SkOSMenu::FindSwitchState(&evt, "Flip Y", NULL)) { + if (SkOSMenu::FindSwitchState(evt, "Flip Y", NULL)) { fFlipAxis ^= kFlipAxis_Y; this->updateTitle(); this->inval(NULL); return true; } - - if (SkOSMenu::FindAction(&evt,"Save to PDF")) { + if (SkOSMenu::FindAction(evt,"Save to PDF")) { this->saveToPdf(); return true; - } + } +#ifdef DEBUGGER + if (SkOSMenu::FindSwitchState(evt, "Debugger", &fDebugger)) { + if (fDebugger) { + fUsePipe = true; + (void)SampleView::SetUsePipe(curr_view(this), true); + } else { + this->loadView(fSamples[fCurrIndex]()); + } + this->inval(NULL); + return true; + } +#endif return this->INHERITED::onEvent(evt); } @@ -1230,6 +1278,12 @@ bool SampleWindow::onHandleChar(SkUnichar uni) { case 'd': SkGraphics::SetFontCacheUsed(0); return true; + case 'f': + // only + fMeasureFPS = !fMeasureFPS; + this->updateTitle(); + this->inval(NULL); + break; case 'g': fRequestGrabImage = true; this->inval(NULL); @@ -1285,16 +1339,6 @@ void SampleWindow::toggleRendering() { this->inval(NULL); } -void SampleWindow::togglePipe() { - fUsePipe = !fUsePipe; -#ifdef PIPE_NET - if (!fUsePipe) - gServer.disconnectAll(); -#endif - this->updateTitle(); - this->inval(NULL); -} - #include "SkDumpCanvas.h" bool SampleWindow::onHandleKey(SkKey key) { @@ -1427,7 +1471,7 @@ void SampleWindow::loadView(SkView* view) { if (prev) { prev->detachFromParent(); } - + view->setVisibleP(true); view->setClipToBounds(false); this->attachChildToFront(view)->unref(); @@ -1435,10 +1479,16 @@ void SampleWindow::loadView(SkView* view) { //repopulate the slide menu when a view is loaded fSlideMenu.reset(); +#ifdef DEBUGGER + if (!is_debugger(view) && !is_overview(view) && !is_transition(view) && fDebugger) { + //Force Pipe to be on if using debugger + fUsePipe = true; + } +#endif + (void)SampleView::SetUsePipe(view, fUsePipe); if (SampleView::IsSampleView(view)) ((SampleView*)view)->requestMenu(&fSlideMenu); this->onUpdateMenu(&fSlideMenu); - this->updateTitle(); } @@ -1648,10 +1698,9 @@ SimplePC::SimplePC(SkCanvas* target) : fReader(target) { SimplePC::~SimplePC() { // SkASSERT(SkGPipeReader::kDone_Status == fStatus); if (fTotalWritten) { - SkDebugf("--- %d bytes %d atoms, status %d\n", fTotalWritten, - fAtomsWritten, fStatus); - if (fWriteToPipe) { + SkDebugf("--- %d bytes %d atoms, status %d\n", fTotalWritten, + fAtomsWritten, fStatus); #ifdef PIPE_FILE //File is open in append mode FILE* f = fopen(FILE_PATH, "ab"); @@ -1665,6 +1714,10 @@ SimplePC::~SimplePC() { gServer.writePacket(fBlock, fTotalWritten); } #endif +#ifdef DEBUGGER + gTempDataStore.reset(); + gTempDataStore.append(fTotalWritten, (const char*)fBlock); +#endif } } sk_free(fBlock); @@ -1701,6 +1754,9 @@ void SampleView::draw(SkCanvas* canvas) { canvas = writer.startRecording(&controller, flags); //Must draw before controller goes out of scope and sends data this->INHERITED::draw(canvas); + //explicitly end recording to ensure writer is flushed before the memory + //is freed in the deconstructor of the controller + writer.endRecording(); controller.setWriteToPipe(fUsePipe); } else diff --git a/samplecode/SampleApp.h b/samplecode/SampleApp.h index 07c6452435..729b7b1139 100644 --- a/samplecode/SampleApp.h +++ b/samplecode/SampleApp.h @@ -82,7 +82,6 @@ public: void toggleRendering(); void toggleSlideshow(); void toggleFPS(); - void togglePipe(); void showOverview(); GrContext* getGrContext() const { return fDevManager->getGrContext(); } @@ -144,11 +143,15 @@ private: bool fRotate; bool fScale; bool fRequestGrabImage; - bool fUsePipe; bool fMeasureFPS; SkMSec fMeasureFPS_Time; bool fMagnify; + + bool fUsePipe; + int fUsePipeMenuItemID; + bool fDebugger; + // The following are for the 'fatbits' drawing // Latest position of the mouse. int fMouseX, fMouseY; diff --git a/samplecode/TransitionView.cpp b/samplecode/TransitionView.cpp index 8cf322770a..99d1275fd9 100644 --- a/samplecode/TransitionView.cpp +++ b/samplecode/TransitionView.cpp @@ -10,9 +10,12 @@ #include "SkTime.h" #include "SkInterpolator.h" +extern bool is_overview(SkView* view); + static const char gIsTransitionQuery[] = "is-transition"; static const char gReplaceTransitionEvt[] = "replace-transition-view"; -static bool isTransition(SkView* view) { + +bool is_transition(SkView* view) { SkEvent isTransition(gIsTransitionQuery); return view->doQuery(&isTransition); } @@ -37,10 +40,13 @@ public: //Calling unref because next is a newly created view and TransitionView //is now the sole owner of fNext this->attachChildToFront(fNext)->unref(); + + fDone = false; + //SkDebugf("--created transition\n"); } ~TransitionView(){ - //SkDebugf("deleted transition\n"); + //SkDebugf("--deleted transition\n"); } virtual void requestMenu(SkOSMenu* menu) { @@ -72,11 +78,30 @@ protected: this->attachChildToBack(fPrev)->unref(); this->inval(NULL); return true; - } + } + if (evt.isType("transition-done")) { + fNext->setLoc(0, 0); + fNext->setClipToBounds(false); + SkEvent* evt = new SkEvent(gReplaceTransitionEvt, + this->getParent()->getSinkID()); + evt->setFast32(fNext->getSinkID()); + //increate ref count of fNext so it survives detachAllChildren + fNext->ref(); + this->detachAllChildren(); + evt->post(); + return true; + } return this->INHERITED::onEvent(evt); } virtual void onDrawBackground(SkCanvas* canvas) {} virtual void onDrawContent(SkCanvas* canvas) { + if (fDone) + return; + + if (is_overview(fNext) || is_overview(fPrev)) { + fUsePipe = false; + } + SkScalar values[4]; SkInterpolator::Result result = fInterp.timeToValues(SkTime::GetMSecs(), values); //SkDebugf("transition %x %d pipe:%d\n", this, result, fUsePipe); @@ -89,35 +114,9 @@ protected: this->inval(NULL); } else { - fNext->setLocX(0); - fNext->setLocY(0); - fNext->setClipToBounds(false); - - SkView* parent = this->getParent(); - int id = this->getParent()->getSinkID(); - - SkEvent* evt; - if (isTransition(parent)) { - evt = new SkEvent(gReplaceTransitionEvt, id); - evt->setFast32(fNext->getSinkID()); - //increate ref count of fNext so it survives detachAllChildren - fNext->ref(); - } - else { - parent->attachChildToFront(fNext); - (void)SampleView::SetUsePipe(fNext, fUsePipe); - evt = new SkEvent("unref-transition-view", id); - evt->setFast32(this->getSinkID()); - fUsePipe = false; - //keep this(TransitionView) alive so it can be deleted by its - //parent through the unref-transition-view event - this->ref(); - this->detachFromParent(); - } - this->detachAllChildren(); - evt->post(); + (new SkEvent("transition-done", this->getSinkID()))->post(); + fDone = true; } - this->inval(NULL); } virtual void onSizeChange() { @@ -142,7 +141,7 @@ protected: fNext->setLocX(lr); fNext->setLocY(ud); - if (isTransition(fPrev)) + if (is_transition(fPrev)) lr = ud = 0; fEnd[kPrevX] = -lr; fEnd[kPrevY] = -ud; @@ -161,6 +160,7 @@ private: }; SkView* fPrev; SkView* fNext; + bool fDone; SkInterpolator fInterp; enum Direction{ diff --git a/src/views/SkOSMenu.cpp b/src/views/SkOSMenu.cpp index ce3894aeb4..ed37541438 100644 --- a/src/views/SkOSMenu.cpp +++ b/src/views/SkOSMenu.cpp @@ -23,6 +23,22 @@ void SkOSMenu::reset() { fTitle.reset(); } +const SkOSMenu::Item* SkOSMenu::getItemByID(int itemID) const { + for (int i = 0; i < fItems.count(); ++i) { + if (itemID == fItems[i]->getID()) + return fItems[i]; + } + return NULL; +} + +void SkOSMenu::getItems(const SkOSMenu::Item* items[]) const { + if (NULL != items) { + for (int i = 0; i < fItems.count(); ++i) { + items[i] = fItems[i]; + } + } +} + void SkOSMenu::assignKeyEquivalentToItem(int itemID, SkUnichar key) { for (int i = 0; i < fItems.count(); ++i) { if (itemID == fItems[i]->getID()) @@ -40,31 +56,31 @@ bool SkOSMenu::handleKeyEquivalent(SkUnichar key) { SkString list; switch (item->getType()) { case kList_Type: - SkOSMenu::FindListItemCount(item->getEvent(), &size); - SkOSMenu::FindListIndex(item->getEvent(), item->getSlotName(), &value); + SkOSMenu::FindListItemCount(*item->getEvent(), &size); + SkOSMenu::FindListIndex(*item->getEvent(), item->getSlotName(), &value); value = (value + 1) % size; - item->postEventWithInt(value); + item->setInt(value); break; case kSwitch_Type: - SkOSMenu::FindSwitchState(item->getEvent(), item->getSlotName(), &state); - item->postEventWithBool(!state); + SkOSMenu::FindSwitchState(*item->getEvent(), item->getSlotName(), &state); + item->setBool(!state); break; case kTriState_Type: - SkOSMenu::FindTriState(item->getEvent(), item->getSlotName(), &tristate); + SkOSMenu::FindTriState(*item->getEvent(), item->getSlotName(), &tristate); if (kOnState == tristate) tristate = kMixedState; else tristate = (SkOSMenu::TriState)((int)tristate + 1); - item->postEventWithInt(tristate); + item->setTriState(tristate); break; case kAction_Type: case kCustom_Type: case kSlider_Type: case kTextField_Type: default: - item->postEvent(); break; } + item->postEvent(); return true; } } @@ -83,28 +99,29 @@ SkOSMenu::Item::Item(const char label[], SkOSMenu::Type type, fID = sk_atomic_inc(&gOSMenuCmd); } -void SkOSMenu::Item::postEventWithBool(bool value) const { +void SkOSMenu::Item::setBool(bool value) const { SkASSERT(SkOSMenu::kSwitch_Type == fType); fEvent->setBool(fSlotName.c_str(), value); - this->postEvent(); } -void SkOSMenu::Item::postEventWithScalar(SkScalar value) const { +void SkOSMenu::Item::setScalar(SkScalar value) const { SkASSERT(SkOSMenu::kSlider_Type == fType); fEvent->setScalar(fSlotName.c_str(), value); - this->postEvent(); } -void SkOSMenu::Item::postEventWithInt(int value) const { - SkASSERT(SkOSMenu::kList_Type == fType || SkOSMenu::kTriState_Type == fType); +void SkOSMenu::Item::setInt(int value) const { + SkASSERT(SkOSMenu::kList_Type == fType); + fEvent->setS32(fSlotName.c_str(), value); +} + +void SkOSMenu::Item::setTriState(TriState value) const { + SkASSERT(SkOSMenu::kTriState_Type == fType); fEvent->setS32(fSlotName.c_str(), value); - this->postEvent(); } -void SkOSMenu::Item::postEventWithString(const char value[]) const { +void SkOSMenu::Item::setString(const char value[]) const { SkASSERT(SkOSMenu::kTextField_Type == fType); fEvent->setString(fSlotName.c_str(), value); - this->postEvent(); } //////////////////////////////////////////////////////////////////////////////// @@ -182,13 +199,13 @@ int SkOSMenu::appendTextField(const char label[], const char slotName[], return appendItem(label, SkOSMenu::kTextField_Type, slotName, evt); } -bool SkOSMenu::FindListItemCount(const SkEvent* evt, int* count) { - return evt->isType(gMenuEventType) && evt->findS32(gList_ItemCount_S32, count); +bool SkOSMenu::FindListItemCount(const SkEvent& evt, int* count) { + return evt.isType(gMenuEventType) && evt.findS32(gList_ItemCount_S32, count); } -bool SkOSMenu::FindListItems(const SkEvent* evt, SkString items[]) { - if (evt->isType(gMenuEventType) && NULL != items) { - const char* text = evt->findString(gList_Items_Str); +bool SkOSMenu::FindListItems(const SkEvent& evt, SkString items[]) { + if (evt.isType(gMenuEventType) && NULL != items) { + const char* text = evt.findString(gList_Items_Str); if (text != NULL) { SkString temp(text); char* token = strtok((char*)temp.c_str(), gDelimiter); @@ -204,37 +221,37 @@ bool SkOSMenu::FindListItems(const SkEvent* evt, SkString items[]) { return false; } -bool SkOSMenu::FindSliderMin(const SkEvent* evt, SkScalar* min) { - return evt->isType(gMenuEventType) && evt->findScalar(gSlider_Min_Scalar, min); +bool SkOSMenu::FindSliderMin(const SkEvent& evt, SkScalar* min) { + return evt.isType(gMenuEventType) && evt.findScalar(gSlider_Min_Scalar, min); } -bool SkOSMenu::FindSliderMax(const SkEvent* evt, SkScalar* max) { - return evt->isType(gMenuEventType) && evt->findScalar(gSlider_Max_Scalar, max); +bool SkOSMenu::FindSliderMax(const SkEvent& evt, SkScalar* max) { + return evt.isType(gMenuEventType) && evt.findScalar(gSlider_Max_Scalar, max); } -bool SkOSMenu::FindAction(const SkEvent* evt, const char label[]) { - return evt->isType(gMenuEventType) && evt->findString(label); +bool SkOSMenu::FindAction(const SkEvent& evt, const char label[]) { + return evt.isType(gMenuEventType) && evt.findString(label); } -bool SkOSMenu::FindListIndex(const SkEvent* evt, const char slotName[], int* value) { - return evt->isType(gMenuEventType) && evt->findS32(slotName, value); +bool SkOSMenu::FindListIndex(const SkEvent& evt, const char slotName[], int* value) { + return evt.isType(gMenuEventType) && evt.findS32(slotName, value); } -bool SkOSMenu::FindSliderValue(const SkEvent* evt, const char slotName[], SkScalar* value) { - return evt->isType(gMenuEventType) && evt->findScalar(slotName, value); +bool SkOSMenu::FindSliderValue(const SkEvent& evt, const char slotName[], SkScalar* value) { + return evt.isType(gMenuEventType) && evt.findScalar(slotName, value); } -bool SkOSMenu::FindSwitchState(const SkEvent* evt, const char slotName[], bool* value) { - return evt->isType(gMenuEventType) && evt->findBool(slotName, value); +bool SkOSMenu::FindSwitchState(const SkEvent& evt, const char slotName[], bool* value) { + return evt.isType(gMenuEventType) && evt.findBool(slotName, value); } -bool SkOSMenu::FindTriState(const SkEvent* evt, const char slotName[], SkOSMenu::TriState* value) { - return evt->isType(gMenuEventType) && evt->findS32(slotName, (int*)value); +bool SkOSMenu::FindTriState(const SkEvent& evt, const char slotName[], SkOSMenu::TriState* value) { + return evt.isType(gMenuEventType) && evt.findS32(slotName, (int*)value); } -bool SkOSMenu::FindText(const SkEvent* evt, const char slotName[], SkString* value) { - if (evt->isType(gMenuEventType)) { - const char* text = evt->findString(slotName); +bool SkOSMenu::FindText(const SkEvent& evt, const char slotName[], SkString* value) { + if (evt.isType(gMenuEventType)) { + const char* text = evt.findString(slotName); if (!text || !*text) return false; else { |