Workbook: big pile of rendering cleanups
[AROS.git] / workbench / system / Workbook / classes.h
blob877572ec8b24af9184ad67f14d5a42907da16dc4
1 /*
2 Copyright © 2011, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Workbook classes
6 Lang: english
7 */
8 #ifndef WORKBOOK_CLASSES_H
9 #define WORKBOOK_CLASSES_H
11 #include <utility/tagitem.h>
12 #include <clib/alib_protos.h>
14 /* WBApp class
16 * Workbench replacement
19 /* Attributes */
20 #define WBAA_Dummy (TAG_USER | 0x40400000)
22 /* Methods */
23 #define WBAM_Dummy (TAG_USER | 0x40400100)
24 #define WBAM_WORKBENCH (WBAM_Dummy+1)
26 Class *WBApp_MakeClass(struct WorkbookBase *wb);
28 #define WBApp wb->wb_WBApp
31 /* WBWindow class
32 * This is a 'scrolled view' of a directory of
33 * icons, that also creates and manages its
34 * own struct Window.
36 * Use a WBWA_Path of NULL to generate the background
37 * window of AppIcons.
39 * NOTE: The caller must have already added the DOS
40 * devices to the Workbench AppIcon list!
43 /* Attributes (also takes all WA_* tags) */
44 #define WBWA_Dummy (TAG_USER | 0x40410000)
45 #define WBWA_Path (WBWA_Dummy+1) /* CONST_STRPTR */
46 #define WBWA_UserPort (WBWA_Dummy+2) /* struct MsgPort * */
47 #define WBWA_Window (WBWA_Dummy+3) /* struct Window * */
49 /* Internal Attributes */
50 #define WBWA_ActiveIconID (WBWA_Dummy+128)
52 /* Methods */
53 #define WBWM_Dummy (TAG_USER | 0x40410100)
54 #define WBWM_NEWSIZE (WBWM_Dummy+1) /* N/A */
55 #define WBWM_MENUPICK (WBWM_Dummy+2) /* struct wbwm_MenuPick {} */
56 #define WBWM_INTUITICK (WBWM_Dummy+3) /* N/A */
57 #define WBWM_HIDE (WBWM_Dummy+4) /* N/A */
58 #define WBWM_SHOW (WBWM_Dummy+5) /* N/A */
59 #define WBWM_REFRESH (WBWM_Dummy+6) /* N/A */
61 struct wbwm_MenuPick {
62 STACKED ULONG MethodID;
63 STACKED struct MenuItem *wbwmp_MenuItem;
64 STACKED UWORD wbwmp_MenuNumber;
67 Class *WBWindow_MakeClass(struct WorkbookBase *wb);
69 #define WBWindow wb->wb_WBWindow
71 /* WBVirtual class
73 * This class handles drawing and clipping a
74 * child object this is a subclass of 'gadgetclass'
77 /* Attributes */
78 #define WBVA_Dummy (TAG_USER | 0x40420000)
79 #define WBVA_Gadget (WBVA_Dummy+1) /* Object * */
80 #define WBVA_VirtLeft (WBVA_Dummy+2) /* WORD */
81 #define WBVA_VirtTop (WBVA_Dummy+3) /* WORD */
82 #define WBVA_VirtWidth (WBVA_Dummy+4) /* WORD */
83 #define WBVA_VirtHeight (WBVA_Dummy+5) /* WORD */
85 /* Methods */
86 #define WBVM_Dummy (TAG_USER | 0x40420100)
88 Class *WBVirtual_MakeClass(struct WorkbookBase *wb);
90 #define WBVirtual wb->wb_WBVirtual
92 /* WBSet class
94 * A set of gadgets, packed together.
96 * Treat this as a smarter 'groupclass' object.
99 /* Attributes */
100 #define WBSA_Dummy (TAG_USER | 0x40430000)
101 #define WBSA_MaxWidth (WBSA_Dummy + 1)
103 /* Methods */
105 Class *WBSet_MakeClass(struct WorkbookBase *wb);
107 #define WBSet wb->wb_WBSet
110 /* WBIcon class
112 * This class represents a single icon, and takes
113 * care of all of its drawing.
115 * You can create from a WBIA_File, or a
116 * WBIA_Icon. Do not use both!
119 /* Attributes */
120 #define WBIA_Dummy (TAG_USER | 0x40440000)
121 #define WBIA_File (WBIA_Dummy+1) /* CONST_STRPTR */
122 #define WBIA_Icon (WBIA_Dummy+2) /* struct DiskObject * */
123 #define WBIA_Label (WBIA_Dummy+3) /* CONST_STRPTR */
124 #define WBIA_Screen (WBIA_Dummy+4) /* struct Screen * */
126 /* Methods */
127 #define WBIM_Dummy (TAG_USER | 0x40440100)
128 #define WBIM_Open (WBIM_Dummy + 1) /* N/A */
129 #define WBIM_Copy (WBIM_Dummy + 2) /* N/A */
130 #define WBIM_Rename (WBIM_Dummy + 3) /* N/A */
131 #define WBIM_Info (WBIM_Dummy + 4) /* N/A */
132 #define WBIM_Snapshot (WBIM_Dummy + 5) /* N/A */
133 #define WBIM_Unsnapshot (WBIM_Dummy + 6) /* N/A */
134 #define WBIM_Leave_Out (WBIM_Dummy + 7) /* N/A */
135 #define WBIM_Put_Away (WBIM_Dummy + 8) /* N/A */
136 #define WBIM_Delete (WBIM_Dummy + 9) /* N/A */
137 #define WBIM_Format (WBIM_Dummy + 10) /* N/A */
138 #define WBIM_Empty_Trash (WBIM_Dummy + 11) /* N/A */
140 Class *WBIcon_MakeClass(struct WorkbookBase *wb);
142 #define WBIcon wb->wb_WBIcon
144 #endif /* WORKBOOK_CLASSES_H */