зеркало из https://github.com/mozilla/gecko-dev.git
Bug 118299 - "NS_THEME_RESIZER implementation (GTK)" [p=ventnor.bugzilla@yahoo.com.au (Michael Ventnor) r+sr+a1.9=roc]
This commit is contained in:
Родитель
0fa41035e4
Коммит
261455b64d
|
@ -1283,6 +1283,24 @@ moz_gtk_tooltip_paint(GdkDrawable* drawable, GdkRectangle* rect,
|
|||
return MOZ_GTK_SUCCESS;
|
||||
}
|
||||
|
||||
static gint
|
||||
moz_gtk_resizer_paint(GdkDrawable* drawable, GdkRectangle* rect,
|
||||
GdkRectangle* cliprect, GtkWidgetState* state)
|
||||
{
|
||||
GtkStyle* style;
|
||||
GtkStateType state_type = ConvertGtkState(state);
|
||||
|
||||
ensure_window_widget();
|
||||
style = gProtoWindow->style;
|
||||
|
||||
TSOffsetStyleGCs(style, rect->x, rect->y);
|
||||
|
||||
gtk_paint_resize_grip(style, drawable, state_type, cliprect, gProtoWindow,
|
||||
NULL, GDK_WINDOW_EDGE_SOUTH_EAST, rect->x, rect->y,
|
||||
rect->width, rect->height);
|
||||
return MOZ_GTK_SUCCESS;
|
||||
}
|
||||
|
||||
static gint
|
||||
moz_gtk_frame_paint(GdkDrawable* drawable, GdkRectangle* rect,
|
||||
GdkRectangle* cliprect)
|
||||
|
@ -1773,6 +1791,7 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
|
|||
/* These widgets have no borders.*/
|
||||
case MOZ_GTK_TOOLTIP:
|
||||
case MOZ_GTK_WINDOW:
|
||||
case MOZ_GTK_RESIZER:
|
||||
*left = *top = *right = *bottom = 0;
|
||||
return MOZ_GTK_SUCCESS;
|
||||
default:
|
||||
|
@ -1921,6 +1940,9 @@ moz_gtk_widget_paint(GtkThemeWidgetType widget, GdkDrawable* drawable,
|
|||
case MOZ_GTK_FRAME:
|
||||
return moz_gtk_frame_paint(drawable, rect, cliprect);
|
||||
break;
|
||||
case MOZ_GTK_RESIZER:
|
||||
return moz_gtk_resizer_paint(drawable, rect, cliprect, state);
|
||||
break;
|
||||
case MOZ_GTK_PROGRESSBAR:
|
||||
return moz_gtk_progressbar_paint(drawable, rect, cliprect);
|
||||
break;
|
||||
|
|
|
@ -143,6 +143,8 @@ typedef enum {
|
|||
MOZ_GTK_TOOLTIP,
|
||||
/* Paints a GtkFrame (e.g. a status bar panel). */
|
||||
MOZ_GTK_FRAME,
|
||||
/* Paints a resize grip for a GtkWindow */
|
||||
MOZ_GTK_RESIZER,
|
||||
/* Paints a GtkProgressBar. */
|
||||
MOZ_GTK_PROGRESSBAR,
|
||||
/* Paints a progress chunk of a GtkProgressBar. */
|
||||
|
|
|
@ -362,6 +362,9 @@ nsNativeThemeGTK::GetGtkWidgetAndState(PRUint8 aWidgetType, nsIFrame* aFrame,
|
|||
case NS_THEME_TOOLBAR_GRIPPER:
|
||||
aGtkWidgetType = MOZ_GTK_GRIPPER;
|
||||
break;
|
||||
case NS_THEME_RESIZER:
|
||||
aGtkWidgetType = MOZ_GTK_RESIZER;
|
||||
break;
|
||||
case NS_THEME_TEXTFIELD:
|
||||
case NS_THEME_TEXTFIELD_MULTILINE:
|
||||
case NS_THEME_DROPDOWN_TEXTFIELD:
|
||||
|
@ -854,6 +857,10 @@ nsNativeThemeGTK::GetMinimumWidgetSize(nsIRenderingContext* aContext,
|
|||
aResult->width = 14;
|
||||
aResult->height = 13;
|
||||
break;
|
||||
case NS_THEME_RESIZER:
|
||||
// same as Windows to make our lives easier
|
||||
aResult->width = aResult->height = 15;
|
||||
break;
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
|
@ -943,7 +950,7 @@ nsNativeThemeGTK::ThemeSupportsWidget(nsPresContext* aPresContext,
|
|||
case NS_THEME_TOOLBAR_GRIPPER:
|
||||
case NS_THEME_STATUSBAR:
|
||||
case NS_THEME_STATUSBAR_PANEL:
|
||||
// case NS_THEME_RESIZER: (n/a for gtk)
|
||||
case NS_THEME_RESIZER:
|
||||
case NS_THEME_LISTBOX:
|
||||
// case NS_THEME_LISTBOX_LISTITEM:
|
||||
case NS_THEME_TREEVIEW:
|
||||
|
|
Загрузка…
Ссылка в новой задаче