diff --git a/AUTHORS b/AUTHORS index 045b980..fd7a75c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,2 +1 @@ Chris 'devilhorns' Michael -Andy 'ajwillia.ms' Williams diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index 04a9113..45f27e4 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -17,9 +17,10 @@ am__v_EDJ_ = $(am__v_EDJ_$(AM_DEFAULT_VERBOSITY)) am__v_EDJ_0 = @echo " EDJ " $@; EXTRA_DIST = \ - default.edc + default.edc \ + default_colors.in.edc -default.edj: Makefile default.edc +default.edj: Makefile default.edc default_colors.in.edc $(AM_V_EDJ)$(EDJE_CC) $(EDJE_FLAGS) \ $(top_srcdir)/data/themes/default.edc \ $(top_builddir)/data/themes/default.edj diff --git a/data/themes/default.edc b/data/themes/default.edc index 9fa7170..c82896e 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -1,3 +1,11 @@ +#ifndef NO_COLORS +color_classes +{ +# include "default_colors.in.edc" +# define BG_COL 32 32 32 255 +} +#endif + collections { #define ICON(grp, img) \ @@ -764,7 +772,7 @@ collections description { state: "default" 0.0; - color: 32 32 32 255; + color: BG_COL; } } part diff --git a/data/themes/default_colors.in.edc b/data/themes/default_colors.in.edc new file mode 100644 index 0000000..be0a066 --- /dev/null +++ b/data/themes/default_colors.in.edc @@ -0,0 +1,351 @@ +color_class { name: "c0"; color: 170 170 170 255; } // COL_DEF +color_class { name: "c1"; color: 0 0 0 255; } // COL_BLACK +color_class { name: "c2"; color: 204 51 51 255; } // COL_RED +color_class { name: "c3"; color: 51 204 51 255; } // COL_GREEN +color_class { name: "c4"; color: 204 136 51 255; } // COL_YELLOW +color_class { name: "c5"; color: 51 51 204 255; } // COL_BLUE +color_class { name: "c6"; color: 204 51 204 255; } // COL_MAGENTA +color_class { name: "c7"; color: 51 204 204 255; } // COL_CYAN +color_class { name: "c8"; color: 204 204 204 255; } // COL_WHITE +color_class { name: "c9"; color: 0 0 0 0; } // COL_INVIS +color_class { name: "c10"; color: 34 34 34 255; } // COL_INVERSE +color_class { name: "c11"; color: 170 170 170 255; } // COL_INVERSEBG + +color_class { name: "c12"; color: 238 238 238 255; } // COL_DEF +color_class { name: "c13"; color: 102 102 102 255; } // COL_BLACK +color_class { name: "c14"; color: 255 102 102 255; } // COL_RED +color_class { name: "c15"; color: 102 255 102 255; } // COL_GREEN +color_class { name: "c16"; color: 255 255 102 255; } // COL_YELLOW +color_class { name: "c17"; color: 102 102 255 255; } // COL_BLUE +color_class { name: "c18"; color: 255 102 255 255; } // COL_MAGENTA +color_class { name: "c19"; color: 102 255 255 255; } // COL_CYAN +color_class { name: "c20"; color: 255 255 255 255; } // COL_WHITE +color_class { name: "c21"; color: 0 0 0 0; } // COL_INVIS +color_class { name: "c22"; color: 17 17 17 255; } // COL_INVERSE +color_class { name: "c23"; color: 238 238 238 255; } // COL_INVERSEBG + +color_class { name: "c24"; color: 221 221 221 255; } // COL_DEF +color_class { name: "c25"; color: 0 0 0 255; } // COL_BLACK +color_class { name: "c26"; color: 204 136 136 255; } // COL_RED +color_class { name: "c27"; color: 136 204 136 255; } // COL_GREEN +color_class { name: "c28"; color: 204 170 136 255; } // COL_YELLOW +color_class { name: "c29"; color: 136 136 204 255; } // COL_BLUE +color_class { name: "c30"; color: 204 136 204 255; } // COL_MAGENTA +color_class { name: "c31"; color: 136 204 204 255; } // COL_CYAN +color_class { name: "c32"; color: 204 204 204 255; } // COL_WHITE +color_class { name: "c33"; color: 0 0 0 0; } // COL_INVIS +color_class { name: "c34"; color: 17 17 17 255; } // COL_INVERSE +color_class { name: "c35"; color: 204 204 204 255; } // COL_INVERSEBG + +color_class { name: "c36"; color: 255 255 255 255; } // COL_DEF +color_class { name: "c37"; color: 204 204 204 255; } // COL_BLACK +color_class { name: "c38"; color: 255 204 204 255; } // COL_RED +color_class { name: "c39"; color: 204 255 204 255; } // COL_GREEN +color_class { name: "c40"; color: 255 255 204 255; } // COL_YELLOW +color_class { name: "c41"; color: 204 204 255 255; } // COL_BLUE +color_class { name: "c42"; color: 255 204 255 255; } // COL_MAGENTA +color_class { name: "c43"; color: 204 255 255 255; } // COL_CYAN +color_class { name: "c44"; color: 255 255 255 255; } // COL_WHITE +color_class { name: "c45"; color: 0 0 0 0; } // COL_INVIS +color_class { name: "c46"; color: 0 0 0 255; } // COL_INVERSE +color_class { name: "c47"; color: 255 255 255 255; } // COL_INVERSEBG + +color_class { name: "C0"; color: 0 0 0 255; } // COL_BLACK +color_class { name: "C1"; color: 204 51 51 255; } // COL_RED +color_class { name: "C2"; color: 51 204 51 255; } // COL_GREEN +color_class { name: "C3"; color: 204 136 51 255; } // COL_YELLOW +color_class { name: "C4"; color: 51 51 204 255; } // COL_BLUE +color_class { name: "C5"; color: 204 51 204 255; } // COL_MAGENTA +color_class { name: "C6"; color: 51 204 204 255; } // COL_CYAN +color_class { name: "C7"; color: 204 204 204 255; } // COL_WHITE + +color_class { name: "C8"; color: 102 102 102 255; } // COL_BLACK +color_class { name: "C9"; color: 255 102 102 255; } // COL_RED +color_class { name: "C10"; color: 102 255 102 255; } // COL_GREEN +color_class { name: "C11"; color: 255 255 102 255; } // COL_YELLOW +color_class { name: "C12"; color: 102 102 255 255; } // COL_BLUE +color_class { name: "C13"; color: 255 102 255 255; } // COL_MAGENTA +color_class { name: "C14"; color: 102 255 255 255; } // COL_CYAN +color_class { name: "C15"; color: 255 255 255 255; } // COL_WHITE + +#if 0 // disabled, use defaults. +// pure 6x6x6 colorcube +color_class { name: "C16"; color: 0 0 0 255; } +color_class { name: "C17"; color: 0 0 42 255; } +color_class { name: "C18"; color: 0 0 85 255; } +color_class { name: "C19"; color: 0 0 127 255; } +color_class { name: "C20"; color: 0 0 170 255; } +color_class { name: "C21"; color: 0 0 212 255; } + +color_class { name: "C22"; color: 0 42 0 255; } +color_class { name: "C23"; color: 0 42 42 255; } +color_class { name: "C24"; color: 0 42 85 255; } +color_class { name: "C25"; color: 0 42 127 255; } +color_class { name: "C26"; color: 0 42 170 255; } +color_class { name: "C27"; color: 0 42 212 255; } + +color_class { name: "C28"; color: 0 85 0 255; } +color_class { name: "C29"; color: 0 85 42 255; } +color_class { name: "C30"; color: 0 85 85 255; } +color_class { name: "C31"; color: 0 85 127 255; } +color_class { name: "C32"; color: 0 85 170 255; } +color_class { name: "C33"; color: 0 85 212 255; } + +color_class { name: "C34"; color: 0 127 0 255; } +color_class { name: "C35"; color: 0 127 42 255; } +color_class { name: "C36"; color: 0 127 85 255; } +color_class { name: "C37"; color: 0 127 127 255; } +color_class { name: "C38"; color: 0 127 170 255; } +color_class { name: "C39"; color: 0 127 212 255; } + +color_class { name: "C40"; color: 0 170 0 255; } +color_class { name: "C41"; color: 0 170 42 255; } +color_class { name: "C42"; color: 0 170 85 255; } +color_class { name: "C43"; color: 0 170 127 255; } +color_class { name: "C44"; color: 0 170 170 255; } +color_class { name: "C45"; color: 0 170 212 255; } + +color_class { name: "C46"; color: 0 212 0 255; } +color_class { name: "C47"; color: 0 212 42 255; } +color_class { name: "C48"; color: 0 212 85 255; } +color_class { name: "C49"; color: 0 212 127 255; } +color_class { name: "C50"; color: 0 212 170 255; } +color_class { name: "C51"; color: 0 212 212 255; } + +color_class { name: "C52"; color: 42 0 0 255; } +color_class { name: "C53"; color: 42 0 42 255; } +color_class { name: "C54"; color: 42 0 85 255; } +color_class { name: "C55"; color: 42 0 127 255; } +color_class { name: "C56"; color: 42 0 170 255; } +color_class { name: "C57"; color: 42 0 212 255; } + +color_class { name: "C58"; color: 42 42 0 255; } +color_class { name: "C59"; color: 42 42 42 255; } +color_class { name: "C60"; color: 42 42 85 255; } +color_class { name: "C61"; color: 42 42 127 255; } +color_class { name: "C62"; color: 42 42 170 255; } +color_class { name: "C63"; color: 42 42 212 255; } + +color_class { name: "C64"; color: 42 85 0 255; } +color_class { name: "C65"; color: 42 85 42 255; } +color_class { name: "C66"; color: 42 85 85 255; } +color_class { name: "C67"; color: 42 85 127 255; } +color_class { name: "C68"; color: 42 85 170 255; } +color_class { name: "C69"; color: 42 85 212 255; } + +color_class { name: "C70"; color: 42 127 0 255; } +color_class { name: "C71"; color: 42 127 42 255; } +color_class { name: "C72"; color: 42 127 85 255; } +color_class { name: "C73"; color: 42 127 127 255; } +color_class { name: "C74"; color: 42 127 170 255; } +color_class { name: "C75"; color: 42 127 212 255; } + +color_class { name: "C76"; color: 42 170 0 255; } +color_class { name: "C77"; color: 42 170 42 255; } +color_class { name: "C78"; color: 42 170 85 255; } +color_class { name: "C79"; color: 42 170 127 255; } +color_class { name: "C80"; color: 42 170 170 255; } +color_class { name: "C81"; color: 42 170 212 255; } + +color_class { name: "C82"; color: 42 212 0 255; } +color_class { name: "C83"; color: 42 212 42 255; } +color_class { name: "C84"; color: 42 212 85 255; } +color_class { name: "C85"; color: 42 212 127 255; } +color_class { name: "C86"; color: 42 212 170 255; } +color_class { name: "C87"; color: 42 212 212 255; } + +color_class { name: "C88"; color: 85 0 0 255; } +color_class { name: "C89"; color: 85 0 42 255; } +color_class { name: "C90"; color: 85 0 85 255; } +color_class { name: "C91"; color: 85 0 127 255; } +color_class { name: "C92"; color: 85 0 170 255; } +color_class { name: "C93"; color: 85 0 212 255; } + +color_class { name: "C94"; color: 85 111 0 255; } +color_class { name: "C95"; color: 85 42 42 255; } +color_class { name: "C96"; color: 85 42 85 255; } +color_class { name: "C97"; color: 85 42 127 255; } +color_class { name: "C98"; color: 85 42 170 255; } +color_class { name: "C99"; color: 85 42 212 255; } + +color_class { name: "C100"; color: 85 85 0 255; } +color_class { name: "C101"; color: 85 85 42 255; } +color_class { name: "C102"; color: 85 85 85 255; } +color_class { name: "C103"; color: 85 85 127 255; } +color_class { name: "C104"; color: 85 85 170 255; } +color_class { name: "C105"; color: 85 85 212 255; } + +color_class { name: "C106"; color: 85 127 0 255; } +color_class { name: "C107"; color: 85 127 42 255; } +color_class { name: "C108"; color: 85 127 85 255; } +color_class { name: "C109"; color: 85 127 127 255; } +color_class { name: "C110"; color: 85 127 170 255; } +color_class { name: "C111"; color: 85 127 212 255; } + +color_class { name: "C112"; color: 85 170 0 255; } +color_class { name: "C113"; color: 85 170 42 255; } +color_class { name: "C114"; color: 85 170 85 255; } +color_class { name: "C115"; color: 85 170 127 255; } +color_class { name: "C116"; color: 85 170 170 255; } +color_class { name: "C117"; color: 85 170 212 255; } + +color_class { name: "C118"; color: 85 212 0 255; } +color_class { name: "C119"; color: 85 212 42 255; } +color_class { name: "C120"; color: 85 212 85 255; } +color_class { name: "C121"; color: 85 212 127 255; } +color_class { name: "C122"; color: 85 212 170 255; } +color_class { name: "C123"; color: 85 212 212 255; } + +color_class { name: "C124"; color: 127 0 0 255; } +color_class { name: "C125"; color: 127 0 42 255; } +color_class { name: "C126"; color: 127 0 85 255; } +color_class { name: "C127"; color: 127 0 127 255; } +color_class { name: "C128"; color: 127 0 170 255; } +color_class { name: "C129"; color: 127 0 212 255; } + +color_class { name: "C130"; color: 127 42 0 255; } +color_class { name: "C131"; color: 127 42 42 255; } +color_class { name: "C132"; color: 127 42 85 255; } +color_class { name: "C133"; color: 127 42 127 255; } +color_class { name: "C134"; color: 127 42 170 255; } +color_class { name: "C135"; color: 127 42 212 255; } + +color_class { name: "C136"; color: 127 85 0 255; } +color_class { name: "C137"; color: 127 85 42 255; } +color_class { name: "C138"; color: 127 85 85 255; } +color_class { name: "C139"; color: 127 85 127 255; } +color_class { name: "C140"; color: 127 85 170 255; } +color_class { name: "C141"; color: 127 85 212 255; } + +color_class { name: "C142"; color: 127 127 0 255; } +color_class { name: "C143"; color: 127 127 42 255; } +color_class { name: "C144"; color: 127 127 85 255; } +color_class { name: "C145"; color: 127 127 127 255; } +color_class { name: "C146"; color: 127 127 170 255; } +color_class { name: "C147"; color: 127 127 212 255; } + +color_class { name: "C148"; color: 127 170 0 255; } +color_class { name: "C149"; color: 127 170 42 255; } +color_class { name: "C150"; color: 127 170 85 255; } +color_class { name: "C151"; color: 127 170 127 255; } +color_class { name: "C152"; color: 127 170 170 255; } +color_class { name: "C153"; color: 127 170 212 255; } + +color_class { name: "C154"; color: 127 212 0 255; } +color_class { name: "C155"; color: 127 212 42 255; } +color_class { name: "C156"; color: 127 212 85 255; } +color_class { name: "C157"; color: 127 212 127 255; } +color_class { name: "C158"; color: 127 212 170 255; } +color_class { name: "C159"; color: 127 212 212 255; } + +color_class { name: "C160"; color: 170 0 0 255; } +color_class { name: "C161"; color: 170 0 42 255; } +color_class { name: "C162"; color: 170 0 85 255; } +color_class { name: "C163"; color: 170 0 127 255; } +color_class { name: "C164"; color: 170 0 170 255; } +color_class { name: "C165"; color: 170 0 212 255; } + +color_class { name: "C166"; color: 170 42 0 255; } +color_class { name: "C167"; color: 170 42 42 255; } +color_class { name: "C168"; color: 170 42 85 255; } +color_class { name: "C169"; color: 170 42 127 255; } +color_class { name: "C170"; color: 170 42 170 255; } +color_class { name: "C171"; color: 170 42 212 255; } + +color_class { name: "C172"; color: 170 85 0 255; } +color_class { name: "C173"; color: 170 85 42 255; } +color_class { name: "C174"; color: 170 85 85 255; } +color_class { name: "C175"; color: 170 85 127 255; } +color_class { name: "C176"; color: 170 85 170 255; } +color_class { name: "C177"; color: 170 85 212 255; } + +color_class { name: "C178"; color: 170 127 0 255; } +color_class { name: "C179"; color: 170 127 42 255; } +color_class { name: "C180"; color: 170 127 85 255; } +color_class { name: "C181"; color: 170 127 127 255; } +color_class { name: "C182"; color: 170 127 170 255; } +color_class { name: "C183"; color: 170 127 212 255; } + +color_class { name: "C184"; color: 170 170 0 255; } +color_class { name: "C185"; color: 170 170 42 255; } +color_class { name: "C186"; color: 170 170 85 255; } +color_class { name: "C187"; color: 170 170 127 255; } +color_class { name: "C188"; color: 170 170 170 255; } +color_class { name: "C189"; color: 170 170 212 255; } + +color_class { name: "C190"; color: 170 212 0 255; } +color_class { name: "C191"; color: 170 212 42 255; } +color_class { name: "C192"; color: 170 212 85 255; } +color_class { name: "C193"; color: 170 212 127 255; } +color_class { name: "C194"; color: 170 212 170 255; } +color_class { name: "C195"; color: 170 212 212 255; } + +color_class { name: "C196"; color: 212 0 0 255; } +color_class { name: "C197"; color: 212 0 42 255; } +color_class { name: "C198"; color: 212 0 85 255; } +color_class { name: "C199"; color: 212 0 127 255; } +color_class { name: "C200"; color: 212 0 170 255; } +color_class { name: "C201"; color: 212 0 212 255; } + +color_class { name: "C202"; color: 212 42 0 255; } +color_class { name: "C203"; color: 212 42 42 255; } +color_class { name: "C204"; color: 212 42 85 255; } +color_class { name: "C205"; color: 212 42 127 255; } +color_class { name: "C206"; color: 212 42 170 255; } +color_class { name: "C207"; color: 212 42 212 255; } + +color_class { name: "C208"; color: 212 85 0 255; } +color_class { name: "C209"; color: 212 85 42 255; } +color_class { name: "C210"; color: 212 85 85 255; } +color_class { name: "C211"; color: 212 85 127 255; } +color_class { name: "C212"; color: 212 85 170 255; } +color_class { name: "C213"; color: 212 85 212 255; } + +color_class { name: "C214"; color: 212 127 0 255; } +color_class { name: "C215"; color: 212 127 42 255; } +color_class { name: "C216"; color: 212 127 85 255; } +color_class { name: "C217"; color: 212 127 127 255; } +color_class { name: "C218"; color: 212 127 170 255; } +color_class { name: "C219"; color: 212 127 212 255; } + +color_class { name: "C220"; color: 212 170 0 255; } +color_class { name: "C221"; color: 212 170 42 255; } +color_class { name: "C222"; color: 212 170 85 255; } +color_class { name: "C223"; color: 212 170 127 255; } +color_class { name: "C224"; color: 212 170 170 255; } +color_class { name: "C225"; color: 212 170 212 255; } + +color_class { name: "C226"; color: 212 212 0 255; } +color_class { name: "C227"; color: 212 212 42 255; } +color_class { name: "C228"; color: 212 212 85 255; } +color_class { name: "C229"; color: 212 212 127 255; } +color_class { name: "C230"; color: 212 212 170 255; } +color_class { name: "C231"; color: 212 212 212 255; } + +// greyscale ramp (24 not including black and white, so 26 if included) +color_class { name: "C232"; color: 8 8 8 255; } +color_class { name: "C233"; color: 18 18 18 255; } +color_class { name: "C234"; color: 28 28 28 255; } +color_class { name: "C235"; color: 38 38 38 255; } +color_class { name: "C236"; color: 48 48 48 255; } +color_class { name: "C237"; color: 58 58 58 255; } +color_class { name: "C238"; color: 68 68 68 255; } +color_class { name: "C239"; color: 78 78 78 255; } +color_class { name: "C240"; color: 88 88 88 255; } +color_class { name: "C241"; color: 98 98 98 255; } +color_class { name: "C242"; color: 108 108 108 255; } +color_class { name: "C243"; color: 118 118 118 255; } +color_class { name: "C244"; color: 128 128 128 255; } +color_class { name: "C245"; color: 138 138 138 255; } +color_class { name: "C246"; color: 148 148 148 255; } +color_class { name: "C247"; color: 158 158 158 255; } +color_class { name: "C248"; color: 168 168 168 255; } +color_class { name: "C249"; color: 178 178 178 255; } +color_class { name: "C250"; color: 188 188 188 255; } +color_class { name: "C251"; color: 198 198 198 255; } +color_class { name: "C252"; color: 210 210 210 255; } +color_class { name: "C253"; color: 218 218 218 255; } +color_class { name: "C254"; color: 228 228 228 255; } +color_class { name: "C255"; color: 238 238 238 255; } + +#endif diff --git a/src/bin/callbacks.c b/src/bin/callbacks.c index 7e89f59..ede7b02 100644 --- a/src/bin/callbacks.c +++ b/src/bin/callbacks.c @@ -2,17 +2,16 @@ #include "callbacks.h" #include "window.h" #include "channel.h" -#include "colors.h" #include -#define COLOR_SYSTEM 7 -#define COLOR_TEXT DEFAULT_FG_COLOR -#define COLOR_SERVER_NOTICE 3 -#define COLOR_CHANNEL_NOTICE 4 -#define COLOR_TOPIC 6 -#define COLOR_PART 14 -#define COLOR_JOIN 16 -#define COLOR_NICK_CHANGE 15 +#define COLOR_SYSTEM 76 +#define COLOR_TEXT 65 +#define COLOR_SERVER_NOTICE 14 +#define COLOR_CHANNEL_NOTICE 18 +#define COLOR_TOPIC 16 +#define COLOR_PART 74 +#define COLOR_JOIN 75 +#define COLOR_NICK_CHANGE 78 static int _find_crlf(const char *data, int length, int *lf) diff --git a/src/bin/channel.c b/src/bin/channel.c index a247edd..815fd28 100644 --- a/src/bin/channel.c +++ b/src/bin/channel.c @@ -6,7 +6,6 @@ #include "grid.h" #include "utils.h" #include "commands.h" -#include "colors.h" struct _Channel { @@ -260,7 +259,7 @@ _cb_entry_go(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED) nick = express_network_nickname_get(chl->net); _channel_text_append(chl, nick, buff, - _row_color_simple_create(DEFAULT_FG_COLOR)); + _row_color_simple_create(0)); } elm_entry_entry_set(chl->o_entry, ""); } @@ -315,7 +314,7 @@ _cb_entry_key_down(void *data, Evas *evas EINA_UNUSED, Evas_Object *obj EINA_UNU s = eina_strbuf_string_steal(sb); eina_strbuf_free(sb); - _channel_text_append(chl, "*", s, _row_color_simple_create(DEFAULT_FG_COLOR)); + _channel_text_append(chl, "*", s, _row_color_simple_create(0)); } else { diff --git a/src/bin/colors.c b/src/bin/colors.c index c8682db..073ef53 100644 --- a/src/bin/colors.c +++ b/src/bin/colors.c @@ -1,48 +1,68 @@ #include "private.h" #include "colors.h" -const Color colors[2][COLOR_COUNT] = +static const Color colors[2][2][12] = { - { // normal - { 0xaa, 0xaa, 0xaa, 0xff }, // COL_DEF_FG - { 0x00, 0x00, 0x00, 0xff }, // COL_BLACK - { 0x33, 0x33, 0x88, 0xff }, // COL_NAVYBLUE - { 0x33, 0x88, 0x33, 0xff }, // COL_GREEN - { 0xcc, 0x33, 0x33, 0xff }, // COL_RED - { 0x88, 0x33, 0x33, 0xff }, // COL_BROWN - { 0x88, 0x33, 0x88, 0xff }, // COL_PURPLE - { 0x88, 0x88, 0x33, 0xff }, // COL_OLIVE - { 0xcc, 0x88, 0x33, 0xff }, // COL_YELLOW - { 0x33, 0xcc, 0x33, 0xff }, // COL_LIMEGREEN - { 0x33, 0x88, 0x88, 0xff }, // COL_TEAL - { 0x88, 0xcc, 0xcc, 0xff }, // COL_AQUA - { 0x33, 0x33, 0xcc, 0xff }, // COL_BLUE - { 0xcc, 0x88, 0xcc, 0xff }, // COL_PINK - { 0x33, 0x33, 0x33, 0xff }, // COL_DARKGRAY - { 0x88, 0x88, 0x88, 0xff }, // COL_LIGHTGRAY - { 0xcc, 0xcc, 0xcc, 0xff }, // COL_WHITE - { 0x00, 0x00, 0x00, 0x00 }, // COL_DEF_BG - }, - { // bright - { 0xcc, 0xcc, 0xcc, 0xff }, // COL_BRIGHT_DEF_FG - { 0xee, 0xee, 0xee, 0xff }, // COL_BRIGHT_BLACK - { 0x66, 0x66, 0xcc, 0xff }, // COL_BRIGHT_NAVYBLUE - { 0x66, 0xcc, 0x66, 0xff }, // COL_BRIGHT_GREEN - { 0xff, 0x66, 0x66, 0xff }, // COL_BRIGHT_RED - { 0xcc, 0x66, 0x66, 0xff }, // COL_BRIGHT_BROWN - { 0xcc, 0x66, 0xcc, 0xff }, // COL_BRIGHT_PURPLE - { 0xcc, 0xcc, 0x66, 0xff }, // COL_BRIGHT_OLIVE - { 0xff, 0xff, 0xcc, 0xff }, // COL_BRIGHT_YELLOW - { 0x66, 0xff, 0x66, 0xff }, // COL_BRIGHT_LIMEGREEN - { 0x66, 0xcc, 0xcc, 0xff }, // COL_BRIGHT_TEAL - { 0xcc, 0xff, 0xff, 0xff }, // COL_BRIGHT_AQUA - { 0x66, 0x66, 0xff, 0xff }, // COL_BRIGHT_BLUE - { 0xff, 0xcc, 0xff, 0xff }, // COL_BRIGHT_PINK - { 0x66, 0x66, 0x66, 0xff }, // COL_BRIGHT_DARKGRAY - { 0xcc, 0xcc, 0xcc, 0xff }, // COL_BRIGHT_LIGHTGRAY - { 0xff, 0xff, 0xff, 0xff }, // COL_BRIGHT_WHITE - { 0x00, 0x00, 0x00, 0x33 }, // COL_BRIGHT_DEF_BG - }, + { // normal + { // normal + { 0xaa, 0xaa, 0xaa, 0xff }, // COL_DEF + { 0x00, 0x00, 0x00, 0xff }, // COL_BLACK + { 0xc0, 0x00, 0x00, 0xff }, // COL_RED + { 0x00, 0xc0, 0x00, 0xff }, // COL_GREEN + { 0xc0, 0xc0, 0x00, 0xff }, // COL_YELLOW + { 0x00, 0x00, 0xc0, 0xff }, // COL_BLUE + { 0xc0, 0x00, 0xc0, 0xff }, // COL_MAGENTA + { 0x00, 0xc0, 0xc0, 0xff }, // COL_CYAN + { 0xc0, 0xc0, 0xc0, 0xff }, // COL_WHITE + { 0x00, 0x00, 0x00, 0x00 }, // COL_INVIS + { 0x22, 0x22, 0x22, 0xff }, // COL_INVERSE + { 0xaa, 0xaa, 0xaa, 0xff }, // COL_INVERSEBG + }, + { // bright/bold + { 0xee, 0xee, 0xee, 0xff }, // COL_DEF + { 0xcc, 0xcc, 0xcc, 0xff }, // COL_BLACK + { 0xcc, 0x88, 0x88, 0xff }, // COL_RED + { 0x88, 0xcc, 0x88, 0xff }, // COL_GREEN + { 0xcc, 0xaa, 0x88, 0xff }, // COL_YELLOW + { 0x88, 0x88, 0xcc, 0xff }, // COL_BLUE + { 0xcc, 0x88, 0xcc, 0xff }, // COL_MAGENTA + { 0x88, 0xcc, 0xcc, 0xff }, // COL_CYAN + { 0xcc, 0xcc, 0xcc, 0xff }, // COL_WHITE + { 0x00, 0x00, 0x00, 0x00 }, // COL_INVIS + { 0x11, 0x11, 0x11, 0xff }, // COL_INVERSE + { 0xee, 0xee, 0xee, 0xff }, // COL_INVERSEBG + }, + }, + { // intense + { // normal + { 0xdd, 0xdd, 0xdd, 0xff }, // COL_DEF + { 0x80, 0x80, 0x80, 0xff }, // COL_BLACK + { 0xff, 0x80, 0x80, 0xff }, // COL_RED + { 0x80, 0xff, 0x80, 0xff }, // COL_GREEN + { 0xff, 0xff, 0x80, 0xff }, // COL_YELLOW + { 0x80, 0x80, 0xff, 0xff }, // COL_BLUE + { 0xff, 0x80, 0xff, 0xff }, // COL_MAGENTA + { 0x80, 0xff, 0xff, 0xff }, // COL_CYAN + { 0xff, 0xff, 0xff, 0xff }, // COL_WHITE + { 0x00, 0x00, 0x00, 0x00 }, // COL_INVIS + { 0x11, 0x11, 0x11, 0xff }, // COL_INVERSE + { 0xcc, 0xcc, 0xcc, 0xff }, // COL_INVERSEBG + }, + { // bright/bold + { 0xff, 0xff, 0xff, 0xff }, // COL_DEF + { 0xcc, 0xcc, 0xcc, 0xff }, // COL_BLACK + { 0xff, 0xcc, 0xcc, 0xff }, // COL_RED + { 0xcc, 0xff, 0xcc, 0xff }, // COL_GREEN + { 0xff, 0xff, 0xcc, 0xff }, // COL_YELLOW + { 0xcc, 0xcc, 0xff, 0xff }, // COL_BLUE + { 0xff, 0xcc, 0xff, 0xff }, // COL_MAGENTA + { 0xcc, 0xff, 0xff, 0xff }, // COL_CYAN + { 0xff, 0xff, 0xff, 0xff }, // COL_WHITE + { 0x00, 0x00, 0x00, 0x00 }, // COL_INVIS + { 0x00, 0x00, 0x00, 0xff }, // COL_INVERSE + { 0xff, 0xff, 0xff, 0xff }, // COL_INVERSEBG + } + } }; static const Color colors256[256] = @@ -350,17 +370,49 @@ static const Color colors256[256] = void _colors_init(Evas_Object *obj, Evas_Object *bg) { - int c, n, l; + int c, n; int r, g, b, a; char buf[32]; - for (n = 0, l = 0; l < 2; l++) // normal/bright + for (c = 0; c < 4 * 12; c++) { - for (c = 0; c < COLOR_COUNT; c++, n++) // irc message colors - evas_object_textgrid_palette_set(obj, - EVAS_TEXTGRID_PALETTE_STANDARD, - n, colors[l][c].r, colors[l][c].g, - colors[l][c].b, colors[l][c].a); + snprintf(buf, sizeof(buf) - 1, "c%i", c); + + n = c + (24 * (c / 24)); + + if (edje_object_color_class_get(bg, buf, + &r, &g, &b, &a, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL)) + { + /* normal */ + evas_object_textgrid_palette_set(obj, + EVAS_TEXTGRID_PALETTE_STANDARD, + n, r, g, b, a); + /* faint */ + evas_object_textgrid_palette_set(obj, + EVAS_TEXTGRID_PALETTE_STANDARD, + n + 24, + r / 2, g / 2, b / 2, a / 2); + } + else + { + Color color; + + color = colors[c / 24][(c % 24) / 12][c % 12]; + + /* normal */ + evas_object_textgrid_palette_set(obj, + EVAS_TEXTGRID_PALETTE_STANDARD, + n, color.r, color.g, color.b, + color.a); + /* faint */ + evas_object_textgrid_palette_set(obj, + EVAS_TEXTGRID_PALETTE_STANDARD, + n + 24, + color.r / 2, color.g / 2, + color.b / 2, color.a / 2); + } } for (c = 0; c < 256; c++) @@ -391,14 +443,18 @@ _colors_init(Evas_Object *obj, Evas_Object *bg) } void -_colors_standard_get(int bright, int col, unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *a) +_colors_standard_get(int set, int col, unsigned char *r, unsigned char *g, unsigned char *b, unsigned char *a) { - if ((bright >= 0) && (bright < 2)) + if ((set >= 0) && (set < 4)) { - *r = colors[bright][col].r; - *g = colors[bright][col].g; - *b = colors[bright][col].b; - *a = colors[bright][col].a; + int s1, s2; + + s1 = set / 2; + s2 = set % 2; + *r = colors[s1][s2][col].r; + *g = colors[s1][s2][col].g; + *b = colors[s1][s2][col].b; + *a = colors[s1][s2][col].a; return; } *r = 0; diff --git a/src/bin/colors.h b/src/bin/colors.h index c472d2f..4fc1733 100644 --- a/src/bin/colors.h +++ b/src/bin/colors.h @@ -1,10 +1,6 @@ #ifndef _COLORS_H_ # define _COLORS_H_ 1 -#define COLOR_COUNT 18 -#define DEFAULT_FG_COLOR 0 -#define DEFAULT_BG_COLOR COLOR_COUNT - 1 - typedef struct _Color Color; struct _Color diff --git a/src/bin/grid.c b/src/bin/grid.c index 5756d17..399e8b6 100644 --- a/src/bin/grid.c +++ b/src/bin/grid.c @@ -1296,14 +1296,14 @@ _smart_apply(Evas_Object *obj) if ((!cells) || (x >= w)) { if ((tc[x].codepoint != 0) || - (tc[x].bg != DEFAULT_BG_COLOR) || (tc[x].bg_extended)) + (tc[x].bg != COL_INVIS) || (tc[x].bg_extended)) { if (ch1 < 0) ch1 = x; ch2 = x; } tc[x].codepoint = 0; if (inv) tc[x].bg = COL_INVERSEBG; - else tc[x].bg = DEFAULT_BG_COLOR; + else tc[x].bg = COL_INVIS; tc[x].bg_extended = 0; tc[x].double_width = 0; tc[x].underline = 0; @@ -1316,14 +1316,14 @@ _smart_apply(Evas_Object *obj) if (cells[x].att.invisible) { if ((tc[x].codepoint != 0) || - (tc[x].bg != DEFAULT_BG_COLOR) || (tc[x].bg_extended)) + (tc[x].bg != COL_INVIS) || (tc[x].bg_extended)) { if (ch1 < 0) ch1 = x; ch2 = x; } tc[x].codepoint = 0; if (inv) tc[x].bg = COL_INVERSEBG; - else tc[x].bg = DEFAULT_BG_COLOR; + else tc[x].bg = COL_INVIS; tc[x].bg_extended = 0; tc[x].underline = 0; tc[x].strikethrough = 0; @@ -1346,17 +1346,17 @@ _smart_apply(Evas_Object *obj) bgext = cells[x].att.bg256; codepoint = cells[x].codepoint; - if ((fg == DEFAULT_FG_COLOR) && (cells[x].att.inverse ^ inv)) + if ((fg == COL_DEF) && (cells[x].att.inverse ^ inv)) fg = COL_INVERSEBG; - if (bg == DEFAULT_FG_COLOR) + if (bg == COL_DEF) { if (cells[x].att.inverse ^ inv) bg = COL_INVERSE; else if (!bgext) - bg = DEFAULT_BG_COLOR; + bg = COL_INVIS; } - if ((cells[x].att.fgintense) && (!fgext)) fg += 18; - if ((cells[x].att.bgintense) && (!bgext)) bg += 18; + if ((cells[x].att.fgintense) && (!fgext)) fg += 48; + if ((cells[x].att.bgintense) && (!bgext)) bg += 48; if (cells[x].att.inverse ^ inv) { int t; @@ -1364,7 +1364,8 @@ _smart_apply(Evas_Object *obj) t = fgext; fgext = bgext; bgext = t; t = fg; fg = bg; bg = t; } - if ((cells[x].att.bold) && (!fgext)) fg += 18; + if ((cells[x].att.bold) && (!fgext)) fg += 12; + if ((cells[x].att.faint) && (!fgext)) fg += 24; if ((tc[x].codepoint != codepoint) || (tc[x].fg != fg) || (tc[x].bg != bg) || (tc[x].fg_extended != fgext) || @@ -1619,7 +1620,7 @@ _line_length(const Grid_Cell *cells, ssize_t nb_cells) const Grid_Cell *cell; cell = cells + len; - if ((cell->codepoint != 0) && (cell->att.bg != DEFAULT_BG_COLOR)) + if ((cell->codepoint != 0) && (cell->att.bg != COL_INVIS)) return len + 1; } @@ -1949,17 +1950,6 @@ _text_append(Grid *sd, const Eina_Unicode *codepoints, int len, Row_Color *color { Grid_Cell *cells; int i, j; - Eina_Bool iscolor, bold, italic, underline, reverse; - int fg, bg; - - iscolor = bold = italic = underline = reverse = EINA_FALSE; - fg = DEFAULT_FG_COLOR; - bg = DEFAULT_BG_COLOR; - if (color) - { - fg = color->fg_primary_color; - bg = color->bg_primary_color; - } cells = &(GRID_CELLS(sd, 0, sd->state.cy)); for (i = 0; i < len; i++) @@ -1986,60 +1976,11 @@ _text_append(Grid *sd, const Eina_Unicode *codepoints, int len, Row_Color *color _cell_codepoint_att_fill(sd, g, sd->state.att, &(cells[sd->state.cx]), 1); - - switch (codepoints[i]) - { - case 3: - iscolor = EINA_TRUE; - continue; - case 2: - bold = !bold; - continue; - case 15: - iscolor = bold = italic = underline = reverse = EINA_FALSE; - fg = 1; - continue; - case 29: - italic = !italic; - continue; - case 31: - underline = !underline; - continue; - case 18: - reverse = !reverse; - continue; - } - - if (iscolor) - { - if ((codepoints[i] == '1') && (i + 1 < len) && - (codepoints[i + 1] >= '0' && codepoints[i + 1] <= '9')) - { - fg = (codepoints[i] - 48) * 10 + codepoints[i + 1] - 48; - i += 1; - } - else - fg = codepoints[i] - 48; - iscolor = EINA_FALSE; - if ((fg >= 0) && (fg <= 16)) - continue; - fg = 1; - continue; - } - - if (reverse) - { - cells[sd->state.cx].att.fg = bg; - cells[sd->state.cx].att.bg = fg; - } - else - { - cells[sd->state.cx].att.fg = fg; - cells[sd->state.cx].att.bg = bg; - } - cells[sd->state.cx].att.bold = bold; - cells[sd->state.cx].att.italic = italic; - cells[sd->state.cx].att.underline = underline; + if (color) + { + cells[sd->state.cx].att.fg = color->fg_primary_color; + cells[sd->state.cx].att.bg = color->bg_primary_color; + } #if defined(SUPPORT_DBLWIDTH) cells[sd->state.cx].att.dblwidth = _util_dblwidth_get(sd, g); @@ -2105,8 +2046,7 @@ _seq_handle(Grid *sd, Eina_Unicode *c, Eina_Unicode *ce, Row_Color *color) Eina_Unicode *cc; int len = 0; - if ((c[0] < 0x20) && - c[0] != 2 && c[0] != 3 && c[0] != 15 && c[0] != 18 && c[0] != 31) + if (c[0] < 0x20) { switch (c[0]) { @@ -2124,9 +2064,7 @@ _seq_handle(Grid *sd, Eina_Unicode *c, Eina_Unicode *ce, Row_Color *color) sd->state.had_cr = 0; cc = c; - - while ((cc < ce) && (*cc != 0x7f) && (*cc >= 0x20 - || *cc == 2 || *cc == 3 || *cc == 15 || *cc == 18 || *cc == 31)) + while ((cc < ce) && (*cc >= 0x20) && (*cc != 0x7f)) { cc++; len++; @@ -2231,8 +2169,8 @@ _buffer_handle(Grid *sd, const Eina_Unicode *codepoints, int len, Row_Color *col static void _att_reset(Grid_Att *att) { - att->fg = DEFAULT_FG_COLOR; - att->bg = DEFAULT_FG_COLOR; + att->fg = COL_DEF; + att->bg = COL_DEF; att->bold = 0; att->faint = 0; #if defined(SUPPORT_ITALIC) @@ -2600,7 +2538,7 @@ _row_color_simple_create(int fg_primary_color) if (ret) { ret->fg_primary_color = fg_primary_color; - ret->bg_primary_color = DEFAULT_BG_COLOR; + ret->bg_primary_color = 0; } return ret; diff --git a/src/bin/grid.h b/src/bin/grid.h index e335fcf..2023005 100644 --- a/src/bin/grid.h +++ b/src/bin/grid.h @@ -1,6 +1,17 @@ #ifndef _GRID_H_ # define _GRID_H_ 1 +#define COL_DEF 0 +#define COL_BLACK 1 +#define COL_RED 2 +#define COL_GREEN 3 +#define COL_YELLOW 4 +#define COL_BLUE 5 +#define COL_MAGENTA 6 +#define COL_CYAN 7 +#define COL_WHITE 8 +#define COL_INVIS 9 + #define COL_INVERSE 10 #define COL_INVERSEBG 11