diff options
author | Darin Adler <darin@src.gnome.org> | 2000-01-31 01:30:16 +0000 |
---|---|---|
committer | Darin Adler <darin@src.gnome.org> | 2000-01-31 01:30:16 +0000 |
commit | 58a9b33c333ce9552b5ed1a9c93cf2695136439f (patch) | |
tree | 22b70019de0f335873caee33765b339cde5aab6a /libnautilus | |
parent | e250cfd796fe1a2f21549934de911ca8cf7f3ced (diff) | |
download | nautilus-58a9b33c333ce9552b5ed1a9c93cf2695136439f.tar.gz |
Changed it to not attempt to create a GC just to measure the text. This
* nautilus-icons-view-icon-item.c:
(nautilus_icons_view_draw_text_box):
Changed it to not attempt to create a GC just to measure the text.
This makes it work when the widget is not realized.
* nautilus-icons-view-icon-item.h:
nautilus-icons-view-icon-item.c:
gnome-icon-container-dnd.c:
(nautilus_icons_view_icon_item_center_offset):
Changed the parameter type to NautilusIconsViewIconItem.
* fm-directory-view.c:
(stop_load):
(fm_directory_view_load_uri):
Fixed code so that if you stop loading more than once, or
stop before you even start, it won't send extra progress
requests to the Nautilus shell or call stop_monitoring
extra times on the NautilusDirectory object.
* nautilus-icons-view-icon-item.h:
nautilus-icons-view-icon-item.c:
gnome-icon-container-dnd.c:
Quick cleanup of the new NautilusIconsViewIconItem class.
* libnautilus/gdk-extensions.c:
libnautilus/gnome-icon-container-dnd.c:
libnautilus/gnome-icon-container.c:
libnautilus/gtkflist.c:
libnautilus/nautilus-background-canvas-group.c:
libnautilus/nautilus-background.c:
libnautilus/nautilus-debug.c:
libnautilus/nautilus-default-file-icon.c:
libnautilus/nautilus-directory.c:
libnautilus/nautilus-icon-factory.c:
libnautilus/nautilus-icons-controller.c:
libnautilus/nautilus-icons-view-icon-item.c:
libnautilus/nautilus-lib-self-check-functions.c:
libnautilus/nautilus-self-checks.c:
libnautilus/nautilus-string.c:
src/explorer-location-bar.c:
src/file-manager/dfos-corba.c:
src/file-manager/dfos-xfer-progress-dialog.c:
src/file-manager/dfos-xfer.c:
src/file-manager/dfos.c:
src/file-manager/fm-directory-view-icons.c:
src/file-manager/fm-directory-view-list.c:
src/file-manager/fm-directory-view.c:
src/file-manager/fm-icons-controller.c:
src/file-manager/fm-main.c:
src/nautilus-self-check-functions.c:
src/ntl-index-panel.c:
Got rid of #ifdef HAVE_CONFIG_H. Elliot says that we must always
include <config.h>, but there's no reason to include that ifdef
since we don't plan on building without a <config.h> ever.
Diffstat (limited to 'libnautilus')
-rw-r--r-- | libnautilus/gdk-extensions.c | 3 | ||||
-rw-r--r-- | libnautilus/gnome-icon-container-dnd.c | 63 | ||||
-rw-r--r-- | libnautilus/gnome-icon-container.c | 3 | ||||
-rw-r--r-- | libnautilus/gtkflist.c | 3 | ||||
-rw-r--r-- | libnautilus/nautilus-background-canvas-group.c | 3 | ||||
-rw-r--r-- | libnautilus/nautilus-background.c | 3 | ||||
-rw-r--r-- | libnautilus/nautilus-debug.c | 3 | ||||
-rw-r--r-- | libnautilus/nautilus-default-file-icon.c | 3 | ||||
-rw-r--r-- | libnautilus/nautilus-directory.c | 3 | ||||
-rw-r--r-- | libnautilus/nautilus-icon-factory.c | 8 | ||||
-rw-r--r-- | libnautilus/nautilus-icons-controller.c | 3 | ||||
-rw-r--r-- | libnautilus/nautilus-icons-view-icon-item.c | 596 | ||||
-rw-r--r-- | libnautilus/nautilus-icons-view-icon-item.h | 29 | ||||
-rw-r--r-- | libnautilus/nautilus-lib-self-check-functions.c | 2 | ||||
-rw-r--r-- | libnautilus/nautilus-self-checks.c | 3 | ||||
-rw-r--r-- | libnautilus/nautilus-string.c | 3 |
16 files changed, 328 insertions, 403 deletions
diff --git a/libnautilus/gdk-extensions.c b/libnautilus/gdk-extensions.c index 25c34a505..73731dc41 100644 --- a/libnautilus/gdk-extensions.c +++ b/libnautilus/gdk-extensions.c @@ -22,10 +22,7 @@ Authors: Darin Adler <darin@eazel.com> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "gdk-extensions.h" #include "nautilus-lib-self-check-functions.h" diff --git a/libnautilus/gnome-icon-container-dnd.c b/libnautilus/gnome-icon-container-dnd.c index 49150b8c2..36b412207 100644 --- a/libnautilus/gnome-icon-container-dnd.c +++ b/libnautilus/gnome-icon-container-dnd.c @@ -23,14 +23,11 @@ Author: Ettore Perazzoli <ettore@gnu.org> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "gnome-icon-container-dnd.h" -#include "nautilus-icons-view-icon-item.h" #include "gnome-icon-container-private.h" +#include "nautilus-icons-view-icon-item.h" #include "nautilus-background.h" #include "nautilus-gtk-extensions.h" @@ -217,8 +214,8 @@ set_gnome_icon_list_selection (GnomeIconContainer *container, if (!icon->is_selected) continue; - - center_offset = nautilus_icons_view_icon_item_center_offset(icon->item); + center_offset = nautilus_icons_view_icon_item_center_offset + (NAUTILUS_ICONS_VIEW_ICON_ITEM (icon->item)); /* Corner of the icon relative to the cursor. */ icon_x = icon->x - details->dnd_info->start_x + floor(center_offset / canvas->pixels_per_unit); @@ -579,7 +576,8 @@ gnome_icon_container_receive_dropped_icons (GnomeIconContainer *container, if (item->got_icon_position) { int icon_x, icon_y; double scale = icon->item->canvas->pixels_per_unit; - int center_offset = nautilus_icons_view_icon_item_center_offset(icon->item); + int center_offset = nautilus_icons_view_icon_item_center_offset + (NAUTILUS_ICONS_VIEW_ICON_ITEM (icon->item)); icon_x = (int) world_x + item->icon_x - (center_offset / scale); icon_y = (int) world_y + item->icon_y; @@ -768,14 +766,11 @@ gnome_icon_container_dnd_begin_drag (GnomeIconContainer *container, dnd_info->start_y = event->y; /* start the drag */ - context = gtk_drag_begin (GTK_WIDGET (container), dnd_info->target_list, actions, button, (GdkEvent *) event); - - /* create a pixmap and mask to drag with */ pixbuf_item = GNOME_CANVAS_ITEM (container->details->drag_icon->item); @@ -784,40 +779,40 @@ gnome_icon_container_dnd_begin_drag (GnomeIconContainer *container, temp_pixbuf = (GdkPixbuf *) GTK_VALUE_OBJECT (pixbuf_args[0]); /* compute the image's offset */ - canvas = GNOME_CANVAS(container); + canvas = GNOME_CANVAS (container); - x_offset = floor(event->x - pixbuf_item->x1 + .5); - y_offset = floor(event->y - pixbuf_item->y1 + .5); + x_offset = floor (event->x - pixbuf_item->x1 + .5); + y_offset = floor (event->y - pixbuf_item->y1 + .5); - center_offset = nautilus_icons_view_icon_item_center_offset(container->details->drag_icon->item); + center_offset = nautilus_icons_view_icon_item_center_offset + (NAUTILUS_ICONS_VIEW_ICON_ITEM (container->details->drag_icon->item)); x_offset -= center_offset; /* if the scale factor isn't 1.0, we have to scale the pixmap */ /* FIXME: eventually need to get the size, if any, from the metadata here */ scaled_pixbuf = NULL; - if (container->details->zoom_level != NAUTILUS_ZOOM_LEVEL_STANDARD) - { - gint old_width, old_height; - gint new_width, new_height; - - x_offset = floor(event->x * canvas->pixels_per_unit - center_offset - pixbuf_item->x1 + .5); - y_offset = floor(event->y * canvas->pixels_per_unit - pixbuf_item->y1 + .5); - - old_width = gdk_pixbuf_get_width (temp_pixbuf); - old_height = gdk_pixbuf_get_height (temp_pixbuf); - - new_width = floor((old_width * canvas->pixels_per_unit) + .5); - new_height = floor((old_height * canvas->pixels_per_unit) + .5); - - scaled_pixbuf = gdk_pixbuf_scale_simple (temp_pixbuf, new_width, new_height, ART_FILTER_NEAREST); - temp_pixbuf = scaled_pixbuf; - } - + if (container->details->zoom_level != NAUTILUS_ZOOM_LEVEL_STANDARD) { + gint old_width, old_height; + gint new_width, new_height; + + x_offset = floor (event->x * canvas->pixels_per_unit - center_offset - pixbuf_item->x1 + .5); + y_offset = floor (event->y * canvas->pixels_per_unit - pixbuf_item->y1 + .5); + + old_width = gdk_pixbuf_get_width (temp_pixbuf); + old_height = gdk_pixbuf_get_height (temp_pixbuf); + + new_width = floor ((old_width * canvas->pixels_per_unit) + .5); + new_height = floor ((old_height * canvas->pixels_per_unit) + .5); + + scaled_pixbuf = gdk_pixbuf_scale_simple (temp_pixbuf, new_width, new_height, ART_FILTER_NEAREST); + temp_pixbuf = scaled_pixbuf; + } + gdk_pixbuf_render_pixmap_and_mask (temp_pixbuf, &pixmap_for_dragged_file, &mask_for_dragged_file, 128); if (scaled_pixbuf) - gdk_pixbuf_unref(scaled_pixbuf); - + gdk_pixbuf_unref(scaled_pixbuf); + /* set the pixmap and mask for dragging */ gtk_drag_set_icon_pixmap (context, gtk_widget_get_colormap (GTK_WIDGET (container)), pixmap_for_dragged_file, mask_for_dragged_file, diff --git a/libnautilus/gnome-icon-container.c b/libnautilus/gnome-icon-container.c index b529eb485..fb7e42f1e 100644 --- a/libnautilus/gnome-icon-container.c +++ b/libnautilus/gnome-icon-container.c @@ -22,10 +22,7 @@ Author: Ettore Perazzoli <ettore@gnu.org> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "gnome-icon-container.h" #include <string.h> diff --git a/libnautilus/gtkflist.c b/libnautilus/gtkflist.c index eaabc4cfd..33b7a27f5 100644 --- a/libnautilus/gtkflist.c +++ b/libnautilus/gtkflist.c @@ -12,10 +12,7 @@ native List widget that uses a simple API similiar to the GnomeIconContainer one. */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "gtkflist.h" #include <gtk/gtkdnd.h> diff --git a/libnautilus/nautilus-background-canvas-group.c b/libnautilus/nautilus-background-canvas-group.c index 4c535ca83..32217ca69 100644 --- a/libnautilus/nautilus-background-canvas-group.c +++ b/libnautilus/nautilus-background-canvas-group.c @@ -22,10 +22,7 @@ Author: Darin Adler <darin@eazel.com> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "nautilus-background-canvas-group.h" #include <libgnomeui/gnome-canvas.h> diff --git a/libnautilus/nautilus-background.c b/libnautilus/nautilus-background.c index f045bf64c..8491ba340 100644 --- a/libnautilus/nautilus-background.c +++ b/libnautilus/nautilus-background.c @@ -22,10 +22,7 @@ Author: Darin Adler <darin@eazel.com> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "nautilus-background.h" #include <gtk/gtksignal.h> diff --git a/libnautilus/nautilus-debug.c b/libnautilus/nautilus-debug.c index 50343e12c..042bff7b5 100644 --- a/libnautilus/nautilus-debug.c +++ b/libnautilus/nautilus-debug.c @@ -22,10 +22,7 @@ Author: Darin Adler <darin@eazel.com> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "nautilus-debug.h" #include <glib.h> diff --git a/libnautilus/nautilus-default-file-icon.c b/libnautilus/nautilus-default-file-icon.c index 504815517..40df42f86 100644 --- a/libnautilus/nautilus-default-file-icon.c +++ b/libnautilus/nautilus-default-file-icon.c @@ -22,10 +22,7 @@ Author: Darin Adler <darin@eazel.com> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "nautilus-default-file-icon.h" const int nautilus_default_file_icon_width = 48; diff --git a/libnautilus/nautilus-directory.c b/libnautilus/nautilus-directory.c index 6e6a4fa67..60459b72c 100644 --- a/libnautilus/nautilus-directory.c +++ b/libnautilus/nautilus-directory.c @@ -22,10 +22,7 @@ Author: Darin Adler <darin@eazel.com> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "nautilus-directory.h" #include <stdlib.h> diff --git a/libnautilus/nautilus-icon-factory.c b/libnautilus/nautilus-icon-factory.c index 0b0cb0a2d..aa0984fe3 100644 --- a/libnautilus/nautilus-icon-factory.c +++ b/libnautilus/nautilus-icon-factory.c @@ -23,14 +23,12 @@ Author: John Sullivan <sullivan@eazel.com> */ -#ifdef HAVE_CONFIG_H -#include <string.h> -#include <stdio.h> #include <config.h> -#endif - #include "nautilus-icon-factory.h" +#include <string.h> +#include <stdio.h> + #include <libgnome/gnome-defs.h> #include <libgnome/gnome-mime-info.h> #include <libgnome/gnome-util.h> diff --git a/libnautilus/nautilus-icons-controller.c b/libnautilus/nautilus-icons-controller.c index 4ced00279..acf19c3d9 100644 --- a/libnautilus/nautilus-icons-controller.c +++ b/libnautilus/nautilus-icons-controller.c @@ -23,10 +23,7 @@ Author: Darin Adler <darin@eazel.com> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "nautilus-icons-controller.h" #include "nautilus-gtk-macros.h" diff --git a/libnautilus/nautilus-icons-view-icon-item.c b/libnautilus/nautilus-icons-view-icon-item.c index 6ecccffcd..f5eb89cb8 100644 --- a/libnautilus/nautilus-icons-view-icon-item.c +++ b/libnautilus/nautilus-icons-view-icon-item.c @@ -1,3 +1,5 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ + /* GNOME libraries - Icon Item class for Icon Container * * Copyright (C) 2000 Eazel, Inc @@ -21,21 +23,17 @@ */ #include <config.h> -#include <math.h> -#include <stdio.h> - -#include <libgnomeui/gnome-canvas.h> -#include <libgnomeui/gnome-canvas-util.h> -#include <libgnomeui/gnome-icon-text.h> +#include "nautilus-icons-view-icon-item.h" +#include <math.h> #include <gdk-pixbuf/gdk-pixbuf.h> #include <libart_lgpl/art_rgb_pixbuf_affine.h> - +#include <libgnomeui/gnome-canvas-util.h> #include "gnome-icon-container-private.h" -#include "nautilus-icons-view-icon-item.h" +#include "nautilus-gtk-macros.h" /* Private part of the NautilusIconsViewIconItem structure */ -typedef struct { +struct _NautilusIconsViewIconItemDetails { /* Our main gdk-pixbuf */ GdkPixbuf *pixbuf; @@ -74,7 +72,8 @@ typedef struct { /* Whether the transformation or size have changed */ guint need_xform_update : 1; -} IconItemPrivate; +}; + /* Object argument IDs */ @@ -95,8 +94,8 @@ enum { #define MAX_LABEL_WIDTH 80 -static void nautilus_icons_view_icon_item_class_init (NautilusIconsViewIconItemClass *class); -static void nautilus_icons_view_icon_item_init (NautilusIconsViewIconItem *cpb); +static void nautilus_icons_view_icon_item_initialize_class (NautilusIconsViewIconItemClass *class); +static void nautilus_icons_view_icon_item_initialize (NautilusIconsViewIconItem *cpb); static void nautilus_icons_view_icon_item_destroy (GtkObject *object); static void nautilus_icons_view_icon_item_set_arg (GtkObject *object, GtkArg *arg, guint arg_id); static void nautilus_icons_view_icon_item_get_arg (GtkObject *object, GtkArg *arg, guint arg_id); @@ -112,53 +111,17 @@ static void nautilus_icons_view_draw_text_box (GnomeCanvasItem* item, GdkDrawabl static GdkFont* get_font_for_item(GnomeCanvasItem *item); -static GnomeCanvasItemClass *parent_class; - - -/** - * nautilus_icons_view_icon_item_get_type: - * @void: - * - * Registers the #NautilusIconsViewIconItem class if necessary, and returns the type ID - * associated to it. - * - * Return value: The type ID of the #NautilusIconsViewIconItem class. - **/ -GtkType -nautilus_icons_view_icon_item_get_type (void) -{ - static GtkType icon_item_type = 0; - - if (!icon_item_type) { - static const GtkTypeInfo icon_type_info = { - "NautilusIconsViewIconItem", - sizeof (NautilusIconsViewIconItem), - sizeof (NautilusIconsViewIconItemClass), - (GtkClassInitFunc) nautilus_icons_view_icon_item_class_init, - (GtkObjectInitFunc) nautilus_icons_view_icon_item_init, - NULL, /* reserved_1 */ - NULL, /* reserved_2 */ - (GtkClassInitFunc) NULL - }; - - icon_item_type = gtk_type_unique (gnome_canvas_item_get_type (), - &icon_type_info); - } - - return icon_item_type; -} +NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusIconsViewIconItem, nautilus_icons_view_icon_item, GNOME_TYPE_CANVAS_ITEM) /* Class initialization function for the icon canvas item */ static void -nautilus_icons_view_icon_item_class_init (NautilusIconsViewIconItemClass *class) +nautilus_icons_view_icon_item_initialize_class (NautilusIconsViewIconItemClass *class) { GtkObjectClass *object_class; GnomeCanvasItemClass *item_class; - object_class = (GtkObjectClass *) class; - item_class = (GnomeCanvasItemClass *) class; - - parent_class = gtk_type_class (gnome_canvas_item_get_type ()); + object_class = GTK_OBJECT_CLASS (class); + item_class = GNOME_CANVAS_ITEM_CLASS (class); gtk_object_add_arg_type ("NautilusIconsViewIconItem::pixbuf", GTK_TYPE_POINTER, GTK_ARG_READWRITE, ARG_PIXBUF); @@ -193,27 +156,12 @@ nautilus_icons_view_icon_item_class_init (NautilusIconsViewIconItemClass *class) /* Object initialization function for the icon item */ static void -nautilus_icons_view_icon_item_init (NautilusIconsViewIconItem *icon_view_item) +nautilus_icons_view_icon_item_initialize (NautilusIconsViewIconItem *icon_view_item) { - IconItemPrivate *priv; + NautilusIconsViewIconItemDetails *details; - priv = g_new0 (IconItemPrivate, 1); - icon_view_item->priv = priv; - - priv->width = 0.0; - priv->height = 0.0; - priv->x = 0.0; - priv->y = 0.0; - - priv->text_width = 0.0; - priv->text_height = 0.0; - - priv->is_selected = FALSE; - priv->is_alt_selected = FALSE; - priv->is_hilited = FALSE; - - priv->need_pixbuf_update = FALSE; - priv->need_xform_update = FALSE; + details = g_new0 (NautilusIconsViewIconItemDetails, 1); + icon_view_item->details = details; } /* Destroy handler for the icon canvas item */ @@ -222,26 +170,23 @@ nautilus_icons_view_icon_item_destroy (GtkObject *object) { GnomeCanvasItem *item; NautilusIconsViewIconItem *icon_view_item; - IconItemPrivate *priv; + NautilusIconsViewIconItemDetails *details; - g_return_if_fail (object != NULL); g_return_if_fail (NAUTILUS_IS_ICONS_VIEW_ICON_ITEM (object)); item = GNOME_CANVAS_ITEM (object); icon_view_item = (NAUTILUS_ICONS_VIEW_ICON_ITEM (object)); - priv = icon_view_item->priv; + details = icon_view_item->details; gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2); - if (priv->pixbuf) - gdk_pixbuf_unref (priv->pixbuf); - if (priv->label) - g_free(priv->label); + if (details->pixbuf != NULL) + gdk_pixbuf_unref (details->pixbuf); + g_free(details->label); - g_free (priv); + g_free (details); - if (GTK_OBJECT_CLASS (parent_class)->destroy) - (* GTK_OBJECT_CLASS (parent_class)->destroy) (object); + NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object)); } /* Set_arg handler for the icon item */ @@ -251,89 +196,89 @@ nautilus_icons_view_icon_item_set_arg (GtkObject *object, GtkArg *arg, guint arg { GnomeCanvasItem *item; NautilusIconsViewIconItem *icon_view_item; - IconItemPrivate *priv; + NautilusIconsViewIconItemDetails *details; GdkPixbuf *pixbuf; gchar* new_label; double val; item = GNOME_CANVAS_ITEM (object); icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (object); - priv = icon_view_item->priv; + details = icon_view_item->details; switch (arg_id) { case ARG_PIXBUF: pixbuf = GTK_VALUE_POINTER (*arg); - if (pixbuf != priv->pixbuf) { + if (pixbuf != details->pixbuf) { if (pixbuf) { g_return_if_fail (pixbuf->art_pixbuf->format == ART_PIX_RGB); g_return_if_fail (pixbuf->art_pixbuf->n_channels == 3 || pixbuf->art_pixbuf->n_channels == 4); g_return_if_fail (pixbuf->art_pixbuf->bits_per_sample == 8); - + gdk_pixbuf_ref (pixbuf); } + + if (details->pixbuf) + gdk_pixbuf_unref (details->pixbuf); - if (priv->pixbuf) - gdk_pixbuf_unref (priv->pixbuf); - - priv->pixbuf = pixbuf; + details->pixbuf = pixbuf; } - priv->need_pixbuf_update = TRUE; + details->need_pixbuf_update = TRUE; gnome_canvas_item_request_update (item); break; case ARG_LABEL: new_label = GTK_VALUE_STRING (*arg); - if (priv->label) - g_free(priv->label); - priv->label = g_strdup(new_label); + if (details->label) + g_free(details->label); + details->label = g_strdup(new_label); - priv->need_pixbuf_update = TRUE; + details->need_pixbuf_update = TRUE; gnome_canvas_item_request_update (item); break; case ARG_WIDTH: val = GTK_VALUE_DOUBLE (*arg); g_return_if_fail (val >= 0.0); - priv->width = val; - priv->need_xform_update = TRUE; + details->width = val; + details->need_xform_update = TRUE; gnome_canvas_item_request_update (item); break; case ARG_HEIGHT: val = GTK_VALUE_DOUBLE (*arg); g_return_if_fail (val >= 0.0); - priv->height = val; - priv->need_xform_update = TRUE; + details->height = val; + details->need_xform_update = TRUE; gnome_canvas_item_request_update (item); break; case ARG_X: - priv->x = GTK_VALUE_DOUBLE (*arg); - priv->need_xform_update = TRUE; + details->x = GTK_VALUE_DOUBLE (*arg); + details->need_xform_update = TRUE; gnome_canvas_item_request_update (item); break; case ARG_Y: - priv->y = GTK_VALUE_DOUBLE (*arg); - priv->need_xform_update = TRUE; + details->y = GTK_VALUE_DOUBLE (*arg); + details->need_xform_update = TRUE; gnome_canvas_item_request_update (item); break; case ARG_SELECTED: - priv->is_selected = GTK_VALUE_BOOL (*arg); + details->is_selected = GTK_VALUE_BOOL (*arg); gnome_canvas_item_request_update (item); break; case ARG_ALT_SELECTED: - priv->is_alt_selected = GTK_VALUE_BOOL (*arg); + details->is_alt_selected = GTK_VALUE_BOOL (*arg); gnome_canvas_item_request_update (item); break; case ARG_HILITED: - priv->is_hilited = GTK_VALUE_BOOL (*arg); + details->is_hilited = GTK_VALUE_BOOL (*arg); gnome_canvas_item_request_update (item); break; @@ -348,48 +293,49 @@ static void nautilus_icons_view_icon_item_get_arg (GtkObject *object, GtkArg *arg, guint arg_id) { NautilusIconsViewIconItem *icon_view_item; - IconItemPrivate *priv; - + NautilusIconsViewIconItemDetails *details; + icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (object); - priv = icon_view_item->priv; - - switch (arg_id) { + details = icon_view_item->details; + switch (arg_id) { + case ARG_PIXBUF: - GTK_VALUE_POINTER (*arg) = priv->pixbuf; + GTK_VALUE_POINTER (*arg) = details->pixbuf; break; - + case ARG_LABEL: - GTK_VALUE_STRING (*arg) = priv->label; + GTK_VALUE_STRING (*arg) = details->label; break; - + case ARG_WIDTH: - GTK_VALUE_DOUBLE (*arg) = priv->width; + GTK_VALUE_DOUBLE (*arg) = details->width; break; case ARG_HEIGHT: - GTK_VALUE_DOUBLE (*arg) = priv->height; + GTK_VALUE_DOUBLE (*arg) = details->height; break; - + case ARG_X: - GTK_VALUE_DOUBLE (*arg) = priv->x; + GTK_VALUE_DOUBLE (*arg) = details->x; break; - + case ARG_Y: - GTK_VALUE_DOUBLE (*arg) = priv->y; + GTK_VALUE_DOUBLE (*arg) = details->y; break; - + case ARG_SELECTED: - GTK_VALUE_BOOL(*arg) = priv->is_selected; + GTK_VALUE_BOOL(*arg) = details->is_selected; break; - + case ARG_ALT_SELECTED: - GTK_VALUE_BOOL(*arg) = priv->is_alt_selected; + GTK_VALUE_BOOL(*arg) = details->is_alt_selected; break; - + case ARG_HILITED: - GTK_VALUE_BOOL(*arg) = priv->is_hilited; + GTK_VALUE_BOOL(*arg) = details->is_hilited; break; + default: arg->type = GTK_TYPE_INVALID; break; @@ -407,13 +353,13 @@ compute_xform_scaling (double *affine, ArtPoint *i_c, ArtPoint *j_c) { ArtPoint orig, orig_c; ArtPoint i, j; - + /* Origin */ - + orig.x = 0.0; orig.y = 0.0; art_affine_point (&orig_c, &orig, affine); - + /* Horizontal and vertical vectors */ i.x = 1.0; @@ -421,7 +367,7 @@ compute_xform_scaling (double *affine, ArtPoint *i_c, ArtPoint *j_c) art_affine_point (i_c, &i, affine); i_c->x -= orig_c.x; i_c->y -= orig_c.y; - + j.x = 0.0; j.y = 1.0; art_affine_point (j_c, &j, affine); @@ -436,7 +382,7 @@ compute_xform_scaling (double *affine, ArtPoint *i_c, ArtPoint *j_c) static void compute_viewport_affine (NautilusIconsViewIconItem *icon_view_item, double *viewport_affine, double *i2c) { - IconItemPrivate *priv; + NautilusIconsViewIconItemDetails *details; ArtPoint i_c, j_c; double i_len, j_len; double si_len, sj_len; @@ -445,32 +391,32 @@ compute_viewport_affine (NautilusIconsViewIconItem *icon_view_item, double *view double w, h; double x, y; - priv = icon_view_item->priv; + details = icon_view_item->details; /* Compute scaling vectors and required width/height */ - + compute_xform_scaling (i2c, &i_c, &j_c); - + i_len = sqrt (i_c.x * i_c.x + i_c.y * i_c.y); j_len = sqrt (j_c.x * j_c.x + j_c.y * j_c.y); - - w = priv->width; + + w = details->width; if (!w) - w = priv->pixbuf->art_pixbuf->width; - - h = priv->height; + w = details->pixbuf->art_pixbuf->width; + + h = details->height; if (!h) - h = priv->pixbuf->art_pixbuf->height; - - x = priv->x; - y = priv->y; - - si_len = w / priv->pixbuf->art_pixbuf->width; - sj_len = h / priv->pixbuf->art_pixbuf->height; - + h = details->pixbuf->art_pixbuf->height; + + x = details->x; + y = details->y; + + si_len = w / details->pixbuf->art_pixbuf->width; + sj_len = h / details->pixbuf->art_pixbuf->height; + ti_len = x; tj_len = y; - + /* Compute the final affine */ art_affine_scale (scale, si_len, sj_len); @@ -496,8 +442,8 @@ compute_render_affine (NautilusIconsViewIconItem *icon_view_item, double *render static GdkFont* get_font_for_item(GnomeCanvasItem *item) { - GnomeIconContainer* container = GNOME_ICON_CONTAINER(item->canvas); - return container->details->label_font[container->details->zoom_level]; + GnomeIconContainer* container = GNOME_ICON_CONTAINER (item->canvas); + return container->details->label_font[container->details->zoom_level]; } /* Recomputes the bounding box of a icon canvas item. */ @@ -505,32 +451,32 @@ static void recompute_bounding_box (NautilusIconsViewIconItem *icon_view_item) { GnomeCanvasItem *item; - IconItemPrivate *priv; + NautilusIconsViewIconItemDetails *details; double i2c[6], render_affine[6]; ArtDRect rect; item = GNOME_CANVAS_ITEM (icon_view_item); - priv = icon_view_item->priv; + details = icon_view_item->details; - if (!priv->pixbuf) { + if (!details->pixbuf) { item->x1 = item->y1 = item->x2 = item->y2 = 0.0; return; } /* add 2 pixels slop to each side for hilite margin */ rect.x0 = 0.0; - rect.x1 = priv->pixbuf->art_pixbuf->width + 4; - if ((priv->text_width + 4)> rect.x1) - rect.x1 = priv->text_width + 4; - + rect.x1 = details->pixbuf->art_pixbuf->width + 4; + if ((details->text_width + 4)> rect.x1) + rect.x1 = details->text_width + 4; + rect.y0 = 0.0; - rect.y1 = priv->pixbuf->art_pixbuf->height; - rect.y1 += floor(priv->text_height); + rect.y1 = details->pixbuf->art_pixbuf->height; + rect.y1 += floor(details->text_height); gnome_canvas_item_i2c_affine (item, i2c); compute_render_affine (icon_view_item, render_affine, i2c); art_drect_affine_transform (&rect, &rect, render_affine); - + item->x1 = floor (rect.x0); item->y1 = floor (rect.y0); item->x2 = ceil (rect.x1); @@ -543,36 +489,39 @@ recompute_bounding_box (NautilusIconsViewIconItem *icon_view_item) static void nautilus_icons_view_icon_item_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags) { - NautilusIconsViewIconItem *icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (item); - IconItemPrivate *priv = icon_view_item->priv; - GdkFont *title_font = get_font_for_item(item); + NautilusIconsViewIconItem *icon_view_item; + NautilusIconsViewIconItemDetails *details; + GdkFont *title_font; + + icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (item); + details = icon_view_item->details; + title_font = get_font_for_item(item); /* make sure the text box measurements are set up before recalculating the bounding box */ - nautilus_icons_view_draw_text_box(item, NULL, title_font, priv->label, 0, 0, priv->is_selected, FALSE); + nautilus_icons_view_draw_text_box(item, NULL, title_font, details->label, 0, 0, details->is_selected, FALSE); recompute_bounding_box(icon_view_item); - if (parent_class->update) - (* parent_class->update) (item, affine, clip_path, flags); - + NAUTILUS_CALL_PARENT_CLASS (GNOME_CANVAS_ITEM_CLASS, update, (item, affine, clip_path, flags)); + if (((flags & GNOME_CANVAS_UPDATE_VISIBILITY) && !(GTK_OBJECT_FLAGS (item) & GNOME_CANVAS_ITEM_VISIBLE)) || (flags & GNOME_CANVAS_UPDATE_AFFINE) - || priv->need_pixbuf_update - || priv->need_xform_update) + || details->need_pixbuf_update + || details->need_xform_update) gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2); - + /* If we need a pixbuf update, or if the item changed visibility to * shown, recompute the bounding box. */ - if (priv->need_pixbuf_update - || priv->need_xform_update + if (details->need_pixbuf_update + || details->need_xform_update || ((flags & GNOME_CANVAS_UPDATE_VISIBILITY) && (GTK_OBJECT_FLAGS (icon_view_item) & GNOME_CANVAS_ITEM_VISIBLE)) || (flags & GNOME_CANVAS_UPDATE_AFFINE)) { recompute_bounding_box (icon_view_item); gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2); - priv->need_pixbuf_update = FALSE; - priv->need_xform_update = FALSE; + details->need_pixbuf_update = FALSE; + details->need_xform_update = FALSE; } } @@ -580,7 +529,7 @@ nautilus_icons_view_icon_item_update (GnomeCanvasItem *item, double *affine, Art /* Rendering */ -/* This is private to libart, but we need it. Sigh. */ +/* This is detailsate to libart, but we need it. Sigh. */ extern void art_rgb_affine_run (int *p_x0, int *p_x1, int y, int src_width, int src_height, const double affine[6]); @@ -618,12 +567,12 @@ transform_pixbuf (guchar *dest, int x, int y, int width, int height, int rowstri art_affine_point (&src_p, &dest_p, inv); src_x = floor (src_p.x); src_y = floor (src_p.y); - + src = apb->pixels + src_y * apb->rowstride + src_x * apb->n_channels; - + for (i = 0; i < apb->n_channels; i++) *d++ = *src++; - + if (!apb->has_alpha) *d++ = 255; /* opaque */ } @@ -637,45 +586,52 @@ nautilus_icons_view_draw_text_box (GnomeCanvasItem* item, GdkDrawable *drawable, { GnomeIconTextInfo *icon_text_info; gint box_left; - GdkGC* temp_gc = gdk_gc_new(item->canvas->layout.bin_window); - NautilusIconsViewIconItem *icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (item); - IconItemPrivate *priv = icon_view_item->priv; - gint line_width = gdk_string_width(title_font, label); - gint line_height = gdk_string_height(title_font, label); - - if (line_width < floor(MAX_LABEL_WIDTH * item->canvas->pixels_per_unit)) - { - gint item_width = floor(item->x2 - item->x1); - box_left = icon_left + ((item_width - line_width) >> 1); - if (real_draw) - gdk_draw_string (drawable, title_font, temp_gc, box_left, icon_bottom + line_height, label); - line_height += 4; /* extra slop for nicer hilite */ - } - else - { - box_left = icon_left; - icon_text_info = gnome_icon_layout_text(title_font, label, " -_,;.:?/&", - floor(MAX_LABEL_WIDTH * item->canvas->pixels_per_unit), - TRUE); - if (real_draw) - gnome_icon_paint_text(icon_text_info, drawable, temp_gc, box_left, icon_bottom, GTK_JUSTIFY_CENTER); - line_width = icon_text_info->width; - line_height = icon_text_info->height; - gnome_icon_text_info_free(icon_text_info); - } + GdkGC* temp_gc; + NautilusIconsViewIconItem *icon_view_item; + NautilusIconsViewIconItemDetails *details; + gint line_width; + gint line_height; + + icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (item); + + details = icon_view_item->details; + line_width = gdk_string_width(title_font, label); + line_height = gdk_string_height(title_font, label); + + if (real_draw) + temp_gc = gdk_gc_new(item->canvas->layout.bin_window); + + if (line_width < floor(MAX_LABEL_WIDTH * item->canvas->pixels_per_unit)) { + gint item_width = floor(item->x2 - item->x1); + box_left = icon_left + ((item_width - line_width) >> 1); + if (real_draw) + gdk_draw_string (drawable, title_font, temp_gc, box_left, icon_bottom + line_height, label); + line_height += 4; /* extra slop for nicer hilite */ + } else { + box_left = icon_left; + icon_text_info = gnome_icon_layout_text(title_font, label, " -_,;.:?/&", + floor(MAX_LABEL_WIDTH * item->canvas->pixels_per_unit), + TRUE); + if (real_draw) + gnome_icon_paint_text(icon_text_info, drawable, temp_gc, box_left, icon_bottom, GTK_JUSTIFY_CENTER); + line_width = icon_text_info->width; + line_height = icon_text_info->height; + gnome_icon_text_info_free(icon_text_info); + } /* invert to indicate selection if necessary */ if (is_selected && real_draw) - { - gdk_gc_set_function(temp_gc, GDK_INVERT); - gdk_draw_rectangle(drawable, temp_gc, TRUE, box_left, icon_bottom - 2, line_width, line_height); - gdk_gc_set_function(temp_gc, GDK_COPY); - } - - gdk_gc_unref(temp_gc); - - priv->text_width = (double) line_width; - priv->text_height = (double) line_height; + { + gdk_gc_set_function (temp_gc, GDK_INVERT); + gdk_draw_rectangle (drawable, temp_gc, TRUE, box_left, icon_bottom - 2, line_width, line_height); + gdk_gc_set_function (temp_gc, GDK_COPY); + } + + if (real_draw) + gdk_gc_unref (temp_gc); + + details->text_width = (double) line_width; + details->text_height = (double) line_height; } /* draw the icon item */ @@ -685,7 +641,7 @@ nautilus_icons_view_icon_item_draw (GnomeCanvasItem *item, GdkDrawable *drawable int x, int y, int width, int height) { NautilusIconsViewIconItem *icon_view_item; - IconItemPrivate *priv; + NautilusIconsViewIconItemDetails *details; double i2c[6], render_affine[6]; guchar *buf; GdkPixbuf *pixbuf; @@ -696,78 +652,84 @@ nautilus_icons_view_icon_item_draw (GnomeCanvasItem *item, GdkDrawable *drawable GdkFont *title_font = get_font_for_item(item); icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (item); - priv = icon_view_item->priv; + details = icon_view_item->details; /* handle drawing the pixbuf */ - if (priv->pixbuf) - { - center_offset = nautilus_icons_view_icon_item_center_offset(item); - - gnome_canvas_item_i2c_affine (item, i2c); - compute_render_affine (icon_view_item, render_affine, i2c); - - /* Compute the area we need to repaint */ - - p_rect.x0 = item->x1; - p_rect.y0 = item->y1; - p_rect.x1 = item->x2; - p_rect.y1 = item->y2; - - a_rect.x0 = x - center_offset; - a_rect.y0 = y; - a_rect.x1 = x + width - center_offset; - a_rect.y1 = y + height; - - art_irect_intersect (&d_rect, &p_rect, &a_rect); - if (art_irect_empty (&d_rect)) - return; - - /* Create a temporary buffer and transform the pixbuf there */ - /* FIXME: only do this if really necessary */ - - w = d_rect.x1 - d_rect.x0; - h = d_rect.y1 - d_rect.y0; - - buf = g_new0 (guchar, w * h * 4); - transform_pixbuf (buf, - d_rect.x0, d_rect.y0, - w, h, - w * 4, - priv->pixbuf, render_affine); - - pixbuf = gdk_pixbuf_new_from_data (buf, ART_PIX_RGB, TRUE, w, h, w * 4, NULL, NULL); - - gdk_pixbuf_render_to_drawable_alpha (pixbuf, drawable, - 0, 0, - d_rect.x0 - x + center_offset, d_rect.y0 - y, - w, h, - GDK_PIXBUF_ALPHA_BILEVEL, - 128, - GDK_RGB_DITHER_MAX, - d_rect.x0, d_rect.y0); - gdk_pixbuf_unref (pixbuf); - g_free (buf); - } - - /* now compute the position of the label and draw it */ - if (container->details->zoom_level != NAUTILUS_ZOOM_LEVEL_SMALLEST) - { - icon_height = priv->pixbuf->art_pixbuf->height * item->canvas->pixels_per_unit; - nautilus_icons_view_draw_text_box(item, drawable, title_font, priv->label, item->x1 - x, - item->y1 - y + icon_height, priv->is_selected, TRUE); - } - } + if (details->pixbuf) { + center_offset = nautilus_icons_view_icon_item_center_offset (icon_view_item); + + gnome_canvas_item_i2c_affine (item, i2c); + compute_render_affine (icon_view_item, render_affine, i2c); + + /* Compute the area we need to repaint */ + + p_rect.x0 = item->x1; + p_rect.y0 = item->y1; + p_rect.x1 = item->x2; + p_rect.y1 = item->y2; + + a_rect.x0 = x - center_offset; + a_rect.y0 = y; + a_rect.x1 = x + width - center_offset; + a_rect.y1 = y + height; + + art_irect_intersect (&d_rect, &p_rect, &a_rect); + if (art_irect_empty (&d_rect)) + return; + + /* Create a temporary buffer and transform the pixbuf there */ + /* FIXME: only do this if really necessary */ + + w = d_rect.x1 - d_rect.x0; + h = d_rect.y1 - d_rect.y0; + + buf = g_new0 (guchar, w * h * 4); + transform_pixbuf (buf, + d_rect.x0, d_rect.y0, + w, h, + w * 4, + details->pixbuf, render_affine); + + pixbuf = gdk_pixbuf_new_from_data (buf, ART_PIX_RGB, TRUE, w, h, w * 4, NULL, NULL); + + gdk_pixbuf_render_to_drawable_alpha (pixbuf, drawable, + 0, 0, + d_rect.x0 - x + center_offset, d_rect.y0 - y, + w, h, + GDK_PIXBUF_ALPHA_BILEVEL, + 128, + GDK_RGB_DITHER_MAX, + d_rect.x0, d_rect.y0); + gdk_pixbuf_unref (pixbuf); + g_free (buf); + } + + /* now compute the position of the label and draw it */ + if (container->details->zoom_level != NAUTILUS_ZOOM_LEVEL_SMALLEST) { + icon_height = details->pixbuf->art_pixbuf->height * item->canvas->pixels_per_unit; + nautilus_icons_view_draw_text_box(item, drawable, title_font, details->label, item->x1 - x, + item->y1 - y + icon_height, details->is_selected, TRUE); + } +} /* return the center offset for this icon */ gint -nautilus_icons_view_icon_item_center_offset(GnomeCanvasItem *item) +nautilus_icons_view_icon_item_center_offset(NautilusIconsViewIconItem *icon_view_item) { - NautilusIconsViewIconItem *icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (item); - IconItemPrivate *priv = icon_view_item->priv; - gint box_width = floor(item->x2 - item->x1); - gint center_offset = (box_width - floor(priv->pixbuf->art_pixbuf->width * item->canvas->pixels_per_unit)) / 2; - return center_offset; + GnomeCanvasItem *item; + NautilusIconsViewIconItemDetails *details; + int box_width; + int center_offset; + + g_return_val_if_fail (NAUTILUS_IS_ICONS_VIEW_ICON_ITEM (icon_view_item), 0); + + item = GNOME_CANVAS_ITEM (icon_view_item); + details = icon_view_item->details; + + box_width = floor (item->x2 - item->x1); + center_offset = (box_width - floor (details->pixbuf->art_pixbuf->width * item->canvas->pixels_per_unit)) / 2; + return center_offset; } /* Render handler for the icon canvas item */ @@ -775,23 +737,23 @@ static void nautilus_icons_view_icon_item_render (GnomeCanvasItem *item, GnomeCanvasBuf *buf) { NautilusIconsViewIconItem *icon_view_item; - IconItemPrivate *priv; + NautilusIconsViewIconItemDetails *details; double i2c[6], render_affine[6]; - + icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (item); - priv = icon_view_item->priv; - - if (!priv->pixbuf) + details = icon_view_item->details; + + if (!details->pixbuf) return; - + gnome_canvas_item_i2c_affine (item, i2c); compute_render_affine (icon_view_item, render_affine, i2c); gnome_canvas_buf_ensure_buf (buf); - + art_rgb_pixbuf_affine (buf->buf, buf->rect.x0, buf->rect.y0, buf->rect.x1, buf->rect.y1, buf->buf_rowstride, - priv->pixbuf->art_pixbuf, + details->pixbuf->art_pixbuf, render_affine, ART_FILTER_NEAREST, NULL); buf->is_bg = 0; @@ -805,7 +767,7 @@ nautilus_icons_view_icon_item_point (GnomeCanvasItem *item, double x, double y, GnomeCanvasItem **actual_item) { NautilusIconsViewIconItem *icon_view_item; - IconItemPrivate *priv; + NautilusIconsViewIconItemDetails *details; double i2c[6], render_affine[6], inv[6]; ArtPoint c, p; gint px, py; @@ -813,38 +775,38 @@ nautilus_icons_view_icon_item_point (GnomeCanvasItem *item, double x, double y, double no_hit; ArtPixBuf *apb; guchar *src; - + icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (item); - priv = icon_view_item->priv; - center_offset = nautilus_icons_view_icon_item_center_offset(item); - + details = icon_view_item->details; + center_offset = nautilus_icons_view_icon_item_center_offset (icon_view_item); + *actual_item = item; - + no_hit = item->canvas->pixels_per_unit * 2 + 10; - - if (!priv->pixbuf) + + if (!details->pixbuf) return no_hit; - - apb = priv->pixbuf->art_pixbuf; - + + apb = details->pixbuf->art_pixbuf; + gnome_canvas_item_i2c_affine (item, i2c); compute_render_affine (icon_view_item, render_affine, i2c); art_affine_invert (inv, render_affine); - + c.x = cx - center_offset; c.y = cy; art_affine_point (&p, &c, inv); px = p.x; py = p.y; - + if (px < 0 || px >= apb->width || py < 0 || py >= apb->height) return no_hit; - + if (!apb->has_alpha) return 0.0; - + src = apb->pixels + py * apb->rowstride + px * apb->n_channels; - + if (src[3] < 128) return no_hit; else @@ -857,32 +819,32 @@ static void nautilus_icons_view_icon_item_bounds (GnomeCanvasItem *item, double *x1, double *y1, double *x2, double *y2) { NautilusIconsViewIconItem *icon_view_item; - IconItemPrivate *priv; + NautilusIconsViewIconItemDetails *details; double i2c[6], viewport_affine[6]; ArtDRect rect; - + icon_view_item = NAUTILUS_ICONS_VIEW_ICON_ITEM (item); - priv = icon_view_item->priv; - - if (!priv->pixbuf) { + details = icon_view_item->details; + + if (!details->pixbuf) { *x1 = *y1 = *x2 = *y2 = 0.0; return; } - + /* add 2 pixels slop to each side for hilite margin */ rect.x0 = 0.0; - rect.x1 = priv->pixbuf->art_pixbuf->width + 4; - if ((priv->text_width + 4) > rect.x1) - rect.x1 = priv->text_width + 4; - + rect.x1 = details->pixbuf->art_pixbuf->width + 4; + if ((details->text_width + 4) > rect.x1) + rect.x1 = details->text_width + 4; + rect.y0 = 0.0; - rect.y1 = priv->pixbuf->art_pixbuf->height; - rect.y1 += floor(priv->text_height); + rect.y1 = details->pixbuf->art_pixbuf->height; + rect.y1 += floor(details->text_height); gnome_canvas_item_i2c_affine (item, i2c); compute_viewport_affine (icon_view_item, viewport_affine, i2c); art_drect_affine_transform (&rect, &rect, viewport_affine); - + *x1 = rect.x0; *y1 = rect.y0; *x2 = rect.x1; diff --git a/libnautilus/nautilus-icons-view-icon-item.h b/libnautilus/nautilus-icons-view-icon-item.h index f0b764474..4e95dcefb 100644 --- a/libnautilus/nautilus-icons-view-icon-item.h +++ b/libnautilus/nautilus-icons-view-icon-item.h @@ -1,3 +1,5 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ + /* GNOME libraries - Icon Item class for Icon View * * Copyright (C) 2000 Eazel, Inc. @@ -28,32 +30,33 @@ BEGIN_GNOME_DECLS -#define NAUTILUS_TYPE_ICONS_VIEW_ICON_ITEM (nautilus_icons_view_icon_item_get_type ()) -#define NAUTILUS_ICONS_VIEW_ICON_ITEM(obj) (GTK_CHECK_CAST ((obj), \ - NAUTILUS_TYPE_ICONS_VIEW_ICON_ITEM, NautilusIconsViewIconItem)) -#define NAUTILUS_ICONS_VIEW_ICON_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), \ - NAUTILUS_TYPE_ICONS_VIEW_ICON_ITEM, NautilusIconsViewIconItemClass)) -#define NAUTILUS_IS_ICONS_VIEW_ICON_ITEM(obj) (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_ICONS_VIEW_ICON_ITEM)) -#define NAUTILUS_IS_ICONS_VIEW_ICON_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), \ - NAUTILUS_TYPE_ICONS_VIEW_ICON_ITEM)) +#define NAUTILUS_TYPE_ICONS_VIEW_ICON_ITEM \ + (nautilus_icons_view_icon_item_get_type ()) +#define NAUTILUS_ICONS_VIEW_ICON_ITEM(obj) \ + (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_ICONS_VIEW_ICON_ITEM, NautilusIconsViewIconItem)) +#define NAUTILUS_ICONS_VIEW_ICON_ITEM_CLASS(klass) \ + (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_ICONS_VIEW_ICON_ITEM, NautilusIconsViewIconItemClass)) +#define NAUTILUS_IS_ICONS_VIEW_ICON_ITEM(obj) \ + (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_ICONS_VIEW_ICON_ITEM)) +#define NAUTILUS_IS_ICONS_VIEW_ICON_ITEM_CLASS(klass) \ + (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_ICONS_VIEW_ICON_ITEM)) typedef struct _NautilusIconsViewIconItem NautilusIconsViewIconItem; typedef struct _NautilusIconsViewIconItemClass NautilusIconsViewIconItemClass; +typedef struct _NautilusIconsViewIconItemDetails NautilusIconsViewIconItemDetails; struct _NautilusIconsViewIconItem { GnomeCanvasItem item; - - /* Private data */ - gpointer priv; + NautilusIconsViewIconItemDetails *details; }; struct _NautilusIconsViewIconItemClass { GnomeCanvasItemClass parent_class; }; -GtkType nautilus_icons_view_icon_item_get_type (void); -gint nautilus_icons_view_icon_item_center_offset(GnomeCanvasItem *item); +GtkType nautilus_icons_view_icon_item_get_type (void); +int nautilus_icons_view_icon_item_center_offset (NautilusIconsViewIconItem *item); END_GNOME_DECLS diff --git a/libnautilus/nautilus-lib-self-check-functions.c b/libnautilus/nautilus-lib-self-check-functions.c index 76f06a41e..e75c7e905 100644 --- a/libnautilus/nautilus-lib-self-check-functions.c +++ b/libnautilus/nautilus-lib-self-check-functions.c @@ -23,9 +23,7 @@ Author: Darin Adler <darin@eazel.com> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif #if ! defined (NAUTILUS_OMIT_SELF_CHECK) diff --git a/libnautilus/nautilus-self-checks.c b/libnautilus/nautilus-self-checks.c index ebf1a2bf4..9c70f8031 100644 --- a/libnautilus/nautilus-self-checks.c +++ b/libnautilus/nautilus-self-checks.c @@ -22,13 +22,12 @@ Author: Darin Adler <darin@eazel.com> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif #if ! defined (NAUTILUS_OMIT_SELF_CHECK) #include "nautilus-self-checks.h" + #include <stdio.h> #include <stdlib.h> diff --git a/libnautilus/nautilus-string.c b/libnautilus/nautilus-string.c index 1b797e0d4..cccec2f5d 100644 --- a/libnautilus/nautilus-string.c +++ b/libnautilus/nautilus-string.c @@ -22,10 +22,7 @@ Authors: Darin Adler <darin@eazel.com> */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif - #include "nautilus-string.h" #include <ctype.h> |