1
0
Fork 0
mirror of https://github.com/davatorium/rofi.git synced 2025-07-31 21:59:25 -04:00

Change Distance struct to RofiDistance.

This commit is contained in:
Dave Davenport 2017-06-02 16:25:47 +02:00
parent 7352f1c2ba
commit 9915857a2e
9 changed files with 37 additions and 37 deletions

View file

@ -85,7 +85,7 @@ typedef struct
RofiPixelUnit type; RofiPixelUnit type;
/** Style of the line */ /** Style of the line */
RofiLineStyle style; RofiLineStyle style;
} Distance; } RofiDistance;
/** /**
* Type of orientation. * Type of orientation.
@ -144,10 +144,10 @@ typedef struct
*/ */
typedef struct typedef struct
{ {
Distance top; RofiDistance top;
Distance right; RofiDistance right;
Distance bottom; RofiDistance bottom;
Distance left; RofiDistance left;
} Padding; } Padding;
/** /**
@ -300,7 +300,7 @@ 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.
*/ */
Distance 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 widget The widget to query
* @param property The property to query. * @param property The property to query.
@ -310,7 +310,7 @@ Distance rofi_theme_get_distance ( const widget *widget, const char *property, i
* *
* @returns The distance value of this property for this widget. * @returns The distance value of this property for this widget.
*/ */
Distance rofi_theme_get_distance_exact ( const widget *widget, const char *property, int def ); 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
@ -424,17 +424,17 @@ ThemeHighlight rofi_theme_get_highlight ( widget *widget, const char *property,
* @param d The distance handle. * @param d The distance handle.
* @param ori The orientation. * @param ori The orientation.
* *
* Convert Distance into pixels. * Convert RofiDistance into pixels.
* @returns the number of pixels this distance represents. * @returns the number of pixels this distance represents.
*/ */
int distance_get_pixel ( Distance d, Orientation ori ); int distance_get_pixel ( RofiDistance d, Orientation ori );
/** /**
* @param d The distance handle. * @param d The distance handle.
* @param draw The cairo drawable. * @param draw The cairo drawable.
* *
* Set linestyle. * Set linestyle.
*/ */
void distance_get_linestyle ( Distance d, cairo_t *draw ); void distance_get_linestyle ( RofiDistance d, cairo_t *draw );
/** /**
* Low-level functions. * Low-level functions.

View file

@ -46,7 +46,7 @@ typedef struct _scrollbar
unsigned int length; unsigned int length;
unsigned int pos; unsigned int pos;
unsigned int pos_length; unsigned int pos_length;
Distance width; RofiDistance width;
} scrollbar; } scrollbar;
/** /**

View file

@ -144,7 +144,7 @@ static ThemeColor hwb_to_rgb ( double h, double w, double b)
GList *list; GList *list;
Property *property; Property *property;
GHashTable *property_list; GHashTable *property_list;
Distance distance; RofiDistance distance;
} }
%token <ival> T_END 0 "end of file" %token <ival> T_END 0 "end of file"

View file

@ -64,7 +64,7 @@ const char *PropertyTypeName[] = {
"Highlight", "Highlight",
}; };
void yyerror ( YYLTYPE *yylloc, const char *, const char * ); void yyerror ( YYLTYPE *yylloc, const char *, const char * );
static gboolean distance_compare ( Distance d, Distance e ) static gboolean distance_compare ( RofiDistance d, RofiDistance e )
{ {
return d.type == e.type && d.distance == e.distance && d.style == e.style; return d.type == e.type && d.distance == e.distance && d.style == e.style;
} }
@ -129,7 +129,7 @@ void rofi_theme_free ( ThemeWidget *widget )
/** /**
* print * print
*/ */
static void rofi_theme_print_distance ( Distance d ) static void rofi_theme_print_distance ( RofiDistance d )
{ {
if ( d.type == ROFI_PU_PX ) { if ( d.type == ROFI_PU_PX ) {
printf ( "%upx ", (unsigned int) d.distance ); printf ( "%upx ", (unsigned int) d.distance );
@ -505,28 +505,28 @@ int rofi_theme_get_integer_exact ( const widget *widget, const char *property, i
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;
} }
static Distance _rofi_theme_get_distance ( const widget *widget, const char *property, int def , gboolean exact) 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 ); ThemeWidget *wid = rofi_theme_find_widget ( widget->name, widget->state, exact );
Property *p = rofi_theme_find_property ( wid, P_PADDING, property, exact ); Property *p = rofi_theme_find_property ( wid, P_PADDING, property, exact );
if ( p ) { if ( p ) {
if ( p->type == P_INTEGER ) { if ( p->type == P_INTEGER ) {
return (Distance){ p->value.i, ROFI_PU_PX, ROFI_HL_SOLID }; return (RofiDistance){ p->value.i, ROFI_PU_PX, ROFI_HL_SOLID };
} }
else { else {
return p->value.padding.left; return p->value.padding.left;
} }
} }
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 (Distance){ def, ROFI_PU_PX, ROFI_HL_SOLID }; return (RofiDistance){ def, ROFI_PU_PX, ROFI_HL_SOLID };
} }
Distance rofi_theme_get_distance_exact ( const widget *widget, const char *property, int def ) RofiDistance rofi_theme_get_distance_exact ( const widget *widget, const char *property, int def )
{ {
return _rofi_theme_get_distance ( widget, property, def , TRUE ); return _rofi_theme_get_distance ( widget, property, def , TRUE );
} }
Distance 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 )
{ {
return _rofi_theme_get_distance ( widget, property, def , FALSE); return _rofi_theme_get_distance ( widget, property, def , FALSE);
} }
@ -597,7 +597,7 @@ Padding rofi_theme_get_padding ( const widget *widget, const char *property, Pad
pad = p->value.padding; pad = p->value.padding;
} }
else { else {
Distance d = (Distance){ p->value.i, ROFI_PU_PX, ROFI_HL_SOLID }; RofiDistance d = (RofiDistance){ p->value.i, ROFI_PU_PX, ROFI_HL_SOLID };
return (Padding){ d, d, d, d }; return (Padding){ d, d, d, d };
} }
} }
@ -637,7 +637,7 @@ ThemeHighlight rofi_theme_get_highlight ( widget *widget, const char *property,
return th; return th;
} }
int distance_get_pixel ( Distance d, Orientation ori ) int distance_get_pixel ( RofiDistance d, Orientation ori )
{ {
if ( d.type == ROFI_PU_EM ) { if ( d.type == ROFI_PU_EM ) {
return d.distance * textbox_get_estimated_char_height (); return d.distance * textbox_get_estimated_char_height ();
@ -657,7 +657,7 @@ int distance_get_pixel ( Distance d, Orientation ori )
return d.distance; return d.distance;
} }
void distance_get_linestyle ( Distance d, cairo_t *draw ) void distance_get_linestyle ( RofiDistance d, cairo_t *draw )
{ {
if ( d.style == ROFI_HL_DASH ) { if ( d.style == ROFI_HL_DASH ) {
const double dashes[1] = { 4 }; const double dashes[1] = { 4 };

View file

@ -346,8 +346,8 @@ static void rofi_view_calculate_window_position ( RofiViewState *state )
break; break;
} }
// Apply offset. // Apply offset.
Distance x = rofi_theme_get_distance ( WIDGET ( state->main_window ), "x-offset", config.x_offset ); RofiDistance x = rofi_theme_get_distance ( WIDGET ( state->main_window ), "x-offset", config.x_offset );
Distance y = rofi_theme_get_distance ( WIDGET ( state->main_window ), "y-offset", config.y_offset ); RofiDistance y = rofi_theme_get_distance ( WIDGET ( state->main_window ), "y-offset", config.y_offset );
state->x += distance_get_pixel ( x, ORIENTATION_HORIZONTAL ); state->x += distance_get_pixel ( x, ORIENTATION_HORIZONTAL );
state->y += distance_get_pixel ( y, ORIENTATION_VERTICAL ); state->y += distance_get_pixel ( y, ORIENTATION_VERTICAL );
} }
@ -807,7 +807,7 @@ static void rofi_view_calculate_window_width ( RofiViewState *state )
state->width = config.menu_width < 101 ? ( CacheState.mon.w / 100.0f ) * ( float ) config.menu_width : config.menu_width; state->width = config.menu_width < 101 ? ( CacheState.mon.w / 100.0f ) * ( float ) config.menu_width : config.menu_width;
} }
// Use theme configured width, if set. // Use theme configured width, if set.
Distance width = rofi_theme_get_distance ( WIDGET ( state->main_window ), "width", state->width ); RofiDistance width = rofi_theme_get_distance ( WIDGET ( state->main_window ), "width", state->width );
state->width = distance_get_pixel ( width, ORIENTATION_HORIZONTAL ); state->width = distance_get_pixel ( width, ORIENTATION_HORIZONTAL );
} }

