2 Copyright © 1995-2006, The AROS Development Team. All rights reserved.
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>
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
28 ULONG do_MutualExclude
;
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
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
;
83 struct List db_OperationList
;
84 struct MUI_CustomClass
*db_Operation
;
89 extern struct DesktopBase
*DesktopBase
;
92 AROS_LC2(ULONG, add, AROS_LHA(ULONG,a,D0), AROS_LHA(ULONG,b,D1), struct DesktopBase *,DesktopBase,5,Desktop)
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 */