acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
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
23
namespace
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
164
CLASS_DECL_ACME
void
initialize_nano_user(
::factory::factory
* pfactory);
165
166
167
color::color
Definition
color.h:162
factory::factory
Definition
factory.h:201
memory
Definition
memory.h:33
micro::theme
Definition
theme.h:10
micro::user::_do_tasks
virtual void _do_tasks()
Definition
user.cpp:465
platform::department
Definition
department.h:13
topic
Definition
topic.h:17
user
Created by camilo on 2026-05-28 12:34 <3ThomasBorregaardSørensen!! Mummi!! Bilbo!!
Definition
_.h:67
user
micro
user.h
Generated by
1.17.0