Changeset 399

Show
Ignore:
Timestamp:
04/21/07 18:51:42 (5 years ago)
Author:
kcathey2
Message:

LTBufferedRenderer now uses shared quality settings

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/LaserTools/_DataStructures/LTFlashMovie.h

    r224 r399  
    2121        LTDisplayList *_displayList; 
    2222        LTSetBackgroundColorTag *_backgroundTag; 
     23        float _curveLinearizationQuality; 
     24        float _pointsPerUnitLength; 
    2325} 
    2426 
    25 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
     27// -------------------------------------------------------------------------- // 
    2628//              Core 
    27 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
     29// -------------------------------------------------------------------------- // 
    2830+ (LTFlashMovie *)flashMovie; 
    2931+ (LTFlashMovie *)flashMovieWithHeaderAttributes:(NSDictionary *)attributes; 
     
    3133- (id)initWithHeaderAttributes:(NSDictionary *)attributes; 
    3234 
    33 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
     35// -------------------------------------------------------------------------- // 
    3436//              Instance Variables 
    35 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
     37// -------------------------------------------------------------------------- // 
    3638- (NSDictionary *)headerAttributes; 
    3739- (void)setHeaderAttributes:(NSDictionary *)newAttributes; 
     
    4345- (LTColor *)backgroundColor; 
    4446- (NSRect)bounds; 
     47- (float)curveLinearizationQuality; 
     48- (void)setCurveLinearizationQuality:(float)newValue; 
     49- (float)pointsPerUnitLength; 
     50- (void)setPointsPerUnitLength:(float)newValue; 
    4551 
    46 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
     52// -------------------------------------------------------------------------- // 
    4753//              Object Repository 
    48 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
     54// -------------------------------------------------------------------------- // 
    4955- (BOOL)addObjectToRespository:(LTObject *)newObject; 
    5056- (BOOL)removeObjectFromRepository:(LTObject *)objectToRemove; 
     
    5561- (NSArray *)objectsInRepository; 
    5662 
    57 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
     63// -------------------------------------------------------------------------- // 
    5864//              Timeline 
    59 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
     65// -------------------------------------------------------------------------- // 
    6066- (void)addFrame:(LTFrame *)frame; 
    6167 
     
    6571- (NSArray *)frameInstancesAtIndex:(uint16_t)frame; 
    6672 
    67 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
     73// -------------------------------------------------------------------------- // 
    6874//              Other 
    69 // ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
     75// -------------------------------------------------------------------------- // 
    7076- (NSString *)description; 
    7177 
  • trunk/LaserTools/_DataStructures/LTFlashMovie.m

    r224 r399  
    4848                _timeline = [[NSMutableArray alloc] init];                      // create a mutable array for the timeline 
    4949                _repository = [[NSMutableDictionary alloc] init]; 
     50                 
     51                _curveLinearizationQuality = LTCurveLinearizationQuality; 
     52                _pointsPerUnitLength = LTPointsPerUnitLength; 
    5053        } 
    5154         
     
    125128        return LTMakeNSRect(LTDecomposeRectDictionary([[self headerAttributes] 
    126129                                objectForKey:LTFrameSizeHeaderAttribute])); 
     130} 
     131 
     132/* 
     133 *      So these quality controls, when changed, will mark all the frames in the 
     134 *      movie as unrendered. This allows for changing the quality of a movie. 
     135 */ 
     136- (float)curveLinearizationQuality 
     137{ 
     138        return _curveLinearizationQuality; 
     139} 
     140 
     141- (void)setCurveLinearizationQuality:(float)newValue 
     142{ 
     143        // as long as the value is different, mark the frames as needing display 
     144        if (newValue != _curveLinearizationQuality) 
     145        { 
     146                _curveLinearizationQuality = newValue; 
     147                [[self frames] makeObjectsPerformSelector:@selector(setIsRenderedWithNumber:) 
     148                        withObject:[NSNumber numberWithBool:NO]]; 
     149                         
     150                // Now, this might be a bad idea, and I might regret it later, but, here 
     151                // I am going to modify the shared instance of the bufferend renderer. 
     152                // So if you have multiple movies, and you change one, when you render 
     153                // another, the change will not be visible at all. Hmm. But, I am 
     154                // assuming that we are never going to have more than one instance of 
     155                // the movie that we need to modify. 
     156                [[LTBufferedRenderer sharedRenderer] 
     157                        setCurveLinearizationQuality:newValue]; 
     158        } 
     159} 
     160 
     161- (float)pointsPerUnitLength 
     162{ 
     163        return _pointsPerUnitLength; 
     164} 
     165 
     166- (void)setPointsPerUnitLength:(float)newValue 
     167{ 
     168        // as long as the value is different, mark the frames as needing display 
     169        if (newValue != _pointsPerUnitLength) 
     170        { 
     171                _pointsPerUnitLength = newValue; 
     172                [[self frames] makeObjectsPerformSelector:@selector(setIsRenderedWithNumber:) 
     173                        withObject:[NSNumber numberWithBool:NO]]; 
     174                [[LTBufferedRenderer sharedRenderer] 
     175                        setPointsPerUnitLength:newValue]; 
     176        } 
    127177} 
    128178 
     
    237287        { 
    238288                if (![frame isRendered]) 
    239                         [frame setPoints:[LTBufferedRenderer renderFrame:index inMovie:self]]; 
     289                { 
     290                        [frame setPoints:[[LTBufferedRenderer sharedRenderer] renderFrame:index inMovie:self]]; 
     291                        [frame setIsRendered:YES]; 
     292                } 
    240293                 
    241294                return [frame points]; 
  • trunk/LaserTools/_DataStructures/LTFrame.h

    r171 r399  
    1616        NSMutableArray *_points; 
    1717        NSMutableArray *_navigationCommands; 
     18        BOOL _isRendered; 
    1819} 
    1920 
     
    3536- (NSMutableArray *)points; 
    3637- (void)setPoints:(NSMutableArray *)newValue; 
     38- (BOOL)isRendered; 
     39- (void)setIsRendered:(BOOL)newValue; 
     40- (void)setIsRenderedWithNumber:(NSNumber *)newValue; 
    3741 
    3842// ----------------------------------------------------------------------------------------------------------------------------------------------------------------- // 
  • trunk/LaserTools/_DataStructures/LTFrame.m

    r171 r399  
    2828                _navigationCommands = nil; 
    2929                _points = nil; 
     30                _isRendered = NO; 
    3031        } 
    3132         
     
    119120- (BOOL)isRendered 
    120121{ 
    121         return ([self points]) ? YES : NO; 
     122        //return ([self points]) ? YES : NO; 
     123        return _isRendered; 
     124
     125- (void)setIsRendered:(BOOL)newValue 
     126
     127        _isRendered = newValue; 
     128
     129 
     130// Same as above, but it accepts an NSNumber 
     131- (void)setIsRenderedWithNumber:(NSNumber *)newValue 
     132
     133        [self setIsRendered:[newValue boolValue]]; 
    122134} 
    123135 
  • trunk/LaserTools/_DataStructures/LTShapeWithStyle.m

    r394 r399  
    443443                                // to the linearizing algorithm, which will pass the points we need 
    444444                                NSPoint anchor = NSMakePoint(absoluteX, absoluteY); 
    445                                 NSArray *computedPoints = [LTBufferedRenderer 
     445                                NSArray *computedPoints = [[LTBufferedRenderer sharedRenderer] 
    446446                                                                                                linearizeCurve:shapeRecord 
    447447                                                                                                fromAnchor:anchor]; 
     
    502502                                LTColor *copiedColor = [palette addAndCopyColor:[previousPoint color]]; 
    503503                                NSArray *subdividedPoints = 
    504                                         [LTBufferedRenderer subdivideLineBetweenPoints:[previousPoint reversedNsPoint] 
     504                                        [[LTBufferedRenderer sharedRenderer] subdivideLineBetweenPoints:[previousPoint reversedNsPoint] 
    505505                                                end:endPoint color:copiedColor]; 
    506506                                                 
  • trunk/LaserTools/FlashImporterTest/FlashImporterTest.xcodeproj/project.pbxproj

    r245 r399  
    5656                32CA4F630368D1EE00C91783 /* FlashImporterTest_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FlashImporterTest_Prefix.pch; sourceTree = "<group>"; }; 
    5757                8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; 
    58                 8D1107320486CEB800E47090 /* Flash Importer Test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Flash Importer Test.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 
     58                8D1107320486CEB800E47090 /* FlashImporterTest.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = FlashImporterTest.app; sourceTree = BUILT_PRODUCTS_DIR; }; 
    5959                DE3F42C10B9D5E9D00B45C6B /* LaserTools.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LaserTools.framework; path = ../build/Debug/LaserTools.framework; sourceTree = SOURCE_ROOT; }; 
    6060                DE4641AE0B5755F500B17E0D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; 
     
    107107                        isa = PBXGroup; 
    108108                        children = ( 
    109                                 8D1107320486CEB800E47090 /* Flash Importer Test.app */, 
     109                                8D1107320486CEB800E47090 /* FlashImporterTest.app */, 
    110110                        ); 
    111111                        name = Products; 
     
    178178                        productInstallPath = "$(HOME)/Applications"; 
    179179                        productName = FlashImporterTest; 
    180                         productReference = 8D1107320486CEB800E47090 /* Flash Importer Test.app */; 
     180                        productReference = 8D1107320486CEB800E47090 /* FlashImporterTest.app */; 
    181181                        productType = "com.apple.product-type.application"; 
    182182                }; 
  • trunk/LaserTools/FlashInspector/English.lproj/MainMenu.nib/info.nib

    r398 r399  
    44<dict> 
    55        <key>IBDocumentLocation</key> 
    6         <string>402 234 356 240 0 0 1920 1178 </string> 
     6        <string>20 367 356 240 0 0 1680 1028 </string> 
    77        <key>IBEditorPositions</key> 
    88        <dict> 
    99                <key>29</key> 
    10                 <string>157 406 394 44 0 0 1920 1178 </string> 
     10                <string>132 352 394 44 0 0 1680 1028 </string> 
    1111        </dict> 
    1212        <key>IBFramework Version</key> 
     
    1818        </array> 
    1919        <key>IBSystem Version</key> 
    20         <string>8P135</string> 
     20        <string>8P2137</string> 
    2121</dict> 
    2222</plist> 
  • trunk/LaserTools/FlashInspector/FlashInspector.xcodeproj/project.pbxproj

    r398 r399  
    5454                        containerPortal = DED5D2370BD1BF6D0021BC21 /* DarkKitApp.xcodeproj */; 
    5555                        proxyType = 2; 
    56                         remoteGlobalIDString = C4971DA70B9A2C3C00E57A56 /* DarkKit.framework */
     56                        remoteGlobalIDString = C4971DA70B9A2C3C00E57A56
    5757                        remoteInfo = DarkKit; 
    5858                }; 
     
    6161                        containerPortal = DED5D2370BD1BF6D0021BC21 /* DarkKitApp.xcodeproj */; 
    6262                        proxyType = 2; 
    63                         remoteGlobalIDString = 8D1107320486CEB800E47090 /* DarkKitApp.app */
     63                        remoteGlobalIDString = 8D1107320486CEB800E47090
    6464                        remoteInfo = DarkKitApp; 
    6565                }; 
     
    6868                        containerPortal = DED5D2370BD1BF6D0021BC21 /* DarkKitApp.xcodeproj */; 
    6969                        proxyType = 1; 
    70                         remoteGlobalIDString = C4971DA60B9A2C3C00E57A56 /* DarkKit */
     70                        remoteGlobalIDString = C4971DA60B9A2C3C00E57A56
    7171                        remoteInfo = DarkKit; 
    7272                }; 
  • trunk/LaserTools/FlashInspector/LTRenderedContextView.h

    r394 r399  
    44#import <LaserTools/LaserTools.h> 
    55 
     6/* 
     7 *      Stores the different ways we can render the flash movie in the view 
     8 */ 
     9typedef enum 
     10{ 
     11        LTRenderAsLinesStyle = 0, 
     12        LTRenderAsPointsStyle 
     13} LTRenderedContextStyle; 
     14 
     15/* 
     16 *      This view is used to render a flash movie for preview, as it will appear on 
     17 *      on the laser. 
     18 */ 
    619@interface LTRenderedContextView : NSView 
    720{ 
    821        NSArray *_points; 
    922        LTFlashMovie *_associatedMovie; 
     23        LTRenderedContextStyle _renderStyle; 
    1024} 
    1125 
     
    1327NSPoint LTScaledPoint(NSPoint point, float w, float h); 
    1428 
    15 #define LTRenderSegments        0 
     29//#define LTRenderSegments      1 
    1630#define LTOvalPointRadius       1 
    1731 
     
    2337- (LTFlashMovie *)associatedMovie; 
    2438- (void)setAssociatedMovie:(LTFlashMovie *)newValue; 
     39- (LTRenderedContextStyle)renderStyle; 
     40- (void)setRenderStyle:(LTRenderedContextStyle)newValue; 
    2541 
    2642// -------------------------------------------------------------------------- // 
  • trunk/LaserTools/FlashInspector/LTRenderedContextView.m

    r394 r399  
    1818{ 
    1919        if ((self = [super initWithFrame:frameRect]) != nil) 
     20        { 
    2021                _points = nil; 
     22                _renderStyle = LTRenderAsLinesStyle; 
     23        } 
    2124                 
    2225        return self; 
     
    6164} 
    6265 
     66- (LTRenderedContextStyle)renderStyle 
     67{ 
     68        return _renderStyle; 
     69} 
     70 
     71- (void)setRenderStyle:(LTRenderedContextStyle)newValue 
     72{ 
     73        _renderStyle = newValue; 
     74} 
    6375 
    6476// -------------------------------------------------------------------------- // 
     
    111123                // line segment in between the given point (YES), or if we are just going 
    112124                // to draw an oval around the point (NO). 
    113                 if (LTRenderSegments
     125                if ([self renderStyle] == LTRenderAsLinesStyle
    114126                { 
    115127                        [segments lineToPoint:scaledPoint]; 
     
    143155        } 
    144156         
    145         if (LTRenderSegments
     157        if ([self renderStyle] == LTRenderAsLinesStyle
    146158                [segments stroke]; 
    147159        else 
  • trunk/LaserTools/LaserTools.xcodeproj/kev.mode1

    r398 r399  
    186186        <array/> 
    187187        <key>OpenEditors</key> 
    188         <array> 
    189                 <dict> 
    190                         <key>Content</key> 
    191                         <dict> 
    192                                 <key>PBXProjectModuleGUID</key> 
    193                                 <string>DEE5776E0BA0E12E00A7EFA0</string> 
    194                                 <key>PBXProjectModuleLabel</key> 
    195                                 <string>LTShapeWithStyle.m</string> 
    196                                 <key>PBXSplitModuleInNavigatorKey</key> 
    197                                 <dict> 
    198                                         <key>Split0</key> 
    199                                         <dict> 
    200                                                 <key>PBXProjectModuleGUID</key> 
    201                                                 <string>DEE5776F0BA0E12E00A7EFA0</string> 
    202                                                 <key>PBXProjectModuleLabel</key> 
    203                                                 <string>LTShapeWithStyle.m</string> 
    204                                                 <key>_historyCapacity</key> 
    205                                                 <integer>0</integer> 
    206                                                 <key>bookmark</key> 
    207                                                 <string>DEE577B50BA1DED100A7EFA0</string> 
    208                                                 <key>history</key> 
    209                                                 <array> 
    210                                                         <string>DEE5776A0BA0E0E800A7EFA0</string> 
    211                                                 </array> 
    212                                         </dict> 
    213                                         <key>SplitCount</key> 
    214                                         <string>1</string> 
    215                                 </dict> 
    216                                 <key>StatusBarVisibility</key> 
    217                                 <true/> 
    218                         </dict> 
    219                         <key>Geometry</key> 
    220                         <dict> 
    221                                 <key>Frame</key> 
    222                                 <string>{{0, 20}, {986, 1077}}</string> 
    223                                 <key>PBXModuleWindowStatusBarHidden2</key> 
    224                                 <false/> 
    225                                 <key>RubberWindowFrame</key> 
    226                                 <string>186 60 986 1118 0 0 1920 1178 </string> 
    227                         </dict> 
    228                 </dict> 
    229         </array> 
     188        <array/> 
    230189        <key>PerspectiveWidths</key> 
    231190        <array> 
     
    239198                        <array> 
    240199                                <string>active-target-popup</string> 
    241                                 <string>action</string> 
     200                                <string>active-buildstyle-popup</string> 
    242201                                <string>NSToolbarFlexibleSpaceItem</string> 
    243202                                <string>buildOrClean</string> 
    244203                                <string>build-and-runOrDebug</string> 
     204                                <string>clean-target</string> 
     205                                <string>clean</string> 
    245206                                <string>com.apple.ide.PBXToolbarStopButton</string> 
    246                                 <string>get-info</string> 
    247                                 <string>toggle-editor</string> 
    248207                                <string>NSToolbarFlexibleSpaceItem</string> 
    249208                                <string>com.apple.pbx.toolbar.searchfield</string> 
     
    327286                                                </array> 
    328287                                                <key>RubberWindowFrame</key> 
    329                                                 <string>173 183 946 691 0 0 1920 1178 </string> 
     288                                                <string>130 139 946 691 0 0 1680 1028 </string> 
    330289                                        </dict> 
    331290                                        <key>Module</key> 
     
    374333                                                                <string>{{0, 0}, {695, 0}}</string> 
    375334                                                                <key>RubberWindowFrame</key> 
    376                                                                 <string>173 183 946 691 0 0 1920 1178 </string> 
     335                                                                <string>130 139 946 691 0 0 1680 1028 </string> 
    377336                                                        </dict> 
    378337                                                        <key>Module</key> 
     
    396355                                                                <string>{{0, 5}, {695, 646}}</string> 
    397356                                                                <key>RubberWindowFrame</key> 
    398                                                                 <string>173 183 946 691 0 0 1920 1178 </string> 
     357                                                                <string>130 139 946 691 0 0 1680 1028 </string> 
    399358                                                        </dict> 
    400359                                                        <key>Module</key> 
     
    420379                        <key>TableOfContents</key> 
    421380                        <array> 
    422                                 <string>DEE5774A0BA0DD8F00A7EFA0</string> 
     381                                <string>DE2A6D6F0BDACFCE00EB7A43</string> 
    423382                                <string>1CE0B1FE06471DED0097A5F4</string> 
    424                                 <string>DEE5774B0BA0DD8F00A7EFA0</string> 
     383                                <string>DE2A6D700BDACFCE00EB7A43</string> 
    425384                                <string>1CE0B20306471E060097A5F4</string> 
    426385                                <string>1CE0B20506471E060097A5F4</string> 
     
    556515        <key>WindowOrderList</key> 
    557516        <array> 
     517                <string>1C0AD2AF069F1E9B00FABCE6</string> 
    558518                <string>1C530D57069F1CE1000CFCEE</string> 
     519                <string>1C0AD2B3069F1EA900FABCE6</string> 
    559520                <string>DEC60E910B62DA270000F3A0</string> 
    560521                <string>/Developer/Projects/LaserLine/LaserTools/LaserTools.xcodeproj</string> 
    561                 <string>DEE5776E0BA0E12E00A7EFA0</string> 
    562522        </array> 
    563523        <key>WindowString</key> 
    564         <string>173 183 946 691 0 0 1920 1178 </string> 
     524        <string>130 139 946 691 0 0 1680 1028 </string> 
    565525        <key>WindowTools</key> 
    566526        <array> 
     
    583543                                                                <string>1CD0528F0623707200166675</string> 
    584544                                                                <key>PBXProjectModuleLabel</key> 
    585                                                                 <string></string> 
     545                                                                <string>LTBufferedRenderer.h</string> 
    586546                                                                <key>StatusBarVisibility</key> 
    587547                                                                <true/> 
     
    592552                                                                <string>{{0, 0}, {1680, 445}}</string> 
    593553                                                                <key>RubberWindowFrame</key> 
    594                                                                 <string>240 210 1680 968 0 0 1920 1178 </string> 
     554                                                                <string>0 60 1680 968 0 0 1680 1028 </string> 
    595555                                                        </dict> 
    596556                                                        <key>Module</key> 
     
    618578                                                                <string>{{0, 450}, {1680, 477}}</string> 
    619579                                                                <key>RubberWindowFrame</key> 
    620                                                                 <string>240 210 1680 968 0 0 1920 1178 </string> 
     580                                                                <string>0 60 1680 968 0 0 1680 1028 </string> 
    621581                                                        </dict> 
    622582                                                        <key>Module</key> 
     
    641601                        <array> 
    642602                                <string>DEC60E910B62DA270000F3A0</string> 
    643                                 <string>DEE577520BA0DE1600A7EFA0</string> 
     603                                <string>DE2A6D6C0BDACFAD00EB7A43</string> 
    644604                                <string>1CD0528F0623707200166675</string> 
    645605                                <string>XCMainBuildResultsModuleGUID</string> 
     
    648608                        <string>xcode.toolbar.config.build</string> 
    649609                        <key>WindowString</key> 
    650                         <string>240 210 1680 968 0 0 1920 1178 </string> 
     610                        <string>0 60 1680 968 0 0 1680 1028 </string> 
    651611                        <key>WindowToolGUID</key> 
    652612                        <string>DEC60E910B62DA270000F3A0</string> 
     
    781741                                                        <array> 
    782742                                                                <dict> 
     743                                                                        <key>BecomeActive</key> 
     744                                                                        <true/> 
    783745                                                                        <key>ContentConfiguration</key> 
    784746                                                                        <dict> 
     
    786748                                                                                <string>1CDD528C0622207200134675</string> 
    787749                                                                                <key>PBXProjectModuleLabel</key> 
    788                                                                                 <string>LTShapeWithStyle.m</string> 
     750                                                                                <string>LTBufferedRenderer.m</string> 
    789751                                                                                <key>StatusBarVisibility</key> 
    790752                                                                                <true/> 
     
    795757                                                                                <string>{{0, 0}, {1680, 507}}</string> 
    796758                                                                                <key>RubberWindowFrame</key> 
    797                                                                                 <string>240 154 1680 1024 0 0 1920 1178 </string> 
     759                                                                                <string>0 4 1680 1024 0 0 1680 1028 </string> 
    798760                                                                        </dict> 
    799761                                                                        <key>Module</key> 
     
    807769                                                </dict> 
    808770                                                <dict> 
    809                                                         <key>BecomeActive</key> 
    810                                                         <true/> 
    811771                                                        <key>ContentConfiguration</key> 
    812772                                                        <dict> 
     
    821781                                                                <string>{{0, 512}, {1680, 471}}</string> 
    822782                                                                <key>RubberWindowFrame</key> 
    823                                                                 <string>240 154 1680 1024 0 0 1920 1178 </string> 
     783                                                                <string>0 4 1680 1024 0 0 1680 1028 </string> 
    824784                                                        </dict> 
    825785                                                        <key>Module</key> 
     
    844804                        <array> 
    845805                                <string>1C530D57069F1CE1000CFCEE</string> 
    846                                 <string>DEE577670BA0E07500A7EFA0</string> 
    847                                 <string>DEE577680BA0E07500A7EFA0</string> 
     806                                <string>DE2A6DE80BDAD59600EB7A43</string> 
     807                                <string>DE2A6DE90BDAD59600EB7A43</string> 
    848808                                <string>1CDD528C0622207200134675</string> 
    849809                                <string>1CD0528E0623707200166675</string> 
    850810                        </array> 
    851811                        <key>WindowString</key> 
    852                         <string>240 154 1680 1024 0 0 1920 1178 </string> 
     812                        <string>0 4 1680 1024 0 0 1680 1028 </string> 
    853813                        <key>WindowToolGUID</key> 
    854814                        <string>1C530D57069F1CE1000CFCEE</string> 
     
    974934                                                                <string>{{0, 0}, {459, 159}}</string> 
    975935                                                                <key>RubberWindowFrame</key> 
    976                                                                 <string>126 869 459 200 0 0 1920 1178 </string> 
     936                                                                <string>105 737 459 200 0 0 1680 1028 </string> 
    977937                                                        </dict> 
    978938                                                        <key>Module</key> 
     
    997957                        <array> 
    998958                                <string>1C0AD2B3069F1EA900FABCE6</string> 
    999                                 <string>DEF093F70B9EAF0A003EE41F</string> 
     959                                <string>DE2A6D950BDAD01A00EB7A43</string> 
    1000960                                <string>1CD0528B0623707200166675</string> 
    1001                                 <string>DEF093F80B9EAF0A003EE41F</string> 
     961                                <string>DE2A6D960BDAD01A00EB7A43</string> 
    1002962                        </array> 
    1003963                        <key>ToolbarConfiguration</key> 
    1004964                        <string>xcode.toolbar.config.run</string> 
    1005965                        <key>WindowString</key> 
    1006                         <string>126 869 459 200 0 0 1920 1178 </string> 
     966                        <string>105 737 459 200 0 0 1680 1028 </string> 
    1007967                        <key>WindowToolGUID</key> 
    1008968                        <string>1C0AD2B3069F1EA900FABCE6</string> 
     
    13501310                                                                </array> 
    13511311                                                                <key>RubberWindowFrame</key> 
    1352                                                                 <string>44 791 630 352 0 0 1920 1178 </string> 
     1312                                                                <string>36 648 630 352 0 0 1680 1028 </string> 
    13531313                                                        </dict> 
    13541314                                                        <key>Module</key> 
     
    13731333                        <array> 
    13741334                                <string>1C0AD2AF069F1E9B00FABCE6</string> 
    1375                                 <string>DEF0937F0B9EAC08003EE41F</string> 
     1335                                <string>DE2A6E130BDAD69200EB7A43</string> 
    13761336                                <string>1CA6456E063B45B4001379D8</string> 
    13771337                        </array> 
     
    13791339                        <string>xcode.toolbar.config.classbrowser</string> 
    13801340                        <key>WindowString</key> 
    1381                         <string>44 791 630 352 0 0 1920 1178 </string> 
     1341                        <string>36 648 630 352 0 0 1680 1028 </string> 
    13821342                        <key>WindowToolGUID</key> 
    13831343                        <string>1C0AD2AF069F1E9B00FABCE6</string> 
  • trunk/LaserTools/LaserTools.xcodeproj/kev.pbxuser

    r398 r399  
    33        0867D690FE84028FC02AAC07 /* Project object */ = { 
    44                activeBuildConfigurationName = Release; 
    5                 activeBuildStyle = DEE577270BA0DD7800A7EFA0 /* Development */; 
     5                activeBuildStyle = DEBB6BC90BD180D2004DAE1B /* Development */; 
    66                activeTarget = 8DC2EF4F0486A6940098B216 /* LaserTools */; 
    77                addToTargets = ( 
     
    7979                                ); 
    8080                        }; 
    81                         PBXPerProjectTemplateStateSaveDate = 195091832
    82                         PBXWorkspaceStateSaveDate = 195091832
     81                        PBXPerProjectTemplateStateSaveDate = 198888249
     82                        PBXWorkspaceStateSaveDate = 198888249
    8383                }; 
    8484                perUserProjectItems = { 
    85                         DEC5430A0B8955F3008198F6 /* PBXTextBookmark */ = DEC5430A0B8955F3008198F6 /* PBXTextBookmark */; 
    86                         DEC5431A0B895640008198F6 /* PBXTextBookmark */ = DEC5431A0B895640008198F6 /* PBXTextBookmark */; 
    87                         DEC5431C0B895640008198F6 /* PBXTextBookmark */ = DEC5431C0B895640008198F6 /* PBXTextBookmark */; 
    88                         DEC543620B895753008198F6 /* PBXTextBookmark */ = DEC543620B895753008198F6 /* PBXTextBookmark */; 
    89                         DEE5776A0BA0E0E800A7EFA0 /* PBXBookmark */ = DEE5776A0BA0E0E800A7EFA0 /* PBXBookmark */; 
    90                         DEE577B50BA1DED100A7EFA0 /* PBXTextBookmark */ = DEE577B50BA1DED100A7EFA0 /* PBXTextBookmark */; 
     85                        DE04EF600BD3E0EA00C9A953 = DE04EF600BD3E0EA00C9A953 /* PBXTextBookmark */; 
     86                        DE2A6D650BDACFAD00EB7A43 /* PBXTextBookmark */ = DE2A6D650BDACFAD00EB7A43 /* PBXTextBookmark */; 
     87                        DE2A6D660BDACFAD00EB7A43 /* PBXTextBookmark */ = DE2A6D660BDACFAD00EB7A43 /* PBXTextBookmark */; 
     88                        DE2A6D670BDACFAD00EB7A43 /* PBXTextBookmark */ = DE2A6D670BDACFAD00EB7A43 /* PBXTextBookmark */; 
     89                        DE2A6D680BDACFAD00EB7A43 /* PBXTextBookmark */ = DE2A6D680BDACFAD00EB7A43 /* PBXTextBookmark */; 
     90                        DE2A6D690BDACFAD00EB7A43 /* PBXTextBookmark */ = DE2A6D690BDACFAD00EB7A43 /* PBXTextBookmark */; 
     91                        DE2A6D6A0BDACFAD00EB7A43 /* PBXTextBookmark */ = DE2A6D6A0BDACFAD00EB7A43 /* PBXTextBookmark */; 
     92                        DE2A6D6B0BDACFAD00EB7A43 /* PBXTextBookmark */ = DE2A6D6B0BDACFAD00EB7A43 /* PBXTextBookmark */; 
     93                        DE2A6D730BDACFCE00EB7A43 /* PBXTextBookmark */ = DE2A6D730BDACFCE00EB7A43 /* PBXTextBookmark */; 
     94                        DE2A6D740BDACFCE00EB7A43 /* PBXTextBookmark */ = DE2A6D740BDACFCE00EB7A43 /* PBXTextBookmark */; 
     95                        DE2A6D750BDACFCE00EB7A43 /* PBXTextBookmark */ = DE2A6D750BDACFCE00EB7A43 /* PBXTextBookmark */; 
     96                        DE2A6D760BDACFCE00EB7A43 /* PBXTextBookmark */ = DE2A6D760BDACFCE00EB7A43 /* PBXTextBookmark */; 
     97                        DE2A6D770BDACFCE00EB7A43 /* PBXTextBookmark */ = DE2A6D770BDACFCE00EB7A43 /* PBXTextBookmark */; 
     98                        DE2A6D780BDACFCE00EB7A43 /* PBXTextBookmark */ = DE2A6D780BDACFCE00EB7A43 /* PBXTextBookmark */; 
     99                        DE2A6D790BDACFCE00EB7A43 /* PBXTextBookmark */ = DE2A6D790BDACFCE00EB7A43 /* PBXTextBookmark */; 
     100                        DE2A6D940BDAD01A00EB7A43 /* PBXTextBookmark */ = DE2A6D940BDAD01A00EB7A43 /* PBXTextBookmark */; 
     101                        DE2A6D970BDAD01E00EB7A43 /* PBXTextBookmark */ = DE2A6D970BDAD01E00EB7A43 /* PBXTextBookmark */; 
     102                        DE2A6DA40BDAD12300EB7A43 /* PBXTextBookmark */ = DE2A6DA40BDAD12300EB7A43 /* PBXTextBookmark */; 
     103                        DE2A6DA60BDAD12900EB7A43 /* PBXTextBookmark */ = DE2A6DA60BDAD12900EB7A43 /* PBXTextBookmark */; 
     104                        DE2A6DA70BDAD12900EB7A43 /* PBXTextBookmark */ = DE2A6DA70BDAD12900EB7A43 /* PBXTextBookmark */; 
     105                        DE2A6DA80BDAD12900EB7A43 /* PBXTextBookmark */ = DE2A6DA80BDAD12900EB7A43 /* PBXTextBookmark */; 
     106                        DE2A6DA90BDAD12900EB7A43 /* PBXTextBookmark */ = DE2A6DA90BDAD12900EB7A43 /* PBXTextBookmark */; 
     107                        DE2A6DAA0BDAD12900EB7A43 /* PBXTextBookmark */ = DE2A6DAA0BDAD12900EB7A43 /* PBXTextBookmark */; 
     108                        DE2A6DC00BDAD1B400EB7A43 /* PBXTextBookmark */ = DE2A6DC00BDAD1B400EB7A43 /* PBXTextBookmark */; 
     109                        DE2A6DC60BDAD1FA00EB7A43 /* PBXTextBookmark */ = DE2A6DC60BDAD1FA00EB7A43 /* PBXTextBookmark */; 
     110                        DE2A6DE00BDAD59600EB7A43 /* PBXTextBookmark */ = DE2A6DE00BDAD59600EB7A43 /* PBXTextBookmark */; 
     111                        DE2A6DE20BDAD59600EB7A43 /* PBXTextBookmark */ = DE2A6DE20BDAD59600EB7A43 /* PBXTextBookmark */; 
     112                        DE2A6DE30BDAD59600EB7A43 /* PBXTextBookmark */ = DE2A6DE30BDAD59600EB7A43 /* PBXTextBookmark */; 
     113                        DE2A6DE40BDAD59600EB7A43 /* PBXTextBookmark */ = DE2A6DE40BDAD59600EB7A43 /* PBXTextBookmark */; 
     114                        DE2A6DE50BDAD59600EB7A43 /* PBXTextBookmark */ = DE2A6DE50BDAD59600EB7A43 /* PBXTextBookmark */; 
     115                        DE2A6DE60BDAD59600EB7A43 /* PBXTextBookmark */ = DE2A6DE60BDAD59600EB7A43 /* PBXTextBookmark */; 
     116                        DE2A6DE70BDAD59600EB7A43 /* PBXTextBookmark */ = DE2A6DE70BDAD59600EB7A43 /* PBXTextBookmark */; 
     117                        DE2A6DF10BDAD5DA00EB7A43 /* PBXTextBookmark */ = DE2A6DF10BDAD5DA00EB7A43 /* PBXTextBookmark */; 
     118                        DE2A6DF20BDAD5DA00EB7A43 /* PBXTextBookmark */ = DE2A6DF20BDAD5DA00EB7A43 /* PBXTextBookmark */; 
     119                        DE2A6DF30BDAD5DA00EB7A43 /* PBXTextBookmark */ = DE2A6DF30BDAD5DA00EB7A43 /* PBXTextBookmark */; 
     120                        DE2A6DF90BDAD62900EB7A43 /* PBXTextBookmark */ = DE2A6DF90BDAD62900EB7A43 /* PBXTextBookmark */; 
     121                        DE2A6DFA0BDAD62900EB7A43 /* PBXTextBookmark */ = DE2A6DFA0BDAD62900EB7A43 /* PBXTextBookmark */; 
     122                        DE2A6E030BDAD68400EB7A43 /* PBXTextBookmark */ = DE2A6E030BDAD68400EB7A43 /* PBXTextBookmark */; 
     123                        DE2A6E040BDAD68400EB7A43 /* PBXTextBookmark */ = DE2A6E040BDAD68400EB7A43 /* PBXTextBookmark */; 
     124                        DE2A6E050BDAD68400EB7A43 /* PBXTextBookmark */ = DE2A6E050BDAD68400EB7A43 /* PBXTextBookmark */; 
     125                        DE2A6E060BDAD68400EB7A43 /* PBXTextBookmark */ = DE2A6E060BDAD68400EB7A43 /* PBXTextBookmark */; 
     126                        DE2A6E070BDAD68400EB7A43 /* PBXTextBookmark */ = DE2A6E070BDAD68400EB7A43 /* PBXTextBookmark */; 
     127                        DE2A6E080BDAD68400EB7A43 /* PBXTextBookmark */ = DE2A6E080BDAD68400EB7A43 /* PBXTextBookmark */; 
     128                        DE2A6E090BDAD68400EB7A43 /* PBXTextBookmark */ = DE2A6E090BDAD68400EB7A43 /* PBXTextBookmark */; 
     129                        DE2A6E0D0BDAD68B00EB7A43 /* PBXTextBookmark */ = DE2A6E0D0BDAD68B00EB7A43 /* PBXTextBookmark */; 
     130                        DE2A6E0E0BDAD68B00EB7A43 /* PBXTextBookmark */ = DE2A6E0E0BDAD68B00EB7A43 /* PBXTextBookmark */; 
     131                        DE2A6E110BDAD69200EB7A43 /* PBXTextBookmark */ = DE2A6E110BDAD69200EB7A43 /* PBXTextBookmark */; 
     132                        DE2A6E120BDAD69200EB7A43 /* PBXTextBookmark */ = DE2A6E120BDAD69200EB7A43 /* PBXTextBookmark */; 
     133                        DE2A6E1D0BDAD6DB00EB7A43 /* PBXTextBookmark */ = DE2A6E1D0BDAD6DB00EB7A43 /* PBXTextBookmark */; 
     134                        DE2A6E1E0BDAD6DB00EB7A43 /* PBXTextBookmark */ = DE2A6E1E0BDAD6DB00EB7A43 /* PBXTextBookmark */; 
     135                        DE2A6E1F0BDAD6DB00EB7A43 /* PBXTextBookmark */ = DE2A6E1F0BDAD6DB00EB7A43 /* PBXTextBookmark */; 
     136                        DE2A6E200BDAD6DB00EB7A43 /* PBXTextBookmark */ = DE2A6E200BDAD6DB00EB7A43 /* PBXTextBookmark */; 
     137                        DE2A6E210BDAD6DB00EB7A43 /* PBXTextBookmark */ = DE2A6E210BDAD6DB00EB7A43 /* PBXTextBookmark */; 
     138                        DE2A6E250BDAD6E600EB7A43 /* PBXTextBookmark */ = DE2A6E250BDAD6E600EB7A43 /* PBXTextBookmark */; 
     139                        DE2A6E260BDAD6E600EB7A43 /* PBXTextBookmark */ = DE2A6E260BDAD6E600EB7A43 /* PBXTextBookmark */; 
     140                        DE2A6E270BDAD6E600EB7A43 /* PBXTextBookmark */ = DE2A6E270BDAD6E600EB7A43 /* PBXTextBookmark */; 
     141                        DE2A6E280BDAD6E600EB7A43 /* PBXTextBookmark */ = DE2A6E280BDAD6E600EB7A43 /* PBXTextBookmark */; 
     142                        DE2A6E290BDAD6E600EB7A43 /* PBXTextBookmark */ = DE2A6E290BDAD6E600EB7A43 /* PBXTextBookmark */; 
     143                        DE2A6E2A0BDAD6E600EB7A43 /* PBXTextBookmark */ = DE2A6E2A0BDAD6E600EB7A43 /* PBXTextBookmark */; 
     144                        DE2A6E2B0BDAD6E600EB7A43 /* PBXTextBookmark */ = DE2A6E2B0BDAD6E600EB7A43 /* PBXTextBookmark */; 
     145                        DE2A6E2C0BDAD6E600EB7A43 /* PBXTextBookmark */ = DE2A6E2C0BDAD6E600EB7A43 /* PBXTextBookmark */; 
     146                        DE2A6E3A0BDAD71500EB7A43 /* PBXTextBookmark */ = DE2A6E3A0BDAD71500EB7A43 /* PBXTextBookmark */; 
     147                        DE2A6E4D0BDAD77600EB7A43 /* PBXTextBookmark */ = DE2A6E4D0BDAD77600EB7A43 /* PBXTextBookmark */; 
     148                        DE2A6E4E0BDAD77600EB7A43 /* PBXTextBookmark */ = DE2A6E4E0BDAD77600EB7A43 /* PBXTextBookmark */; 
     149                        DE2A6E4F0BDAD77600EB7A43 /* PBXTextBookmark */ = DE2A6E4F0BDAD77600EB7A43 /* PBXTextBookmark */; 
     150                        DE2A6E500BDAD77600EB7A43 /* PBXTextBookmark */ = DE2A6E500BDAD77600EB7A43 /* PBXTextBookmark */; 
     151                        DE2A6E510BDAD77600EB7A43 /* PBXTextBookmark */ = DE2A6E510BDAD77600EB7A43 /* PBXTextBookmark */; 
     152                        DE2A6E520BDAD77600EB7A43 /* PBXTextBookmark */ = DE2A6E520BDAD77600EB7A43 /* PBXTextBookmark */; 
     153                        DE2A6E550BDAD78500EB7A43 /* PBXTextBookmark */ = DE2A6E550BDAD78500EB7A43 /* PBXTextBookmark */; 
     154                        DE2A6E580BDAD78D00EB7A43 /* PBXTextBookmark */ = DE2A6E580BDAD78D00EB7A43 /* PBXTextBookmark */; 
     155                        DE2A6E590BDAD78D00EB7A43 /* PBXTextBookmark */ = DE2A6E590BDAD78D00EB7A43 /* PBXTextBookmark */; 
     156                        DE2A6E5A0BDAD78D00EB7A43 /* PBXTextBookmark */ = DE2A6E5A0BDAD78D00EB7A43 /* PBXTextBookmark */; 
     157                        DE2A6E600BDAD7E000EB7A43 /* PBXTextBookmark */ = DE2A6E600BDAD7E000EB7A43 /* PBXTextBookmark */; 
     158                        DE2A6E610BDAD7E000EB7A43 /* PBXTextBookmark */ = DE2A6E610BDAD7E000EB7A43 /* PBXTextBookmark */; 
     159                        DE2A6E670BDAD7EE00EB7A43 /* PBXTextBookmark */ = DE2A6E670BDAD7EE00EB7A43 /* PBXTextBookmark */; 
     160                        DE2A6E680BDAD7EE00EB7A43 /* PBXTextBookmark */ = DE2A6E680BDAD7EE00EB7A43 /* PBXTextBookmark */; 
     161                        DE2A6E6A0BDAD7FD00EB7A43 /* PBXTextBookmark */ = DE2A6E6A0BDAD7FD00EB7A43 /* PBXTextBookmark */; 
     162                        DE2A6E6B0BDAD7FD00EB7A43 /* PBXTextBookmark */ = DE2A6E6B0BDAD7FD00EB7A43 /* PBXTextBookmark */; 
     163                        DE2A6E6C0BDAD7FD00EB7A43 /* PBXTextBookmark */ = DE2A6E6C0BDAD7FD00EB7A43 /* PBXTextBookmark */; 
     164                        DE2A6E720BDAD81D00EB7A43 /* PBXTextBookmark */ = DE2A6E720BDAD81D00EB7A43 /* PBXTextBookmark */; 
     165                        DE2A6E730BDAD81D00EB7A43 /* PBXTextBookmark */ = DE2A6E730BDAD81D00EB7A43 /* PBXTextBookmark */; 
     166                        DE2A6E740BDAD81D00EB7A43 /* PBXTextBookmark */ = DE2A6E740BDAD81D00EB7A43 /* PBXTextBookmark */; 
     167                        DE2A6E7B0BDAD86300EB7A43 /* PBXBookmark */ = DE2A6E7B0BDAD86300EB7A43 /* PBXBookmark */; 
     168                        DE2A6E810BDAD8DF00EB7A43 /* PBXTextBookmark */ = DE2A6E810BDAD8DF00EB7A43 /* PBXTextBookmark */; 
     169                        DE2A6E860BDAD91600EB7A43 /* PBXBookmark */ = DE2A6E860BDAD91600EB7A43 /* PBXBookmark */; 
     170                        DE2A6E8C0BDAD93800EB7A43 /* PBXTextBookmark */ = DE2A6E8C0BDAD93800EB7A43 /* PBXTextBookmark */; 
     171                        DE2A6E910BDAD94300EB7A43 /* PBXTextBookmark */ = DE2A6E910BDAD94300EB7A43 /* PBXTextBookmark */; 
     172                        DE2A6EB30BDADA8700EB7A43 /* PBXTextBookmark */ = DE2A6EB30BDADA8700EB7A43 /* PBXTextBookmark */; 
     173                        DE2A6EB40BDADA8700EB7A43 /* PBXTextBookmark */ = DE2A6EB40BDADA8700EB7A43 /* PBXTextBookmark */; 
     174                        DE2A6EB50BDADA8700EB7A43 /* PBXTextBookmark */ = DE2A6EB50BDADA8700EB7A43 /* PBXTextBookmark */; 
     175                        DE2A6EB60BDADA8700EB7A43 /* PBXTextBookmark */ = DE2A6EB60BDADA8700EB7A43 /* PBXTextBookmark */; 
     176                        DEC5430A0B8955F3008198F6 = DEC5430A0B8955F3008198F6 /* PBXTextBookmark */; 
     177                        DEC5431A0B895640008198F6 = DEC5431A0B895640008198F6 /* PBXTextBookmark */; 
     178                        DEC5431C0B895640008198F6 = DEC5431C0B895640008198F6 /* PBXTextBookmark */; 
     179                        DEC543620B895753008198F6 = DEC543620B895753008198F6 /* PBXTextBookmark */; 
     180                        DEE5776A0BA0E0E800A7EFA0 = DEE5776A0BA0E0E800A7EFA0 /* PBXBookmark */; 
     181                        DEE577B50BA1DED100A7EFA0 = DEE577B50BA1DED100A7EFA0 /* PBXTextBookmark */; 
    91182                }; 
    92183                sourceControlManager = DEC60E510B62D8530000F3A0 /* Source Control */; 
     
    96187        8DC2EF4F0486A6940098B216 /* LaserTools */ = { 
    97188                activeExec = 0; 
     189        }; 
     190        DE04EF600BD3E0EA00C9A953 /* PBXTextBookmark */ = { 
     191                isa = PBXTextBookmark; 
     192                fRef = DE8DEBDB0B6306E500C8C2DA /* LTShapeWithStyle.m */; 
     193                name = "LTShapeWithStyle.m: 91"; 
     194                rLen = 0; 
     195                rLoc = 3183; 
     196                rType = 0; 
     197                vrLen = 3057; 
     198                vrLoc = 1067; 
    98199        }; 
    99200        DE13B4B70B78110900612994 /* LTBitStream.h */ = { 
     
    113214                }; 
    114215        }; 
     216        DE2A6D650BDACFAD00EB7A43 /* PBXTextBookmark */ = { 
     217                isa = PBXTextBookmark; 
     218                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     219                name = "LTBufferedRenderer.h: LTPointsPerUnitLength"; 
     220                rLen = 0; 
     221                rLoc = 667; 
     222                rType = 0; 
     223                vrLen = 821; 
     224                vrLoc = 274; 
     225        }; 
     226        DE2A6D660BDACFAD00EB7A43 /* PBXTextBookmark */ = { 
     227                isa = PBXTextBookmark; 
     228                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     229                name = "[frame setPoints:[LTBufferedRenderer renderFrame:index inMovie:self]];"; 
     230                rLen = 125; 
     231                rLoc = 8618; 
     232                rType = 0; 
     233                vrLen = 976; 
     234                vrLoc = 7432; 
     235        }; 
     236        DE2A6D670BDACFAD00EB7A43 /* PBXTextBookmark */ = { 
     237                isa = PBXTextBookmark; 
     238                comments = "warning: passing argument 1 of 'setColor:' from distinct Objective-C type"; 
     239                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     240                rLen = 1; 
     241                rLoc = 125; 
     242                rType = 1; 
     243        }; 
     244        DE2A6D680BDACFAD00EB7A43 /* PBXTextBookmark */ = { 
     245                isa = PBXTextBookmark; 
     246                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     247                name = "LTBufferedRenderer.h: LTPointsPerUnitLength"; 
     248                rLen = 0; 
     249                rLoc = 667; 
     250                rType = 0; 
     251                vrLen = 821; 
     252                vrLoc = 274; 
     253        }; 
     254        DE2A6D690BDACFAD00EB7A43 /* PBXTextBookmark */ = { 
     255                isa = PBXTextBookmark; 
     256                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     257                name = "float signY = (signbit(deltaY) == 0) ? 1.0 : -1.0;"; 
     258                rLen = 54; 
     259                rLoc = 11743; 
     260                rType = 0; 
     261                vrLen = 1072; 
     262                vrLoc = 10222; 
     263        }; 
     264        DE2A6D6A0BDACFAD00EB7A43 /* PBXTextBookmark */ = { 
     265                isa = PBXTextBookmark; 
     266                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     267                name = "[frame setPoints:[LTBufferedRenderer renderFrame:index inMovie:self]];"; 
     268                rLen = 125; 
     269                rLoc = 8618; 
     270                rType = 0; 
     271                vrLen = 976; 
     272                vrLoc = 7432; 
     273        }; 
     274        DE2A6D6B0BDACFAD00EB7A43 /* PBXTextBookmark */ = { 
     275                isa = PBXTextBookmark; 
     276                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     277                name = "[[points lastObject] setColor:[LTColor colorWithZeroIntensity]];"; 
     278                rLen = 70; 
     279                rLoc = 3736; 
     280                rType = 0; 
     281                vrLen = 839; 
     282                vrLoc = 2204; 
     283        }; 
     284        DE2A6D730BDACFCE00EB7A43 /* PBXTextBookmark */ = { 
     285                isa = PBXTextBookmark; 
     286                fRef = DEC60E630B62D9610000F3A0 /* LTFlashMovie.h */; 
     287                name = "LTFlashMovie.h: 75"; 
     288                rLen = 0; 
     289                rLoc = 2759; 
     290                rType = 0; 
     291                vrLen = 2586; 
     292                vrLoc = 207; 
     293        }; 
     294        DE2A6D740BDACFCE00EB7A43 /* PBXTextBookmark */ = { 
     295                isa = PBXTextBookmark; 
     296                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     297                name = "LTFlashMovie.m: 144"; 
     298                rLen = 0; 
     299                rLoc = 4715; 
     300                rType = 0; 
     301                vrLen = 1644; 
     302                vrLoc = 2509; 
     303        }; 
     304        DE2A6D750BDACFCE00EB7A43 /* PBXTextBookmark */ = { 
     305                isa = PBXTextBookmark; 
     306                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     307                name = "LTFlashMovie.m: 203"; 
     308                rLen = 52; 
     309                rLoc = 7519; 
     310                rType = 0; 
     311                vrLen = 2141; 
     312                vrLoc = 0; 
     313        }; 
     314        DE2A6D760BDACFCE00EB7A43 /* PBXTextBookmark */ = { 
     315                isa = PBXTextBookmark; 
     316                fRef = DEC60E630B62D9610000F3A0 /* LTFlashMovie.h */; 
     317                name = "LTFlashMovie.h: 75"; 
     318                rLen = 0; 
     319                rLoc = 2759; 
     320                rType = 0; 
     321                vrLen = 2565; 
     322                vrLoc = 228; 
     323        }; 
     324        DE2A6D770BDACFCE00EB7A43 /* PBXTextBookmark */ = { 
     325                isa = PBXTextBookmark; 
     326                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     327                name = "LTFlashMovie.m: 144"; 
     328                rLen = 0; 
     329                rLoc = 4715; 
     330                rType = 0; 
     331                vrLen = 1644; 
     332                vrLoc = 2509; 
     333        }; 
     334        DE2A6D780BDACFCE00EB7A43 /* PBXTextBookmark */ = { 
     335                isa = PBXTextBookmark; 
     336                fRef = DEC60E630B62D9610000F3A0 /* LTFlashMovie.h */; 
     337                name = "LTFlashMovie.h: 75"; 
     338                rLen = 0; 
     339                rLoc = 2759; 
     340                rType = 0; 
     341                vrLen = 2586; 
     342                vrLoc = 207; 
     343        }; 
     344        DE2A6D790BDACFCE00EB7A43 /* PBXTextBookmark */ = { 
     345                isa = PBXTextBookmark; 
     346                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     347                name = "LTFlashMovie.m: 276"; 
     348                rLen = 0; 
     349                rLoc = 8617; 
     350                rType = 0; 
     351                vrLen = 2376; 
     352                vrLoc = 6752; 
     353        }; 
     354        DE2A6D940BDAD01A00EB7A43 /* PBXTextBookmark */ = { 
     355                isa = PBXTextBookmark; 
     356                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     357                name = "[[points lastObject] setColor:[LTColor colorWithZeroIntensity]];"; 
     358                rLen = 70; 
     359                rLoc = 3736; 
     360                rType = 0; 
     361                vrLen = 839; 
     362                vrLoc = 2204; 
     363        }; 
     364        DE2A6D970BDAD01E00EB7A43 /* PBXTextBookmark */ = { 
     365                isa = PBXTextBookmark; 
     366                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     367                name = "LTFlashMovie.m: 276"; 
     368                rLen = 0; 
     369                rLoc = 8617; 
     370                rType = 0; 
     371                vrLen = 2376; 
     372                vrLoc = 6752; 
     373        }; 
     374        DE2A6DA40BDAD12300EB7A43 /* PBXTextBookmark */ = { 
     375                isa = PBXTextBookmark; 
     376                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     377                name = "[[points lastObject] setColor:[LTColor colorWithZeroIntensity]];"; 
     378                rLen = 70; 
     379                rLoc = 3736; 
     380                rType = 0; 
     381                vrLen = 839; 
     382                vrLoc = 2204; 
     383        }; 
     384        DE2A6DA60BDAD12900EB7A43 /* PBXTextBookmark */ = { 
     385                isa = PBXTextBookmark; 
     386                fRef = DEC60E630B62D9610000F3A0 /* LTFlashMovie.h */; 
     387                name = "LTFlashMovie.h: setPointsPerUnitLength:"; 
     388                rLen = 0; 
     389                rLoc = 1627; 
     390                rType = 0; 
     391                vrLen = 2611; 
     392                vrLoc = 177; 
     393        }; 
     394        DE2A6DA70BDAD12900EB7A43 /* PBXTextBookmark */ = { 
     395                isa = PBXTextBookmark; 
     396                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     397                name = "LTFlashMovie.m: 276"; 
     398                rLen = 0; 
     399                rLoc = 8617; 
     400                rType = 0; 
     401                vrLen = 2376; 
     402                vrLoc = 6752; 
     403        }; 
     404        DE2A6DA80BDAD12900EB7A43 /* PBXTextBookmark */ = { 
     405                isa = PBXTextBookmark; 
     406                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     407                name = "LTFlashMovie.m: 276"; 
     408                rLen = 0; 
     409                rLoc = 8617; 
     410                rType = 0; 
     411                vrLen = 2376; 
     412                vrLoc = 6752; 
     413        }; 
     414        DE2A6DA90BDAD12900EB7A43 /* PBXTextBookmark */ = { 
     415                isa = PBXTextBookmark; 
     416                fRef = DEC60E630B62D9610000F3A0 /* LTFlashMovie.h */; 
     417                name = "LTFlashMovie.h: setPointsPerUnitLength:"; 
     418                rLen = 0; 
     419                rLoc = 1627; 
     420                rType = 0; 
     421                vrLen = 2611; 
     422                vrLoc = 177; 
     423        }; 
     424        DE2A6DAA0BDAD12900EB7A43 /* PBXTextBookmark */ = { 
     425                isa = PBXTextBookmark; 
     426                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     427                name = "LTFlashMovie.m: 140"; 
     428                rLen = 0; 
     429                rLoc = 3941; 
     430                rType = 0; 
     431                vrLen = 1952; 
     432                vrLoc = 2755; 
     433        }; 
     434        DE2A6DC00BDAD1B400EB7A43 /* PBXTextBookmark */ = { 
     435                isa = PBXTextBookmark; 
     436                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     437                name = "LTFlashMovie.m: 279"; 
     438                rLen = 0; 
     439                rLoc = 8736; 
     440                rType = 0; 
     441                vrLen = 2391; 
     442                vrLoc = 6784; 
     443        }; 
     444        DE2A6DC60BDAD1FA00EB7A43 /* PBXTextBookmark */ = { 
     445                isa = PBXTextBookmark; 
     446                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     447                name = "LTFlashMovie.m: 277"; 
     448                rLen = 0; 
     449                rLoc = 8617; 
     450                rType = 0; 
     451                vrLen = 1757; 
     452                vrLoc = 6383; 
     453        }; 
     454        DE2A6DE00BDAD59600EB7A43 /* PBXTextBookmark */ = { 
     455                isa = PBXTextBookmark; 
     456                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     457                name = "[[points lastObject] setColor:[LTColor colorWithZeroIntensity]];"; 
     458                rLen = 70; 
     459                rLoc = 3736; 
     460                rType = 0; 
     461                vrLen = 839; 
     462                vrLoc = 2204; 
     463        }; 
     464        DE2A6DE20BDAD59600EB7A43 /* PBXTextBookmark */ = { 
     465                isa = PBXTextBookmark; 
     466                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     467                name = "[LTBufferedRenderer"; 
     468                rLen = 36; 
     469                rLoc = 9188; 
     470                rType = 0; 
     471                vrLen = 1663; 
     472                vrLoc = 7310; 
     473        }; 
     474        DE2A6DE30BDAD59600EB7A43 /* PBXTextBookmark */ = { 
     475                isa = PBXTextBookmark; 
     476                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     477                name = "[LTBufferedRenderer"; 
     478                rLen = 36; 
     479                rLoc = 8638; 
     480                rType = 0; 
     481                vrLen = 1055; 
     482                vrLoc = 7452; 
     483        }; 
     484        DE2A6DE40BDAD59600EB7A43 /* PBXTextBookmark */ = { 
     485                isa = PBXTextBookmark; 
     486                fRef = DE8DEBDB0B6306E500C8C2DA /* LTShapeWithStyle.m */; 
     487                rLen = 20; 
     488                rLoc = 19095; 
     489                rType = 0; 
     490        }; 
     491        DE2A6DE50BDAD59600EB7A43 /* PBXTextBookmark */ = { 
     492                isa = PBXTextBookmark; 
     493                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     494                name = "[LTBufferedRenderer"; 
     495                rLen = 36; 
     496                rLoc = 9188; 
     497                rType = 0; 
     498                vrLen = 1663; 
     499                vrLoc = 7310; 
     500        }; 
     501        DE2A6DE60BDAD59600EB7A43 /* PBXTextBookmark */ = { 
     502                isa = PBXTextBookmark; 
     503                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     504                name = "[LTBufferedRenderer"; 
     505                rLen = 36; 
     506                rLoc = 8638; 
     507                rType = 0; 
     508                vrLen = 1055; 
     509                vrLoc = 7452; 
     510        }; 
     511        DE2A6DE70BDAD59600EB7A43 /* PBXTextBookmark */ = { 
     512                isa = PBXTextBookmark; 
     513                fRef = DE8DEBDB0B6306E500C8C2DA /* LTShapeWithStyle.m */; 
     514                name = "[LTBufferedRenderer"; 
     515                rLen = 20; 
     516                rLoc = 19095; 
     517                rType = 0; 
     518                vrLen = 1433; 
     519                vrLoc = 18294; 
     520        }; 
     521        DE2A6DF10BDAD5DA00EB7A43 /* PBXTextBookmark */ = { 
     522                isa = PBXTextBookmark; 
     523                comments = "warning: unused variable 'signX'"; 
     524                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     525                rLen = 1; 
     526                rLoc = 356; 
     527                rType = 1; 
     528        }; 
     529        DE2A6DF20BDAD5DA00EB7A43 /* PBXTextBookmark */ = { 
     530                isa = PBXTextBookmark; 
     531                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     532                name = "LTBufferedRenderer.m: 318"; 
     533                rLen = 0; 
     534                rLoc = 11746; 
     535                rType = 0; 
     536                vrLen = 1032; 
     537                vrLoc = 10220; 
     538        }; 
     539        DE2A6DF30BDAD5DA00EB7A43 /* PBXTextBookmark */ = { 
     540                isa = PBXTextBookmark; 
     541                fRef = DE8DEBDB0B6306E500C8C2DA /* LTShapeWithStyle.m */; 
     542                name = "[LTBufferedRenderer"; 
     543                rLen = 20; 
     544                rLoc = 19095; 
     545                rType = 0; 
     546                vrLen = 1433; 
     547                vrLoc = 18294; 
     548        }; 
     549        DE2A6DF90BDAD62900EB7A43 /* PBXTextBookmark */ = { 
     550                isa = PBXTextBookmark; 
     551                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     552                name = "LTBufferedRenderer.m: 328"; 
     553                rLen = 0; 
     554                rLoc = 11746; 
     555                rType = 0; 
     556                vrLen = 1026; 
     557                vrLoc = 10038; 
     558        }; 
     559        DE2A6DFA0BDAD62900EB7A43 /* PBXTextBookmark */ = { 
     560                isa = PBXTextBookmark; 
     561                fRef = DE8DEBDB0B6306E500C8C2DA /* LTShapeWithStyle.m */; 
     562                name = "[LTBufferedRenderer"; 
     563                rLen = 20; 
     564                rLoc = 19095; 
     565                rType = 0; 
     566                vrLen = 1433; 
     567                vrLoc = 18294; 
     568        }; 
     569        DE2A6E030BDAD68400EB7A43 /* PBXTextBookmark */ = { 
     570                isa = PBXTextBookmark; 
     571                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     572                name = "LTBufferedRenderer.m: 333"; 
     573                rLen = 0; 
     574                rLoc = 11746; 
     575                rType = 0; 
     576                vrLen = 949; 
     577                vrLoc = 10122; 
     578        }; 
     579        DE2A6E040BDAD68400EB7A43 /* PBXTextBookmark */ = { 
     580                isa = PBXTextBookmark; 
     581                fRef = DE8DEBDB0B6306E500C8C2DA /* LTShapeWithStyle.m */; 
     582                name = "LTShapeWithStyle.m: 445"; 
     583                rLen = 0; 
     584                rLoc = 16842; 
     585                rType = 0; 
     586                vrLen = 1610; 
     587                vrLoc = 15809; 
     588        }; 
     589        DE2A6E050BDAD68400EB7A43 /* PBXTextBookmark */ = { 
     590                isa = PBXTextBookmark; 
     591                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     592                name = "LTFlashMovie.m: 277"; 
     593                rLen = 0; 
     594                rLoc = 8674; 
     595                rType = 0; 
     596                vrLen = 1072; 
     597                vrLoc = 7452; 
     598        }; 
     599        DE2A6E060BDAD68400EB7A43 /* PBXTextBookmark */ = { 
     600                isa = PBXTextBookmark; 
     601                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     602                rLen = 36; 
     603                rLoc = 3557; 
     604                rType = 0; 
     605        }; 
     606        DE2A6E070BDAD68400EB7A43 /* PBXTextBookmark */ = { 
     607                isa = PBXTextBookmark; 
     608                fRef = DE8DEBDB0B6306E500C8C2DA /* LTShapeWithStyle.m */; 
     609                name = "LTShapeWithStyle.m: 445"; 
     610                rLen = 0; 
     611                rLoc = 16842; 
     612                rType = 0; 
     613                vrLen = 1610; 
     614                vrLoc = 15809; 
     615        }; 
     616        DE2A6E080BDAD68400EB7A43 /* PBXTextBookmark */ = { 
     617                isa = PBXTextBookmark; 
     618                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     619                name = "LTFlashMovie.m: 277"; 
     620                rLen = 0; 
     621                rLoc = 8674; 
     622                rType = 0; 
     623                vrLen = 1072; 
     624                vrLoc = 7452; 
     625        }; 
     626        DE2A6E090BDAD68400EB7A43 /* PBXTextBookmark */ = { 
     627                isa = PBXTextBookmark; 
     628                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     629                name = "LTBufferedRenderer.m: 94"; 
     630                rLen = 0; 
     631                rLoc = 3593; 
     632                rType = 0; 
     633                vrLen = 1231; 
     634                vrLoc = 2012; 
     635        }; 
     636        DE2A6E0D0BDAD68B00EB7A43 /* PBXTextBookmark */ = { 
     637                isa = PBXTextBookmark; 
     638                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     639                name = "LTBufferedRenderer.m: 333"; 
     640                rLen = 0; 
     641                rLoc = 11746; 
     642                rType = 0; 
     643                vrLen = 949; 
     644                vrLoc = 10122; 
     645        }; 
     646        DE2A6E0E0BDAD68B00EB7A43 /* PBXTextBookmark */ = { 
     647                isa = PBXTextBookmark; 
     648                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     649                name = "LTBufferedRenderer.m: 94"; 
     650                rLen = 0; 
     651                rLoc = 3593; 
     652                rType = 0; 
     653                vrLen = 1231; 
     654                vrLoc = 2012; 
     655        }; 
     656        DE2A6E110BDAD69200EB7A43 /* PBXTextBookmark */ = { 
     657                isa = PBXTextBookmark; 
     658                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     659                name = "LTBufferedRenderer.m: 333"; 
     660                rLen = 0; 
     661                rLoc = 11746; 
     662                rType = 0; 
     663                vrLen = 949; 
     664                vrLoc = 10122; 
     665        }; 
     666        DE2A6E120BDAD69200EB7A43 /* PBXTextBookmark */ = { 
     667                isa = PBXTextBookmark; 
     668                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     669                name = "LTBufferedRenderer.m: 94"; 
     670                rLen = 0; 
     671                rLoc = 3593; 
     672                rType = 0; 
     673                vrLen = 1231; 
     674                vrLoc = 2012; 
     675        }; 
     676        DE2A6E1D0BDAD6DB00EB7A43 /* PBXTextBookmark */ = { 
     677                isa = PBXTextBookmark; 
     678                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     679                name = "LTBufferedRenderer.m: 333"; 
     680                rLen = 0; 
     681                rLoc = 11746; 
     682                rType = 0; 
     683                vrLen = 949; 
     684                vrLoc = 10122; 
     685        }; 
     686        DE2A6E1E0BDAD6DB00EB7A43 /* PBXTextBookmark */ = { 
     687                isa = PBXTextBookmark; 
     688                comments = "warning: '_sharedBufferedRenderer' defined but not used"; 
     689                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     690                rLen = 1; 
     691                rLoc = 70; 
     692                rType = 1; 
     693        }; 
     694        DE2A6E1F0BDAD6DB00EB7A43 /* PBXTextBookmark */ = { 
     695                isa = PBXTextBookmark; 
     696                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     697                name = "LTBufferedRenderer.m: 333"; 
     698                rLen = 0; 
     699                rLoc = 11746; 
     700                rType = 0; 
     701                vrLen = 949; 
     702                vrLoc = 10122; 
     703        }; 
     704        DE2A6E200BDAD6DB00EB7A43 /* PBXTextBookmark */ = { 
     705                isa = PBXTextBookmark; 
     706                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     707                name = "static LTBufferedRenderer * _sharedBufferedRenderer;"; 
     708                rLen = 59; 
     709                rLoc = 2494; 
     710                rType = 0; 
     711                vrLen = 1265; 
     712                vrLoc = 950; 
     713        }; 
     714        DE2A6E210BDAD6DB00EB7A43 /* PBXTextBookmark */ = { 
     715                isa = PBXTextBookmark; 
     716                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     717                name = "LTBufferedRenderer.m: 94"; 
     718                rLen = 0; 
     719                rLoc = 3593; 
     720                rType = 0; 
     721                vrLen = 1231; 
     722                vrLoc = 2012; 
     723        }; 
     724        DE2A6E250BDAD6E600EB7A43 /* PBXTextBookmark */ = { 
     725                isa = PBXTextBookmark; 
     726                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     727                name = "LTBufferedRenderer.h: subdivideLineBetweenPoints:end:color:"; 
     728                rLen = 0; 
     729                rLoc = 2397; 
     730                rType = 0; 
     731                vrLen = 2215; 
     732                vrLoc = 0; 
     733        }; 
     734        DE2A6E260BDAD6E600EB7A43 /* PBXTextBookmark */ = { 
     735                isa = PBXTextBookmark; 
     736                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     737                name = "+ (LTBufferedRenderer *)sharedRenderer"; 
     738                rLen = 38; 
     739                rLoc = 925; 
     740                rType = 0; 
     741                vrLen = 2325; 
     742                vrLoc = 539; 
     743        }; 
     744        DE2A6E270BDAD6E600EB7A43 /* PBXTextBookmark */ = { 
     745                isa = PBXTextBookmark; 
     746                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     747                name = "LTBufferedRenderer.h: renderer"; 
     748                rLen = 0; 
     749                rLoc = 1090; 
     750                rType = 0; 
     751                vrLen = 2175; 
     752                vrLoc = 0; 
     753        }; 
     754        DE2A6E280BDAD6E600EB7A43 /* PBXTextBookmark */ = { 
     755                isa = PBXTextBookmark; 
     756                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     757                name = "+ (LTBufferedRenderer *)sharedRenderer"; 
     758                rLen = 38; 
     759                rLoc = 925; 
     760                rType = 0; 
     761                vrLen = 2313; 
     762                vrLoc = 827; 
     763        }; 
     764        DE2A6E290BDAD6E600EB7A43 /* PBXTextBookmark */ = { 
     765                isa = PBXTextBookmark; 
     766                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     767                name = "LTBufferedRenderer.h: sharedRenderer"; 
     768                rLen = 0; 
     769                rLoc = 1090; 
     770                rType = 0; 
     771                vrLen = 2181; 
     772                vrLoc = 0; 
     773        }; 
     774        DE2A6E2A0BDAD6E600EB7A43 /* PBXTextBookmark */ = { 
     775                isa = PBXTextBookmark; 
     776                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     777                name = "+ (LTBufferedRenderer *)sharedRenderer"; 
     778                rLen = 38; 
     779                rLoc = 925; 
     780                rType = 0; 
     781                vrLen = 2325; 
     782                vrLoc = 539; 
     783        }; 
     784        DE2A6E2B0BDAD6E600EB7A43 /* PBXTextBookmark */ = { 
     785                isa = PBXTextBookmark; 
     786                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     787                name = "LTBufferedRenderer.h: subdivideLineBetweenPoints:end:color:"; 
     788                rLen = 0; 
     789                rLoc = 2397; 
     790                rType = 0; 
     791                vrLen = 2215; 
     792                vrLoc = 0; 
     793        }; 
     794        DE2A6E2C0BDAD6E600EB7A43 /* PBXTextBookmark */ = { 
     795                isa = PBXTextBookmark; 
     796                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     797                name = "LTBufferedRenderer.m: 1"; 
     798                rLen = 0; 
     799                rLoc = 0; 
     800                rType = 0; 
     801                vrLen = 1755; 
     802                vrLoc = 20; 
     803        }; 
     804        DE2A6E3A0BDAD71500EB7A43 /* PBXTextBookmark */ = { 
     805                isa = PBXTextBookmark; 
     806                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     807                name = "LTBufferedRenderer.m: 34"; 
     808                rLen = 0; 
     809                rLoc = 889; 
     810                rType = 0; 
     811                vrLen = 1792; 
     812                vrLoc = 20; 
     813        }; 
     814        DE2A6E4D0BDAD77600EB7A43 /* PBXTextBookmark */ = { 
     815                isa = PBXTextBookmark; 
     816                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     817                name = "LTBufferedRenderer.m: 61"; 
     818                rLen = 182; 
     819                rLoc = 1376; 
     820                rType = 0; 
     821                vrLen = 1679; 
     822                vrLoc = 0; 
     823        }; 
     824        DE2A6E4E0BDAD77600EB7A43 /* PBXTextBookmark */ = { 
     825                isa = PBXTextBookmark; 
     826                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     827                name = "LTBufferedRenderer.h: 9"; 
     828                rLen = 0; 
     829                rLoc = 234; 
     830                rType = 0; 
     831                vrLen = 2137; 
     832                vrLoc = 0; 
     833        }; 
     834        DE2A6E4F0BDAD77600EB7A43 /* PBXTextBookmark */ = { 
     835                isa = PBXTextBookmark; 
     836                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     837                name = "LTBufferedRenderer.m: 62"; 
     838                rLen = 0; 
     839                rLoc = 1477; 
     840                rType = 0; 
     841                vrLen = 1679; 
     842                vrLoc = 0; 
     843        }; 
     844        DE2A6E500BDAD77600EB7A43 /* PBXTextBookmark */ = { 
     845                isa = PBXTextBookmark; 
     846                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     847                name = "LTBufferedRenderer.h: 9"; 
     848                rLen = 0; 
     849                rLoc = 234; 
     850                rType = 0; 
     851                vrLen = 2137; 
     852                vrLoc = 0; 
     853        }; 
     854        DE2A6E510BDAD77600EB7A43 /* PBXTextBookmark */ = { 
     855                isa = PBXTextBookmark; 
     856                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     857                name = "LTBufferedRenderer.m: 61"; 
     858                rLen = 182; 
     859                rLoc = 1376; 
     860                rType = 0; 
     861                vrLen = 1679; 
     862                vrLoc = 0; 
     863        }; 
     864        DE2A6E520BDAD77600EB7A43 /* PBXTextBookmark */ = { 
     865                isa = PBXTextBookmark; 
     866                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     867                name = "LTBufferedRenderer.h: 45"; 
     868                rLen = 0; 
     869                rLoc = 1472; 
     870                rType = 0; 
     871                vrLen = 2322; 
     872                vrLoc = 0; 
     873        }; 
     874        DE2A6E550BDAD78500EB7A43 /* PBXTextBookmark */ = { 
     875                isa = PBXTextBookmark; 
     876                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     877                name = "LTBufferedRenderer.h: _pointsPerUnitLength"; 
     878                rLen = 0; 
     879                rLoc = 842; 
     880                rType = 0; 
     881                vrLen = 2380; 
     882                vrLoc = 0; 
     883        }; 
     884        DE2A6E580BDAD78D00EB7A43 /* PBXTextBookmark */ = { 
     885                isa = PBXTextBookmark; 
     886                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     887                name = "LTBufferedRenderer.h: setPointsPerUnitLength:"; 
     888                rLen = 0; 
     889                rLoc = 1472; 
     890                rType = 0; 
     891                vrLen = 2492; 
     892                vrLoc = 0; 
     893        }; 
     894        DE2A6E590BDAD78D00EB7A43 /* PBXTextBookmark */ = { 
     895                isa = PBXTextBookmark; 
     896                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     897                name = "LTBufferedRenderer.h: setPointsPerUnitLength:"; 
     898                rLen = 0; 
     899                rLoc = 1472; 
     900                rType = 0; 
     901                vrLen = 2492; 
     902                vrLoc = 0; 
     903        }; 
     904        DE2A6E5A0BDAD78D00EB7A43 /* PBXTextBookmark */ = { 
     905                isa = PBXTextBookmark; 
     906                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     907                name = "LTBufferedRenderer.m: 64"; 
     908                rLen = 0; 
     909                rLoc = 1881; 
     910                rType = 0; 
     911                vrLen = 1628; 
     912                vrLoc = 0; 
     913        }; 
     914        DE2A6E600BDAD7E000EB7A43 /* PBXTextBookmark */ = { 
     915                isa = PBXTextBookmark; 
     916                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     917                name = "static LTBufferedRenderer * _sharedBufferedRenderer;"; 
     918                rLen = 59; 
     919                rLoc = 2494; 
     920                rType = 0; 
     921                vrLen = 1358; 
     922                vrLoc = 846; 
     923        }; 
     924        DE2A6E610BDAD7E000EB7A43 /* PBXTextBookmark */ = { 
     925                isa = PBXTextBookmark; 
     926                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     927                name = "LTBufferedRenderer.m: 117"; 
     928                rLen = 0; 
     929                rLoc = 3593; 
     930                rType = 0; 
     931                vrLen = 1489; 
     932                vrLoc = 1672; 
     933        }; 
     934        DE2A6E670BDAD7EE00EB7A43 /* PBXTextBookmark */ = { 
     935                isa = PBXTextBookmark; 
     936                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     937                name = "LTBufferedRenderer.h: _sharedBufferedRenderer"; 
     938                rLen = 0; 
     939                rLoc = 2551; 
     940                rType = 0; 
     941                vrLen = 1358; 
     942                vrLoc = 846; 
     943        }; 
     944        DE2A6E680BDAD7EE00EB7A43 /* PBXTextBookmark */ = { 
     945                isa = PBXTextBookmark; 
     946                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     947                name = "LTBufferedRenderer.m: 117"; 
     948                rLen = 0; 
     949                rLoc = 3593; 
     950                rType = 0; 
     951                vrLen = 1489; 
     952                vrLoc = 1672; 
     953        }; 
     954        DE2A6E6A0BDAD7FD00EB7A43 /* PBXTextBookmark */ = { 
     955                isa = PBXTextBookmark; 
     956                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     957                name = "LTBufferedRenderer.m: 299"; 
     958                rLen = 0; 
     959                rLoc = 9948; 
     960                rType = 0; 
     961                vrLen = 2208; 
     962                vrLoc = 10880; 
     963        }; 
     964        DE2A6E6B0BDAD7FD00EB7A43 /* PBXTextBookmark */ = { 
     965                isa = PBXTextBookmark; 
     966                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     967                name = "LTBufferedRenderer.m: 299"; 
     968                rLen = 0; 
     969                rLoc = 9948; 
     970                rType = 0; 
     971                vrLen = 2208; 
     972                vrLoc = 10880; 
     973        }; 
     974        DE2A6E6C0BDAD7FD00EB7A43 /* PBXTextBookmark */ = { 
     975                isa = PBXTextBookmark; 
     976                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     977                name = "LTBufferedRenderer.h: _sharedBufferedRenderer"; 
     978                rLen = 0; 
     979                rLoc = 2551; 
     980                rType = 0; 
     981                vrLen = 2422; 
     982                vrLoc = 137; 
     983        }; 
     984        DE2A6E720BDAD81D00EB7A43 /* PBXTextBookmark */ = { 
     985                isa = PBXTextBookmark; 
     986                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     987                name = "LTBufferedRenderer.h: _sharedBufferedRenderer"; 
     988                rLen = 0; 
     989                rLoc = 2551; 
     990                rType = 0; 
     991                vrLen = 2422; 
     992                vrLoc = 137; 
     993        }; 
     994        DE2A6E730BDAD81D00EB7A43 /* PBXTextBookmark */ = { 
     995                isa = PBXTextBookmark; 
     996                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     997                name = "LTBufferedRenderer.h: _sharedBufferedRenderer"; 
     998                rLen = 0; 
     999                rLoc = 2551; 
     1000                rType = 0; 
     1001                vrLen = 2422; 
     1002                vrLoc = 137; 
     1003        }; 
     1004        DE2A6E740BDAD81D00EB7A43 /* PBXTextBookmark */ = { 
     1005                isa = PBXTextBookmark; 
     1006                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     1007                name = "LTBufferedRenderer.m: 52"; 
     1008                rLen = 0; 
     1009                rLoc = 1314; 
     1010                rType = 0; 
     1011                vrLen = 1598; 
     1012                vrLoc = 246; 
     1013        }; 
     1014        DE2A6E7B0BDAD86300EB7A43 /* PBXBookmark */ = { 
     1015                isa = PBXBookmark; 
     1016                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     1017        }; 
     1018        DE2A6E810BDAD8DF00EB7A43 /* PBXTextBookmark */ = { 
     1019                isa = PBXTextBookmark; 
     1020                fRef = DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */; 
     1021                name = "LTFlashMovie.m: 172"; 
     1022                rLen = 0; 
     1023                rLoc = 5175; 
     1024                rType = 0; 
     1025                vrLen = 2588; 
     1026                vrLoc = 3298; 
     1027        }; 
     1028        DE2A6E860BDAD91600EB7A43 /* PBXBookmark */ = { 
     1029                isa = PBXBookmark; 
     1030                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     1031        }; 
     1032        DE2A6E8C0BDAD93800EB7A43 /* PBXTextBookmark */ = { 
     1033                isa = PBXTextBookmark; 
     1034                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     1035                name = "LTBufferedRenderer.m: 369"; 
     1036                rLen = 0; 
     1037                rLoc = 12152; 
     1038                rType = 0; 
     1039                vrLen = 2379; 
     1040                vrLoc = 10866; 
     1041        }; 
     1042        DE2A6E910BDAD94300EB7A43 /* PBXTextBookmark */ = { 
     1043                isa = PBXTextBookmark; 
     1044                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     1045                name = "LTBufferedRenderer.m: 369"; 
     1046                rLen = 0; 
     1047                rLoc = 12152; 
     1048                rType = 0; 
     1049                vrLen = 2379; 
     1050                vrLoc = 10866; 
     1051        }; 
     1052        DE2A6EB30BDADA8700EB7A43 /* PBXTextBookmark */ = { 
     1053                isa = PBXTextBookmark; 
     1054                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     1055                name = "LTBufferedRenderer.h: _sharedBufferedRenderer"; 
     1056                rLen = 0; 
     1057                rLoc = 2551; 
     1058                rType = 0; 
     1059                vrLen = 2422; 
     1060                vrLoc = 137; 
     1061        }; 
     1062        DE2A6EB40BDADA8700EB7A43 /* PBXTextBookmark */ = { 
     1063                isa = PBXTextBookmark; 
     1064                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     1065                rLen = 0; 
     1066                rLoc = 2147483605; 
     1067                rType = 0; 
     1068        }; 
     1069        DE2A6EB50BDADA8700EB7A43 /* PBXTextBookmark */ = { 
     1070                isa = PBXTextBookmark; 
     1071                fRef = DEEECF760B940A010051C017 /* LTBufferedRenderer.h */; 
     1072                name = "LTBufferedRenderer.h: _sharedBufferedRenderer"; 
     1073                rLen = 0; 
     1074                rLoc = 2551; 
     1075                rType = 0; 
     1076                vrLen = 2422; 
     1077                vrLoc = 137; 
     1078        }; 
     1079        DE2A6EB60BDADA8700EB7A43 /* PBXTextBookmark */ = { 
     1080                isa = PBXTextBookmark; 
     1081                fRef = DEEECF770B940A010051C017 /* LTBufferedRenderer.m */; 
     1082                name = "LTBufferedRenderer.m: 308"; 
     1083                rLen = 0; 
     1084                rLoc = 10266; 
     1085                rType = 0; 
     1086                vrLen = 2553; 
     1087                vrLoc = 8786; 
     1088        }; 
    1151089        DE2FE0660B8ABF2D0012DDC5 /* LTDefineShapeTag.h */ = { 
    1161090                uiCtxt = { 
     
    2721246        DE8DEBDA0B6306E500C8C2DA /* LTShapeWithStyle.h */ = { 
    2731247                uiCtxt = { 
    274                         sepNavIntBoundsRect = "{{0, 0}, {1022, 924}}"; 
     1248                        sepNavIntBoundsRect = "{{0, 0}, {1022, 951}}"; 
    2751249                        sepNavSelRange = "{476, 0}"; 
    276                         sepNavVisRect = "{{0, 0}, {941, 639}}"; 
     1250                        sepNavVisRect = "{{0, 0}, {941, 951}}"; 
    2771251                        sepNavWindowFrame = "{{464, 190}, {986, 768}}"; 
    2781252                }; 
     
    2801254        DE8DEBDB0B6306E500C8C2DA /* LTShapeWithStyle.m */ = { 
    2811255                uiCtxt = { 
    282                         sepNavIntBoundsRect = "{{0, 0}, {1022, 7532}}"; 
    283                         sepNavSelRange = "{3382, 0}"; 
    284                         sepNavVisRect = "{{0, 862}, {941, 1045}}"; 
    285                         sepNavWindowFrame = "{{186, 4}, {986, 1174}}"; 
     1256                        sepNavIntBoundsRect = "{{0, 0}, {1633, 7770}}"; 
     1257                        sepNavSelRange = "{16842, 0}"; 
     1258                        sepNavVisRect = "{{0, 5986}, {1633, 475}}"; 
     1259                        sepNavWindowFrame = "{{138, 4}, {986, 1024}}"; 
    2861260                }; 
    2871261        }; 
     
    4361410        DEC60E630B62D9610000F3A0 /* LTFlashMovie.h */ = { 
    4371411                uiCtxt = { 
    438                         sepNavIntBoundsRect = "{{0, 0}, {1088, 938}}"; 
    439                         sepNavSelRange = "{273, 0}"; 
    440                         sepNavVisRect = "{{0, 29}, {1088, 888}}"; 
     1412                        sepNavIntBoundsRect = "{{0, 0}, {1088, 1106}}"; 
     1413                        sepNavSelRange = "{1627, 0}"; 
     1414                        sepNavVisRect = "{{0, 0}, {1088, 944}}"; 
    4411415                        sepNavWindowFrame = "{{206, 55}, {1133, 1017}}"; 
    4421416                }; 
     
    4441418        DEC60E640B62D9610000F3A0 /* LTFlashMovie.m */ = { 
    4451419                uiCtxt = { 
    446                         sepNavIntBoundsRect = "{{0, 0}, {1088, 4074}}"; 
    447                         sepNavSelRange = "{5870, 52}"; 
    448                         sepNavVisRect = "{{0, 2390}, {1088, 888}}"; 
    449                         sepNavWindowFrame = "{{206, 55}, {1133, 1017}}"; 
     1420                        sepNavIntBoundsRect = "{{0, 0}, {1088, 5390}}"; 
     1421                        sepNavSelRange = "{1668, 0}"; 
     1422                        sepNavVisRect = "{{0, 140}, {1088, 944}}"; 
     1423                        sepNavWindowFrame = "{{206, 11}, {1133, 1017}}"; 
    4501424                }; 
    4511425        }; 
     
    5651539        DECBE4490B8D6A5400A95F35 /* LTFrame.h */ = { 
    5661540                uiCtxt = { 
    567                         sepNavIntBoundsRect = "{{0, 0}, {1153, 895}}"; 
    568                         sepNavSelRange = "{1781, 0}"; 
    569                         sepNavVisRect = "{{0, 0}, {1153, 895}}"; 
     1541                        sepNavIntBoundsRect = "{{0, 0}, {1153, 951}}"; 
     1542                        sepNavSelRange = "{1428, 53}"; 
     1543                        sepNavVisRect = "{{0, 0}, {1153, 951}}"; 
    5701544                        sepNavWindowFrame = "{{15, 4}, {1198, 1024}}"; 
    5711545                }; 
     
    5731547        DECBE44A0B8D6A5400A95F35 /* LTFrame.m */ = { 
    5741548                uiCtxt = { 
    575                         sepNavIntBoundsRect = "{{0, 0}, {1153, 2100}}"; 
    576                         sepNavSelRange = "{3727, 0}"; 
    577                         sepNavVisRect = "{{0, 414}, {1153, 895}}"; 
     1549                        sepNavIntBoundsRect = "{{0, 0}, {1153, 2268}}"; 
     1550                        sepNavSelRange = "{3740, 0}"; 
     1551                        sepNavVisRect = "{{0, 0}, {1153, 951}}"; 
    5781552                        sepNavWindowFrame = "{{15, 4}, {1198, 1024}}"; 
    5791553                }; 
     
    7221696        DEEECF760B940A010051C017 /* LTBufferedRenderer.h */ = { 
    7231697                uiCtxt = { 
    724                         sepNavIntBoundsRect = "{{0, 0}, {1088, 888}}"; 
    725                         sepNavSelRange = "{515, 27}"; 
    726                         sepNavVisRect = "{{0, 0}, {1088, 888}}"; 
    727                         sepNavWindowFrame = "{{107, 72}, {1133, 1017}}"; 
     1698                        sepNavIntBoundsRect = "{{0, 0}, {1088, 1036}}"; 
     1699                        sepNavSelRange = "{2551, 0}"; 
     1700                        sepNavVisRect = "{{0, 92}, {1088, 944}}"; 
     1701                        sepNavWindowFrame = "{{107, 11}, {1133, 1017}}"; 
    7281702                }; 
    7291703        }; 
    7301704        DEEECF770B940A010051C017 /* LTBufferedRenderer.m */ = { 
    7311705                uiCtxt = { 
    732                         sepNavIntBoundsRect = "{{0, 0}, {1088, 4186}}"; 
    733                         sepNavSelRange = "{7537, 0}"; 
    734                         sepNavVisRect = "{{0, 2351}, {1088, 888}}"; 
    735                         sepNavWindowFrame = "{{107, 72}, {1133, 1017}}"; 
     1706                        sepNavIntBoundsRect = "{{0, 0}, {1088, 5642}}"; 
     1707                        sepNavSelRange = "{10279, 0}"; 
     1708                        sepNavVisRect = "{{0, 3908}, {1088, 944}}"; 
     1709                        sepNavWindowFrame = "{{107, 11}, {1133, 1017}}"; 
    7361710                }; 
    7371711        }; 
  • trunk/LaserTools/_Runtime/LTBufferedRenderer.h

    r387 r399  
    77// 
    88//      This takes care of all rendering done at runtime for the Flash 
    9 //      movie and its associates. There is really no need to instantiate 
    10 //      it ever, or at least not right now. 
     9//      movie and its associates. 
    1110 
    1211#import <Cocoa/Cocoa.h> 
     
    2120#import "LTMatrix.h" 
    2221 
    23 #define LTCurveLinearizationQuality     6.0F 
    24 #define LTPointsPerUnitLength           50.0F 
     22//#define LTCurveLinearizationQuality   6.0F 
     23//#define LTPointsPerUnitLength         50.0F 
     24static float const LTCurveLinearizationQuality  = 6.0F; 
     25static float const LTPointsPerUnitLength                = 50.0F; 
    2526 
    2627NSPoint LTDivideLineSegment(float t, NSPoint a, NSPoint b); 
     
    2829@interface LTBufferedRenderer : NSObject 
    2930{ 
     31        float _curveLinearizationQuality; 
     32        float _pointsPerUnitLength; 
    3033} 
    3134 
     
    3336//              Core 
    3437// -------------------------------------------------------------------------- // 
     38+ (LTBufferedRenderer *)sharedRenderer; 
    3539+ (LTBufferedRenderer *)renderer; 
    3640 
     
    3943 
    4044// -------------------------------------------------------------------------- // 
     45//              Class Properties 
     46// -------------------------------------------------------------------------- // 
     47- (float)curveLinearizationQuality; 
     48- (void)setCurveLinearizationQuality:(float)newValue; 
     49- (float)pointsPerUnitLength; 
     50- (void)setPointsPerUnitLength:(float)newValue; 
     51 
     52// -------------------------------------------------------------------------- // 
    4153//              Rendering movie frames 
    4254// -------------------------------------------------------------------------- // 
    43 + (NSArray *)renderFrame:(uint16_t)frame inMovie:(LTFlashMovie *)movie; 
    44 + (NSArray *)renderFrameInstance:(LTFrameInstance *)instance inMovie:(LTFlashMovie *)movie; 
    45 + (NSArray *)renderObjectInstance:(LTObjectInstance *)instance 
     55- (NSArray *)renderFrame:(uint16_t)frame inMovie:(LTFlashMovie *)movie; 
     56- (NSArray *)renderFrameInstance:(LTFrameInstance *)instance inMovie:(LTFlashMovie *)movie; 
     57- (NSArray *)renderObjectInstance:(LTObjectInstance *)instance 
    4658        withContext:(LTRenderedContext)context 
    4759        inFrameInstance:(LTFrameInstance *)frameInstance 
     
    5163//              Curve and point manipulation 
    5264// -------------------------------------------------------------------------- // 
    53 + (NSArray *)linearizeCurve:(LTCurvedEdgeRecord *)curve fromAnchor:(NSPoint)anchor; 
    54 + (NSArray *)linearizeCurve:(LTCurvedEdgeRecord *)curve fromAnchor:(NSPoint)anchor quality:(float)quality; 
     65- (NSArray *)linearizeCurve:(LTCurvedEdgeRecord *)curve fromAnchor:(NSPoint)anchor; 
     66- (NSArray *)linearizeCurve:(LTCurvedEdgeRecord *)curve fromAnchor:(NSPoint)anchor quality:(float)quality; 
    5567 
    56 + (NSArray *)subdivideLineBetweenPoints:(NSPoint)start end:(NSPoint)end color:(LTColor *)color; 
     68- (NSArray *)subdivideLineBetweenPoints:(NSPoint)start end:(NSPoint)end color:(LTColor *)color; 
     69 
     70 
     71static LTBufferedRenderer * _sharedBufferedRenderer = nil; 
    5772 
    5873@end 
  • trunk/LaserTools/_Runtime/LTBufferedRenderer.m

    r394 r399  
    2525//              Core 
    2626// -------------------------------------------------------------------------- // 
     27/* 
     28 *      In the initialization, we want to create a shared instance of the buffered 
     29 *      renderer that we can modify when we want to change quality settings and the 
     30 *      like, for example. 
     31 */ 
     32+ (void)initialize 
     33{ 
     34        _sharedBufferedRenderer = [[LTBufferedRenderer alloc] init]; //[LTBufferedRenderer renderer]; 
     35} 
     36 
     37+ (LTBufferedRenderer *)sharedRenderer 
     38{ 
     39        return _sharedBufferedRenderer; 
     40} 
     41 
    2742+ (LTBufferedRenderer *)renderer 
    2843{ 
     
    3449        if (self = [super init])        // as long as super class initialization goes to plan 
    3550        { 
     51                [self setCurveLinearizationQuality:LTCurveLinearizationQuality]; 
     52                [self setPointsPerUnitLength:LTPointsPerUnitLength]; 
    3653        } 
    3754         
     
    4259{ 
    4360        [super dealloc]; 
     61} 
     62 
     63// -------------------------------------------------------------------------- // 
     64//              Class Properties 
     65// -------------------------------------------------------------------------- // 
     66- (float)curveLinearizationQuality 
     67{ 
     68        return _curveLinearizationQuality; 
     69} 
     70 
     71- (void)setCurveLinearizationQuality:(float)newValue 
     72{ 
     73        _curveLinearizationQuality = newValue; 
     74} 
     75 
     76- (float)pointsPerUnitLength 
     77{ 
     78        return _pointsPerUnitLength; 
     79} 
     80 
     81- (void)setPointsPerUnitLength:(float)newValue 
     82{ 
     83        _pointsPerUnitLength = newValue; 
    4484} 
    4585 
     
    5191// the given object. This points are then spliced together with 0-intensity 
    5292// LTPoints, and put in an array for return 
    53 + (NSArray *)renderFrame:(uint16_t)frame inMovie:(LTFlashMovie *)movie 
     93- (NSArray *)renderFrame:(uint16_t)frame inMovie:(LTFlashMovie *)movie 
    5494{ 
    5595        NSMutableArray *points = [NSMutableArray array]; 
     
    77117                        // given frame instance. Then, we make the last point in the current 
    78118                        // array of points (if defined) have a zero intensity color. 
    79                         NSArray *objectPoints = [LTBufferedRenderer 
     119                        NSArray *objectPoints = [[LTBufferedRenderer sharedRenderer] 
    80120                                                                                renderFrameInstance:instance 
    81121                                                                                inMovie:movie]; 
     
    104144// instances present in the given frame instance. 
    105145// The points are ranged from -1 to 1. 
    106 + (NSArray *)renderFrameInstance:(LTFrameInstance *)instance inMovie:(LTFlashMovie *)movie 
     146- (NSArray *)renderFrameInstance:(LTFrameInstance *)instance inMovie:(LTFlashMovie *)movie 
    107147{ 
    108148        if ([instance characterID]) 
     
    124164                for (i = 0; i < numInstances; i++) 
    125165                { 
    126                         NSArray *points = [LTBufferedRenderer 
     166                        NSArray *points = [[LTBufferedRenderer sharedRenderer] 
    127167                                                                renderObjectInstance:[instances objectAtIndex:i] 
    128168                                                                withContext:rawContext 
     
    142182// This will take an object instance and a rendered context, and apply the matrices 
    143183// in the object instance to the rendered context's array of points. 
    144 + (NSArray *)renderObjectInstance:(LTObjectInstance *)instance 
     184- (NSArray *)renderObjectInstance:(LTObjectInstance *)instance 
    145185                withContext:(LTRenderedContext)context 
    146186                inFrameInstance:(LTFrameInstance *)frameInstance 
     
    241281// This function takes the given anchor and curve, and then linearizes it using 
    242282// deCastelijau's algorithm and the default QUALITY setting. 
    243 + (NSArray *)linearizeCurve:(LTCurvedEdgeRecord *)curve fromAnchor:(NSPoint)anchor 
    244 { 
    245         return [LTBufferedRenderer linearizeCurve:curve fromAnchor:anchor quality:LTCurveLinearizationQuality]; 
     283- (NSArray *)linearizeCurve:(LTCurvedEdgeRecord *)curve fromAnchor:(NSPoint)anchor 
     284{ 
     285        return [[LTBufferedRenderer sharedRenderer] linearizeCurve:curve fromAnchor:anchor quality:[self curveLinearizationQuality]]; 
    246286} 
    247287 
     
    264304 *      defined as B(t) by deCastelijau. 
    265305 */ 
    266 + (NSArray *)linearizeCurve:(LTCurvedEdgeRecord *)curve fromAnchor:(NSPoint)anchor quality:(float)quality 
    267 { 
     306- (NSArray *)linearizeCurve:(LTCurvedEdgeRecord *)curve fromAnchor:(NSPoint)anchor quality:(float)quality 
     307{       
    268308        // check quality range 
    269309        if (quality < 1) 
     
    308348 *      into an autoreleased array and returns it. 
    309349 */ 
    310 + (NSArray *)subdivideLineBetweenPoints:(NSPoint)start end:(NSPoint)end 
     350- (NSArray *)subdivideLineBetweenPoints:(NSPoint)start end:(NSPoint)end 
    311351        color:(LTColor *)color 
    312352{ 
     
    315355        float deltaY = end.y - start.y; 
    316356        float lineDistance = sqrt(pow(deltaX, 2) + pow(deltaY, 2)); 
    317         float signX = (signbit(deltaX) == 0) ? 1.0 : -1.0; 
    318         float signY = (signbit(deltaY) == 0) ? 1.0 : -1.0; 
     357        //float signX = (signbit(deltaX) == 0) ? 1.0 : -1.0; 
     358        //float signY = (signbit(deltaY) == 0) ? 1.0 : -1.0; 
    319359         
    320360        // Get the number of points by dividing the line distance by the points per 
     
    327367        // instead of: 
    328368        //      .  .  .  .  .  .  .  . (which is off!) 
    329         float numberOfPoints = floor(lineDistance/LTPointsPerUnitLength); 
     369        float numberOfPoints = floor(lineDistance/[self pointsPerUnitLength]); 
    330370        float deltaXPerPoint = deltaX / numberOfPoints; 
    331371        float deltaYPerPoint = deltaY / numberOfPoints;