Welcome to Euroland
[AROS.git] / workbench / libs / muimaster / penspec.h
blob546d0f46236dec0bac63facc0a7469c7f7a151ca
1 /*
2 Copyright 2003, The AROS Development Team.
3 All rights reserved.
5 $Id$
6 */
8 #ifndef MUI_PENSPEC_H
9 #define MUI_PENSPEC_H
11 #ifndef LIBRARIES_MUI_H
12 #include "mui.h"
13 #endif
15 struct MUI_PenSpec_intern
17 PenSpecType p_type;
18 struct MUI_RenderInfo *p_mri;
19 ULONG p_pen; /* actual graphics pen, only valid between setup/cleanup */
20 BOOL p_is_allocated;
21 union
23 LONG p_mui;
24 LONG p_cmap;
25 LONG p_sys;
26 struct MUI_RGBcolor p_rgb;
27 } u;
30 #define p_rgb u.p_rgb
31 #define p_mui u.p_mui
32 #define p_cmap u.p_cmap
33 #define p_sys u.p_sys
35 /* From ASCII to internal representation */
36 BOOL zune_pen_spec_to_intern(const struct MUI_PenSpec *spec,
37 struct MUI_PenSpec_intern *intern);
38 BOOL zune_pen_string_to_intern(CONST_STRPTR spec,
39 struct MUI_PenSpec_intern *intern);
40 /* From internal representation to ASCII */
41 BOOL zune_pen_intern_to_spec(const struct MUI_PenSpec_intern *intern,
42 struct MUI_PenSpec *spec);
43 void zune_penspec_fill_muipen(struct MUI_PenSpec_intern *psi, LONG muipen);
44 void zune_penspec_fill_rgb(struct MUI_PenSpec_intern *psi, ULONG r, ULONG g,
45 ULONG b);
47 BOOL zune_penspec_setup(struct MUI_PenSpec_intern *pen,
48 struct MUI_RenderInfo *mri);
49 BOOL zune_penspec_cleanup(struct MUI_PenSpec_intern *pen);
51 void zune_penspec_draw(struct MUI_PenSpec_intern *psi,
52 struct MUI_RenderInfo *mri, LONG left, LONG top, LONG right,
53 LONG bottom);
54 void zune_penspec_drawdirect(struct MUI_PenSpec_intern *psi,
55 struct RastPort *rp, struct MUI_RenderInfo *mri, LONG left, LONG top,
56 LONG right, LONG bottom);
58 #endif /* MUI_PENSPEC_H */