29
29
30
30
static cs::extension darwin_ext;
31
31
static cs::extension darwin_ui_ext;
32
+ static cs::extension darwin_core_ext;
32
33
static cs::extension darwin_drawable_ext;
33
34
static cs::extension_t darwin_ui_ext_shared = cs::make_shared_extension(darwin_ui_ext);
35
+ static cs::extension_t darwin_core_ext_shared = cs::make_shared_extension(darwin_core_ext);
34
36
static cs::extension_t darwin_drawable_ext_shared = cs::make_shared_extension(darwin_drawable_ext);
35
37
namespace cs_impl {
36
38
template <>
37
- cs::extension_t &get_ext<std::shared_ptr < darwin::drawable>>
38
- ()
39
+ cs::extension_t &get_ext<darwin::pixel>()
40
+ {
41
+ return darwin_core_ext_shared;
42
+ }
43
+
44
+ template <>
45
+ cs::extension_t &get_ext<std::shared_ptr<darwin::drawable>>()
39
46
{
40
- return
41
- darwin_drawable_ext_shared;
47
+ return darwin_drawable_ext_shared;
42
48
}
43
49
44
50
template <>
@@ -210,6 +216,37 @@ namespace darwin_cs_ext {
210
216
return buff;
211
217
}
212
218
219
+ // Core Function
220
+ char get_char (const darwin::pixel &pix)
221
+ {
222
+ return pix.get_char ();
223
+ }
224
+
225
+ void set_char (darwin::pixel &pix, char ch)
226
+ {
227
+ pix.set_char (ch);
228
+ }
229
+
230
+ darwin::colors get_front_color (const darwin::pixel &pix)
231
+ {
232
+ return pix.get_front_color ();
233
+ }
234
+
235
+ void set_front_color (darwin::pixel &pix, darwin::colors c)
236
+ {
237
+ pix.set_front_color (c);
238
+ }
239
+
240
+ darwin::colors get_back_color (const darwin::pixel &pix)
241
+ {
242
+ return pix.get_back_color ();
243
+ }
244
+
245
+ void set_back_color (darwin::pixel &pix, darwin::colors c)
246
+ {
247
+ pix.set_back_color (c);
248
+ }
249
+
213
250
// Drawable Function
214
251
void load_from_file (const drawable_t &pic, const string &path)
215
252
{
@@ -310,6 +347,7 @@ namespace darwin_cs_ext {
310
347
{
311
348
// Namespaces
312
349
darwin_ext.add_var (" ui" , var::make_protect<extension_t >(darwin_ui_ext_shared));
350
+ darwin_ext.add_var (" core" , var::make_protect<extension_t >(darwin_core_ext_shared));
313
351
darwin_ext.add_var (" drawable" , var::make_protect<extension_t >(darwin_drawable_ext_shared));
314
352
// Colors
315
353
darwin_ext.add_var (" black" , var::make_constant<darwin::colors>(darwin::colors::black));
@@ -336,6 +374,13 @@ namespace darwin_cs_ext {
336
374
// Darwin UI Function
337
375
darwin_ui_ext.add_var (" message_box" , var::make_protect<callable>(cni (message_box)));
338
376
darwin_ui_ext.add_var (" input_box" , var::make_protect<callable>(cni (input_box)));
377
+ // Darwin Core Function
378
+ darwin_core_ext.add_var (" get_char" , var::make_protect<callable>(cni (get_char), true ));
379
+ darwin_core_ext.add_var (" set_char" , var::make_protect<callable>(cni (set_char)));
380
+ darwin_core_ext.add_var (" get_front_color" , var::make_protect<callable>(cni (get_front_color), true ));
381
+ darwin_core_ext.add_var (" set_front_color" , var::make_protect<callable>(cni (set_front_color)));
382
+ darwin_core_ext.add_var (" get_back_color" , var::make_protect<callable>(cni (get_back_color), true ));
383
+ darwin_core_ext.add_var (" set_back_color" , var::make_protect<callable>(cni (set_back_color)));
339
384
// Drawable Function
340
385
darwin_drawable_ext.add_var (" load_from_file" , var::make_protect<callable>(cni (load_from_file)));
341
386
darwin_drawable_ext.add_var (" save_to_file" , var::make_protect<callable>(cni (save_to_file)));
0 commit comments