acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
solaris_simple_ui.h
1
#pragma once
2
3
4
#include "acme/operating_system/solaris/solaris_window_xlib.h"
5
6
7
namespace
os
8
{
9
10
11
class
CLASS_DECL_ACME
simple_ui
:
12
virtual
public
::user::interaction
13
{
14
public
:
15
16
HINSTANCE m_hinstance;
17
string
m_strTitle;
18
string
m_strWindowClass;
19
20
::i32 m_w;
21
::i32 m_h;
22
/* ::image::image_pointer m_pimage;
23
::i32_size m_size;
24
::i32_point m_point;
25
window_xlib m_xlib;
26
27
28
oswindow m_window;
29
bool m_bShiftKey;
30
::i32_rectangle m_rectangleDesktop;
31
32
XWindowAttributes m_attr;
33
::i32 m_iDepth;
34
XVisualInfo m_visualinfo;
35
::i32 m_iScreen;
36
37
38
window_graphics * m_pgraphics;
39
40
41
bool m_bComposite;
42
43
::pointer< ::mutex > m_pmutexGraphics;
44
::pointer< ::mutex > m_pmutexDisplay;
45
46
bool m_bRunLoop;
47
48
::i32_rectangle m_rectangleWindow;
49
50
bool m_bNoDecorations;
51
52
53
simple_ui(::pointer<base_application>papp);
54
55
virtual ~simple_ui();
56
57
virtual bool create_window(const ::i32_rectangle * lprect);
58
59
virtual bool prepare_window(const ::i32_rectangle * lprect);
60
61
62
using ::user::interaction::client_to_screen;
63
virtual void client_to_screen(::i32_point * ppt);
64
65
using ::user::interaction::screen_to_client;
66
virtual void screen_to_client(::i32_point * ppt);
67
68
virtual void window_rectangle(::i32_rectangle * prectangle);
69
virtual void this->rectangle(::i32_rectangle * prectangle);
70
71
72
virtual bool show_window(bool bShow = true);
73
74
virtual bool destroy_window();
75
76
77
virtual bool on_key_down(::u32 uiKey);
78
virtual bool on_key_up(::u32 uiKey);
79
80
81
virtual bool on_move(::i32 x, ::i32 y);
82
virtual bool on_size(::i32 cx, ::i32 cy);
83
84
85
virtual void run_loop();
86
87
88
virtual void on_draw_framebuffer();
89
90
virtual void set_mouse_capture();
91
virtual void release_mouse_capture();
92
93
virtual bool move_window(::i32 x, ::i32 y);
94
virtual bool set_window_position(::i32 x, ::i32 y, ::i32 cx, ::i32 cy, bool bShow);
95
96
};
97
98
99
100
101
} // namespace os
102
103
104
105
CLASS_DECL_ACME void wm_nodecorations(oswindow w, ::i32 map_base);
106
107
108
109
/* MWM decorations values */
110
#define MWM_DECOR_NONE 0
111
#define MWM_DECOR_ALL (1L << 0)
112
#define MWM_DECOR_BORDER (1L << 1)
113
#define MWM_DECOR_RESIZEH (1L << 2)
114
#define MWM_DECOR_TITLE (1L << 3)
115
#define MWM_DECOR_MENU (1L << 4)
116
#define MWM_DECOR_MINIMIZE (1L << 5)
117
#define MWM_DECOR_MAXIMIZE (1L << 6)
118
119
/* KDE decoration values */
120
enum
121
{
122
KDE_noDecoration = 0,
123
KDE_normalDecoration = 1,
124
KDE_tinyDecoration = 2,
125
KDE_noFocus = 256,
126
KDE_standaloneMenuBar = 512,
127
KDE_desktopIcon = 1024,
128
KDE_staysOnTop = 2048
129
};
os::simple_ui
Definition
aaa_simple_ui.h:10
operating_system
solaris
solaris_simple_ui.h
Generated by
1.17.0