diff --git a/include/theme.h b/include/theme.h index 6912a594..101f7d5d 100644 --- a/include/theme.h +++ b/include/theme.h @@ -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; /** diff --git a/lexer/theme-parser.y b/lexer/theme-parser.y index 139c8354..4d9dea69 100644 --- a/lexer/theme-parser.y +++ b/lexer/theme-parser.y @@ -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; } ; /** diff --git a/source/theme.c b/source/theme.c index edfc4be5..80ed1c2e 100644 --- a/source/theme.c +++ b/source/theme.c @@ -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 ); } diff --git a/source/widgets/widget.c b/source/widgets/widget.c index e0e89374..20fb09c9 100644 --- a/source/widgets/widget.c +++ b/source/widgets/widget.c @@ -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 ); diff --git a/test/theme-parser-test.c b/test/theme-parser-test.c index e2fd9083..7d6f67a7 100644 --- a/test/theme-parser-test.c +++ b/test/theme-parser-test.c @@ -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