extract cairo_set_source_u32()

This commit is contained in:
Christoph Gysin 2016-01-25 22:44:27 +02:00
parent d2af1f3395
commit a5345e807e
5 changed files with 20 additions and 17 deletions

View file

@ -1,6 +1,11 @@
#ifndef _SWAY_CAIRO_H #ifndef _SWAY_CAIRO_H
#define _SWAY_CAIRO_H #define _SWAY_CAIRO_H
#include <stdint.h>
#include <cairo/cairo.h>
void cairo_set_source_u32(cairo_t *cairo, uint32_t color);
#ifdef WITH_GDK_PIXBUF #ifdef WITH_GDK_PIXBUF
#include <gdk-pixbuf/gdk-pixbuf.h> #include <gdk-pixbuf/gdk-pixbuf.h>

View file

@ -25,6 +25,12 @@ target_link_libraries(swaybar
${JSONC_LIBRARIES} ${JSONC_LIBRARIES}
) )
if (WITH_GDK_PIXBUF)
include_directories(
${GDK_PIXBUF_INCLUDE_DIRS}
)
endif()
install( install(
TARGETS swaybar TARGETS swaybar
RUNTIME RUNTIME

View file

@ -2,6 +2,7 @@
#include <stdint.h> #include <stdint.h>
#include <string.h> #include <string.h>
#include "client/cairo.h"
#include "client/pango.h" #include "client/pango.h"
#include "client/window.h" #include "client/window.h"
#include "bar/config.h" #include "bar/config.h"
@ -15,14 +16,6 @@ static int ws_horizontal_padding = 5;
static double ws_vertical_padding = 1.5; static double ws_vertical_padding = 1.5;
static int ws_spacing = 1; 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. * Renders a sharp line of any width and height.
* *

View file

@ -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) { void render_color(struct window *window, uint32_t color) {
cairo_set_source_u32(window->cairo, color); cairo_set_source_u32(window->cairo, color);
cairo_paint(window->cairo); cairo_paint(window->cairo);

View file

@ -1,6 +1,13 @@
#include <cairo/cairo.h>
#include "client/cairo.h" #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 #ifdef WITH_GDK_PIXBUF
#include <gdk-pixbuf/gdk-pixbuf.h> #include <gdk-pixbuf/gdk-pixbuf.h>