Revision: 3162
          http://skim-app.svn.sourceforge.net/skim-app/?rev=3162&view=rev
Author:   hofman
Date:     2007-11-06 03:37:15 -0800 (Tue, 06 Nov 2007)

Log Message:
-----------
Save/restore graphics state. Lockfocus does not reset the graphics state as I 
thought.

Modified Paths:
--------------
    trunk/NSImage_SKExtensions.m

Modified: trunk/NSImage_SKExtensions.m
===================================================================
--- trunk/NSImage_SKExtensions.m        2007-11-06 11:31:11 UTC (rev 3161)
+++ trunk/NSImage_SKExtensions.m        2007-11-06 11:37:15 UTC (rev 3162)
@@ -50,6 +50,7 @@
     
     NSImage *image = [[NSImage alloc] initWithSize:NSMakeSize(25.0, 13.0)];
     [image lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [self compositeToPoint:NSMakePoint(2.0, 1.0) operation:NSCompositeCopy];
     [[NSColor colorWithCalibratedWhite:0.0 alpha:0.85] setFill];
     [arrowPath fill];
@@ -61,6 +62,7 @@
 - (NSImage *)createLargeNoteAdornImage {
     NSImage *image = [[NSImage alloc] initWithSize:NSMakeSize(19.0, 11.0)];
     [image lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [self compositeToPoint:NSMakePoint(2.0, 0.0) operation:NSCompositeCopy];
     [image unlockFocus];
     
@@ -123,6 +125,7 @@
     
     backAdornImage = [[NSImage alloc] initWithSize:size];
     [backAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     //[shadow set];
     [[NSColor colorWithCalibratedWhite:0.1 alpha:1.0] setFill];
     path = [NSBezierPath bezierPath];
@@ -131,11 +134,13 @@
     [path lineToPoint:NSMakePoint(16.0, 11.5)];
     [path closePath];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [backAdornImage unlockFocus];
     [backAdornImage setName:@"BackAdorn"];
     
     forwardAdornImage = [[NSImage alloc] initWithSize:size];
     [forwardAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     //[shadow set];
     [[NSColor colorWithCalibratedWhite:0.1 alpha:1.0] setFill];
     path = [NSBezierPath bezierPath];
@@ -144,11 +149,13 @@
     [path lineToPoint:NSMakePoint(9.0, 11.5)];
     [path closePath];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [forwardAdornImage unlockFocus];
     [forwardAdornImage setName:@"ForwardAdorn"];
     
     firstAdornImage = [[NSImage alloc] initWithSize:size];
     [firstAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     //[shadow set];
     [[NSColor colorWithCalibratedWhite:0.1 alpha:1.0] setFill];
     path = [NSBezierPath bezierPath];
@@ -158,11 +165,13 @@
     [path closePath];
     [path appendBezierPathWithRect:NSMakeRect(5.0, 3.0, 3.0, 8.0)];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [firstAdornImage unlockFocus];
     [firstAdornImage setName:@"FirstAdorn"];
     
     lastAdornImage = [[NSImage alloc] initWithSize:size];
     [lastAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     //[shadow set];
     [[NSColor colorWithCalibratedWhite:0.1 alpha:1.0] setFill];
     path = [NSBezierPath bezierPath];
@@ -172,43 +181,51 @@
     [path closePath];
     [path appendBezierPathWithRect:NSMakeRect(17.0, 3.0, 3.0, 8.0)];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [lastAdornImage unlockFocus];
     [lastAdornImage setName:@"LastAdorn"];
     
     zoomInAdornImage = [[NSImage alloc] initWithSize:size];
     [zoomInAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [[NSColor colorWithCalibratedWhite:0.1 alpha:1.0] setFill];
     path = [NSBezierPath bezierPath];
     [path appendBezierPathWithRect:NSMakeRect(8.0, 6.0, 11.0, 3.0)];
     [path appendBezierPathWithRect:NSMakeRect(12.0, 2.0, 3.0, 11.0)];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [zoomInAdornImage unlockFocus];
     [zoomInAdornImage setName:@"ZoomInAdorn"];
     
     zoomOutAdornImage = [[NSImage alloc] initWithSize:size];
     [zoomOutAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [[NSColor colorWithCalibratedWhite:0.1 alpha:1.0] setFill];
     path = [NSBezierPath bezierPath];
     [path appendBezierPathWithRect:NSMakeRect(6.0, 6.0, 11.0, 3.0)];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [zoomOutAdornImage unlockFocus];
     [zoomOutAdornImage setName:@"ZoomOutAdorn"];
     
     zoomActualAdornImage = [[NSImage alloc] initWithSize:size];
     [zoomActualAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [[NSColor colorWithCalibratedWhite:0.1 alpha:1.0] setFill];
     path = [NSBezierPath bezierPath];
     [path appendBezierPathWithRect:NSMakeRect(7.0, 4.0, 11.0, 3.0)];
     [path appendBezierPathWithRect:NSMakeRect(7.0, 8.0, 11.0, 3.0)];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [zoomActualAdornImage unlockFocus];
     [zoomActualAdornImage setName:@"ZoomActualAdorn"];
     
     outlineViewAdornImage = [[NSImage alloc] initWithSize:size];
     [outlineViewAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     path = [NSBezierPath bezierPath];
@@ -221,11 +238,13 @@
     [path moveToPoint:NSMakePoint(8.0, 11.5)];
     [path lineToPoint:NSMakePoint(19.0, 11.5)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [outlineViewAdornImage unlockFocus];
     [outlineViewAdornImage setName:@"OutlineViewAdorn"];
     
     thumbnailViewAdornImage = [[NSImage alloc] initWithSize:size];
     [thumbnailViewAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     path = [NSBezierPath bezierPath];
@@ -236,11 +255,13 @@
     [path appendBezierPathWithRect:NSMakeRect(8.5, 1.5, 4.0, 4.0)];
     [path appendBezierPathWithRect:NSMakeRect(8.5, 8.5, 4.0, 4.0)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [thumbnailViewAdornImage unlockFocus];
     [thumbnailViewAdornImage setName:@"ThumbnailViewAdorn"];
     
     noteViewAdornImage = [[NSImage alloc] initWithSize:size];
     [noteViewAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     path = [NSBezierPath bezierPath];
@@ -267,22 +288,26 @@
     [path lineToPoint:NSMakePoint(11.5, 9.5)];
     [path lineToPoint:NSMakePoint(12.5, 9.5)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [noteViewAdornImage unlockFocus];
     [noteViewAdornImage setName:@"NoteViewAdorn"];
     
     snapshotViewAdornImage = [[NSImage alloc] initWithSize:size];
     [snapshotViewAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     path = [NSBezierPath bezierPath];
     [path appendBezierPathWithRect:NSMakeRect(8.5, 1.5, 10.0, 4.0)];
     [path appendBezierPathWithRect:NSMakeRect(8.5, 8.5, 10.0, 4.0)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [snapshotViewAdornImage unlockFocus];
     [snapshotViewAdornImage setName:@"SnapshotViewAdorn"];
     
     findViewAdornImage = [[NSImage alloc] initWithSize:size];
     [findViewAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     path = [NSBezierPath bezierPath];
@@ -295,11 +320,13 @@
     [path moveToPoint:NSMakePoint(8.0, 11.5)];
     [path lineToPoint:NSMakePoint(19.0, 11.5)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [findViewAdornImage unlockFocus];
     [findViewAdornImage setName:@"FindViewAdorn"];
     
     groupedFindViewAdornImage = [[NSImage alloc] initWithSize:size];
     [groupedFindViewAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     [NSBezierPath setDefaultLineWidth:2.0];
@@ -311,11 +338,13 @@
     [path moveToPoint:NSMakePoint(8.0, 11.0)];
     [path lineToPoint:NSMakePoint(19.0, 11.0)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [groupedFindViewAdornImage unlockFocus];
     [groupedFindViewAdornImage setName:@"GroupedFindViewAdorn"];
     
     textToolAdornImage = [[NSImage alloc] initWithSize:size];
     [textToolAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setFill];
     path = [NSBezierPath bezierPath];
@@ -333,11 +362,13 @@
     [path lineToPoint:NSMakePoint(12.25, 10.125)];
     [path closePath];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [textToolAdornImage unlockFocus];
     [textToolAdornImage setName:@"TextToolAdorn"];
     
     moveToolAdornImage = [[NSImage alloc] initWithSize:size];
     [moveToolAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [[NSColor blackColor] set];
     path = [NSBezierPath bezierPath];
@@ -367,11 +398,13 @@
     [path lineToPoint:NSMakePoint(9.0, 7.0)];
     [path closePath];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [moveToolAdornImage unlockFocus];
     [moveToolAdornImage setName:@"MoveToolAdorn"];
     
     magnifyToolAdornImage = [[NSImage alloc] initWithSize:size];
     [magnifyToolAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     path = [NSBezierPath bezierPath];
@@ -380,11 +413,13 @@
     [path lineToPoint:NSMakePoint(18.0, 1.0)];
     [path setLineWidth:2.0];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [magnifyToolAdornImage unlockFocus];
     [magnifyToolAdornImage setName:@"MagnifyToolAdorn"];
     
     selectToolAdornImage = [[NSImage alloc] initWithSize:size];
     [selectToolAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     path = [NSBezierPath bezierPath];
@@ -409,11 +444,13 @@
     [path moveToPoint:NSMakePoint(7.5, 6.0)];
     [path lineToPoint:NSMakePoint(7.5, 8.0)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [selectToolAdornImage unlockFocus];
     [selectToolAdornImage setName:@"SelectToolAdorn"];
     
     textNoteAdornImage = [[NSImage alloc] initWithSize:noteSize];
     [textNoteAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     //[shadow set];
     path = [NSBezierPath bezierPath];
     [path moveToPoint:NSMakePoint(4.5, 3.5)];
@@ -472,6 +509,7 @@
     [path closePath];
     [[NSColor colorWithCalibratedWhite:0.0 alpha:0.95] set];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [textNoteAdornImage unlockFocus];
     [textNoteAdornImage setName:@"TextNoteAdorn"];
 
@@ -483,6 +521,7 @@
     
     anchoredNoteAdornImage = [[NSImage alloc] initWithSize:noteSize];
     [anchoredNoteAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     path = [NSBezierPath bezierPath];
@@ -502,6 +541,7 @@
     [path moveToPoint:NSMakePoint(4.0, 8.5)];
     [path lineToPoint:NSMakePoint(11.0, 8.5)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [anchoredNoteAdornImage unlockFocus];
     [anchoredNoteAdornImage setName:@"AnchoredNoteAdorn"];
 
@@ -513,6 +553,7 @@
     
     circleNoteAdornImage = [[NSImage alloc] initWithSize:noteSize];
     [circleNoteAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     NSBezierPath *clipPath = [NSBezierPath bezierPath];
@@ -530,6 +571,7 @@
     [clipPath addClip];
     [path appendBezierPathWithOvalInRect:NSMakeRect(0.5, 3.5, 10.0, 7.0)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [circleNoteAdornImage unlockFocus];
     [circleNoteAdornImage setName:@"CircleNoteAdorn"];
 
@@ -541,6 +583,7 @@
     
     squareNoteAdornImage = [[NSImage alloc] initWithSize:noteSize];
     [squareNoteAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [color setStroke];
     path = [NSBezierPath bezierPathWithRect:NSMakeRect(5.5, 1.5, 9.0, 5.0)];
@@ -550,6 +593,7 @@
     [path lineToPoint:NSMakePoint(10.5, 10.5)];
     [path lineToPoint:NSMakePoint(10.5, 7.0)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [squareNoteAdornImage unlockFocus];
     [squareNoteAdornImage setName:@"SquareNoteAdorn"];
 
@@ -561,6 +605,7 @@
     
     highlightNoteAdornImage = [[NSImage alloc] initWithSize:noteSize];
     [highlightNoteAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [[NSColor colorWithCalibratedWhite:0.0 alpha:0.70] setFill];
     path = [NSBezierPath bezierPath];
@@ -574,6 +619,7 @@
     [path lineToPoint:NSMakePoint(5.0, 3.0)];
     [path lineToPoint:NSMakePoint(5.0, 5.0)];
     [path fill];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [highlightNoteAdornImage unlockFocus];
     [highlightNoteAdornImage setName:@"HighlightNoteAdorn"];
 
@@ -585,6 +631,7 @@
     
     underlineNoteAdornImage = [[NSImage alloc] initWithSize:noteSize];
     [underlineNoteAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [[NSColor colorWithCalibratedWhite:0.0 alpha:0.70] setStroke];
     path = [NSBezierPath bezierPath];
@@ -593,6 +640,7 @@
     [path moveToPoint:NSMakePoint(0.0, 6.5)];
     [path lineToPoint:NSMakePoint(12.0, 6.5)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [underlineNoteAdornImage unlockFocus];
     [underlineNoteAdornImage setName:@"UnderlineNoteAdorn"];
 
@@ -604,6 +652,7 @@
     
     strikeOutNoteAdornImage = [[NSImage alloc] initWithSize:noteSize];
     [strikeOutNoteAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [[NSColor colorWithCalibratedWhite:0.0 alpha:0.70] setStroke];
     path = [NSBezierPath bezierPath];
@@ -612,6 +661,7 @@
     [path moveToPoint:NSMakePoint(0.0, 8.5)];
     [path lineToPoint:NSMakePoint(14.0, 2.5)];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [strikeOutNoteAdornImage unlockFocus];
     [strikeOutNoteAdornImage setName:@"StrikeOutNoteAdorn"];
 
@@ -623,6 +673,7 @@
     
     lineNoteAdornImage = [[NSImage alloc] initWithSize:noteSize];
     [lineNoteAdornImage lockFocus];
+    [[NSGraphicsContext currentContext] saveGraphicsState];
     [shadow set];
     [[NSColor colorWithCalibratedWhite:0.0 alpha:0.70] setStroke];
     path = [NSBezierPath bezierPath];
@@ -633,6 +684,7 @@
     [path lineToPoint:NSMakePoint(11.0, 5.0)];
     [path setLineWidth:1.2];
     [path stroke];
+    [[NSGraphicsContext currentContext] restoreGraphicsState];
     [lineNoteAdornImage unlockFocus];
     [lineNoteAdornImage setName:@"LineNoteAdorn"];
 
@@ -652,7 +704,7 @@
        NSImage *image = [[NSImage alloc] 
initWithSize:NSMakeSize(iconSize.width, iconSize.height)]; 
        CGRect rect =  CGRectMake(0.0, 0.0, iconSize.width, iconSize.height);
        
-       [image lockFocus]; 
+       [image lockFocus];
        PlotIconRefInContext((CGContextRef)[[NSGraphicsContext currentContext] 
graphicsPort],
                          &rect,
                                                 kAlignAbsoluteCenter, 
//kAlignNone,


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to