home *** CD-ROM | disk | FTP | other *** search
-
-
-
- #import <appkit/NXImage.h>
- #import <appkit/NXBitmapImageRep.h>
- #import <appkit/NXEPSImageRep.h>
- #import <appkit/ScrollView.h>
- #import <appkit/Matrix.h>
- #import <dpsclient/psops.h>
-
- #import "PSView.h"
-
- @implementation PSView
-
- - initFrame:(NXRect *)r
- {
- self = [super initFrame:r];
- displayType = 0;
- sizedirty = YES;
- return self;
- }
- - getImage
- {
- return theImage;
- }
-
- - setImage: image
- {
- if(theImage != nil)
- [theImage free];
- theImage = image;
- [theImage setDataRetained:YES];
- [theImage setScalable:YES];
- [theImage getSize:&s];
- return self;
- }
-
- - drawSelf:(const NXRect *)aRect :(int)c
- {
- NXCoord width, height;
- NXPoint p;
- PSsetgray(NX_LTGRAY);
- NXRectFill(aRect);
-
- if(displayType == 0)
- {
- width = ((s.width < bounds.size.width) ? bounds.size.width : s.width);
- height = ((s.height < bounds.size.height) ? bounds.size.height : s.height);
- if(sizedirty)
- {
- [theImage setSize:&s];
- sizedirty = NO;
- }
- p.x = width / 2 - s.width / 2;
- p.y = height / 2 - s.height / 2;
- [theImage composite: NX_COPY toPoint: &p];
- }
- else
- {
- [theImage setSize:&bounds.size];
- [theImage composite: NX_COPY toPoint: &bounds.origin];
- }
-
- return self;
- }
-
- - setGraphicDisplayType: sender
- {
- displayType = [sender selectedTag];
- sizedirty = YES;
- [self display];
- return self;
- }
-
- @end
-