source: trunk/nv/gui/gui_element.hh @ 472

Last change on this file since 472 was 472, checked in by epyon, 10 years ago
  • additional uniforms
  • R16F and R32F format support
  • error fixes (clang)
File size: 1.3 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_element.hh
9 * @author Kornel Kisielewicz
10 * @brief GUI Element
11 */
12
13#ifndef NV_GUI_ELEMENT_HH
14#define NV_GUI_ELEMENT_HH
15
16#include <nv/common.hh>
17#include <nv/core/position.hh>
18#include <nv/core/io_event.hh>
19#include <nv/stl/string.hh>
20#include <nv/gui/gui_common.hh>
21
22namespace nv
23{
24        namespace gui
25        {
26
27                class element
28                {
29                public:
30                        /// List type
31                        // TODO: change to small_vector once implemented!
32                        typedef vector< handle > child_list;
33                        shash64       m_id;                   ///< id type of the object
34                        handle        m_parent;              ///< pointer to parent
35                        flags         m_flags;
36                        child_list    m_children;          ///< children objects
37                        size_t        m_child_count;      ///< number of children
38                        shash64       m_class;           ///< Class name.
39                        string_buffer m_text;           ///< Displayed label or text.
40                        rectangle     m_relative;      ///< Position relative to parent.
41                        rectangle     m_absolute;     ///< Position relative to window/screen.
42                        render_data*  m_render_data; ///<   -?-
43                };
44
45        } // namespace gui
46
47} // namespace nv
48
49#endif // NV_GUI_ELEMENT_HH
Note: See TracBrowser for help on using the repository browser.