diff options
author | Darin Adler <darin@src.gnome.org> | 2000-01-10 19:52:24 +0000 |
---|---|---|
committer | Darin Adler <darin@src.gnome.org> | 2000-01-10 19:52:24 +0000 |
commit | c912e1ef33afc6476e1653667581c8a076e6b1f6 (patch) | |
tree | 53f28d5833aeb1fdf1ef1dc6d101d5e1a76942bf /libnautilus-private/nautilus-background.h | |
parent | c5864f0483a2e56adc33e8e9c80c47671fec47e0 (diff) | |
download | nautilus-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.h | 95 |
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 */ |