This is ImageOperator.h in view mode; [Download] [Up]
// Image Operator API for ACRViewer (Version 1.3)
// Jens Breitenborn, 95/05/07
//
// A dynamically loaded Image Operator must be a subclass of the
// ImageOperator class specified by the interface below.
//
// Method description:
//
// - (const char*) operatorName
// Should be overwritten by a subclass
//
// - (BOOL)doesModify
// A modifying Image operator makes assignments to the data argument
// within its processImage:withWidth:height:minValue:andMaxValue:
// method. Modifying operators can only be applied exclusively
// to an image by ACRViewer. A subclass of ImageOperator
// must overwrite this method, if it does not modify the image.
// The default implementation of ImageOperator returns YES.
//
// - loadInterface:(const char*) filename
// Use this method to load your interface file (.nib). filename is
// relative to the bundle directory the subclass of ImageOperator
// has been loaded from.
//
// - processImage:(unsigned short*) data
// withWidth:(int)width height:(int) height
// minValue:(unsigned short) minValue andMaxValue:(unsigned short) maxValue
// Overwite this method to implement your modifying or non-modifying
// image processing algorithm.
// data contains an array of unsigned short typed pixels. The size of the
// array is data[height*width]. The pixel in the upper-left corner
// of the image is stored in data[0], the pixel in the lower-left
// corner is stored in data[width*height-1].
// Minimum and maximum pixel values are given by minValue/maxValue.
// To change these values before displaying the image, use the
// setMinValue: and setMaxValue: methods of the ImageOperator class.
//
// - openPanel
// You should overwrite this method to load your interface. If the
// interface has more than one window or panel this method should
// bring these (if necessary for input - editing parameters) on the
// screen. A subclass overwriting this method should
// return [super openPanel]
//
// - closePanel
// If the interface has multiple panels/windows this method should be
// overwritten to close all panels/windows.
// The mainPanel should be closed by returning [super closePanel]
//
// - apply:sender
// This action method should be connected to the apply button in the
// operators mainPanel
//
// - setMinValue:(unsigned short)minValue
// - setMaxValue:(unsigned short)maxValue
// Use these methods if your implementation of the image processing
// algorithm changes these values.
//
// - setParameter:(const char*) parameter to:(const char*)string
// This method is invoked by the DO API to set parameters in
// image operators. Normally you won't have to overwrite this
// method. The standard implementation of the ImageOperator class
// scans the mainPanel for Form objects and sets the string value
// in every FormCell with parameter as title to string.
// You will only have to overwrite this method if
// · the interface has multiple input panels/windows
// · parameters are represented by interface objects other than Form.
//
#import <appkit/appkit.h>
@interface ImageOperator:Object
{
@private
id operatorController;
BOOL interfaceLoaded;
@protected
id mainPanel;
}
- (const char*) operatorName;
- (BOOL)doesModify;
- loadInterface:(const char*) filename;
- processImage:(unsigned short*) data
withWidth:(int)width height:(int) height
minValue:(unsigned short) minValue andMaxValue:(unsigned short) maxValue;
- openPanel;
- closePanel;
- apply:sender;
- setMinValue:(unsigned short)minValue;
- setMaxValue:(unsigned short)maxValue;
- setParameter:(const char*) parameter to:(const char*)string;
@endThese are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.