WIP: Update implementing basic changes for icon class, and Fix to memory size display...
[AROS.git] / workbench / system / Wanderer / Classes / icon_attributes.h
blob95f2be10b276bdb61cc4f3bb63a0963e2835dab1
1 #ifndef _WANDERER_CLASSES_ICON_ATTRIBUTES_H
2 #define _WANDERER_CLASSES_ICON_ATTRIBUTES_H
4 /*
5 Copyright 2008-2009, The AROS Development Team. All rights reserved.
6 $Id$
7 */
9 /*** Identifier base ********************************************************/
10 #define MUIB_Icon (MUIB_ZUNE | 0x00042000)
13 /*** Attributes *************************************************************/
14 #define MUIA_Icon_Clicked (MUIB_Icon | 0x00000001) /* Zune: V1 ..G (struct Icon_Click *) */
15 #define MUIA_Icon_DoubleClick (MUIB_Icon | 0x00000002) /* Zune: V1 ..G BOOL */
16 #define MUIA_Icon_SelectionChanged (MUIB_Icon | 0x00000003) /* Zune: V1 ..GBOOL */
18 #define MUIA_Icon_Width (MUIB_Icon | 0x0000000c) /* Zune: V1 .SG LONG */
19 #define MUIA_Icon_Height (MUIB_Icon | 0x0000000d) /* Zune: V1 .SG LONG */
20 #define MUIA_Icon_IconsMoved (MUIB_Icon | 0x00000010) /* Zune: V1 ..G (struct Icon_Entry *) */
21 #define MUIA_Icon_IconsDropped (MUIB_Icon | 0x00000011) /* Zune: V1 ..G (struct Icon_Entry *) */
22 #define MUIA_Icon_AppWindowDrop (MUIB_Icon | 0x00000012) /* Zune: V1 ..G (struct Icon_Entry *) */
23 #define MUIA_Icon_FocusIcon (MUIB_Icon | 0x00000013) /* Zune: V1 .SG (struct Icon_Entry *) */
25 #define MUIA_Icon_DisplayFlags (MUIB_Icon | 0x00000020) /* Zune: V1 ISG ULONG */
26 #define MUIA_Icon_SortFlags (MUIB_Icon | 0x00000021) /* Zune: V1 ISG ULONG */
29 /* OBSOLETE */
30 //#define MUIA_Icon_Left (MUIB_Icon | 0x0000000a) /* Zune: V1 .SG LONG */
31 //#define MUIA_Icon_Top (MUIB_Icon | 0x0000000b) /* Zune: V1 .SG LONG */
33 /* Configuration Attributes */
34 #define MUIB_Icon_ConfigTags (MUIB_Icon | 0x00000100)
36 #define MUIA_Icon_IconMode (MUIB_Icon_ConfigTags | 0x00000000) /* Zune: V1 ISG UBYTE */
37 #define MUIA_Icon_LabelText_Mode (MUIB_Icon_ConfigTags | 0x00000001) /* Zune: V1 ISG UBYTE */
38 #define MUIA_Icon_LabelText_Pen (MUIB_Icon_ConfigTags | 0x00000002) /* Zune: V1 ISG UBYTE */
39 #define MUIA_Icon_LabelText_ShadowPen (MUIB_Icon_ConfigTags | 0x00000003) /* Zune: V1 ISG UBYTE */
40 #define MUIA_Icon_LabelInfoText_Font (MUIB_Icon_ConfigTags | 0x00000004) /* Zune: V1 ISG (struct TextFont *) */
41 #define MUIA_Icon_LabelInfoText_Pen (MUIB_Icon_ConfigTags | 0x00000005) /* Zune: V1 ISG UBYTE */
42 #define MUIA_Icon_LabelInfoText_ShadowPen (MUIB_Icon_ConfigTags | 0x00000006) /* Zune: V1 ISG UBYTE */
43 #define MUIA_Icon_LabelText_MaxLineLen (MUIB_Icon_ConfigTags | 0x00000007) /* Zune: V1 ISG ULONG */
44 #define MUIA_Icon_LabelText_MultiLine (MUIB_Icon_ConfigTags | 0x00000008) /* Zune: V1 ISG ULONG */
45 #define MUIA_Icon_LabelText_MultiLineOnFocus (MUIB_Icon_ConfigTags | 0x00000009) /* Zune: V1 ISG BOOL */
47 #define MUIA_Icon_Icon_HorizontalSpacing (MUIB_Icon_ConfigTags | 0x00000010) /* Zune: V1 ISG UBYTE */
48 #define MUIA_Icon_Icon_VerticalSpacing (MUIB_Icon_ConfigTags | 0x00000011) /* Zune: V1 ISG UBYTE */
49 #define MUIA_Icon_Icon_ImageSpacing (MUIB_Icon_ConfigTags | 0x00000012) /* Zune: V1 ISG UBYTE */
50 #define MUIA_Icon_LabelText_HorizontalPadding (MUIB_Icon_ConfigTags | 0x00000013) /* Zune: V1 ISG UBYTE */
51 #define MUIA_Icon_LabelText_VerticalPadding (MUIB_Icon_ConfigTags | 0x00000014) /* Zune: V1 ISG UBYTE */
52 #define MUIA_Icon_LabelText_BorderWidth (MUIB_Icon_ConfigTags | 0x00000015) /* Zune: V1 ISG UBYTE */
53 #define MUIA_Icon_LabelText_BorderHeight (MUIB_Icon_ConfigTags | 0x00000016) /* Zune: V1 ISG UBYTE */
55 #define MUIA_Icon_Rastport (MUIB_Icon | 0x000000FF) /* Zune: V1 .SG (struct RastPort *) */
56 #define MUIA_Icon_BufferRastport (MUIB_Icon | 0x000000FE) /* Zune: V1 ..G BOOL */
58 #define MUIA_Icon_BufferLeft (MUIB_Icon | 0x00000050) /* Zune: V1 ..G LONG */
59 #define MUIA_Icon_BufferTop (MUIB_Icon | 0x00000051) /* Zune: V1 ..G LONG */
60 #define MUIA_Icon_BufferWidth (MUIB_Icon | 0x00000052) /* Zune: V1 ..G LONG */
61 #define MUIA_Icon_BufferHeight (MUIB_Icon | 0x00000053) /* Zune: V1 ..G LONG */
63 /****************************************************************************/
64 #define ICONENTRY_DRAWMODE_NONE 0 /* Do nothing .. */
65 #define ICONENTRY_DRAWMODE_PLAIN 1 /* Draw operations should clear the background first .. */
66 #define ICONENTRY_DRAWMODE_NOBACK 2 /* Draw operations shouldnt clear the background */
67 #define ICONENTRY_DRAWMODE_BACKONLY 3 /* Draw operation should _only_ draw the background */
69 /* Internal Icon state flags */
70 #define ICONENTRY_FLAG_NEEDSUPDATE (1<<1) /* icon needs rendered */
71 #define ICONENTRY_FLAG_SELECTED (1<<2) /* icon selected state */
72 #define ICONENTRY_FLAG_FOCUS (1<<3) /* icon input focus state */
73 #define ICONENTRY_FLAG_VISIBLE (1<<4) /* icon for entry should be drawn */
74 #define ICONENTRY_FLAG_HASICON (1<<5) /* entry has an '.info' file */
75 #define ICONENTRY_FLAG_TODAY (1<<6) /* entry's timestamp is from today */
76 #define ICONENTRY_FLAG_LASSO (1<<7) /* Icon is being altered by a lasso */
79 /* For Icons of type ST_ROOT */
80 #define ICONENTRY_VOL_OFFLINE (1<<1) /* Volume is Offline */
81 #define ICONENTRY_VOL_READONLY (1<<2) /* Media is Read-Only */
82 #define ICONENTRY_VOL_REMOVABLE (1<<3) /* Media is Removable */
84 /* Default Icon label rendering settings */
85 // Max no of characters to display on a single line
86 #define ILC_ICONLABEL_MAXLINELEN_DEFAULT 10
87 #define ILC_ICONLABEL_SHORTEST 6
89 /* Default Icon rendering settings */
90 // Spacing between icons ..
91 #define ILC_ICON_HORIZONTALMARGIN_DEFAULT 5
92 #define ILC_ICON_VERTICALMARGIN_DEFAULT 5
94 // Padding between Icon's "image" and label frame
95 #define ILC_ICONLABEL_IMAGEMARGIN_DEFAULT 1
97 // Padding between Icons label text and frame
98 #define ILC_ICONLABEL_HORIZONTALTEXTMARGIN_DEFAULT 4
99 #define ILC_ICONLABEL_VERTICALTEXTMARGIN_DEFAULT 4
101 // Icon's Label frame dimensions
102 #define ILC_ICONLABEL_BORDERWIDTH_DEFAULT 1
103 #define ILC_ICONLABEL_BORDERHEIGHT_DEFAULT 1
105 #endif /* _WANDERER_CLASSES_ICON_ATTRIBUTES_H */