source: branches/stable/WINDOW/aw_base.hxx

Last change on this file was 16763, checked in by westram, 6 years ago
File size: 2.8 KB
Line 
1// ================================================================= //
2//                                                                   //
3//   File      : aw_base.hxx                                         //
4//   Purpose   : forward declare some gui types                      //
5//                                                                   //
6//   Coded by Ralf Westram (coder@reallysoft.de) in September 2010   //
7//   Institute of Microbiology (Technical University Munich)         //
8//   http://www.arb-home.de/                                         //
9//                                                                   //
10// ================================================================= //
11
12#ifndef AW_BASE_HXX
13#define AW_BASE_HXX
14
15#ifndef CXXFORWARD_H
16#include <cxxforward.h>
17#endif
18
19class AW_root;
20class AW_window;
21
22typedef long AW_CL; // client data (casted from pointer or value) // @@@ [CB] eliminate later
23
24typedef void (*AW_postcb_cb)(AW_window *);
25
26struct          GBDATA;
27typedef GBDATA *AW_default;
28
29typedef double AW_pos;
30
31struct AW_world {
32    AW_pos t, b, l, r;
33    void clear() { t = b = l = r = 0.0; }
34};
35struct AW_screen_area {
36    int t, b, l, r;
37    void clear() { t = b = l = r = 0; }
38};
39
40typedef AW_screen_area AW_borders; // not an area, but size spec at all borders
41
42typedef int AW_font;
43
44typedef long      AW_bitset;
45typedef AW_bitset AW_active;     // bits to activate/inactivate buttons
46typedef float     AW_grey_level; // <0 don't fill  0.0 white 1.0 black
47
48typedef struct _WidgetRec *Widget;
49
50#define AW_NO_COLOR (-1UL)
51typedef unsigned long AW_rgb;
52
53enum AW_VARIABLE_TYPE {
54    AW_NONE    = 0,
55    AW_BIT     = 1,
56    AW_BYTE    = 2,
57    AW_INT     = 3,
58    AW_FLOAT   = 4,
59    AW_POINTER = 5,
60    AW_BITS    = 6,
61    // 7 is unused
62    AW_BYTES   = 8,
63    AW_INTS    = 9,
64    AW_FLOATS  = 10,
65    AW_STRING  = 12,
66    // 13 is reserved (GB_STRING_SHRT)
67    // 14 is unused
68    AW_DB      = 15,
69
70    // keep AW_VARIABLE_TYPE consistent with GB_TYPES
71    // see ../ARBDB/arbdb.h@sync_GB_TYPES_AW_VARIABLE_TYPE
72
73    AW_TYPE_MAX = 16
74};
75
76enum AW_area {
77    AW_INFO_AREA,
78    AW_MIDDLE_AREA,
79    AW_BOTTOM_AREA,
80    AW_MAX_AREA
81};
82
83enum AW_color_idx {
84    AW_WINDOW_BG,
85    AW_WINDOW_FG,
86    AW_WINDOW_C1,
87    AW_WINDOW_C2,
88    AW_WINDOW_C3,
89    AW_WINDOW_DRAG,
90    AW_DATA_BG,
91    AW_STD_COLOR_IDX_MAX
92};
93
94enum GcChange {
95    // value 0 is reserved (used internally in GC-manager)
96
97    GC_COLOR_CHANGED = 1,       // -> normally a refresh should do
98    GC_FONT_CHANGED,            // -> display needs a resize
99    GC_COLOR_GROUP_USE_CHANGED, // -> might need extra calculations
100
101    // Note: higher values should cover lower values,
102    // i.e. a resize (GC_FONT_CHANGED) always does a refresh (GC_COLOR_CHANGED)
103};
104
105AW_default get_AW_ROOT_DEFAULT();
106#define AW_ROOT_DEFAULT get_AW_ROOT_DEFAULT()
107
108#else
109#error aw_base.hxx included twice
110#endif // AW_BASE_HXX
Note: See TracBrowser for help on using the repository browser.