39 class CLASS_DECL_ACME windowing :
41 virtual public ::task,
42 virtual public ::task_handler
51 ::pointer<::acme::windowing::display> m_pacmedisplay;
52 ::windowing::enum_windowing m_ewindowing;
53 ::pointer<::acme::windowing::window> m_pacmewindowingwindowMouseCapture;
54 class ::time m_timeDarkMode;
56 ::windowing::enum_bias m_ewindowingbias;
59 ::procedure m_callbackOnApplicationActivate;
61 bool m_bApplicationActivated;
62 bool m_bIsOperatingAmbientApplicationHeld;
67 ~windowing()
override;
69 virtual ::windowing::enum_bias calculate_windowing_bias();
71 inline ::windowing::enum_bias windowing_bias() {
return m_ewindowingbias; }
74 virtual ::string get_version();
95 virtual ::particle * defer_initialize_host_window(const ::i32_rectangle* lpcrect);
97 virtual void _will_finish_launching();
99 virtual void _did_finish_launching();
101 virtual void set_clipboard_text(const_char_pointer psz);
103 virtual ::acme::windowing::window* get_application_host_window();
105 virtual ::pointer < ::acme::windowing::window > get_new_window();
116 virtual void _message_handler(
void* p);
118 virtual ::acme::windowing::window * get_keyboard_focus(::thread* pthread);
120 virtual ::acme::windowing::window * get_mouse_capture(::thread* pthread);
128 virtual void hide_application();
131 void handle(
::topic * ptopic, ::handler_context * phandlercontext)
override;
134 void main_send(const ::procedure & procedure)
override;
135 void main_post(const ::procedure & procedure)
override;
140 virtual void process_messages();
142 virtual bool init_threads();
144 void __task_suffix()
override;
147 virtual void show(::particle_pointer pparticle);
151 virtual ::pointer < ::user::activation_token > get_user_activation_token();
155#ifdef WINDOWS_DESKTOP
158 virtual ::windows::window_class _custom_window_class(const ::scoped_string & scopedstrClassName,
void * pHICON_Big,
void * pHICON_Small);
159 virtual ::windows::window_class _default_window_class();
160 virtual ::windows::window_class _acme_nano_window_class();
161 virtual ::windows::window_class _com_host_window_class();
169 void on_initialize_particle()
override;
172 void destroy()
override;
174 virtual ::acme::windowing::display * acme_display();
176 virtual ::acme::windowing::window * acme_windowing_window(const ::operating_system::window & operatingsystemwindow);
178 virtual ::operating_system::window operating_system_window(const ::wparam &
wparam);
180 virtual ::operating_system::window operating_system_window(const ::lparam &
lparam);
182 virtual ::acme::windowing::window * acme_windowing_window(const ::lparam &
lparam);
184 virtual ::windowing::windowing * windowing_windowing();
186 virtual void _do_tasks();
188 virtual void application_handle(::i64 l,
void * p);
192 virtual void initialize_windowing();
194 virtual void on_activate();
196 virtual void finalize_windowing();
208 virtual void display_error_trap_push(::i32 i);
210 virtual void display_error_trap_pop_ignored(::i32 i);
218 virtual void windowing_application_on_system_start();
224 virtual void windowing_post_quit();
226 virtual ::color::color get_system_color(enum_system_color esystemcolor);
228 virtual ::color::color get_operating_system_background_color();
231 virtual void fetch_dark_mode();
234 virtual void on_system_dark_mode_change(
bool bDarkMode,
235 const ::color::color & colorBackground = ::color::transparent);
237 virtual void set_dark_mode(
bool bDarkMode);
238 virtual bool dark_mode();
240 virtual class ::time dark_mode_time()
const;
241 virtual void set_dark_mode_time(
const class ::time &
time);
246 virtual void fetch_system_background_color();
252 virtual ::pixmap get_pixmap_from_file(
::memory & memoryHost,
const void * psourceFile, memsize sizeSourceFile);
255 virtual ::windowing::enum_windowing calculate_ewindowing();
256 virtual ::windowing::enum_windowing get_ewindowing();
259 virtual bool shell_open(const ::file::path & path);
263 virtual bool has_resizing();
273 virtual ::f64 get_default_screen_dpi();
274 virtual ::f32 default_screen_points_to_pixels(::f32 fPoints);
278 virtual void hook_operating_ambient_theme_change_callbacks();
281 virtual void on_hold_operating_ambient_application();
282 virtual void on_unhold_operating_ambient_application();
285 virtual void on_application_activate();
288 void run_loop2(::task *ptask)
override;