mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 05:31:07 +00:00
testicontheme: Add some tests for scales
This commit is contained in:
parent
a3519988f5
commit
ae24cbc11f
@ -24,11 +24,11 @@
|
|||||||
static void
|
static void
|
||||||
usage (void)
|
usage (void)
|
||||||
{
|
{
|
||||||
g_print ("usage: test-icon-theme lookup <theme name> <icon name> [size]]\n"
|
g_print ("usage: test-icon-theme lookup <theme name> <icon name> [size] [scale]\n"
|
||||||
" or\n"
|
" or\n"
|
||||||
"usage: test-icon-theme list <theme name> [context]\n"
|
"usage: test-icon-theme list <theme name> [context]\n"
|
||||||
" or\n"
|
" or\n"
|
||||||
"usage: test-icon-theme display <theme name> <icon name> [size]\n"
|
"usage: test-icon-theme display <theme name> <icon name> [size] [scale]\n"
|
||||||
" or\n"
|
" or\n"
|
||||||
"usage: test-icon-theme contexts <theme name>\n"
|
"usage: test-icon-theme contexts <theme name>\n"
|
||||||
);
|
);
|
||||||
@ -70,6 +70,7 @@ main (int argc, char *argv[])
|
|||||||
char *themename;
|
char *themename;
|
||||||
GList *list;
|
GList *list;
|
||||||
int size = 48;
|
int size = 48;
|
||||||
|
int scale = 1;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
gtk_init (&argc, &argv);
|
gtk_init (&argc, &argv);
|
||||||
@ -91,7 +92,6 @@ main (int argc, char *argv[])
|
|||||||
GError *error;
|
GError *error;
|
||||||
GdkPixbuf *pixbuf;
|
GdkPixbuf *pixbuf;
|
||||||
GtkWidget *window, *image;
|
GtkWidget *window, *image;
|
||||||
GtkIconSize size;
|
|
||||||
|
|
||||||
if (argc < 4)
|
if (argc < 4)
|
||||||
{
|
{
|
||||||
@ -102,12 +102,13 @@ main (int argc, char *argv[])
|
|||||||
|
|
||||||
if (argc >= 5)
|
if (argc >= 5)
|
||||||
size = atoi (argv[4]);
|
size = atoi (argv[4]);
|
||||||
else
|
|
||||||
size = GTK_ICON_SIZE_BUTTON;
|
if (argc >= 6)
|
||||||
|
scale = atoi (argv[5]);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
pixbuf = gtk_icon_theme_load_icon (icon_theme, argv[3], size,
|
pixbuf = gtk_icon_theme_load_icon_for_scale (icon_theme, argv[3], size, scale,
|
||||||
GTK_ICON_LOOKUP_USE_BUILTIN, &error);
|
GTK_ICON_LOOKUP_USE_BUILTIN, &error);
|
||||||
if (!pixbuf)
|
if (!pixbuf)
|
||||||
{
|
{
|
||||||
g_print ("%s\n", error->message);
|
g_print ("%s\n", error->message);
|
||||||
@ -128,7 +129,6 @@ main (int argc, char *argv[])
|
|||||||
else if (strcmp (argv[1], "display-async") == 0)
|
else if (strcmp (argv[1], "display-async") == 0)
|
||||||
{
|
{
|
||||||
GtkWidget *window, *image;
|
GtkWidget *window, *image;
|
||||||
GtkIconSize size;
|
|
||||||
GtkIconInfo *info;
|
GtkIconInfo *info;
|
||||||
|
|
||||||
if (argc < 4)
|
if (argc < 4)
|
||||||
@ -140,8 +140,9 @@ main (int argc, char *argv[])
|
|||||||
|
|
||||||
if (argc >= 5)
|
if (argc >= 5)
|
||||||
size = atoi (argv[4]);
|
size = atoi (argv[4]);
|
||||||
else
|
|
||||||
size = GTK_ICON_SIZE_BUTTON;
|
if (argc >= 6)
|
||||||
|
scale = atoi (argv[5]);
|
||||||
|
|
||||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||||
image = gtk_image_new ();
|
image = gtk_image_new ();
|
||||||
@ -150,8 +151,8 @@ main (int argc, char *argv[])
|
|||||||
G_CALLBACK (gtk_main_quit), window);
|
G_CALLBACK (gtk_main_quit), window);
|
||||||
gtk_widget_show_all (window);
|
gtk_widget_show_all (window);
|
||||||
|
|
||||||
info = gtk_icon_theme_lookup_icon (icon_theme, argv[3], size,
|
info = gtk_icon_theme_lookup_icon_for_scale (icon_theme, argv[3], size, scale,
|
||||||
GTK_ICON_LOOKUP_USE_BUILTIN);
|
GTK_ICON_LOOKUP_USE_BUILTIN);
|
||||||
|
|
||||||
if (info == NULL)
|
if (info == NULL)
|
||||||
{
|
{
|
||||||
@ -198,16 +199,30 @@ main (int argc, char *argv[])
|
|||||||
usage ();
|
usage ();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (argc >= 5)
|
if (argc >= 5)
|
||||||
size = atoi (argv[4]);
|
size = atoi (argv[4]);
|
||||||
|
|
||||||
icon_info = gtk_icon_theme_lookup_icon (icon_theme, argv[3], size, GTK_ICON_LOOKUP_USE_BUILTIN);
|
if (argc >= 6)
|
||||||
g_print ("icon for %s at %dx%d is %s\n", argv[3], size, size,
|
scale = atoi (argv[5]);
|
||||||
|
|
||||||
|
icon_info = gtk_icon_theme_lookup_icon_for_scale (icon_theme, argv[3], size, scale, GTK_ICON_LOOKUP_USE_BUILTIN);
|
||||||
|
g_print ("icon for %s at %dx%d@%dx is %s\n", argv[3], size, size, scale,
|
||||||
icon_info ? (gtk_icon_info_get_builtin_pixbuf (icon_info) ? "<builtin>" : gtk_icon_info_get_filename (icon_info)) : "<none>");
|
icon_info ? (gtk_icon_info_get_builtin_pixbuf (icon_info) ? "<builtin>" : gtk_icon_info_get_filename (icon_info)) : "<none>");
|
||||||
|
|
||||||
if (icon_info)
|
if (icon_info)
|
||||||
{
|
{
|
||||||
|
GdkPixbuf *pixbuf;
|
||||||
|
|
||||||
|
g_print ("Base size: %d, Scale: %d\n", gtk_icon_info_get_base_size (icon_info), gtk_icon_info_get_base_scale (icon_info));
|
||||||
|
|
||||||
|
pixbuf = gtk_icon_info_load_icon (icon_info, NULL);
|
||||||
|
if (pixbuf != NULL)
|
||||||
|
{
|
||||||
|
g_print ("Pixbuf size: %dx%d\n", gdk_pixbuf_get_width (pixbuf), gdk_pixbuf_get_height (pixbuf));
|
||||||
|
g_object_unref (pixbuf);
|
||||||
|
}
|
||||||
|
|
||||||
if (gtk_icon_info_get_embedded_rect (icon_info, &embedded_rect))
|
if (gtk_icon_info_get_embedded_rect (icon_info, &embedded_rect))
|
||||||
{
|
{
|
||||||
g_print ("Embedded rect: %d,%d %dx%d\n",
|
g_print ("Embedded rect: %d,%d %dx%d\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user