acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
window.h
1
// created by Camilo <3CamiloSasukeThomasBorregaardSoerensen
2
// recreated by Camilo 2021-01-28 22:20 <3TBS, Mummi and bilbo!!
3
// Adapted by Camilo for android 2022-01-05 04:35 <3TBS (Thomas likes number 5), Mummi and bilbo!!
4
// Adapted by Camilo for cached/simulation of mouse-capture/keyboard-focus state information and
5
// a few other things present in sandboxed applications (mobile/tablet/small devices)
6
// - 2022-06-02 12:44 PM <3TBS (Thomas likes number 5), Mummi and bilbo!!
7
// as acme::sandbox_windowing on 2024-11-25 23:25 by
8
// camilo <3ThomasBorregaardSorensen!!
9
#pragma once
10
11
12
#include "acme/windowing/window.h"
13
#include "acme/windowing/windowing.h"
14
15
16
namespace
acme
17
{
18
19
20
namespace
sandbox_windowing
21
{
22
23
24
class
CLASS_DECL_ACME window :
25
virtual
public
::acme::windowing::window
26
{
27
public
:
28
29
30
class ::time m_timeLastMouseMove;
31
::i32_rectangle m_rect;
32
//::i32_point m_pointCursor;
33
34
35
htask
m_htask;
36
37
38
window();
39
~window()
override
;
40
41
42
// void create_window(::windowing::window* pimpl) override;
43
void
create_window()
override
;
44
45
46
47
//::sandbox_windowing::windowing* windowing();
48
49
virtual ::acme::sandbox_windowing::windowing * sandbox_windowing();
50
51
void
exit_iconify()
override
;
52
53
void
full_screen(const ::i32_rectangle & rect = {})
override
;
54
55
void
exit_full_screen()
override
;
56
57
void
exit_zoomed()
override
;
58
59
virtual
void
set_user_interaction(
::windowing::window
* pinteraction);
60
61
virtual
void
post_nc_destroy();
62
63
virtual ::e_status set_window_icon(const ::file::path& path);
64
65
virtual
bool
operating_system_window_is_child(const ::operating_system::window & operatingsystemwindowChildCandidate);
66
67
virtual
bool
operating_system_window_is_descendant(const ::operating_system::window & operatingsystemwindowDescendantCandidate);
68
69
//::windowing::window* get_parent() override;
70
//virtual ::Window get_parent_handle();
71
//::oswindow get_parent_oswindow() override;
72
73
//::i32_point get_mouse_cursor_position() override;
74
75
//virtual ::Window get_parent_handle() const;
76
77
//::windowing::windowing* android_windowing() const { return (::windowing_android::windowing*)m_pwindowing->m_pWindowing; }
78
//::windowing_android::display * x11_display() const { return (::windowing_android::display *)m_pdisplay->m_pDisplay; }
79
80
void
set_parent(
::acme::windowing::window
* pwindowNewParent)
override
;
81
//virtual ::e_status set_parent(::windowing::window * pwindowNewParent) override;
82
//virtual long get_state();
83
virtual
bool
is_iconic()
override
;
84
virtual
bool
is_window_visible()
override
;
85
// bool _configure_window_unlocked(const class ::zorder & zorder, const ::user::e_activation & useractivation, bool bNoZorder, ::e_display edisplay) override;
86
//virtual iptr get_window_long_ptr(::i32 nIndex);
87
//virtual iptr set_window_long_ptr(::i32 nIndex, iptr l);
88
virtual
bool
client_to_screen(::i32_point* ppoint)
override
;
89
90
virtual
bool
screen_to_client(::i32_point* ppoint)
override
;
91
92
93
//virtual bool set_window_pos(class::zorder zorder, ::i32 x, ::i32 y, ::i32 cx, ::i32 cy,::u32 nFlags);
94
//virtual bool _set_window_pos(class::zorder zorder, ::i32 x, ::i32 y, ::i32 cx, ::i32 cy,::u32 nFlags);
95
96
97
virtual
bool
is_destroying()
override
;
98
99
100
//virtual bool bamf_set_icon();
101
102
103
//virtual bool set_icon(::image::image* pimage);
104
105
//virtual ::i32 x_change_property(Atom property, Atom type, ::i32 format, ::i32 mode, const ::u8 * data, ::i32 nelements);
106
107
void
set_mouse_cursor(::windowing::cursor* pcursor)
override
;
108
109
virtual
void
set_mouse_cursor2(::windowing::cursor* pcursor);
110
111
void
set_keyboard_focus()
override
;
112
void
set_mouse_capture()
override
;
113
void
set_active_window()
override
;
114
115
116
virtual
void
SetInternalFocus();
117
118
119
void
set_foreground_window
(::user::activation_token * puseractivationtoken)
override
;
120
121
122
bool
has_mouse_capture()
override
;
123
124
bool
has_keyboard_focus()
override
;
125
126
127
128
129
//virtual Atom get_window_long_atom(::i32 nIndex);
130
//virtual void mapped_net_state_raw(bool add, windowing_android_WINDOW_MEMBER ::i32 iScreen, Atom state1, Atom state2);
131
//virtual void unmapped_net_state_raw( windowing_android_WINDOW_MEMBER ...);
132
//virtual bool x11_get_window_rect(windowing_android_WINDOW_MEMBER ::i32_rectangle * prectangle);
133
//virtual bool x11_get_client_rect(windowing_android_WINDOW_MEMBER ::i32_rectangle * prectangle);
134
//virtual oswindow set_mouse_capture( windowing_android_WINDOW_MEMBER );
135
//virtual ::i32_bool release_mouse_capture();
136
//virtual oswindow set_keyboard_focus( windowing_android_WINDOW_MEMBER );
137
//virtual void x11_check_status(::i32 status, ulong window);
138
//virtual ulong x11_get_long_property( windowing_android_WINDOW_MEMBER char_pointer property_name);
139
//virtual string x11_get_name(windowing_android_WINDOW_MEMBER);
140
//virtual ::e_status set_active_window();
141
//virtual void upper_window_rects(windowing_android_WINDOW_MEMBER i32_rectangle_array_base & ra);
142
//virtual oswindow set_active_window( windowing_android_WINDOW_MEMBER );
143
// virtual windowing_android_WINDOW_MEMBER _get_if_found(Window w);
144
//virtual oswindow get_parent( windowing_android_WINDOW_MEMBER );
145
//virtual ::Window _get_window_relative(windowing_android_WINDOW_MEMBER enum_relative erelative, ::Window * windowa, ::i32 numItems);
146
//virtual ::windowing::window * get_window(windowing_android_WINDOW_MEMBER enum_relative erelative);
147
148
void
destroy_window()
override
;
149
//virtual ::i32_bool destroy_window( windowing_android_WINDOW_MEMBER );
150
bool
is_window()
override
;
151
//virtual ::i32_bool is_window( windowing_android_WINDOW_MEMBER );
152
153
154
void
set_window_text(const ::scoped_string & scopedstrString)
override
;
155
156
157
void
set_tool_window(
bool
bSet)
override
;
158
159
160
//bool set_window_position(const class ::zorder& zorder, ::i32 x, ::i32 y, ::i32 cx, ::i32 cy, const ::user::e_activation& useractivation, bool bNoZorder, bool bNoMove, bool bNoSize, bool bShow, bool bHide) override;
161
162
// bool _set_window_position(const class ::zorder & zorder, ::i32 x, ::i32 y, ::i32 cx, ::i32 cy, const ::user::e_activation & useractivation, bool bNoZorder, bool bNoMove, bool bNoSize, ::e_display edisplay, ::u32 nOverrideFlags = 0) override;
163
164
165
//virtual comparable_array < Atom > wm_get_list_raw(windowing_android_WINDOW_MEMBER Atom atomList);
166
//virtual ::i32 wm_test_state(windowing_android_WINDOW_MEMBER const ::scoped_string & scopedstrNetStateFlag);
167
//virtual ::i32 wm_test_state_raw(windowing_android_WINDOW_MEMBER const ::scoped_string & scopedstrNetStateFlag);
168
//virtual ::i32 wm_test_list_raw(windowing_android_WINDOW_MEMBER Atom atomList, Atom atomFlag);
169
//virtual bool wm_add_remove_list_raw(windowing_android_WINDOW_MEMBER Atom atomList, Atom atomFlag, bool bSet);
170
//virtual void wm_add_remove_state_mapped_raw(windowing_android_WINDOW_MEMBER::x11::enum_atom eatomNetWmState, bool bSet);
171
//virtual void wm_add_remove_state_mapped(windowing_android_WINDOW_MEMBER::x11::enum_atom eatomNetWmState, bool bSet);
172
//virtual void wm_add_remove_state_unmapped_raw(windowing_android_WINDOW_MEMBER::x11::enum_atom eatomNetWmState, bool bSet);
173
//virtual void wm_add_remove_state_unmapped(windowing_android_WINDOW_MEMBER::x11::enum_atom eatomNetWmState, bool bSet);
174
//virtual void wm_add_remove_state_raw(windowing_android_WINDOW_MEMBER::x11::enum_atom eatomNetWmState, bool bSet);
175
//virtual void wm_add_remove_state(windowing_android_WINDOW_MEMBER::x11::enum_atom eatomNetWmState, bool bSet);
176
//virtual void wm_state_clear_raw(windowing_android_WINDOW_MEMBER bool bSet);
177
//virtual void wm_state_below_raw(windowing_android_WINDOW_MEMBER bool bSet);
178
//virtual void wm_state_above_raw(windowing_android_WINDOW_MEMBER bool bSet);
179
//virtual void wm_state_hidden_raw(windowing_android_WINDOW_MEMBER bool bSet);
180
//virtual void wm_state_above(windowing_android_WINDOW_MEMBER bool bSet);
181
//virtual void wm_state_below(windowing_android_WINDOW_MEMBER bool bSet);
182
//virtual void wm_state_hidden(windowing_android_WINDOW_MEMBER bool bSet);
183
//virtual void wm_toolwindow(windowing_android_WINDOW_MEMBER bool bToolWindow);
184
//virtual void wm_normalwindow();
185
//virtual void wm_hidden_state(windowing_android_WINDOW_MEMBER bool bHidden);
186
//virtual void wm_desktopwindow(windowing_android_WINDOW_MEMBER bool bDesktopWindow);
187
//virtual void wm_centerwindow(windowing_android_WINDOW_MEMBER bool bCenterWindow);
188
//virtual void wm_splashwindow(windowing_android_WINDOW_MEMBER bool bCenterWindow);
189
//virtual void wm_dockwindow(windowing_android_WINDOW_MEMBER bool bDockWindow);
190
//virtual void wm_nodecorations(windowing_android_WINDOW_MEMBER ::i32 bMap);
191
//virtual void _wm_nodecorations(windowing_android_WINDOW_MEMBER ::i32 bMap);
192
//virtual ::i32_bool IsWindowVisibleRaw(windowing_android_WINDOW_MEMBER);
193
//virtual void wm_iconify_window(windowing_android_WINDOW_MEMBER);
194
//virtual ::i32_bool IsWindowVisibleRaw( windowing_android_WINDOW_MEMBER);
195
//virtual ::i32_bool IsWindowVisibleRaw(oswindow w);
196
// virtual Atom * wm_get_list_raw( windowing_android_WINDOW_MEMBER Atom atomList, ulong * pnum_items);
197
// virtual ::i32 wm_test_list_raw( windowing_android_WINDOW_MEMBER Atom atomList, Atom atomFlag);
198
// virtual ::i32 wm_test_state_raw( windowing_android_WINDOW_MEMBER const ::scoped_string & scopedstrNetStateFlag);
199
// virtual ::i32 wm_test_state( windowing_android_WINDOW_MEMBER const ::scoped_string & scopedstrNetStateFlag);
200
// virtual bool wm_add_remove_list_raw( windowing_android_WINDOW_MEMBER Atom atomList, Atom atomFlag, bool bSet);
201
202
203
//virtual ::e_status x11_post_message(MESSAGE & msg);
204
//virtual ::e_status post_ui_message(const MESSAGE & message);
207
//virtual ::e_status window_rectangle(windowing_android_WINDOW_MEMBER ::i32_rectangle * prectangle);
208
//virtual ::e_status this->rectangle(windowing_android_WINDOW_MEMBER ::i32_rectangle * prectangle);
210
211
//virtual ::e_status x11_store_name(const ::scoped_string & scopedstrName);
212
//virtual ::e_status set_foreground_window();
213
//virtual ::e_status set_active_window();
214
//virtual void wm_toolwindow( windowing_android_WINDOW_MEMBER bool bToolWindow);
215
//virtual void wm_state_hidden( windowing_android_WINDOW_MEMBER bool bSet);
216
//virtual void wm_state_hidden_raw( windowing_android_WINDOW_MEMBER bool bSet);
217
//virtual ::e_status mq_remove_window_from_all_queues(windowing_android_WINDOW_MEMBER);
218
219
//void window_update_screen_buffer() override;
220
//void _window_request_presentation() override;
221
222
223
// void _window_request_presentation_locked();
224
225
bool
is_active_window()
override
;
226
227
228
//void bring_to_front() override;
229
230
231
//::f32 get_dpi_for_window() override;
232
233
//::f32 get_density_for_window() override;
234
235
//virtual void on_touch_down(::i32 x, ::i32 y);
236
//virtual void on_touch_drag(::i32 x, ::i32 y);
237
//virtual void on_touch_up(::i32 x, ::i32 y);
238
239
240
};
241
242
243
}
// namespace sandbox_windowing
244
245
246
247
}
// namespace acme
248
249
250
251
acme::sandbox_windowing::window::set_foreground_window
void set_foreground_window(::user::activation_token *puseractivationtoken) override
should be run at user_thread
Definition
window.cpp:3257
acme::windowing::window
Definition
window.h:50
htask
Definition
types.h:47
acme
include "aura/graphics/image/context.h"
Definition
aaaa__defer.h:32
windowing
sandbox
window.h
Generated by
1.17.0