/* * Mr. 4th Dimention - Allen Webster * * 28.08.2015 * * Styles for 4coder * */ // TOP struct Style_Font{ Font_ID font_id; }; struct Style{ char name_[24]; String name; Style_Main_Data main; }; internal void style_copy(Style *dst, Style *src){ *dst = *src; dst->name.str = dst->name_; } internal void style_set_name(Style *style, String name){ i32 count = ArrayCount(style->name_); style->name = make_string_cap(style->name_, 0, count - 1); copy_ss(&style->name, name); terminate_with_null(&style->name); } struct Style_Library{ Style styles[64]; i32 count, max; }; internal void style_set_colors(Style *style, Theme *theme){ for (u32 i = 0; i < Stag_COUNT; ++i){ u32 *color_ptr = style_index_by_tag(&style->main, i); *color_ptr = theme->colors[i]; } } internal void style_add(Style_Library *library, Theme *theme, String name){ if (library->count < library->max){ Style *style = &library->styles[library->count++]; style_set_colors(style, theme); style_set_name(style, name); } } // BOTTOM