Updated PCI IDs to latest snapshot.
[tangerine.git] / workbench / libs / muimaster / frame.h
blobbec74d9622d117f65f8f618c6569d536c96e3753
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 {
28 FST_NONE,
29 FST_RECT,
30 FST_BEVEL,
31 FST_THIN_BORDER,
32 FST_THICK_BORDER,
33 FST_ROUND_BEVEL, /* 5 */
34 FST_WIN_BEVEL,
35 FST_ROUND_THICK_BORDER,
36 FST_ROUND_THIN_BORDER,
37 FST_GRAY_BORDER,
38 FST_SEMIROUND_BEVEL,
39 FST_CUSTOM1,
40 FST_CUSTOM2,
41 FST_CUSTOM3,
42 FST_CUSTOM4,
43 FST_CUSTOM5,
44 FST_CUSTOM6,
45 FST_CUSTOM7,
46 FST_CUSTOM8,
47 FST_CUSTOM9,
48 FST_CUSTOM10,
49 FST_CUSTOM11,
50 FST_CUSTOM12,
51 FST_CUSTOM13,
52 FST_CUSTOM14,
53 FST_CUSTOM15,
54 FST_CUSTOM16,
55 FST_COUNT,
56 } FrameSpecType;
58 /* here values are converted from their ASCII counterparts
60 struct MUI_FrameSpec_intern
62 FrameSpecType type;
63 UBYTE state; /* 0 = up, 1 = down */
64 UBYTE innerLeft;
65 UBYTE innerRight;
66 UBYTE innerTop;
67 UBYTE innerBottom;
71 struct MUI_RenderInfo;
72 struct dt_frame_image;
73 typedef void (*ZFDrawFunc)(struct dt_frame_image *fi, struct MUI_RenderInfo *mri,
74 int globleft, int globtop, int globwidth, int globheight, int left, int top, int width, int height);
77 struct ZuneFrameGfx {
78 ZFDrawFunc draw;
79 UWORD type;
80 UWORD ileft;
81 UWORD iright;
82 UWORD itop;
83 UWORD ibottom;
84 struct dt_frame_image *customframe;
85 BOOL noalpha;
88 const struct ZuneFrameGfx *zune_zframe_get (Object *obj, const struct MUI_FrameSpec_intern *frameSpec);
89 const struct ZuneFrameGfx *zune_zframe_get_with_state (Object *obj, const struct MUI_FrameSpec_intern *frameSpec,
90 UWORD state);
92 BOOL zune_frame_intern_to_spec (const struct MUI_FrameSpec_intern *intern,
93 STRPTR spec);
94 BOOL zune_frame_spec_to_intern(CONST_STRPTR spec,
95 struct MUI_FrameSpec_intern *intern);
97 #endif