home *** CD-ROM | disk | FTP | other *** search
- /*
- * ImageFX Development Header File
- * Copyright © 1991-1995 Nova Design, Inc.
- * Written by Thomas Krehbiel
- *
- * scan.library Function Prototypes.
- *
- */
-
- #ifndef SCAN_PROTOS_H
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
- #ifndef SCAN_DRAW_H
- #include <scan/draw.h>
- #endif
- #ifndef SCAN_WEDGE_H
- #include <scan/wedge.h> /* for WedgeProto */
- #endif
-
- #ifndef REGARGS
-
- #define __STD(A,F) A F
- #define __REG(A,F) A F
-
- #define __D0
- #define __D1
- #define __D2
- #define __D3
- #define __D4
- #define __D5
- #define __D6
- #define __D7
- #define __A0
- #define __A1
- #define __A2
- #define __A3
- #define __A4
- #define __A5
- #define __A6
-
- #else
-
- #ifdef LATTICE
- #define __STD(A,F) A F
- #define __REG(A,F) A __asm F
- #endif
-
- #ifdef _DCC
- #define __STD(A,F) A F
- #define __REG(A,F) __regargs A F
- #endif
-
- #define __D0 register __d0
- #define __D1 register __d1
- #define __D2 register __d2
- #define __D3 register __d3
- #define __D4 register __d4
- #define __D5 register __d5
- #define __D6 register __d6
- #define __D7 register __d7
- #define __A0 register __a0
- #define __A1 register __a1
- #define __A2 register __a2
- #define __A3 register __a3
- #define __A4 register __a4
- #define __A5 register __a5
- #define __A6 register __a6
-
- #endif
-
- /*
- * Scan.library functions:
- */
-
- __REG(void, HidePanel) (void);
- __REG(void, ShowPanel) (void);
- __REG(void, ArrangePanel) (void);
- __REG(void, ShowStatus) (__A0 struct Buffer *buf);
-
- __REG(void, BeginBar) (__A0 char *, __D0 int, __D1 BOOL);
- __REG(void, EndBar) (__A0 char *);
- __REG(int, Bar) (__D0 int);
- __REG(int, HandleBar) (void);
-
- __REG(void, Error) (void);
- __REG(void, VErrorf) (__A0 char *, __A1 ULONG *);
- __REG(void, TogglePanel) (void);
-
- __REG(void, Ged_SetGC) (__A0 struct GedContext *, __D0 short, __D1 long);
- __REG(void, Ged_Set) (__A0 struct Window *, __D0 short, __D1 long);
- __REG(long, Ged_Get) (__A0 struct Window *, __D0 short);
- __REG(void, Ged_Activate) (__A0 struct Window *, __D0 short);
- __REG(void, Ged_Enable) (__A0 struct Window *, __D0 short, __D1 short);
-
- __REG(struct BitMap *, AllocChipBitMap) (__D0 int w, __D1 int h, __D2 int d);
- __REG(struct BitMap *, AllocFastBitMap) (__D0 int w, __D1 int h, __D2 int d);
- __REG(void, DeleteBitMap) (__A0 struct BitMap *bm);
- __REG(void, ClearBitMap) (__A0 struct BitMap *bm);
- __REG(int, CopyBitMap) (__A0 struct BitMap *src, __A1 struct BitMap *dst);
-
- __REG(void, SetError) (__D0 int code);
- __REG(int, GetError) (void);
-
- __REG(void *, DAlloc) (__D0 ULONG, __D1 ULONG, __A0 char *, __A1 char *, __D2 LONG);
- __REG(void, DFree) (__A1 void *, __D0 ULONG, __A0 char *, __A2 char *, __D1 LONG);
-
- __REG(int, IsBuffer) (void);
- __REG(void, FreeBuffer) (void);
- __REG(int, InitBuffer) (__A0 char *, __D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG, __D4 ULONG);
- __REG(struct Buffer *, ObtainBuffer) (__D0 int);
- __REG(void, ReleaseBuffer) (__A0 struct Buffer *);
- __REG(int, GetBufLine) (__A0 struct Buffer *, __A1 UBYTE **, __A2 UBYTE **, __A3 UBYTE **, __D0 LONG);
- __REG(int, PutBufLine) (__A0 struct Buffer *);
- __REG(int, PutNewBufLine) (__A0 struct Buffer *, __A1 UBYTE *, __A2 UBYTE *, __A3 UBYTE *, __D0 LONG);
- __REG(int, PutNewBufLine1) (__A0 struct Buffer *, __A1 UBYTE *, __D0 LONG, __D1 LONG);
- __REG(int, GetBufVLine) (__A0 struct Buffer *, __A1 UBYTE **, __A2 UBYTE **, __A3 UBYTE **, __D0 LONG);
- __REG(int, PutBufVLine) (__A0 struct Buffer *);
- __REG(int, PutNewBufVLine) (__A0 struct Buffer *, __A1 UBYTE *, __A2 UBYTE *, __A3 UBYTE *, __D0 LONG);
- __REG(int, PutNewBufVLine1) (__A0 struct Buffer *, __A1 UBYTE *, __D0 LONG, __D1 LONG);
-
- __REG(void, RenderVirtual) (void);
- __REG(void, RenderPartVirtual) (__D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
- __REG(void, VirtualTranslate) (__A0 short *, __A1 short *);
- __REG(void, GetVCoords) (__A0 struct IntuiMessage *, __A1 short *, __A2 short *);
- __REG(void, VirtRow24) (__A0 UBYTE *, __A1 UBYTE *, __A2 UBYTE *, __D0 LONG, __D1 LONG);
- __REG(void, ColorVirtual) (__D0 LONG);
- __REG(void, ClearVirtual) (void);
- __REG(void, VirtRow8) (__A0 UBYTE *, __D0 LONG, __D1 LONG, __D2 LONG);
- __REG(void, VirtCol8) (__A0 UBYTE *, __D0 LONG, __D1 LONG, __D2 LONG);
- __REG(void, VirtualTempClose) (void);
- __REG(void, VirtualTempOpen) (void);
-
- __REG(void, RequestNewRender) (void);
-
- __REG(BOOL, DoQuantize) (__D0 short, __D1 short, __A0 struct Buffer *, __A1 struct Mask *, __A2 UBYTE *, __D2 short);
-
- __REG(struct Buffer *, AllocBuffer) (__A0 char *, __D0 short, __D1 short, __D2 short, __D3 short, __D4 short);
- __REG(int, ReplaceBuffer) (__A0 struct Buffer *, __A1 struct Buffer *);
- __REG(void, KillBuffer) (__A0 struct Buffer *);
-
- __REG(BOOL, ProcessRegion) (__A0 char *, __A1 struct Buffer *, __A2 struct Mask *, __A3 void (*)(UBYTE *, UBYTE *, UBYTE *), __A4 void (*)(UBYTE *));
- __REG(BOOL, ProcessPlane) (__A0 char *, __A1 struct Buffer *, __A2 struct Mask *, __D0 short, __A3 void (*)(UBYTE *));
- __REG(BOOL, SaveUndo) (__A0 struct Buffer *, __D0 short, __D1 short, __D2 short, __D3 short);
- __REG(BOOL, RestoreUndo) (__D0 BOOL);
-
- __REG(BOOL, InitHook) (void);
- __REG(void, CleanupHook) (void);
- __REG(BOOL, EasyProcess) (__A0 char *, __A1 void (*)(UBYTE *, UBYTE *, UBYTE *, short, short), __A2 void (*)(UBYTE *, short, short));
-
- __REG(void, PreOverscan) (__A0 struct NewScreen *);
- __REG(void, PostOverscan) (__A0 struct Screen *);
-
- __REG(BOOL, VBoolRequest) (__A0 char *, __A1 ULONG *);
- __REG(char *, StringRequest) (__A0 char *, __A1 char *);
- __REG(long, IntegerRequest) (__A0 char *, __D0 long, __D1 long, __D2 long);
-
- __REG(BOOL, SetCurrentPalette) (__A0 UBYTE *pal, __D0 int count);
- __REG(BOOL, GetPaletteStruct) (__A0 struct Palette *pal);
- __REG(BOOL, IsRangeLocked) (__D0 short range);
- __REG(BOOL, IsRegisterLocked) (__D0 short reg);
- __REG(void, ModifyPalette) (__D0 short reg, __D1 short r, __D2 short g, __D3 short b);
- __REG(short, UnlockedColors) (__D0 short);
- __REG(void, RefreshPalette) (void);
-
- __REG(struct Screen *, OpenRenderScreen) (__A0 struct NewScreen *, __D0 ULONG, __D1 ULONG);
- __REG(void, CloseRenderScreen) (__A0 struct Screen *);
- __REG(void, DrawRenderArea) (void);
-
- __REG(void, SetModGad) (__A0 struct ModuleBase *, __D0 int, __D1 long);
- __REG(short, Ged_Create) (__A0 struct GedContext *, __A1 struct NewGad *, __A2 char **);
- __REG(void, Ged_Delete) (__A0 struct GedContext *);
- __REG(void, Ged_Add) (__A0 struct GedContext *, __A1 struct Window *);
- __REG(void, Ged_Remove) (__A0 struct GedContext *, __A1 struct Window *);
- __REG(int, ScanWindow) (__A0 struct NewWindow *, __A1 struct NewGad *, __D0 int, __A2 int (*)(struct Window *, struct NewGad *), __A3 int (*)(struct Window *, struct Gadget *), __A4 char **);
- __REG(struct IntuiMessage *, Ged_GetIMsg) (__A0 struct Window *, __A1 short *);
-
- __REG(void, VInfoRequest) (__A0 char *, __A1 ULONG *);
-
- __REG(LONG, CheckMask) (__A0 struct Mask *, __D0 short, __D1 short);
-
- __REG(void, RollScreenUp) (__D0 int);
- __REG(void, RollScreenDown) (void);
-
- __REG(void, InstallCustomMask) (__A0 struct Mask *);
- __REG(void, FreeMask) (__A0 struct Mask *);
- __REG(struct Mask *, BuildRectMask) (__D0 short, __D1 short, __D2 short, __D3 short);
- __REG(struct Mask *, BuildOvalMask) (__D0 short, __D1 short, __D2 short, __D3 short, __D4 BOOL);
- __REG(struct Mask *, BuildPolyMask) (__A0 POINT *);
- __REG(struct Mask *, BuildFloodMask) (__A0 struct Buffer *, __D0 short, __D1 short, __D2 short);
- __REG(void, SetRegionTool) (__D0 short);
-
- __REG(BOOL, SaveBuffer) (__A0 char *, __A1 char *, __A2 char *);
- __REG(BOOL, LoadBuffer) (__A0 char *, __A1 char *, __D0 int);
-
- __REG(int, ParseCommand) (__A0 char *, __A1 struct RexxMsg *);
- __REG(BOOL, RenderPalette) (__A0 struct Buffer *, __A1 struct Mask *, __D0 int, __A2 UBYTE *, __D1 int);
-
- __REG(void, RedrawFull) (void);
- __REG(void, RedrawArea) (__D0 int, __D1 int, __D2 int, __D3 int);
-
- __REG(int, ListRequester) (__A0 char *, __A1 struct ListView *, __D0 int);
-
- __REG(int, VThreeRequest) (__A0 char *, __A1 char *, __A2 char *, __A3 char *, __A4 ULONG *);
-
- __REG(BOOL, UnlockResource) (__D0 ULONG);
- __REG(void, RelockResource) (__D0 ULONG);
- __REG(char *, NewGetFile) (__A0 struct FileInfo *, __A1 char *, __D0 ULONG);
- __REG(BOOL, TakeOver) (__D0 BOOL);
- __REG(struct Buffer *, ReadBuffer) (__A0 char *, __A1 char *);
- __REG(BOOL, SaveBrush) (__A0 struct Buffer *, __A1 char *, __A2 char *, __A3 char *);
-
- __REG(BOOL, SaveMapped) (__A0 char *, __A1 char *, __A2 struct MappedImage *, __A3 char *);
-
- __REG(struct BIO *, BOpen) (__A0 char *, __D0 ULONG, __D1 ULONG);
- __REG(void, BClose) (__A0 struct BIO *);
- __REG(BOOL, BPutc) (__A0 struct BIO *, __D0 UBYTE);
- __REG(BOOL, BPuts) (__A0 struct BIO *, __A1 UBYTE *);
- __REG(int, BGetc) (__A0 struct BIO *);
- __REG(int, BGets) (__A0 struct BIO *, __A1 UBYTE *, __D0 int);
- __REG(int, BWrite) (__A0 struct BIO *, __A1 UBYTE *, __D0 int);
- __REG(int, BRead) (__A0 struct BIO *, __A1 UBYTE *, __D0 int);
-
- __REG(void, CloseWindowSafely) (__A0 struct Window *);
-
- __REG(void, RequestNewScanner) (void);
- __REG(void, RequestNewPrinter) (void);
-
- __REG(BOOL, VSetResult) (__A0 struct RexxMsg *, __A1 char *, __A2 ULONG *);
-
- __REG(void, PrepareNW) (__A0 struct NewWindow *, __D0 int, __D1 int, __D2 BOOL);
-
- __REG(void, GetPalette) (__D0 short, __A0 short *, __A1 short *, __A2 short *);
-
- __REG(char **, ReadText) (__A0 char *, __D0 int);
- __REG(void, FreeText) (__A0 char **, __D0 int);
-
- __REG(struct DitherArgs *, InitDither) (__A0 struct NewGad *, __A1 struct NewGad *, __A2 struct NewGad *);
- __REG(void, FreeDither) (__A0 struct DitherArgs *);
- __REG(void, DoDither) (__A0 struct Buffer *, __A1 struct DitherArgs *);
- __REG(void, Help) (__A0 char *, __A1 char *);
-
- __REG(BOOL, AddRawWedge) (__A0 char *, __A1 int (*)(WedgeProto), __A2 ULONG);
- __REG(void, RemoveWedge) (__A0 char *, __A1 char *);
- __REG(void, RemoveAllWedges) (void);
- __REG(BOOL, VDoRawWedge) (__A0 char *, __A1 VOID *, __A2 ULONG *);
- __REG(void, QuickPix) (__A0 UBYTE **, __A1 LONG *, __A2 LONG *, __D0 LONG, __D1 LONG);
- __REG(void, QuickLine) (__A0 UBYTE **, __A1 LONG *, __A2 LONG *, __A3 UBYTE *, __D0 LONG, __D1 LONG);
-
- __REG(int, GedWin) (__A0 struct NewWindow *, __A1 struct NewGad *, __D0 int, __A2 int (*)(), __A3 int (*)(), __A4 char **);
- __REG(int, VMWriteAll) (__A0 struct VM_Handle *);
- __REG(void, VMPageChanged) (__A0 struct VM_Handle *, __D0 ULONG);
- __REG(APTR, VMGetPage) (__A0 struct VM_Handle *, __D0 ULONG);
-
- __REG(long, NumberRequest) (__A0 char *, __D0 long, __D1 long, __D2 long);
-
- __REG(void, BFlush) (__A0 struct BIO *);
- __REG(int, BSeek) (__A0 struct BIO *, __D0 int, __D1 int);
-
- __REG(int, VPickFromList) (__A0 char **, __D0 int, __D1 int, __A1 ULONG *);
- __REG(int, LangListRequest) (__A0 char *, __A1 long **, __D0 int, __D1 int, __D2 int, __D3 int, __A2 char **);
- __REG(int, TextListRequest) (__A0 char *, __A1 char **, __D0 int, __D1 int, __D2 int);
- __REG(struct ListNode *, PickFromListA) (__A0 struct MinList *);
- __REG(struct Blend *, CreateBlend) (__A0 struct Mask *);
- __REG(void, DeleteBlend) (__A0 struct Blend *);
- __REG(short, mixer) (__D0 short, __D1 short, __D2 short);
-
- __REG(int, GetBufLines) (__A0 struct Buffer *, __A1 UBYTE **, __A2 UBYTE **, __A3 UBYTE **, __D0 short, __D1 short);
- __REG(int, PutBufLines) (__A0 struct Buffer *, __D0 short, __D1 short);
-
- __REG(void, NewPreOverscan) (__A0 struct NewScreen *, __D0 ULONG);
- __REG(int, IsAnimation) (__A0 char *, __A1 char *);
- __REG(void, LearnA) (__A0 char *, __A1 long *);
- __REG(BOOL, NewGetPaletteStruct) (__A0 struct Palette *, __D0 int);
- __REG(BOOL, SeparateBuffer) (__A0 struct Buffer *, __A1 struct SepInfo *, __A2 char *, __A3 char *, __A4 char *);
-
- __REG(struct ProcessInfo *, PrepareProcess) (__A0 char *, __A1 struct Buffer *, __D0 int, __D1 int, __D2 ULONG);
- __REG(void, FinishProcess) (__A0 struct ProcessInfo *);
- __REG(BOOL, GetData) (__A0 struct ProcessInfo *, __D0 int, __D1 int, __D2 int);
- __REG(BOOL, PutData) (__A0 struct ProcessInfo *, __D0 int, __D1 int, __D2 int);
-
- __REG(BOOL, EnableVMEM) (__D0 int);
-
- __REG(int, LockBufLine) (__A0 struct Buffer *, __D0 int);
- __REG(int, UnlockBufLine) (__A0 struct Buffer *, __D0 int);
-
- __REG(BOOL, CheckCloseness) (__D0 LONG, __D1 LONG, __D2 LONG);
- __REG(struct Buffer *, GetSourceArea) (__A0 struct Buffer *, __D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
- __REG(void, FreeSourceArea) (__A0 struct Buffer *);
- __REG(BOOL, GetPreset) (__A0 short *, __A1 short *);
- __REG(BOOL, GetPresetBoth) (__A0 short *, __A1 short *, __A2 short *, __A3 short *);
- __REG(BOOL, GetPresetAspect) (__A0 short *, __A1 short *);
- __REG(void, RedrawBrush) (void);
- __REG(void, RedrawCurrent) (void);
-
- __REG(struct VMHead *, AllocVMem) (__D0 ULONG, __D1 ULONG, __D2 ULONG);
- __REG(void, FreeVMem) (__A0 struct VMHead *);
- __REG(APTR, GetVMem) (__A0 struct VMHead *, __D0 int);
- __REG(void, PutVMem) (__A0 struct VMHead *, __D0 int);
- __REG(void, LockVMem) (__A0 struct VMHead *, __D0 int);
- __REG(void, UnlockVMem) (__A0 struct VMHead *, __D0 int);
-
- /* (EGED stuff found in escan_protos.h) */
-
- __REG(struct PrevInfo *, CreatePreview) (__A0 struct Buffer *, __D0 int, __D1 int, __D2 ULONG);
- __REG(void, DeletePreview) (__A0 struct PrevInfo *);
- __REG(BOOL, DrawPreview) (__A0 struct PrevInfo *, __A1 struct RastPort *, __D0 int, __D1 int);
- __REG(BOOL, MakePreview) (__A0 struct PrevInfo *, __A2 struct Buffer *, __A1 struct RastPort *, __D0 int, __D1 int);
- __REG(int, DoPreviewWindowA) (__A0 LONG *);
-
- __REG(void, NewBrush) (__A0 struct Buffer *);
-
- __REG(void, DrawBoxOnPreview) (__D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
- __REG(void, DrawBoxOnPreview2) (__D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
-
- __REG(void, DrawLineOnPreview) (__D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
- __REG(void, DrawOvalOnPreview) (__D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
-
- __REG(void, DrawInverseBox) (__A0 struct Window *, __D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
- __REG(void, DrawInverseLine) (__A0 struct Window *, __D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
- __REG(void, DrawInverseOval) (__A0 struct Window *, __D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
-
- __REG(struct MappedImage *, AllocMappedImage) (__D0 int, __D1 int, __D2 int, __D3 ULONG);
- __REG(void, FreeMappedImage) (__A0 struct MappedImage *);
-
- __REG(BOOL, NewGetPreset) (__A0 struct Preset *, __A1 char *, __D0 ULONG);
-
- __REG(BOOL, AddBuffer) (__A0 struct Buffer *);
- __REG(BOOL, AddBrush) (__A0 struct Buffer *);
- __REG(void, Buffer2Back) (void);
- __REG(void, Brush2Back) (void);
-
- /*
- * Not in scan.library, but usually part of the stub library:
- */
-
- __STD(void, Errorf) (char *, ...);
- __STD(BOOL, BoolRequest) (char *, ...);
- __STD(void, InfoRequest) (char *, ...);
- __STD(int, ThreeRequest) (char *, char *, char *, char *, ...);
- __STD(BOOL, SetResult) (struct RexxMsg *, char *, ...);
- __STD(BOOL, DoRawWedge) (char *, VOID *, ...);
- __STD(int, PickFromList) (char **, int, int, ...);
-
- __STD(void, msprintf) (char *, ...);
-
- __STD(int, ChangeScanner) (GedButtonProto);
- __STD(int, ChangeRender) (GedButtonProto);
- __STD(int, ChangePrinter) (GedButtonProto);
-
- __STD(int, MatchArg) (char *, ...);
-
- __STD(struct Buffer *, ObtainCurrentBuffer) (void);
-
- __STD(BOOL, SkipMacBinary) (BPTR);
- __STD(BOOL, BSkipMacBinary) (struct BIO *);
-
- __STD(void, Learn) (char *, ...);
-
- __STD(BOOL, ObtainImageFX) (void);
- __STD(void, ReleaseImageFX) (void);
-
- __REG(void, Chunkizer) (__A0 UBYTE **, __A1 UBYTE *, __D0 LONG, __D1 LONG);
- __REG(void, ChunkizeBMRow) (__A0 struct BitMap *, __A1 UBYTE *, __D0 LONG, __D1 LONG);
-
- __STD(int, SerOpen) (char *, int, long, BOOL);
- __STD(void, SerClose) (void);
- __STD(void, SerBaud) (long);
- __STD(void, SerRead) (UBYTE *, int);
- __STD(int, TimedSerRead) (UBYTE *, int, int);
- __STD(void, SerPutc) (UBYTE);
- __STD(void, SerWrite) (UBYTE *, int);
- __STD(void, SerFlush) (void);
- __STD(void, SerDisable) (void);
- __STD(void, SerEnable) (void);
-
- __STD(BOOL, SaveUndoRegion) (struct Buffer *);
-
- __STD(LONG, GetIfxVar) (char *, LONG);
- __STD(BOOL, SetIfxVar) (char *, LONG);
-
- __STD(APTR, LockInput) (struct Window *);
- __STD(void, UnlockInput) (APTR);
-
- __STD(int, DoPreviewWindow) (LONG, ...);
-
- __STD(APTR, ReadArgv) (int, char **, char *, LONG *);
- __STD(void, FreeArgv) (APTR);
-
- __STD(int, SendRexxMsg) (char *, char *);
-
- __STD(BOOL, GetIfxVarStr) (char *, char *, int, char *);
- __STD(BOOL, SetIfxVarStr) (char *, char *);
-
- #define SCAN_PROTOS_H
- #endif
-