This is eTImage.h in view mode; [Download] [Up]
///////////////////////////////////////////////////////////////////////////////
// FILENAME: eTImage.h
// SUMMARY: Interface for Image annotations with Action support
// SUPERCLASS: Object
// INTERFACE: None
// PROTOCOLS: <Annotation,HTMDSupport,ASCIISupport,LaTeXSupport,Tool,
// InspectableTarget,DocNotification>
// AUTHOR: Rohit Khare
// COPYRIGHT: (c) 1994 California Institure of Technology, eText Project
///////////////////////////////////////////////////////////////////////////////
// DESCRIPTION
// This is a class with two faces: it is useful as an abstract
// implementation of the <Annotation> protocol suitable for staic-image-like
// annotation development (contrast eTView) AND it is a simple annotation
// class for imageable data in its default implementation.
// It uses eTImageComponent to hold its image data.
///////////////////////////////////////////////////////////////////////////////
// HISTORY
// 11/26/94: Added captionMode for text-graphics.
// 10/30/94: Modified to support <InspectableTarget>
// 07/16/94: Rewritten from scratch, integrating ImageAnnotation and Image
///////////////////////////////////////////////////////////////////////////////
#import "Component.subproj/eTImageComponent.h"
#import "eTextKernel.h"
@interface eTImage:Object <DocNotification,Annotation,Tool,ASCIISupport,LaTeXSupport,HTMDSupport>
{
id theText;
id etDoc;
id imageComponent;
id image;
id altImageComponent;
id altImage;
char *description;
NXSize size;
BOOL usesButtonStyle;
BOOL isDraggable;
BOOL highlighted; // usesHighlightedStyle ????
BOOL state; // button-emulation
BOOL captionMode; // override to display text string in cell.
}
// "Delegate" methods
// User Interaction
- click:(NXEvent*)e;
- doubleClick:(NXEvent*)e;
- inspect:(NXEvent*)e;
- drag: (Pasteboard *)draggingPboard image:(NXImage **)proxyImage;
// client fills in for drag
// "Client" methods -- feel free to access ivars directly.
// Getter/Setter methods
- setImageComponent: newImageComponent;
- setAltImageComponent: newAltImageComponent;
- setDescription: (const char *) newDescription;
- setUsesButtonStyle:(BOOL)newState;
- setDraggable:(BOOL)newState;
- setSize:(const NXSize *)newSize;
- setState:(int) newState; // can't do BOOL because of NS's Cell class
- setCaptionMode;
- eTextObj;
- etDoc;
- imageComponent;
- altImageComponent;
- (char *) description;
- (char **) getDescription; // be careful of reallocing this
- (BOOL) usesButtonStyle;
- (BOOL) isDraggable;
- (NXSize *) size;
- (BOOL) state;
- (BOOL) captionMode;
// State Flushing
- updateGraphics;
// "Private" Methods; really, default implementations
// Lifecycle
+ toolAwake:theApp;
- init;
- free; // NOTE: we free none of our ivars; subclasses must!
- initFromPboard:thePB inDoc:theDoc linked:(BOOL) linked;
// Drawing
- calcCellSize:(NXSize *)theSize;
- drawSelf:(const NXRect *)rect inView:view;
- highlight:(const NXRect *)rect inView:view lit:(BOOL)flag;
- (BOOL) trackMouse:(NXEvent *)theEvent
inRect:(const NXRect *)rect
ofView:view;
// File I/O
- readRichText:(NXStream *)stream forView:view;
- writeRichText:(NXStream *)stream forView:view;
// Drag-and-Drop
- (NXDragOperation)draggingSourceOperationMaskForLocal:(BOOL)flag;
- draggedImage:(NXImage *)image endedAt:(NXPoint *)screenPoint
deposited:(BOOL)flag;
@endThese are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.