1 #ifndef _MUI_CLASSES_ICONLIST_ATTRIBUTES_H
2 #define _MUI_CLASSES_ICONLIST_ATTRIBUTES_H
5 Copyright 2002-2007, The AROS Development Team. All rights reserved.
9 /*** Identifier base ********************************************************/
10 #define MUIB_IconList (MUIB_ZUNE | 0x00042000)
12 #define MUIV_IconList_NextSelected_Start 0
13 #define MUIV_IconList_NextSelected_End 1
15 /*** Attributes *************************************************************/
16 #define MUIA_IconList_DoubleClick (MUIB_IconList | 0x00000000) /* Zune: V1 ..G BOOL */
17 #define MUIA_IconList_Left (MUIB_IconList | 0x00000001) /* Zune: V1 .SG LONG */
18 #define MUIA_IconList_Top (MUIB_IconList | 0x00000002) /* Zune: V1 .SG LONG */
19 #define MUIA_IconList_Width (MUIB_IconList | 0x00000003) /* Zune: V1 .SG LONG */
20 #define MUIA_IconList_Height (MUIB_IconList | 0x00000004) /* Zune: V1 .SG LONG */
21 #define MUIA_IconList_IconsDropped (MUIB_IconList | 0x00000005) /* Zune: V1 ..G (struct IconList_Entry *) */
22 #define MUIA_IconList_Clicked (MUIB_IconList | 0x00000006) /* Zune: V1 ..G (struct IconList_Click *) */
23 #define MUIA_IconList_IconsMoved (MUIB_IconList | 0x00000007) /* Zune: V1 ..G (struct IconList_Entry *) */
24 #define MUIA_IconList_AppWindowDrop (MUIB_IconList | 0x00000008) /* Zune: V1 ..G (struct IconList_Entry *) */
26 #define MUIA_IconList_FocusIcon (MUIB_IconList | 0x00000010) /* Zune: V1 .SG (struct IconList_Entry *) */
28 #define MUIA_IconList_DisplayFlags (MUIB_IconList | 0x00000020) /* Zune: V1 ISG ULONG */
29 #define MUIA_IconList_SortFlags (MUIB_IconList | 0x00000021) /* Zune: V1 ISG ULONG */
31 /* Configuration Attributes */
32 #define MUIB_IconList_ConfigTags (MUIB_IconList | 0x00000100)
34 #define MUIA_IconList_IconListMode (MUIB_IconList_ConfigTags | 0x00000000) /* Zune: V1 ISG UBYTE */
35 #define MUIA_IconList_LabelText_Mode (MUIB_IconList_ConfigTags | 0x00000001) /* Zune: V1 ISG UBYTE */
36 #define MUIA_IconList_LabelText_Pen (MUIB_IconList_ConfigTags | 0x00000002) /* Zune: V1 ISG UBYTE */
37 #define MUIA_IconList_LabelText_ShadowPen (MUIB_IconList_ConfigTags | 0x00000003) /* Zune: V1 ISG UBYTE */
38 #define MUIA_IconList_LabelInfoText_Font (MUIB_IconList_ConfigTags | 0x00000004) /* Zune: V1 ISG (struct TextFont *) */
39 #define MUIA_IconList_LabelInfoText_Pen (MUIB_IconList_ConfigTags | 0x00000005) /* Zune: V1 ISG UBYTE */
40 #define MUIA_IconList_LabelInfoText_ShadowPen (MUIB_IconList_ConfigTags | 0x00000006) /* Zune: V1 ISG UBYTE */
41 #define MUIA_IconList_LabelText_MaxLineLen (MUIB_IconList_ConfigTags | 0x00000007) /* Zune: V1 ISG ULONG */
42 #define MUIA_IconList_LabelText_MultiLine (MUIB_IconList_ConfigTags | 0x00000008) /* Zune: V1 ISG ULONG */
43 #define MUIA_IconList_LabelText_MultiLineOnFocus (MUIB_IconList_ConfigTags | 0x00000009) /* Zune: V1 ISG BOOL */
45 #define MUIA_IconList_Icon_HorizontalSpacing (MUIB_IconList_ConfigTags | 0x00000010) /* Zune: V1 ISG UBYTE */
46 #define MUIA_IconList_Icon_VerticalSpacing (MUIB_IconList_ConfigTags | 0x00000011) /* Zune: V1 ISG UBYTE */
47 #define MUIA_IconList_Icon_ImageSpacing (MUIB_IconList_ConfigTags | 0x00000012) /* Zune: V1 ISG UBYTE */
48 #define MUIA_IconList_LabelText_HorizontalPadding (MUIB_IconList_ConfigTags | 0x00000013) /* Zune: V1 ISG UBYTE */
49 #define MUIA_IconList_LabelText_VerticalPadding (MUIB_IconList_ConfigTags | 0x00000014) /* Zune: V1 ISG UBYTE */
50 #define MUIA_IconList_LabelText_BorderWidth (MUIB_IconList_ConfigTags | 0x00000015) /* Zune: V1 ISG UBYTE */
51 #define MUIA_IconList_LabelText_BorderHeight (MUIB_IconList_ConfigTags | 0x00000016) /* Zune: V1 ISG UBYTE */
53 #define MUIA_IconList_Rastport (MUIB_IconList | 0x000000FF) /* Zune: V1 .SG (struct RastPort *) */
54 #define MUIA_IconList_BufferRastport (MUIB_IconList | 0x000000FE) /* Zune: V1 ..G BOOL */
56 #define MUIA_IconList_BufferLeft (MUIB_IconList | 0x00000050) /* Zune: V1 ..G LONG */
57 #define MUIA_IconList_BufferTop (MUIB_IconList | 0x00000051) /* Zune: V1 ..G LONG */
58 #define MUIA_IconList_BufferWidth (MUIB_IconList | 0x00000052) /* Zune: V1 ..G LONG */
59 #define MUIA_IconList_BufferHeight (MUIB_IconList | 0x00000053) /* Zune: V1 ..G LONG */
61 /****************************************************************************/
62 #define ICONENTRY_DRAWMODE_NONE 0 /* Do nothing .. */
63 #define ICONENTRY_DRAWMODE_PLAIN 1 /* Draw operations should clear the background first .. */
64 #define ICONENTRY_DRAWMODE_NOBACK 2 /* Draw operations shouldnt clear the background */
65 #define ICONENTRY_DRAWMODE_BACKONLY 3 /* Draw operation should _only_ draw the background */
67 /* Internal Icon state flags */
68 #define ICONENTRY_FLAG_SELECTED (1<<1) /* icon selected state */
69 #define ICONENTRY_FLAG_FOCUS (1<<2) /* icon input focus state */
70 #define ICONENTRY_FLAG_VISIBLE (1<<3) /* icon for entry should be drawn */
71 #define ICONENTRY_FLAG_HASICON (1<<4) /* entry has an '.info' file */
72 #define ICONENTRY_FLAG_TODAY (1<<7) /* entry's timestamp is from today */
73 #define ICONENTRY_FLAG_LASSO (1<<8) /* Icon is being altered by a lasso */
75 /* iconlist rendering control flags */
77 ((flags & ~(ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE) == 0)
78 place icons with coords at fixed
79 locations and sort remainder by name
81 ((flags & ~(ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE) == ICONLIST_SORT_BY_NAME)
84 ((flags & ~(ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE) == ICONLIST_SORT_BY_DATE)
87 ((flags & ~(ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE) == ICONLIST_SORT_BY_SIZE)
90 ((flags & ~(ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE) == (ICONLIST_SORT_BY_NAME|ICONLIST_SORT_BY_DATE|ICONLIST_SORT_BY_SIZE))
93 #define ICONLIST_SORT_DRAWERS_MIXED (1<<0) /* mix folders and files when sorting */
94 #define ICONLIST_SORT_DRAWERS_LAST (1<<1) /* ignored if mixed is set */
95 #define ICONLIST_SORT_REVERSE (1<<2) /* reverse sort direction */
96 #define ICONLIST_SORT_BY_NAME (1<<4)
97 #define ICONLIST_SORT_BY_DATE (1<<5)
98 #define ICONLIST_SORT_BY_SIZE (1<<6)
101 #define ICONLIST_DISP_SHOWHIDDEN (1<<0) /* show system "hidden" files */
102 #define ICONLIST_DISP_SHOWINFO (1<<1) /* only show icon(s) which have *.info files */
104 #define ICONLIST_DISP_VERTICAL (1<<7) /* tile icons vertically */
105 #define ICONLIST_DISP_NOICONS (1<<8) /* name only mode */
106 #define ICONLIST_DISP_DETAILS (1<<9) /* name=details mode, icon=?? */
108 #define ICONLIST_DISP_BUFFERED (1<<15) /* Iconlist uses buffered rendering */
110 enum iconlist_ListViewModes
112 ICON_LISTMODE_GRID
= 0,
113 ICON_LISTMODE_ROUGH
= 1,
114 iconlist_ListViewModesCount
117 enum iconlist_LabelRenderModes
119 ICON_TEXTMODE_OUTLINE
= 0,
120 ICON_TEXTMODE_PLAIN
= 1,
121 ICON_TEXTMODE_DROPSHADOW
= 2,
122 iconlist_LabelRenderModesCount
125 /* Default Icon label rendering settings */
126 // Max no of characters to display on a single line
127 #define ILC_ICONLABEL_MAXLINELEN_DEFAULT 10
128 #define ILC_ICONLABEL_SHORTEST 6
130 /* Default Icon rendering settings */
131 // Spacing between icons ..
132 #define ILC_ICON_HORIZONTALMARGIN_DEFAULT 5
133 #define ILC_ICON_VERTICALMARGIN_DEFAULT 5
135 // Padding between Icon's "image" and label frame
136 #define ILC_ICONLABEL_IMAGEMARGIN_DEFAULT 1
138 // Padding between Icons label text and frame
139 #define ILC_ICONLABEL_HORIZONTALTEXTMARGIN_DEFAULT 4
140 #define ILC_ICONLABEL_VERTICALTEXTMARGIN_DEFAULT 4
142 // Icon's Label frame dimensions
143 #define ILC_ICONLABEL_BORDERWIDTH_DEFAULT 1
144 #define ILC_ICONLABEL_BORDERHEIGHT_DEFAULT 1
146 /*** Identifier base ********************************************************/
147 #define MUIB_IconDrawerList (MUIB_ZUNE | 0x00043000)
149 /*** Attributes *************************************************************/
150 #define MUIA_IconDrawerList_Drawer (MUIB_IconDrawerList | 0x00000000) /* Zune: V1 isg LONG */
152 /*** Identifier base ********************************************************/
153 #define MUIB_IconVolumeList (MUIB_ZUNE | 0x00044000)
155 #endif /* _MUI_CLASSES_ICONLIST_ATTRIBUTES_H */