Line | |
---|
1 | // Copyright (C) 2012-2015 ChaosForge Ltd
|
---|
2 | // http://chaosforge.org/
|
---|
3 | //
|
---|
4 | // This file is part of Nova libraries.
|
---|
5 | // For conditions of distribution and use, see copying.txt file in root folder.
|
---|
6 |
|
---|
7 | /**
|
---|
8 | * @file gui_common.hh
|
---|
9 | * @author Kornel Kisielewicz
|
---|
10 | * @brief common GUI
|
---|
11 | */
|
---|
12 |
|
---|
13 | #ifndef NV_GUI_COMMON_HH
|
---|
14 | #define NV_GUI_COMMON_HH
|
---|
15 |
|
---|
16 | #include <nv/common.hh>
|
---|
17 | #include <nv/stl/handle.hh>
|
---|
18 | #include <nv/stl/flags.hh>
|
---|
19 |
|
---|
20 | namespace nv
|
---|
21 | {
|
---|
22 | namespace gui
|
---|
23 | {
|
---|
24 | enum flag
|
---|
25 | {
|
---|
26 | ENABLED, //!< GUI element accepts events
|
---|
27 | VISIBLE, //!< GUI element visible
|
---|
28 | DIRTY, //!< GUI element needs redraw
|
---|
29 | SELECTED, //!< GUI element selected
|
---|
30 | HOVER, //!< GUI element in hover zone
|
---|
31 |
|
---|
32 | DIRTY_SELECT,
|
---|
33 | DIRTY_HOVER,
|
---|
34 | };
|
---|
35 |
|
---|
36 | enum alignment
|
---|
37 | {
|
---|
38 | ALIGN_TOP,
|
---|
39 | ALIGN_BOTTOM,
|
---|
40 | ALIGN_CENTER,
|
---|
41 | ALIGN_SCALE,
|
---|
42 | ALIGN_LEFT = ALIGN_TOP,
|
---|
43 | ALIGN_RIGHT = ALIGN_BOTTOM,
|
---|
44 | };
|
---|
45 |
|
---|
46 | class render_data
|
---|
47 | {
|
---|
48 | public:
|
---|
49 | virtual ~render_data(){}
|
---|
50 | };
|
---|
51 |
|
---|
52 | class element;
|
---|
53 | class environment;
|
---|
54 | class renderer;
|
---|
55 |
|
---|
56 | typedef nv::handle<> handle;
|
---|
57 |
|
---|
58 | typedef nv::flags< 32, flag > flags;
|
---|
59 |
|
---|
60 | } // namespace gui
|
---|
61 |
|
---|
62 | } // namespace nv
|
---|
63 |
|
---|
64 | #endif // NV_GUI_ELEMENT_HH
|
---|
Note: See
TracBrowser
for help on using the repository browser.