From 76b0f049bc90925ee43580359cfb419f38a9b26c Mon Sep 17 00:00:00 2001 From: Brenden Matthews Date: Sat, 24 Dec 2022 09:44:03 -0500 Subject: [PATCH] Apply clang-format. --- src/colours.cc | 75 +- src/conky.cc | 45 +- src/core.cc | 4 +- src/display-wayland.cc | 1141 ++++++++++++++--------------- src/display-wayland.hh | 2 +- src/display-x11.cc | 9 +- src/fonts.cc | 8 +- src/freebsd.cc | 2 +- src/gradient.cc | 2 +- src/gui.cc | 7 +- src/imlib2.cc | 3 +- src/linux.cc | 3 +- src/nvidia.cc | 12 +- src/specials.cc | 2 +- src/top.cc | 4 +- src/wl.cc | 22 +- src/x11-color.cc | 1580 ++++++++++++++++++++-------------------- src/x11-color.h | 3 +- src/x11.cc | 11 +- src/x11.h | 2 +- 20 files changed, 1428 insertions(+), 1509 deletions(-) diff --git a/src/colours.cc b/src/colours.cc index dbff6491..f82cf999 100644 --- a/src/colours.cc +++ b/src/colours.cc @@ -27,8 +27,8 @@ * */ #include "conky.h" -#include "logging.h" #include "gui.h" +#include "logging.h" #ifdef BUILD_X11 #include "x11.h" #endif /*BUILD_X11*/ @@ -87,59 +87,54 @@ unsigned int adjust_colours(unsigned int colour) { return colour; } - #ifdef BUILD_GUI #ifdef BUILD_WAYLAND static int hex_nibble_value(char c) { - if (c >= '0' && c <= '9') { - return c - '0'; - } else if (c >= 'a' && c <= 'f') { - return c - 'a' + 10; - } else if (c >= 'A' && c <= 'F') { - return c - 'A' + 10; - } - return -1; + if (c >= '0' && c <= '9') { + return c - '0'; + } else if (c >= 'a' && c <= 'f') { + return c - 'a' + 10; + } else if (c >= 'A' && c <= 'F') { + return c - 'A' + 10; + } + return -1; } long manually_get_x11_color(const char *name) { - unsigned short r, g, b; - size_t len = strlen(name); - if (OsLookupColor(-1, name, len, &r, &g, &b)) { - return 0x000000ff | ((r & 0xff) << 24) | ((g & 0xff) << 16) | ((b & 0xff) << 8); - } - if (name[0] == '#') { - name++; - len--; - } - if (len == 6 || len == 8) - { - unsigned char argb[4] = {0xff, 0, 0, 0}; - for (size_t i = 0; i + 1 < len; i += 2) { - int nib1 = hex_nibble_value(name[i]); - int nib2 = hex_nibble_value(name[i+1]); - if (nib1 < 0 || nib2 < 0) { - goto err; - } - int val = (nib1 << 4) + nib2; + unsigned short r, g, b; + size_t len = strlen(name); + if (OsLookupColor(-1, name, len, &r, &g, &b)) { + return 0x000000ff | ((r & 0xff) << 24) | ((g & 0xff) << 16) | + ((b & 0xff) << 8); + } + if (name[0] == '#') { + name++; + len--; + } + if (len == 6 || len == 8) { + unsigned char argb[4] = {0xff, 0, 0, 0}; + for (size_t i = 0; i + 1 < len; i += 2) { + int nib1 = hex_nibble_value(name[i]); + int nib2 = hex_nibble_value(name[i + 1]); + if (nib1 < 0 || nib2 < 0) { goto err; } + int val = (nib1 << 4) + nib2; - argb[3 - i / 2] = val; - } - long out; - memcpy(static_cast(&out), argb, 4); - return out; + argb[3 - i / 2] = val; } - err: - NORM_ERR("can't parse X color '%s' (%d)", name, len); - return 0xFF00FF; + long out; + memcpy(static_cast(&out), argb, 4); + return out; + } +err: + NORM_ERR("can't parse X color '%s' (%d)", name, len); + return 0xFF00FF; } #endif /* BUILD_WAYLAND */ long get_x11_color(const char *name) { #ifdef BUILD_X11 #ifdef BUILD_WAYLAND - if (!display) { - return manually_get_x11_color(name); - } + if (!display) { return manually_get_x11_color(name); } #endif /*BUILD_WAYLAND*/ assert(display != nullptr); XColor color; diff --git a/src/conky.cc b/src/conky.cc index 7419d8ab..6d90eeeb 100644 --- a/src/conky.cc +++ b/src/conky.cc @@ -154,7 +154,7 @@ const char builtin_config_magic[] = "==builtin=="; #define MAX_IF_BLOCK_DEPTH 5 -//#define SIGNAL_BLOCKING +// #define SIGNAL_BLOCKING #undef SIGNAL_BLOCKING /* debugging level, used by logging.h */ @@ -764,9 +764,7 @@ int get_border_total() { dpi_scale(border_width.get(*state)); } -void remove_first_char(char* s) { - memmove(s, s + 1, strlen(s)); -} +void remove_first_char(char *s) { memmove(s, s + 1, strlen(s)); } static int get_string_width_special(char *s, int special_index) { char *p, *final; @@ -1559,30 +1557,29 @@ static void draw_text() { #ifdef BUILD_GUI // XXX:only works if inside set_display_output() for (auto output : display_outputs()) { - if (output && output->graphical()) { - cur_y = text_start_y; - int bw = dpi_scale(border_width.get(*state)); + if (output && output->graphical()) { + cur_y = text_start_y; + int bw = dpi_scale(border_width.get(*state)); - /* draw borders */ - if (draw_borders.get(*state) && bw > 0) { - if (stippled_borders.get(*state) != 0) { - char ss[2] = {(char)dpi_scale(stippled_borders.get(*state)), - (char)dpi_scale(stippled_borders.get(*state))}; - output->set_line_style(bw, false); - output->set_dashes(ss); - } else { - output->set_line_style(bw, true); + /* draw borders */ + if (draw_borders.get(*state) && bw > 0) { + if (stippled_borders.get(*state) != 0) { + char ss[2] = {(char)dpi_scale(stippled_borders.get(*state)), + (char)dpi_scale(stippled_borders.get(*state))}; + output->set_line_style(bw, false); + output->set_dashes(ss); + } else { + output->set_line_style(bw, true); + } + + int offset = dpi_scale(border_inner_margin.get(*state)) + bw; + output->draw_rect(text_offset_x + text_start_x - offset, + text_offset_y + text_start_y - offset, + text_width + 2 * offset, text_height + 2 * offset); } - int offset = dpi_scale(border_inner_margin.get(*state)) + bw; - output->draw_rect(text_offset_x + text_start_x - offset, - text_offset_y + text_start_y - offset, - text_width + 2 * offset, - text_height + 2 * offset); + /* draw text */ } - - /* draw text */ - } } setup_fonts(); #endif /* BUILD_GUI */ diff --git a/src/core.cc b/src/core.cc index 156afb41..e88ed605 100644 --- a/src/core.cc +++ b/src/core.cc @@ -54,8 +54,8 @@ #include "irc.h" #endif /* BUILD_IRC */ #ifdef BUILD_GUI -#include "gui.h" #include "fonts.h" +#include "gui.h" #endif /* BUILD_GUI */ #include "fs.h" #ifdef BUILD_IBM @@ -750,7 +750,7 @@ struct text_object *construct_text_object(char *s, const char *arg, long line, #endif /* BUILD_GUI */ END OBJ(color, nullptr) #ifdef BUILD_GUI - if (out_to_gui(*state)) { + if (out_to_gui(*state)) { obj->data.l = arg != nullptr ? get_x11_color(arg) : default_color.get(*state); set_current_text_color(obj->data.l); diff --git a/src/display-wayland.cc b/src/display-wayland.cc index 47e2a326..ae01c20e 100644 --- a/src/display-wayland.cc +++ b/src/display-wayland.cc @@ -28,20 +28,20 @@ #ifdef BUILD_WAYLAND #include -//#include "wayland.h" -#include -#include +// #include "wayland.h" #include #include +#include +#include #include -#include #include +#include #include #include -#include #include +#include #endif /* BUILD_WAYLAND */ @@ -50,8 +50,8 @@ #include "conky.h" #include "display-wayland.hh" -#include "llua.h" #include "gui.h" +#include "llua.h" #ifdef BUILD_X11 #include "x11.h" #endif @@ -64,46 +64,38 @@ /* TODO: cleanup global namespace */ #ifdef BUILD_WAYLAND -static int -set_cloexec_or_close(int fd) -{ - long flags; +static int set_cloexec_or_close(int fd) { + long flags; - if (fd == -1) - return -1; + if (fd == -1) return -1; - flags = fcntl(fd, F_GETFD); - if (flags == -1) - goto err; + flags = fcntl(fd, F_GETFD); + if (flags == -1) goto err; - if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1) - goto err; + if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1) goto err; - return fd; + return fd; err: - close(fd); - return -1; + close(fd); + return -1; } -static int -create_tmpfile_cloexec(char *tmpname) -{ - int fd; +static int create_tmpfile_cloexec(char *tmpname) { + int fd; #ifdef HAVE_MKOSTEMP - fd = mkostemp(tmpname, O_CLOEXEC); - if (fd >= 0) - unlink(tmpname); + fd = mkostemp(tmpname, O_CLOEXEC); + if (fd >= 0) unlink(tmpname); #else - fd = mkstemp(tmpname); - if (fd >= 0) { - fd = set_cloexec_or_close(fd); - unlink(tmpname); - } + fd = mkstemp(tmpname); + if (fd >= 0) { + fd = set_cloexec_or_close(fd); + unlink(tmpname); + } #endif - return fd; + return fd; } /* @@ -127,41 +119,37 @@ create_tmpfile_cloexec(char *tmpname) * If posix_fallocate() is not supported, program may receive * SIGBUS on accessing mmap()'ed file contents instead. */ -static int -os_create_anonymous_file(off_t size) -{ - static const char templ[] = "/weston-shared-XXXXXX"; - const char *path; - char *name; - int fd; - int ret; +static int os_create_anonymous_file(off_t size) { + static const char templ[] = "/weston-shared-XXXXXX"; + const char *path; + char *name; + int fd; + int ret; - path = getenv("XDG_RUNTIME_DIR"); - if (!path) { - errno = ENOENT; - return -1; - } + path = getenv("XDG_RUNTIME_DIR"); + if (!path) { + errno = ENOENT; + return -1; + } - name = static_cast(malloc(strlen(path) + sizeof(templ))); - if (!name) - return -1; + name = static_cast(malloc(strlen(path) + sizeof(templ))); + if (!name) return -1; - strcpy(name, path); - strcat(name, templ); + strcpy(name, path); + strcat(name, templ); - fd = create_tmpfile_cloexec(name); + fd = create_tmpfile_cloexec(name); - free(name); + free(name); - if (fd < 0) - return -1; - ret = posix_fallocate(fd, 0, size); - if (ret != 0) { - close(fd); - errno = ret; - return -1; - } - return fd; + if (fd < 0) return -1; + ret = posix_fallocate(fd, 0, size); + if (ret != 0) { + close(fd); + errno = ret; + return -1; + } + return fd; } // TODO: cleanup externs (move to conky.h ?) @@ -189,12 +177,7 @@ struct pango_font { } metrics; int font_alpha; - pango_font() - : desc(nullptr), - metrics({0, 0}), - font_alpha(0xffff) - { - } + pango_font() : desc(nullptr), metrics({0, 0}), font_alpha(0xffff) {} }; static std::vector pango_fonts; /* indexed by selected_font */ @@ -235,11 +218,11 @@ static void wayland_create_window() { #ifdef OWN_WINDOW if (own_window.get(*state)) { if (fixed_pos == 0) { - //XMoveWindow(display, window.window, window.x, window.y); - //TODO + // XMoveWindow(display, window.window, window.x, window.y); + // TODO } - //set_transparent_background(window.window); + // set_transparent_background(window.window); } #endif @@ -255,7 +238,8 @@ namespace { #ifdef BUILD_WAYLAND conky::display_output_wayland wayland_output; #else -conky::disabled_display_output wayland_output_disabled("wayland", "BUILD_WAYLAND"); +conky::disabled_display_output wayland_output_disabled("wayland", + "BUILD_WAYLAND"); #endif } // namespace @@ -265,7 +249,8 @@ namespace priv {} // namespace priv #ifdef BUILD_WAYLAND -display_output_wayland::display_output_wayland() : display_output_base("wayland") { +display_output_wayland::display_output_wayland() + : display_output_base("wayland") { is_graphical = true; priority = 2; } @@ -285,201 +270,185 @@ static struct window *global_window; static wl_display *global_display; struct rectangle { - size_t x, y, width, height; + size_t x, y, width, height; }; struct window { - struct rectangle rectangle; - struct wl_shm *shm; - struct wl_surface *surface; - struct zwlr_layer_surface_v1 *layer_surface; - int scale; - cairo_surface_t *cairo_surface; - cairo_t *cr; - PangoLayout *layout; - PangoContext* pango_context; + struct rectangle rectangle; + struct wl_shm *shm; + struct wl_surface *surface; + struct zwlr_layer_surface_v1 *layer_surface; + int scale; + cairo_surface_t *cairo_surface; + cairo_t *cr; + PangoLayout *layout; + PangoContext *pango_context; }; struct { - struct wl_registry *registry; - struct wl_compositor *compositor; - struct wl_shm *shm; - struct wl_surface *surface; - struct wl_seat *seat; -/* struct wl_pointer *pointer;*/ - struct wl_output *output; - struct xdg_wm_base *shell; - struct zwlr_layer_shell_v1 *layer_shell; + struct wl_registry *registry; + struct wl_compositor *compositor; + struct wl_shm *shm; + struct wl_surface *surface; + struct wl_seat *seat; + /* struct wl_pointer *pointer;*/ + struct wl_output *output; + struct xdg_wm_base *shell; + struct zwlr_layer_shell_v1 *layer_shell; } wl_globals; - -static void -xdg_wm_base_ping(void *data, struct xdg_wm_base *shell, uint32_t serial) -{ - xdg_wm_base_pong(shell, serial); +static void xdg_wm_base_ping(void *data, struct xdg_wm_base *shell, + uint32_t serial) { + xdg_wm_base_pong(shell, serial); } static const struct xdg_wm_base_listener xdg_wm_base_listener = { - /*.ping =*/ &xdg_wm_base_ping, + /*.ping =*/&xdg_wm_base_ping, }; +static void output_geometry(void *data, struct wl_output *wl_output, int32_t x, + int32_t y, int32_t physical_width, + int32_t physical_height, int32_t subpixel, + const char *make, const char *model, + int32_t transform) {} -static void -output_geometry(void *data, struct wl_output *wl_output, int32_t x, int32_t y, - int32_t physical_width, int32_t physical_height, - int32_t subpixel, const char *make, const char *model, - int32_t transform) -{} - -static void -output_mode(void *data, struct wl_output *wl_output, uint32_t flags, - int32_t width, int32_t height, int32_t refresh) -{} +static void output_mode(void *data, struct wl_output *wl_output, uint32_t flags, + int32_t width, int32_t height, int32_t refresh) {} #ifdef WL_OUTPUT_DONE_SINCE_VERSION -static void -output_done(void *data, struct wl_output *wl_output) -{} +static void output_done(void *data, struct wl_output *wl_output) {} #endif #ifdef WL_OUTPUT_SCALE_SINCE_VERSION -void -output_scale(void *data, struct wl_output *wl_output, int32_t factor) -{ - /* For now, assume we have one output and adopt its scale unconditionally. */ - /* We should also re-render immediately when scale changes. */ - global_window->scale = factor; +void output_scale(void *data, struct wl_output *wl_output, int32_t factor) { + /* For now, assume we have one output and adopt its scale unconditionally. */ + /* We should also re-render immediately when scale changes. */ + global_window->scale = factor; } #endif #ifdef WL_OUTPUT_NAME_SINCE_VERSION -static void -output_name(void *data, struct wl_output *wl_output, const char *name) -{} +static void output_name(void *data, struct wl_output *wl_output, + const char *name) {} #endif #ifdef WL_OUTPUT_DESCRIPTION_SINCE_VERSION -static void -output_description(void *data, struct wl_output *wl_output, - const char *description) -{} +static void output_description(void *data, struct wl_output *wl_output, + const char *description) {} #endif const struct wl_output_listener output_listener = { - /*.geometry =*/ output_geometry, - /*.mode =*/ output_mode, - #ifdef WL_OUTPUT_DONE_SINCE_VERSION - /*.done =*/ output_done, - #endif - #ifdef WL_OUTPUT_SCALE_SINCE_VERSION - /*.scale =*/ &output_scale, - #endif - #ifdef WL_OUTPUT_NAME_SINCE_VERSION - /*.name =*/ &output_name, - #endif - #ifdef WL_OUTPUT_DESCRIPTION_SINCE_VERSION - /*.description =*/ &output_description, - #endif + /*.geometry =*/output_geometry, + /*.mode =*/output_mode, +#ifdef WL_OUTPUT_DONE_SINCE_VERSION + /*.done =*/output_done, +#endif +#ifdef WL_OUTPUT_SCALE_SINCE_VERSION + /*.scale =*/&output_scale, +#endif +#ifdef WL_OUTPUT_NAME_SINCE_VERSION + /*.name =*/&output_name, +#endif +#ifdef WL_OUTPUT_DESCRIPTION_SINCE_VERSION + /*.description =*/&output_description, +#endif }; -void -registry_handle_global(void *data, struct wl_registry *registry, uint32_t name, - const char *interface, uint32_t version) { - if(strcmp(interface, "wl_compositor") == 0) { - wl_globals.compositor = static_cast(wl_registry_bind(registry, name, - &wl_compositor_interface, 3)); - } else if(strcmp(interface, "wl_shm") == 0) { - wl_globals.shm = static_cast(wl_registry_bind(registry, name, &wl_shm_interface, 1)); - } else if(strcmp(interface, "wl_seat") == 0) { - wl_globals.seat = static_cast(wl_registry_bind(registry, name, - &wl_seat_interface, 1)); - } else if(strcmp(interface, "wl_output") == 0) { - wl_globals.output = static_cast(wl_registry_bind(registry, name, &wl_output_interface, 2)); - wl_output_add_listener(wl_globals.output, &output_listener, nullptr); - } else if(strcmp(interface, "xdg_wm_base") == 0) { - wl_globals.shell = static_cast(wl_registry_bind(registry, name, &xdg_wm_base_interface, 1)); - xdg_wm_base_add_listener(wl_globals.shell, &xdg_wm_base_listener, nullptr); - } else if(strcmp(interface, "zwlr_layer_shell_v1") == 0) { - wl_globals.layer_shell = static_cast(wl_registry_bind(registry, name, &zwlr_layer_shell_v1_interface, 1)); - } -} - -void -registry_handle_global_remove(void *data, struct wl_registry *registry, uint32_t name) { +void registry_handle_global(void *data, struct wl_registry *registry, + uint32_t name, const char *interface, + uint32_t version) { + if (strcmp(interface, "wl_compositor") == 0) { + wl_globals.compositor = static_cast( + wl_registry_bind(registry, name, &wl_compositor_interface, 3)); + } else if (strcmp(interface, "wl_shm") == 0) { + wl_globals.shm = static_cast( + wl_registry_bind(registry, name, &wl_shm_interface, 1)); + } else if (strcmp(interface, "wl_seat") == 0) { + wl_globals.seat = static_cast( + wl_registry_bind(registry, name, &wl_seat_interface, 1)); + } else if (strcmp(interface, "wl_output") == 0) { + wl_globals.output = static_cast( + wl_registry_bind(registry, name, &wl_output_interface, 2)); + wl_output_add_listener(wl_globals.output, &output_listener, nullptr); + } else if (strcmp(interface, "xdg_wm_base") == 0) { + wl_globals.shell = static_cast( + wl_registry_bind(registry, name, &xdg_wm_base_interface, 1)); + xdg_wm_base_add_listener(wl_globals.shell, &xdg_wm_base_listener, nullptr); + } else if (strcmp(interface, "zwlr_layer_shell_v1") == 0) { + wl_globals.layer_shell = static_cast( + wl_registry_bind(registry, name, &zwlr_layer_shell_v1_interface, 1)); + } } +void registry_handle_global_remove(void *data, struct wl_registry *registry, + uint32_t name) {} static const struct wl_registry_listener registry_listener = { - registry_handle_global, - registry_handle_global_remove -}; + registry_handle_global, registry_handle_global_remove}; - -static void -layer_surface_configure(void *data, struct zwlr_layer_surface_v1 *layer_surface, - uint32_t serial, uint32_t width, uint32_t height) -{ - zwlr_layer_surface_v1_ack_configure(layer_surface, serial); +static void layer_surface_configure(void *data, + struct zwlr_layer_surface_v1 *layer_surface, + uint32_t serial, uint32_t width, + uint32_t height) { + zwlr_layer_surface_v1_ack_configure(layer_surface, serial); } -static void -layer_surface_closed(void *data, struct zwlr_layer_surface_v1 *layer_surface) -{ -} +static void layer_surface_closed(void *data, + struct zwlr_layer_surface_v1 *layer_surface) {} static const struct zwlr_layer_surface_v1_listener layer_surface_listener = { - /*.configure =*/ &layer_surface_configure, - /*.closed =*/ &layer_surface_closed, + /*.configure =*/&layer_surface_configure, + /*.closed =*/&layer_surface_closed, }; -struct window * -window_create(struct wl_surface* surface, struct wl_shm* shm, int width, int height); +struct window *window_create(struct wl_surface *surface, struct wl_shm *shm, + int width, int height); -void -window_resize(struct window *window, int width, int height); +void window_resize(struct window *window, int width, int height); -void -window_allocate_buffer(struct window *window); +void window_allocate_buffer(struct window *window); -void -window_destroy(struct window *window); +void window_destroy(struct window *window); -void -window_commit_buffer(struct window *window); +void window_commit_buffer(struct window *window); -void -window_get_width_height(struct window *window, int *w, int *h); +void window_get_width_height(struct window *window, int *w, int *h); void window_layer_surface_set_size(struct window *window) { - zwlr_layer_surface_v1_set_size(global_window->layer_surface, global_window->rectangle.width, global_window->rectangle.height); + zwlr_layer_surface_v1_set_size(global_window->layer_surface, + global_window->rectangle.width, + global_window->rectangle.height); } bool display_output_wayland::initialize() { - epoll_fd = epoll_create1(0); - if(epoll_fd < 0) { - perror("conky: epoll_create"); - return false; - } - global_display = wl_display_connect(NULL); - if (!global_display) { - perror("conky: wl_display_connect"); - return false; - } + epoll_fd = epoll_create1(0); + if (epoll_fd < 0) { + perror("conky: epoll_create"); + return false; + } + global_display = wl_display_connect(NULL); + if (!global_display) { + perror("conky: wl_display_connect"); + return false; + } - wl_globals.registry = wl_display_get_registry(global_display); - wl_registry_add_listener(wl_globals.registry, ®istry_listener, NULL); + wl_globals.registry = wl_display_get_registry(global_display); + wl_registry_add_listener(wl_globals.registry, ®istry_listener, NULL); - wl_display_roundtrip(global_display); + wl_display_roundtrip(global_display); - struct wl_surface *surface = wl_compositor_create_surface(wl_globals.compositor); + struct wl_surface *surface = + wl_compositor_create_surface(wl_globals.compositor); global_window = window_create(surface, wl_globals.shm, 1, 1); global_window->scale = 1; window_allocate_buffer(global_window); - global_window->layer_surface = zwlr_layer_shell_v1_get_layer_surface(wl_globals.layer_shell, - global_window->surface, nullptr, ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM, "conky_namespace"); + global_window->layer_surface = zwlr_layer_shell_v1_get_layer_surface( + wl_globals.layer_shell, global_window->surface, nullptr, + ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM, "conky_namespace"); window_layer_surface_set_size(global_window); - zwlr_layer_surface_v1_add_listener(global_window->layer_surface, &layer_surface_listener, nullptr); + zwlr_layer_surface_v1_add_listener(global_window->layer_surface, + &layer_surface_listener, nullptr); wl_surface_set_buffer_scale(global_window->surface, global_window->scale); wl_surface_commit(global_window->surface); @@ -489,148 +458,149 @@ bool display_output_wayland::initialize() { return true; } -typedef void (*display_global_handler_t)(struct display *display, - uint32_t name, - const char *interface, - uint32_t version, void *data); +typedef void (*display_global_handler_t)(struct display *display, uint32_t name, + const char *interface, + uint32_t version, void *data); typedef void (*display_output_handler_t)(struct output *output, void *data); bool display_output_wayland::shutdown() { return false; } -#define ARRAY_LENGTH(x) (sizeof(x)/sizeof(x[0])) +#define ARRAY_LENGTH(x) (sizeof(x) / sizeof(x[0])) static bool added = false; bool display_output_wayland::main_loop_wait(double t) { - while (wl_display_prepare_read(global_display) != 0) - wl_display_dispatch_pending(global_display); - wl_display_flush(global_display); + while (wl_display_prepare_read(global_display) != 0) + wl_display_dispatch_pending(global_display); + wl_display_flush(global_display); - if (t < 0.0) { - t = 0.0; - } - int ms = t * 1000; + if (t < 0.0) { t = 0.0; } + int ms = t * 1000; - /* add fd to epoll set the first time around */ - if (!added) { - ep[0].events = EPOLLIN | EPOLLERR | EPOLLHUP | EPOLLET; - ep[0].data.ptr = nullptr; - if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, wl_display_get_fd(global_display), &ep[0]) == -1) { - perror("conky: epoll_ctl: add"); - return false; - } - added = true; - } + /* add fd to epoll set the first time around */ + if (!added) { + ep[0].events = EPOLLIN | EPOLLERR | EPOLLHUP | EPOLLET; + ep[0].data.ptr = nullptr; + if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, wl_display_get_fd(global_display), + &ep[0]) == -1) { + perror("conky: epoll_ctl: add"); + return false; + } + added = true; + } - /* wait for Wayland event or timeout */ - int ep_count = epoll_wait(epoll_fd, ep, ARRAY_LENGTH(ep), ms); - if (ep_count > 0) { - if (ep[0].events & (EPOLLERR | EPOLLHUP)) { - NORM_ERR("output closed"); - exit(1); - return false; - } - } + /* wait for Wayland event or timeout */ + int ep_count = epoll_wait(epoll_fd, ep, ARRAY_LENGTH(ep), ms); + if (ep_count > 0) { + if (ep[0].events & (EPOLLERR | EPOLLHUP)) { + NORM_ERR("output closed"); + exit(1); + return false; + } + } - wl_display_read_events(global_display); + wl_display_read_events(global_display); - wl_display_dispatch_pending(global_display); + wl_display_dispatch_pending(global_display); - wl_display_flush(global_display); + wl_display_flush(global_display); - /* timeout */ - if (ep_count == 0) { update_text(); } + /* timeout */ + if (ep_count == 0) { update_text(); } if (need_to_update != 0) { - need_to_update = 0; selected_font = 0; update_text_area(); - int changed = 0; - int border_total = get_border_total(); + int changed = 0; + int border_total = get_border_total(); - int width, height; - window_get_width_height(global_window, &width, &height); + int width, height; + window_get_width_height(global_window, &width, &height); - int fixed_size = 0; + int fixed_size = 0; - /* resize window if it isn't right size */ - if ((fixed_size == 0) && - (text_width + 2 * border_total != width || - text_height + 2 * border_total != height)) { - - /* clamp text_width to configured maximum */ - if (maximum_width.get(*state)) { - int mw = global_window->scale * maximum_width.get(*state); - if (text_width > mw && mw > 0) { text_width = mw; } - } - - width = text_width + 2 * border_total; - height = text_height + 2 * border_total; - window_resize(global_window, width, height); /* resize window */ - - changed++; - /* update lua window globals */ - llua_update_window_table(text_start_x, text_start_y, text_width, - text_height); + /* resize window if it isn't right size */ + if ((fixed_size == 0) && (text_width + 2 * border_total != width || + text_height + 2 * border_total != height)) { + /* clamp text_width to configured maximum */ + if (maximum_width.get(*state)) { + int mw = global_window->scale * maximum_width.get(*state); + if (text_width > mw && mw > 0) { text_width = mw; } } - /* move window if it isn't in right position */ - #ifdef POSITION - if ((fixed_pos == 0) && (window.x != wx || window.y != wy)) { - //XMoveWindow(display, window.window, window.x, window.y); - changed++; - } - #endif + width = text_width + 2 * border_total; + height = text_height + 2 * border_total; + window_resize(global_window, width, height); /* resize window */ - /* update struts */ - if (changed != 0) { - int anchor = -1; + changed++; + /* update lua window globals */ + llua_update_window_table(text_start_x, text_start_y, text_width, + text_height); + } - DBGP("%s", _(PACKAGE_NAME ": defining struts\n")); - fflush(stderr); +/* move window if it isn't in right position */ +#ifdef POSITION + if ((fixed_pos == 0) && (window.x != wx || window.y != wy)) { + // XMoveWindow(display, window.window, window.x, window.y); + changed++; + } +#endif - switch (text_alignment.get(*state)) { - case TOP_LEFT: - anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP | ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT; - break; - case TOP_RIGHT: - anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; - break; - case TOP_MIDDLE: { - anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP; - break; - } - case BOTTOM_LEFT: - anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM | ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT; - break; - case BOTTOM_RIGHT: - anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; - break; - case BOTTOM_MIDDLE: { - anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM; - break; - } - case MIDDLE_LEFT: { - anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT; - break; - } - case MIDDLE_RIGHT: { - anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; - break; - } + /* update struts */ + if (changed != 0) { + int anchor = -1; - case NONE: - case MIDDLE_MIDDLE: /* XXX What about these? */; + DBGP("%s", _(PACKAGE_NAME ": defining struts\n")); + fflush(stderr); + + switch (text_alignment.get(*state)) { + case TOP_LEFT: + anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP | + ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT; + break; + case TOP_RIGHT: + anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP | + ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; + break; + case TOP_MIDDLE: { + anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP; + break; + } + case BOTTOM_LEFT: + anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM | + ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT; + break; + case BOTTOM_RIGHT: + anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM | + ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; + break; + case BOTTOM_MIDDLE: { + anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM; + break; + } + case MIDDLE_LEFT: { + anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT; + break; + } + case MIDDLE_RIGHT: { + anchor = ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT; + break; } - if (anchor != -1) { - zwlr_layer_surface_v1_set_anchor(global_window->layer_surface, anchor); - zwlr_layer_surface_v1_set_margin(global_window->layer_surface, gap_y.get(*state), gap_x.get(*state), gap_y.get(*state), gap_x.get(*state)); - } + case NONE: + case MIDDLE_MIDDLE: /* XXX What about these? */; } + if (anchor != -1) { + zwlr_layer_surface_v1_set_anchor(global_window->layer_surface, anchor); + zwlr_layer_surface_v1_set_margin(global_window->layer_surface, + gap_y.get(*state), gap_x.get(*state), + gap_y.get(*state), gap_x.get(*state)); + } + } + clear_text(1); draw_stuff(); } @@ -638,50 +608,49 @@ bool display_output_wayland::main_loop_wait(double t) { #ifdef INPUT #ifdef X_EVENT - case ButtonPress: - if (own_window.get(*state)) { - /* if an ordinary window with decorations */ - if ((own_window_type.get(*state) == TYPE_NORMAL && - !TEST_HINT(own_window_hints.get(*state), HINT_UNDECORATED)) || - own_window_type.get(*state) == TYPE_DESKTOP) { - /* allow conky to hold input focus. */ - break; - } - /* forward the click to the desktop window */ - XUngrabPointer(display, ev.xbutton.time); - ev.xbutton.window = window.desktop; - ev.xbutton.x = ev.xbutton.x_root; - ev.xbutton.y = ev.xbutton.y_root; - XSendEvent(display, ev.xbutton.window, False, ButtonPressMask, &ev); - XSetInputFocus(display, ev.xbutton.window, RevertToParent, - ev.xbutton.time); - } + case ButtonPress: + if (own_window.get(*state)) { + /* if an ordinary window with decorations */ + if ((own_window_type.get(*state) == TYPE_NORMAL && + !TEST_HINT(own_window_hints.get(*state), HINT_UNDECORATED)) || + own_window_type.get(*state) == TYPE_DESKTOP) { + /* allow conky to hold input focus. */ break; + } + /* forward the click to the desktop window */ + XUngrabPointer(display, ev.xbutton.time); + ev.xbutton.window = window.desktop; + ev.xbutton.x = ev.xbutton.x_root; + ev.xbutton.y = ev.xbutton.y_root; + XSendEvent(display, ev.xbutton.window, False, ButtonPressMask, &ev); + XSetInputFocus(display, ev.xbutton.window, RevertToParent, + ev.xbutton.time); + } + break; - case ButtonRelease: - if (own_window.get(*state)) { - /* if an ordinary window with decorations */ - if ((own_window_type.get(*state) == TYPE_NORMAL) && - !TEST_HINT(own_window_hints.get(*state), HINT_UNDECORATED)) { - /* allow conky to hold input focus. */ - break; - } - /* forward the release to the desktop window */ - ev.xbutton.window = window.desktop; - ev.xbutton.x = ev.xbutton.x_root; - ev.xbutton.y = ev.xbutton.y_root; - XSendEvent(display, ev.xbutton.window, False, ButtonReleaseMask, &ev); - } + case ButtonRelease: + if (own_window.get(*state)) { + /* if an ordinary window with decorations */ + if ((own_window_type.get(*state) == TYPE_NORMAL) && + !TEST_HINT(own_window_hints.get(*state), HINT_UNDECORATED)) { + /* allow conky to hold input focus. */ break; + } + /* forward the release to the desktop window */ + ev.xbutton.window = window.desktop; + ev.xbutton.x = ev.xbutton.x_root; + ev.xbutton.y = ev.xbutton.y_root; + XSendEvent(display, ev.xbutton.window, False, ButtonReleaseMask, &ev); + } + break; #endif /*X_EVENT*/ #endif /*INPUT*/ - // handled - return true; + // handled + return true; } -void display_output_wayland::sigterm_cleanup() { -} +void display_output_wayland::sigterm_cleanup() {} void display_output_wayland::cleanup() { if (global_window != nullptr) { @@ -693,16 +662,17 @@ void display_output_wayland::cleanup() { void display_output_wayland::set_foreground_color(long c) { #ifdef BUILD_ARGB - current_color = (c & ~0xff) | own_window_argb_value.get(*state); + current_color = (c & ~0xff) | own_window_argb_value.get(*state); #else - current_color = c; + current_color = c; #endif /* BUILD_ARGB */ uint8_t r = current_color >> 24; uint8_t g = current_color >> 16; uint8_t b = current_color >> 8; uint8_t a = current_color; if (global_window->cr) { - cairo_set_source_rgba(global_window->cr, r / 255.0, g / 255.0, b / 255.0, a / 255.0); + cairo_set_source_rgba(global_window->cr, r / 255.0, g / 255.0, b / 255.0, + a / 255.0); } } @@ -711,12 +681,13 @@ int display_output_wayland::calc_text_width(const char *s) { size_t slen = strlen(s); pango_layout_set_text(window->layout, s, slen); PangoRectangle margin_rect; - pango_layout_set_font_description(window->layout, pango_fonts[selected_font].desc); + pango_layout_set_font_description(window->layout, + pango_fonts[selected_font].desc); pango_layout_get_pixel_extents(window->layout, nullptr, &margin_rect); return margin_rect.width; } -static void adjust_coords(int& x, int& y) { +static void adjust_coords(int &x, int &y) { x -= text_start_x; y -= text_start_y; int border = get_border_total(); @@ -724,7 +695,8 @@ static void adjust_coords(int& x, int& y) { y += border; } -void display_output_wayland::draw_string_at(int x, int y, const char *s, int w) { +void display_output_wayland::draw_string_at(int x, int y, const char *s, + int w) { struct window *window = global_window; y -= pango_fonts[selected_font].metrics.ascent; adjust_coords(x, y); @@ -734,7 +706,8 @@ void display_output_wayland::draw_string_at(int x, int y, const char *s, int w) uint8_t g = current_color >> 16; uint8_t b = current_color >> 8; unsigned int a = pango_fonts[selected_font].font_alpha; - cairo_set_source_rgba(global_window->cr, r / 255.0, g / 255.0, b / 255.0, a / 65535.); + cairo_set_source_rgba(global_window->cr, r / 255.0, g / 255.0, b / 255.0, + a / 65535.); cairo_move_to(window->cr, x, y); pango_cairo_show_layout(window->cr, window->layout); cairo_restore(window->cr); @@ -743,7 +716,7 @@ void display_output_wayland::draw_string_at(int x, int y, const char *s, int w) void display_output_wayland::set_line_style(int w, bool solid) { struct window *window = global_window; static double dashes[2] = {1.0, 1.0}; - if(solid) + if (solid) cairo_set_dash(window->cr, nullptr, 0, 0); else cairo_set_dash(window->cr, dashes, 2, 0); @@ -753,10 +726,8 @@ void display_output_wayland::set_line_style(int w, bool solid) { void display_output_wayland::set_dashes(char *s) { struct window *window = global_window; size_t len = strlen(s); - double* dashes = new double[len]; - for (size_t i = 0; i < len; i++) { - dashes[i] = s[i]; - } + double *dashes = new double[len]; + for (size_t i = 0; i < len; i++) { dashes[i] = s[i]; } cairo_set_dash(window->cr, dashes, len, 0); delete[] dashes; } @@ -797,7 +768,8 @@ void display_output_wayland::fill_rect(int x, int y, int w, int h) { do_rect(x, y, w, h, true); } -void display_output_wayland::draw_arc(int x, int y, int w, int h, int a1, int a2) { +void display_output_wayland::draw_arc(int x, int y, int w, int h, int a1, + int a2) { struct window *window = global_window; adjust_coords(x, y); cairo_save(window->cr); @@ -811,14 +783,12 @@ void display_output_wayland::draw_arc(int x, int y, int w, int h, int a1, int a2 } void display_output_wayland::move_win(int x, int y) { - //window.x = x; - //window.y = y; - //TODO + // window.x = x; + // window.y = y; + // TODO } -int display_output_wayland::dpi_scale(int value) { - return value; -} +int display_output_wayland::dpi_scale(int value) { return value; } void display_output_wayland::end_draw_stuff() { window_commit_buffer(global_window); @@ -826,7 +796,7 @@ void display_output_wayland::end_draw_stuff() { void display_output_wayland::clear_text(int exposures) { struct window *window = global_window; - cairo_save (window->cr); + cairo_save(window->cr); long color = 0; #ifdef OWN_WINDOW color = background_colour.get(*state); @@ -844,50 +814,46 @@ void display_output_wayland::clear_text(int exposures) { uint8_t g = color >> 16; uint8_t b = color >> 8; uint8_t a = color; - cairo_set_source_rgba (window->cr, r / 255.0, g / 255.0, b / 255.0, a / 255.); - cairo_set_operator (window->cr, CAIRO_OPERATOR_SOURCE); - cairo_paint (window->cr); - cairo_restore (window->cr); + cairo_set_source_rgba(window->cr, r / 255.0, g / 255.0, b / 255.0, a / 255.); + cairo_set_operator(window->cr, CAIRO_OPERATOR_SOURCE); + cairo_paint(window->cr); + cairo_restore(window->cr); } int display_output_wayland::font_height(unsigned int f) { - if (pango_fonts.size() == 0) { - return 2; - } + if (pango_fonts.size() == 0) { return 2; } assert(f < pango_fonts.size()); return pango_fonts[f].metrics.ascent + pango_fonts[f].metrics.descent; } int display_output_wayland::font_ascent(unsigned int f) { - if (pango_fonts.size() == 0) { - return 1; - } + if (pango_fonts.size() == 0) { return 1; } assert(f < pango_fonts.size()); return pango_fonts[f].metrics.ascent; } int display_output_wayland::font_descent(unsigned int f) { - if (pango_fonts.size() == 0) { - return 1; - } + if (pango_fonts.size() == 0) { return 1; } assert(f < pango_fonts.size()); return pango_fonts[f].metrics.descent; } -void display_output_wayland::setup_fonts(void) { - /* Nothing to do here */ -} +void display_output_wayland::setup_fonts(void) { /* Nothing to do here */ } void display_output_wayland::set_font(unsigned int f) { assert(f < pango_fonts.size()); if (pango_fonts.size() > f && pango_fonts[f].desc != nullptr) { - pango_layout_set_font_description(global_window->layout, pango_fonts[f].desc); + pango_layout_set_font_description(global_window->layout, + pango_fonts[f].desc); } } void display_output_wayland::free_fonts(bool utf8) { for (auto &font : pango_fonts) { - if (font.desc != nullptr) { pango_font_description_free(font.desc); font.desc = nullptr; } + if (font.desc != nullptr) { + pango_font_description_free(font.desc); + font.desc = nullptr; + } } pango_fonts.clear(); } @@ -898,18 +864,25 @@ void display_output_wayland::load_fonts(bool utf8) { for (unsigned int i = 0; i < fonts.size(); i++) { auto &font = fonts[i]; auto &pango_font_entry = pango_fonts[i]; - FcPattern* fc_pattern = FcNameParse(reinterpret_cast(font.name.c_str())); - pango_font_entry.desc = pango_fc_font_description_from_pattern(fc_pattern, true); + FcPattern *fc_pattern = + FcNameParse(reinterpret_cast(font.name.c_str())); + pango_font_entry.desc = + pango_fc_font_description_from_pattern(fc_pattern, true); - // Handle pixel size ourselves because pango_fc_font_description_from_pattern does not - double pixel_size = -1; - if (FcPatternGetDouble (fc_pattern, FC_PIXEL_SIZE, 0, &pixel_size) == FcResultMatch) { - pango_font_description_set_absolute_size(pango_font_entry.desc, pixel_size * PANGO_SCALE); - } + // Handle pixel size ourselves because + // pango_fc_font_description_from_pattern does not + double pixel_size = -1; + if (FcPatternGetDouble(fc_pattern, FC_PIXEL_SIZE, 0, &pixel_size) == + FcResultMatch) { + pango_font_description_set_absolute_size(pango_font_entry.desc, + pixel_size * PANGO_SCALE); + } FcPatternDestroy(fc_pattern); - PangoFont* pango_font = pango_context_load_font(global_window->pango_context, pango_font_entry.desc); - PangoFontMetrics* font_metrics = pango_font_get_metrics(pango_font, nullptr); + PangoFont *pango_font = pango_context_load_font( + global_window->pango_context, pango_font_entry.desc); + PangoFontMetrics *font_metrics = + pango_font_get_metrics(pango_font, nullptr); auto ascent = pango_font_metrics_get_ascent(font_metrics) / PANGO_SCALE; auto descent = pango_font_metrics_get_descent(font_metrics) / PANGO_SCALE; pango_font_metrics_unref(font_metrics); @@ -920,276 +893,248 @@ void display_output_wayland::load_fonts(bool utf8) { } } - struct shm_pool { - struct wl_shm_pool *pool; - size_t size; - size_t used; - void *data; + struct wl_shm_pool *pool; + size_t size; + size_t used; + void *data; }; struct shm_surface_data { - struct wl_buffer *buffer; - struct shm_pool *pool; + struct wl_buffer *buffer; + struct shm_pool *pool; }; static const cairo_user_data_key_t shm_surface_data_key = {0}; -struct wl_buffer * -get_buffer_from_cairo_surface(cairo_surface_t *surface) -{ - struct shm_surface_data *data; +struct wl_buffer *get_buffer_from_cairo_surface(cairo_surface_t *surface) { + struct shm_surface_data *data; - data = static_cast(cairo_surface_get_user_data(surface, &shm_surface_data_key)); + data = static_cast( + cairo_surface_get_user_data(surface, &shm_surface_data_key)); - return data->buffer; + return data->buffer; } -static void -shm_pool_destroy(struct shm_pool *pool); +static void shm_pool_destroy(struct shm_pool *pool); -static void -shm_surface_data_destroy(void *p) -{ - struct shm_surface_data *data = static_cast(p); - wl_buffer_destroy(data->buffer); - if (data->pool) - shm_pool_destroy(data->pool); +static void shm_surface_data_destroy(void *p) { + struct shm_surface_data *data = static_cast(p); + wl_buffer_destroy(data->buffer); + if (data->pool) shm_pool_destroy(data->pool); - delete data; + delete data; } -static struct wl_shm_pool * -make_shm_pool(struct wl_shm *shm, int size, void **data) -{ - struct wl_shm_pool *pool; - int fd; +static struct wl_shm_pool *make_shm_pool(struct wl_shm *shm, int size, + void **data) { + struct wl_shm_pool *pool; + int fd; - fd = os_create_anonymous_file(size); - if (fd < 0) { - fprintf(stderr, "creating a buffer file for %d B failed: %m\n", - size); - return NULL; - } + fd = os_create_anonymous_file(size); + if (fd < 0) { + fprintf(stderr, "creating a buffer file for %d B failed: %m\n", size); + return NULL; + } - *data = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); - if (*data == MAP_FAILED) { - fprintf(stderr, "mmap failed: %m\n"); - close(fd); - return NULL; - } + *data = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (*data == MAP_FAILED) { + fprintf(stderr, "mmap failed: %m\n"); + close(fd); + return NULL; + } - pool = wl_shm_create_pool(shm, fd, size); + pool = wl_shm_create_pool(shm, fd, size); - close(fd); + close(fd); - return pool; + return pool; } -static struct shm_pool * -shm_pool_create(struct wl_shm *shm, size_t size) -{ - struct shm_pool *pool = new struct shm_pool; +static struct shm_pool *shm_pool_create(struct wl_shm *shm, size_t size) { + struct shm_pool *pool = new struct shm_pool; - if (!pool) - return NULL; + if (!pool) return NULL; - pool->pool = make_shm_pool(shm, size, &pool->data); - if (!pool->pool) { - delete pool; - return NULL; - } + pool->pool = make_shm_pool(shm, size, &pool->data); + if (!pool->pool) { + delete pool; + return NULL; + } - pool->size = size; - pool->used = 0; + pool->size = size; + pool->used = 0; - return pool; + return pool; } -static void * -shm_pool_allocate(struct shm_pool *pool, size_t size, int *offset) -{ - if (pool->used + size > pool->size) - return NULL; +static void *shm_pool_allocate(struct shm_pool *pool, size_t size, + int *offset) { + if (pool->used + size > pool->size) return NULL; - *offset = pool->used; - pool->used += size; + *offset = pool->used; + pool->used += size; - return (char *) pool->data + *offset; + return (char *)pool->data + *offset; } /* destroy the pool. this does not unmap the memory though */ -static void -shm_pool_destroy(struct shm_pool *pool) -{ - munmap(pool->data, pool->size); - wl_shm_pool_destroy(pool->pool); - delete pool; +static void shm_pool_destroy(struct shm_pool *pool) { + munmap(pool->data, pool->size); + wl_shm_pool_destroy(pool->pool); + delete pool; } -static int -stride_for_shm_surface(struct rectangle *rect, int scale) { - return cairo_format_stride_for_width (CAIRO_FORMAT_ARGB32, rect->width * scale); +static int stride_for_shm_surface(struct rectangle *rect, int scale) { + return cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, + rect->width * scale); } -static int -data_length_for_shm_surface(struct rectangle *rect, int scale) { - int stride; +static int data_length_for_shm_surface(struct rectangle *rect, int scale) { + int stride; - stride = stride_for_shm_surface(rect, scale); - return stride * rect->height * scale; + stride = stride_for_shm_surface(rect, scale); + return stride * rect->height * scale; } -static cairo_surface_t * -create_shm_surface_from_pool(void *none, - struct rectangle *rectangle, - struct shm_pool *pool, - int scale) -{ - struct shm_surface_data *data; - uint32_t format; - cairo_surface_t *surface; - cairo_format_t cairo_format; - int stride, length, offset; - void *map; +static cairo_surface_t *create_shm_surface_from_pool( + void *none, struct rectangle *rectangle, struct shm_pool *pool, int scale) { + struct shm_surface_data *data; + uint32_t format; + cairo_surface_t *surface; + cairo_format_t cairo_format; + int stride, length, offset; + void *map; - data = new struct shm_surface_data; - if (data == NULL) - return NULL; + data = new struct shm_surface_data; + if (data == NULL) return NULL; - cairo_format = CAIRO_FORMAT_ARGB32; /*or CAIRO_FORMAT_RGB16_565 who knows??*/ + cairo_format = CAIRO_FORMAT_ARGB32; /*or CAIRO_FORMAT_RGB16_565 who knows??*/ - stride = stride_for_shm_surface (rectangle, scale); - length = data_length_for_shm_surface(rectangle, scale); - data->pool = NULL; - map = shm_pool_allocate(pool, length, &offset); + stride = stride_for_shm_surface(rectangle, scale); + length = data_length_for_shm_surface(rectangle, scale); + data->pool = NULL; + map = shm_pool_allocate(pool, length, &offset); - if (!map) { - delete data; - return NULL; - } + if (!map) { + delete data; + return NULL; + } - surface = cairo_image_surface_create_for_data (static_cast(map), - cairo_format, - rectangle->width * scale, - rectangle->height * scale, - stride); + surface = cairo_image_surface_create_for_data( + static_cast(map), cairo_format, rectangle->width * scale, + rectangle->height * scale, stride); - cairo_surface_set_user_data(surface, &shm_surface_data_key, - data, shm_surface_data_destroy); + cairo_surface_set_user_data(surface, &shm_surface_data_key, data, + shm_surface_data_destroy); - format = WL_SHM_FORMAT_ARGB8888; /*or WL_SHM_FORMAT_RGB565*/ - - data->buffer = wl_shm_pool_create_buffer(pool->pool, offset, - rectangle->width * scale, - rectangle->height * scale, - stride, format); + format = WL_SHM_FORMAT_ARGB8888; /*or WL_SHM_FORMAT_RGB565*/ - return surface; + data->buffer = + wl_shm_pool_create_buffer(pool->pool, offset, rectangle->width * scale, + rectangle->height * scale, stride, format); + + return surface; } -void -window_allocate_buffer(struct window *window) { - assert(window->shm != nullptr); - struct shm_pool *pool; - pool = shm_pool_create(window->shm, - data_length_for_shm_surface(&window->rectangle, window->scale)); - if (!pool) { - fprintf(stderr, "could not allocate shm pool\n"); - return; - } +void window_allocate_buffer(struct window *window) { + assert(window->shm != nullptr); + struct shm_pool *pool; + pool = shm_pool_create(window->shm, data_length_for_shm_surface( + &window->rectangle, window->scale)); + if (!pool) { + fprintf(stderr, "could not allocate shm pool\n"); + return; + } - window->cairo_surface = - create_shm_surface_from_pool(window->shm, &window->rectangle, pool, window->scale); - cairo_surface_set_device_scale(window->cairo_surface, window->scale, window->scale); + window->cairo_surface = create_shm_surface_from_pool( + window->shm, &window->rectangle, pool, window->scale); + cairo_surface_set_device_scale(window->cairo_surface, window->scale, + window->scale); - if (!window->cairo_surface) { - shm_pool_destroy(pool); - return; - } + if (!window->cairo_surface) { + shm_pool_destroy(pool); + return; + } - window->cr = cairo_create(window->cairo_surface); - window->layout = pango_cairo_create_layout(window->cr); - window->pango_context = pango_cairo_create_context(window->cr); + window->cr = cairo_create(window->cairo_surface); + window->layout = pango_cairo_create_layout(window->cr); + window->pango_context = pango_cairo_create_context(window->cr); - /* make sure we destroy the pool when the surface is destroyed */ - struct shm_surface_data *data; - data = static_cast(cairo_surface_get_user_data(window->cairo_surface, &shm_surface_data_key)); - data->pool = pool; + /* make sure we destroy the pool when the surface is destroyed */ + struct shm_surface_data *data; + data = static_cast(cairo_surface_get_user_data( + window->cairo_surface, &shm_surface_data_key)); + data->pool = pool; } -struct window * -window_create(struct wl_surface* surface, struct wl_shm* shm, int width, int height) { - struct window *window; - window = new struct window; +struct window *window_create(struct wl_surface *surface, struct wl_shm *shm, + int width, int height) { + struct window *window; + window = new struct window; - window->rectangle.x = 0; - window->rectangle.y = 0; - window->rectangle.width = width; - window->rectangle.height = height; - window->scale = 1; + window->rectangle.x = 0; + window->rectangle.y = 0; + window->rectangle.width = width; + window->rectangle.height = height; + window->scale = 1; - window->surface = surface; - window->shm = shm; + window->surface = surface; + window->shm = shm; - window->cairo_surface = nullptr; - window->cr = nullptr; - window->layout = nullptr; - window->pango_context = nullptr; + window->cairo_surface = nullptr; + window->cr = nullptr; + window->layout = nullptr; + window->pango_context = nullptr; - return window; + return window; } -void -window_free_buffer(struct window* window) { - cairo_surface_destroy(window->cairo_surface); - cairo_destroy(window->cr); - g_object_unref(window->layout); - g_object_unref(window->pango_context); - window->cairo_surface = nullptr; - window->cr = nullptr; - window->layout = nullptr; - window->pango_context = nullptr; +void window_free_buffer(struct window *window) { + cairo_surface_destroy(window->cairo_surface); + cairo_destroy(window->cr); + g_object_unref(window->layout); + g_object_unref(window->pango_context); + window->cairo_surface = nullptr; + window->cr = nullptr; + window->layout = nullptr; + window->pango_context = nullptr; } -void -window_destroy(struct window *window) { - window_free_buffer(window); - zwlr_layer_surface_v1_destroy(window->layer_surface); - wl_surface_attach(window->surface, nullptr, 0, 0); - wl_surface_commit(window->surface); - wl_display_roundtrip(global_display); - wl_surface_destroy(window->surface); - wl_shm_destroy(window->shm); - delete window; +void window_destroy(struct window *window) { + window_free_buffer(window); + zwlr_layer_surface_v1_destroy(window->layer_surface); + wl_surface_attach(window->surface, nullptr, 0, 0); + wl_surface_commit(window->surface); + wl_display_roundtrip(global_display); + wl_surface_destroy(window->surface); + wl_shm_destroy(window->shm); + delete window; } -void -window_resize(struct window *window, int width, int height) { - window_free_buffer(window); - window->rectangle.width = width; - window->rectangle.height = height; - window_allocate_buffer(window); - window_layer_surface_set_size(window); +void window_resize(struct window *window, int width, int height) { + window_free_buffer(window); + window->rectangle.width = width; + window->rectangle.height = height; + window_allocate_buffer(window); + window_layer_surface_set_size(window); } -void -window_commit_buffer(struct window *window) { - assert(window->cairo_surface != nullptr); - wl_surface_set_buffer_scale(global_window->surface, global_window->scale); - wl_surface_attach(window->surface, get_buffer_from_cairo_surface(window->cairo_surface), 0, 0); - /* repaint all the pixels in the surface, change size to only repaint changed area*/ - wl_surface_damage(window->surface, window->rectangle.x, - window->rectangle.y, - window->rectangle.width, - window->rectangle.height); - wl_surface_commit(window->surface); +void window_commit_buffer(struct window *window) { + assert(window->cairo_surface != nullptr); + wl_surface_set_buffer_scale(global_window->surface, global_window->scale); + wl_surface_attach(window->surface, + get_buffer_from_cairo_surface(window->cairo_surface), 0, 0); + /* repaint all the pixels in the surface, change size to only repaint changed + * area*/ + wl_surface_damage(window->surface, window->rectangle.x, window->rectangle.y, + window->rectangle.width, window->rectangle.height); + wl_surface_commit(window->surface); } -void -window_get_width_height(struct window *window, int *w, int *h) { - *w = window->rectangle.width; - *h = window->rectangle.height; +void window_get_width_height(struct window *window, int *w, int *h) { + *w = window->rectangle.width; + *h = window->rectangle.height; } #endif /* BUILD_WAYLAND */ diff --git a/src/display-wayland.hh b/src/display-wayland.hh index f29bd147..49529ede 100644 --- a/src/display-wayland.hh +++ b/src/display-wayland.hh @@ -59,7 +59,7 @@ class display_output_wayland : public display_output_base { virtual int calc_text_width(const char *); // GUI interface - virtual void draw_string_at(int, int, const char *, int ); + virtual void draw_string_at(int, int, const char *, int); // X11 lookalikes virtual void set_line_style(int, bool); virtual void set_dashes(char *); diff --git a/src/display-x11.cc b/src/display-x11.cc index a01edf5d..175fbdaa 100644 --- a/src/display-x11.cc +++ b/src/display-x11.cc @@ -49,9 +49,9 @@ #include "conky.h" #include "display-x11.hh" +#include "gui.h" #include "llua.h" #include "x11.h" -#include "gui.h" #ifdef BUILD_X11 #include "fonts.h" #endif @@ -140,9 +140,7 @@ struct _x11_stuff_s { } x11_stuff; static void X11_create_window() { - if (!window.window) { - return; - } + if (!window.window) { return; } setup_fonts(); load_fonts(utf8_mode.get(*state)); #ifdef BUILD_XFT @@ -225,8 +223,7 @@ bool display_output_x11::shutdown() { return false; } bool display_output_x11::main_loop_wait(double t) { /* wait for X event or timeout */ - if(!display || !window.gc) - return true; + if (!display || !window.gc) return true; if (XPending(display) == 0) { fd_set fdsr; diff --git a/src/fonts.cc b/src/fonts.cc index 74cbd17d..4703dfb5 100644 --- a/src/fonts.cc +++ b/src/fonts.cc @@ -28,8 +28,8 @@ */ #include "fonts.h" -#include "gui.h" #include "display-output.hh" +#include "gui.h" #include "logging.h" unsigned int selected_font = 0; @@ -86,16 +86,16 @@ void load_fonts(bool utf8) { } int font_height() { - //assert(selected_font < fonts.size()); + // assert(selected_font < fonts.size()); return display_output()->font_height(selected_font); } int font_ascent() { - //assert(selected_font < fonts.size()); + // assert(selected_font < fonts.size()); return display_output()->font_ascent(selected_font); } int font_descent() { - //assert(selected_font < fonts.size()); + // assert(selected_font < fonts.size()); return display_output()->font_descent(selected_font); } diff --git a/src/freebsd.cc b/src/freebsd.cc index 8f6175e0..c2d8e540 100644 --- a/src/freebsd.cc +++ b/src/freebsd.cc @@ -150,7 +150,7 @@ int check_mount(struct text_object *obj) { int update_meminfo(void) { u_int total_pages, inactive_pages, free_pages, wire_pages, active_pages, - bufferspace, laundry_pages; + bufferspace, laundry_pages; unsigned long swap_avail, swap_free; int pagesize = getpagesize(); diff --git a/src/gradient.cc b/src/gradient.cc index 316aee22..ef8611e3 100644 --- a/src/gradient.cc +++ b/src/gradient.cc @@ -31,8 +31,8 @@ #include "logging.h" #ifdef BUILD_X11 -#include "x11.h" #include "gui.h" +#include "x11.h" #endif /* BUILD_X11 */ namespace conky { diff --git a/src/gui.cc b/src/gui.cc index c271f093..ced7b655 100644 --- a/src/gui.cc +++ b/src/gui.cc @@ -27,11 +27,11 @@ * */ +#include "gui.h" #include "common.h" #include "config.h" #include "conky.h" #include "logging.h" -#include "gui.h" #include "wl.h" #ifdef BUILD_IMLIB2 @@ -63,7 +63,6 @@ void x11_init_window(lua::state &l, bool own); /********************* ************************/ - priv::colour_setting background_colour("own_window_colour", 0); bool out_to_gui(lua::state &l) { @@ -192,8 +191,8 @@ std::string gethostnamecxx() { /* * The order of these settings cannot be completely arbitrary. Some of them * depend on others, and the setters are called in the order in which they are - * defined. The order should be: x11_display_name -> out_to_x -> everything colour - * related + * defined. The order should be: x11_display_name -> out_to_x -> everything + * colour related * -> border_*, own_window_*, etc -> own_window -> * double_buffer -> imlib_cache_size */ diff --git a/src/imlib2.cc b/src/imlib2.cc index 2ede76b4..227a4957 100644 --- a/src/imlib2.cc +++ b/src/imlib2.cc @@ -70,8 +70,7 @@ void imlib_cache_size_setting::lua_setter(lua::state &l, bool init) { Base::lua_setter(l, init); - if (display == nullptr || window.visual == nullptr) - return; + if (display == nullptr || window.visual == nullptr) return; if (init && out_to_x.get(l)) { image_list_start = image_list_end = nullptr; diff --git a/src/linux.cc b/src/linux.cc index c26c847f..7eeb98d6 100644 --- a/src/linux.cc +++ b/src/linux.cc @@ -578,8 +578,7 @@ void update_net_interfaces(FILE *net_dev_fp, bool is_first_update, for (unsigned int k = 0; k < conf.ifc_len / sizeof(struct ifreq); k++) { struct net_stat *ns2; - ns2 = get_net_stat(conf.ifc_req[k].ifr_ifrn.ifrn_name, - nullptr, NULL); + ns2 = get_net_stat(conf.ifc_req[k].ifr_ifrn.ifrn_name, nullptr, NULL); ns2->addr = conf.ifc_req[k].ifr_ifru.ifru_addr; char temp_addr[18]; snprintf(temp_addr, sizeof(temp_addr), "%u.%u.%u.%u, ", diff --git a/src/nvidia.cc b/src/nvidia.cc index 73b904a3..68224bac 100644 --- a/src/nvidia.cc +++ b/src/nvidia.cc @@ -370,9 +370,7 @@ const int MAXNUMGPU = 64; namespace { // Deleter for nv display to use with std::unique_ptr -void close_nvdisplay(Display * dp) { - XCloseDisplay(dp); -} +void close_nvdisplay(Display *dp) { XCloseDisplay(dp); } using unique_display_t = std::unique_ptr; @@ -758,7 +756,7 @@ static int cache_nvidia_value(TARGET_ID tid, ATTR_ID aid, Display *dpy, static int get_nvidia_value(TARGET_ID tid, ATTR_ID aid, int gid, const char *arg) { auto nvdpy = nvidia_display.get_nvdisplay(); - Display * dpy = nvdpy ? nvdpy.get() : display; + Display *dpy = nvdpy ? nvdpy.get() : display; int value; // Check if the aid is cacheable @@ -789,7 +787,7 @@ static int get_nvidia_value(TARGET_ID tid, ATTR_ID aid, int gid, static char *get_nvidia_string(TARGET_ID tid, ATTR_ID aid, int gid, const char *arg) { auto nvdpy = nvidia_display.get_nvdisplay(); - Display * dpy = nvdpy ? nvdpy.get() : display; + Display *dpy = nvdpy ? nvdpy.get() : display; char *str; // Query nvidia interface @@ -962,7 +960,7 @@ void print_nvidia_value(struct text_object *obj, char *p, int error_base; auto nvdpy = nvidia_display.get_nvdisplay(); - Display * dpy = nvdpy ? nvdpy.get() : display; + Display *dpy = nvdpy ? nvdpy.get() : display; if (!dpy) { NORM_ERR("%s: no display set (try setting nvidia_display)", __func__); @@ -1066,7 +1064,7 @@ double get_nvidia_barval(struct text_object *obj) { int error_base; auto nvdpy = nvidia_display.get_nvdisplay(); - Display * dpy = nvdpy ? nvdpy.get() : display; + Display *dpy = nvdpy ? nvdpy.get() : display; if (!dpy) { NORM_ERR("%s: no display set (try setting nvidia_display)", __func__); diff --git a/src/specials.cc b/src/specials.cc index b6c11c15..d2ee561f 100644 --- a/src/specials.cc +++ b/src/specials.cc @@ -28,8 +28,8 @@ */ #include "conky.h" #ifdef BUILD_GUI -#include "gui.h" #include "fonts.h" +#include "gui.h" #endif /* BUILD_GUI */ #include #include "logging.h" diff --git a/src/top.cc b/src/top.cc index f0268966..56f6dc3a 100644 --- a/src/top.cc +++ b/src/top.cc @@ -99,9 +99,7 @@ static void unhash_all_processes() { } } -struct process *get_first_process() { - return first_process; -} +struct process *get_first_process() { return first_process; } void free_all_processes() { struct process *next = nullptr, *pr = first_process; diff --git a/src/wl.cc b/src/wl.cc index 1f4c5615..4c6f55fc 100644 --- a/src/wl.cc +++ b/src/wl.cc @@ -42,7 +42,7 @@ void out_to_wayland_setting::lua_setter(lua::state &l, bool init) { Base::lua_setter(l, init); if (init && do_convert(l, -1).first) { - //init + // init } ++s; @@ -52,7 +52,7 @@ void out_to_wayland_setting::cleanup(lua::state &l) { lua::stack_sentry s(l, -1); if (do_convert(l, -1).first) { - //deinit + // deinit } l.pop(); @@ -63,7 +63,8 @@ priv::out_to_wayland_setting out_to_wayland; static const char NOT_IN_WAYLAND[] = "Not running in Wayland"; -__attribute__((weak)) void print_monitor(struct text_object *obj, char *p, unsigned int p_max_size) { +__attribute__((weak)) void print_monitor(struct text_object *obj, char *p, + unsigned int p_max_size) { (void)obj; if (!out_to_wayland.get(*state)) { @@ -73,8 +74,9 @@ __attribute__((weak)) void print_monitor(struct text_object *obj, char *p, unsig snprintf(p, p_max_size, "%d", -1); } -__attribute__((weak)) void print_monitor_number(struct text_object *obj, char *p, - unsigned int p_max_size) { +__attribute__((weak)) void print_monitor_number(struct text_object *obj, + char *p, + unsigned int p_max_size) { (void)obj; if (!out_to_wayland.get(*state)) { @@ -84,7 +86,8 @@ __attribute__((weak)) void print_monitor_number(struct text_object *obj, char *p snprintf(p, p_max_size, "%d", -1); } -__attribute__((weak)) void print_desktop(struct text_object *obj, char *p, unsigned int p_max_size) { +__attribute__((weak)) void print_desktop(struct text_object *obj, char *p, + unsigned int p_max_size) { (void)obj; if (!out_to_wayland.get(*state)) { @@ -94,8 +97,9 @@ __attribute__((weak)) void print_desktop(struct text_object *obj, char *p, unsig snprintf(p, p_max_size, "%d", -1); } -__attribute__((weak)) void print_desktop_number(struct text_object *obj, char *p, - unsigned int p_max_size) { +__attribute__((weak)) void print_desktop_number(struct text_object *obj, + char *p, + unsigned int p_max_size) { (void)obj; if (!out_to_wayland.get(*state)) { @@ -106,7 +110,7 @@ __attribute__((weak)) void print_desktop_number(struct text_object *obj, char *p } __attribute__((weak)) void print_desktop_name(struct text_object *obj, char *p, - unsigned int p_max_size) { + unsigned int p_max_size) { (void)obj; if (!out_to_wayland.get(*state)) { diff --git a/src/x11-color.cc b/src/x11-color.cc index b8019bb1..fa2d45f3 100644 --- a/src/x11-color.cc +++ b/src/x11-color.cc @@ -27,13 +27,13 @@ Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. All Rights Reserved -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in +both that copyright notice and this permission notice appear in supporting documentation, and that the name of Digital not be used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. +software without specific, written prior permission. DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL @@ -49,10 +49,10 @@ SOFTWARE. #include typedef struct _builtinColor { - unsigned char red; - unsigned char green; - unsigned char blue; - unsigned short name; + unsigned char red; + unsigned char green; + unsigned char blue; + unsigned short name; } BuiltinColor; static const char BuiltinColorNames[] = { @@ -807,798 +807,790 @@ static const char BuiltinColorNames[] = { "yellow2\0" "yellow3\0" "yellow4\0" - "YellowGreen\0" -}; + "YellowGreen\0"}; static const BuiltinColor BuiltinColors[] = { - { 240, 248, 255, 0 }, /* alice blue */ - { 240, 248, 255, 11 }, /* AliceBlue */ - { 250, 235, 215, 21 }, /* antique white */ - { 250, 235, 215, 35 }, /* AntiqueWhite */ - { 255, 239, 219, 48 }, /* AntiqueWhite1 */ - { 238, 223, 204, 62 }, /* AntiqueWhite2 */ - { 205, 192, 176, 76 }, /* AntiqueWhite3 */ - { 139, 131, 120, 90 }, /* AntiqueWhite4 */ - { 127, 255, 212, 104 }, /* aquamarine */ - { 127, 255, 212, 115 }, /* aquamarine1 */ - { 118, 238, 198, 127 }, /* aquamarine2 */ - { 102, 205, 170, 139 }, /* aquamarine3 */ - { 69, 139, 116, 151 }, /* aquamarine4 */ - { 240, 255, 255, 163 }, /* azure */ - { 240, 255, 255, 169 }, /* azure1 */ - { 224, 238, 238, 176 }, /* azure2 */ - { 193, 205, 205, 183 }, /* azure3 */ - { 131, 139, 139, 190 }, /* azure4 */ - { 245, 245, 220, 197 }, /* beige */ - { 255, 228, 196, 203 }, /* bisque */ - { 255, 228, 196, 210 }, /* bisque1 */ - { 238, 213, 183, 218 }, /* bisque2 */ - { 205, 183, 158, 226 }, /* bisque3 */ - { 139, 125, 107, 234 }, /* bisque4 */ - { 0, 0, 0, 242 }, /* black */ - { 255, 235, 205, 248 }, /* blanched almond */ - { 255, 235, 205, 264 }, /* BlanchedAlmond */ - { 0, 0, 255, 279 }, /* blue */ - { 138, 43, 226, 284 }, /* blue violet */ - { 0, 0, 255, 296 }, /* blue1 */ - { 0, 0, 238, 302 }, /* blue2 */ - { 0, 0, 205, 308 }, /* blue3 */ - { 0, 0, 139, 314 }, /* blue4 */ - { 138, 43, 226, 320 }, /* BlueViolet */ - { 165, 42, 42, 331 }, /* brown */ - { 255, 64, 64, 337 }, /* brown1 */ - { 238, 59, 59, 344 }, /* brown2 */ - { 205, 51, 51, 351 }, /* brown3 */ - { 139, 35, 35, 358 }, /* brown4 */ - { 222, 184, 135, 365 }, /* burlywood */ - { 255, 211, 155, 375 }, /* burlywood1 */ - { 238, 197, 145, 386 }, /* burlywood2 */ - { 205, 170, 125, 397 }, /* burlywood3 */ - { 139, 115, 85, 408 }, /* burlywood4 */ - { 95, 158, 160, 419 }, /* cadet blue */ - { 95, 158, 160, 430 }, /* CadetBlue */ - { 152, 245, 255, 440 }, /* CadetBlue1 */ - { 142, 229, 238, 451 }, /* CadetBlue2 */ - { 122, 197, 205, 462 }, /* CadetBlue3 */ - { 83, 134, 139, 473 }, /* CadetBlue4 */ - { 127, 255, 0, 484 }, /* chartreuse */ - { 127, 255, 0, 495 }, /* chartreuse1 */ - { 118, 238, 0, 507 }, /* chartreuse2 */ - { 102, 205, 0, 519 }, /* chartreuse3 */ - { 69, 139, 0, 531 }, /* chartreuse4 */ - { 210, 105, 30, 543 }, /* chocolate */ - { 255, 127, 36, 553 }, /* chocolate1 */ - { 238, 118, 33, 564 }, /* chocolate2 */ - { 205, 102, 29, 575 }, /* chocolate3 */ - { 139, 69, 19, 586 }, /* chocolate4 */ - { 255, 127, 80, 597 }, /* coral */ - { 255, 114, 86, 603 }, /* coral1 */ - { 238, 106, 80, 610 }, /* coral2 */ - { 205, 91, 69, 617 }, /* coral3 */ - { 139, 62, 47, 624 }, /* coral4 */ - { 100, 149, 237, 631 }, /* cornflower blue */ - { 100, 149, 237, 647 }, /* CornflowerBlue */ - { 255, 248, 220, 662 }, /* cornsilk */ - { 255, 248, 220, 671 }, /* cornsilk1 */ - { 238, 232, 205, 681 }, /* cornsilk2 */ - { 205, 200, 177, 691 }, /* cornsilk3 */ - { 139, 136, 120, 701 }, /* cornsilk4 */ - { 0, 255, 255, 711 }, /* cyan */ - { 0, 255, 255, 716 }, /* cyan1 */ - { 0, 238, 238, 722 }, /* cyan2 */ - { 0, 205, 205, 728 }, /* cyan3 */ - { 0, 139, 139, 734 }, /* cyan4 */ - { 0, 0, 139, 740 }, /* dark blue */ - { 0, 139, 139, 750 }, /* dark cyan */ - { 184, 134, 11, 760 }, /* dark goldenrod */ - { 169, 169, 169, 775 }, /* dark gray */ - { 0, 100, 0, 785 }, /* dark green */ - { 169, 169, 169, 796 }, /* dark grey */ - { 189, 183, 107, 806 }, /* dark khaki */ - { 139, 0, 139, 817 }, /* dark magenta */ - { 85, 107, 47, 830 }, /* dark olive green */ - { 255, 140, 0, 847 }, /* dark orange */ - { 153, 50, 204, 859 }, /* dark orchid */ - { 139, 0, 0, 871 }, /* dark red */ - { 233, 150, 122, 880 }, /* dark salmon */ - { 143, 188, 143, 892 }, /* dark sea green */ - { 72, 61, 139, 907 }, /* dark slate blue */ - { 47, 79, 79, 923 }, /* dark slate gray */ - { 47, 79, 79, 939 }, /* dark slate grey */ - { 0, 206, 209, 955 }, /* dark turquoise */ - { 148, 0, 211, 970 }, /* dark violet */ - { 0, 0, 139, 982 }, /* DarkBlue */ - { 0, 139, 139, 991 }, /* DarkCyan */ - { 184, 134, 11, 1000 }, /* DarkGoldenrod */ - { 255, 185, 15, 1014 }, /* DarkGoldenrod1 */ - { 238, 173, 14, 1029 }, /* DarkGoldenrod2 */ - { 205, 149, 12, 1044 }, /* DarkGoldenrod3 */ - { 139, 101, 8, 1059 }, /* DarkGoldenrod4 */ - { 169, 169, 169, 1074 }, /* DarkGray */ - { 0, 100, 0, 1083 }, /* DarkGreen */ - { 169, 169, 169, 1093 }, /* DarkGrey */ - { 189, 183, 107, 1102 }, /* DarkKhaki */ - { 139, 0, 139, 1112 }, /* DarkMagenta */ - { 85, 107, 47, 1124 }, /* DarkOliveGreen */ - { 202, 255, 112, 1139 }, /* DarkOliveGreen1 */ - { 188, 238, 104, 1155 }, /* DarkOliveGreen2 */ - { 162, 205, 90, 1171 }, /* DarkOliveGreen3 */ - { 110, 139, 61, 1187 }, /* DarkOliveGreen4 */ - { 255, 140, 0, 1203 }, /* DarkOrange */ - { 255, 127, 0, 1214 }, /* DarkOrange1 */ - { 238, 118, 0, 1226 }, /* DarkOrange2 */ - { 205, 102, 0, 1238 }, /* DarkOrange3 */ - { 139, 69, 0, 1250 }, /* DarkOrange4 */ - { 153, 50, 204, 1262 }, /* DarkOrchid */ - { 191, 62, 255, 1273 }, /* DarkOrchid1 */ - { 178, 58, 238, 1285 }, /* DarkOrchid2 */ - { 154, 50, 205, 1297 }, /* DarkOrchid3 */ - { 104, 34, 139, 1309 }, /* DarkOrchid4 */ - { 139, 0, 0, 1321 }, /* DarkRed */ - { 233, 150, 122, 1329 }, /* DarkSalmon */ - { 143, 188, 143, 1340 }, /* DarkSeaGreen */ - { 193, 255, 193, 1353 }, /* DarkSeaGreen1 */ - { 180, 238, 180, 1367 }, /* DarkSeaGreen2 */ - { 155, 205, 155, 1381 }, /* DarkSeaGreen3 */ - { 105, 139, 105, 1395 }, /* DarkSeaGreen4 */ - { 72, 61, 139, 1409 }, /* DarkSlateBlue */ - { 47, 79, 79, 1423 }, /* DarkSlateGray */ - { 151, 255, 255, 1437 }, /* DarkSlateGray1 */ - { 141, 238, 238, 1452 }, /* DarkSlateGray2 */ - { 121, 205, 205, 1467 }, /* DarkSlateGray3 */ - { 82, 139, 139, 1482 }, /* DarkSlateGray4 */ - { 47, 79, 79, 1497 }, /* DarkSlateGrey */ - { 0, 206, 209, 1511 }, /* DarkTurquoise */ - { 148, 0, 211, 1525 }, /* DarkViolet */ - { 255, 20, 147, 1536 }, /* deep pink */ - { 0, 191, 255, 1546 }, /* deep sky blue */ - { 255, 20, 147, 1560 }, /* DeepPink */ - { 255, 20, 147, 1569 }, /* DeepPink1 */ - { 238, 18, 137, 1579 }, /* DeepPink2 */ - { 205, 16, 118, 1589 }, /* DeepPink3 */ - { 139, 10, 80, 1599 }, /* DeepPink4 */ - { 0, 191, 255, 1609 }, /* DeepSkyBlue */ - { 0, 191, 255, 1621 }, /* DeepSkyBlue1 */ - { 0, 178, 238, 1634 }, /* DeepSkyBlue2 */ - { 0, 154, 205, 1647 }, /* DeepSkyBlue3 */ - { 0, 104, 139, 1660 }, /* DeepSkyBlue4 */ - { 105, 105, 105, 1673 }, /* dim gray */ - { 105, 105, 105, 1682 }, /* dim grey */ - { 105, 105, 105, 1691 }, /* DimGray */ - { 105, 105, 105, 1699 }, /* DimGrey */ - { 30, 144, 255, 1707 }, /* dodger blue */ - { 30, 144, 255, 1719 }, /* DodgerBlue */ - { 30, 144, 255, 1730 }, /* DodgerBlue1 */ - { 28, 134, 238, 1742 }, /* DodgerBlue2 */ - { 24, 116, 205, 1754 }, /* DodgerBlue3 */ - { 16, 78, 139, 1766 }, /* DodgerBlue4 */ - { 178, 34, 34, 1778 }, /* firebrick */ - { 255, 48, 48, 1788 }, /* firebrick1 */ - { 238, 44, 44, 1799 }, /* firebrick2 */ - { 205, 38, 38, 1810 }, /* firebrick3 */ - { 139, 26, 26, 1821 }, /* firebrick4 */ - { 255, 250, 240, 1832 }, /* floral white */ - { 255, 250, 240, 1845 }, /* FloralWhite */ - { 34, 139, 34, 1857 }, /* forest green */ - { 34, 139, 34, 1870 }, /* ForestGreen */ - { 220, 220, 220, 1882 }, /* gainsboro */ - { 248, 248, 255, 1892 }, /* ghost white */ - { 248, 248, 255, 1904 }, /* GhostWhite */ - { 255, 215, 0, 1915 }, /* gold */ - { 255, 215, 0, 1920 }, /* gold1 */ - { 238, 201, 0, 1926 }, /* gold2 */ - { 205, 173, 0, 1932 }, /* gold3 */ - { 139, 117, 0, 1938 }, /* gold4 */ - { 218, 165, 32, 1944 }, /* goldenrod */ - { 255, 193, 37, 1954 }, /* goldenrod1 */ - { 238, 180, 34, 1965 }, /* goldenrod2 */ - { 205, 155, 29, 1976 }, /* goldenrod3 */ - { 139, 105, 20, 1987 }, /* goldenrod4 */ - { 190, 190, 190, 1998 }, /* gray */ - { 0, 0, 0, 2003 }, /* gray0 */ - { 3, 3, 3, 2009 }, /* gray1 */ - { 26, 26, 26, 2015 }, /* gray10 */ - { 255, 255, 255, 2022 }, /* gray100 */ - { 28, 28, 28, 2030 }, /* gray11 */ - { 31, 31, 31, 2037 }, /* gray12 */ - { 33, 33, 33, 2044 }, /* gray13 */ - { 36, 36, 36, 2051 }, /* gray14 */ - { 38, 38, 38, 2058 }, /* gray15 */ - { 41, 41, 41, 2065 }, /* gray16 */ - { 43, 43, 43, 2072 }, /* gray17 */ - { 46, 46, 46, 2079 }, /* gray18 */ - { 48, 48, 48, 2086 }, /* gray19 */ - { 5, 5, 5, 2093 }, /* gray2 */ - { 51, 51, 51, 2099 }, /* gray20 */ - { 54, 54, 54, 2106 }, /* gray21 */ - { 56, 56, 56, 2113 }, /* gray22 */ - { 59, 59, 59, 2120 }, /* gray23 */ - { 61, 61, 61, 2127 }, /* gray24 */ - { 64, 64, 64, 2134 }, /* gray25 */ - { 66, 66, 66, 2141 }, /* gray26 */ - { 69, 69, 69, 2148 }, /* gray27 */ - { 71, 71, 71, 2155 }, /* gray28 */ - { 74, 74, 74, 2162 }, /* gray29 */ - { 8, 8, 8, 2169 }, /* gray3 */ - { 77, 77, 77, 2175 }, /* gray30 */ - { 79, 79, 79, 2182 }, /* gray31 */ - { 82, 82, 82, 2189 }, /* gray32 */ - { 84, 84, 84, 2196 }, /* gray33 */ - { 87, 87, 87, 2203 }, /* gray34 */ - { 89, 89, 89, 2210 }, /* gray35 */ - { 92, 92, 92, 2217 }, /* gray36 */ - { 94, 94, 94, 2224 }, /* gray37 */ - { 97, 97, 97, 2231 }, /* gray38 */ - { 99, 99, 99, 2238 }, /* gray39 */ - { 10, 10, 10, 2245 }, /* gray4 */ - { 102, 102, 102, 2251 }, /* gray40 */ - { 105, 105, 105, 2258 }, /* gray41 */ - { 107, 107, 107, 2265 }, /* gray42 */ - { 110, 110, 110, 2272 }, /* gray43 */ - { 112, 112, 112, 2279 }, /* gray44 */ - { 115, 115, 115, 2286 }, /* gray45 */ - { 117, 117, 117, 2293 }, /* gray46 */ - { 120, 120, 120, 2300 }, /* gray47 */ - { 122, 122, 122, 2307 }, /* gray48 */ - { 125, 125, 125, 2314 }, /* gray49 */ - { 13, 13, 13, 2321 }, /* gray5 */ - { 127, 127, 127, 2327 }, /* gray50 */ - { 130, 130, 130, 2334 }, /* gray51 */ - { 133, 133, 133, 2341 }, /* gray52 */ - { 135, 135, 135, 2348 }, /* gray53 */ - { 138, 138, 138, 2355 }, /* gray54 */ - { 140, 140, 140, 2362 }, /* gray55 */ - { 143, 143, 143, 2369 }, /* gray56 */ - { 145, 145, 145, 2376 }, /* gray57 */ - { 148, 148, 148, 2383 }, /* gray58 */ - { 150, 150, 150, 2390 }, /* gray59 */ - { 15, 15, 15, 2397 }, /* gray6 */ - { 153, 153, 153, 2403 }, /* gray60 */ - { 156, 156, 156, 2410 }, /* gray61 */ - { 158, 158, 158, 2417 }, /* gray62 */ - { 161, 161, 161, 2424 }, /* gray63 */ - { 163, 163, 163, 2431 }, /* gray64 */ - { 166, 166, 166, 2438 }, /* gray65 */ - { 168, 168, 168, 2445 }, /* gray66 */ - { 171, 171, 171, 2452 }, /* gray67 */ - { 173, 173, 173, 2459 }, /* gray68 */ - { 176, 176, 176, 2466 }, /* gray69 */ - { 18, 18, 18, 2473 }, /* gray7 */ - { 179, 179, 179, 2479 }, /* gray70 */ - { 181, 181, 181, 2486 }, /* gray71 */ - { 184, 184, 184, 2493 }, /* gray72 */ - { 186, 186, 186, 2500 }, /* gray73 */ - { 189, 189, 189, 2507 }, /* gray74 */ - { 191, 191, 191, 2514 }, /* gray75 */ - { 194, 194, 194, 2521 }, /* gray76 */ - { 196, 196, 196, 2528 }, /* gray77 */ - { 199, 199, 199, 2535 }, /* gray78 */ - { 201, 201, 201, 2542 }, /* gray79 */ - { 20, 20, 20, 2549 }, /* gray8 */ - { 204, 204, 204, 2555 }, /* gray80 */ - { 207, 207, 207, 2562 }, /* gray81 */ - { 209, 209, 209, 2569 }, /* gray82 */ - { 212, 212, 212, 2576 }, /* gray83 */ - { 214, 214, 214, 2583 }, /* gray84 */ - { 217, 217, 217, 2590 }, /* gray85 */ - { 219, 219, 219, 2597 }, /* gray86 */ - { 222, 222, 222, 2604 }, /* gray87 */ - { 224, 224, 224, 2611 }, /* gray88 */ - { 227, 227, 227, 2618 }, /* gray89 */ - { 23, 23, 23, 2625 }, /* gray9 */ - { 229, 229, 229, 2631 }, /* gray90 */ - { 232, 232, 232, 2638 }, /* gray91 */ - { 235, 235, 235, 2645 }, /* gray92 */ - { 237, 237, 237, 2652 }, /* gray93 */ - { 240, 240, 240, 2659 }, /* gray94 */ - { 242, 242, 242, 2666 }, /* gray95 */ - { 245, 245, 245, 2673 }, /* gray96 */ - { 247, 247, 247, 2680 }, /* gray97 */ - { 250, 250, 250, 2687 }, /* gray98 */ - { 252, 252, 252, 2694 }, /* gray99 */ - { 0, 255, 0, 2701 }, /* green */ - { 173, 255, 47, 2707 }, /* green yellow */ - { 0, 255, 0, 2720 }, /* green1 */ - { 0, 238, 0, 2727 }, /* green2 */ - { 0, 205, 0, 2734 }, /* green3 */ - { 0, 139, 0, 2741 }, /* green4 */ - { 173, 255, 47, 2748 }, /* GreenYellow */ - { 190, 190, 190, 2760 }, /* grey */ - { 0, 0, 0, 2765 }, /* grey0 */ - { 3, 3, 3, 2771 }, /* grey1 */ - { 26, 26, 26, 2777 }, /* grey10 */ - { 255, 255, 255, 2784 }, /* grey100 */ - { 28, 28, 28, 2792 }, /* grey11 */ - { 31, 31, 31, 2799 }, /* grey12 */ - { 33, 33, 33, 2806 }, /* grey13 */ - { 36, 36, 36, 2813 }, /* grey14 */ - { 38, 38, 38, 2820 }, /* grey15 */ - { 41, 41, 41, 2827 }, /* grey16 */ - { 43, 43, 43, 2834 }, /* grey17 */ - { 46, 46, 46, 2841 }, /* grey18 */ - { 48, 48, 48, 2848 }, /* grey19 */ - { 5, 5, 5, 2855 }, /* grey2 */ - { 51, 51, 51, 2861 }, /* grey20 */ - { 54, 54, 54, 2868 }, /* grey21 */ - { 56, 56, 56, 2875 }, /* grey22 */ - { 59, 59, 59, 2882 }, /* grey23 */ - { 61, 61, 61, 2889 }, /* grey24 */ - { 64, 64, 64, 2896 }, /* grey25 */ - { 66, 66, 66, 2903 }, /* grey26 */ - { 69, 69, 69, 2910 }, /* grey27 */ - { 71, 71, 71, 2917 }, /* grey28 */ - { 74, 74, 74, 2924 }, /* grey29 */ - { 8, 8, 8, 2931 }, /* grey3 */ - { 77, 77, 77, 2937 }, /* grey30 */ - { 79, 79, 79, 2944 }, /* grey31 */ - { 82, 82, 82, 2951 }, /* grey32 */ - { 84, 84, 84, 2958 }, /* grey33 */ - { 87, 87, 87, 2965 }, /* grey34 */ - { 89, 89, 89, 2972 }, /* grey35 */ - { 92, 92, 92, 2979 }, /* grey36 */ - { 94, 94, 94, 2986 }, /* grey37 */ - { 97, 97, 97, 2993 }, /* grey38 */ - { 99, 99, 99, 3000 }, /* grey39 */ - { 10, 10, 10, 3007 }, /* grey4 */ - { 102, 102, 102, 3013 }, /* grey40 */ - { 105, 105, 105, 3020 }, /* grey41 */ - { 107, 107, 107, 3027 }, /* grey42 */ - { 110, 110, 110, 3034 }, /* grey43 */ - { 112, 112, 112, 3041 }, /* grey44 */ - { 115, 115, 115, 3048 }, /* grey45 */ - { 117, 117, 117, 3055 }, /* grey46 */ - { 120, 120, 120, 3062 }, /* grey47 */ - { 122, 122, 122, 3069 }, /* grey48 */ - { 125, 125, 125, 3076 }, /* grey49 */ - { 13, 13, 13, 3083 }, /* grey5 */ - { 127, 127, 127, 3089 }, /* grey50 */ - { 130, 130, 130, 3096 }, /* grey51 */ - { 133, 133, 133, 3103 }, /* grey52 */ - { 135, 135, 135, 3110 }, /* grey53 */ - { 138, 138, 138, 3117 }, /* grey54 */ - { 140, 140, 140, 3124 }, /* grey55 */ - { 143, 143, 143, 3131 }, /* grey56 */ - { 145, 145, 145, 3138 }, /* grey57 */ - { 148, 148, 148, 3145 }, /* grey58 */ - { 150, 150, 150, 3152 }, /* grey59 */ - { 15, 15, 15, 3159 }, /* grey6 */ - { 153, 153, 153, 3165 }, /* grey60 */ - { 156, 156, 156, 3172 }, /* grey61 */ - { 158, 158, 158, 3179 }, /* grey62 */ - { 161, 161, 161, 3186 }, /* grey63 */ - { 163, 163, 163, 3193 }, /* grey64 */ - { 166, 166, 166, 3200 }, /* grey65 */ - { 168, 168, 168, 3207 }, /* grey66 */ - { 171, 171, 171, 3214 }, /* grey67 */ - { 173, 173, 173, 3221 }, /* grey68 */ - { 176, 176, 176, 3228 }, /* grey69 */ - { 18, 18, 18, 3235 }, /* grey7 */ - { 179, 179, 179, 3241 }, /* grey70 */ - { 181, 181, 181, 3248 }, /* grey71 */ - { 184, 184, 184, 3255 }, /* grey72 */ - { 186, 186, 186, 3262 }, /* grey73 */ - { 189, 189, 189, 3269 }, /* grey74 */ - { 191, 191, 191, 3276 }, /* grey75 */ - { 194, 194, 194, 3283 }, /* grey76 */ - { 196, 196, 196, 3290 }, /* grey77 */ - { 199, 199, 199, 3297 }, /* grey78 */ - { 201, 201, 201, 3304 }, /* grey79 */ - { 20, 20, 20, 3311 }, /* grey8 */ - { 204, 204, 204, 3317 }, /* grey80 */ - { 207, 207, 207, 3324 }, /* grey81 */ - { 209, 209, 209, 3331 }, /* grey82 */ - { 212, 212, 212, 3338 }, /* grey83 */ - { 214, 214, 214, 3345 }, /* grey84 */ - { 217, 217, 217, 3352 }, /* grey85 */ - { 219, 219, 219, 3359 }, /* grey86 */ - { 222, 222, 222, 3366 }, /* grey87 */ - { 224, 224, 224, 3373 }, /* grey88 */ - { 227, 227, 227, 3380 }, /* grey89 */ - { 23, 23, 23, 3387 }, /* grey9 */ - { 229, 229, 229, 3393 }, /* grey90 */ - { 232, 232, 232, 3400 }, /* grey91 */ - { 235, 235, 235, 3407 }, /* grey92 */ - { 237, 237, 237, 3414 }, /* grey93 */ - { 240, 240, 240, 3421 }, /* grey94 */ - { 242, 242, 242, 3428 }, /* grey95 */ - { 245, 245, 245, 3435 }, /* grey96 */ - { 247, 247, 247, 3442 }, /* grey97 */ - { 250, 250, 250, 3449 }, /* grey98 */ - { 252, 252, 252, 3456 }, /* grey99 */ - { 240, 255, 240, 3463 }, /* honeydew */ - { 240, 255, 240, 3472 }, /* honeydew1 */ - { 224, 238, 224, 3482 }, /* honeydew2 */ - { 193, 205, 193, 3492 }, /* honeydew3 */ - { 131, 139, 131, 3502 }, /* honeydew4 */ - { 255, 105, 180, 3512 }, /* hot pink */ - { 255, 105, 180, 3521 }, /* HotPink */ - { 255, 110, 180, 3529 }, /* HotPink1 */ - { 238, 106, 167, 3538 }, /* HotPink2 */ - { 205, 96, 144, 3547 }, /* HotPink3 */ - { 139, 58, 98, 3556 }, /* HotPink4 */ - { 205, 92, 92, 3565 }, /* indian red */ - { 205, 92, 92, 3576 }, /* IndianRed */ - { 255, 106, 106, 3586 }, /* IndianRed1 */ - { 238, 99, 99, 3597 }, /* IndianRed2 */ - { 205, 85, 85, 3608 }, /* IndianRed3 */ - { 139, 58, 58, 3619 }, /* IndianRed4 */ - { 255, 255, 240, 3630 }, /* ivory */ - { 255, 255, 240, 3636 }, /* ivory1 */ - { 238, 238, 224, 3643 }, /* ivory2 */ - { 205, 205, 193, 3650 }, /* ivory3 */ - { 139, 139, 131, 3657 }, /* ivory4 */ - { 240, 230, 140, 3664 }, /* khaki */ - { 255, 246, 143, 3670 }, /* khaki1 */ - { 238, 230, 133, 3677 }, /* khaki2 */ - { 205, 198, 115, 3684 }, /* khaki3 */ - { 139, 134, 78, 3691 }, /* khaki4 */ - { 230, 230, 250, 3698 }, /* lavender */ - { 255, 240, 245, 3707 }, /* lavender blush */ - { 255, 240, 245, 3722 }, /* LavenderBlush */ - { 255, 240, 245, 3736 }, /* LavenderBlush1 */ - { 238, 224, 229, 3751 }, /* LavenderBlush2 */ - { 205, 193, 197, 3766 }, /* LavenderBlush3 */ - { 139, 131, 134, 3781 }, /* LavenderBlush4 */ - { 124, 252, 0, 3796 }, /* lawn green */ - { 124, 252, 0, 3807 }, /* LawnGreen */ - { 255, 250, 205, 3817 }, /* lemon chiffon */ - { 255, 250, 205, 3831 }, /* LemonChiffon */ - { 255, 250, 205, 3844 }, /* LemonChiffon1 */ - { 238, 233, 191, 3858 }, /* LemonChiffon2 */ - { 205, 201, 165, 3872 }, /* LemonChiffon3 */ - { 139, 137, 112, 3886 }, /* LemonChiffon4 */ - { 173, 216, 230, 3900 }, /* light blue */ - { 240, 128, 128, 3911 }, /* light coral */ - { 224, 255, 255, 3923 }, /* light cyan */ - { 238, 221, 130, 3934 }, /* light goldenrod */ - { 250, 250, 210, 3950 }, /* light goldenrod yellow */ - { 211, 211, 211, 3973 }, /* light gray */ - { 144, 238, 144, 3984 }, /* light green */ - { 211, 211, 211, 3996 }, /* light grey */ - { 255, 182, 193, 4007 }, /* light pink */ - { 255, 160, 122, 4018 }, /* light salmon */ - { 32, 178, 170, 4031 }, /* light sea green */ - { 135, 206, 250, 4047 }, /* light sky blue */ - { 132, 112, 255, 4062 }, /* light slate blue */ - { 119, 136, 153, 4079 }, /* light slate gray */ - { 119, 136, 153, 4096 }, /* light slate grey */ - { 176, 196, 222, 4113 }, /* light steel blue */ - { 255, 255, 224, 4130 }, /* light yellow */ - { 173, 216, 230, 4143 }, /* LightBlue */ - { 191, 239, 255, 4153 }, /* LightBlue1 */ - { 178, 223, 238, 4164 }, /* LightBlue2 */ - { 154, 192, 205, 4175 }, /* LightBlue3 */ - { 104, 131, 139, 4186 }, /* LightBlue4 */ - { 240, 128, 128, 4197 }, /* LightCoral */ - { 224, 255, 255, 4208 }, /* LightCyan */ - { 224, 255, 255, 4218 }, /* LightCyan1 */ - { 209, 238, 238, 4229 }, /* LightCyan2 */ - { 180, 205, 205, 4240 }, /* LightCyan3 */ - { 122, 139, 139, 4251 }, /* LightCyan4 */ - { 238, 221, 130, 4262 }, /* LightGoldenrod */ - { 255, 236, 139, 4277 }, /* LightGoldenrod1 */ - { 238, 220, 130, 4293 }, /* LightGoldenrod2 */ - { 205, 190, 112, 4309 }, /* LightGoldenrod3 */ - { 139, 129, 76, 4325 }, /* LightGoldenrod4 */ - { 250, 250, 210, 4341 }, /* LightGoldenrodYellow */ - { 211, 211, 211, 4362 }, /* LightGray */ - { 144, 238, 144, 4372 }, /* LightGreen */ - { 211, 211, 211, 4383 }, /* LightGrey */ - { 255, 182, 193, 4393 }, /* LightPink */ - { 255, 174, 185, 4403 }, /* LightPink1 */ - { 238, 162, 173, 4414 }, /* LightPink2 */ - { 205, 140, 149, 4425 }, /* LightPink3 */ - { 139, 95, 101, 4436 }, /* LightPink4 */ - { 255, 160, 122, 4447 }, /* LightSalmon */ - { 255, 160, 122, 4459 }, /* LightSalmon1 */ - { 238, 149, 114, 4472 }, /* LightSalmon2 */ - { 205, 129, 98, 4485 }, /* LightSalmon3 */ - { 139, 87, 66, 4498 }, /* LightSalmon4 */ - { 32, 178, 170, 4511 }, /* LightSeaGreen */ - { 135, 206, 250, 4525 }, /* LightSkyBlue */ - { 176, 226, 255, 4538 }, /* LightSkyBlue1 */ - { 164, 211, 238, 4552 }, /* LightSkyBlue2 */ - { 141, 182, 205, 4566 }, /* LightSkyBlue3 */ - { 96, 123, 139, 4580 }, /* LightSkyBlue4 */ - { 132, 112, 255, 4594 }, /* LightSlateBlue */ - { 119, 136, 153, 4609 }, /* LightSlateGray */ - { 119, 136, 153, 4624 }, /* LightSlateGrey */ - { 176, 196, 222, 4639 }, /* LightSteelBlue */ - { 202, 225, 255, 4654 }, /* LightSteelBlue1 */ - { 188, 210, 238, 4670 }, /* LightSteelBlue2 */ - { 162, 181, 205, 4686 }, /* LightSteelBlue3 */ - { 110, 123, 139, 4702 }, /* LightSteelBlue4 */ - { 255, 255, 224, 4718 }, /* LightYellow */ - { 255, 255, 224, 4730 }, /* LightYellow1 */ - { 238, 238, 209, 4743 }, /* LightYellow2 */ - { 205, 205, 180, 4756 }, /* LightYellow3 */ - { 139, 139, 122, 4769 }, /* LightYellow4 */ - { 50, 205, 50, 4782 }, /* lime green */ - { 50, 205, 50, 4793 }, /* LimeGreen */ - { 250, 240, 230, 4803 }, /* linen */ - { 255, 0, 255, 4809 }, /* magenta */ - { 255, 0, 255, 4817 }, /* magenta1 */ - { 238, 0, 238, 4826 }, /* magenta2 */ - { 205, 0, 205, 4835 }, /* magenta3 */ - { 139, 0, 139, 4844 }, /* magenta4 */ - { 176, 48, 96, 4853 }, /* maroon */ - { 255, 52, 179, 4860 }, /* maroon1 */ - { 238, 48, 167, 4868 }, /* maroon2 */ - { 205, 41, 144, 4876 }, /* maroon3 */ - { 139, 28, 98, 4884 }, /* maroon4 */ - { 102, 205, 170, 4892 }, /* medium aquamarine */ - { 0, 0, 205, 4910 }, /* medium blue */ - { 186, 85, 211, 4922 }, /* medium orchid */ - { 147, 112, 219, 4936 }, /* medium purple */ - { 60, 179, 113, 4950 }, /* medium sea green */ - { 123, 104, 238, 4967 }, /* medium slate blue */ - { 0, 250, 154, 4985 }, /* medium spring green */ - { 72, 209, 204, 5005 }, /* medium turquoise */ - { 199, 21, 133, 5022 }, /* medium violet red */ - { 102, 205, 170, 5040 }, /* MediumAquamarine */ - { 0, 0, 205, 5057 }, /* MediumBlue */ - { 186, 85, 211, 5068 }, /* MediumOrchid */ - { 224, 102, 255, 5081 }, /* MediumOrchid1 */ - { 209, 95, 238, 5095 }, /* MediumOrchid2 */ - { 180, 82, 205, 5109 }, /* MediumOrchid3 */ - { 122, 55, 139, 5123 }, /* MediumOrchid4 */ - { 147, 112, 219, 5137 }, /* MediumPurple */ - { 171, 130, 255, 5150 }, /* MediumPurple1 */ - { 159, 121, 238, 5164 }, /* MediumPurple2 */ - { 137, 104, 205, 5178 }, /* MediumPurple3 */ - { 93, 71, 139, 5192 }, /* MediumPurple4 */ - { 60, 179, 113, 5206 }, /* MediumSeaGreen */ - { 123, 104, 238, 5221 }, /* MediumSlateBlue */ - { 0, 250, 154, 5237 }, /* MediumSpringGreen */ - { 72, 209, 204, 5255 }, /* MediumTurquoise */ - { 199, 21, 133, 5271 }, /* MediumVioletRed */ - { 25, 25, 112, 5287 }, /* midnight blue */ - { 25, 25, 112, 5301 }, /* MidnightBlue */ - { 245, 255, 250, 5314 }, /* mint cream */ - { 245, 255, 250, 5325 }, /* MintCream */ - { 255, 228, 225, 5335 }, /* misty rose */ - { 255, 228, 225, 5346 }, /* MistyRose */ - { 255, 228, 225, 5356 }, /* MistyRose1 */ - { 238, 213, 210, 5367 }, /* MistyRose2 */ - { 205, 183, 181, 5378 }, /* MistyRose3 */ - { 139, 125, 123, 5389 }, /* MistyRose4 */ - { 255, 228, 181, 5400 }, /* moccasin */ - { 255, 222, 173, 5409 }, /* navajo white */ - { 255, 222, 173, 5422 }, /* NavajoWhite */ - { 255, 222, 173, 5434 }, /* NavajoWhite1 */ - { 238, 207, 161, 5447 }, /* NavajoWhite2 */ - { 205, 179, 139, 5460 }, /* NavajoWhite3 */ - { 139, 121, 94, 5473 }, /* NavajoWhite4 */ - { 0, 0, 128, 5486 }, /* navy */ - { 0, 0, 128, 5491 }, /* navy blue */ - { 0, 0, 128, 5501 }, /* NavyBlue */ - { 253, 245, 230, 5510 }, /* old lace */ - { 253, 245, 230, 5519 }, /* OldLace */ - { 107, 142, 35, 5527 }, /* olive drab */ - { 107, 142, 35, 5538 }, /* OliveDrab */ - { 192, 255, 62, 5548 }, /* OliveDrab1 */ - { 179, 238, 58, 5559 }, /* OliveDrab2 */ - { 154, 205, 50, 5570 }, /* OliveDrab3 */ - { 105, 139, 34, 5581 }, /* OliveDrab4 */ - { 255, 165, 0, 5592 }, /* orange */ - { 255, 69, 0, 5599 }, /* orange red */ - { 255, 165, 0, 5610 }, /* orange1 */ - { 238, 154, 0, 5618 }, /* orange2 */ - { 205, 133, 0, 5626 }, /* orange3 */ - { 139, 90, 0, 5634 }, /* orange4 */ - { 255, 69, 0, 5642 }, /* OrangeRed */ - { 255, 69, 0, 5652 }, /* OrangeRed1 */ - { 238, 64, 0, 5663 }, /* OrangeRed2 */ - { 205, 55, 0, 5674 }, /* OrangeRed3 */ - { 139, 37, 0, 5685 }, /* OrangeRed4 */ - { 218, 112, 214, 5696 }, /* orchid */ - { 255, 131, 250, 5703 }, /* orchid1 */ - { 238, 122, 233, 5711 }, /* orchid2 */ - { 205, 105, 201, 5719 }, /* orchid3 */ - { 139, 71, 137, 5727 }, /* orchid4 */ - { 238, 232, 170, 5735 }, /* pale goldenrod */ - { 152, 251, 152, 5750 }, /* pale green */ - { 175, 238, 238, 5761 }, /* pale turquoise */ - { 219, 112, 147, 5776 }, /* pale violet red */ - { 238, 232, 170, 5792 }, /* PaleGoldenrod */ - { 152, 251, 152, 5806 }, /* PaleGreen */ - { 154, 255, 154, 5816 }, /* PaleGreen1 */ - { 144, 238, 144, 5827 }, /* PaleGreen2 */ - { 124, 205, 124, 5838 }, /* PaleGreen3 */ - { 84, 139, 84, 5849 }, /* PaleGreen4 */ - { 175, 238, 238, 5860 }, /* PaleTurquoise */ - { 187, 255, 255, 5874 }, /* PaleTurquoise1 */ - { 174, 238, 238, 5889 }, /* PaleTurquoise2 */ - { 150, 205, 205, 5904 }, /* PaleTurquoise3 */ - { 102, 139, 139, 5919 }, /* PaleTurquoise4 */ - { 219, 112, 147, 5934 }, /* PaleVioletRed */ - { 255, 130, 171, 5948 }, /* PaleVioletRed1 */ - { 238, 121, 159, 5963 }, /* PaleVioletRed2 */ - { 205, 104, 137, 5978 }, /* PaleVioletRed3 */ - { 139, 71, 93, 5993 }, /* PaleVioletRed4 */ - { 255, 239, 213, 6008 }, /* papaya whip */ - { 255, 239, 213, 6020 }, /* PapayaWhip */ - { 255, 218, 185, 6031 }, /* peach puff */ - { 255, 218, 185, 6042 }, /* PeachPuff */ - { 255, 218, 185, 6052 }, /* PeachPuff1 */ - { 238, 203, 173, 6063 }, /* PeachPuff2 */ - { 205, 175, 149, 6074 }, /* PeachPuff3 */ - { 139, 119, 101, 6085 }, /* PeachPuff4 */ - { 205, 133, 63, 6096 }, /* peru */ - { 255, 192, 203, 6101 }, /* pink */ - { 255, 181, 197, 6106 }, /* pink1 */ - { 238, 169, 184, 6112 }, /* pink2 */ - { 205, 145, 158, 6118 }, /* pink3 */ - { 139, 99, 108, 6124 }, /* pink4 */ - { 221, 160, 221, 6130 }, /* plum */ - { 255, 187, 255, 6135 }, /* plum1 */ - { 238, 174, 238, 6141 }, /* plum2 */ - { 205, 150, 205, 6147 }, /* plum3 */ - { 139, 102, 139, 6153 }, /* plum4 */ - { 176, 224, 230, 6159 }, /* powder blue */ - { 176, 224, 230, 6171 }, /* PowderBlue */ - { 160, 32, 240, 6182 }, /* purple */ - { 155, 48, 255, 6189 }, /* purple1 */ - { 145, 44, 238, 6197 }, /* purple2 */ - { 125, 38, 205, 6205 }, /* purple3 */ - { 85, 26, 139, 6213 }, /* purple4 */ - { 255, 0, 0, 6221 }, /* red */ - { 255, 0, 0, 6225 }, /* red1 */ - { 238, 0, 0, 6230 }, /* red2 */ - { 205, 0, 0, 6235 }, /* red3 */ - { 139, 0, 0, 6240 }, /* red4 */ - { 188, 143, 143, 6245 }, /* rosy brown */ - { 188, 143, 143, 6256 }, /* RosyBrown */ - { 255, 193, 193, 6266 }, /* RosyBrown1 */ - { 238, 180, 180, 6277 }, /* RosyBrown2 */ - { 205, 155, 155, 6288 }, /* RosyBrown3 */ - { 139, 105, 105, 6299 }, /* RosyBrown4 */ - { 65, 105, 225, 6310 }, /* royal blue */ - { 65, 105, 225, 6321 }, /* RoyalBlue */ - { 72, 118, 255, 6331 }, /* RoyalBlue1 */ - { 67, 110, 238, 6342 }, /* RoyalBlue2 */ - { 58, 95, 205, 6353 }, /* RoyalBlue3 */ - { 39, 64, 139, 6364 }, /* RoyalBlue4 */ - { 139, 69, 19, 6375 }, /* saddle brown */ - { 139, 69, 19, 6388 }, /* SaddleBrown */ - { 250, 128, 114, 6400 }, /* salmon */ - { 255, 140, 105, 6407 }, /* salmon1 */ - { 238, 130, 98, 6415 }, /* salmon2 */ - { 205, 112, 84, 6423 }, /* salmon3 */ - { 139, 76, 57, 6431 }, /* salmon4 */ - { 244, 164, 96, 6439 }, /* sandy brown */ - { 244, 164, 96, 6451 }, /* SandyBrown */ - { 46, 139, 87, 6462 }, /* sea green */ - { 46, 139, 87, 6472 }, /* SeaGreen */ - { 84, 255, 159, 6481 }, /* SeaGreen1 */ - { 78, 238, 148, 6491 }, /* SeaGreen2 */ - { 67, 205, 128, 6501 }, /* SeaGreen3 */ - { 46, 139, 87, 6511 }, /* SeaGreen4 */ - { 255, 245, 238, 6521 }, /* seashell */ - { 255, 245, 238, 6530 }, /* seashell1 */ - { 238, 229, 222, 6540 }, /* seashell2 */ - { 205, 197, 191, 6550 }, /* seashell3 */ - { 139, 134, 130, 6560 }, /* seashell4 */ - { 160, 82, 45, 6570 }, /* sienna */ - { 255, 130, 71, 6577 }, /* sienna1 */ - { 238, 121, 66, 6585 }, /* sienna2 */ - { 205, 104, 57, 6593 }, /* sienna3 */ - { 139, 71, 38, 6601 }, /* sienna4 */ - { 135, 206, 235, 6609 }, /* sky blue */ - { 135, 206, 235, 6618 }, /* SkyBlue */ - { 135, 206, 255, 6626 }, /* SkyBlue1 */ - { 126, 192, 238, 6635 }, /* SkyBlue2 */ - { 108, 166, 205, 6644 }, /* SkyBlue3 */ - { 74, 112, 139, 6653 }, /* SkyBlue4 */ - { 106, 90, 205, 6662 }, /* slate blue */ - { 112, 128, 144, 6673 }, /* slate gray */ - { 112, 128, 144, 6684 }, /* slate grey */ - { 106, 90, 205, 6695 }, /* SlateBlue */ - { 131, 111, 255, 6705 }, /* SlateBlue1 */ - { 122, 103, 238, 6716 }, /* SlateBlue2 */ - { 105, 89, 205, 6727 }, /* SlateBlue3 */ - { 71, 60, 139, 6738 }, /* SlateBlue4 */ - { 112, 128, 144, 6749 }, /* SlateGray */ - { 198, 226, 255, 6759 }, /* SlateGray1 */ - { 185, 211, 238, 6770 }, /* SlateGray2 */ - { 159, 182, 205, 6781 }, /* SlateGray3 */ - { 108, 123, 139, 6792 }, /* SlateGray4 */ - { 112, 128, 144, 6803 }, /* SlateGrey */ - { 255, 250, 250, 6813 }, /* snow */ - { 255, 250, 250, 6818 }, /* snow1 */ - { 238, 233, 233, 6824 }, /* snow2 */ - { 205, 201, 201, 6830 }, /* snow3 */ - { 139, 137, 137, 6836 }, /* snow4 */ - { 0, 255, 127, 6842 }, /* spring green */ - { 0, 255, 127, 6855 }, /* SpringGreen */ - { 0, 255, 127, 6867 }, /* SpringGreen1 */ - { 0, 238, 118, 6880 }, /* SpringGreen2 */ - { 0, 205, 102, 6893 }, /* SpringGreen3 */ - { 0, 139, 69, 6906 }, /* SpringGreen4 */ - { 70, 130, 180, 6919 }, /* steel blue */ - { 70, 130, 180, 6930 }, /* SteelBlue */ - { 99, 184, 255, 6940 }, /* SteelBlue1 */ - { 92, 172, 238, 6951 }, /* SteelBlue2 */ - { 79, 148, 205, 6962 }, /* SteelBlue3 */ - { 54, 100, 139, 6973 }, /* SteelBlue4 */ - { 210, 180, 140, 6984 }, /* tan */ - { 255, 165, 79, 6988 }, /* tan1 */ - { 238, 154, 73, 6993 }, /* tan2 */ - { 205, 133, 63, 6998 }, /* tan3 */ - { 139, 90, 43, 7003 }, /* tan4 */ - { 216, 191, 216, 7008 }, /* thistle */ - { 255, 225, 255, 7016 }, /* thistle1 */ - { 238, 210, 238, 7025 }, /* thistle2 */ - { 205, 181, 205, 7034 }, /* thistle3 */ - { 139, 123, 139, 7043 }, /* thistle4 */ - { 255, 99, 71, 7052 }, /* tomato */ - { 255, 99, 71, 7059 }, /* tomato1 */ - { 238, 92, 66, 7067 }, /* tomato2 */ - { 205, 79, 57, 7075 }, /* tomato3 */ - { 139, 54, 38, 7083 }, /* tomato4 */ - { 64, 224, 208, 7091 }, /* turquoise */ - { 0, 245, 255, 7101 }, /* turquoise1 */ - { 0, 229, 238, 7112 }, /* turquoise2 */ - { 0, 197, 205, 7123 }, /* turquoise3 */ - { 0, 134, 139, 7134 }, /* turquoise4 */ - { 238, 130, 238, 7145 }, /* violet */ - { 208, 32, 144, 7152 }, /* violet red */ - { 208, 32, 144, 7163 }, /* VioletRed */ - { 255, 62, 150, 7173 }, /* VioletRed1 */ - { 238, 58, 140, 7184 }, /* VioletRed2 */ - { 205, 50, 120, 7195 }, /* VioletRed3 */ - { 139, 34, 82, 7206 }, /* VioletRed4 */ - { 245, 222, 179, 7217 }, /* wheat */ - { 255, 231, 186, 7223 }, /* wheat1 */ - { 238, 216, 174, 7230 }, /* wheat2 */ - { 205, 186, 150, 7237 }, /* wheat3 */ - { 139, 126, 102, 7244 }, /* wheat4 */ - { 255, 255, 255, 7251 }, /* white */ - { 245, 245, 245, 7257 }, /* white smoke */ - { 245, 245, 245, 7269 }, /* WhiteSmoke */ - { 255, 255, 0, 7280 }, /* yellow */ - { 154, 205, 50, 7287 }, /* yellow green */ - { 255, 255, 0, 7300 }, /* yellow1 */ - { 238, 238, 0, 7308 }, /* yellow2 */ - { 205, 205, 0, 7316 }, /* yellow3 */ - { 139, 139, 0, 7324 }, /* yellow4 */ - { 154, 205, 50, 7332 }, /* YellowGreen */ + {240, 248, 255, 0}, /* alice blue */ + {240, 248, 255, 11}, /* AliceBlue */ + {250, 235, 215, 21}, /* antique white */ + {250, 235, 215, 35}, /* AntiqueWhite */ + {255, 239, 219, 48}, /* AntiqueWhite1 */ + {238, 223, 204, 62}, /* AntiqueWhite2 */ + {205, 192, 176, 76}, /* AntiqueWhite3 */ + {139, 131, 120, 90}, /* AntiqueWhite4 */ + {127, 255, 212, 104}, /* aquamarine */ + {127, 255, 212, 115}, /* aquamarine1 */ + {118, 238, 198, 127}, /* aquamarine2 */ + {102, 205, 170, 139}, /* aquamarine3 */ + {69, 139, 116, 151}, /* aquamarine4 */ + {240, 255, 255, 163}, /* azure */ + {240, 255, 255, 169}, /* azure1 */ + {224, 238, 238, 176}, /* azure2 */ + {193, 205, 205, 183}, /* azure3 */ + {131, 139, 139, 190}, /* azure4 */ + {245, 245, 220, 197}, /* beige */ + {255, 228, 196, 203}, /* bisque */ + {255, 228, 196, 210}, /* bisque1 */ + {238, 213, 183, 218}, /* bisque2 */ + {205, 183, 158, 226}, /* bisque3 */ + {139, 125, 107, 234}, /* bisque4 */ + {0, 0, 0, 242}, /* black */ + {255, 235, 205, 248}, /* blanched almond */ + {255, 235, 205, 264}, /* BlanchedAlmond */ + {0, 0, 255, 279}, /* blue */ + {138, 43, 226, 284}, /* blue violet */ + {0, 0, 255, 296}, /* blue1 */ + {0, 0, 238, 302}, /* blue2 */ + {0, 0, 205, 308}, /* blue3 */ + {0, 0, 139, 314}, /* blue4 */ + {138, 43, 226, 320}, /* BlueViolet */ + {165, 42, 42, 331}, /* brown */ + {255, 64, 64, 337}, /* brown1 */ + {238, 59, 59, 344}, /* brown2 */ + {205, 51, 51, 351}, /* brown3 */ + {139, 35, 35, 358}, /* brown4 */ + {222, 184, 135, 365}, /* burlywood */ + {255, 211, 155, 375}, /* burlywood1 */ + {238, 197, 145, 386}, /* burlywood2 */ + {205, 170, 125, 397}, /* burlywood3 */ + {139, 115, 85, 408}, /* burlywood4 */ + {95, 158, 160, 419}, /* cadet blue */ + {95, 158, 160, 430}, /* CadetBlue */ + {152, 245, 255, 440}, /* CadetBlue1 */ + {142, 229, 238, 451}, /* CadetBlue2 */ + {122, 197, 205, 462}, /* CadetBlue3 */ + {83, 134, 139, 473}, /* CadetBlue4 */ + {127, 255, 0, 484}, /* chartreuse */ + {127, 255, 0, 495}, /* chartreuse1 */ + {118, 238, 0, 507}, /* chartreuse2 */ + {102, 205, 0, 519}, /* chartreuse3 */ + {69, 139, 0, 531}, /* chartreuse4 */ + {210, 105, 30, 543}, /* chocolate */ + {255, 127, 36, 553}, /* chocolate1 */ + {238, 118, 33, 564}, /* chocolate2 */ + {205, 102, 29, 575}, /* chocolate3 */ + {139, 69, 19, 586}, /* chocolate4 */ + {255, 127, 80, 597}, /* coral */ + {255, 114, 86, 603}, /* coral1 */ + {238, 106, 80, 610}, /* coral2 */ + {205, 91, 69, 617}, /* coral3 */ + {139, 62, 47, 624}, /* coral4 */ + {100, 149, 237, 631}, /* cornflower blue */ + {100, 149, 237, 647}, /* CornflowerBlue */ + {255, 248, 220, 662}, /* cornsilk */ + {255, 248, 220, 671}, /* cornsilk1 */ + {238, 232, 205, 681}, /* cornsilk2 */ + {205, 200, 177, 691}, /* cornsilk3 */ + {139, 136, 120, 701}, /* cornsilk4 */ + {0, 255, 255, 711}, /* cyan */ + {0, 255, 255, 716}, /* cyan1 */ + {0, 238, 238, 722}, /* cyan2 */ + {0, 205, 205, 728}, /* cyan3 */ + {0, 139, 139, 734}, /* cyan4 */ + {0, 0, 139, 740}, /* dark blue */ + {0, 139, 139, 750}, /* dark cyan */ + {184, 134, 11, 760}, /* dark goldenrod */ + {169, 169, 169, 775}, /* dark gray */ + {0, 100, 0, 785}, /* dark green */ + {169, 169, 169, 796}, /* dark grey */ + {189, 183, 107, 806}, /* dark khaki */ + {139, 0, 139, 817}, /* dark magenta */ + {85, 107, 47, 830}, /* dark olive green */ + {255, 140, 0, 847}, /* dark orange */ + {153, 50, 204, 859}, /* dark orchid */ + {139, 0, 0, 871}, /* dark red */ + {233, 150, 122, 880}, /* dark salmon */ + {143, 188, 143, 892}, /* dark sea green */ + {72, 61, 139, 907}, /* dark slate blue */ + {47, 79, 79, 923}, /* dark slate gray */ + {47, 79, 79, 939}, /* dark slate grey */ + {0, 206, 209, 955}, /* dark turquoise */ + {148, 0, 211, 970}, /* dark violet */ + {0, 0, 139, 982}, /* DarkBlue */ + {0, 139, 139, 991}, /* DarkCyan */ + {184, 134, 11, 1000}, /* DarkGoldenrod */ + {255, 185, 15, 1014}, /* DarkGoldenrod1 */ + {238, 173, 14, 1029}, /* DarkGoldenrod2 */ + {205, 149, 12, 1044}, /* DarkGoldenrod3 */ + {139, 101, 8, 1059}, /* DarkGoldenrod4 */ + {169, 169, 169, 1074}, /* DarkGray */ + {0, 100, 0, 1083}, /* DarkGreen */ + {169, 169, 169, 1093}, /* DarkGrey */ + {189, 183, 107, 1102}, /* DarkKhaki */ + {139, 0, 139, 1112}, /* DarkMagenta */ + {85, 107, 47, 1124}, /* DarkOliveGreen */ + {202, 255, 112, 1139}, /* DarkOliveGreen1 */ + {188, 238, 104, 1155}, /* DarkOliveGreen2 */ + {162, 205, 90, 1171}, /* DarkOliveGreen3 */ + {110, 139, 61, 1187}, /* DarkOliveGreen4 */ + {255, 140, 0, 1203}, /* DarkOrange */ + {255, 127, 0, 1214}, /* DarkOrange1 */ + {238, 118, 0, 1226}, /* DarkOrange2 */ + {205, 102, 0, 1238}, /* DarkOrange3 */ + {139, 69, 0, 1250}, /* DarkOrange4 */ + {153, 50, 204, 1262}, /* DarkOrchid */ + {191, 62, 255, 1273}, /* DarkOrchid1 */ + {178, 58, 238, 1285}, /* DarkOrchid2 */ + {154, 50, 205, 1297}, /* DarkOrchid3 */ + {104, 34, 139, 1309}, /* DarkOrchid4 */ + {139, 0, 0, 1321}, /* DarkRed */ + {233, 150, 122, 1329}, /* DarkSalmon */ + {143, 188, 143, 1340}, /* DarkSeaGreen */ + {193, 255, 193, 1353}, /* DarkSeaGreen1 */ + {180, 238, 180, 1367}, /* DarkSeaGreen2 */ + {155, 205, 155, 1381}, /* DarkSeaGreen3 */ + {105, 139, 105, 1395}, /* DarkSeaGreen4 */ + {72, 61, 139, 1409}, /* DarkSlateBlue */ + {47, 79, 79, 1423}, /* DarkSlateGray */ + {151, 255, 255, 1437}, /* DarkSlateGray1 */ + {141, 238, 238, 1452}, /* DarkSlateGray2 */ + {121, 205, 205, 1467}, /* DarkSlateGray3 */ + {82, 139, 139, 1482}, /* DarkSlateGray4 */ + {47, 79, 79, 1497}, /* DarkSlateGrey */ + {0, 206, 209, 1511}, /* DarkTurquoise */ + {148, 0, 211, 1525}, /* DarkViolet */ + {255, 20, 147, 1536}, /* deep pink */ + {0, 191, 255, 1546}, /* deep sky blue */ + {255, 20, 147, 1560}, /* DeepPink */ + {255, 20, 147, 1569}, /* DeepPink1 */ + {238, 18, 137, 1579}, /* DeepPink2 */ + {205, 16, 118, 1589}, /* DeepPink3 */ + {139, 10, 80, 1599}, /* DeepPink4 */ + {0, 191, 255, 1609}, /* DeepSkyBlue */ + {0, 191, 255, 1621}, /* DeepSkyBlue1 */ + {0, 178, 238, 1634}, /* DeepSkyBlue2 */ + {0, 154, 205, 1647}, /* DeepSkyBlue3 */ + {0, 104, 139, 1660}, /* DeepSkyBlue4 */ + {105, 105, 105, 1673}, /* dim gray */ + {105, 105, 105, 1682}, /* dim grey */ + {105, 105, 105, 1691}, /* DimGray */ + {105, 105, 105, 1699}, /* DimGrey */ + {30, 144, 255, 1707}, /* dodger blue */ + {30, 144, 255, 1719}, /* DodgerBlue */ + {30, 144, 255, 1730}, /* DodgerBlue1 */ + {28, 134, 238, 1742}, /* DodgerBlue2 */ + {24, 116, 205, 1754}, /* DodgerBlue3 */ + {16, 78, 139, 1766}, /* DodgerBlue4 */ + {178, 34, 34, 1778}, /* firebrick */ + {255, 48, 48, 1788}, /* firebrick1 */ + {238, 44, 44, 1799}, /* firebrick2 */ + {205, 38, 38, 1810}, /* firebrick3 */ + {139, 26, 26, 1821}, /* firebrick4 */ + {255, 250, 240, 1832}, /* floral white */ + {255, 250, 240, 1845}, /* FloralWhite */ + {34, 139, 34, 1857}, /* forest green */ + {34, 139, 34, 1870}, /* ForestGreen */ + {220, 220, 220, 1882}, /* gainsboro */ + {248, 248, 255, 1892}, /* ghost white */ + {248, 248, 255, 1904}, /* GhostWhite */ + {255, 215, 0, 1915}, /* gold */ + {255, 215, 0, 1920}, /* gold1 */ + {238, 201, 0, 1926}, /* gold2 */ + {205, 173, 0, 1932}, /* gold3 */ + {139, 117, 0, 1938}, /* gold4 */ + {218, 165, 32, 1944}, /* goldenrod */ + {255, 193, 37, 1954}, /* goldenrod1 */ + {238, 180, 34, 1965}, /* goldenrod2 */ + {205, 155, 29, 1976}, /* goldenrod3 */ + {139, 105, 20, 1987}, /* goldenrod4 */ + {190, 190, 190, 1998}, /* gray */ + {0, 0, 0, 2003}, /* gray0 */ + {3, 3, 3, 2009}, /* gray1 */ + {26, 26, 26, 2015}, /* gray10 */ + {255, 255, 255, 2022}, /* gray100 */ + {28, 28, 28, 2030}, /* gray11 */ + {31, 31, 31, 2037}, /* gray12 */ + {33, 33, 33, 2044}, /* gray13 */ + {36, 36, 36, 2051}, /* gray14 */ + {38, 38, 38, 2058}, /* gray15 */ + {41, 41, 41, 2065}, /* gray16 */ + {43, 43, 43, 2072}, /* gray17 */ + {46, 46, 46, 2079}, /* gray18 */ + {48, 48, 48, 2086}, /* gray19 */ + {5, 5, 5, 2093}, /* gray2 */ + {51, 51, 51, 2099}, /* gray20 */ + {54, 54, 54, 2106}, /* gray21 */ + {56, 56, 56, 2113}, /* gray22 */ + {59, 59, 59, 2120}, /* gray23 */ + {61, 61, 61, 2127}, /* gray24 */ + {64, 64, 64, 2134}, /* gray25 */ + {66, 66, 66, 2141}, /* gray26 */ + {69, 69, 69, 2148}, /* gray27 */ + {71, 71, 71, 2155}, /* gray28 */ + {74, 74, 74, 2162}, /* gray29 */ + {8, 8, 8, 2169}, /* gray3 */ + {77, 77, 77, 2175}, /* gray30 */ + {79, 79, 79, 2182}, /* gray31 */ + {82, 82, 82, 2189}, /* gray32 */ + {84, 84, 84, 2196}, /* gray33 */ + {87, 87, 87, 2203}, /* gray34 */ + {89, 89, 89, 2210}, /* gray35 */ + {92, 92, 92, 2217}, /* gray36 */ + {94, 94, 94, 2224}, /* gray37 */ + {97, 97, 97, 2231}, /* gray38 */ + {99, 99, 99, 2238}, /* gray39 */ + {10, 10, 10, 2245}, /* gray4 */ + {102, 102, 102, 2251}, /* gray40 */ + {105, 105, 105, 2258}, /* gray41 */ + {107, 107, 107, 2265}, /* gray42 */ + {110, 110, 110, 2272}, /* gray43 */ + {112, 112, 112, 2279}, /* gray44 */ + {115, 115, 115, 2286}, /* gray45 */ + {117, 117, 117, 2293}, /* gray46 */ + {120, 120, 120, 2300}, /* gray47 */ + {122, 122, 122, 2307}, /* gray48 */ + {125, 125, 125, 2314}, /* gray49 */ + {13, 13, 13, 2321}, /* gray5 */ + {127, 127, 127, 2327}, /* gray50 */ + {130, 130, 130, 2334}, /* gray51 */ + {133, 133, 133, 2341}, /* gray52 */ + {135, 135, 135, 2348}, /* gray53 */ + {138, 138, 138, 2355}, /* gray54 */ + {140, 140, 140, 2362}, /* gray55 */ + {143, 143, 143, 2369}, /* gray56 */ + {145, 145, 145, 2376}, /* gray57 */ + {148, 148, 148, 2383}, /* gray58 */ + {150, 150, 150, 2390}, /* gray59 */ + {15, 15, 15, 2397}, /* gray6 */ + {153, 153, 153, 2403}, /* gray60 */ + {156, 156, 156, 2410}, /* gray61 */ + {158, 158, 158, 2417}, /* gray62 */ + {161, 161, 161, 2424}, /* gray63 */ + {163, 163, 163, 2431}, /* gray64 */ + {166, 166, 166, 2438}, /* gray65 */ + {168, 168, 168, 2445}, /* gray66 */ + {171, 171, 171, 2452}, /* gray67 */ + {173, 173, 173, 2459}, /* gray68 */ + {176, 176, 176, 2466}, /* gray69 */ + {18, 18, 18, 2473}, /* gray7 */ + {179, 179, 179, 2479}, /* gray70 */ + {181, 181, 181, 2486}, /* gray71 */ + {184, 184, 184, 2493}, /* gray72 */ + {186, 186, 186, 2500}, /* gray73 */ + {189, 189, 189, 2507}, /* gray74 */ + {191, 191, 191, 2514}, /* gray75 */ + {194, 194, 194, 2521}, /* gray76 */ + {196, 196, 196, 2528}, /* gray77 */ + {199, 199, 199, 2535}, /* gray78 */ + {201, 201, 201, 2542}, /* gray79 */ + {20, 20, 20, 2549}, /* gray8 */ + {204, 204, 204, 2555}, /* gray80 */ + {207, 207, 207, 2562}, /* gray81 */ + {209, 209, 209, 2569}, /* gray82 */ + {212, 212, 212, 2576}, /* gray83 */ + {214, 214, 214, 2583}, /* gray84 */ + {217, 217, 217, 2590}, /* gray85 */ + {219, 219, 219, 2597}, /* gray86 */ + {222, 222, 222, 2604}, /* gray87 */ + {224, 224, 224, 2611}, /* gray88 */ + {227, 227, 227, 2618}, /* gray89 */ + {23, 23, 23, 2625}, /* gray9 */ + {229, 229, 229, 2631}, /* gray90 */ + {232, 232, 232, 2638}, /* gray91 */ + {235, 235, 235, 2645}, /* gray92 */ + {237, 237, 237, 2652}, /* gray93 */ + {240, 240, 240, 2659}, /* gray94 */ + {242, 242, 242, 2666}, /* gray95 */ + {245, 245, 245, 2673}, /* gray96 */ + {247, 247, 247, 2680}, /* gray97 */ + {250, 250, 250, 2687}, /* gray98 */ + {252, 252, 252, 2694}, /* gray99 */ + {0, 255, 0, 2701}, /* green */ + {173, 255, 47, 2707}, /* green yellow */ + {0, 255, 0, 2720}, /* green1 */ + {0, 238, 0, 2727}, /* green2 */ + {0, 205, 0, 2734}, /* green3 */ + {0, 139, 0, 2741}, /* green4 */ + {173, 255, 47, 2748}, /* GreenYellow */ + {190, 190, 190, 2760}, /* grey */ + {0, 0, 0, 2765}, /* grey0 */ + {3, 3, 3, 2771}, /* grey1 */ + {26, 26, 26, 2777}, /* grey10 */ + {255, 255, 255, 2784}, /* grey100 */ + {28, 28, 28, 2792}, /* grey11 */ + {31, 31, 31, 2799}, /* grey12 */ + {33, 33, 33, 2806}, /* grey13 */ + {36, 36, 36, 2813}, /* grey14 */ + {38, 38, 38, 2820}, /* grey15 */ + {41, 41, 41, 2827}, /* grey16 */ + {43, 43, 43, 2834}, /* grey17 */ + {46, 46, 46, 2841}, /* grey18 */ + {48, 48, 48, 2848}, /* grey19 */ + {5, 5, 5, 2855}, /* grey2 */ + {51, 51, 51, 2861}, /* grey20 */ + {54, 54, 54, 2868}, /* grey21 */ + {56, 56, 56, 2875}, /* grey22 */ + {59, 59, 59, 2882}, /* grey23 */ + {61, 61, 61, 2889}, /* grey24 */ + {64, 64, 64, 2896}, /* grey25 */ + {66, 66, 66, 2903}, /* grey26 */ + {69, 69, 69, 2910}, /* grey27 */ + {71, 71, 71, 2917}, /* grey28 */ + {74, 74, 74, 2924}, /* grey29 */ + {8, 8, 8, 2931}, /* grey3 */ + {77, 77, 77, 2937}, /* grey30 */ + {79, 79, 79, 2944}, /* grey31 */ + {82, 82, 82, 2951}, /* grey32 */ + {84, 84, 84, 2958}, /* grey33 */ + {87, 87, 87, 2965}, /* grey34 */ + {89, 89, 89, 2972}, /* grey35 */ + {92, 92, 92, 2979}, /* grey36 */ + {94, 94, 94, 2986}, /* grey37 */ + {97, 97, 97, 2993}, /* grey38 */ + {99, 99, 99, 3000}, /* grey39 */ + {10, 10, 10, 3007}, /* grey4 */ + {102, 102, 102, 3013}, /* grey40 */ + {105, 105, 105, 3020}, /* grey41 */ + {107, 107, 107, 3027}, /* grey42 */ + {110, 110, 110, 3034}, /* grey43 */ + {112, 112, 112, 3041}, /* grey44 */ + {115, 115, 115, 3048}, /* grey45 */ + {117, 117, 117, 3055}, /* grey46 */ + {120, 120, 120, 3062}, /* grey47 */ + {122, 122, 122, 3069}, /* grey48 */ + {125, 125, 125, 3076}, /* grey49 */ + {13, 13, 13, 3083}, /* grey5 */ + {127, 127, 127, 3089}, /* grey50 */ + {130, 130, 130, 3096}, /* grey51 */ + {133, 133, 133, 3103}, /* grey52 */ + {135, 135, 135, 3110}, /* grey53 */ + {138, 138, 138, 3117}, /* grey54 */ + {140, 140, 140, 3124}, /* grey55 */ + {143, 143, 143, 3131}, /* grey56 */ + {145, 145, 145, 3138}, /* grey57 */ + {148, 148, 148, 3145}, /* grey58 */ + {150, 150, 150, 3152}, /* grey59 */ + {15, 15, 15, 3159}, /* grey6 */ + {153, 153, 153, 3165}, /* grey60 */ + {156, 156, 156, 3172}, /* grey61 */ + {158, 158, 158, 3179}, /* grey62 */ + {161, 161, 161, 3186}, /* grey63 */ + {163, 163, 163, 3193}, /* grey64 */ + {166, 166, 166, 3200}, /* grey65 */ + {168, 168, 168, 3207}, /* grey66 */ + {171, 171, 171, 3214}, /* grey67 */ + {173, 173, 173, 3221}, /* grey68 */ + {176, 176, 176, 3228}, /* grey69 */ + {18, 18, 18, 3235}, /* grey7 */ + {179, 179, 179, 3241}, /* grey70 */ + {181, 181, 181, 3248}, /* grey71 */ + {184, 184, 184, 3255}, /* grey72 */ + {186, 186, 186, 3262}, /* grey73 */ + {189, 189, 189, 3269}, /* grey74 */ + {191, 191, 191, 3276}, /* grey75 */ + {194, 194, 194, 3283}, /* grey76 */ + {196, 196, 196, 3290}, /* grey77 */ + {199, 199, 199, 3297}, /* grey78 */ + {201, 201, 201, 3304}, /* grey79 */ + {20, 20, 20, 3311}, /* grey8 */ + {204, 204, 204, 3317}, /* grey80 */ + {207, 207, 207, 3324}, /* grey81 */ + {209, 209, 209, 3331}, /* grey82 */ + {212, 212, 212, 3338}, /* grey83 */ + {214, 214, 214, 3345}, /* grey84 */ + {217, 217, 217, 3352}, /* grey85 */ + {219, 219, 219, 3359}, /* grey86 */ + {222, 222, 222, 3366}, /* grey87 */ + {224, 224, 224, 3373}, /* grey88 */ + {227, 227, 227, 3380}, /* grey89 */ + {23, 23, 23, 3387}, /* grey9 */ + {229, 229, 229, 3393}, /* grey90 */ + {232, 232, 232, 3400}, /* grey91 */ + {235, 235, 235, 3407}, /* grey92 */ + {237, 237, 237, 3414}, /* grey93 */ + {240, 240, 240, 3421}, /* grey94 */ + {242, 242, 242, 3428}, /* grey95 */ + {245, 245, 245, 3435}, /* grey96 */ + {247, 247, 247, 3442}, /* grey97 */ + {250, 250, 250, 3449}, /* grey98 */ + {252, 252, 252, 3456}, /* grey99 */ + {240, 255, 240, 3463}, /* honeydew */ + {240, 255, 240, 3472}, /* honeydew1 */ + {224, 238, 224, 3482}, /* honeydew2 */ + {193, 205, 193, 3492}, /* honeydew3 */ + {131, 139, 131, 3502}, /* honeydew4 */ + {255, 105, 180, 3512}, /* hot pink */ + {255, 105, 180, 3521}, /* HotPink */ + {255, 110, 180, 3529}, /* HotPink1 */ + {238, 106, 167, 3538}, /* HotPink2 */ + {205, 96, 144, 3547}, /* HotPink3 */ + {139, 58, 98, 3556}, /* HotPink4 */ + {205, 92, 92, 3565}, /* indian red */ + {205, 92, 92, 3576}, /* IndianRed */ + {255, 106, 106, 3586}, /* IndianRed1 */ + {238, 99, 99, 3597}, /* IndianRed2 */ + {205, 85, 85, 3608}, /* IndianRed3 */ + {139, 58, 58, 3619}, /* IndianRed4 */ + {255, 255, 240, 3630}, /* ivory */ + {255, 255, 240, 3636}, /* ivory1 */ + {238, 238, 224, 3643}, /* ivory2 */ + {205, 205, 193, 3650}, /* ivory3 */ + {139, 139, 131, 3657}, /* ivory4 */ + {240, 230, 140, 3664}, /* khaki */ + {255, 246, 143, 3670}, /* khaki1 */ + {238, 230, 133, 3677}, /* khaki2 */ + {205, 198, 115, 3684}, /* khaki3 */ + {139, 134, 78, 3691}, /* khaki4 */ + {230, 230, 250, 3698}, /* lavender */ + {255, 240, 245, 3707}, /* lavender blush */ + {255, 240, 245, 3722}, /* LavenderBlush */ + {255, 240, 245, 3736}, /* LavenderBlush1 */ + {238, 224, 229, 3751}, /* LavenderBlush2 */ + {205, 193, 197, 3766}, /* LavenderBlush3 */ + {139, 131, 134, 3781}, /* LavenderBlush4 */ + {124, 252, 0, 3796}, /* lawn green */ + {124, 252, 0, 3807}, /* LawnGreen */ + {255, 250, 205, 3817}, /* lemon chiffon */ + {255, 250, 205, 3831}, /* LemonChiffon */ + {255, 250, 205, 3844}, /* LemonChiffon1 */ + {238, 233, 191, 3858}, /* LemonChiffon2 */ + {205, 201, 165, 3872}, /* LemonChiffon3 */ + {139, 137, 112, 3886}, /* LemonChiffon4 */ + {173, 216, 230, 3900}, /* light blue */ + {240, 128, 128, 3911}, /* light coral */ + {224, 255, 255, 3923}, /* light cyan */ + {238, 221, 130, 3934}, /* light goldenrod */ + {250, 250, 210, 3950}, /* light goldenrod yellow */ + {211, 211, 211, 3973}, /* light gray */ + {144, 238, 144, 3984}, /* light green */ + {211, 211, 211, 3996}, /* light grey */ + {255, 182, 193, 4007}, /* light pink */ + {255, 160, 122, 4018}, /* light salmon */ + {32, 178, 170, 4031}, /* light sea green */ + {135, 206, 250, 4047}, /* light sky blue */ + {132, 112, 255, 4062}, /* light slate blue */ + {119, 136, 153, 4079}, /* light slate gray */ + {119, 136, 153, 4096}, /* light slate grey */ + {176, 196, 222, 4113}, /* light steel blue */ + {255, 255, 224, 4130}, /* light yellow */ + {173, 216, 230, 4143}, /* LightBlue */ + {191, 239, 255, 4153}, /* LightBlue1 */ + {178, 223, 238, 4164}, /* LightBlue2 */ + {154, 192, 205, 4175}, /* LightBlue3 */ + {104, 131, 139, 4186}, /* LightBlue4 */ + {240, 128, 128, 4197}, /* LightCoral */ + {224, 255, 255, 4208}, /* LightCyan */ + {224, 255, 255, 4218}, /* LightCyan1 */ + {209, 238, 238, 4229}, /* LightCyan2 */ + {180, 205, 205, 4240}, /* LightCyan3 */ + {122, 139, 139, 4251}, /* LightCyan4 */ + {238, 221, 130, 4262}, /* LightGoldenrod */ + {255, 236, 139, 4277}, /* LightGoldenrod1 */ + {238, 220, 130, 4293}, /* LightGoldenrod2 */ + {205, 190, 112, 4309}, /* LightGoldenrod3 */ + {139, 129, 76, 4325}, /* LightGoldenrod4 */ + {250, 250, 210, 4341}, /* LightGoldenrodYellow */ + {211, 211, 211, 4362}, /* LightGray */ + {144, 238, 144, 4372}, /* LightGreen */ + {211, 211, 211, 4383}, /* LightGrey */ + {255, 182, 193, 4393}, /* LightPink */ + {255, 174, 185, 4403}, /* LightPink1 */ + {238, 162, 173, 4414}, /* LightPink2 */ + {205, 140, 149, 4425}, /* LightPink3 */ + {139, 95, 101, 4436}, /* LightPink4 */ + {255, 160, 122, 4447}, /* LightSalmon */ + {255, 160, 122, 4459}, /* LightSalmon1 */ + {238, 149, 114, 4472}, /* LightSalmon2 */ + {205, 129, 98, 4485}, /* LightSalmon3 */ + {139, 87, 66, 4498}, /* LightSalmon4 */ + {32, 178, 170, 4511}, /* LightSeaGreen */ + {135, 206, 250, 4525}, /* LightSkyBlue */ + {176, 226, 255, 4538}, /* LightSkyBlue1 */ + {164, 211, 238, 4552}, /* LightSkyBlue2 */ + {141, 182, 205, 4566}, /* LightSkyBlue3 */ + {96, 123, 139, 4580}, /* LightSkyBlue4 */ + {132, 112, 255, 4594}, /* LightSlateBlue */ + {119, 136, 153, 4609}, /* LightSlateGray */ + {119, 136, 153, 4624}, /* LightSlateGrey */ + {176, 196, 222, 4639}, /* LightSteelBlue */ + {202, 225, 255, 4654}, /* LightSteelBlue1 */ + {188, 210, 238, 4670}, /* LightSteelBlue2 */ + {162, 181, 205, 4686}, /* LightSteelBlue3 */ + {110, 123, 139, 4702}, /* LightSteelBlue4 */ + {255, 255, 224, 4718}, /* LightYellow */ + {255, 255, 224, 4730}, /* LightYellow1 */ + {238, 238, 209, 4743}, /* LightYellow2 */ + {205, 205, 180, 4756}, /* LightYellow3 */ + {139, 139, 122, 4769}, /* LightYellow4 */ + {50, 205, 50, 4782}, /* lime green */ + {50, 205, 50, 4793}, /* LimeGreen */ + {250, 240, 230, 4803}, /* linen */ + {255, 0, 255, 4809}, /* magenta */ + {255, 0, 255, 4817}, /* magenta1 */ + {238, 0, 238, 4826}, /* magenta2 */ + {205, 0, 205, 4835}, /* magenta3 */ + {139, 0, 139, 4844}, /* magenta4 */ + {176, 48, 96, 4853}, /* maroon */ + {255, 52, 179, 4860}, /* maroon1 */ + {238, 48, 167, 4868}, /* maroon2 */ + {205, 41, 144, 4876}, /* maroon3 */ + {139, 28, 98, 4884}, /* maroon4 */ + {102, 205, 170, 4892}, /* medium aquamarine */ + {0, 0, 205, 4910}, /* medium blue */ + {186, 85, 211, 4922}, /* medium orchid */ + {147, 112, 219, 4936}, /* medium purple */ + {60, 179, 113, 4950}, /* medium sea green */ + {123, 104, 238, 4967}, /* medium slate blue */ + {0, 250, 154, 4985}, /* medium spring green */ + {72, 209, 204, 5005}, /* medium turquoise */ + {199, 21, 133, 5022}, /* medium violet red */ + {102, 205, 170, 5040}, /* MediumAquamarine */ + {0, 0, 205, 5057}, /* MediumBlue */ + {186, 85, 211, 5068}, /* MediumOrchid */ + {224, 102, 255, 5081}, /* MediumOrchid1 */ + {209, 95, 238, 5095}, /* MediumOrchid2 */ + {180, 82, 205, 5109}, /* MediumOrchid3 */ + {122, 55, 139, 5123}, /* MediumOrchid4 */ + {147, 112, 219, 5137}, /* MediumPurple */ + {171, 130, 255, 5150}, /* MediumPurple1 */ + {159, 121, 238, 5164}, /* MediumPurple2 */ + {137, 104, 205, 5178}, /* MediumPurple3 */ + {93, 71, 139, 5192}, /* MediumPurple4 */ + {60, 179, 113, 5206}, /* MediumSeaGreen */ + {123, 104, 238, 5221}, /* MediumSlateBlue */ + {0, 250, 154, 5237}, /* MediumSpringGreen */ + {72, 209, 204, 5255}, /* MediumTurquoise */ + {199, 21, 133, 5271}, /* MediumVioletRed */ + {25, 25, 112, 5287}, /* midnight blue */ + {25, 25, 112, 5301}, /* MidnightBlue */ + {245, 255, 250, 5314}, /* mint cream */ + {245, 255, 250, 5325}, /* MintCream */ + {255, 228, 225, 5335}, /* misty rose */ + {255, 228, 225, 5346}, /* MistyRose */ + {255, 228, 225, 5356}, /* MistyRose1 */ + {238, 213, 210, 5367}, /* MistyRose2 */ + {205, 183, 181, 5378}, /* MistyRose3 */ + {139, 125, 123, 5389}, /* MistyRose4 */ + {255, 228, 181, 5400}, /* moccasin */ + {255, 222, 173, 5409}, /* navajo white */ + {255, 222, 173, 5422}, /* NavajoWhite */ + {255, 222, 173, 5434}, /* NavajoWhite1 */ + {238, 207, 161, 5447}, /* NavajoWhite2 */ + {205, 179, 139, 5460}, /* NavajoWhite3 */ + {139, 121, 94, 5473}, /* NavajoWhite4 */ + {0, 0, 128, 5486}, /* navy */ + {0, 0, 128, 5491}, /* navy blue */ + {0, 0, 128, 5501}, /* NavyBlue */ + {253, 245, 230, 5510}, /* old lace */ + {253, 245, 230, 5519}, /* OldLace */ + {107, 142, 35, 5527}, /* olive drab */ + {107, 142, 35, 5538}, /* OliveDrab */ + {192, 255, 62, 5548}, /* OliveDrab1 */ + {179, 238, 58, 5559}, /* OliveDrab2 */ + {154, 205, 50, 5570}, /* OliveDrab3 */ + {105, 139, 34, 5581}, /* OliveDrab4 */ + {255, 165, 0, 5592}, /* orange */ + {255, 69, 0, 5599}, /* orange red */ + {255, 165, 0, 5610}, /* orange1 */ + {238, 154, 0, 5618}, /* orange2 */ + {205, 133, 0, 5626}, /* orange3 */ + {139, 90, 0, 5634}, /* orange4 */ + {255, 69, 0, 5642}, /* OrangeRed */ + {255, 69, 0, 5652}, /* OrangeRed1 */ + {238, 64, 0, 5663}, /* OrangeRed2 */ + {205, 55, 0, 5674}, /* OrangeRed3 */ + {139, 37, 0, 5685}, /* OrangeRed4 */ + {218, 112, 214, 5696}, /* orchid */ + {255, 131, 250, 5703}, /* orchid1 */ + {238, 122, 233, 5711}, /* orchid2 */ + {205, 105, 201, 5719}, /* orchid3 */ + {139, 71, 137, 5727}, /* orchid4 */ + {238, 232, 170, 5735}, /* pale goldenrod */ + {152, 251, 152, 5750}, /* pale green */ + {175, 238, 238, 5761}, /* pale turquoise */ + {219, 112, 147, 5776}, /* pale violet red */ + {238, 232, 170, 5792}, /* PaleGoldenrod */ + {152, 251, 152, 5806}, /* PaleGreen */ + {154, 255, 154, 5816}, /* PaleGreen1 */ + {144, 238, 144, 5827}, /* PaleGreen2 */ + {124, 205, 124, 5838}, /* PaleGreen3 */ + {84, 139, 84, 5849}, /* PaleGreen4 */ + {175, 238, 238, 5860}, /* PaleTurquoise */ + {187, 255, 255, 5874}, /* PaleTurquoise1 */ + {174, 238, 238, 5889}, /* PaleTurquoise2 */ + {150, 205, 205, 5904}, /* PaleTurquoise3 */ + {102, 139, 139, 5919}, /* PaleTurquoise4 */ + {219, 112, 147, 5934}, /* PaleVioletRed */ + {255, 130, 171, 5948}, /* PaleVioletRed1 */ + {238, 121, 159, 5963}, /* PaleVioletRed2 */ + {205, 104, 137, 5978}, /* PaleVioletRed3 */ + {139, 71, 93, 5993}, /* PaleVioletRed4 */ + {255, 239, 213, 6008}, /* papaya whip */ + {255, 239, 213, 6020}, /* PapayaWhip */ + {255, 218, 185, 6031}, /* peach puff */ + {255, 218, 185, 6042}, /* PeachPuff */ + {255, 218, 185, 6052}, /* PeachPuff1 */ + {238, 203, 173, 6063}, /* PeachPuff2 */ + {205, 175, 149, 6074}, /* PeachPuff3 */ + {139, 119, 101, 6085}, /* PeachPuff4 */ + {205, 133, 63, 6096}, /* peru */ + {255, 192, 203, 6101}, /* pink */ + {255, 181, 197, 6106}, /* pink1 */ + {238, 169, 184, 6112}, /* pink2 */ + {205, 145, 158, 6118}, /* pink3 */ + {139, 99, 108, 6124}, /* pink4 */ + {221, 160, 221, 6130}, /* plum */ + {255, 187, 255, 6135}, /* plum1 */ + {238, 174, 238, 6141}, /* plum2 */ + {205, 150, 205, 6147}, /* plum3 */ + {139, 102, 139, 6153}, /* plum4 */ + {176, 224, 230, 6159}, /* powder blue */ + {176, 224, 230, 6171}, /* PowderBlue */ + {160, 32, 240, 6182}, /* purple */ + {155, 48, 255, 6189}, /* purple1 */ + {145, 44, 238, 6197}, /* purple2 */ + {125, 38, 205, 6205}, /* purple3 */ + {85, 26, 139, 6213}, /* purple4 */ + {255, 0, 0, 6221}, /* red */ + {255, 0, 0, 6225}, /* red1 */ + {238, 0, 0, 6230}, /* red2 */ + {205, 0, 0, 6235}, /* red3 */ + {139, 0, 0, 6240}, /* red4 */ + {188, 143, 143, 6245}, /* rosy brown */ + {188, 143, 143, 6256}, /* RosyBrown */ + {255, 193, 193, 6266}, /* RosyBrown1 */ + {238, 180, 180, 6277}, /* RosyBrown2 */ + {205, 155, 155, 6288}, /* RosyBrown3 */ + {139, 105, 105, 6299}, /* RosyBrown4 */ + {65, 105, 225, 6310}, /* royal blue */ + {65, 105, 225, 6321}, /* RoyalBlue */ + {72, 118, 255, 6331}, /* RoyalBlue1 */ + {67, 110, 238, 6342}, /* RoyalBlue2 */ + {58, 95, 205, 6353}, /* RoyalBlue3 */ + {39, 64, 139, 6364}, /* RoyalBlue4 */ + {139, 69, 19, 6375}, /* saddle brown */ + {139, 69, 19, 6388}, /* SaddleBrown */ + {250, 128, 114, 6400}, /* salmon */ + {255, 140, 105, 6407}, /* salmon1 */ + {238, 130, 98, 6415}, /* salmon2 */ + {205, 112, 84, 6423}, /* salmon3 */ + {139, 76, 57, 6431}, /* salmon4 */ + {244, 164, 96, 6439}, /* sandy brown */ + {244, 164, 96, 6451}, /* SandyBrown */ + {46, 139, 87, 6462}, /* sea green */ + {46, 139, 87, 6472}, /* SeaGreen */ + {84, 255, 159, 6481}, /* SeaGreen1 */ + {78, 238, 148, 6491}, /* SeaGreen2 */ + {67, 205, 128, 6501}, /* SeaGreen3 */ + {46, 139, 87, 6511}, /* SeaGreen4 */ + {255, 245, 238, 6521}, /* seashell */ + {255, 245, 238, 6530}, /* seashell1 */ + {238, 229, 222, 6540}, /* seashell2 */ + {205, 197, 191, 6550}, /* seashell3 */ + {139, 134, 130, 6560}, /* seashell4 */ + {160, 82, 45, 6570}, /* sienna */ + {255, 130, 71, 6577}, /* sienna1 */ + {238, 121, 66, 6585}, /* sienna2 */ + {205, 104, 57, 6593}, /* sienna3 */ + {139, 71, 38, 6601}, /* sienna4 */ + {135, 206, 235, 6609}, /* sky blue */ + {135, 206, 235, 6618}, /* SkyBlue */ + {135, 206, 255, 6626}, /* SkyBlue1 */ + {126, 192, 238, 6635}, /* SkyBlue2 */ + {108, 166, 205, 6644}, /* SkyBlue3 */ + {74, 112, 139, 6653}, /* SkyBlue4 */ + {106, 90, 205, 6662}, /* slate blue */ + {112, 128, 144, 6673}, /* slate gray */ + {112, 128, 144, 6684}, /* slate grey */ + {106, 90, 205, 6695}, /* SlateBlue */ + {131, 111, 255, 6705}, /* SlateBlue1 */ + {122, 103, 238, 6716}, /* SlateBlue2 */ + {105, 89, 205, 6727}, /* SlateBlue3 */ + {71, 60, 139, 6738}, /* SlateBlue4 */ + {112, 128, 144, 6749}, /* SlateGray */ + {198, 226, 255, 6759}, /* SlateGray1 */ + {185, 211, 238, 6770}, /* SlateGray2 */ + {159, 182, 205, 6781}, /* SlateGray3 */ + {108, 123, 139, 6792}, /* SlateGray4 */ + {112, 128, 144, 6803}, /* SlateGrey */ + {255, 250, 250, 6813}, /* snow */ + {255, 250, 250, 6818}, /* snow1 */ + {238, 233, 233, 6824}, /* snow2 */ + {205, 201, 201, 6830}, /* snow3 */ + {139, 137, 137, 6836}, /* snow4 */ + {0, 255, 127, 6842}, /* spring green */ + {0, 255, 127, 6855}, /* SpringGreen */ + {0, 255, 127, 6867}, /* SpringGreen1 */ + {0, 238, 118, 6880}, /* SpringGreen2 */ + {0, 205, 102, 6893}, /* SpringGreen3 */ + {0, 139, 69, 6906}, /* SpringGreen4 */ + {70, 130, 180, 6919}, /* steel blue */ + {70, 130, 180, 6930}, /* SteelBlue */ + {99, 184, 255, 6940}, /* SteelBlue1 */ + {92, 172, 238, 6951}, /* SteelBlue2 */ + {79, 148, 205, 6962}, /* SteelBlue3 */ + {54, 100, 139, 6973}, /* SteelBlue4 */ + {210, 180, 140, 6984}, /* tan */ + {255, 165, 79, 6988}, /* tan1 */ + {238, 154, 73, 6993}, /* tan2 */ + {205, 133, 63, 6998}, /* tan3 */ + {139, 90, 43, 7003}, /* tan4 */ + {216, 191, 216, 7008}, /* thistle */ + {255, 225, 255, 7016}, /* thistle1 */ + {238, 210, 238, 7025}, /* thistle2 */ + {205, 181, 205, 7034}, /* thistle3 */ + {139, 123, 139, 7043}, /* thistle4 */ + {255, 99, 71, 7052}, /* tomato */ + {255, 99, 71, 7059}, /* tomato1 */ + {238, 92, 66, 7067}, /* tomato2 */ + {205, 79, 57, 7075}, /* tomato3 */ + {139, 54, 38, 7083}, /* tomato4 */ + {64, 224, 208, 7091}, /* turquoise */ + {0, 245, 255, 7101}, /* turquoise1 */ + {0, 229, 238, 7112}, /* turquoise2 */ + {0, 197, 205, 7123}, /* turquoise3 */ + {0, 134, 139, 7134}, /* turquoise4 */ + {238, 130, 238, 7145}, /* violet */ + {208, 32, 144, 7152}, /* violet red */ + {208, 32, 144, 7163}, /* VioletRed */ + {255, 62, 150, 7173}, /* VioletRed1 */ + {238, 58, 140, 7184}, /* VioletRed2 */ + {205, 50, 120, 7195}, /* VioletRed3 */ + {139, 34, 82, 7206}, /* VioletRed4 */ + {245, 222, 179, 7217}, /* wheat */ + {255, 231, 186, 7223}, /* wheat1 */ + {238, 216, 174, 7230}, /* wheat2 */ + {205, 186, 150, 7237}, /* wheat3 */ + {139, 126, 102, 7244}, /* wheat4 */ + {255, 255, 255, 7251}, /* white */ + {245, 245, 245, 7257}, /* white smoke */ + {245, 245, 245, 7269}, /* WhiteSmoke */ + {255, 255, 0, 7280}, /* yellow */ + {154, 205, 50, 7287}, /* yellow green */ + {255, 255, 0, 7300}, /* yellow1 */ + {238, 238, 0, 7308}, /* yellow2 */ + {205, 205, 0, 7316}, /* yellow3 */ + {139, 139, 0, 7324}, /* yellow4 */ + {154, 205, 50, 7332}, /* YellowGreen */ }; -#define NUM_BUILTIN_COLORS (sizeof (BuiltinColors) / sizeof (BuiltinColors[0])) +#define NUM_BUILTIN_COLORS (sizeof(BuiltinColors) / sizeof(BuiltinColors[0])) -int -OsLookupColor(int screen, - const char *name, - unsigned int len, - unsigned short *pred, - unsigned short *pgreen, - unsigned short *pblue) -{ - const BuiltinColor *c; - int low, mid, high; - int r; +int OsLookupColor(int screen, const char *name, unsigned int len, + unsigned short *pred, unsigned short *pgreen, + unsigned short *pblue) { + const BuiltinColor *c; + int low, mid, high; + int r; - (void)screen; + (void)screen; - low = 0; - high = NUM_BUILTIN_COLORS - 1; - while (high >= low) - { - mid = (low + high) / 2; - c = &BuiltinColors[mid]; - r = strncasecmp (&BuiltinColorNames[c->name], name, len); - if (r == 0 && len == strlen (&BuiltinColorNames[c->name])) - { - *pred = c->red; - *pgreen = c->green; - *pblue = c->blue; - return 1; - } - if (r < 0) - low = mid + 1; - else - high = mid - 1; + low = 0; + high = NUM_BUILTIN_COLORS - 1; + while (high >= low) { + mid = (low + high) / 2; + c = &BuiltinColors[mid]; + r = strncasecmp(&BuiltinColorNames[c->name], name, len); + if (r == 0 && len == strlen(&BuiltinColorNames[c->name])) { + *pred = c->red; + *pgreen = c->green; + *pblue = c->blue; + return 1; } - return 0; + if (r < 0) + low = mid + 1; + else + high = mid - 1; + } + return 0; } diff --git a/src/x11-color.h b/src/x11-color.h index cfaa0849..d7151b67 100644 --- a/src/x11-color.h +++ b/src/x11-color.h @@ -1,5 +1,4 @@ /* from xorg-server's oscolor.c */ int OsLookupColor(int screen, const char *name, unsigned int len, - unsigned short *pred, - unsigned short *pgreen, + unsigned short *pred, unsigned short *pgreen, unsigned short *pblue); diff --git a/src/x11.cc b/src/x11.cc index 2b088fcc..3ac518d7 100644 --- a/src/x11.cc +++ b/src/x11.cc @@ -231,8 +231,8 @@ static void init_X11() { ? dispstr.c_str() : nullptr; if ((display = XOpenDisplay(disp)) == nullptr) { - std::string err = std::string("can't open display: ") + - XDisplayName(disp); + std::string err = + std::string("can't open display: ") + XDisplayName(disp); #ifdef BUILD_WAYLAND fprintf(stderr, "%s\n", err.c_str()); return; @@ -326,8 +326,7 @@ static Window find_desktop_window(Window *p_root, Window *p_desktop) { int format, i; unsigned long nitems, bytes; unsigned int n; - if (!display) - return 0; + if (!display) return 0; Window root = RootWindow(display, screen); Window win; Window troot, parent, *children; @@ -803,9 +802,7 @@ void x11_init_window(lua::state &l __attribute__((unused)), bool own) { if (window.window == 0u) { window.window = find_desktop_window(&window.root, &window.desktop); } - if (window.window == 0u) { - return; - } + if (window.window == 0u) { return; } window.visual = DefaultVisual(display, screen); window.colourmap = DefaultColormap(display, screen); diff --git a/src/x11.h b/src/x11.h index 76b07ba8..bd02d1a9 100644 --- a/src/x11.h +++ b/src/x11.h @@ -77,7 +77,7 @@ struct conky_x11_window { #ifdef BUILD_XDBE XdbeBackBuffer back_buffer; -#else /*BUILD_XDBE*/ +#else /*BUILD_XDBE*/ Pixmap back_buffer; #endif /*BUILD_XDBE*/ #ifdef BUILD_XFT