Tabs to spaces, more consistent formatting.
[AROS.git] / workbench / libs / muimaster / frame.h
blob0a809f9160d35fe4b36b48771a81fd71a0ec3df1
1 /*
2 Copyright 1999, David Le Corfec.
3 Copyright 2002, The AROS Development Team.
4 All rights reserved.
6 $Id$
7 */
9 #ifndef _MUI_FRAME_H
10 #define _MUI_FRAME_H
12 #ifndef EXEC_TYPES_H
13 #include <exec/types.h>
14 #endif
16 struct MUI_FrameSpec;
18 /* MUI_*Spec really are ASCII strings.
20 #if 0
21 struct MUI_FrameSpec
23 UBYTE spec[7]; /* eg. "504444", "A13333" */
25 #endif
27 typedef enum
29 FST_NONE,
30 FST_RECT,
31 FST_BEVEL,
32 FST_THIN_BORDER,
33 FST_THICK_BORDER,
34 FST_ROUND_BEVEL, /* 5 */
35 FST_WIN_BEVEL,
36 FST_ROUND_THICK_BORDER,
37 FST_ROUND_THIN_BORDER,
38 FST_GRAY_BORDER,
39 FST_SEMIROUND_BEVEL,
40 FST_CUSTOM1,
41 FST_CUSTOM2,
42 FST_CUSTOM3,
43 FST_CUSTOM4,
44 FST_CUSTOM5,
45 FST_CUSTOM6,
46 FST_CUSTOM7,
47 FST_CUSTOM8,
48 FST_CUSTOM9,
49 FST_CUSTOM10,
50 FST_CUSTOM11,
51 FST_CUSTOM12,
52 FST_CUSTOM13,
53 FST_CUSTOM14,
54 FST_CUSTOM15,
55 FST_CUSTOM16,
56 FST_COUNT,
57 } FrameSpecType;
59 /* here values are converted from their ASCII counterparts
61 struct MUI_FrameSpec_intern
63 FrameSpecType type;
64 UBYTE state; /* 0 = up, 1 = down */
65 UBYTE innerLeft;
66 UBYTE innerRight;
67 UBYTE innerTop;
68 UBYTE innerBottom;
72 struct MUI_RenderInfo;
73 struct dt_frame_image;
74 typedef void (*ZFDrawFunc) (struct dt_frame_image *fi,
75 struct MUI_RenderInfo *mri, int globleft, int globtop, int globwidth,
76 int globheight, int left, int top, int width, int height);
79 struct ZuneFrameGfx
81 ZFDrawFunc draw;
82 UWORD type;
83 UWORD ileft;
84 UWORD iright;
85 UWORD itop;
86 UWORD ibottom;
87 struct dt_frame_image *customframe;
88 BOOL noalpha;
91 const struct ZuneFrameGfx *zune_zframe_get(Object *obj,
92 const struct MUI_FrameSpec_intern *frameSpec);
93 const struct ZuneFrameGfx *zune_zframe_get_with_state(Object *obj,
94 const struct MUI_FrameSpec_intern *frameSpec, UWORD state);
96 BOOL zune_frame_intern_to_spec(const struct MUI_FrameSpec_intern *intern,
97 STRPTR spec);
98 BOOL zune_frame_spec_to_intern(CONST_STRPTR spec,
99 struct MUI_FrameSpec_intern *intern);
101 #endif