color schemes: add eet-related code

This commit is contained in:
Boris Faure 2020-09-09 21:32:46 +02:00
parent ffdfbd213d
commit 423ad1f52c
Signed by: borisfaure
GPG Key ID: 35C0410516166BE8
3 changed files with 124 additions and 0 deletions

View File

@ -370,6 +370,9 @@ static const Color default_colors256[256] =
{ 0xee, 0xee, 0xee, 0xff },
};
static Eet_Data_Descriptor *edd_cs = NULL;
static Eet_Data_Descriptor *edd_color = NULL;
void
colors_term_init(Evas_Object *textgrid,
const Evas_Object *bg,
@ -655,3 +658,82 @@ color_scheme_apply(Evas_Object *edje,
#undef CS_YELLOW
#undef CS_SET
}
void
colors_init(void)
{
Eet_Data_Descriptor_Class eddc;
eet_eina_stream_data_descriptor_class_set
(&eddc, sizeof(eddc), "Color", sizeof(Color));
edd_color = eet_data_descriptor_stream_new(&eddc);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_color, Color, "r", r, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_color, Color, "g", g, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_color, Color, "b", b, EET_T_UCHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_color, Color, "a", a, EET_T_UCHAR);
eet_eina_stream_data_descriptor_class_set
(&eddc, sizeof(eddc), "Color_Scheme", sizeof(Color_Scheme));
edd_cs = eet_data_descriptor_stream_new(&eddc);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_cs, Color_Scheme, "version", version, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_cs, Color_Scheme, "md.version", md.version, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_cs, Color_Scheme, "md.name", md.name, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_cs, Color_Scheme, "md.author", md.author, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_cs, Color_Scheme, "md.website", md.website, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_BASIC
(edd_cs, Color_Scheme, "md.license", md.license, EET_T_STRING);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "def", def, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "bg", bg, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "fg", fg, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "main", main, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "hl", hl, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "end_sel", end_sel, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "tab_missed_1", tab_missed_1, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "tab_missed_2", tab_missed_2, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "tab_missed_3", tab_missed_3, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "tab_missed_over_1", tab_missed_over_1, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "tab_missed_over_2", tab_missed_over_2, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "tab_missed_over_3", tab_missed_over_3, edd_color);
EET_DATA_DESCRIPTOR_ADD_SUB_NESTED
(edd_cs, Color_Scheme, "tab_title_2", tab_title_2, edd_color);
EET_DATA_DESCRIPTOR_ADD_ARRAY
(edd_cs, Color_Scheme, "ansi", ansi, edd_color);
}
void
colors_shutdown(void)
{
eet_data_descriptor_free(edd_cs);
edd_cs = NULL;
eet_data_descriptor_free(edd_color);
edd_color = NULL;
}

View File

@ -4,6 +4,39 @@
#include <Evas.h>
#include "config.h"
typedef struct _Color_Scheme Color_Scheme;
struct _Color_Scheme
{
int version;
struct {
int version;
const char *name;
const char *author;
const char *website;
const char *license;
} md;
Color def;
Color bg;
Color fg;
Color main;
Color hl;
Color end_sel;
Color tab_missed_1;
Color tab_missed_2;
Color tab_missed_3;
Color tab_missed_over_1;
Color tab_missed_over_2;
Color tab_missed_over_3;
Color tab_title_2;
Color ansi[16];
};
void
colors_term_init(Evas_Object *textgrid,
const Evas_Object *bg,
@ -28,4 +61,11 @@ void
color_scheme_apply(Evas_Object *edje,
const Config *config);
void
colors_init(void);
void
colors_shutdown(void);
#endif

View File

@ -879,6 +879,7 @@ elm_main(int argc, char **argv)
}
config_init();
colors_init();
_main_config = config_load();
if (key_bindings_load(_main_config) < 0)
@ -1063,6 +1064,7 @@ elm_main(int argc, char **argv)
config_del(_main_config);
key_bindings_shutdown();
colors_shutdown();
config_shutdown();
controls_shutdown();
eina_log_domain_unregister(_log_domain);