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

Last change on this file since 440 was 440, checked in by epyon, 10 years ago
  • massive std::string removal
  • no header depends on std::string anymore (or any other STL header)
  • still some code files do (WIP)
  • massive refactoring where std::string was used
  • lua still messy (grep for string128 - used everywhere)
  • string_twine added
File size: 1.3 KB
RevLine 
[395]1// Copyright (C) 2012-2015 ChaosForge Ltd
[66]2// http://chaosforge.org/
3//
[395]4// This file is part of Nova libraries.
5// For conditions of distribution and use, see copying.txt file in root folder.
[66]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
[395]16#include <nv/common.hh>
[319]17#include <nv/core/position.hh>
18#include <nv/core/io_event.hh>
[368]19#include <nv/stl/string.hh>
[69]20#include <nv/gui/gui_common.hh>
[319]21#include <list>
[66]22
23namespace nv
24{
25        namespace gui
26        {
[269]27
[268]28                class element
[66]29                {
[269]30                public:
[268]31                        /// List type
[440]32                        // TODO: change to small_vector once implemented!
33                        typedef vector< handle > child_list;
34                        shash64 m_id;              ///< id type of the object
[269]35                        handle    m_parent;          ///< pointer to parent
[351]36                        flags     m_flags;
[440]37                        child_list m_children;        ///< children objects
[268]38                        size_t    m_child_count;     ///< number of children
[440]39                        shash64    m_class; ///< Class name.
40                        string_buffer m_text; ///< Displayed label or text.
[110]41                        rectangle m_relative; ///< Position relative to parent.
42                        rectangle m_absolute; ///< Position relative to window/screen.
43                        render_data* m_render_data; ///<   -?-
[66]44                };
45
46        } // namespace gui
47
48} // namespace nv
49
50#endif // NV_GUI_ELEMENT_HH
Note: See TracBrowser for help on using the repository browser.