acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
aaa_interaction_base.h
1
8//#pragma once
9//
10//
11//#include "acme/prototype/geometry2d/shift.h"
12//#include "acme/user/user/element.h"
13//#include "drag_client.h"
14//
15//
16//namespace operating_system
17//{
18//
19//
20// class a_system_menu_item;
21// class a_system_menu;
22//
23//
24//} // namespace operating_system
25//
26//
27//
28//namespace user
29//{
30//
31//
32//class CLASS_DECL_ACME interaction_base :
33// virtual public ::user::element,
34// virtual public ::user::drag_client,
35// virtual public ::conversation_message,
36// virtual public ::source,
37// virtual public ::user::check,
38// virtual public ::user::text
39// {
40//
41//public:
42//
43// bool m_bMinimizeBox;
44// bool m_bMaximizeBox;
45// bool m_bResizeable;
46// bool m_bTopMost;
47// bool m_bStartCentered;
48// bool m_bArbitraryPositioning;
49//
50//
51// ::pointer < ::acme::windowing::window > m_pnanowindowingwindow;
52// ::pointer < ::acme::user::interaction > m_pacmeuserinteractionParent;
53//
54//
55// interaction_base();
56// ~interaction_base() override;
57//
58//
59// virtual ::pointer < ::operating_system::a_system_menu > create_system_menu(bool bContextual = true);
60//
61//
62// void handle(::topic * ptopic, ::handler_context * phandlercontext) override;
63//
64//
65// //virtual void do_interchange();
66// void do_asynchronously() override;
67// ::payload do_synchronously(const class time & timeWait) override;
68//
69//
70//
71// ::acme::user::interaction * acme_user_interaction() override;
72// ::acme::windowing::window * acme_windowing_window() override;
73//
74//
75//
103//
104//
105// void on_initialize_particle() override;
106//
107// virtual void create();
108//
109// virtual void show_window();
110//
111// virtual void hide_window();
112//
113// virtual void message_loop();
114//
115// virtual void implementation_message_loop_step();
116//
117// virtual void draw(::nano::graphics::context * pnanodevice);
118//
119// virtual void on_draw(::nano::graphics::context * pnanodevice);
120//
121// virtual void on_char(::i32 iChar);
122//
123// virtual bool is_active();
124// virtual void set_active();
125//
126// virtual void draw_children(::nano::graphics::context * pnanodevice);
127//
128// virtual void delete_drawing_objects();
129// virtual bool get_dark_mode();
130//
131// virtual void create_drawing_objects();
132// virtual void update_drawing_objects();
133//
134// virtual ::i32_point origin();
135//
136// //virtual bool defer_perform_entire_reposition_process();
137//
138//
139// // virtual ::pointer < ::operating_system::a_system_menu > create_system_menu();
140// //
141// // //bool defer_perform_entire_reposition_process(::user::mouse * pmouse) override;
142// //
143// // //bool defer_perform_entire_resizing_process(::experience::enum_frame eframeSizing, ::user::mouse * pmouse) override;
144// //
145// // virtual bool defer_perform_entire_reposition_process(::user::mouse * pmouse);
146// //
147// // virtual bool defer_perform_entire_resizing_process(::experience::enum_frame eframeSizing, ::user::mouse * pmouse);
148//
149//
150// virtual ::shift_int host_to_client();
151// virtual ::shift_int client_to_host();
152//
153// virtual ::shift_int absolute_to_client();
154// virtual ::shift_int client_to_absolute();
155//
156// virtual ::i32_point try_absolute_mouse_position(const ::i32_point & point);
157//
158// // drag_client
159// void drag_set_capture() override;
160// bool on_drag_start(::i32_point & point, ::item * pitem) override;
161// ::i32_point drag_mouse_cursor_position(::item* pitem, const ::i32_point & point) override;
162// bool drag_shift(::item * pitem, ::user::mouse * pmouse) override;
163// bool drag_hover(::item * pitem) override;
164// void drag_release_capture() override;
165// void drag_set_cursor(::item * pitem) override;
166//
167//
168// // virtual ::micro::child * nano_user_hit_test(::user::mouse * pmouse, ::user::e_zorder ezorder);
169// // virtual ::micro::child * nano_user_on_hit_test(const ::i32_point & point, ::user::e_zorder ezorder);
170// // virtual void nano_user_add_child(::micro::child * pchild);
171//
172// virtual ::payload get_result();
173//
174// virtual void on_mouse_move(::user::mouse * pmouse);
175// virtual void on_left_button_down(::user::mouse * pmouse);
176// virtual void on_left_button_up(::user::mouse * pmouse);
177// virtual void on_click(const ::payload & payload, ::user::mouse * pmouse);
178// virtual void on_right_button_down(::user::mouse * pmouse);
179// virtual void on_right_button_up(::user::mouse * pmouse);
180// virtual void on_right_click(const ::payload & payload, ::user::mouse * pmouse);
181//
182//
183// //virtual LRESULT window_procedure(UINT message, WPARAM wparam, LPARAM lparam);
184//
185// void set_position(const ::i32_point & point) override;
186//
187// void destroy() override;
188//
189// void redraw() override;
190//
191// virtual void get_client_rectangle(::i32_rectangle & rectangle);
192// ::i32_rectangle get_window_rectangle() override;
193//
194// void set_capture() override;
195//
196// bool has_capture() override;
197//
198// void release_capture() override;
199//
200// void set_cursor(enum_cursor ecursor) override;
201//
202// virtual void synchronize_composited_nano_window();
203//
204// void _run_modal_loop() override;
205//
206// virtual bool is_popup_window() const;
207//
208//
209// // Text Edit
210// void get_text_selection(character_count & iBeg, character_count & iEnd) const override;
211// virtual void get_text_selection(character_count& iBeg, character_count& iEnd, character_count & iComposingStart, character_count & iComposingEnd) const;
212// virtual ::collection::index plain_edit_sel_to_column(::draw2d::graphics_pointer& pgraphics, character_count iSel);
213// virtual ::collection::index plain_edit_sel_to_column_x(::draw2d::graphics_pointer& pgraphics, character_count iSel, ::i32 & x);
214// virtual ::collection::index plain_edit_sel_to_line(::draw2d::graphics_pointer& pgraphics, character_count iSel);
215// virtual ::collection::index plain_edit_sel_to_line_x(::draw2d::graphics_pointer& pgraphics, character_count iSel, ::i32 & x);
216// virtual character_count plain_edit_line_column_to_sel(::draw2d::graphics_pointer& pgraphics, ::collection::index iLine, ::collection::index iColumn);
217// virtual character_count plain_edit_line_x_to_sel(::draw2d::graphics_pointer& pgraphics, ::collection::index iLine, ::i32 x);
218// virtual ::collection::index plain_edit_char_to_line(::draw2d::graphics_pointer& pgraphics, character_count iSel);
219//
220//
221// ::trace_statement & raw_trace_statement_prefix(::trace_statement & statement) const override;
222//
223// virtual void create_interaction(::user::interaction * puserinteractionParent, const ::atom & atom = nullptr);
224//
225//
226// virtual void create_control(::user::interaction * puserinteractionParent, const ::atom & atom);
227//
228//
229// virtual void on_position_window();
230// virtual void on_size_window();
231//
232// bool is_window_zoomed() override;
233// void window_minimize() override;
234// void window_maximize() override; // m_pwindow->m_puserinteraction->display(::e_display_zoomed);
235// void window_full_screen() override; // m_pwindow->m_puserinteraction->display(::e_display_full_screen);
236// void window_restore() override; // m_pwindow->m_puserinteraction->display(::e_display_normal);
237// void window_close() override;
238//
239// void set_mouse_capture() override;
240// bool is_mouse_captured() override;
241// bool has_mouse_capture() override;
242// void release_mouse_capture() override;
243//
244//
245// void _on_window_simple_action(const_char_pointer pszActionName) override;
246//
247//
261//
262//};
263//
264//
265//} // user
266//
267//
268//