11 #include <exec/types.h>
15 /* ------------------------------------------------- */
17 // variables from AppMenu.c
19 extern SCALOSSEMAPHORE MenuSemaphore
;
20 extern SCALOSSEMAPHORE AppMenuListSemaphore
; // Semaphore to protect ToolsMenuItemList and AppMenuList
22 /* ------------------------------------------------- */
24 // Array Index for PopupMenus[]
25 enum PopupMenusArrayIndex
38 /* ------------------------------------------------- */
40 // defined in DefIcons.c
42 extern SCALOSSEMAPHORE DefIconsSemaphore
;
43 extern SCALOSSEMAPHORE DefIconsCacheSemaphore
;
45 /* ------------------------------------------------- */
47 // defined in filetypes.c
49 extern SCALOSSEMAPHORE FileTypeListSema
;
51 /* ------------------------------------------------- */
53 // defined in FileCommands.c
55 extern ULONG prefCopyBuffLen
; // size of file copy buffer
57 /* ------------------------------------------------- */
59 // defined in FontUtil.c
61 extern struct Hook ScalosFontHook
;
62 extern SCALOSSEMAPHORE tteSema
;
64 /* ------------------------------------------------- */
66 // defined in IconImageClass.c
68 extern Class
*IconImageClass
;
70 /* ------------------------------------------------- */
74 extern const struct IDCMPTableEntry IDCMPFuncTable
[]; // +jl+ 20010929 IDCMP message table
75 extern const size_t IDCMPFuncTableSize
; // number of entries in IDCMPFuncTable[]
77 /* ------------------------------------------------- */
79 // defined in Memory.c
81 extern SCALOSSEMAPHORE MemPoolSemaphore
; // +jl+ 20020210 memory pool semaphore
82 extern void *MemPool
; // +jl+ 20020210 memory pool
84 /* ------------------------------------------------- */
88 extern struct IconMenuSupports IconSupportTable
[];
89 extern struct IconMenuSupports WindowMenuTable
[];
90 extern struct Menu
*MainMenu
; // +jl+ 20010710 window menu
91 extern struct NewMenu
*MainNewMenu
; // NewMenu array for main menu
92 extern struct MenuInfo
*ParseMenuList
; // List of MenuInfo's
93 extern SCALOSSEMAPHORE ParseMenuListSemaphore
; // Semaphore to protect ParseMenuList
95 /* ------------------------------------------------- */
97 // defined in MenuCommand.c
99 extern struct ScalosMenuCommand MenuCommandTable
[];
100 extern struct List globalCopyClipBoard
; // Clipboard for files/directories via copy/cut/paste
101 extern SCALOSSEMAPHORE ClipboardSemaphore
; // Semaphore to protect globalCopyClipBoard
103 /* ------------------------------------------------- */
105 // defined in Messages.c
107 extern struct MsgTableEntry iMsgTable
[]; // +jl+ 20010928 Root_HandleMessages message table
109 /* ------------------------------------------------- */
111 // defined in PopupMenus.c
113 extern struct Hook PMGetStringHook
; // PM_LocaleHook getstring hook
114 extern struct PopupMenu
*PopupMenus
[]; // Array of Popup Menus
116 /* ------------------------------------------------- */
118 // defined in Prefs.c
120 extern struct Hook
*globalCopyHook
;
121 extern struct Hook
*globalDeleteHook
;
122 extern struct Hook
*globalTextInputHook
;
123 extern struct List globalCloseWBHookList
; // Hooks in this list will be called on AppSleep/AppWakeup
124 extern struct List ControlBarGadgetListNormal
; // List of control bar gadgets for standard windows
125 extern struct List ControlBarGadgetListBrowser
; // List of control bar gadgets for browser-mode windows
126 extern SCALOSSEMAPHORE CopyHookSemaphore
;
127 extern SCALOSSEMAPHORE DeleteHookSemaphore
;
128 extern SCALOSSEMAPHORE TextInputHookSemaphore
;
129 extern SCALOSSEMAPHORE CloseWBHookListSemaphore
;
130 extern struct PatternNode
*PatternNodes
; // +jl+ 20010826
131 extern struct ScalosPrefs CurrentPrefs
;
132 extern struct ScalosPalettePrefs PalettePrefs
;
133 extern struct ScalosPatternPrefs PatternPrefs
;
134 extern struct ScalosFontPrefs FontPrefs
;
136 /* ------------------------------------------------- */
138 // defined in RootClass.c
140 extern SCALOSSEMAPHORE ListenerSema
;
142 /* ------------------------------------------------- */
144 // defined in ScaLibrary.c
146 extern APTR ScalosLibFunctions
[];
148 /* ------------------------------------------------- */
150 // defined in Scalos.c
152 extern const int Max_PathLen
; // length of buffer allocated by AllocPathBuffer()
153 extern struct MsgPort
*FBlitPort
; // Result defined in FindPort("FBlit")
154 extern SCALOSSEMAPHORE QuitSemaphore
; // +jl+ 20011130 semaphore to prevent main process from premature quitting
155 extern SCALOSSEMAPHORE MenuSema
; // +jl+ 20010825 semaphore to protect menu access defined in changing windows
156 extern SCALOSSEMAPHORE LayersSema
; // +jl+ 20010806 semaphore to protect OpenWindow/CloseWindow/Layers operations
157 extern SCALOSSEMAPHORE WBStartListSema
; // semaphore to protect _WBStartList
158 extern SCALOSSEMAPHORE PatternSema
; // +jl+ 20010826 Pattern semaphore
159 extern SCALOSSEMAPHORE ClassListSemaphore
; // +jl+ 20010929 Class list semaphore
160 extern SCALOSSEMAPHORE DoWaitSemaphore
; // +jl+ 20011001 Semaphore for DOWAIT-List
162 extern struct List WBStartList
; // list of programs launched by scalos
164 extern struct ScalosClass
*ScalosClassList
; // +jl+ 20010929 Scalos Class list
165 extern struct DoWait
*DoWaitList
; // +jl+ 20011001 List of Msgs for DOWAIT
167 extern struct IClass
*DtImageClass
; // Image Class wrapper for Scalos Datatypes images
168 extern struct IClass
*TextIconClass
; // Class for Text mode icons
169 extern struct IClass
*TextIconHighlightClass
; // Class for highlighting of text mode icons
170 extern struct IClass
*IconifyImageClass
; // +jl+ 20010831 Imageclass for the iconify gadget
172 extern UWORD WBLaunchCount
; // number of workbench launched programs
173 extern ULONG RandomSeed
; // +jl+ 20011130 RandomSeed to generate good random numbers
175 extern APTR PenShareMap
; // +jl+ 20011118 PenShareMap defined in guigfx
177 extern ULONG OldMemSize
; // +jl+ 20010831 Old total memorysize
179 extern struct PluginClass
*ScalosPluginList
; // +jl+ 20011009 List of plugin classes
180 extern Object
*ScreenTitleObject
; // +jl+ 20010831 Scalos Title Object
182 extern struct Locale
*ScalosLocale
; // +jl+ 20010803
183 extern struct Catalog
*ScalosCatalog
; // +jl+ 20010829
185 extern struct TextFont
*IconWindowFont
; // +jl+ 20010710 Font for icon window icons
186 extern struct TextFont
*TextWindowFont
; // +jl+ 20010710 Font for text window icons
188 extern struct TTFontFamily IconWindowTTFont
; // +jl+ 20030110 TTengine Font for icon window icons
189 extern struct TTFontFamily TextWindowTTFont
; // +jl+ 20030110 TTengine Font for text window icons
191 extern struct TTFontFamily ScreenTTFont
; // TTengine screen font
193 extern STRPTR LastScreenTitleBuffer
; // +jl+ 20011226 Scalos ScreenTitle (Last Msg)
194 extern STRPTR ScreenTitleBuffer
; // +jl+ 20010831 Scalos ScreenTitle
196 extern UBYTE IconActive
;
197 extern UBYTE PopupMenuFlag
; // Flag: Are popupmenus available +jl+ 20010303
199 extern struct MsgPort
*wbPort
; // Workbench Message port
201 extern struct MainTask
*MainWindowTask
; // +jl+ 20011020 MainTask
202 extern struct Process
*MainTask
; // Scalos main task +jl+ 20010504
204 extern struct extendedScaInternInfos iInfos
;
206 /* ------------------------------------------------- */
208 // defined in ScalosInit.c
210 extern struct Process
*ScalosMainTask
;
212 extern SCALOSSEMAPHORE WinListSemaphore
;
213 extern struct ScaWindowList winlist
;
215 extern UWORD ScaLibPluginOpenCount
; // +jl+ 20010710 Scalos library open count by plugins
216 extern UBYTE fInitializingPlugins
; // Flag: set during OOP plugin initialization
217 extern ULONG HelpGroupID
; // common ID for window help group
219 extern T_CONSOLEDEVICE ConsoleDevice
;
220 extern struct Library
*AslBase
;
221 extern struct Library
*CxBase
;
222 extern struct Library
*CyberGfxBase
;
223 extern struct Library
*DataTypesBase
;
224 extern struct Library
*DiskfontBase
;
225 extern struct DosLibrary
*DOSBase
;
226 extern struct GfxBase
*GfxBase
;
227 extern struct Library
*GuiGFXBase
;
228 extern struct Library
*GadToolsBase
;
229 extern struct Library
*IconBase
;
230 extern struct Library
*IconobjectBase
;
231 extern struct Library
*IFFParseBase
;
232 extern struct IntuitionBase
*IntuitionBase
;
233 extern struct Library
*LayersBase
;
234 extern T_LOCALEBASE LocaleBase
;
235 extern struct PopupMenuBase
*PopupMenuBase
;
236 extern struct Library
*PreferencesBase
;
237 extern T_REXXSYSBASE RexxSysBase
;
238 extern struct ScalosBase
*ScalosBase
;
239 extern struct Library
*WorkbenchBase
;
240 extern T_UTILITYBASE UtilityBase
;
241 extern struct Library
*TitlebarImageBase
;
242 extern struct Library
*TTEngineBase
;
243 extern struct Library
*SQLite3Base
;
244 extern struct ScalosGfxBase
*ScalosGfxBase
;
246 /* ------------------------------------------------- */
248 // defined in ScalosVersion.c
250 extern CONST_STRPTR versTag
; // $VER version string
251 extern const char ScalosRevision
[]; // Revision string
252 extern CONST_STRPTR ScalosBuildNr
; // Build number aka SVN revision
254 /* ------------------------------------------------- */
256 // defined in Semaphores.c
258 extern struct ScalosSemaphoreList GlobalSemaphoreList
[];
260 /* ------------------------------------------------- */
262 // defined in Thumbnails.c
264 extern SCALOSSEMAPHORE ThumbnailsCleanupSemaphore
; // Semaphore to ensure only a single cleanup process is running
266 /* ------------------------------------------------- */
270 extern struct List globalUndoList
; // global Undo list for all file-related actions
271 extern SCALOSSEMAPHORE UndoListListSemaphore
; // Semaphore to protect globalUndoList
272 extern struct List globalRedoList
; // global Redo list for all file-related actions
273 extern SCALOSSEMAPHORE RedoListListSemaphore
; // Semaphore to protect globalRedoList
275 /* ------------------------------------------------- */
277 #endif /* VARIABLES_H */