labwc/include/theme.h
Johan Malm 2f5a44d34d theme: move title_height to theme struct
title_height is a derived variable which needs both config and theme
variables (font height and title padding). The code is tidier calling
post_processing() for this from theme_init()
2021-04-15 20:13:49 +01:00

59 lines
1.6 KiB
C

/*
* Theme engine for labwc - trying to be consistent with openbox
*
* Copyright Johan Malm 2020
*/
#ifndef __LABWC_THEME_H
#define __LABWC_THEME_H
#include <stdio.h>
#include <wlr/render/wlr_renderer.h>
struct theme {
int border_width;
int padding_height;
float window_active_border_color[4];
float window_inactive_border_color[4];
float window_active_title_bg_color[4];
float window_inactive_title_bg_color[4];
float window_active_button_unpressed_image_color[4];
float window_inactive_button_unpressed_image_color[4];
float menu_items_bg_color[4];
float menu_items_text_color[4];
float menu_items_active_bg_color[4];
float menu_items_active_text_color[4];
struct wlr_texture *xbm_close_active_unpressed;
struct wlr_texture *xbm_maximize_active_unpressed;
struct wlr_texture *xbm_iconify_active_unpressed;
struct wlr_texture *xbm_close_inactive_unpressed;
struct wlr_texture *xbm_maximize_inactive_unpressed;
struct wlr_texture *xbm_iconify_inactive_unpressed;
/* not set in rc.xml or themerc, but derived from font and padding_height */
int title_height;
};
/**
* theme_init - read openbox theme and generate button textures
* @theme: theme data
* @renderer: wlr_renderer for creating button textures
* @theme_name: theme-name in <theme-dir>/<theme-name>/openbox-3/themerc
* Note <theme-dir> is obtained in theme-dir.c
*/
void theme_init(struct theme *theme, struct wlr_renderer *renderer,
const char *theme_name);
/**
* theme_finish - free button textures
* @theme: theme data
*/
void theme_finish(struct theme *theme);
#endif /* __LABWC_THEME_H */