@@ -136,6 +136,8 @@ void ui::panel(vec2i pos, vec2i size, UiFlags_ flags) {
136
136
const vec2i offset = g_state.offset ();
137
137
if (!!(flags & UiFlags_PanelOuter)) {
138
138
outer_panel_draw (offset + pos, size.x , size.y );
139
+ } else if (!!(flags & UiFlags_PanelInner)) {
140
+ inner_panel_draw (offset + pos, size);
139
141
}
140
142
}
141
143
@@ -176,6 +178,17 @@ void ui::outer_panel::load(archive arch) {
176
178
assert (!strcmp (type, " outer_panel" ));
177
179
}
178
180
181
+ void ui::inner_panel::draw () {
182
+ ui::panel (pos, size, UiFlags_PanelInner);
183
+ }
184
+
185
+ void ui::inner_panel::load (archive arch) {
186
+ element::load (arch);
187
+
188
+ pcstr type = arch.r_string (" type" );
189
+ assert (!strcmp (type, " inner_panel" ));
190
+ }
191
+
179
192
void ui::widget::draw () {
180
193
for (auto &e : elements) {
181
194
if (e->enabled ) {
@@ -191,6 +204,8 @@ void ui::widget::load(archive arch) {
191
204
element::ptr elm;
192
205
if (!strcmp (type, " outer_panel" )) {
193
206
elm = std::make_shared<outer_panel>();
207
+ } else if (!strcmp (type, " inner_panel" )) {
208
+ elm = std::make_shared<inner_panel>();
194
209
} else if (!strcmp (type, " image" )) {
195
210
elm = std::make_shared<image>();
196
211
} else if (!strcmp (type, " label" )) {
0 commit comments