summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-background.h
diff options
context:
space:
mode:
authorDarin Adler <darin@src.gnome.org>2000-01-10 19:52:24 +0000
committerDarin Adler <darin@src.gnome.org>2000-01-10 19:52:24 +0000
commitc912e1ef33afc6476e1653667581c8a076e6b1f6 (patch)
tree53f28d5833aeb1fdf1ef1dc6d101d5e1a76942bf /libnautilus-private/nautilus-background.h
parentc5864f0483a2e56adc33e8e9c80c47671fec47e0 (diff)
downloadnautilus-c912e1ef33afc6476e1653667581c8a076e6b1f6.tar.gz
Added NautilusBackground class, string functions that allow NULL, made
gradient functions allow NULL and treat it as an empty string, added gdk_color_parse variants that have a default color, cleanup of NautilusIndexPanel, and some other minor stuff.
Diffstat (limited to 'libnautilus-private/nautilus-background.h')
-rw-r--r--libnautilus-private/nautilus-background.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/libnautilus-private/nautilus-background.h b/libnautilus-private/nautilus-background.h
new file mode 100644
index 000000000..e95a359b1
--- /dev/null
+++ b/libnautilus-private/nautilus-background.h
@@ -0,0 +1,95 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
+
+ nautilus-background.h: Object for the background of a widget.
+
+ Copyright (C) 2000 Eazel, Inc.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with this program; if not, write to the
+ Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+ Authors: Darin Adler <darin@eazel.com>
+*/
+
+#ifndef NAUTILUS_BACKGROUND_H
+#define NAUTILUS_BACKGROUND_H
+
+/* Windows for Nautilus can contain backgrounds that are either tiled
+ with an image, a solid color, or a color gradient. This class manages
+ the process of loading the image if necessary and parsing the string
+ that specifies either a color or color gradient.
+
+ The color or gradient is always present, even if there's a tiled image
+ on top of it. This is used when the tiled image can't be loaded for
+ some reason (or just has not been loaded yet).
+*/
+
+#include <gdk/gdktypes.h>
+#include <libgnomeui/gnome-canvas.h>
+
+typedef struct _NautilusBackground NautilusBackground;
+typedef struct _NautilusBackgroundClass NautilusBackgroundClass;
+
+#define NAUTILUS_TYPE_BACKGROUND \
+ (nautilus_background_get_type ())
+#define NAUTILUS_BACKGROUND(obj) \
+ (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_BACKGROUND, NautilusBackground))
+#define NAUTILUS_BACKGROUND_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_BACKGROUND, NautilusBackgroundClass))
+#define NAUTILUS_IS_BACKGROUND(obj) \
+ (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_BACKGROUND))
+#define NAUTILUS_IS_BACKGROUND_CLASS(klass) \
+ (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_BACKGROUND))
+
+GtkType nautilus_background_get_type (void);
+NautilusBackground *nautilus_background_new (void);
+
+void nautilus_background_set_color (NautilusBackground *background,
+ const char *color_or_gradient);
+void nautilus_background_set_tile_image_uri (NautilusBackground *background,
+ const char *image_uri);
+
+char * nautilus_background_get_color (NautilusBackground *background);
+char * nautilus_background_get_tile_image_uri (NautilusBackground *background);
+
+void nautilus_background_draw (NautilusBackground *background,
+ GdkDrawable *drawable,
+ GdkGC *gc,
+ GdkColormap *colormap,
+ const GdkRectangle *rectangle);
+
+void nautilus_background_attach_to_canvas (NautilusBackground *background,
+ GnomeCanvas *canvas);
+
+
+typedef struct _NautilusBackgroundDetails NautilusBackgroundDetails;
+
+struct _NautilusBackground
+{
+ GtkObject object;
+ NautilusBackgroundDetails *details;
+};
+
+struct _NautilusBackgroundClass
+{
+ GtkObjectClass parent_class;
+
+ /* This signal is emitted when the background image is
+ finished loading. This allows a window to draw with a
+ color background if the image takes a lot time to load.
+ */
+ void (* changed) (NautilusBackground *);
+};
+
+#endif /* NAUTILUS_BACKGROUND_H */