mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-18 13:54:36 -05:00
use color, background-color and border-color
This commit is contained in:
parent
4dc9f29512
commit
6b43fed3aa
5 changed files with 8 additions and 54 deletions
|
@ -133,16 +133,6 @@ void rofi_theme_widget_add_properties ( ThemeWidget *widget, GHashTable *table )
|
||||||
* @returns The distance value of this property for this widget.
|
* @returns The distance value of this property for this widget.
|
||||||
*/
|
*/
|
||||||
RofiDistance rofi_theme_get_distance ( const widget *widget, const char *property, int def );
|
RofiDistance rofi_theme_get_distance ( const widget *widget, const char *property, int def );
|
||||||
/**
|
|
||||||
* @param widget The widget to query
|
|
||||||
* @param property The property to query.
|
|
||||||
* @param def The default value.
|
|
||||||
*
|
|
||||||
* Obtain the distance of the widget.
|
|
||||||
*
|
|
||||||
* @returns The distance value of this property for this widget.
|
|
||||||
*/
|
|
||||||
RofiDistance rofi_theme_get_distance_exact ( const widget *widget, const char *property, int def );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param widget The widget to query
|
* @param widget The widget to query
|
||||||
|
@ -166,16 +156,6 @@ int rofi_theme_get_integer ( const widget *widget, const char *property, int
|
||||||
*/
|
*/
|
||||||
int rofi_theme_get_position ( const widget *widget, const char *property, int def );
|
int rofi_theme_get_position ( const widget *widget, const char *property, int def );
|
||||||
|
|
||||||
/**
|
|
||||||
* @param widget The widget to query
|
|
||||||
* @param property The property to query.
|
|
||||||
* @param def The default value.
|
|
||||||
*
|
|
||||||
* Obtain the integer of the widget.
|
|
||||||
*
|
|
||||||
* @returns The integer value of this property for this widget.
|
|
||||||
*/
|
|
||||||
int rofi_theme_get_integer_exact ( const widget *widget, const char *property, int def );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param widget The widget to query
|
* @param widget The widget to query
|
||||||
|
|
|
@ -26,4 +26,6 @@ const char * const PropertyTypeName[P_NUM_TYPES] = {
|
||||||
"List",
|
"List",
|
||||||
/** Orientation */
|
/** Orientation */
|
||||||
"Orientation",
|
"Orientation",
|
||||||
|
/** Inherit */
|
||||||
|
"Inherit",
|
||||||
};
|
};
|
||||||
|
|
|
@ -504,27 +504,10 @@ int rofi_theme_get_integer ( const widget *widget, const char *property, int def
|
||||||
g_debug ( "Theme entry: #%s %s property %s unset.", widget->name, widget->state ? widget->state : "", property );
|
g_debug ( "Theme entry: #%s %s property %s unset.", widget->name, widget->state ? widget->state : "", property );
|
||||||
return def;
|
return def;
|
||||||
}
|
}
|
||||||
int rofi_theme_get_integer_exact ( const widget *widget, const char *property, int def )
|
RofiDistance rofi_theme_get_distance ( const widget *widget, const char *property, int def )
|
||||||
{
|
{
|
||||||
// State is note considered when doing exact match, only base name.
|
ThemeWidget *wid = rofi_theme_find_widget ( widget->name, widget->state, FALSE );
|
||||||
ThemeWidget *wid = rofi_theme_find_widget ( widget->name, NULL, TRUE );
|
Property *p = rofi_theme_find_property ( wid, P_PADDING, property, FALSE );
|
||||||
Property *p = rofi_theme_find_property ( wid, P_INTEGER, property, TRUE );
|
|
||||||
if ( p ) {
|
|
||||||
if ( p->type == P_INHERIT ) {
|
|
||||||
if ( widget->parent ) {
|
|
||||||
return rofi_theme_get_integer_exact( widget->parent, property, def );
|
|
||||||
}
|
|
||||||
return def;
|
|
||||||
}
|
|
||||||
return p->value.i;
|
|
||||||
}
|
|
||||||
g_debug ( "Theme entry: #%s %s property %s unset.", widget->name, widget->state ? widget->state : "", property );
|
|
||||||
return def;
|
|
||||||
}
|
|
||||||
static RofiDistance _rofi_theme_get_distance ( const widget *widget, const char *property, int def, gboolean exact )
|
|
||||||
{
|
|
||||||
ThemeWidget *wid = rofi_theme_find_widget ( widget->name, widget->state, exact );
|
|
||||||
Property *p = rofi_theme_find_property ( wid, P_PADDING, property, exact );
|
|
||||||
if ( p ) {
|
if ( p ) {
|
||||||
if ( p->type == P_INHERIT ) {
|
if ( p->type == P_INHERIT ) {
|
||||||
if ( widget->parent ) {
|
if ( widget->parent ) {
|
||||||
|
@ -543,15 +526,6 @@ static RofiDistance _rofi_theme_get_distance ( const widget *widget, const char
|
||||||
return (RofiDistance){ def, ROFI_PU_PX, ROFI_HL_SOLID };
|
return (RofiDistance){ def, ROFI_PU_PX, ROFI_HL_SOLID };
|
||||||
}
|
}
|
||||||
|
|
||||||
RofiDistance rofi_theme_get_distance_exact ( const widget *widget, const char *property, int def )
|
|
||||||
{
|
|
||||||
return _rofi_theme_get_distance ( widget, property, def, TRUE );
|
|
||||||
}
|
|
||||||
RofiDistance rofi_theme_get_distance ( const widget *widget, const char *property, int def )
|
|
||||||
{
|
|
||||||
return _rofi_theme_get_distance ( widget, property, def, FALSE );
|
|
||||||
}
|
|
||||||
|
|
||||||
int rofi_theme_get_boolean ( const widget *widget, const char *property, int def )
|
int rofi_theme_get_boolean ( const widget *widget, const char *property, int def )
|
||||||
{
|
{
|
||||||
ThemeWidget *wid = rofi_theme_find_widget ( widget->name, widget->state, FALSE );
|
ThemeWidget *wid = rofi_theme_find_widget ( widget->name, widget->state, FALSE );
|
||||||
|
|
|
@ -442,9 +442,7 @@ static void textbox_draw ( widget *wid, cairo_t *draw )
|
||||||
// TODO check if this is still needed after flatning.
|
// TODO check if this is still needed after flatning.
|
||||||
cairo_set_operator ( draw, CAIRO_OPERATOR_OVER );
|
cairo_set_operator ( draw, CAIRO_OPERATOR_OVER );
|
||||||
cairo_set_source_rgb ( draw, 0.0, 0.0, 0.0 );
|
cairo_set_source_rgb ( draw, 0.0, 0.0, 0.0 );
|
||||||
rofi_theme_get_color ( WIDGET ( tb ), "foreground", draw );
|
rofi_theme_get_color ( WIDGET ( tb ), "color", draw );
|
||||||
// Text
|
|
||||||
rofi_theme_get_color ( WIDGET ( tb ), "text", draw );
|
|
||||||
// draw the cursor
|
// draw the cursor
|
||||||
if ( tb->flags & TB_EDITABLE && tb->blink ) {
|
if ( tb->flags & TB_EDITABLE && tb->blink ) {
|
||||||
// We want to place the cursor based on the text shown.
|
// We want to place the cursor based on the text shown.
|
||||||
|
|
|
@ -205,7 +205,7 @@ void widget_draw ( widget *widget, cairo_t *d )
|
||||||
cairo_close_path ( d );
|
cairo_close_path ( d );
|
||||||
|
|
||||||
cairo_set_source_rgba ( d, 1.0, 1.0, 1.0, 1.0 );
|
cairo_set_source_rgba ( d, 1.0, 1.0, 1.0, 1.0 );
|
||||||
rofi_theme_get_color ( widget, "background", d );
|
rofi_theme_get_color ( widget, "background-color", d );
|
||||||
cairo_fill_preserve ( d );
|
cairo_fill_preserve ( d );
|
||||||
cairo_clip ( d );
|
cairo_clip ( d );
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ void widget_draw ( widget *widget, cairo_t *d )
|
||||||
cairo_save ( d );
|
cairo_save ( d );
|
||||||
cairo_translate ( d, widget->x, widget->y );
|
cairo_translate ( d, widget->x, widget->y );
|
||||||
cairo_new_path ( d );
|
cairo_new_path ( d );
|
||||||
rofi_theme_get_color ( widget, "foreground", d );
|
rofi_theme_get_color ( widget, "border-color", d );
|
||||||
if ( left > 0 ) {
|
if ( left > 0 ) {
|
||||||
double offset = ( radius_tl > 0 ) ? floor ( top / 2.0 ) : 0;
|
double offset = ( radius_tl > 0 ) ? floor ( top / 2.0 ) : 0;
|
||||||
cairo_set_line_width ( d, left );
|
cairo_set_line_width ( d, left );
|
||||||
|
|
Loading…
Reference in a new issue