2 Copyright © 1995-2005, The AROS Development Team. All rights reserved.
6 #ifndef AROSPALETTE_INTERN_H
7 #define AROSPALETTE_INTERN_H
11 # include <exec/types.h>
13 #ifndef EXEC_LIBRARIES_H
14 # include <exec/libraries.h>
17 # include <dos/bptr.h>
19 #ifndef GRAPHICS_RASPORT_H
20 # include <graphics/rastport.h>
22 #ifndef INTUITION_CGHOOKS_H
23 # include <intuition/cghooks.h>
25 #ifndef INTUITION_CLASSES_H
26 # include <intuition/classes.h>
28 #ifndef INTUITION_INTUITION_H
29 # include <intuition/intuition.h>
33 struct PaletteBase_intern
;
40 /* For state info, to know what selected entry to delete in GM_RENDER, GREDRAW_UPDATE */
47 struct IBox pd_GadgetBox
; /* Box surrounding whole palette */
48 struct IBox pd_PaletteBox
; /* Box surrounding palette */
49 struct IBox pd_IndicatorBox
; /* Box surrounding indicator */
56 /* This one is used to backup pd_Color if left is clicked. This
57 ** way the old state can be restored if the left is released
58 ** outside the gadget.
61 struct TextAttr
*pd_TAttr
;
72 #define EG(o) ((struct ExtGadget *)o)
79 #define HBORDER HSPACING
80 #define VBORDER VSPACING
90 UWORD
GetPalettePen(struct PaletteData
*, UWORD
);
91 UBYTE
Colors2Depth(UWORD
);
93 VOID
RenderFrame(struct PaletteData
*, struct RastPort
*, struct IBox
*,
94 struct DrawInfo
*, BOOL
, BOOL
, struct PaletteBase_intern
*);
96 VOID
RenderPalette(struct PaletteData
*, struct RastPort
*,
97 struct PaletteBase_intern
*);
100 VOID
UpdateActiveColor( struct PaletteData
*, struct DrawInfo
*,
101 struct RastPort
*, struct PaletteBase_intern
*);
103 VOID
GetGadgetIBox(Object
*, struct GadgetInfo
*, struct IBox
*);
104 UWORD
ComputeColor(struct PaletteData
*, WORD
, WORD
);
105 BOOL
InsidePalette(struct PaletteData
*, WORD
, WORD
);
107 void DrawDisabledPattern(struct RastPort
*, struct IBox
*, UWORD
,
108 struct PaletteBase_intern
*);
111 struct TextFont
*PrepareFont(struct RastPort
*, struct IntuiText
*,
112 struct TextFont
**, struct PaletteBase_intern
*);
115 void DisposeFont(struct RastPort
*, struct TextFont
*, struct TextFont
*,
116 struct PaletteBase_intern
*);
118 BOOL
RenderLabel( struct Gadget
*gad
, struct IBox
*,
119 struct RastPort
*, LONG labelplace
,
120 struct PaletteBase_intern
*);
122 #endif /* AROSPALETTE_INTERN_H */