home *** CD-ROM | disk | FTP | other *** search
- #include "/ModePro.h"
- #define CATCOMP_NUMBERS
- #include "MPPLocale.h"
-
- #include <devices/inputevent.h>
-
- #define LIST_AREA 0
- #define PROM_AREA 1
- #define OPT_AREA 2
- #define TD_AREA 3
- #define FONT_AREA 4
- #define SHPN_AREA 5
- #define PUB_AREA 6
- #define HOTK_AREA 7
- #define BACKDROP_AREA 8
- #define PGAD_AREA 9
-
- #define TOTAL_AREAS 10
-
- extern struct IBox GadgetArea[];
-
- #define MAX_TYPE 3
- #define MAX_MODE 3
- #define MAX_CENTERFLAG 3
- #define MAX_FONT 3
-
- #define MPP_IDCMP (IDCMP_REFRESHWINDOW | IDCMP_MENUPICK | INTEGERIDCMP | BUTTONIDCMP | CYCLEIDCMP | LISTVIEWIDCMP | IDCMP_VANILLAKEY | IDCMP_RAWKEY)
- #define MPP_SLEEP_IDCMP (IDCMP_REFRESHWINDOW)
-
- #define ITEM_NEW_NAME 0
- #define ITEM_NO_NAME 1
- #define OK 2
- #define LOAD_MP_PREFS 3
- #define SAVE_MP_PREFS 4
- #define LOAD_ERROR 5
- #define SAVE_ERROR 6
- #define SELECT_SCREEN_FONT 7
- #define SELECT_DEF_FOR 8
- #define UNKNOWN_PROMOTION_MODE 9
- #define MT_MILLION 10
-
-
- /** Misc Nodes **/
-
- struct PenNode
- {
- struct Node Pen_Node;
- UWORD PenNumber;
- ULONG Value;
- };
-
- struct ModeNode
- {
- struct Node mn_Node;
- ULONG mn_DisplayID;
- };
-
-
- /* Menu IDs */
- /* Project Menu */
- #define M_OPEN FULLMENUNUM(0,0,NOSUB)
- #define M_SAVE FULLMENUNUM(0,1,NOSUB)
- #define M_SAVEAS FULLMENUNUM(0,1,NOSUB)
- /* Bar */
- #define M_IMPORT FULLMENUNUM(0,3,NOSUB)
- /* Bar */
- #define M_ABOUT FULLMENUNUM(0,5,NOSUB)
- /* Bar */
- #define M_HIDE FULLMENUNUM(0,7,NOSUB)
- #define M_QUIT FULLMENUNUM(0,8,NOSUB)
-
- /* Edit Menu */
- #define M_LASTSAVED FULLMENUNUM(1,0,NOSUB)
- #define M_RESTORE FULLMENUNUM(1,1,NOSUB)
- /* Bar */
- #define M_COPY_TO FULLMENUNUM(1,3,NOSUB)
- #define M_COPY_TO_SCR FULLMENUNUM(1,3,0)
- #define M_COPY_TO_PRG FULLMENUNUM(1,3,1)
- #define M_COPY_TO_SMODE FULLMENUNUM(1,3,2)
- #define M_COPY_TO_PUB FULLMENUNUM(1,3,3)
- /* Bar */
- #define M_SORT FULLMENUNUM(1,5,NOSUB)
-
- /* Settings Menu */
- #define M_ENABLED FULLMENUNUM(2,0,NOSUB)
- #define M_ENABLENL FULLMENUNUM(2,1,NOSUB)
- /* BAR */
- #define M_SET_UNKNOWN FULLMENUNUM(2,3,NOSUB)
- #define M_SET_UNKNOWN_PUB FULLMENUNUM(2,4,NOSUB)
- #define M_SET_CENTER FULLMENUNUM(2,5,NOSUB)
- #define M_SET_CENTER_H FULLMENUNUM(2,5,0)
- #define M_SET_CENTER_V FULLMENUNUM(2,5,1)
-
- /*** GADGETS ***/
- #define GetGadString( g ) ((( struct StringInfo * )g->SpecialInfo )->Buffer )
- #define GetGadNumber( g ) ((( struct StringInfo * )g->SpecialInfo )->LongInt )
- #define GD_TYPE 0
- #define GD_NEW 1
- #define GD_LIST 2
- #define GD_NAME 3
- #define GD_REMOVE 4
- #define GD_LOOK3D 5
- #define GD_MODESEL 6
- #define GD_SELMODE 7
- #define GD_AUTOSCROLL 8
- #define GD_SCREENMODE 9
- #define GD_WIDTH 10
- #define GD_HEIGHT 11
- #define GD_OVERSCAN 12
- #define GD_MOVE 13
- #define GD_RESETPENS 14
- #define GD_PENLIST 15
- #define GD_PENVAL 16
- #define GD_INTERLEAVE 17
- #define GD_PICKFONT 18
- #define GD_CENTER 19
- #define GD_SFONT 20
- #define GD_FASPECT 21
- #define GD_DODEPTH 22
- #define GD_DEPTH 23
- #define GD_SHAREPENS 24
- #define GD_LOCKEDPENS 25
- #define GD_PUBOPT 26
- #define GD_PUBNAME 27
- #define GD_HOTKEYOPT 28
- #define GD_HOTKEYSTR 29
- #define GD_SAVE 30
- #define GD_USE 31
- #define GD_CANCEL 32
- #define GD_SELECT_NAME 33
- #define GD_PALETTE 34
- #define GD_EDITPALETTE 35
- #define GD_FORCE_PLANAR 36
- #define GD_BLANK_BORDER 37
- #define GD_BEHIND 38
- #define GD_3D_DEFAULT 39
- #define GD_FE_SAVEUSE 40
- #define GD_FE_USEDELETE 41
- #define GD_FE_NEVER 42
- #define GD_FE_CANCEL 43
- #define GD_FE_ENTRY_NAME 44
- #define GD_FE_ENTRY_TYPE 45
- #define GD_BACKDROPOPT 46
- #define GD_BACKDROPFILENAME 47
- #define GD_BACKDROPPICK 48
- #define GD_BACKDROPCENTER 49
-
- #define GD_BACKDROPCOLOR 50
- #define GD_DOOVERSCAN 51
- #define GD_DODIMENSIONS 52
-
- #define GD_FE_SCREENNAME 53
- #define GD_FE_SCREENNAME_DISP 54
- #define GD_FE_PROGRAMNAME 55
- #define GD_FE_PROGRAMNAME_DISP 56
- #define GD_FE_SCREENMODE 57
- #define GD_FE_SCREENMODE_DISP 58
- #define GD_FE_PUBLICSCREEN 59
-
- #define GADGETS 60
-
- struct TextArea
- {
- WORD LeftEdge, TopEdge,
- RightEdge, BottomEdge,
- Width, Height,
- Baseline;
- LONG PrevWidth;
- };
-
- struct LetterGad
- {
- STRPTR String;
- ULONG GadID;
- };
-
- struct LG_RetVal
- {
- UWORD GadID;
- UWORD Char;
- };
-
- /*** PROTOTYPES ***/
- BOOL GetArgs(int argc, char **argv);
- void CleanupArgs(void);
- void ProcessPrefsMessages(void);
-
- /**** DefaultNode Funcs ****/
- struct DefaultNode *GetActiveNode(void);
- LONG CountNodes(struct List *List);
- BOOL SelectName(struct DefaultNode *DN);
-
- /**** Interface ()'s ****/
- STRPTR GetString( LONG stringNum);
- void InitStrings(void);
- BOOL ShowGUI(void);
- void HideGUI(void);
- void UpdateGadgets(void);
- void SetDispGadgets(struct DefaultNode *n);
- void SetFontGadgets(struct DefaultNode *n);
- void SetSharedGadgets(struct DefaultNode *n);
- void SetDepthGadgets(struct DefaultNode *n);
- void SetPublicGadgets(struct DefaultNode *n);
- void SetHotKeyGadgets(struct DefaultNode *n);
- void SetOptionGadgets(struct DefaultNode *n);
- void Set3DGadgets(struct DefaultNode *n);
- void SetPaletteGadgets(struct DefaultNode *n);
- void SetBackdropGadgets(struct DefaultNode *n );
-
-
- void Process_Keys(struct IntuiMessage *IMsg);
- void process_gadgetups(struct IntuiMessage *imsg);
- void process_mousemoves(struct IntuiMessage *imsg);
- void process_menus(struct IntuiMessage *imsg);
- void ProcessInput(void);
- void SetupPenNodes(void);
- void SetPenValues(WORD *pens);
- ULONG __saveds __asm ExcludeHook(register __a0 struct Hook *hook,
- register __a1 ULONG *Msg,
- register __a2 struct SGWork *SW);
- void FindMaxPenNameSize(struct TextAttr *TA);
- ULONG __saveds __asm PensLVFunc(register __a0 struct Hook *Hook,
- register __a1 struct LVDrawMsg *Dm,
- register __a2 struct PenNode *PN);
-
- ULONG __saveds __asm PromotionLVFunc(register __a0 struct Hook *Hook,
- register __a1 struct LVDrawMsg *Dm,
- register __a2 struct DefaultNode *DN);
-
- // mppgadgets.c
- void WriteColorDisp(struct DefaultNode *);
- void WritePenNameDisp(STRPTR Name);
- void WriteFontDisp(struct DefaultNode *DN);
- void RefreshGUI(void);
- void SetupTextArea(struct TextArea *TA);
-
- /**** Files ****/
- LONG SendDaemonMsg(ULONG Command, ULONG Code, APTR Data);
- BOOL PrefLoadFile(STRPTR FileName);
- BOOL PrefSaveFile(STRPTR FileName);
- BOOL SaveFile(struct List *List, UBYTE *filename);
-
-
- /**** Requesters ****/
- BOOL SelectFile(UBYTE *title,UBYTE save);
- ULONG SelectScreenMode(struct Window *Win, struct DefaultNode *n, BOOL DoOrig);
- BOOL PickFont(struct Window *, struct TTextAttr *TA);
- void PaletteReq(struct DefaultNode *);
-
- STRPTR GetModeName(ULONG DisplayID);
- ULONG GetMonitorName(ULONG DisplayID, STRPTR Buffer, ULONG BufferLen);
-
- struct Screen *GetScreen(void);
- void ReleaseScreen(struct Screen *S);
-
-
-
-
- /**** Clean Up ()'s ****/
- void CleanUp(void);
-
-
- void GD_Type(LONG Code);
- struct DefaultNode *GD_New(void);
- void GD_Save(void);
- void GD_Use(void);
- void GD_Cancel(void);
- void GD_List(LONG Item, BOOL Keyed,struct IntuiMessage *);
- void GD_SelectName(struct DefaultNode *N);
- void GD_ModeSel(struct DefaultNode *N, LONG Mode, BOOL Keyed);
- void GD_SelMode(struct DefaultNode *N);
- void GD_Overscan(struct DefaultNode *N, LONG Value, BOOL Keyed);
- void GD_Remove(struct DefaultNode *N);
- void GD_PenList(struct DefaultNode *N, LONG Item, BOOL Keyed);
- void GD_ResetPens(struct DefaultNode *N);
- void GD_PickFont(struct DefaultNode *N);
- void GD_Interleave(struct DefaultNode *N, BOOL Set, BOOL Keyed);
- void GD_Look3D(struct DefaultNode *N, BOOL Set, BOOL Keyed);
- void GD_AutoScroll(struct DefaultNode *N, BOOL Flag, BOOL Keyed);
- void GD_PenVal(struct DefaultNode *N, BOOL Flag);
- void GD_ResetPens(struct DefaultNode *N);
- void GD_PickFont(struct DefaultNode *N);
- void GD_Center(struct DefaultNode *N, LONG Num, BOOL Keyed);
- void GD_FAspect(struct DefaultNode *N, BOOL Flag, BOOL Keyed);
- void GD_SFont(struct DefaultNode *N, LONG Code, BOOL Keyed);
- void GD_PubOpt(struct DefaultNode *N, BOOL Flag, BOOL Keyed);
- void GD_DoDepth(struct DefaultNode *N, BOOL Set, BOOL Keyed);
- void GD_SharePens(struct DefaultNode *N, BOOL Flag, BOOL Keyed);
- void GD_HotKeyOpt(struct DefaultNode *N, BOOL Flag, BOOL Keyed);
- void GD_Palette(struct DefaultNode *N, BOOL Set, BOOL Keyed);
- void GD_EditPalette(struct DefaultNode *N);
- void GD_Move(LONG Num, BOOL Keyed);
- void GD_Depth(struct DefaultNode *N, LONG Depth, BOOL Keyed);
- void GD_Force_Planar(struct DefaultNode *N, BOOL Flag, BOOL Keyed);
- void GD_Behind(struct DefaultNode *N, BOOL Flag, BOOL Keyed);
- void GD_Blank_Border(struct DefaultNode *N, BOOL Flag, BOOL Keyed);
- void GD_3D_Default(struct DefaultNode *N, BOOL Flag, BOOL Keyed);
- void GD_FE_SaveUse(void);
- void GD_FE_UseDelete(void);
- void GD_FE_Never(void);
- void GD_FE_Cancel(void);
- void GD_BackdropOpt(struct DefaultNode *N, LONG Flag, BOOL Keyed);
- void GD_BackdropPick(struct DefaultNode *N);
- void GD_BackdropCenter(struct DefaultNode *N, BOOL Flag, BOOL Keyed);
- void GD_BackdropColor(struct DefaultNode *N, BOOL Keyed);
-
- struct LG_RetVal MatchKey2Gad(ULONG Key, struct LetterGad *LG);
-
- LONG SelectReq(struct List *List, STRPTR WinTitle);
- struct Node *AllocNameNode(STRPTR Name);
- void FreeNameNodes(struct List *List);
-
- ULONG SelectMonitor(struct DefaultNode *DN);
- ULONG __saveds __asm PenValFunc(register __a0 struct Hook *hook,
- register __a1 ULONG *Msg,
- register __a2 struct SGWork *SW);
- ULONG __saveds __asm WinBackFillHook(register __a0 struct Hook *Hook,
- register __a1 struct BFBounds *BF,
- register __a2 struct RastPort *RP);
-
-
- void RefreshMenus(void);
- BOOL RemakeGads(void);
- struct LG_Control *MakeMPPGadgets(struct Window *Window, APTR VisualInfo, struct TextAttr *TA);
- void FreeMPPGadgets(void);
-
- BOOL GadgetInit(void);
- void GadgetCleanup(void);
-
- BOOL LoadPalette(struct DefaultNode *DN);
- BOOL SaveCMAP(STRPTR Filename, struct RGB *CReg, ULONG Colors);
- BOOL SelectBackdropFile(UBYTE *title,struct Window *Parent,STRPTR OldFile);
-
- void CheckMenuItem(ULONG MenuItem, BOOL Checked);
- void FixScreenModeNames(void);
- void ReplaceGStr(STRPTR *A, ULONG GID);
-
- BOOL ImportFile(STRPTR FileName);