Fix up lockFocus, restoring graphics context.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4243 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
fedor 1999-05-11 15:43:10 +00:00
parent 7b54630f98
commit 115b3cdbf6
12 changed files with 129 additions and 12 deletions

View file

@ -501,7 +501,11 @@
rect.origin = cellFrame.origin;
rect.size.width = imageSize.width;
rect.size.height = cellFrame.size.height;
/* Have to save the gstate, since a new clip rect may be defined
when drawing */
PSgsave();
[self _drawImage: imageToDisplay inFrame: rect];
PSgrestore();
// draw title
rect.origin.x += imageSize.width + xDist;
@ -515,7 +519,11 @@
rect.origin.y = cellFrame.origin.y;
rect.size.width = imageSize.width;
rect.size.height = cellFrame.size.height;
/* Have to save the gstate, since a new clip rect may be defined
when drawing */
PSgsave();
[self _drawImage: imageToDisplay inFrame: rect];
PSgrestore();
// draw title
rect.origin = cellFrame.origin;
@ -527,7 +535,11 @@
case NSImageBelow:
// draw image below title
cellFrame.size.height /= 2;
/* Have to save the gstate, since a new clip rect may be defined
when drawing */
PSgsave();
[self _drawImage: imageToDisplay inFrame: cellFrame];
PSgrestore();
cellFrame.origin.y += cellFrame.size.height;
[self _drawText: titleToDisplay inFrame: cellFrame];
break;
@ -535,14 +547,22 @@
case NSImageAbove:
// draw image above title
cellFrame.size.height /= 2;
/* Have to save the gstate, since a new clip rect may be defined
when drawing */
PSgsave();
[self _drawText: titleToDisplay inFrame: cellFrame];
PSgrestore();
cellFrame.origin.y += cellFrame.size.height;
[self _drawImage: imageToDisplay inFrame: cellFrame];
break;
case NSImageOverlaps:
// draw title over the image
/* Have to save the gstate, since a new clip rect may be defined
when drawing */
PSgsave();
[self _drawImage: imageToDisplay inFrame: cellFrame];
PSgrestore();
[self _drawText: titleToDisplay inFrame: cellFrame];
break;
}