summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2000-10-04 16:39:44 +0000
committerHavoc Pennington <hp@src.gnome.org>2000-10-04 16:39:44 +0000
commit502e5a8859b87b141f6f45b657769a77edea8493 (patch)
treee0fbf3a64a0dc47081ba2ba254bccf8e3a34abe4
parent928c069883b807b67e964b90aa8dd3d5f9bc5bb2 (diff)
downloadgtk+-502e5a8859b87b141f6f45b657769a77edea8493.tar.gz
Fix copyrights
2000-10-04 Havoc Pennington <hp@redhat.com> * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Fix copyrights * demos/testpixbuf.c: add inline pixbuf test
-rw-r--r--demos/Makefile.am5
-rw-r--r--demos/testpixbuf.c11
-rw-r--r--docs/reference/ChangeLog4
-rw-r--r--docs/reference/gtk/tmpl/gtkrc.sgml72
-rw-r--r--gtk/gtkiconfactory.c2
-rw-r--r--gtk/gtkiconfactory.h2
-rw-r--r--gtk/gtkstock.c2
-rw-r--r--gtk/gtkstock.h2
8 files changed, 95 insertions, 5 deletions
diff --git a/demos/Makefile.am b/demos/Makefile.am
index eefb30f09e..13d3b26367 100644
--- a/demos/Makefile.am
+++ b/demos/Makefile.am
@@ -37,6 +37,11 @@ noinst_PROGRAMS = \
testpixbuf-scale \
pixbuf-demo
+BUILT_SOURCES=test-inline-pixbufs.h
+
+test-inline-pixbufs.h: $(top_builddir)/gdk-pixbuf/make-inline-pixbuf apple-red.png gnome-foot.png
+ GDK_PIXBUF_MODULEDIR=$(top_builddir)/gdk-pixbuf/.libs $(top_builddir)/gdk-pixbuf/make-inline-pixbuf test-inline-pixbufs.h apple_red apple-red.png gnome_foot gnome-foot.png
+
testpixbuf_DEPENDENCIES = $(DEPS)
testpixbuf_drawable_DEPENDENCIES = $(DEPS)
testpixbuf_scale_DEPENDENCIES = $(DEPS)
diff --git a/demos/testpixbuf.c b/demos/testpixbuf.c
index fe96bd3901..c6d5a45c54 100644
--- a/demos/testpixbuf.c
+++ b/demos/testpixbuf.c
@@ -25,6 +25,8 @@
#include <gtk/gtk.h>
#include <gtk/gdk-pixbuf-loader.h>
+#include "test-inline-pixbufs.h"
+
typedef struct {
FILE *imagefile;
GdkPixbufLoader *loader;
@@ -375,7 +377,7 @@ new_testrgb_window (GdkPixbuf *pixbuf, gchar *title)
window = gtk_widget_new (gtk_window_get_type (),
"GtkObject::user_data", NULL,
"GtkWindow::type", GTK_WINDOW_TOPLEVEL,
- "GtkWindow::title", "testrgb",
+ "GtkWindow::title", title ? title : "testrgb",
"GtkWindow::allow_shrink", TRUE,
NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
@@ -535,6 +537,13 @@ main (int argc, char **argv)
new_testrgb_window (pixbuf, NULL);
++xpmp;
}
+
+ /* Test loading from inline data. */
+ pixbuf = gdk_pixbuf_new_from_inline (apple_red, FALSE, -1);
+ new_testrgb_window (pixbuf, "Red apple from inline data");
+
+ pixbuf = gdk_pixbuf_new_from_inline (gnome_foot, TRUE, sizeof (gnome_foot));
+ new_testrgb_window (pixbuf, "Foot from inline data");
found_valid = TRUE;
} else {
diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog
index 8e2332f8f2..7021e4b4f6 100644
--- a/docs/reference/ChangeLog
+++ b/docs/reference/ChangeLog
@@ -1,3 +1,7 @@
+2000-09-26 Havoc Pennington <hp@redhat.com>
+
+ * gtk/tmpl/gtkrc.sgml: Document stock icon stuff
+
Thu Sep 7 14:15:03 2000 Owen Taylor <otaylor@redhat.com>
* gdk/* gtk/*: Move gtk-reference files into GTK+ tree proper.
diff --git a/docs/reference/gtk/tmpl/gtkrc.sgml b/docs/reference/gtk/tmpl/gtkrc.sgml
index df392bf6f1..08a457665b 100644
--- a/docs/reference/gtk/tmpl/gtkrc.sgml
+++ b/docs/reference/gtk/tmpl/gtkrc.sgml
@@ -265,6 +265,14 @@ elements are:
</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><literal>stock[<replaceable>"stock-id"</replaceable>]</literal> = { <replaceable>icon source specifications</replaceable> }</literal></term>
+ <listitem>
+ <para>
+ Defines the icon for a stock item.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</para>
<para>
@@ -335,6 +343,70 @@ hex digits, or they can be specified as a triplet of floats
<literal>{ <replaceable>r</replaceable>, <replaceable>g</replaceable>,
<replaceable>b</replaceable>}</literal>.
</para>
+
+<para>
+In a <literal>stock</literal> definition, icon sources are specified as a
+4-tuple of image filename, text direction, widget state, and size, in that
+order. Each icon source specifies an image filename to use with a given
+direction, state, and size. The <literal>*</literal> character can be used as a
+wildcard, and if direction/state/size are omitted they default to
+<literal>*</literal>. So for example, the following specifies different icons to
+use for left-to-right and right-to-left languages:
+<programlisting>
+stock["my-stock-item"] =
+{
+ { "itemltr.png", LTR, *, * },
+ { "itemrtl.png", RTL, *, * }
+}
+</programlisting>
+This could be abbreviated as follows:
+<programlisting>
+stock["my-stock-item"] =
+{
+ { "itemltr.png", LTR },
+ { "itemrtl.png", RTL }
+}
+</programlisting>
+</para>
+
+<para>
+You can specify custom icons for specific sizes, as follows:
+<programlisting>
+stock["my-stock-item"] =
+{
+ { "itemmenusize.png", *, *, "gtk-menu" },
+ { "itemtoolbarsize.png", *, *, "gtk-large-toolbar" }
+ { "itemgeneric.png" } /* implicit *, *, * as a fallback */
+}
+</programlisting>
+The sizes that come with GTK+ itself are <literal>"gtk-menu"</literal>,
+<literal>"gtk-small-toolbar"</literal>, <literal>"gtk-large-toolbar"</literal>,
+<literal>"gtk-button"</literal>, <literal>"gtk-dialog"</literal>. Applications
+can define other sizes.
+</para>
+
+<para>
+It's also possible to use custom icons for a given state, for example:
+You can specify custom icons for specific sizes, as follows:
+<programlisting>
+stock["my-stock-item"] =
+{
+ { "itemprelight.png", *, PRELIGHT },
+ { "iteminsensitive.png", *, INSENSITIVE },
+ { "itemgeneric.png" } /* implicit *, *, * as a fallback */
+}
+</programlisting>
+</para>
+
+<para>
+When selecting an icon source to use, GTK+ will consider text direction most
+important, state second, and size third. It will select the best match based on
+those criteria. If an attribute matches exactly (e.g. you specified
+<literal>PRELIGHT</literal> or specified the size), GTK+ won't modify the image;
+if the attribute matches with a wildcard, GTK+ will scale or modify the image to
+match the state and size the user requested.
+</para>
+
</refsect2>
<refsect2><title>Key bindings</title>
diff --git a/gtk/gtkiconfactory.c b/gtk/gtkiconfactory.c
index a7de61d2c3..249568ce50 100644
--- a/gtk/gtkiconfactory.c
+++ b/gtk/gtkiconfactory.c
@@ -1,5 +1,5 @@
/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ * Copyright (C) 2000 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
diff --git a/gtk/gtkiconfactory.h b/gtk/gtkiconfactory.h
index 357e37eb7c..23f6059865 100644
--- a/gtk/gtkiconfactory.h
+++ b/gtk/gtkiconfactory.h
@@ -1,5 +1,5 @@
/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ * Copyright (C) 2000 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
diff --git a/gtk/gtkstock.c b/gtk/gtkstock.c
index ecb3079736..64700232aa 100644
--- a/gtk/gtkstock.c
+++ b/gtk/gtkstock.c
@@ -1,5 +1,5 @@
/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ * Copyright (C) 2000 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
diff --git a/gtk/gtkstock.h b/gtk/gtkstock.h
index 02b51ff979..a11fa95154 100644
--- a/gtk/gtkstock.h
+++ b/gtk/gtkstock.h
@@ -1,5 +1,5 @@
/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ * Copyright (C) 2000 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public