Summary of Standard Image-Compression Dialog Components
C Summary
Constants
/* component type value */
#define StandardCompressionType 'scdi' /* standard image-compression
dialog component type */
#define StandardCompressionSubType 'imag' /* standard image-compression
dialog component subtype */
/* preference flags */
#define scListEveryCodec (1L<<1) /* list all components */
#define scAllowZeroFrameRate (1L<<2) /* allow 0 frame rate */
#define scAllowZeroKeyFrameRate (1L<<3) /* allow 0 key frame rate */
#define scShowBestDepth (1L<<4) /* allow "best depth" */
#define scUseMovableModal (1L<<5) /* use movable dialog */
/* values for testFlags parameter of functions that set test image */
#define scPreferCropping (1<<0) /* crop image to fit */
#define scPreferScaling (1<<1) /* shrink image to fit */
#define scPreferScalingAndCropping (scPreferScaling + scPreferCropping)
/* shrink then crop */
/* dimensions of the test image portion of the dialog box */
#define scTestImageWidth 80 /* test width of image */
#define scTestImageHeight 80 /* test height of image */
/* possible items returned by hook function */
#define scOKItem 1 /* user clicked OK */
#define scCancelItem 2 /* user clicked Cancel */
#define scCustomItem 3 /* user clicked custom button */
/* result returned when user canceled */
#define scUserCancelled 1 /* user canceled dialog */
/* selectors for standard image-compression dialog components */
#define scPositionRect 2 /* SCPositionRect */
#define scPositionDialog 3 /* SCPositionDialog */
#define scSetTestImagePictHandle 4 /* SCSetTestImagePictHandle */
#define scSetTestImagePictFile 5 /* SCSetTestImagePictFile */
#define scSetTestImagePixMap 6 /* SCSetTestImagePixMap */
#define scGetBestDeviceRect 7 /* SCGetBestDeviceRect */
#define scRequestImageSettings 10 /* SCRequestImageSettings */
#define scCompressImage 11 /* SCCompressImage */
#define scCompressPicture 12 /* SCCompressPicture */
#define scCompressPictureFile 13 /* SCCompressPictureFile */
#define scRequestSequenceSettings 14 /* SCRequestSequenceSettings */
#define scCompressSequenceBegin 15 /* SCCompressSequenceBegin */
#define scCompressSequenceFrame 16 /* SCCompressSequenceFrame */
#define scCompressSequenceEnd 17 /* SCCompressSequencEnd */
#define scDefaultPictHandleSettings18 /* SCDefaultPictHandleSettings */
#define scDefaultPictFileSettings 19 /* SCDefaultPictFileSettings */
#define scDefaultPixMapSettings 20 /* SCDefaultPixMapSettings */
#define scGetInfo 21 /* SCGetInfo */
#define scSetInfo 22 /* SCSetInfo */
#define scNewGWorld 23 /* SCNewGWorld */
/* selectors included for compatibility with earlier linked version
of standard image-compression dialog component */
#define scGetCompression 1 /* SCGetCompression */
#define scShowMotionSettings (1L<<0) /* SCShowMotionSettings */
#define scSettingsChangedItem -1 /* SCSettingsChangedItem */
/* SCSetInfo and SCGetInfo request types */
#define scSpatialSettingsType 'sptl' /* spatial options */
#define scTemporalSettingsType 'tprl' /* temporal options */
#define scDataRateSettingsType 'drat' /* data rate */
#define scColorTableType 'clut' /* color table */
#define scProgressProcType 'prog' /* progress function */
#define scExtendedProcsType 'xprc' /* extended dialog */
#define scPreferenceFlagsType 'pref' /* preferences */
#define scSettingsStateType 'ssta' /* all settings */
#define scSequenceIDType 'sequ' /* sequence ID */
#define scWindowPositionType 'wndw' /* window position */
#define scCodecFlagsType 'cflg' /* compression flags */
Data Types
/* SCModelFilterProcPtr is a pointer to a filter function */
typedef pascal Boolean (*SCModalFilterProcPtr) (DialogPtr theDialog,
EventRecord *theEvent, short *itemHit, long refcon);
/* SCModalHookProcPtr is a pointer to a hook function */
typedef pascal short (*SCModalHookProcPtr) (DialogPtr theDialog,
short itemHit, SCParams *params, long refcon);
/* spatial options structure with the spatial settings request */
typedef struct {
CodecType codecType; /* compressor type */
CodecComponent codec; /* compressor */
short depth; /* pixel depth */
CodecQ spatialQuality; /* desired quality */
} SCSpatialSettings;
/* temporal options structure with the temporal settings request */
typedef struct {
CodecQ temporalQuality; /* desired quality */
Fixed frameRate; /* frame rate */
long keyFrameRate; /* key frame rate */
} SCTemporalSettings;
/* data rate options with the data rate settings request */
typedef struct {
long dataRate; /* desired data rate */
long frameDuration; /* frame duration */
CodecQ minSpatialQuality; /* minimum value */
CodecQ minTemporalQuality; /* minimum value */
} SCDataRateSettings;
/* extending the dialog box with the extended functions request */
typedef struct {
SCModalFilterProcPtr filterProc; /* filter function */
SCModalHookProcPtr hookProc; /* hook function */
long refcon; /* reference constant */
Str31 customName; /* custom button name */
} SCExtendedProcs;
/* standard compression parameter block for compatibility with earlier
linked version of standard image-compression dialog components */
typedef struct {
long flags; /* control flags */
CodecType theCodecType; /* compressor type */
CodecComponent theCodec; /* specific compressor */
CodecQ spatialQuality; /* spatial quality value */
CodecQ temporalQuality; /* temporal quality value */
short depth; /* pixel depth */
Fixed frameRate; /* desired frame rate */
long keyFrameRate; /* desired key frame rate */
long reserved1; /* reserved--set to 0) */
long reserved2; /* reserved--set to 0 */
} SCParams;
Standard Image-Compression Dialog Component Functions
Getting Default Settings for an Image or a Sequence
pascal ComponentResult SCDefaultPixMapSettings
(ComponentInstance ci, PixMapHandle src,
short motion);
pascal ComponentResult SCDefaultPictHandleSettings
(ComponentInstance ci, PicHandle srcPicture, short motion);
pascal ComponentResult SCDefaultPictFileSettings
(ComponentInstance ci, short srcRef,
short motion);
Displaying the Standard Image-Compression Dialog Box
pascal ComponentResult SCRequestImageSettings
(ComponentInstance ci);
pascal ComponentResult SCRequestSequenceSettings
(ComponentInstance ci);
Compressing Still Images
pascal ComponentResult SCCompressImage
(ComponentInstance ci, PixMapHandle src,
Rect *srcRect, ImageDescriptionHandle *desc, Handle *data);
pascal ComponentResult SCCompressPicture
(ComponentInstance ci, PicHandle srcPicture, PicHandle dstPicture);
pascal ComponentResult SCCompressPictureFile
(ComponentInstance ci, short srcRefNum,
short dstRefNum);
Compressing Image Sequences
pascal ComponentResult SCCompressSequenceBegin
(ComponentInstance ci, PixMapHandle src,
Rect *srcRect, ImageDescriptionHandle *desc);
pascal ComponentResult SCCompressSequenceFrame
(ComponentInstance ci, PixMapHandle src,
Rect *srcRect, Handle *data, long *dataSize, short *notSyncFlag);
pascal ComponentResult SCCompressSequenceEnd
(ComponentInstance ci);
Working With Image or Sequence Settings
pascal ComponentResult SCGetInfo
(ComponentInstance ci, OSType type, void *info);
pascal ComponentResult SCSetInfo
(ComponentInstance ci, OSType type, void *info);
Specifying a Test Image
pascal ComponentResult SCSetTestImagePictHandle
(ComponentInstance ci, PicHandle testPict, Rect *testRect, short testFlags);
pascal ComponentResult SCSetTestImagePictFile
(ComponentInstance ci, short testFileRef, Rect *testRect, short testFlags);
pascal ComponentResult SCSetTestImagePixMap
(ComponentInstance ci, PixMapHandle testPixMap, Rect *testRect, short testFlags);
Positioning Dialog Boxes and Rectangles
pascal ComponentResult SCPositionRect
(ComponentInstance ci, Rect *rp, Point *where);
pascal ComponentResult SCPositionDialog
(ComponentInstance ci, short id, Point *where);
pascal ComponentResult SCGetBestDeviceRect
(ComponentInstance ci, Rect *r);
Utility Function
pascal ComponentResult SCNewGWorld
(ComponentInstance ci, GWorldPtr *gwp,
Rect *rp, GWorldFlags flags);
Application-Defined Function
pascal short MyHook (DialogPtr theDialog, short itemHit,
void *params, long refcon);
Pascal Summary
Constants
CONST
{component type value}
StandardCompressionType = 'scdi'; {standard image-compression }
{ dialog component type}
StandardCompressionSubType = 'imag'; {standard image-compression }
{ dialog component subtype}
{preference flags}
scListEveryCodec = $2; {list all components}
scAllowZeroFrameRate = $4; {allow 0 frame rate}
scAllowZeroKeyFrameRate = $8; {allow 0 key frame rate}
scShowBestDepth = $10; {allow "best depth"}
scUseMovableModal = $20; {use movable dialog box}
{values for testFlags parameter of functions that set test image}
scPreferCropping = 1; {crop image to fit}
scPreferScaling = 2; {shrink image to fit}
scPreferScalingAndCropping = 3; {shrink then crop}
{dimensions of the test image portion of the dialog box}
scTestImageWidth = 80; {test width of image}
scTestImageHeight = 80; {test height of image}
{possible items returned by hook function}
scOKItem = 1; {user clicked OK}
scCancelItem = 2; {user clicked Cancel}
scCustomItem = 3; {user clicked custom button}
{result returned when user canceled}
scUserCancelled = 1; {user canceled dialog}
{selectors for standard image-compression dialog components}
kScPositionRect = 2; {SCPositionRect}
kScPositionDialog = 3; {SCPositionDialog}
kScSetTestImagePictHandle = 4; {SCSetTestImagePictHandle}
kScSetTestImagePictFile = 5; {SCSetTestImagePictFile}
kScSetTestImagePixMap = 6; {SCSetTestImagePixMap}
kScGetBestDeviceRect = 7; {SCGetBestDeviceRect}
kScRequestImageSettings = $A; {SCRequestImageSettings}
kScCompressImage = $B; {SCCompressImage}
kScCompressPicture = $C; {SCCompressPicture}
kScCompressPictureFile = $D; {SCCompressPictureFile}
kScRequestSequenceSettings = $E; {SCRequestSequenceSettings}
kScCompressSequenceBegin = $F; {SCCompressSequenceBegin}
kScCompressSequenceFrame = $10; {SCCompressSequenceFrame}
kScCompressSequenceEnd = $11; {SCCompressSequenceEnd}
kScDefaultPictHandleSettings = $12; {SCDefaultPictHandleSettings}
kScDefaultPictFileSettings = $13; {SCDefaultPictFileSettings}
kScDefaultPixMapSettings = $14; {SCDefaultPixMapSettings}
kScGetInfo = $15; {SCGetInfo}
kScSetInfo = $16; {SCSetInfo}
kScNewGWorld = $17; {SCNewGWorld}
{selectors included for compatibility with earlier linked version }
{ of standard image-compression dialog component}
kScShowMotionSettings = 1; {SCShowMotionSettings}
kScGetCompression = 1; {SCGetCompression}
kScSettingsChangedItem = -1; {SCSettingsChangedItem}
{SCSetInfo and SCGetInfo request types}
scSpatialSettingsType = 'sptl'; {spatial options}
scTemporalSettingsType = 'tprl'; {temporal options}
scDataRateSettingsType = 'drat'; {data rate}
scColorTableType = 'clut'; {color table}
scProgressProcType = 'prog'; {progress function}
scExtendedProcsType = 'xprc'; {extended dialog}
scPreferenceFlagsType = 'pref'; {preferences}
scSettingsStateType = 'ssta'; {all settings}
scSequenceIDType = 'sequ'; {sequence ID}
scWindowPositionType = 'wndw'; {window position}
scCodecFlagsType = 'cflg'; {compression flags}
Data Types
TYPE
{SCModelFilterProcPtr is a pointer to a filter function}
SCModalFilterProcPtr = ProcPtr;
{SCModalHookProcPtr is a pointer to a hook function}
SCModalHookProcPtr = ProcPtr;
{spatial options structure with the spatial settings request}
SCSpatialSettings =
RECORD
cType: CodecType; {compressor type}
codec: CodecComponent; {compressor}
depth: Integer; {pixel depth}
spatialQuality: CodecQ; {desired quality}
END;
{temporal options structure with the temporal settings request}
SCTemporalSettings =
RECORD
temporalQuality: CodecQ; {desired quality}
frameRate: Fixed; {frame rate}
keyFrameRate: LongInt; {key frame rate}
END;
{data rate options with the data rate settings request}
SCDataRateSettings =
RECORD
dataRate: LongInt; {desired data rate}
frameDuration: LongInt; {frame duration}
minSpatialQuality: CodecQ; {minimum value}
minTemporalQuality: CodecQ; {minimum value}
END;
{extending the dialog box with the extended functions request}
SCExtendedProcs =
RECORD
filterProc: SCModalFilterProcPtr;{filter function}
hookProc: SCModalHookProcPtr; {hook function}
refCon: LongInt; {reference constant}
customName: Str31; {custom button name}
END;
{standard compression parameter block included for compatibility }
{ with earlier linked version of standard-image compression dialog }
{ component}
SCParams =
RECORD
flags : LongInt; {control flags}
theCodecType: CodecType; {compressor type}
theCodec: CodecComponent; {specific compressor}
spatialQuality: CodecQ; {spatial quality value}
temporalQuality: CodecQ; {temporal quality value}
depth: Integer; {pixel depth}
frameRate: Fixed; {desired frame rate}
keyFrameRate: LongInt; {desired key frame rate}
reserved1: LongInt; {reserved--set to 0}
reserved2: LongInt; [reserved--set to 0}
END;
Standard Image-Compression Dialog Component Routines
Getting Default Settings for an Image or a Sequence
FUNCTION SCDefaultPixMapSettings
(ci: ComponentInstance; src: PixMapHandle;
motion: Boolean): ComponentResult;
FUNCTION SCDefaultPictHandleSettings
(ci: ComponentInstance; src: PicHandle;
motion: Boolean): ComponentResult;
FUNCTION SCDefaultPictFileSettings
(ci: ComponentInstance; srcRef: Integer; motion: Boolean): ComponentResult;
Displaying the Standard Image-Compression Dialog Box
FUNCTION SCRequestImageSettings
(ci: ComponentInstance): ComponentResult;
FUNCTION SCRequestSequenceSettings
(ci: ComponentInstance): ComponentResult;
Compressing Still Images
FUNCTION SCCompressImage (ci: ComponentInstance; src: PixMapHandle;
srcRect: Rect;
VAR desc: ImageDescriptionHandle;
VAR data: Handle): ComponentResult;
FUNCTION SCCompressPicture(ci: ComponentInstance; src, dst: PicHandle):
ComponentResult;
FUNCTION SCCompressPictureFile
(ci: ComponentInstance; srcRef,
dstRef: Integer): ComponentResult;
Compressing Image Sequences
FUNCTION SCCompressSequenceBegin
(ci: ComponentInstance; src: PixMapHandle; srcRect: Rect;
VAR desc: ImageDescriptionHandle): ComponentResult;
FUNCTION SCCompressSequenceFrame
(ci: ComponentInstance; src: PixMapHandle; srcRect: Rect; VAR data: Handle;
VAR dataSize: LongInt;
VAR notSyncFlag: Boolean): ComponentResult;
FUNCTION SCCompressSequenceEnd
(ci: ComponentInstance): ComponentResult;
Working With Image or Sequence Settings
FUNCTION SCGetInfo(ci: ComponentInstance; infoType: OSType;
info: Ptr): ComponentResult;
FUNCTION SCSetInfo(ci: ComponentInstance; infoType: OSType;
info: Ptr): ComponentResult;
Specifying a Test Image
FUNCTION SCSetTestImagePictHandle
(ci: ComponentInstance; testPict: PicHandle; testRect: RectPtr; testFlags: Integer): ComponentResult;
FUNCTION SCSetTestImagePictFile
(ci: ComponentInstance; testFileRef: Integer; testRect: RectPtr; testFlags: Integer): ComponentResult;
FUNCTION SCSetTestImagePixMap
(ci: ComponentInstance;
testPixMap: PixMapHandle; testRect: RectPtr;
testFlags: Integer): ComponentResult;
Positioning Dialog Boxes and Rectangles
FUNCTION SCPositionRect(ci: ComponentInstance; r: RectPtr;
VAR where: Point): ComponentResult;
FUNCTION SCPositionDialog(ci: ComponentInstance; id: Integer;
VAR where: Point): ComponentResult;
FUNCTION SCGetBestDeviceRect
(ci: ComponentInstance; r: RectPtr):
ComponentResult;
Utility Function
FUNCTION SCNewGWorld(ci: ComponentInstance; VAR gwp: GWorldPtr;
VAR rp: Rect; flags: GWorldFlags):
ComponentResult;
Application-Defined Routine
FUNCTION MyHook(theDialog: DialogPtr; itemHit: Integer;
params Ptr; refcon: LongInt): Integer;
Result Codes
| scTypeNotFoundErr | -8971 | Component does not have the information you want |