source: trunk/nv/gui/gui_common.hh @ 444

Last change on this file since 444 was 444, checked in by epyon, 10 years ago
  • slowly fixing up gui
File size: 1.2 KB
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
20namespace 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.