View file

@ -43,7 +43,7 @@ struct _box
Orientation type; Orientation type;
int max_size; int max_size;
// Padding between elements // Padding between elements
Distance spacing; RofiDistance spacing;
GList *children; GList *children;
}; };

View file

@ -72,7 +72,7 @@ struct _listview
unsigned int req_elements; unsigned int req_elements;
unsigned int cur_elements; unsigned int cur_elements;
Distance spacing; RofiDistance spacing;
unsigned int menu_lines; unsigned int menu_lines;
unsigned int max_displayed_lines; unsigned int max_displayed_lines;
unsigned int menu_columns; unsigned int menu_columns;

View file

@ -901,7 +901,7 @@ int textbox_get_desired_width ( widget *wid )
if ( wid->expand && tb->flags & TB_AUTOWIDTH ) { if ( wid->expand && tb->flags & TB_AUTOWIDTH ) {
return textbox_get_font_width ( tb ) + widget_padding_get_padding_width ( wid ) + offset; return textbox_get_font_width ( tb ) + widget_padding_get_padding_width ( wid ) + offset;
} }
Distance w = rofi_theme_get_distance ( WIDGET ( tb ), "width", 0 ); RofiDistance w = rofi_theme_get_distance ( WIDGET ( tb ), "width", 0 );
int wi = distance_get_pixel ( w, ORIENTATION_HORIZONTAL ); int wi = distance_get_pixel ( w, ORIENTATION_HORIZONTAL );
if ( wi > 0 ) if ( wi > 0 )
{ {

View file

@ -222,7 +222,7 @@ START_TEST ( test_properties_distance_em)
wid.state = NULL; wid.state = NULL;
rofi_theme_parse_string ( "* { test: 10em;}"); rofi_theme_parse_string ( "* { test: 10em;}");
ck_assert_ptr_nonnull ( rofi_theme ); ck_assert_ptr_nonnull ( rofi_theme );
Distance d = (Distance){ 1, ROFI_PU_PX, ROFI_HL_SOLID}; RofiDistance d = (RofiDistance){ 1, ROFI_PU_PX, ROFI_HL_SOLID};
Padding pi = (Padding){d,d,d,d}; Padding pi = (Padding){d,d,d,d};
Padding p = rofi_theme_get_padding ( &wid, "test", pi); Padding p = rofi_theme_get_padding ( &wid, "test", pi);
ck_assert_int_eq ( p.left.distance , 10 ); ck_assert_int_eq ( p.left.distance , 10 );
@ -238,7 +238,7 @@ START_TEST ( test_properties_distance_em_linestyle)
wid.state = NULL; wid.state = NULL;
rofi_theme_parse_string ( "* { sol: 1.3em solid; dash: 1.5em dash;}"); rofi_theme_parse_string ( "* { sol: 1.3em solid; dash: 1.5em dash;}");
ck_assert_ptr_nonnull ( rofi_theme ); ck_assert_ptr_nonnull ( rofi_theme );
Distance d = (Distance){ 1, ROFI_PU_PX, ROFI_HL_SOLID}; RofiDistance d = (RofiDistance){ 1, ROFI_PU_PX, ROFI_HL_SOLID};
Padding pi = (Padding){d,d,d,d}; Padding pi = (Padding){d,d,d,d};
Padding p = rofi_theme_get_padding ( &wid, "sol", pi); Padding p = rofi_theme_get_padding ( &wid, "sol", pi);
ck_assert_double_eq ( p.left.distance , 1.3 ); ck_assert_double_eq ( p.left.distance , 1.3 );
@ -258,7 +258,7 @@ START_TEST ( test_properties_distance_px)
wid.state = NULL; wid.state = NULL;
rofi_theme_parse_string ( "* { test: 10px;}"); rofi_theme_parse_string ( "* { test: 10px;}");
ck_assert_ptr_nonnull ( rofi_theme ); ck_assert_ptr_nonnull ( rofi_theme );
Distance d = (Distance){ 1, ROFI_PU_EM, ROFI_HL_DASH}; RofiDistance d = (RofiDistance){ 1, ROFI_PU_EM, ROFI_HL_DASH};
Padding pi = (Padding){d,d,d,d}; Padding pi = (Padding){d,d,d,d};
Padding p = rofi_theme_get_padding ( &wid, "test", pi); Padding p = rofi_theme_get_padding ( &wid, "test", pi);
ck_assert_double_eq ( p.left.distance , 10.0 ); ck_assert_double_eq ( p.left.distance , 10.0 );
@ -273,7 +273,7 @@ START_TEST ( test_properties_distance_px_linestyle)
wid.state = NULL; wid.state = NULL;
rofi_theme_parse_string ( "* { sol: 10px solid; dash: 14px dash;}"); rofi_theme_parse_string ( "* { sol: 10px solid; dash: 14px dash;}");
ck_assert_ptr_nonnull ( rofi_theme ); ck_assert_ptr_nonnull ( rofi_theme );
Distance d = (Distance){ 1, ROFI_PU_EM, ROFI_HL_DASH}; RofiDistance d = (RofiDistance){ 1, ROFI_PU_EM, ROFI_HL_DASH};
Padding pi = (Padding){d,d,d,d}; Padding pi = (Padding){d,d,d,d};
Padding p = rofi_theme_get_padding ( &wid, "sol", pi); Padding p = rofi_theme_get_padding ( &wid, "sol", pi);
ck_assert_double_eq ( p.left.distance , 10.0 ); ck_assert_double_eq ( p.left.distance , 10.0 );
@ -292,7 +292,7 @@ START_TEST ( test_properties_distance_percent)
wid.state = NULL; wid.state = NULL;
rofi_theme_parse_string ( "* { test: 10%;}"); rofi_theme_parse_string ( "* { test: 10%;}");
ck_assert_ptr_nonnull ( rofi_theme ); ck_assert_ptr_nonnull ( rofi_theme );
Distance d = (Distance){ 1, ROFI_PU_EM, ROFI_HL_DASH}; RofiDistance d = (RofiDistance){ 1, ROFI_PU_EM, ROFI_HL_DASH};
Padding pi = (Padding){d,d,d,d}; Padding pi = (Padding){d,d,d,d};
Padding p = rofi_theme_get_padding ( &wid, "test", pi); Padding p = rofi_theme_get_padding ( &wid, "test", pi);
ck_assert_double_eq ( p.left.distance , 10.0 ); ck_assert_double_eq ( p.left.distance , 10.0 );
@ -307,7 +307,7 @@ START_TEST ( test_properties_distance_percent_linestyle)
wid.state = NULL; wid.state = NULL;
rofi_theme_parse_string ( "* { sol: 10% solid; dash: 10% dash;}"); rofi_theme_parse_string ( "* { sol: 10% solid; dash: 10% dash;}");
ck_assert_ptr_nonnull ( rofi_theme ); ck_assert_ptr_nonnull ( rofi_theme );
Distance d = (Distance){ 1, ROFI_PU_EM, ROFI_HL_DASH}; RofiDistance d = (RofiDistance){ 1, ROFI_PU_EM, ROFI_HL_DASH};
Padding pi = (Padding){d,d,d,d}; Padding pi = (Padding){d,d,d,d};
Padding p = rofi_theme_get_padding ( &wid, "sol", pi); Padding p = rofi_theme_get_padding ( &wid, "sol", pi);
ck_assert_double_eq ( p.left.distance , 10.0 ); ck_assert_double_eq ( p.left.distance , 10.0 );
@ -961,7 +961,7 @@ START_TEST ( test_properties_padding_2 )
wid.name = "blaat"; wid.name = "blaat";
wid.state = NULL; wid.state = NULL;
rofi_theme_parse_string ( "* { test: 10px 20px;}"); rofi_theme_parse_string ( "* { test: 10px 20px;}");
Distance d = (Distance){ 1, ROFI_PU_PX, ROFI_HL_SOLID}; RofiDistance d = (RofiDistance){ 1, ROFI_PU_PX, ROFI_HL_SOLID};
Padding pi = (Padding){d,d,d,d}; Padding pi = (Padding){d,d,d,d};
Padding p = rofi_theme_get_padding ( &wid, "test", pi); Padding p = rofi_theme_get_padding ( &wid, "test", pi);
ck_assert_double_eq ( p.left.distance , 20 ); ck_assert_double_eq ( p.left.distance , 20 );
@ -981,7 +981,7 @@ START_TEST ( test_properties_padding_3 )
wid.name = "blaat"; wid.name = "blaat";
wid.state = NULL; wid.state = NULL;
rofi_theme_parse_string ( "* { test: 10px 30px 20px;}"); rofi_theme_parse_string ( "* { test: 10px 30px 20px;}");
Distance d = (Distance){ 1, ROFI_PU_PX, ROFI_HL_SOLID}; RofiDistance d = (RofiDistance){ 1, ROFI_PU_PX, ROFI_HL_SOLID};
Padding pi = (Padding){d,d,d,d}; Padding pi = (Padding){d,d,d,d};
Padding p = rofi_theme_get_padding ( &wid, "test", pi); Padding p = rofi_theme_get_padding ( &wid, "test", pi);
ck_assert_double_eq ( p.left.distance , 30 ); ck_assert_double_eq ( p.left.distance , 30 );
@ -1001,7 +1001,7 @@ START_TEST ( test_properties_padding_4 )
wid.name = "blaat"; wid.name = "blaat";
wid.state = NULL; wid.state = NULL;
rofi_theme_parse_string ( "* { test: 10px 30px 20px 40px;}"); rofi_theme_parse_string ( "* { test: 10px 30px 20px 40px;}");
Distance d = (Distance){ 1, ROFI_PU_PX, ROFI_HL_SOLID}; RofiDistance d = (RofiDistance){ 1, ROFI_PU_PX, ROFI_HL_SOLID};
Padding pi = (Padding){d,d,d,d}; Padding pi = (Padding){d,d,d,d};
Padding p = rofi_theme_get_padding ( &wid, "test", pi); Padding p = rofi_theme_get_padding ( &wid, "test", pi);
ck_assert_double_eq ( p.left.distance , 40 ); ck_assert_double_eq ( p.left.distance , 40 );