mirror of
				https://github.com/labwc/labwc.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	Merge theme.c and theme-builtin.c
This commit is contained in:
		
							parent
							
								
									cb2a504440
								
							
						
					
					
						commit
						22d66c81ca
					
				
					 4 changed files with 30 additions and 40 deletions
				
			
		| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
labwc_sources += files(
 | 
			
		||||
  'theme.c',
 | 
			
		||||
  'theme-builtin.c',
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,25 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * We generally use Openbox defaults, but if no theme file can be found it's
 | 
			
		||||
 * better to populate the theme variables with some sane values as no-one
 | 
			
		||||
 * wants to use openbox without a theme - it'll all just be black and white.
 | 
			
		||||
 *
 | 
			
		||||
 * Openbox doesn't actual start if it can't find a theme. As it's normally
 | 
			
		||||
 * packaged with Clearlooks, this is not a problem, but for labwc I thought
 | 
			
		||||
 * this was a bit hard-line. People might want to try labwc without having
 | 
			
		||||
 * Openbox (and associated themes) installed.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "theme/theme.h"
 | 
			
		||||
 | 
			
		||||
void theme_builtin(struct theme *theme)
 | 
			
		||||
{
 | 
			
		||||
	parse_hexstr("#589bda", theme->window_active_title_bg_color);
 | 
			
		||||
	parse_hexstr("#3c7cb7", theme->window_active_handle_bg_color);
 | 
			
		||||
	parse_hexstr("#efece6", theme->window_inactive_title_bg_color);
 | 
			
		||||
	parse_hexstr("#ffffff", theme->window_active_button_unpressed_image_color);
 | 
			
		||||
	parse_hexstr("#000000", theme->window_inactive_button_unpressed_image_color);
 | 
			
		||||
	parse_hexstr("#fcfbfa", theme->menu_items_bg_color);
 | 
			
		||||
	parse_hexstr("#000000", theme->menu_items_text_color);
 | 
			
		||||
	parse_hexstr("#4a90d9", theme->menu_items_active_bg_color);
 | 
			
		||||
	parse_hexstr("#ffffff", theme->menu_items_active_text_color);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -28,6 +28,11 @@ hex_to_dec(char c)
 | 
			
		|||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * parse_hexstr - parse #rrggbb
 | 
			
		||||
 * @hex: hex string to be parsed
 | 
			
		||||
 * @rgba: pointer to float[4] for return value
 | 
			
		||||
 */
 | 
			
		||||
void
 | 
			
		||||
parse_hexstr(const char *hex, float *rgba)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -44,6 +49,31 @@ parse_hexstr(const char *hex, float *rgba)
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * We generally use Openbox defaults, but if no theme file can be found it's
 | 
			
		||||
 * better to populate the theme variables with some sane values as no-one
 | 
			
		||||
 * wants to use openbox without a theme - it'll all just be black and white.
 | 
			
		||||
 *
 | 
			
		||||
 * Openbox doesn't actual start if it can't find a theme. As it's normally
 | 
			
		||||
 * packaged with Clearlooks, this is not a problem, but for labwc I thought
 | 
			
		||||
 * this was a bit hard-line. People might want to try labwc without having
 | 
			
		||||
 * Openbox (and associated themes) installed.
 | 
			
		||||
 *
 | 
			
		||||
 * theme_builtin() applies a theme very similar to Clearlooks-3.4
 | 
			
		||||
 */
 | 
			
		||||
void theme_builtin(struct theme *theme)
 | 
			
		||||
{
 | 
			
		||||
	parse_hexstr("#589bda", theme->window_active_title_bg_color);
 | 
			
		||||
	parse_hexstr("#3c7cb7", theme->window_active_handle_bg_color);
 | 
			
		||||
	parse_hexstr("#efece6", theme->window_inactive_title_bg_color);
 | 
			
		||||
	parse_hexstr("#ffffff", theme->window_active_button_unpressed_image_color);
 | 
			
		||||
	parse_hexstr("#000000", theme->window_inactive_button_unpressed_image_color);
 | 
			
		||||
	parse_hexstr("#fcfbfa", theme->menu_items_bg_color);
 | 
			
		||||
	parse_hexstr("#000000", theme->menu_items_text_color);
 | 
			
		||||
	parse_hexstr("#4a90d9", theme->menu_items_active_bg_color);
 | 
			
		||||
	parse_hexstr("#ffffff", theme->menu_items_active_text_color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static bool
 | 
			
		||||
match(const gchar *pattern, const gchar *string)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue