forked from AuroraMiddleware/gtk
gtknotebook: Optimize GtkStyleContext usage
This commit is contained in:
parent
2cd835c076
commit
c71e213134
@ -2240,15 +2240,17 @@ get_padding_and_border (GtkNotebook *notebook,
|
||||
GtkBorder *border)
|
||||
{
|
||||
GtkStyleContext *context;
|
||||
GtkStateFlags state;
|
||||
|
||||
context = gtk_widget_get_style_context (GTK_WIDGET (notebook));
|
||||
gtk_style_context_get_padding (context, 0, border);
|
||||
state = gtk_style_context_get_state (context);
|
||||
gtk_style_context_get_padding (context, state, border);
|
||||
|
||||
if (notebook->priv->show_border || notebook->priv->show_tabs)
|
||||
{
|
||||
GtkBorder tmp;
|
||||
|
||||
gtk_style_context_get_border (context, 0, &tmp);
|
||||
gtk_style_context_get_border (context, state, &tmp);
|
||||
border->top += tmp.top;
|
||||
border->right += tmp.right;
|
||||
border->bottom += tmp.bottom;
|
||||
@ -6247,7 +6249,7 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook,
|
||||
|
||||
if (page != priv->cur_page)
|
||||
{
|
||||
GtkBorder active_padding, normal_padding, padding;
|
||||
GtkBorder padding = {};
|
||||
|
||||
/* The active tab is by definition at least the same height as the inactive one.
|
||||
* The padding we're building is the offset between the two tab states,
|
||||
@ -6259,16 +6261,11 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook,
|
||||
gtk_style_context_save (context);
|
||||
notebook_tab_prepare_style_context (notebook, page, context, TRUE);
|
||||
|
||||
gtk_style_context_get_padding (context, GTK_STATE_FLAG_ACTIVE, &active_padding);
|
||||
gtk_style_context_get_padding (context, GTK_STATE_FLAG_NORMAL, &normal_padding);
|
||||
/* gtk_style_context_get_padding (context, GTK_STATE_FLAG_ACTIVE, &active_padding); */
|
||||
/* gtk_style_context_get_padding (context, GTK_STATE_FLAG_NORMAL, &normal_padding); */
|
||||
|
||||
gtk_style_context_restore (context);
|
||||
|
||||
padding.top = MAX (0, active_padding.top - normal_padding.top);
|
||||
padding.right = MAX (0, active_padding.right - normal_padding.right);
|
||||
padding.bottom = MAX (0, active_padding.bottom - normal_padding.bottom);
|
||||
padding.left = MAX (0, active_padding.left - normal_padding.left);
|
||||
|
||||
switch (tab_pos)
|
||||
{
|
||||
case GTK_POS_TOP:
|
||||
|
Loading…
Reference in New Issue
Block a user