diff --git a/include/client/cairo.h b/include/client/cairo.h index ad8390c4..46c53566 100644 --- a/include/client/cairo.h +++ b/include/client/cairo.h @@ -1,6 +1,11 @@ #ifndef _SWAY_CAIRO_H #define _SWAY_CAIRO_H +#include +#include + +void cairo_set_source_u32(cairo_t *cairo, uint32_t color); + #ifdef WITH_GDK_PIXBUF #include diff --git a/swaybar/CMakeLists.txt b/swaybar/CMakeLists.txt index 60975f40..5b865083 100644 --- a/swaybar/CMakeLists.txt +++ b/swaybar/CMakeLists.txt @@ -25,6 +25,12 @@ target_link_libraries(swaybar ${JSONC_LIBRARIES} ) +if (WITH_GDK_PIXBUF) + include_directories( + ${GDK_PIXBUF_INCLUDE_DIRS} + ) +endif() + install( TARGETS swaybar RUNTIME diff --git a/swaybar/render.c b/swaybar/render.c index ce5d10b4..1573a373 100644 --- a/swaybar/render.c +++ b/swaybar/render.c @@ -2,6 +2,7 @@ #include #include +#include "client/cairo.h" #include "client/pango.h" #include "client/window.h" #include "bar/config.h" @@ -15,14 +16,6 @@ static int ws_horizontal_padding = 5; static double ws_vertical_padding = 1.5; static int ws_spacing = 1; -static void cairo_set_source_u32(cairo_t *cairo, uint32_t color) { - cairo_set_source_rgba(cairo, - ((color & 0xFF000000) >> 24) / 255.0, - ((color & 0xFF0000) >> 16) / 255.0, - ((color & 0xFF00) >> 8) / 255.0, - (color & 0xFF) / 255.0); -} - /** * Renders a sharp line of any width and height. * diff --git a/swaylock/main.c b/swaylock/main.c index 98e26839..f0fe1d00 100644 --- a/swaylock/main.c +++ b/swaylock/main.c @@ -115,14 +115,6 @@ void notify_key(enum wl_keyboard_key_state state, xkb_keysym_t sym, uint32_t cod } } -static void cairo_set_source_u32(cairo_t *cairo, uint32_t color) { - cairo_set_source_rgba(cairo, - (color >> (3*8) & 0xFF) / 255.0, - (color >> (2*8) & 0xFF) / 255.0, - (color >> (1*8) & 0xFF) / 255.0, - (color >> (0*8) & 0xFF) / 255.0); -} - void render_color(struct window *window, uint32_t color) { cairo_set_source_u32(window->cairo, color); cairo_paint(window->cairo); diff --git a/wayland/cairo.c b/wayland/cairo.c index 7462b10a..ba439d9d 100644 --- a/wayland/cairo.c +++ b/wayland/cairo.c @@ -1,6 +1,13 @@ -#include #include "client/cairo.h" +void cairo_set_source_u32(cairo_t *cairo, uint32_t color) { + cairo_set_source_rgba(cairo, + (color >> (3*8) & 0xFF) / 255.0, + (color >> (2*8) & 0xFF) / 255.0, + (color >> (1*8) & 0xFF) / 255.0, + (color >> (0*8) & 0xFF) / 255.0); +} + #ifdef WITH_GDK_PIXBUF #include