/* * AcornGUI.h - Defines variables for the WIMP interface * * (C) 1997 Andreas Dehmel * * Frodo (C) 1994-1997,2002-2004 Christian Bauer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _ACORN_GUI_H_ #define _ACORN_GUI_H_ // Determine which paths to load from #ifdef FRODO_SC # define DEFAULT_PREFS "FrodoSC:Prefs" # define DEFAULT_SYSCONF "FrodoSC:SysConf" #else # ifdef FRODO_PC # define DEFAULT_PREFS "FrodoPC:Prefs" # define DEFAULT_SYSCONF "FrodoPC:SysConf" # else # define DEFAULT_PREFS "Frodo:Prefs" # define DEFAULT_SYSCONF "Frodo:SysConf" # endif #endif // Text written in pane icons: #define PANE_TEXT_PAUSE "Pause" #define PANE_TEXT_RESUME "Cont" #define PANE_TEXT_ZOOM1 "1 x" #define PANE_TEXT_ZOOM2 "2 x" // OS units of extra space between EmuWindow and Pane #define EmuPaneSpace 2 // OS units of the (volume) well's border #define WellBorder 12 // Height of title bar in OS units #define TitleBarHeight 44 // Maximum volume of the Sound system #define MaximumVolume 127 // Message Block indices #define MsgB_Size 0 #define MsgB_Sender 1 #define MsgB_MyRef 2 #define MsgB_YourRef 3 #define MsgB_Action 4 // Messages #define Message_Quit 0x00000 #define Message_DataSave 0x00001 #define Message_DataSaveAck 0x00002 #define Message_DataLoad 0x00003 #define Message_DataLoadAck 0x00004 #define Message_DataOpen 0x00005 #define Message_RAMFetch 0x00006 #define Message_RAMTransmit 0x00007 #define Message_PreQuit 0x00008 #define Message_PaletteChange 0x00009 #define Message_MenuWarning 0x400c0 #define Message_ModeChange 0x400c1 // Redraw Window Block #define RedrawB_Handle 0 #define RedrawB_VMinX 1 #define RedrawB_VMinY 2 #define RedrawB_VMaxX 3 #define RedrawB_VMaxY 4 #define RedrawB_ScrollX 5 #define RedrawB_ScrollY 6 #define RedrawB_CMinX 7 #define RedrawB_CMinY 8 #define RedrawB_CMaxX 9 #define RedrawB_CMaxY 10 // Window block (e.g. open, getstate.... For create: subtract -1 (no handle)) #define WindowB_Handle 0 #define WindowB_VMinX 1 #define WindowB_VMinY 2 #define WindowB_VMaxX 3 #define WindowB_VMaxY 4 #define WindowB_ScrollX 5 #define WindowB_ScrollY 6 #define WindowB_Stackpos 7 #define WindowB_WFlags 8 #define WindowB_Colours1 9 #define WindowB_Colours2 10 #define WindowB_WMinX 11 #define WindowB_WMinY 12 #define WindowB_WMaxX 13 #define WindowB_WMaxY 14 #define WindowB_TFlags 15 #define WindowB_WAFlags 16 #define WindowB_SpriteArea 17 #define WindowB_MinDims 18 #define WindowB_Data 19 #define WindowB_Icons 22 // Raw icon block #define RawIB_MinX 0 #define RawIB_MinY 1 #define RawIB_MaxX 2 #define RawIB_MaxY 3 #define RawIB_Flags 4 #define RawIB_Data0 5 #define RawIB_Data1 6 #define RawIB_Data2 7 // Icon block (as in GetIconState) #define IconB_Handle 0 #define IconB_Number 1 #define IconB_MinX 2 #define IconB_MinY 3 #define IconB_MaxX 4 #define IconB_MaxY 5 #define IconB_Flags 6 #define IconB_Data0 7 #define IconB_Data1 8 #define IconB_Data2 9 // Mouse click block (also: get pointer info): #define MouseB_PosX 0 #define MouseB_PosY 1 #define MouseB_Buttons 2 #define MouseB_Window 3 #define MouseB_Icon 4 // Key pressed block #define KeyPB_Window 0 #define KeyPB_Icon 1 #define KeyPB_PosX 2 #define KeyPB_PosY 3 #define KeyPB_CHeight 4 #define KeyPB_Index 5 #define KeyPB_Key 6 // Drag Block #define DragB_Handle 0 #define DragB_Type 1 #define DragB_IMinX 2 #define DragB_IMinY 3 #define DragB_IMaxX 4 #define DragB_IMaxY 5 #define DragB_BBMinX 6 #define DragB_BBMinY 7 #define DragB_BBMaxX 8 #define DragB_BBMaxY 9 #define DragB_R12 10 #define DragB_DrawCode 11 #define DragB_RemoveCode 12 #define DragB_MoveCode 13 // Drag A Sprite Block #define DASB_MinX 0 #define DASB_MinY 1 #define DASB_MaxX 2 #define DASB_MaxY 3 // Menu definitions #define Menu_IBar 1 #define Menu_Emulator 2 #define Menu_Height 44 #define Menu_Flags 0x07003011 #define Menu_IBar_Items 5 #define Menu_IBar_Width 256 #define Menu_IBar_Info 0 #define Menu_IBar_Prefs 1 #define Menu_IBar_Config 2 #define Menu_IBar_Sound 3 #define Menu_IBar_Quit 4 #define Menu_EWind_Items 4 #define Menu_EWind_Width 200 #define Menu_EWind_Info 0 #define Menu_EWind_Sound 1 #define Menu_EWind_SaveRAM 2 #define Menu_EWind_Snapshot 3 // Icons used in window definitions: #define Icon_Pane_LED0 1 #define Icon_Pane_LED1 3 #define Icon_Pane_LED2 5 #define Icon_Pane_LED3 7 #define Icon_Pane_Drive0 0 #define Icon_Pane_Drive1 2 #define Icon_Pane_Drive2 4 #define Icon_Pane_Drive3 6 #define Icon_Pane_Reset 8 #define Icon_Pane_Pause 9 #define Icon_Pane_Speed 10 #define Icon_Pane_Toggle 11 #define Icon_Prefs_Dr8DIR 6 #define Icon_Prefs_Dr8D64 7 #define Icon_Prefs_Dr8T64 8 #define Icon_Prefs_Dr8Path 9 #define Icon_Prefs_Dr9DIR 11 #define Icon_Prefs_Dr9D64 12 #define Icon_Prefs_Dr9T64 13 #define Icon_Prefs_Dr9Path 14 #define Icon_Prefs_Dr10DIR 16 #define Icon_Prefs_Dr10D64 17 #define Icon_Prefs_Dr10T64 18 #define Icon_Prefs_Dr10Path 19 #define Icon_Prefs_Dr11DIR 21 #define Icon_Prefs_Dr11D64 22 #define Icon_Prefs_Dr11T64 23 #define Icon_Prefs_Dr11Path 24 #define Icon_Prefs_Emul1541 25 #define Icon_Prefs_MapSlash 26 #define Icon_Prefs_SIDNone 29 #define Icon_Prefs_SIDDigi 30 #define Icon_Prefs_SIDCard 31 #define Icon_Prefs_SIDFilter 32 #define Icon_Prefs_REUNone 35 #define Icon_Prefs_REU128 36 #define Icon_Prefs_REU256 37 #define Icon_Prefs_REU512 38 #define Icon_Prefs_SkipFLeft 41 #define Icon_Prefs_SkipFRight 42 #define Icon_Prefs_SkipFText 43 #define Icon_Prefs_SprOn 47 #define Icon_Prefs_SprColl 48 #define Icon_Prefs_Joy1On 50 #define Icon_Prefs_Joy2On 51 #define Icon_Prefs_JoySwap 52 #define Icon_Prefs_LimSpeed 55 #define Icon_Prefs_FastReset 56 #define Icon_Prefs_CIAHack 57 #define Icon_Prefs_CycleNorm 64 #define Icon_Prefs_CycleBad 65 #define Icon_Prefs_CycleCIA 66 #define Icon_Prefs_CycleFloppy 67 #define Icon_Prefs_Cancel 68 #define Icon_Prefs_OK 69 #define Icon_Prefs_PrefPath 70 #define Icon_Prefs_Save 71 #define Icon_Prefs_PrefSprite 72 #define Icon_Prefs_XROMOn 75 #define Icon_Prefs_XROMPath 76 #define Icon_Conf_PollAfter 3 #define Icon_Conf_SpeedAfter 5 #define Icon_Conf_Joy1Up 15 #define Icon_Conf_Joy1Down 16 #define Icon_Conf_Joy1Left 17 #define Icon_Conf_Joy1Right 18 #define Icon_Conf_Joy1Fire 19 #define Icon_Conf_Joy2Up 27 #define Icon_Conf_Joy2Down 28 #define Icon_Conf_Joy2Left 29 #define Icon_Conf_Joy2Right 30 #define Icon_Conf_Joy2Fire 31 #define Icon_Conf_OK 32 #define Icon_Conf_Save 33 #define Icon_Conf_ConfPath 34 #define Icon_Conf_ConfSprite 35 #define Icon_Conf_SoundAfter 37 #define Icon_Info_Name 4 #define Icon_Info_Purpose 5 #define Icon_Info_Author 6 #define Icon_Info_AuthorPort 7 #define Icon_Info_Version 8 #define Icon_Sound_Volume 0 #define Icon_Sound_Notes 1 #define Icon_Save_Sprite 0 #define Icon_Save_Path 1 #define Icon_Save_OK 2 // Drag types #define DRAG_PrefsSprite 1 #define DRAG_ConfSprite 2 #define DRAG_SaveSprite 3 #define DRAG_VolumeWell 16 // Save types #define SAVE_RAM 1 #define SAVE_Snapshot 2 // variables extern char LEDtoIcon[4]; extern char DriveToIcon[16]; extern char SIDtoIcon[3]; extern char REUtoIcon[4]; // Plotter structs and variables typedef struct { int x, y, dimx, dimy; } graph_env; #define PLOTTER_ARGS const graph_env *GraphEnv, const int *Clipwindow,\ const uint8 *Bitmap, const unsigned int *TransTab // Plotters provided in Plotters.s -- declare as C-functions ! extern "C" { extern void PlotZoom1(PLOTTER_ARGS); extern void PlotZoom2(PLOTTER_ARGS); } #endif