acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
user.h
1// Created by camilo on 2022-11-19 03:54 <3ThomasBorregaardSorensen!!
2//
3// // Merged from (acme)windowing and (acme)windowing_system by
4// // camilo on 2024-10-05 11:06 <3ThomasBorregaardSorensen!!
5// // (acme)windowing_system::windowing_system
6// // ---->windowing::windowing_base
7// // // ---->micro::user
8// // (acme)windowing::window_base
9// // ---->micro::interchange
10//
11// Created by camilo on 2024-05-26 21:50 <3ThomasBorregaardSorensen!!
12// Merged from windowing_system to
13// windowing by camilo on 2024-10-05 10:35 <3ThomasBorregaardSorensen!!
14#pragma once
15
16
17#include "../interface/message_box.h"
18#include "_.h"
19#include "acme/platform/department.h"
20#include "acme/prototype/collection/comparable_list.h"
21
22
23namespace micro
24{
25
26
27 class CLASS_DECL_ACME user :
28 virtual public ::platform::department
29 //virtual public ::reificator < ::message_box >
30 {
31 public:
32
33
34 //::pointer_array < ::acme::windowing::window > m_windowa;
35 // ::pointer<::acme::windowing::display> m_pdisplay;
36 // ::pointer_array<::acme::windowing::window> m_windowbasea;
37 ::pointer < ::micro::theme > m_pmicrotheme;
38
39
40 user();
41 ~user() override;
42
43
44 //inline static const_char_pointer represented_component_name() { return "nano_user"; }
45
46
47 ::micro::theme * micro_theme();
48 //::pointer < ::subparticle > nano()->message_box(const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box& emessagebox = ::user::e_message_box_ok, const ::scoped_string & scopedstrDetails = nullptr);
49 virtual void update_micro_theme();
50
52
53 //::pointer < ::subparticle > nano()->message_console(const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box& emessagebox = ::user::e_message_box_ok, const ::scoped_string & scopedstrDetails = nullptr);
54
55
56
57 void handle(::topic * ptopic, ::handler_context * phandlercontext) override;
58
59
60 //virtual void sync(const ::procedure & procedure);
61 //virtual void async(const ::procedure & procedure);
62
63
64 virtual void process_messages();
65
66 virtual bool init_threads();
67
68
69
71
72
73 //
74
75 //windowing_base();
76
77 //~windowing_base() override;
78
79
80 void on_initialize_particle() override;
81
82
83 void destroy() override;
84
85
86 //virtual ::acme::windowing::display * display();
87
88
89 virtual void on_start_system();
90
91 virtual void _do_tasks();
92
93 virtual ::e_status defer_initialize_windowing_system();
94
95 virtual ::e_status initialize_windowing_system();
96
97 virtual void * get_display();
98
99 void main_send(const ::procedure & procedure) override;
100 void main_post(const ::procedure & procedure) override;
101
102 //void _main_send(::subparticle * p) override;
103 //void _main_post(::subparticle * p) override;
104
105 virtual void display_error_trap_push(::i32 i);
106
107 virtual void display_error_trap_pop_ignored(::i32 i);
108
109 virtual void * fetch_windowing_system_display();
110
111 //virtual void process_messages();
112
113 virtual void windowing_system_application_main_loop();
114
115 virtual void windowing_system_post_quit();
116
117
118 //::pointer < ::dialog_reifier > create_message_box_dialog_reifier(::message_box_payload * pmessageboxpayload);
119// void display_exception(const ::exception & exception, ::message_box_payload * pmessageboxpayload);
120
121
122 //::pointer < ::message_box_payload > message_box(const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok, const ::scoped_string & scopedstrDetails = nullptr, ::nano::graphics::icon * picon = nullptr) override;
123 //::pointer < ::message_box_payload > exception_message_box(const ::exception & exception, const ::scoped_string & scopedstrMessage = nullptr, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok, const ::scoped_string & scopedstrDetails = nullptr, ::nano::graphics::icon * picon = nullptr) override;
126
127
128 virtual ::color::color get_system_color(enum_system_color esystemcolor);
129
130
131 virtual void on_system_dark_mode_change(bool bDarkMode,
132 const ::color::color & colorBackground = ::color::transparent);
133
134 virtual void set_dark_mode(bool bDarkMode);
135
136
137 virtual bool dark_mode();
138
139 virtual void fetch_system_background_color();
140
141
142 ::color::color reinterpreted_background_color();
143
144
145 virtual ::pixmap get_pixmap_from_file(::memory & memoryHost, const void * psourceFile, memsize sizeSourceFile);
146
147 //::pointer < ::reified < ::message_box > > realize(::realizable < ::message_box > * p) override;
148
150
151 //void post_message_box_payload(::message_box_payload * pmessageboxpayload) override;
152
153
154 };
155
156
157
158} // namespace micro
159
160
161
162
163
164CLASS_DECL_ACME void initialize_nano_user(::factory::factory * pfactory);
165
166
167
Definition color.h:162
Definition factory.h:201
Definition memory.h:33
Definition theme.h:10
virtual void _do_tasks()
Definition user.cpp:465
Definition department.h:13
Definition topic.h:17
Created by camilo on 2026-05-28 12:34 <3ThomasBorregaardSørensen!! Mummi!! Bilbo!!
Definition _.h:67