Merge pull request #476 from christophgysin/cairo_set_source_u32

extract cairo_set_source_u32()
This commit is contained in:
Drew DeVault 2016-01-25 16:06:46 -05:00
commit f1e1ba0a56
5 changed files with 20 additions and 17 deletions

View File

@ -1,6 +1,11 @@
#ifndef _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
#include <gdk-pixbuf/gdk-pixbuf.h>

View File

@ -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

View File

@ -2,6 +2,7 @@
#include <stdint.h>
#include <string.h>
#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.
*

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) {
cairo_set_source_u32(window->cairo, color);
cairo_paint(window->cairo);

View File

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