mirror of
https://github.com/lbonn/rofi
synced 2024-11-10 14:24:27 +00:00
Change PixelWidth to RofiPixelUnit.
This commit is contained in:
parent
48bf1709b6
commit
7352f1c2ba
5 changed files with 67 additions and 67 deletions
|
@ -56,10 +56,10 @@ typedef enum
|
|||
typedef enum
|
||||
{
|
||||
/** Solid line */
|
||||
SOLID,
|
||||
ROFI_HL_SOLID,
|
||||
/** Dashed line */
|
||||
DASH
|
||||
} LineStyle;
|
||||
ROFI_HL_DASH
|
||||
} RofiLineStyle;
|
||||
|
||||
/**
|
||||
* Distance unit type.
|
||||
|
@ -67,12 +67,12 @@ typedef enum
|
|||
typedef enum
|
||||
{
|
||||
/** PixelWidth in pixels. */
|
||||
PW_PX,
|
||||
ROFI_PU_PX,
|
||||
/** PixelWidth in EM. */
|
||||
PW_EM,
|
||||
ROFI_PU_EM,
|
||||
/** PixelWidget in percentage */
|
||||
PW_PERCENT,
|
||||
} PixelWidth;
|
||||
ROFI_PU_PERCENT,
|
||||
} RofiPixelUnit;
|
||||
|
||||
/**
|
||||
* Structure representing a distance.
|
||||
|
@ -82,9 +82,9 @@ typedef struct
|
|||
/** Distance */
|
||||
double distance;
|
||||
/** Unit type of the distance */
|
||||
PixelWidth type;
|
||||
RofiPixelUnit type;
|
||||
/** Style of the line */
|
||||
LineStyle style;
|
||||
RofiLineStyle style;
|
||||
} Distance;
|
||||
|
||||
/**
|
||||
|
|
|
@ -447,18 +447,18 @@ t_property_distance
|
|||
|
||||
/** distance unit. px, em, % */
|
||||
t_property_unit
|
||||
: T_UNIT_PX { $$ = PW_PX; }
|
||||
| T_UNIT_EM { $$ = PW_EM; }
|
||||
| T_PERCENT { $$ = PW_PERCENT; }
|
||||
: T_UNIT_PX { $$ = ROFI_PU_PX; }
|
||||
| T_UNIT_EM { $$ = ROFI_PU_EM; }
|
||||
| T_PERCENT { $$ = ROFI_PU_PERCENT; }
|
||||
;
|
||||
/******
|
||||
* Line style
|
||||
* If not set, solid.
|
||||
*/
|
||||
t_property_line_style
|
||||
: %empty { $$ = SOLID; }
|
||||
| T_SOLID { $$ = SOLID; }
|
||||
| T_DASH { $$ = DASH; }
|
||||
: %empty { $$ = ROFI_HL_SOLID; }
|
||||
| T_SOLID { $$ = ROFI_HL_SOLID; }
|
||||
| T_DASH { $$ = ROFI_HL_DASH; }
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
@ -131,16 +131,16 @@ void rofi_theme_free ( ThemeWidget *widget )
|
|||
*/
|
||||
static void rofi_theme_print_distance ( Distance d )
|
||||
{
|
||||
if ( d.type == PW_PX ) {
|
||||
if ( d.type == ROFI_PU_PX ) {
|
||||
printf ( "%upx ", (unsigned int) d.distance );
|
||||
}
|
||||
else if ( d.type == PW_PERCENT ) {
|
||||
else if ( d.type == ROFI_PU_PERCENT ) {
|
||||
printf ( "%f%% ", d.distance );
|
||||
}
|
||||
else {
|
||||
printf ( "%fem ", d.distance );
|
||||
}
|
||||
if ( d.style == DASH ) {
|
||||
if ( d.style == ROFI_HL_DASH ) {
|
||||
printf ( "dash " );
|
||||
}
|
||||
}
|
||||
|
@ -511,14 +511,14 @@ static Distance _rofi_theme_get_distance ( const widget *widget, const char *pro
|
|||
Property *p = rofi_theme_find_property ( wid, P_PADDING, property, exact );
|
||||
if ( p ) {
|
||||
if ( p->type == P_INTEGER ) {
|
||||
return (Distance){ p->value.i, PW_PX, SOLID };
|
||||
return (Distance){ p->value.i, ROFI_PU_PX, ROFI_HL_SOLID };
|
||||
}
|
||||
else {
|
||||
return p->value.padding.left;
|
||||
}
|
||||
}
|
||||
g_debug ( "Theme entry: #%s %s property %s unset.", widget->name, widget->state ? widget->state : "", property );
|
||||
return (Distance){ def, PW_PX, SOLID };
|
||||
return (Distance){ def, ROFI_PU_PX, ROFI_HL_SOLID };
|
||||
}
|
||||
|
||||
|
||||
|
@ -597,7 +597,7 @@ Padding rofi_theme_get_padding ( const widget *widget, const char *property, Pad
|
|||
pad = p->value.padding;
|
||||
}
|
||||
else {
|
||||
Distance d = (Distance){ p->value.i, PW_PX, SOLID };
|
||||
Distance d = (Distance){ p->value.i, ROFI_PU_PX, ROFI_HL_SOLID };
|
||||
return (Padding){ d, d, d, d };
|
||||
}
|
||||
}
|
||||
|
@ -639,10 +639,10 @@ ThemeHighlight rofi_theme_get_highlight ( widget *widget, const char *property,
|
|||
|
||||
int distance_get_pixel ( Distance d, Orientation ori )
|
||||
{
|
||||
if ( d.type == PW_EM ) {
|
||||
if ( d.type == ROFI_PU_EM ) {
|
||||
return d.distance * textbox_get_estimated_char_height ();
|
||||
}
|
||||
else if ( d.type == PW_PERCENT ) {
|
||||
else if ( d.type == ROFI_PU_PERCENT ) {
|
||||
if ( ori == ORIENTATION_VERTICAL ) {
|
||||
int height = 0;
|
||||
rofi_view_get_current_monitor ( NULL, &height );
|
||||
|
@ -659,7 +659,7 @@ int distance_get_pixel ( Distance d, Orientation ori )
|
|||
|
||||
void distance_get_linestyle ( Distance d, cairo_t *draw )
|
||||
{
|
||||
if ( d.style == DASH ) {
|
||||
if ( d.style == ROFI_HL_DASH ) {
|
||||
const double dashes[1] = { 4 };
|
||||
cairo_set_dash ( draw, dashes, 1, 0.0 );
|
||||
}
|
||||
|
|
|
@ -38,10 +38,10 @@ void widget_init ( widget *widget, WidgetType type, const char *name )
|
|||
{
|
||||
widget->type = type;
|
||||
widget->name = g_strdup ( name );
|
||||
widget->def_padding = (Padding){ { WIDGET_DEFAULT_PADDING, PW_PX, SOLID }, { WIDGET_DEFAULT_PADDING, PW_PX, SOLID }, { WIDGET_DEFAULT_PADDING, PW_PX, SOLID }, { WIDGET_DEFAULT_PADDING, PW_PX, SOLID } };
|
||||
widget->def_border = (Padding){ { 0, PW_PX, SOLID }, { 0, PW_PX, SOLID }, { 0, PW_PX, SOLID }, { 0, PW_PX, SOLID } };
|
||||
widget->def_border_radius = (Padding){ { 0, PW_PX, SOLID }, { 0, PW_PX, SOLID }, { 0, PW_PX, SOLID }, { 0, PW_PX, SOLID } };
|
||||
widget->def_margin = (Padding){ { 0, PW_PX, SOLID }, { 0, PW_PX, SOLID }, { 0, PW_PX, SOLID }, { 0, PW_PX, SOLID } };
|
||||
widget->def_padding = (Padding){ { WIDGET_DEFAULT_PADDING, ROFI_PU_PX, ROFI_HL_SOLID }, { WIDGET_DEFAULT_PADDING, ROFI_PU_PX, ROFI_HL_SOLID }, { WIDGET_DEFAULT_PADDING, ROFI_PU_PX, ROFI_HL_SOLID }, { WIDGET_DEFAULT_PADDING, ROFI_PU_PX, ROFI_HL_SOLID } };
|
||||
widget->def_border = (Padding){ { 0, ROFI_PU_PX, ROFI_HL_SOLID }, { 0, ROFI_PU_PX, ROFI_HL_SOLID }, { 0, ROFI_PU_PX, ROFI_HL_SOLID }, { 0, ROFI_PU_PX, ROFI_HL_SOLID } };
|
||||
widget->def_border_radius = (Padding){ { 0, ROFI_PU_PX, ROFI_HL_SOLID }, { 0, ROFI_PU_PX, ROFI_HL_SOLID }, { 0, ROFI_PU_PX, ROFI_HL_SOLID }, { 0, ROFI_PU_PX, ROFI_HL_SOLID } };
|
||||
widget->def_margin = (Padding){ { 0, ROFI_PU_PX, ROFI_HL_SOLID }, { 0, ROFI_PU_PX, ROFI_HL_SOLID }, { 0, ROFI_PU_PX, ROFI_HL_SOLID }, { 0, ROFI_PU_PX, ROFI_HL_SOLID } };
|
||||
|
||||
widget->padding = rofi_theme_get_padding ( widget, "padding", widget->def_padding );
|
||||
widget->border = rofi_theme_get_padding ( widget, "border", widget->def_border );
|
||||
|
|
|
@ -222,12 +222,12 @@ START_TEST ( test_properties_distance_em)
|
|||
wid.state = NULL;
|
||||
rofi_theme_parse_string ( "* { test: 10em;}");
|
||||
ck_assert_ptr_nonnull ( rofi_theme );
|
||||
Distance d = (Distance){ 1, PW_PX, SOLID};
|
||||
Distance d = (Distance){ 1, ROFI_PU_PX, ROFI_HL_SOLID};
|
||||
Padding pi = (Padding){d,d,d,d};
|
||||
Padding p = rofi_theme_get_padding ( &wid, "test", pi);
|
||||
ck_assert_int_eq ( p.left.distance , 10 );
|
||||
ck_assert_int_eq( p.left.type , PW_EM );
|
||||
ck_assert_int_eq( p.left.style, SOLID);
|
||||
ck_assert_int_eq( p.left.type , ROFI_PU_EM );
|
||||
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
|
||||
|
||||
}
|
||||
END_TEST
|
||||
|
@ -238,17 +238,17 @@ START_TEST ( test_properties_distance_em_linestyle)
|
|||
wid.state = NULL;
|
||||
rofi_theme_parse_string ( "* { sol: 1.3em solid; dash: 1.5em dash;}");
|
||||
ck_assert_ptr_nonnull ( rofi_theme );
|
||||
Distance d = (Distance){ 1, PW_PX, SOLID};
|
||||
Distance d = (Distance){ 1, ROFI_PU_PX, ROFI_HL_SOLID};
|
||||
Padding pi = (Padding){d,d,d,d};
|
||||
Padding p = rofi_theme_get_padding ( &wid, "sol", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 1.3 );
|
||||
ck_assert_int_eq( p.left.type , PW_EM );
|
||||
ck_assert_int_eq( p.left.style, SOLID);
|
||||
ck_assert_int_eq( p.left.type , ROFI_PU_EM );
|
||||
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
|
||||
|
||||
p = rofi_theme_get_padding ( &wid, "dash", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 1.5 );
|
||||
ck_assert_int_eq( p.left.type , PW_EM );
|
||||
ck_assert_int_eq( p.left.style, DASH);
|
||||
ck_assert_int_eq( p.left.type , ROFI_PU_EM );
|
||||
ck_assert_int_eq( p.left.style, ROFI_HL_DASH);
|
||||
}
|
||||
END_TEST
|
||||
START_TEST ( test_properties_distance_px)
|
||||
|
@ -258,12 +258,12 @@ START_TEST ( test_properties_distance_px)
|
|||
wid.state = NULL;
|
||||
rofi_theme_parse_string ( "* { test: 10px;}");
|
||||
ck_assert_ptr_nonnull ( rofi_theme );
|
||||
Distance d = (Distance){ 1, PW_EM, DASH};
|
||||
Distance d = (Distance){ 1, ROFI_PU_EM, ROFI_HL_DASH};
|
||||
Padding pi = (Padding){d,d,d,d};
|
||||
Padding p = rofi_theme_get_padding ( &wid, "test", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 10.0 );
|
||||
ck_assert_int_eq( p.left.type , PW_PX );
|
||||
ck_assert_int_eq( p.left.style, SOLID);
|
||||
ck_assert_int_eq( p.left.type , ROFI_PU_PX );
|
||||
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
|
||||
}
|
||||
END_TEST
|
||||
START_TEST ( test_properties_distance_px_linestyle)
|
||||
|
@ -273,16 +273,16 @@ START_TEST ( test_properties_distance_px_linestyle)
|
|||
wid.state = NULL;
|
||||
rofi_theme_parse_string ( "* { sol: 10px solid; dash: 14px dash;}");
|
||||
ck_assert_ptr_nonnull ( rofi_theme );
|
||||
Distance d = (Distance){ 1, PW_EM, DASH};
|
||||
Distance d = (Distance){ 1, ROFI_PU_EM, ROFI_HL_DASH};
|
||||
Padding pi = (Padding){d,d,d,d};
|
||||
Padding p = rofi_theme_get_padding ( &wid, "sol", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 10.0 );
|
||||
ck_assert_int_eq( p.left.type , PW_PX );
|
||||
ck_assert_int_eq( p.left.style, SOLID);
|
||||
ck_assert_int_eq( p.left.type , ROFI_PU_PX );
|
||||
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
|
||||
p = rofi_theme_get_padding ( &wid, "dash", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 14.0 );
|
||||
ck_assert_int_eq( p.left.type , PW_PX );
|
||||
ck_assert_int_eq( p.left.style, DASH);
|
||||
ck_assert_int_eq( p.left.type , ROFI_PU_PX );
|
||||
ck_assert_int_eq( p.left.style, ROFI_HL_DASH);
|
||||
}
|
||||
END_TEST
|
||||
START_TEST ( test_properties_distance_percent)
|
||||
|
@ -292,12 +292,12 @@ START_TEST ( test_properties_distance_percent)
|
|||
wid.state = NULL;
|
||||
rofi_theme_parse_string ( "* { test: 10%;}");
|
||||
ck_assert_ptr_nonnull ( rofi_theme );
|
||||
Distance d = (Distance){ 1, PW_EM, DASH};
|
||||
Distance d = (Distance){ 1, ROFI_PU_EM, ROFI_HL_DASH};
|
||||
Padding pi = (Padding){d,d,d,d};
|
||||
Padding p = rofi_theme_get_padding ( &wid, "test", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 10.0 );
|
||||
ck_assert_int_eq( p.left.type , PW_PERCENT);
|
||||
ck_assert_int_eq( p.left.style, SOLID);
|
||||
ck_assert_int_eq( p.left.type , ROFI_PU_PERCENT);
|
||||
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
|
||||
}
|
||||
END_TEST
|
||||
START_TEST ( test_properties_distance_percent_linestyle)
|
||||
|
@ -307,16 +307,16 @@ START_TEST ( test_properties_distance_percent_linestyle)
|
|||
wid.state = NULL;
|
||||
rofi_theme_parse_string ( "* { sol: 10% solid; dash: 10% dash;}");
|
||||
ck_assert_ptr_nonnull ( rofi_theme );
|
||||
Distance d = (Distance){ 1, PW_EM, DASH};
|
||||
Distance d = (Distance){ 1, ROFI_PU_EM, ROFI_HL_DASH};
|
||||
Padding pi = (Padding){d,d,d,d};
|
||||
Padding p = rofi_theme_get_padding ( &wid, "sol", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 10.0 );
|
||||
ck_assert_int_eq( p.left.type , PW_PERCENT);
|
||||
ck_assert_int_eq( p.left.style, SOLID);
|
||||
ck_assert_int_eq( p.left.type , ROFI_PU_PERCENT);
|
||||
ck_assert_int_eq( p.left.style, ROFI_HL_SOLID);
|
||||
p = rofi_theme_get_padding ( &wid, "dash", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 10 );
|
||||
ck_assert_int_eq( p.left.type , PW_PERCENT);
|
||||
ck_assert_int_eq( p.left.style, DASH);
|
||||
ck_assert_int_eq( p.left.type , ROFI_PU_PERCENT);
|
||||
ck_assert_int_eq( p.left.style, ROFI_HL_DASH);
|
||||
}
|
||||
END_TEST
|
||||
START_TEST ( test_properties_position)
|
||||
|
@ -961,17 +961,17 @@ START_TEST ( test_properties_padding_2 )
|
|||
wid.name = "blaat";
|
||||
wid.state = NULL;
|
||||
rofi_theme_parse_string ( "* { test: 10px 20px;}");
|
||||
Distance d = (Distance){ 1, PW_PX, SOLID};
|
||||
Distance d = (Distance){ 1, ROFI_PU_PX, ROFI_HL_SOLID};
|
||||
Padding pi = (Padding){d,d,d,d};
|
||||
Padding p = rofi_theme_get_padding ( &wid, "test", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 20 );
|
||||
ck_assert_int_eq ( p.left.type , PW_PX );
|
||||
ck_assert_int_eq ( p.left.type , ROFI_PU_PX );
|
||||
ck_assert_double_eq ( p.right.distance , 20 );
|
||||
ck_assert_int_eq ( p.right.type , PW_PX );
|
||||
ck_assert_int_eq ( p.right.type , ROFI_PU_PX );
|
||||
ck_assert_double_eq ( p.top.distance , 10 );
|
||||
ck_assert_int_eq ( p.top.type , PW_PX );
|
||||
ck_assert_int_eq ( p.top.type , ROFI_PU_PX );
|
||||
ck_assert_double_eq ( p.bottom.distance , 10 );
|
||||
ck_assert_int_eq ( p.bottom.type , PW_PX );
|
||||
ck_assert_int_eq ( p.bottom.type , ROFI_PU_PX );
|
||||
|
||||
}
|
||||
END_TEST
|
||||
|
@ -981,17 +981,17 @@ START_TEST ( test_properties_padding_3 )
|
|||
wid.name = "blaat";
|
||||
wid.state = NULL;
|
||||
rofi_theme_parse_string ( "* { test: 10px 30px 20px;}");
|
||||
Distance d = (Distance){ 1, PW_PX, SOLID};
|
||||
Distance d = (Distance){ 1, ROFI_PU_PX, ROFI_HL_SOLID};
|
||||
Padding pi = (Padding){d,d,d,d};
|
||||
Padding p = rofi_theme_get_padding ( &wid, "test", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 30 );
|
||||
ck_assert_int_eq ( p.left.type , PW_PX );
|
||||
ck_assert_int_eq ( p.left.type , ROFI_PU_PX );
|
||||
ck_assert_double_eq ( p.right.distance , 30 );
|
||||
ck_assert_int_eq ( p.right.type , PW_PX );
|
||||
ck_assert_int_eq ( p.right.type , ROFI_PU_PX );
|
||||
ck_assert_double_eq ( p.top.distance , 10 );
|
||||
ck_assert_int_eq ( p.top.type , PW_PX );
|
||||
ck_assert_int_eq ( p.top.type , ROFI_PU_PX );
|
||||
ck_assert_double_eq ( p.bottom.distance , 20 );
|
||||
ck_assert_int_eq ( p.bottom.type , PW_PX );
|
||||
ck_assert_int_eq ( p.bottom.type , ROFI_PU_PX );
|
||||
|
||||
}
|
||||
END_TEST
|
||||
|
@ -1001,17 +1001,17 @@ START_TEST ( test_properties_padding_4 )
|
|||
wid.name = "blaat";
|
||||
wid.state = NULL;
|
||||
rofi_theme_parse_string ( "* { test: 10px 30px 20px 40px;}");
|
||||
Distance d = (Distance){ 1, PW_PX, SOLID};
|
||||
Distance d = (Distance){ 1, ROFI_PU_PX, ROFI_HL_SOLID};
|
||||
Padding pi = (Padding){d,d,d,d};
|
||||
Padding p = rofi_theme_get_padding ( &wid, "test", pi);
|
||||
ck_assert_double_eq ( p.left.distance , 40 );
|
||||
ck_assert_int_eq ( p.left.type , PW_PX );
|
||||
ck_assert_int_eq ( p.left.type , ROFI_PU_PX );
|
||||
ck_assert_double_eq ( p.right.distance , 30 );
|
||||
ck_assert_int_eq ( p.right.type , PW_PX );
|
||||
ck_assert_int_eq ( p.right.type , ROFI_PU_PX );
|
||||
ck_assert_double_eq ( p.top.distance , 10 );
|
||||
ck_assert_int_eq ( p.top.type , PW_PX );
|
||||
ck_assert_int_eq ( p.top.type , ROFI_PU_PX );
|
||||
ck_assert_double_eq ( p.bottom.distance , 20 );
|
||||
ck_assert_int_eq ( p.bottom.type , PW_PX );
|
||||
ck_assert_int_eq ( p.bottom.type , ROFI_PU_PX );
|
||||
|
||||
}
|
||||
END_TEST
|
||||
|
|
Loading…
Reference in a new issue