more rendering corrections
[AROS.git] / workbench / libs / desktop / desktop_intern.h
blob6449c51df6844f1953f4fe6ced24aaa6b0827b3f
1 /*
2 Copyright © 1995-2006, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef DESKTOP_INTERN_H
7 # define DESKTOP_INTERN_H
9 # include <aros/libcall.h>
10 # include <exec/execbase.h>
11 # include <exec/libraries.h>
12 # include <dos/dos.h>
13 # include <intuition/intuitionbase.h>
14 # include <intuition/classes.h>
16 // this is extremely temporary! This is part of the extensible
17 // context menus. Because new menuitems can be added by anyone
18 // via a nice prefs program, we need to store what to do when
19 // a menu is chosen. It will, shortly, somehow, be in a prefs file.. but
20 // until then, we hardcode them in a list here
22 struct DesktopOperation
24 struct Node do_Node;
25 ULONG do_Number;
26 ULONG do_Code;
27 UBYTE *do_Name;
28 ULONG do_MutualExclude;
29 ULONG do_Flags;
30 struct List do_SubItems;
31 struct MUI_CustomClass *do_Impl;
34 # define DOF_CHECKED 0x00000001
35 # define DOF_CHECKABLE 0x00000002
36 # define DOF_MUTUALEXCLUDE 0x00000004
38 // end temporary
40 struct DesktopBase
42 struct Library db_Library;
44 struct Library *db_InputBase;
45 struct IORequest *db_InputIO;
47 struct MUI_CustomClass *db_Observer;
48 struct MUI_CustomClass *db_Presentation;
49 struct MUI_CustomClass *db_AbstractIconContainer;
50 struct MUI_CustomClass *db_IconContainer;
51 struct MUI_CustomClass *db_IconContainerObserver;
52 struct MUI_CustomClass *db_AbstractIcon;
53 struct MUI_CustomClass *db_Icon;
54 struct MUI_CustomClass *db_DiskIcon;
55 struct MUI_CustomClass *db_DrawerIcon;
56 struct MUI_CustomClass *db_TrashcanIcon;
57 struct MUI_CustomClass *db_ToolIcon;
58 struct MUI_CustomClass *db_ProjectIcon;
59 struct MUI_CustomClass *db_IconObserver;
60 struct MUI_CustomClass *db_ContainerIconObserver;
61 struct MUI_CustomClass *db_DiskIconObserver;
62 struct MUI_CustomClass *db_DrawerIconObserver;
63 struct MUI_CustomClass *db_ToolIconObserver;
64 struct MUI_CustomClass *db_ProjectIconObserver;
65 struct MUI_CustomClass *db_TrashcanIconObserver;
66 struct MUI_CustomClass *db_DesktopObserver;
67 struct MUI_CustomClass *db_Desktop;
70 these will be moved into a new desktop context area
72 Class *db_DefaultWindow;
73 struct TagItem *db_DefaultWindowArguments;
75 struct SignalSemaphore db_BaseMutex;
76 struct SignalSemaphore db_HandlerSafety;
78 struct MsgPort *db_HandlerPort;
80 BOOL db_libsOpen;
82 // TEMPORARY!
83 struct List db_OperationList;
84 struct MUI_CustomClass *db_Operation;
86 // END TEMPORARY!
89 extern struct DesktopBase *DesktopBase;
91 # define add(a, b) \
92 AROS_LC2(ULONG, add, AROS_LHA(ULONG,a,D0), AROS_LHA(ULONG,b,D1), struct DesktopBase *,DesktopBase,5,Desktop)
94 # define asl(a, b) \
95 AROS_LC2(ULONG, asl, AROS_LHA(ULONG,a,D0), AROS_LHA(ULONG,b,D1), struct DesktopBase *,DesktopBase,6,Desktop)
97 # define InputBase ((struct DesktopBase *)DesktopBase)->db_InputBase
98 # define IconContainer ((struct DesktopBase *)DesktopBase)->db_IconContainer
99 # define IconContainerObserver ((struct DesktopBase *)DesktopBase)->db_IconContainerObserver
100 # define DiskIcon ((struct DesktopBase *)DesktopBase)->db_DiskIcon
101 # define DrawerIcon ((struct DesktopBase *)DesktopBase)->db_DrawerIcon
102 # define TrashcanIcon ((struct DesktopBase *)DesktopBase)->db_TrashcanIcon
103 # define ToolIcon ((struct DesktopBase *)DesktopBase)->db_ToolIcon
104 # define ProjectIcon ((struct DesktopBase *)DesktopBase)->db_ProjectIcon
105 # define IconObserver ((struct DesktopBase *)DesktopBase)->db_IconObserver
106 # define DiskIconObserver ((struct DesktopBase *)DesktopBase)->db_DiskIconObserver
107 # define DrawerIconObserver ((struct DesktopBase *)DesktopBase)->db_DrawerIconObserver
108 # define ToolIconObserver ((struct DesktopBase *)DesktopBase)->db_ToolIconObserver
109 # define ProjectIconObserver ((struct DesktopBase *)DesktopBase)->db_ProjectIconObserver
110 # define TrashcanIconObserver ((struct DesktopBase *)DesktopBase)->db_TrashcanIconObserver
111 # define DesktopObserver ((struct DesktopBase *)DesktopBase)->db_DesktopObserver
113 #endif /* DESKTOP_INTERN_H */