mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-10-05 23:40:01 +00:00
Change parameters for functions that accept and return ArtIRect,
* components/news/nautilus-news.c: * libnautilus-extensions/nautilus-icon-canvas-item.c: * libnautilus-extensions/nautilus-icon-canvas-item.h: * libnautilus-extensions/nautilus-icon-container.c: * libnautilus-extensions/nautilus-icon-dnd.c: * libnautilus-extensions/nautilus-icon-factory.c: * src/file-manager/fm-list-view.c: * src/nautilus-about.c: * test/test.c: Change parameters for functions that accept and return ArtIRect, EelArtIPoint, ArtDRect, EelDimensions to pass by value instead of by pointer.
This commit is contained in:
parent
e3de11277e
commit
1260bbb9a4
15
ChangeLog
15
ChangeLog
|
@ -1,3 +1,18 @@
|
|||
2001-04-30 Ramiro Estrugo <ramiro@eazel.com>
|
||||
|
||||
* components/news/nautilus-news.c:
|
||||
* libnautilus-extensions/nautilus-icon-canvas-item.c:
|
||||
* libnautilus-extensions/nautilus-icon-canvas-item.h:
|
||||
* libnautilus-extensions/nautilus-icon-container.c:
|
||||
* libnautilus-extensions/nautilus-icon-dnd.c:
|
||||
* libnautilus-extensions/nautilus-icon-factory.c:
|
||||
* src/file-manager/fm-list-view.c:
|
||||
* src/nautilus-about.c:
|
||||
* test/test.c:
|
||||
Change parameters for functions that accept and return ArtIRect,
|
||||
EelArtIPoint, ArtDRect, EelDimensions to pass by value instead of
|
||||
by pointer.
|
||||
|
||||
2001-04-30 Dan Mueth <dan@eazel.com>
|
||||
|
||||
Updating Nautilus Quick Reference, both content and many
|
||||
|
|
|
@ -597,9 +597,9 @@ draw_rss_items (RSSChannelData *channel_data,
|
|||
if (!art_irect_empty (&dest_bounds)) {
|
||||
eel_smooth_text_layout_draw_to_pixbuf
|
||||
(smooth_text_layout, pixbuf,
|
||||
0, 0, &dest_bounds, GTK_JUSTIFY_LEFT,
|
||||
TRUE, text_color,
|
||||
EEL_OPACITY_FULLY_OPAQUE);
|
||||
0, 0, dest_bounds, GTK_JUSTIFY_LEFT,
|
||||
TRUE, text_color,
|
||||
EEL_OPACITY_FULLY_OPAQUE);
|
||||
|
||||
/* draw the bullet */
|
||||
if (bullet != NULL) {
|
||||
|
|
|
@ -168,8 +168,6 @@ static void nautilus_icon_canvas_item_get_arg (GtkObject
|
|||
GtkArg *arg,
|
||||
guint arg_id);
|
||||
|
||||
|
||||
|
||||
/* GnomeCanvasItem */
|
||||
static void nautilus_icon_canvas_item_update (GnomeCanvasItem *item,
|
||||
double *affine,
|
||||
|
@ -195,8 +193,6 @@ static void nautilus_icon_canvas_item_bounds (GnomeCanvasItem
|
|||
double *x2,
|
||||
double *y2);
|
||||
|
||||
|
||||
|
||||
/* private */
|
||||
static void draw_or_measure_label_text (NautilusIconCanvasItem *item,
|
||||
GdkDrawable *drawable,
|
||||
|
@ -215,7 +211,7 @@ static void get_icon_canvas_rectangle (NautilusIconCanvasIt
|
|||
ArtIRect *rect);
|
||||
static void emblem_layout_reset (EmblemLayout *layout,
|
||||
NautilusIconCanvasItem *icon_item,
|
||||
const ArtIRect *icon_rect);
|
||||
ArtIRect icon_rect);
|
||||
static gboolean emblem_layout_next (EmblemLayout *layout,
|
||||
GdkPixbuf **emblem_pixbuf,
|
||||
ArtIRect *emblem_rect);
|
||||
|
@ -224,11 +220,9 @@ static void draw_pixbuf (GdkPixbuf
|
|||
int x,
|
||||
int y);
|
||||
static gboolean hit_test_stretch_handle (NautilusIconCanvasItem *item,
|
||||
const ArtIRect *canvas_rect);
|
||||
ArtIRect canvas_rect);
|
||||
static gboolean icon_canvas_item_is_smooth (const NautilusIconCanvasItem *icon_item);
|
||||
|
||||
|
||||
|
||||
EEL_DEFINE_CLASS_BOILERPLATE (NautilusIconCanvasItem, nautilus_icon_canvas_item, GNOME_TYPE_CANVAS_ITEM)
|
||||
|
||||
static EelSmoothTextLayoutCache *layout_cache;
|
||||
|
@ -565,7 +559,7 @@ nautilus_icon_canvas_item_set_image (NautilusIconCanvasItem *item,
|
|||
|
||||
void
|
||||
nautilus_icon_canvas_item_set_emblems (NautilusIconCanvasItem *item,
|
||||
GList *emblem_pixbufs)
|
||||
GList *emblem_pixbufs)
|
||||
{
|
||||
GList *p;
|
||||
|
||||
|
@ -638,16 +632,19 @@ recompute_bounding_box (NautilusIconCanvasItem *icon_item)
|
|||
item->y2 = bottom_right.y;
|
||||
}
|
||||
|
||||
static void
|
||||
static ArtIRect
|
||||
compute_text_rectangle (NautilusIconCanvasItem *item,
|
||||
const ArtIRect *icon_rect,
|
||||
ArtIRect *text_rect)
|
||||
ArtIRect icon_rectangle)
|
||||
{
|
||||
ArtIRect text_rectangle;
|
||||
|
||||
/* Compute text rectangle. */
|
||||
text_rect->x0 = (icon_rect->x0 + icon_rect->x1) / 2 - item->details->text_width / 2;
|
||||
text_rect->y0 = icon_rect->y1 + LABEL_OFFSET;
|
||||
text_rect->x1 = text_rect->x0 + item->details->text_width;
|
||||
text_rect->y1 = text_rect->y0 + item->details->text_height;
|
||||
text_rectangle.x0 = (icon_rectangle.x0 + icon_rectangle.x1) / 2 - item->details->text_width / 2;
|
||||
text_rectangle.y0 = icon_rectangle.y1 + LABEL_OFFSET;
|
||||
text_rectangle.x1 = text_rectangle.x0 + item->details->text_width;
|
||||
text_rectangle.y1 = text_rectangle.y0 + item->details->text_height;
|
||||
|
||||
return text_rectangle;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -658,34 +655,34 @@ nautilus_icon_canvas_item_update_bounds (NautilusIconCanvasItem *item)
|
|||
GdkPixbuf *emblem_pixbuf;
|
||||
|
||||
/* Compute new bounds. */
|
||||
eel_gnome_canvas_item_get_current_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (item), &before);
|
||||
before = eel_gnome_canvas_item_get_current_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (item));
|
||||
recompute_bounding_box (item);
|
||||
eel_gnome_canvas_item_get_current_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (item), &after);
|
||||
after = eel_gnome_canvas_item_get_current_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (item));
|
||||
|
||||
/* If the bounds didn't change, we are done. */
|
||||
if (eel_art_irect_equal (&before, &after)) {
|
||||
if (eel_art_irect_equal (before, after)) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Update canvas and text rect cache */
|
||||
get_icon_canvas_rectangle (item, &item->details->canvas_rect);
|
||||
compute_text_rectangle (item, &item->details->canvas_rect, &item->details->text_rect);
|
||||
item->details->text_rect = compute_text_rectangle (item, item->details->canvas_rect);
|
||||
|
||||
/* Update emblem rect cache */
|
||||
item->details->emblem_rect.x0 = 0;
|
||||
item->details->emblem_rect.x1 = 0;
|
||||
item->details->emblem_rect.y0 = 0;
|
||||
item->details->emblem_rect.y1 = 0;
|
||||
emblem_layout_reset (&emblem_layout, item, &item->details->canvas_rect);
|
||||
emblem_layout_reset (&emblem_layout, item, item->details->canvas_rect);
|
||||
while (emblem_layout_next (&emblem_layout, &emblem_pixbuf, &emblem_rect)) {
|
||||
art_irect_union (&item->details->emblem_rect, &item->details->emblem_rect, &emblem_rect);
|
||||
}
|
||||
|
||||
/* Send out the bounds_changed signal and queue a redraw. */
|
||||
eel_gnome_canvas_request_redraw_rectangle
|
||||
(GNOME_CANVAS_ITEM (item)->canvas, &before);
|
||||
(GNOME_CANVAS_ITEM (item)->canvas, before);
|
||||
gtk_signal_emit (GTK_OBJECT (item),
|
||||
signals[BOUNDS_CHANGED]);
|
||||
eel_gnome_canvas_item_request_redraw
|
||||
|
@ -695,14 +692,14 @@ nautilus_icon_canvas_item_update_bounds (NautilusIconCanvasItem *item)
|
|||
/* Update handler for the icon canvas item. */
|
||||
static void
|
||||
nautilus_icon_canvas_item_update (GnomeCanvasItem *item,
|
||||
double *affine,
|
||||
ArtSVP *clip_path,
|
||||
int flags)
|
||||
double *affine,
|
||||
ArtSVP *clip_path,
|
||||
int flags)
|
||||
{
|
||||
nautilus_icon_canvas_item_update_bounds (NAUTILUS_ICON_CANVAS_ITEM (item));
|
||||
eel_gnome_canvas_item_request_redraw (item);
|
||||
EEL_CALL_PARENT (GNOME_CANVAS_ITEM_CLASS, update,
|
||||
(item, affine, clip_path, flags));
|
||||
(item, affine, clip_path, flags));
|
||||
}
|
||||
|
||||
/* Rendering */
|
||||
|
@ -744,8 +741,8 @@ in_single_click_mode ()
|
|||
/* Keep these for a bit while we work on performance of draw_or_measure_label_text. */
|
||||
|
||||
/*
|
||||
#define PERFORMANCE_TEST_DRAW_DISABLE
|
||||
#define PERFORMANCE_TEST_MEASURE_DISABLE
|
||||
#define PERFORMANCE_TEST_DRAW_DISABLE
|
||||
#define PERFORMANCE_TEST_MEASURE_DISABLE
|
||||
*/
|
||||
|
||||
/* Draw the text in a box, using gnomelib routines. */
|
||||
|
@ -836,7 +833,7 @@ draw_or_measure_label_text (NautilusIconCanvasItem *item,
|
|||
|
||||
gdk_draw_rectangle
|
||||
(drawable, gc, TRUE,
|
||||
icon_left + (icon_width - details->text_width) / 2,
|
||||
icon_left + (icon_width - details->text_width) / 2,
|
||||
icon_bottom,
|
||||
details->text_width, details->text_height);
|
||||
|
||||
|
@ -1073,7 +1070,7 @@ draw_outline_rectangle_aa (GnomeCanvasBuf *buf, int x0, int y0, int x1, int y1,
|
|||
/* draw the stretch handles in the anti-aliased canvas */
|
||||
static void
|
||||
draw_stretch_handles_aa (NautilusIconCanvasItem *item, GnomeCanvasBuf *buf,
|
||||
const ArtIRect *rect)
|
||||
const ArtIRect *rect)
|
||||
{
|
||||
int knob_width, knob_height;
|
||||
GnomeCanvasItem *canvas_item;
|
||||
|
@ -1107,10 +1104,10 @@ draw_stretch_handles_aa (NautilusIconCanvasItem *item, GnomeCanvasBuf *buf,
|
|||
}
|
||||
|
||||
static void
|
||||
emblem_layout_reset (EmblemLayout *layout, NautilusIconCanvasItem *icon_item, const ArtIRect *icon_rect)
|
||||
emblem_layout_reset (EmblemLayout *layout, NautilusIconCanvasItem *icon_item, ArtIRect icon_rect)
|
||||
{
|
||||
layout->icon_item = icon_item;
|
||||
layout->icon_rect = *icon_rect;
|
||||
layout->icon_rect = icon_rect;
|
||||
layout->side = RIGHT_SIDE;
|
||||
layout->position = 0;
|
||||
layout->index = 0;
|
||||
|
@ -1387,7 +1384,7 @@ nautilus_icon_canvas_item_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
|
|||
gdk_pixbuf_unref (temp_pixbuf);
|
||||
|
||||
/* Draw the emblem pixbufs. */
|
||||
emblem_layout_reset (&emblem_layout, icon_item, &icon_rect);
|
||||
emblem_layout_reset (&emblem_layout, icon_item, icon_rect);
|
||||
while (emblem_layout_next (&emblem_layout, &emblem_pixbuf, &emblem_rect)) {
|
||||
draw_pixbuf (emblem_pixbuf, drawable, emblem_rect.x0, emblem_rect.y0);
|
||||
}
|
||||
|
@ -1505,12 +1502,12 @@ draw_or_measure_label_text_aa (NautilusIconCanvasItem *item,
|
|||
}
|
||||
|
||||
smooth_text_layout = eel_smooth_text_layout_cache_render (layout_cache,
|
||||
text_piece,
|
||||
strlen (text_piece),
|
||||
details->smooth_font,
|
||||
details->smooth_font_size,
|
||||
TRUE, LABEL_LINE_SPACING,
|
||||
max_text_width);
|
||||
text_piece,
|
||||
strlen (text_piece),
|
||||
details->smooth_font,
|
||||
details->smooth_font_size,
|
||||
TRUE, LABEL_LINE_SPACING,
|
||||
max_text_width);
|
||||
|
||||
/* Draw text if we are not in user rename mode */
|
||||
if (destination_pixbuf != NULL && !details->is_renaming) {
|
||||
|
@ -1532,14 +1529,14 @@ draw_or_measure_label_text_aa (NautilusIconCanvasItem *item,
|
|||
destination_area.x1 = destination_area.x0 + eel_smooth_text_layout_get_width (smooth_text_layout);
|
||||
destination_area.y1 = destination_area.y0 + eel_smooth_text_layout_get_height (smooth_text_layout);
|
||||
eel_smooth_text_layout_draw_to_pixbuf (smooth_text_layout,
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
&destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
EEL_RGB_COLOR_BLACK,
|
||||
0xff);
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
EEL_RGB_COLOR_BLACK,
|
||||
0xff);
|
||||
}
|
||||
|
||||
destination_area.x0 = text_left;
|
||||
|
@ -1547,14 +1544,14 @@ draw_or_measure_label_text_aa (NautilusIconCanvasItem *item,
|
|||
destination_area.x1 = destination_area.x0 + eel_smooth_text_layout_get_width (smooth_text_layout);
|
||||
destination_area.y1 = destination_area.y0 + eel_smooth_text_layout_get_height (smooth_text_layout);
|
||||
eel_smooth_text_layout_draw_to_pixbuf (smooth_text_layout,
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
&destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
label_color,
|
||||
0xff);
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
label_color,
|
||||
0xff);
|
||||
|
||||
/* if it's highlighted, embolden by drawing twice */
|
||||
if (needs_highlight) {
|
||||
|
@ -1563,14 +1560,14 @@ draw_or_measure_label_text_aa (NautilusIconCanvasItem *item,
|
|||
destination_area.x1 = destination_area.x0 + eel_smooth_text_layout_get_width (smooth_text_layout);
|
||||
destination_area.y1 = destination_area.y0 + eel_smooth_text_layout_get_height (smooth_text_layout);
|
||||
eel_smooth_text_layout_draw_to_pixbuf (smooth_text_layout,
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
&destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
label_color,
|
||||
0xff);
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
label_color,
|
||||
0xff);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1622,31 +1619,31 @@ clear_rounded_corners (GdkPixbuf *destination_pixbuf, GdkPixbuf *corner_pixbuf,
|
|||
|
||||
/* draw top left corner */
|
||||
gdk_pixbuf_copy_area (corner_pixbuf,
|
||||
0, 0,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
0, 0);
|
||||
0, 0,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
0, 0);
|
||||
|
||||
/* draw top right corner */
|
||||
gdk_pixbuf_copy_area (corner_pixbuf,
|
||||
src_width - corner_size, 0,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
dest_width - corner_size, 0);
|
||||
src_width - corner_size, 0,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
dest_width - corner_size, 0);
|
||||
|
||||
/* draw bottom left corner */
|
||||
gdk_pixbuf_copy_area (corner_pixbuf,
|
||||
0, src_height - corner_size,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
0, dest_height - corner_size);
|
||||
0, src_height - corner_size,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
0, dest_height - corner_size);
|
||||
|
||||
/* draw bottom right corner */
|
||||
gdk_pixbuf_copy_area (corner_pixbuf,
|
||||
src_width - corner_size, src_height - corner_size,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
dest_width - corner_size, dest_height - corner_size);
|
||||
src_width - corner_size, src_height - corner_size,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
dest_width - corner_size, dest_height - corner_size);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1675,9 +1672,9 @@ draw_label_text_aa (NautilusIconCanvasItem *icon_item, GnomeCanvasBuf *buf, int
|
|||
|
||||
if (icon_item->details->is_renaming) {
|
||||
/* Exit if we are renaming. We don't need to set the text
|
||||
* width and height to 0 because there is text, it just is not
|
||||
* drawn to the canvas while the renaming widget is dispalyed.
|
||||
*/
|
||||
* width and height to 0 because there is text, it just is not
|
||||
* drawn to the canvas while the renaming widget is dispalyed.
|
||||
*/
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1697,12 +1694,12 @@ draw_label_text_aa (NautilusIconCanvasItem *icon_item, GnomeCanvasBuf *buf, int
|
|||
if (needs_highlight) {
|
||||
container = NAUTILUS_ICON_CONTAINER (GNOME_CANVAS_ITEM (icon_item)->canvas);
|
||||
eel_gdk_pixbuf_fill_rectangle_with_color (text_pixbuf, NULL,
|
||||
container->details->highlight_color);
|
||||
container->details->highlight_color);
|
||||
clear_rounded_corners (text_pixbuf, container->details->highlight_frame, 5);
|
||||
|
||||
} else {
|
||||
eel_gdk_pixbuf_fill_rectangle_with_color (text_pixbuf, NULL,
|
||||
EEL_RGBA_COLOR_PACK (0, 0, 0, 0));
|
||||
EEL_RGBA_COLOR_PACK (0, 0, 0, 0));
|
||||
}
|
||||
|
||||
draw_or_measure_label_text_aa (icon_item, text_pixbuf, x_delta, 0);
|
||||
|
@ -1750,7 +1747,7 @@ nautilus_icon_canvas_item_render (GnomeCanvasItem *item, GnomeCanvasBuf *buf)
|
|||
gdk_pixbuf_unref (temp_pixbuf);
|
||||
|
||||
/* draw the emblems */
|
||||
emblem_layout_reset (&emblem_layout, icon_item, &icon_rect);
|
||||
emblem_layout_reset (&emblem_layout, icon_item, icon_rect);
|
||||
while (emblem_layout_next (&emblem_layout, &emblem_pixbuf, &emblem_rect)) {
|
||||
eel_gnome_canvas_draw_pixbuf (buf, emblem_pixbuf, emblem_rect.x0, emblem_rect.y0);
|
||||
}
|
||||
|
@ -1828,7 +1825,7 @@ nautilus_icon_canvas_item_event (GnomeCanvasItem *item, GdkEvent *event)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
hit_test_pixbuf (GdkPixbuf *pixbuf, const ArtIRect *pixbuf_location, const ArtIRect *probe_rect)
|
||||
hit_test_pixbuf (GdkPixbuf *pixbuf, ArtIRect pixbuf_location, ArtIRect probe_rect)
|
||||
{
|
||||
ArtIRect relative_rect, pixbuf_rect;
|
||||
int x, y;
|
||||
|
@ -1840,10 +1837,10 @@ hit_test_pixbuf (GdkPixbuf *pixbuf, const ArtIRect *pixbuf_location, const ArtIR
|
|||
}
|
||||
|
||||
/* Check to see if it's within the rectangle at all. */
|
||||
relative_rect.x0 = probe_rect->x0 - pixbuf_location->x0;
|
||||
relative_rect.y0 = probe_rect->y0 - pixbuf_location->y0;
|
||||
relative_rect.x1 = probe_rect->x1 - pixbuf_location->x0;
|
||||
relative_rect.y1 = probe_rect->y1 - pixbuf_location->y0;
|
||||
relative_rect.x0 = probe_rect.x0 - pixbuf_location.x0;
|
||||
relative_rect.y0 = probe_rect.y0 - pixbuf_location.y0;
|
||||
relative_rect.x1 = probe_rect.x1 - pixbuf_location.x0;
|
||||
relative_rect.y1 = probe_rect.y1 - pixbuf_location.y0;
|
||||
pixbuf_rect.x0 = 0;
|
||||
pixbuf_rect.y0 = 0;
|
||||
pixbuf_rect.x1 = gdk_pixbuf_get_width (pixbuf);
|
||||
|
@ -1874,7 +1871,7 @@ hit_test_pixbuf (GdkPixbuf *pixbuf, const ArtIRect *pixbuf_location, const ArtIR
|
|||
}
|
||||
|
||||
static gboolean
|
||||
hit_test (NautilusIconCanvasItem *icon_item, const ArtIRect *canvas_rect)
|
||||
hit_test (NautilusIconCanvasItem *icon_item, ArtIRect canvas_rect)
|
||||
{
|
||||
NautilusIconCanvasItemDetails *details;
|
||||
ArtIRect emblem_rect;
|
||||
|
@ -1884,9 +1881,9 @@ hit_test (NautilusIconCanvasItem *icon_item, const ArtIRect *canvas_rect)
|
|||
details = icon_item->details;
|
||||
|
||||
/* Quick check to see if the rect hits the icon, text or emblems at all. */
|
||||
if (!eel_art_irect_hits_irect (&icon_item->details->canvas_rect, canvas_rect)
|
||||
&& (!eel_art_irect_hits_irect (&details->text_rect, canvas_rect))
|
||||
&& (!eel_art_irect_hits_irect (&details->emblem_rect, canvas_rect))) {
|
||||
if (!eel_art_irect_hits_irect (icon_item->details->canvas_rect, canvas_rect)
|
||||
&& (!eel_art_irect_hits_irect (details->text_rect, canvas_rect))
|
||||
&& (!eel_art_irect_hits_irect (details->emblem_rect, canvas_rect))) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1897,25 +1894,25 @@ hit_test (NautilusIconCanvasItem *icon_item, const ArtIRect *canvas_rect)
|
|||
|
||||
/* Check for hit in the icon. If we're highlighted for dropping, anywhere in the rect is OK */
|
||||
if (icon_item->details->is_highlighted_for_drop) {
|
||||
if (eel_art_irect_hits_irect (&icon_item->details->canvas_rect, canvas_rect)) {
|
||||
if (eel_art_irect_hits_irect (icon_item->details->canvas_rect, canvas_rect)) {
|
||||
return TRUE;
|
||||
}
|
||||
} else {
|
||||
if (hit_test_pixbuf (details->pixbuf, &icon_item->details->canvas_rect, canvas_rect)) {
|
||||
if (hit_test_pixbuf (details->pixbuf, icon_item->details->canvas_rect, canvas_rect)) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for hit in the text. */
|
||||
if (eel_art_irect_hits_irect (&details->text_rect, canvas_rect)
|
||||
if (eel_art_irect_hits_irect (details->text_rect, canvas_rect)
|
||||
&& !icon_item->details->is_renaming) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Check for hit in the emblem pixbufs. */
|
||||
emblem_layout_reset (&emblem_layout, icon_item, &icon_item->details->canvas_rect);
|
||||
emblem_layout_reset (&emblem_layout, icon_item, icon_item->details->canvas_rect);
|
||||
while (emblem_layout_next (&emblem_layout, &emblem_pixbuf, &emblem_rect)) {
|
||||
if (hit_test_pixbuf (emblem_pixbuf, &emblem_rect, canvas_rect)) {
|
||||
if (hit_test_pixbuf (emblem_pixbuf, emblem_rect, canvas_rect)) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -1935,7 +1932,7 @@ nautilus_icon_canvas_item_point (GnomeCanvasItem *item, double x, double y, int
|
|||
canvas_rect.y0 = cy;
|
||||
canvas_rect.x1 = cx + 1;
|
||||
canvas_rect.y1 = cy + 1;
|
||||
if (hit_test (NAUTILUS_ICON_CANVAS_ITEM (item), &canvas_rect)) {
|
||||
if (hit_test (NAUTILUS_ICON_CANVAS_ITEM (item), canvas_rect)) {
|
||||
return 0.0;
|
||||
} else {
|
||||
/* This value means not hit.
|
||||
|
@ -1979,11 +1976,11 @@ nautilus_icon_canvas_item_bounds (GnomeCanvasItem *item,
|
|||
}
|
||||
|
||||
/* Compute text rectangle. */
|
||||
compute_text_rectangle (icon_item, &icon_rect, &text_rect);
|
||||
text_rect = compute_text_rectangle (icon_item, icon_rect);
|
||||
|
||||
/* Compute total rectangle, adding in emblem rectangles. */
|
||||
art_irect_union (&total_rect, &icon_rect, &text_rect);
|
||||
emblem_layout_reset (&emblem_layout, icon_item, &icon_rect);
|
||||
emblem_layout_reset (&emblem_layout, icon_item, icon_rect);
|
||||
while (emblem_layout_next (&emblem_layout, &emblem_pixbuf, &emblem_rect)) {
|
||||
art_irect_union (&total_rect, &total_rect, &emblem_rect);
|
||||
}
|
||||
|
@ -1997,17 +1994,16 @@ nautilus_icon_canvas_item_bounds (GnomeCanvasItem *item,
|
|||
}
|
||||
|
||||
/* Get the rectangle of the icon only, in world coordinates. */
|
||||
void
|
||||
nautilus_icon_canvas_item_get_icon_rectangle (NautilusIconCanvasItem *item,
|
||||
ArtDRect *rect)
|
||||
ArtDRect
|
||||
nautilus_icon_canvas_item_get_icon_rectangle (const NautilusIconCanvasItem *item)
|
||||
{
|
||||
ArtDRect rectangle;
|
||||
double i2w[6];
|
||||
ArtPoint art_point;
|
||||
double pixels_per_unit;
|
||||
GdkPixbuf *pixbuf;
|
||||
|
||||
g_return_if_fail (NAUTILUS_IS_ICON_CANVAS_ITEM (item));
|
||||
g_return_if_fail (rect != NULL);
|
||||
g_return_val_if_fail (NAUTILUS_IS_ICON_CANVAS_ITEM (item), eel_art_drect_empty);
|
||||
|
||||
gnome_canvas_item_i2w_affine (GNOME_CANVAS_ITEM (item), i2w);
|
||||
|
||||
|
@ -2015,14 +2011,16 @@ nautilus_icon_canvas_item_get_icon_rectangle (NautilusIconCanvasItem *item,
|
|||
art_point.y = 0;
|
||||
art_affine_point (&art_point, &art_point, i2w);
|
||||
|
||||
rect->x0 = art_point.x;
|
||||
rect->y0 = art_point.y;
|
||||
rectangle.x0 = art_point.x;
|
||||
rectangle.y0 = art_point.y;
|
||||
|
||||
pixbuf = item->details->pixbuf;
|
||||
pixels_per_unit = GNOME_CANVAS_ITEM (item)->canvas->pixels_per_unit;
|
||||
|
||||
rect->x1 = rect->x0 + (pixbuf == NULL ? 0 : gdk_pixbuf_get_width (pixbuf)) / pixels_per_unit;
|
||||
rect->y1 = rect->y0 + (pixbuf == NULL ? 0 : gdk_pixbuf_get_height (pixbuf)) / pixels_per_unit;
|
||||
rectangle.x1 = rectangle.x0 + (pixbuf == NULL ? 0 : gdk_pixbuf_get_width (pixbuf)) / pixels_per_unit;
|
||||
rectangle.y1 = rectangle.y0 + (pixbuf == NULL ? 0 : gdk_pixbuf_get_height (pixbuf)) / pixels_per_unit;
|
||||
|
||||
return rectangle;
|
||||
}
|
||||
|
||||
/* Get the rectangle of the icon only, in canvas coordinates. */
|
||||
|
@ -2083,7 +2081,7 @@ icon_canvas_item_is_smooth (const NautilusIconCanvasItem *icon_item)
|
|||
/* Check if one of the stretch handles was hit. */
|
||||
static gboolean
|
||||
hit_test_stretch_handle (NautilusIconCanvasItem *item,
|
||||
const ArtIRect *probe_canvas_rect)
|
||||
ArtIRect probe_canvas_rect)
|
||||
{
|
||||
ArtIRect icon_rect;
|
||||
char *knob_filename;
|
||||
|
@ -2099,7 +2097,7 @@ hit_test_stretch_handle (NautilusIconCanvasItem *item,
|
|||
|
||||
/* Quick check to see if the rect hits the icon at all. */
|
||||
icon_rect = item->details->canvas_rect;
|
||||
if (!eel_art_irect_hits_irect (probe_canvas_rect, &icon_rect)) {
|
||||
if (!eel_art_irect_hits_irect (probe_canvas_rect, icon_rect)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -2112,29 +2110,28 @@ hit_test_stretch_handle (NautilusIconCanvasItem *item,
|
|||
gdk_pixbuf_unref(knob_pixbuf);
|
||||
|
||||
/* Check for hits in the stretch handles. */
|
||||
return (probe_canvas_rect->x0 < icon_rect.x0 + knob_width
|
||||
|| probe_canvas_rect->x1 >= icon_rect.x1 - knob_width)
|
||||
&& (probe_canvas_rect->y0 < icon_rect.y0 + knob_height
|
||||
|| probe_canvas_rect->y1 >= icon_rect.y1 - knob_height);
|
||||
return (probe_canvas_rect.x0 < icon_rect.x0 + knob_width
|
||||
|| probe_canvas_rect.x1 >= icon_rect.x1 - knob_width)
|
||||
&& (probe_canvas_rect.y0 < icon_rect.y0 + knob_height
|
||||
|| probe_canvas_rect.y1 >= icon_rect.y1 - knob_height);
|
||||
}
|
||||
|
||||
gboolean
|
||||
nautilus_icon_canvas_item_hit_test_stretch_handles (NautilusIconCanvasItem *item,
|
||||
const ArtPoint *world_point)
|
||||
ArtPoint world_point)
|
||||
{
|
||||
ArtIRect canvas_rect;
|
||||
|
||||
g_return_val_if_fail (NAUTILUS_IS_ICON_CANVAS_ITEM (item), FALSE);
|
||||
g_return_val_if_fail (world_point != NULL, FALSE);
|
||||
|
||||
|
||||
gnome_canvas_w2c (GNOME_CANVAS_ITEM (item)->canvas,
|
||||
world_point->x,
|
||||
world_point->y,
|
||||
world_point.x,
|
||||
world_point.y,
|
||||
&canvas_rect.x0,
|
||||
&canvas_rect.y0);
|
||||
canvas_rect.x1 = canvas_rect.x0 + 1;
|
||||
canvas_rect.y1 = canvas_rect.y0 + 1;
|
||||
return hit_test_stretch_handle (item, &canvas_rect);
|
||||
return hit_test_stretch_handle (item, canvas_rect);
|
||||
}
|
||||
|
||||
/* nautilus_icon_canvas_item_hit_test_rectangle
|
||||
|
@ -2143,10 +2140,9 @@ nautilus_icon_canvas_item_hit_test_stretch_handles (NautilusIconCanvasItem *item
|
|||
* canvas rect.
|
||||
*/
|
||||
gboolean
|
||||
nautilus_icon_canvas_item_hit_test_rectangle (NautilusIconCanvasItem *item, const ArtIRect *canvas_rect)
|
||||
nautilus_icon_canvas_item_hit_test_rectangle (NautilusIconCanvasItem *item, ArtIRect canvas_rect)
|
||||
{
|
||||
g_return_val_if_fail (NAUTILUS_IS_ICON_CANVAS_ITEM (item), FALSE);
|
||||
g_return_val_if_fail (canvas_rect != NULL, FALSE);
|
||||
|
||||
return hit_test (item, canvas_rect);
|
||||
}
|
||||
|
|
|
@ -64,36 +64,34 @@ struct NautilusIconCanvasItemClass {
|
|||
/* GtkObject */
|
||||
GtkType nautilus_icon_canvas_item_get_type (void);
|
||||
|
||||
|
||||
/* attributes */
|
||||
void nautilus_icon_canvas_item_set_image (NautilusIconCanvasItem *item,
|
||||
GdkPixbuf *image);
|
||||
GdkPixbuf * nautilus_icon_canvas_item_get_image (NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_set_emblems (NautilusIconCanvasItem *item,
|
||||
GList *emblem_pixbufs);
|
||||
void nautilus_icon_canvas_item_set_show_stretch_handles (NautilusIconCanvasItem *item,
|
||||
gboolean show_stretch_handles);
|
||||
void nautilus_icon_canvas_item_set_attach_points (NautilusIconCanvasItem *item,
|
||||
NautilusEmblemAttachPoints *attach_points);
|
||||
double nautilus_icon_canvas_item_get_max_text_width (NautilusIconCanvasItem *item);
|
||||
const char *nautilus_icon_canvas_item_get_editable_text (NautilusIconCanvasItem *icon_item);
|
||||
void nautilus_icon_canvas_item_set_renaming (NautilusIconCanvasItem *icon_item,
|
||||
gboolean state);
|
||||
void nautilus_icon_canvas_item_set_image (NautilusIconCanvasItem *item,
|
||||
GdkPixbuf *image);
|
||||
GdkPixbuf * nautilus_icon_canvas_item_get_image (NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_set_emblems (NautilusIconCanvasItem *item,
|
||||
GList *emblem_pixbufs);
|
||||
void nautilus_icon_canvas_item_set_show_stretch_handles (NautilusIconCanvasItem *item,
|
||||
gboolean show_stretch_handles);
|
||||
void nautilus_icon_canvas_item_set_attach_points (NautilusIconCanvasItem *item,
|
||||
NautilusEmblemAttachPoints *attach_points);
|
||||
double nautilus_icon_canvas_item_get_max_text_width (NautilusIconCanvasItem *item);
|
||||
const char *nautilus_icon_canvas_item_get_editable_text (NautilusIconCanvasItem *icon_item);
|
||||
void nautilus_icon_canvas_item_set_renaming (NautilusIconCanvasItem *icon_item,
|
||||
gboolean state);
|
||||
|
||||
|
||||
/* geometry and hit testing */
|
||||
gboolean nautilus_icon_canvas_item_hit_test_rectangle (NautilusIconCanvasItem *item,
|
||||
const ArtIRect *canvas_rect);
|
||||
gboolean nautilus_icon_canvas_item_hit_test_stretch_handles (NautilusIconCanvasItem *item,
|
||||
const ArtPoint *world_point);
|
||||
void nautilus_icon_canvas_item_invalidate_label_size (NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_get_icon_rectangle (NautilusIconCanvasItem *item,
|
||||
ArtDRect *world_rectangle);
|
||||
void nautilus_icon_canvas_item_update_bounds (NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_set_smooth_font (NautilusIconCanvasItem *item,
|
||||
EelScalableFont *font);
|
||||
void nautilus_icon_canvas_item_set_smooth_font_size (NautilusIconCanvasItem *item,
|
||||
int font_size);
|
||||
gboolean nautilus_icon_canvas_item_hit_test_rectangle (NautilusIconCanvasItem *item,
|
||||
ArtIRect canvas_rect);
|
||||
gboolean nautilus_icon_canvas_item_hit_test_stretch_handles (NautilusIconCanvasItem *item,
|
||||
ArtPoint world_point);
|
||||
void nautilus_icon_canvas_item_invalidate_label_size (NautilusIconCanvasItem *item);
|
||||
ArtDRect nautilus_icon_canvas_item_get_icon_rectangle (const NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_update_bounds (NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_set_smooth_font (NautilusIconCanvasItem *item,
|
||||
EelScalableFont *font);
|
||||
void nautilus_icon_canvas_item_set_smooth_font_size (NautilusIconCanvasItem *item,
|
||||
int font_size);
|
||||
|
||||
END_GNOME_DECLS
|
||||
|
||||
|
|
|
@ -476,8 +476,8 @@ reveal_icon (NautilusIconContainer *container,
|
|||
hadj = gtk_layout_get_hadjustment (GTK_LAYOUT (container));
|
||||
vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (container));
|
||||
|
||||
eel_gnome_canvas_item_get_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item), &bounds);
|
||||
bounds = eel_gnome_canvas_item_get_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item));
|
||||
|
||||
if (bounds.y0 < vadj->value) {
|
||||
eel_gtk_adjustment_set_value (vadj, bounds.y0);
|
||||
|
@ -643,8 +643,8 @@ nautilus_icon_container_update_scroll_region (NautilusIconContainer *container)
|
|||
get_all_icon_bounds (container, &x1, &y1, &x2, &y2);
|
||||
|
||||
reset_scroll_region = container->details->reset_scroll_region_trigger
|
||||
|| nautilus_icon_container_is_empty (container)
|
||||
|| nautilus_icon_container_is_auto_layout (container);
|
||||
|| nautilus_icon_container_is_empty (container)
|
||||
|| nautilus_icon_container_is_auto_layout (container);
|
||||
|
||||
/* The trigger is only cleared when container is non-empty, so
|
||||
* callers can reliably reset the scroll region when an item
|
||||
|
@ -741,7 +741,7 @@ compare_icons_by_name (gconstpointer a, gconstpointer b)
|
|||
|
||||
static void
|
||||
sort_icons_by_name (NautilusIconContainer *container,
|
||||
GList **icons)
|
||||
GList **icons)
|
||||
{
|
||||
sort_hack_container = container;
|
||||
*icons = g_list_sort (*icons, compare_icons_by_name);
|
||||
|
@ -795,9 +795,9 @@ lay_down_one_line (NautilusIconContainer *container,
|
|||
for (p = line_start; p != line_end; p = p->next) {
|
||||
icon = p->data;
|
||||
|
||||
eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item), &bounds);
|
||||
nautilus_icon_canvas_item_get_icon_rectangle (icon->item, &icon_bounds);
|
||||
bounds = eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item));
|
||||
icon_bounds = nautilus_icon_canvas_item_get_icon_rectangle (icon->item);
|
||||
height_above = icon_bounds.y1 - bounds.y0;
|
||||
height_below = bounds.y1 - icon_bounds.y1;
|
||||
|
||||
|
@ -817,9 +817,9 @@ lay_down_one_line (NautilusIconContainer *container,
|
|||
for (p = line_start; p != line_end; p = p->next) {
|
||||
icon = p->data;
|
||||
|
||||
eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item), &bounds);
|
||||
nautilus_icon_canvas_item_get_icon_rectangle (icon->item, &icon_bounds);
|
||||
bounds = eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item));
|
||||
icon_bounds = nautilus_icon_canvas_item_get_icon_rectangle (icon->item);
|
||||
width = get_icon_space_width (container, &bounds);
|
||||
|
||||
icon_set_position
|
||||
|
@ -849,7 +849,7 @@ lay_down_icons_horizontal (NautilusIconContainer *container,
|
|||
canvas_width = (GTK_WIDGET (container)->allocation.width
|
||||
- container->details->left_margin
|
||||
- container->details->right_margin)
|
||||
/ GNOME_CANVAS (container)->pixels_per_unit;
|
||||
/ GNOME_CANVAS (container)->pixels_per_unit;
|
||||
line_width = 0;
|
||||
line_start = icons;
|
||||
y = start_y;
|
||||
|
@ -857,8 +857,8 @@ lay_down_icons_horizontal (NautilusIconContainer *container,
|
|||
icon = p->data;
|
||||
|
||||
/* Get the width of the icon. */
|
||||
eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item), &bounds);
|
||||
bounds = eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item));
|
||||
space_width = get_icon_space_width (container, &bounds);
|
||||
|
||||
/* If this icon doesn't fit, it's time to lay out the line that's queued up. */
|
||||
|
@ -1249,8 +1249,8 @@ reload_icon_positions (NautilusIconContainer *container)
|
|||
&have_stored_position);
|
||||
if (have_stored_position) {
|
||||
icon_set_position (icon, position.x, position.y);
|
||||
eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item), &bounds);
|
||||
bounds = eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item));
|
||||
if (bounds.y1 > bottom) {
|
||||
bottom = bounds.y1;
|
||||
}
|
||||
|
@ -1395,12 +1395,12 @@ rubberband_select (NautilusIconContainer *container,
|
|||
/* Only do this calculation once, since all the canvas items
|
||||
* we are interating are in the same coordinate space
|
||||
*/
|
||||
eel_gnome_canvas_world_to_canvas_rectangle
|
||||
(GNOME_CANVAS_ITEM (icon->item)->canvas, current_rect, &canvas_rect);
|
||||
canvas_rect = eel_gnome_canvas_world_to_canvas_rectangle
|
||||
(GNOME_CANVAS_ITEM (icon->item)->canvas, *current_rect);
|
||||
canvas_rect_calculated = TRUE;
|
||||
}
|
||||
|
||||
is_in = nautilus_icon_canvas_item_hit_test_rectangle (icon->item, &canvas_rect);
|
||||
is_in = nautilus_icon_canvas_item_hit_test_rectangle (icon->item, canvas_rect);
|
||||
|
||||
g_assert (icon->was_selected_before_rubberband == FALSE
|
||||
|| icon->was_selected_before_rubberband == TRUE);
|
||||
|
@ -1784,8 +1784,7 @@ compare_with_start_row (NautilusIconContainer *container,
|
|||
{
|
||||
ArtIRect bounds;
|
||||
|
||||
eel_gnome_canvas_item_get_current_canvas_bounds (GNOME_CANVAS_ITEM (icon->item),
|
||||
&bounds);
|
||||
bounds = eel_gnome_canvas_item_get_current_canvas_bounds (GNOME_CANVAS_ITEM (icon->item));
|
||||
if (container->details->arrow_key_start < bounds.y0) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -1801,8 +1800,7 @@ compare_with_start_column (NautilusIconContainer *container,
|
|||
{
|
||||
ArtIRect bounds;
|
||||
|
||||
eel_gnome_canvas_item_get_current_canvas_bounds (GNOME_CANVAS_ITEM (icon->item),
|
||||
&bounds);
|
||||
bounds = eel_gnome_canvas_item_get_current_canvas_bounds (GNOME_CANVAS_ITEM (icon->item));
|
||||
if (container->details->arrow_key_start < bounds.x0) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -1907,10 +1905,10 @@ same_column_above_lowest (NautilusIconContainer *container,
|
|||
|
||||
static gboolean
|
||||
same_column_below_highest (NautilusIconContainer *container,
|
||||
NautilusIcon *start_icon,
|
||||
NautilusIcon *best_so_far,
|
||||
NautilusIcon *candidate,
|
||||
void *data)
|
||||
NautilusIcon *start_icon,
|
||||
NautilusIcon *best_so_far,
|
||||
NautilusIcon *candidate,
|
||||
void *data)
|
||||
{
|
||||
/* Candidates not on the start column do not qualify. */
|
||||
if (compare_with_start_column (container, candidate) != 0) {
|
||||
|
@ -2004,8 +2002,7 @@ record_arrow_key_start (NautilusIconContainer *container,
|
|||
return;
|
||||
}
|
||||
|
||||
nautilus_icon_canvas_item_get_icon_rectangle
|
||||
(icon->item, &world_rect);
|
||||
world_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item);
|
||||
gnome_canvas_w2c
|
||||
(GNOME_CANVAS (container),
|
||||
(world_rect.x0 + world_rect.x1) / 2,
|
||||
|
@ -2165,7 +2162,7 @@ match_best_name (NautilusIconContainer *container,
|
|||
|
||||
for (match_length = 0; ; match_length++) {
|
||||
if (name[match_length] == '\0'
|
||||
|| match_state->name[match_length] == '\0') {
|
||||
|| match_state->name[match_length] == '\0') {
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -2573,12 +2570,12 @@ nautilus_icon_container_did_not_drag (NautilusIconContainer *container,
|
|||
static void
|
||||
clear_drag_state (NautilusIconContainer *container)
|
||||
{
|
||||
container->details->drag_icon = NULL;
|
||||
container->details->drag_state = DRAG_STATE_INITIAL;
|
||||
if (container->details->context_menu_timeout_id != 0) {
|
||||
gtk_timeout_remove (container->details->context_menu_timeout_id);
|
||||
container->details->context_menu_timeout_id = 0;
|
||||
}
|
||||
container->details->drag_icon = NULL;
|
||||
container->details->drag_state = DRAG_STATE_INITIAL;
|
||||
if (container->details->context_menu_timeout_id != 0) {
|
||||
gtk_timeout_remove (container->details->context_menu_timeout_id);
|
||||
container->details->context_menu_timeout_id = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -2596,7 +2593,7 @@ start_stretching (NautilusIconContainer *container)
|
|||
world_point.x = details->drag_x;
|
||||
world_point.y = details->drag_y;
|
||||
if (!nautilus_icon_canvas_item_hit_test_stretch_handles
|
||||
(icon->item, &world_point)) {
|
||||
(icon->item, world_point)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -2841,14 +2838,14 @@ motion_notify_event (GtkWidget *widget,
|
|||
event->y = details->drag_y;
|
||||
|
||||
nautilus_icon_dnd_begin_drag (container,
|
||||
details->drag_state == DRAG_STATE_MOVE_OR_COPY
|
||||
? (GDK_ACTION_MOVE
|
||||
| GDK_ACTION_COPY
|
||||
| GDK_ACTION_LINK
|
||||
| GDK_ACTION_ASK)
|
||||
: GDK_ACTION_ASK,
|
||||
details->drag_button,
|
||||
event);
|
||||
details->drag_state == DRAG_STATE_MOVE_OR_COPY
|
||||
? (GDK_ACTION_MOVE
|
||||
| GDK_ACTION_COPY
|
||||
| GDK_ACTION_LINK
|
||||
| GDK_ACTION_ASK)
|
||||
: GDK_ACTION_ASK,
|
||||
details->drag_button,
|
||||
event);
|
||||
details->drag_state = DRAG_STATE_MOVE_OR_COPY;
|
||||
}
|
||||
break;
|
||||
|
@ -3469,7 +3466,7 @@ handle_icon_button_press (NautilusIconContainer *container,
|
|||
details = container->details;
|
||||
|
||||
if (event->button == DRAG_BUTTON
|
||||
|| event->button == CONTEXTUAL_MENU_BUTTON) {
|
||||
|| event->button == CONTEXTUAL_MENU_BUTTON) {
|
||||
details->drag_button = event->button;
|
||||
details->drag_icon = icon;
|
||||
details->drag_x = event->x;
|
||||
|
@ -3810,7 +3807,7 @@ nautilus_icon_container_update_icon (NautilusIconContainer *container,
|
|||
*/
|
||||
if (icon == get_icon_being_renamed (container) &&
|
||||
eel_strcmp (editable_text,
|
||||
nautilus_icon_canvas_item_get_editable_text (icon->item)) != 0) {
|
||||
nautilus_icon_canvas_item_get_editable_text (icon->item)) != 0) {
|
||||
end_renaming_mode (container, FALSE);
|
||||
}
|
||||
|
||||
|
@ -4361,7 +4358,7 @@ nautilus_icon_container_unselect_all (NautilusIconContainer *container)
|
|||
**/
|
||||
NautilusIcon *
|
||||
nautilus_icon_container_get_icon_by_uri (NautilusIconContainer *container,
|
||||
const char *uri)
|
||||
const char *uri)
|
||||
{
|
||||
NautilusIconContainerDetails *details;
|
||||
GList *p;
|
||||
|
@ -4573,7 +4570,7 @@ compute_stretch (StretchState *start,
|
|||
|
||||
char *
|
||||
nautilus_icon_container_get_icon_uri (NautilusIconContainer *container,
|
||||
NautilusIcon *icon)
|
||||
NautilusIcon *icon)
|
||||
{
|
||||
char *uri;
|
||||
|
||||
|
@ -4871,7 +4868,7 @@ nautilus_icon_container_start_renaming_selected_item (NautilusIconContainer *con
|
|||
gnome_canvas_item_show (GNOME_CANVAS_ITEM (details->rename_widget));
|
||||
}
|
||||
|
||||
nautilus_icon_canvas_item_get_icon_rectangle (icon->item, &icon_rect);
|
||||
icon_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item);
|
||||
gnome_canvas_item_w2i (GNOME_CANVAS_ITEM (details->rename_widget), &icon_rect.x0, &icon_rect.y0);
|
||||
gnome_canvas_item_w2i (GNOME_CANVAS_ITEM (details->rename_widget), &icon_rect.x1, &icon_rect.y1);
|
||||
|
||||
|
@ -5139,11 +5136,11 @@ nautilus_icon_container_theme_changed (gpointer user_data)
|
|||
highlight_color_str = nautilus_theme_get_theme_data ("directory", "highlight_color_rgba");
|
||||
|
||||
if (highlight_color_str == NULL) {
|
||||
container->details->highlight_color = EEL_RGBA_COLOR_PACK (0, 0, 0, 102);
|
||||
} else {
|
||||
container->details->highlight_color = strtoul (highlight_color_str, NULL, 0);
|
||||
g_free (highlight_color_str);
|
||||
}
|
||||
container->details->highlight_color = EEL_RGBA_COLOR_PACK (0, 0, 0, 102);
|
||||
} else {
|
||||
container->details->highlight_color = strtoul (highlight_color_str, NULL, 0);
|
||||
g_free (highlight_color_str);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -228,10 +228,9 @@ icon_get_data_binder (NautilusIcon *icon, gpointer data)
|
|||
|
||||
container = NAUTILUS_ICON_CONTAINER (context->iterator_context);
|
||||
|
||||
nautilus_icon_canvas_item_get_icon_rectangle
|
||||
(icon->item, &world_rect);
|
||||
eel_gnome_canvas_world_to_window_rectangle
|
||||
(GNOME_CANVAS (container), &world_rect, &window_rect);
|
||||
world_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item);
|
||||
window_rect = eel_gnome_canvas_world_to_window_rectangle
|
||||
(GNOME_CANVAS (container), world_rect);
|
||||
|
||||
uri = nautilus_icon_container_get_icon_uri (container, icon);
|
||||
if (uri == NULL) {
|
||||
|
@ -551,9 +550,9 @@ nautilus_icon_container_item_at (NautilusIconContainer *container,
|
|||
NautilusIcon *icon;
|
||||
icon = p->data;
|
||||
|
||||
eel_gnome_canvas_world_to_canvas_rectangle (GNOME_CANVAS_ITEM (icon->item)->canvas, &point, &canvas_point);
|
||||
|
||||
if (nautilus_icon_canvas_item_hit_test_rectangle (icon->item, &canvas_point)) {
|
||||
canvas_point = eel_gnome_canvas_world_to_canvas_rectangle (GNOME_CANVAS_ITEM (icon->item)->canvas,
|
||||
point);
|
||||
if (nautilus_icon_canvas_item_hit_test_rectangle (icon->item, canvas_point)) {
|
||||
return icon;
|
||||
}
|
||||
}
|
||||
|
@ -1286,10 +1285,10 @@ nautilus_icon_dnd_begin_drag (NautilusIconContainer *container,
|
|||
to it, with the hope that we get it back someday as X Windows improves */
|
||||
|
||||
/* compute the image's offset */
|
||||
nautilus_icon_canvas_item_get_icon_rectangle
|
||||
(container->details->drag_icon->item, &world_rect);
|
||||
eel_gnome_canvas_world_to_window_rectangle
|
||||
(canvas, &world_rect, &window_rect);
|
||||
world_rect = nautilus_icon_canvas_item_get_icon_rectangle (
|
||||
container->details->drag_icon->item);
|
||||
window_rect = eel_gnome_canvas_world_to_window_rectangle
|
||||
(canvas, world_rect);
|
||||
x_offset = dnd_info->drag_info.start_x - window_rect.x0;
|
||||
y_offset = dnd_info->drag_info.start_y - window_rect.y0;
|
||||
|
||||
|
|
|
@ -276,10 +276,10 @@ EEL_DEFINE_CLASS_BOILERPLATE (NautilusIconFactory,
|
|||
nautilus_icon_factory,
|
||||
GTK_TYPE_OBJECT)
|
||||
|
||||
static NautilusIconFactory *global_icon_factory = NULL;
|
||||
static NautilusIconFactory *global_icon_factory = NULL;
|
||||
|
||||
static void
|
||||
destroy_icon_factory (void)
|
||||
static void
|
||||
destroy_icon_factory (void)
|
||||
{
|
||||
nautilus_preferences_remove_callback (NAUTILUS_PREFERENCES_THEME,
|
||||
icon_theme_changed_callback,
|
||||
|
@ -590,8 +590,8 @@ nautilus_icon_factory_destroy (GtkObject *object)
|
|||
|
||||
static gboolean
|
||||
nautilus_icon_factory_possibly_free_cached_icon (gpointer key,
|
||||
gpointer value,
|
||||
gpointer user_data)
|
||||
gpointer value,
|
||||
gpointer user_data)
|
||||
{
|
||||
CacheIcon *icon;
|
||||
|
||||
|
@ -1466,15 +1466,15 @@ nautilus_icon_factory_get_icon_for_file (NautilusFile *file, const char *modifie
|
|||
image_uri = nautilus_link_local_get_image_uri (file_path);
|
||||
if (image_uri != NULL) {
|
||||
/* FIXME bugzilla.eazel.com 2564: Lame hack. We only support file:// URIs? */
|
||||
if (eel_istr_has_prefix (image_uri, "file://")) {
|
||||
if (uri == NULL) {
|
||||
uri = image_uri;
|
||||
} else {
|
||||
g_free (image_uri);
|
||||
}
|
||||
} else {
|
||||
icon_name = image_uri;
|
||||
}
|
||||
if (eel_istr_has_prefix (image_uri, "file://")) {
|
||||
if (uri == NULL) {
|
||||
uri = image_uri;
|
||||
} else {
|
||||
g_free (image_uri);
|
||||
}
|
||||
} else {
|
||||
icon_name = image_uri;
|
||||
}
|
||||
}
|
||||
g_free (file_path);
|
||||
}
|
||||
|
@ -2426,15 +2426,15 @@ GdkPixbuf * nautilus_icon_factory_get_pixbuf_from_name (const char *icon_name,
|
|||
|
||||
|
||||
static gboolean
|
||||
embedded_text_rect_usable (const ArtIRect *embedded_text_rect)
|
||||
embedded_text_rect_usable (ArtIRect embedded_text_rect)
|
||||
{
|
||||
if (art_irect_empty (embedded_text_rect)) {
|
||||
if (art_irect_empty (&embedded_text_rect)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (embedded_text_rect->x1 - embedded_text_rect->x0
|
||||
if (embedded_text_rect.x1 - embedded_text_rect.x0
|
||||
< MINIMUM_EMBEDDED_TEXT_RECT_WIDTH ||
|
||||
embedded_text_rect->y1 - embedded_text_rect->y0
|
||||
embedded_text_rect.y1 - embedded_text_rect.y0
|
||||
< MINIMUM_EMBEDDED_TEXT_RECT_HEIGHT) {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -2470,14 +2470,13 @@ embedded_text_font_free (void)
|
|||
|
||||
static GdkPixbuf *
|
||||
embed_text (GdkPixbuf *pixbuf_without_text,
|
||||
const ArtIRect *embedded_text_rect,
|
||||
ArtIRect embedded_text_rect,
|
||||
const char *text)
|
||||
{
|
||||
EelSmoothTextLayout *smooth_text_layout;
|
||||
GdkPixbuf *pixbuf_with_text;
|
||||
|
||||
g_return_val_if_fail (pixbuf_without_text != NULL, NULL);
|
||||
g_return_val_if_fail (embedded_text_rect != NULL, NULL);
|
||||
|
||||
/* Quick out for the case where there's no place to embed the
|
||||
* text or the place is too small or there's no text.
|
||||
|
@ -2512,14 +2511,14 @@ embed_text (GdkPixbuf *pixbuf_without_text,
|
|||
pixbuf_with_text = gdk_pixbuf_copy (pixbuf_without_text);
|
||||
|
||||
eel_smooth_text_layout_draw_to_pixbuf (smooth_text_layout,
|
||||
pixbuf_with_text,
|
||||
0,
|
||||
0,
|
||||
embedded_text_rect,
|
||||
GTK_JUSTIFY_LEFT,
|
||||
FALSE,
|
||||
EEL_RGB_COLOR_BLACK,
|
||||
EEL_OPACITY_FULLY_OPAQUE);
|
||||
pixbuf_with_text,
|
||||
0,
|
||||
0,
|
||||
embedded_text_rect,
|
||||
GTK_JUSTIFY_LEFT,
|
||||
FALSE,
|
||||
EEL_RGB_COLOR_BLACK,
|
||||
EEL_OPACITY_FULLY_OPAQUE);
|
||||
|
||||
gtk_object_unref (GTK_OBJECT (smooth_text_layout));
|
||||
|
||||
|
@ -2550,7 +2549,7 @@ load_icon_with_embedded_text (NautilusScalableIcon *scalable_icon,
|
|||
|
||||
/* Create a pixbuf with the text in it. */
|
||||
pixbuf_with_text = embed_text (icon_without_text->pixbuf,
|
||||
&icon_without_text->details.text_rect,
|
||||
icon_without_text->details.text_rect,
|
||||
scalable_icon->embedded_text);
|
||||
if (pixbuf_with_text == NULL) {
|
||||
return icon_without_text;
|
||||
|
|
|
@ -168,8 +168,6 @@ static void nautilus_icon_canvas_item_get_arg (GtkObject
|
|||
GtkArg *arg,
|
||||
guint arg_id);
|
||||
|
||||
|
||||
|
||||
/* GnomeCanvasItem */
|
||||
static void nautilus_icon_canvas_item_update (GnomeCanvasItem *item,
|
||||
double *affine,
|
||||
|
@ -195,8 +193,6 @@ static void nautilus_icon_canvas_item_bounds (GnomeCanvasItem
|
|||
double *x2,
|
||||
double *y2);
|
||||
|
||||
|
||||
|
||||
/* private */
|
||||
static void draw_or_measure_label_text (NautilusIconCanvasItem *item,
|
||||
GdkDrawable *drawable,
|
||||
|
@ -215,7 +211,7 @@ static void get_icon_canvas_rectangle (NautilusIconCanvasIt
|
|||
ArtIRect *rect);
|
||||
static void emblem_layout_reset (EmblemLayout *layout,
|
||||
NautilusIconCanvasItem *icon_item,
|
||||
const ArtIRect *icon_rect);
|
||||
ArtIRect icon_rect);
|
||||
static gboolean emblem_layout_next (EmblemLayout *layout,
|
||||
GdkPixbuf **emblem_pixbuf,
|
||||
ArtIRect *emblem_rect);
|
||||
|
@ -224,11 +220,9 @@ static void draw_pixbuf (GdkPixbuf
|
|||
int x,
|
||||
int y);
|
||||
static gboolean hit_test_stretch_handle (NautilusIconCanvasItem *item,
|
||||
const ArtIRect *canvas_rect);
|
||||
ArtIRect canvas_rect);
|
||||
static gboolean icon_canvas_item_is_smooth (const NautilusIconCanvasItem *icon_item);
|
||||
|
||||
|
||||
|
||||
EEL_DEFINE_CLASS_BOILERPLATE (NautilusIconCanvasItem, nautilus_icon_canvas_item, GNOME_TYPE_CANVAS_ITEM)
|
||||
|
||||
static EelSmoothTextLayoutCache *layout_cache;
|
||||
|
@ -565,7 +559,7 @@ nautilus_icon_canvas_item_set_image (NautilusIconCanvasItem *item,
|
|||
|
||||
void
|
||||
nautilus_icon_canvas_item_set_emblems (NautilusIconCanvasItem *item,
|
||||
GList *emblem_pixbufs)
|
||||
GList *emblem_pixbufs)
|
||||
{
|
||||
GList *p;
|
||||
|
||||
|
@ -638,16 +632,19 @@ recompute_bounding_box (NautilusIconCanvasItem *icon_item)
|
|||
item->y2 = bottom_right.y;
|
||||
}
|
||||
|
||||
static void
|
||||
static ArtIRect
|
||||
compute_text_rectangle (NautilusIconCanvasItem *item,
|
||||
const ArtIRect *icon_rect,
|
||||
ArtIRect *text_rect)
|
||||
ArtIRect icon_rectangle)
|
||||
{
|
||||
ArtIRect text_rectangle;
|
||||
|
||||
/* Compute text rectangle. */
|
||||
text_rect->x0 = (icon_rect->x0 + icon_rect->x1) / 2 - item->details->text_width / 2;
|
||||
text_rect->y0 = icon_rect->y1 + LABEL_OFFSET;
|
||||
text_rect->x1 = text_rect->x0 + item->details->text_width;
|
||||
text_rect->y1 = text_rect->y0 + item->details->text_height;
|
||||
text_rectangle.x0 = (icon_rectangle.x0 + icon_rectangle.x1) / 2 - item->details->text_width / 2;
|
||||
text_rectangle.y0 = icon_rectangle.y1 + LABEL_OFFSET;
|
||||
text_rectangle.x1 = text_rectangle.x0 + item->details->text_width;
|
||||
text_rectangle.y1 = text_rectangle.y0 + item->details->text_height;
|
||||
|
||||
return text_rectangle;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -658,34 +655,34 @@ nautilus_icon_canvas_item_update_bounds (NautilusIconCanvasItem *item)
|
|||
GdkPixbuf *emblem_pixbuf;
|
||||
|
||||
/* Compute new bounds. */
|
||||
eel_gnome_canvas_item_get_current_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (item), &before);
|
||||
before = eel_gnome_canvas_item_get_current_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (item));
|
||||
recompute_bounding_box (item);
|
||||
eel_gnome_canvas_item_get_current_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (item), &after);
|
||||
after = eel_gnome_canvas_item_get_current_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (item));
|
||||
|
||||
/* If the bounds didn't change, we are done. */
|
||||
if (eel_art_irect_equal (&before, &after)) {
|
||||
if (eel_art_irect_equal (before, after)) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* Update canvas and text rect cache */
|
||||
get_icon_canvas_rectangle (item, &item->details->canvas_rect);
|
||||
compute_text_rectangle (item, &item->details->canvas_rect, &item->details->text_rect);
|
||||
item->details->text_rect = compute_text_rectangle (item, item->details->canvas_rect);
|
||||
|
||||
/* Update emblem rect cache */
|
||||
item->details->emblem_rect.x0 = 0;
|
||||
item->details->emblem_rect.x1 = 0;
|
||||
item->details->emblem_rect.y0 = 0;
|
||||
item->details->emblem_rect.y1 = 0;
|
||||
emblem_layout_reset (&emblem_layout, item, &item->details->canvas_rect);
|
||||
emblem_layout_reset (&emblem_layout, item, item->details->canvas_rect);
|
||||
while (emblem_layout_next (&emblem_layout, &emblem_pixbuf, &emblem_rect)) {
|
||||
art_irect_union (&item->details->emblem_rect, &item->details->emblem_rect, &emblem_rect);
|
||||
}
|
||||
|
||||
/* Send out the bounds_changed signal and queue a redraw. */
|
||||
eel_gnome_canvas_request_redraw_rectangle
|
||||
(GNOME_CANVAS_ITEM (item)->canvas, &before);
|
||||
(GNOME_CANVAS_ITEM (item)->canvas, before);
|
||||
gtk_signal_emit (GTK_OBJECT (item),
|
||||
signals[BOUNDS_CHANGED]);
|
||||
eel_gnome_canvas_item_request_redraw
|
||||
|
@ -695,14 +692,14 @@ nautilus_icon_canvas_item_update_bounds (NautilusIconCanvasItem *item)
|
|||
/* Update handler for the icon canvas item. */
|
||||
static void
|
||||
nautilus_icon_canvas_item_update (GnomeCanvasItem *item,
|
||||
double *affine,
|
||||
ArtSVP *clip_path,
|
||||
int flags)
|
||||
double *affine,
|
||||
ArtSVP *clip_path,
|
||||
int flags)
|
||||
{
|
||||
nautilus_icon_canvas_item_update_bounds (NAUTILUS_ICON_CANVAS_ITEM (item));
|
||||
eel_gnome_canvas_item_request_redraw (item);
|
||||
EEL_CALL_PARENT (GNOME_CANVAS_ITEM_CLASS, update,
|
||||
(item, affine, clip_path, flags));
|
||||
(item, affine, clip_path, flags));
|
||||
}
|
||||
|
||||
/* Rendering */
|
||||
|
@ -744,8 +741,8 @@ in_single_click_mode ()
|
|||
/* Keep these for a bit while we work on performance of draw_or_measure_label_text. */
|
||||
|
||||
/*
|
||||
#define PERFORMANCE_TEST_DRAW_DISABLE
|
||||
#define PERFORMANCE_TEST_MEASURE_DISABLE
|
||||
#define PERFORMANCE_TEST_DRAW_DISABLE
|
||||
#define PERFORMANCE_TEST_MEASURE_DISABLE
|
||||
*/
|
||||
|
||||
/* Draw the text in a box, using gnomelib routines. */
|
||||
|
@ -836,7 +833,7 @@ draw_or_measure_label_text (NautilusIconCanvasItem *item,
|
|||
|
||||
gdk_draw_rectangle
|
||||
(drawable, gc, TRUE,
|
||||
icon_left + (icon_width - details->text_width) / 2,
|
||||
icon_left + (icon_width - details->text_width) / 2,
|
||||
icon_bottom,
|
||||
details->text_width, details->text_height);
|
||||
|
||||
|
@ -1073,7 +1070,7 @@ draw_outline_rectangle_aa (GnomeCanvasBuf *buf, int x0, int y0, int x1, int y1,
|
|||
/* draw the stretch handles in the anti-aliased canvas */
|
||||
static void
|
||||
draw_stretch_handles_aa (NautilusIconCanvasItem *item, GnomeCanvasBuf *buf,
|
||||
const ArtIRect *rect)
|
||||
const ArtIRect *rect)
|
||||
{
|
||||
int knob_width, knob_height;
|
||||
GnomeCanvasItem *canvas_item;
|
||||
|
@ -1107,10 +1104,10 @@ draw_stretch_handles_aa (NautilusIconCanvasItem *item, GnomeCanvasBuf *buf,
|
|||
}
|
||||
|
||||
static void
|
||||
emblem_layout_reset (EmblemLayout *layout, NautilusIconCanvasItem *icon_item, const ArtIRect *icon_rect)
|
||||
emblem_layout_reset (EmblemLayout *layout, NautilusIconCanvasItem *icon_item, ArtIRect icon_rect)
|
||||
{
|
||||
layout->icon_item = icon_item;
|
||||
layout->icon_rect = *icon_rect;
|
||||
layout->icon_rect = icon_rect;
|
||||
layout->side = RIGHT_SIDE;
|
||||
layout->position = 0;
|
||||
layout->index = 0;
|
||||
|
@ -1387,7 +1384,7 @@ nautilus_icon_canvas_item_draw (GnomeCanvasItem *item, GdkDrawable *drawable,
|
|||
gdk_pixbuf_unref (temp_pixbuf);
|
||||
|
||||
/* Draw the emblem pixbufs. */
|
||||
emblem_layout_reset (&emblem_layout, icon_item, &icon_rect);
|
||||
emblem_layout_reset (&emblem_layout, icon_item, icon_rect);
|
||||
while (emblem_layout_next (&emblem_layout, &emblem_pixbuf, &emblem_rect)) {
|
||||
draw_pixbuf (emblem_pixbuf, drawable, emblem_rect.x0, emblem_rect.y0);
|
||||
}
|
||||
|
@ -1505,12 +1502,12 @@ draw_or_measure_label_text_aa (NautilusIconCanvasItem *item,
|
|||
}
|
||||
|
||||
smooth_text_layout = eel_smooth_text_layout_cache_render (layout_cache,
|
||||
text_piece,
|
||||
strlen (text_piece),
|
||||
details->smooth_font,
|
||||
details->smooth_font_size,
|
||||
TRUE, LABEL_LINE_SPACING,
|
||||
max_text_width);
|
||||
text_piece,
|
||||
strlen (text_piece),
|
||||
details->smooth_font,
|
||||
details->smooth_font_size,
|
||||
TRUE, LABEL_LINE_SPACING,
|
||||
max_text_width);
|
||||
|
||||
/* Draw text if we are not in user rename mode */
|
||||
if (destination_pixbuf != NULL && !details->is_renaming) {
|
||||
|
@ -1532,14 +1529,14 @@ draw_or_measure_label_text_aa (NautilusIconCanvasItem *item,
|
|||
destination_area.x1 = destination_area.x0 + eel_smooth_text_layout_get_width (smooth_text_layout);
|
||||
destination_area.y1 = destination_area.y0 + eel_smooth_text_layout_get_height (smooth_text_layout);
|
||||
eel_smooth_text_layout_draw_to_pixbuf (smooth_text_layout,
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
&destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
EEL_RGB_COLOR_BLACK,
|
||||
0xff);
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
EEL_RGB_COLOR_BLACK,
|
||||
0xff);
|
||||
}
|
||||
|
||||
destination_area.x0 = text_left;
|
||||
|
@ -1547,14 +1544,14 @@ draw_or_measure_label_text_aa (NautilusIconCanvasItem *item,
|
|||
destination_area.x1 = destination_area.x0 + eel_smooth_text_layout_get_width (smooth_text_layout);
|
||||
destination_area.y1 = destination_area.y0 + eel_smooth_text_layout_get_height (smooth_text_layout);
|
||||
eel_smooth_text_layout_draw_to_pixbuf (smooth_text_layout,
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
&destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
label_color,
|
||||
0xff);
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
label_color,
|
||||
0xff);
|
||||
|
||||
/* if it's highlighted, embolden by drawing twice */
|
||||
if (needs_highlight) {
|
||||
|
@ -1563,14 +1560,14 @@ draw_or_measure_label_text_aa (NautilusIconCanvasItem *item,
|
|||
destination_area.x1 = destination_area.x0 + eel_smooth_text_layout_get_width (smooth_text_layout);
|
||||
destination_area.y1 = destination_area.y0 + eel_smooth_text_layout_get_height (smooth_text_layout);
|
||||
eel_smooth_text_layout_draw_to_pixbuf (smooth_text_layout,
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
&destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
label_color,
|
||||
0xff);
|
||||
destination_pixbuf,
|
||||
0,
|
||||
0,
|
||||
destination_area,
|
||||
GTK_JUSTIFY_CENTER,
|
||||
underlined,
|
||||
label_color,
|
||||
0xff);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1622,31 +1619,31 @@ clear_rounded_corners (GdkPixbuf *destination_pixbuf, GdkPixbuf *corner_pixbuf,
|
|||
|
||||
/* draw top left corner */
|
||||
gdk_pixbuf_copy_area (corner_pixbuf,
|
||||
0, 0,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
0, 0);
|
||||
0, 0,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
0, 0);
|
||||
|
||||
/* draw top right corner */
|
||||
gdk_pixbuf_copy_area (corner_pixbuf,
|
||||
src_width - corner_size, 0,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
dest_width - corner_size, 0);
|
||||
src_width - corner_size, 0,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
dest_width - corner_size, 0);
|
||||
|
||||
/* draw bottom left corner */
|
||||
gdk_pixbuf_copy_area (corner_pixbuf,
|
||||
0, src_height - corner_size,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
0, dest_height - corner_size);
|
||||
0, src_height - corner_size,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
0, dest_height - corner_size);
|
||||
|
||||
/* draw bottom right corner */
|
||||
gdk_pixbuf_copy_area (corner_pixbuf,
|
||||
src_width - corner_size, src_height - corner_size,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
dest_width - corner_size, dest_height - corner_size);
|
||||
src_width - corner_size, src_height - corner_size,
|
||||
corner_size, corner_size,
|
||||
destination_pixbuf,
|
||||
dest_width - corner_size, dest_height - corner_size);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1675,9 +1672,9 @@ draw_label_text_aa (NautilusIconCanvasItem *icon_item, GnomeCanvasBuf *buf, int
|
|||
|
||||
if (icon_item->details->is_renaming) {
|
||||
/* Exit if we are renaming. We don't need to set the text
|
||||
* width and height to 0 because there is text, it just is not
|
||||
* drawn to the canvas while the renaming widget is dispalyed.
|
||||
*/
|
||||
* width and height to 0 because there is text, it just is not
|
||||
* drawn to the canvas while the renaming widget is dispalyed.
|
||||
*/
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1697,12 +1694,12 @@ draw_label_text_aa (NautilusIconCanvasItem *icon_item, GnomeCanvasBuf *buf, int
|
|||
if (needs_highlight) {
|
||||
container = NAUTILUS_ICON_CONTAINER (GNOME_CANVAS_ITEM (icon_item)->canvas);
|
||||
eel_gdk_pixbuf_fill_rectangle_with_color (text_pixbuf, NULL,
|
||||
container->details->highlight_color);
|
||||
container->details->highlight_color);
|
||||
clear_rounded_corners (text_pixbuf, container->details->highlight_frame, 5);
|
||||
|
||||
} else {
|
||||
eel_gdk_pixbuf_fill_rectangle_with_color (text_pixbuf, NULL,
|
||||
EEL_RGBA_COLOR_PACK (0, 0, 0, 0));
|
||||
EEL_RGBA_COLOR_PACK (0, 0, 0, 0));
|
||||
}
|
||||
|
||||
draw_or_measure_label_text_aa (icon_item, text_pixbuf, x_delta, 0);
|
||||
|
@ -1750,7 +1747,7 @@ nautilus_icon_canvas_item_render (GnomeCanvasItem *item, GnomeCanvasBuf *buf)
|
|||
gdk_pixbuf_unref (temp_pixbuf);
|
||||
|
||||
/* draw the emblems */
|
||||
emblem_layout_reset (&emblem_layout, icon_item, &icon_rect);
|
||||
emblem_layout_reset (&emblem_layout, icon_item, icon_rect);
|
||||
while (emblem_layout_next (&emblem_layout, &emblem_pixbuf, &emblem_rect)) {
|
||||
eel_gnome_canvas_draw_pixbuf (buf, emblem_pixbuf, emblem_rect.x0, emblem_rect.y0);
|
||||
}
|
||||
|
@ -1828,7 +1825,7 @@ nautilus_icon_canvas_item_event (GnomeCanvasItem *item, GdkEvent *event)
|
|||
}
|
||||
|
||||
static gboolean
|
||||
hit_test_pixbuf (GdkPixbuf *pixbuf, const ArtIRect *pixbuf_location, const ArtIRect *probe_rect)
|
||||
hit_test_pixbuf (GdkPixbuf *pixbuf, ArtIRect pixbuf_location, ArtIRect probe_rect)
|
||||
{
|
||||
ArtIRect relative_rect, pixbuf_rect;
|
||||
int x, y;
|
||||
|
@ -1840,10 +1837,10 @@ hit_test_pixbuf (GdkPixbuf *pixbuf, const ArtIRect *pixbuf_location, const ArtIR
|
|||
}
|
||||
|
||||
/* Check to see if it's within the rectangle at all. */
|
||||
relative_rect.x0 = probe_rect->x0 - pixbuf_location->x0;
|
||||
relative_rect.y0 = probe_rect->y0 - pixbuf_location->y0;
|
||||
relative_rect.x1 = probe_rect->x1 - pixbuf_location->x0;
|
||||
relative_rect.y1 = probe_rect->y1 - pixbuf_location->y0;
|
||||
relative_rect.x0 = probe_rect.x0 - pixbuf_location.x0;
|
||||
relative_rect.y0 = probe_rect.y0 - pixbuf_location.y0;
|
||||
relative_rect.x1 = probe_rect.x1 - pixbuf_location.x0;
|
||||
relative_rect.y1 = probe_rect.y1 - pixbuf_location.y0;
|
||||
pixbuf_rect.x0 = 0;
|
||||
pixbuf_rect.y0 = 0;
|
||||
pixbuf_rect.x1 = gdk_pixbuf_get_width (pixbuf);
|
||||
|
@ -1874,7 +1871,7 @@ hit_test_pixbuf (GdkPixbuf *pixbuf, const ArtIRect *pixbuf_location, const ArtIR
|
|||
}
|
||||
|
||||
static gboolean
|
||||
hit_test (NautilusIconCanvasItem *icon_item, const ArtIRect *canvas_rect)
|
||||
hit_test (NautilusIconCanvasItem *icon_item, ArtIRect canvas_rect)
|
||||
{
|
||||
NautilusIconCanvasItemDetails *details;
|
||||
ArtIRect emblem_rect;
|
||||
|
@ -1884,9 +1881,9 @@ hit_test (NautilusIconCanvasItem *icon_item, const ArtIRect *canvas_rect)
|
|||
details = icon_item->details;
|
||||
|
||||
/* Quick check to see if the rect hits the icon, text or emblems at all. */
|
||||
if (!eel_art_irect_hits_irect (&icon_item->details->canvas_rect, canvas_rect)
|
||||
&& (!eel_art_irect_hits_irect (&details->text_rect, canvas_rect))
|
||||
&& (!eel_art_irect_hits_irect (&details->emblem_rect, canvas_rect))) {
|
||||
if (!eel_art_irect_hits_irect (icon_item->details->canvas_rect, canvas_rect)
|
||||
&& (!eel_art_irect_hits_irect (details->text_rect, canvas_rect))
|
||||
&& (!eel_art_irect_hits_irect (details->emblem_rect, canvas_rect))) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1897,25 +1894,25 @@ hit_test (NautilusIconCanvasItem *icon_item, const ArtIRect *canvas_rect)
|
|||
|
||||
/* Check for hit in the icon. If we're highlighted for dropping, anywhere in the rect is OK */
|
||||
if (icon_item->details->is_highlighted_for_drop) {
|
||||
if (eel_art_irect_hits_irect (&icon_item->details->canvas_rect, canvas_rect)) {
|
||||
if (eel_art_irect_hits_irect (icon_item->details->canvas_rect, canvas_rect)) {
|
||||
return TRUE;
|
||||
}
|
||||
} else {
|
||||
if (hit_test_pixbuf (details->pixbuf, &icon_item->details->canvas_rect, canvas_rect)) {
|
||||
if (hit_test_pixbuf (details->pixbuf, icon_item->details->canvas_rect, canvas_rect)) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for hit in the text. */
|
||||
if (eel_art_irect_hits_irect (&details->text_rect, canvas_rect)
|
||||
if (eel_art_irect_hits_irect (details->text_rect, canvas_rect)
|
||||
&& !icon_item->details->is_renaming) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Check for hit in the emblem pixbufs. */
|
||||
emblem_layout_reset (&emblem_layout, icon_item, &icon_item->details->canvas_rect);
|
||||
emblem_layout_reset (&emblem_layout, icon_item, icon_item->details->canvas_rect);
|
||||
while (emblem_layout_next (&emblem_layout, &emblem_pixbuf, &emblem_rect)) {
|
||||
if (hit_test_pixbuf (emblem_pixbuf, &emblem_rect, canvas_rect)) {
|
||||
if (hit_test_pixbuf (emblem_pixbuf, emblem_rect, canvas_rect)) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -1935,7 +1932,7 @@ nautilus_icon_canvas_item_point (GnomeCanvasItem *item, double x, double y, int
|
|||
canvas_rect.y0 = cy;
|
||||
canvas_rect.x1 = cx + 1;
|
||||
canvas_rect.y1 = cy + 1;
|
||||
if (hit_test (NAUTILUS_ICON_CANVAS_ITEM (item), &canvas_rect)) {
|
||||
if (hit_test (NAUTILUS_ICON_CANVAS_ITEM (item), canvas_rect)) {
|
||||
return 0.0;
|
||||
} else {
|
||||
/* This value means not hit.
|
||||
|
@ -1979,11 +1976,11 @@ nautilus_icon_canvas_item_bounds (GnomeCanvasItem *item,
|
|||
}
|
||||
|
||||
/* Compute text rectangle. */
|
||||
compute_text_rectangle (icon_item, &icon_rect, &text_rect);
|
||||
text_rect = compute_text_rectangle (icon_item, icon_rect);
|
||||
|
||||
/* Compute total rectangle, adding in emblem rectangles. */
|
||||
art_irect_union (&total_rect, &icon_rect, &text_rect);
|
||||
emblem_layout_reset (&emblem_layout, icon_item, &icon_rect);
|
||||
emblem_layout_reset (&emblem_layout, icon_item, icon_rect);
|
||||
while (emblem_layout_next (&emblem_layout, &emblem_pixbuf, &emblem_rect)) {
|
||||
art_irect_union (&total_rect, &total_rect, &emblem_rect);
|
||||
}
|
||||
|
@ -1997,17 +1994,16 @@ nautilus_icon_canvas_item_bounds (GnomeCanvasItem *item,
|
|||
}
|
||||
|
||||
/* Get the rectangle of the icon only, in world coordinates. */
|
||||
void
|
||||
nautilus_icon_canvas_item_get_icon_rectangle (NautilusIconCanvasItem *item,
|
||||
ArtDRect *rect)
|
||||
ArtDRect
|
||||
nautilus_icon_canvas_item_get_icon_rectangle (const NautilusIconCanvasItem *item)
|
||||
{
|
||||
ArtDRect rectangle;
|
||||
double i2w[6];
|
||||
ArtPoint art_point;
|
||||
double pixels_per_unit;
|
||||
GdkPixbuf *pixbuf;
|
||||
|
||||
g_return_if_fail (NAUTILUS_IS_ICON_CANVAS_ITEM (item));
|
||||
g_return_if_fail (rect != NULL);
|
||||
g_return_val_if_fail (NAUTILUS_IS_ICON_CANVAS_ITEM (item), eel_art_drect_empty);
|
||||
|
||||
gnome_canvas_item_i2w_affine (GNOME_CANVAS_ITEM (item), i2w);
|
||||
|
||||
|
@ -2015,14 +2011,16 @@ nautilus_icon_canvas_item_get_icon_rectangle (NautilusIconCanvasItem *item,
|
|||
art_point.y = 0;
|
||||
art_affine_point (&art_point, &art_point, i2w);
|
||||
|
||||
rect->x0 = art_point.x;
|
||||
rect->y0 = art_point.y;
|
||||
rectangle.x0 = art_point.x;
|
||||
rectangle.y0 = art_point.y;
|
||||
|
||||
pixbuf = item->details->pixbuf;
|
||||
pixels_per_unit = GNOME_CANVAS_ITEM (item)->canvas->pixels_per_unit;
|
||||
|
||||
rect->x1 = rect->x0 + (pixbuf == NULL ? 0 : gdk_pixbuf_get_width (pixbuf)) / pixels_per_unit;
|
||||
rect->y1 = rect->y0 + (pixbuf == NULL ? 0 : gdk_pixbuf_get_height (pixbuf)) / pixels_per_unit;
|
||||
rectangle.x1 = rectangle.x0 + (pixbuf == NULL ? 0 : gdk_pixbuf_get_width (pixbuf)) / pixels_per_unit;
|
||||
rectangle.y1 = rectangle.y0 + (pixbuf == NULL ? 0 : gdk_pixbuf_get_height (pixbuf)) / pixels_per_unit;
|
||||
|
||||
return rectangle;
|
||||
}
|
||||
|
||||
/* Get the rectangle of the icon only, in canvas coordinates. */
|
||||
|
@ -2083,7 +2081,7 @@ icon_canvas_item_is_smooth (const NautilusIconCanvasItem *icon_item)
|
|||
/* Check if one of the stretch handles was hit. */
|
||||
static gboolean
|
||||
hit_test_stretch_handle (NautilusIconCanvasItem *item,
|
||||
const ArtIRect *probe_canvas_rect)
|
||||
ArtIRect probe_canvas_rect)
|
||||
{
|
||||
ArtIRect icon_rect;
|
||||
char *knob_filename;
|
||||
|
@ -2099,7 +2097,7 @@ hit_test_stretch_handle (NautilusIconCanvasItem *item,
|
|||
|
||||
/* Quick check to see if the rect hits the icon at all. */
|
||||
icon_rect = item->details->canvas_rect;
|
||||
if (!eel_art_irect_hits_irect (probe_canvas_rect, &icon_rect)) {
|
||||
if (!eel_art_irect_hits_irect (probe_canvas_rect, icon_rect)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -2112,29 +2110,28 @@ hit_test_stretch_handle (NautilusIconCanvasItem *item,
|
|||
gdk_pixbuf_unref(knob_pixbuf);
|
||||
|
||||
/* Check for hits in the stretch handles. */
|
||||
return (probe_canvas_rect->x0 < icon_rect.x0 + knob_width
|
||||
|| probe_canvas_rect->x1 >= icon_rect.x1 - knob_width)
|
||||
&& (probe_canvas_rect->y0 < icon_rect.y0 + knob_height
|
||||
|| probe_canvas_rect->y1 >= icon_rect.y1 - knob_height);
|
||||
return (probe_canvas_rect.x0 < icon_rect.x0 + knob_width
|
||||
|| probe_canvas_rect.x1 >= icon_rect.x1 - knob_width)
|
||||
&& (probe_canvas_rect.y0 < icon_rect.y0 + knob_height
|
||||
|| probe_canvas_rect.y1 >= icon_rect.y1 - knob_height);
|
||||
}
|
||||
|
||||
gboolean
|
||||
nautilus_icon_canvas_item_hit_test_stretch_handles (NautilusIconCanvasItem *item,
|
||||
const ArtPoint *world_point)
|
||||
ArtPoint world_point)
|
||||
{
|
||||
ArtIRect canvas_rect;
|
||||
|
||||
g_return_val_if_fail (NAUTILUS_IS_ICON_CANVAS_ITEM (item), FALSE);
|
||||
g_return_val_if_fail (world_point != NULL, FALSE);
|
||||
|
||||
|
||||
gnome_canvas_w2c (GNOME_CANVAS_ITEM (item)->canvas,
|
||||
world_point->x,
|
||||
world_point->y,
|
||||
world_point.x,
|
||||
world_point.y,
|
||||
&canvas_rect.x0,
|
||||
&canvas_rect.y0);
|
||||
canvas_rect.x1 = canvas_rect.x0 + 1;
|
||||
canvas_rect.y1 = canvas_rect.y0 + 1;
|
||||
return hit_test_stretch_handle (item, &canvas_rect);
|
||||
return hit_test_stretch_handle (item, canvas_rect);
|
||||
}
|
||||
|
||||
/* nautilus_icon_canvas_item_hit_test_rectangle
|
||||
|
@ -2143,10 +2140,9 @@ nautilus_icon_canvas_item_hit_test_stretch_handles (NautilusIconCanvasItem *item
|
|||
* canvas rect.
|
||||
*/
|
||||
gboolean
|
||||
nautilus_icon_canvas_item_hit_test_rectangle (NautilusIconCanvasItem *item, const ArtIRect *canvas_rect)
|
||||
nautilus_icon_canvas_item_hit_test_rectangle (NautilusIconCanvasItem *item, ArtIRect canvas_rect)
|
||||
{
|
||||
g_return_val_if_fail (NAUTILUS_IS_ICON_CANVAS_ITEM (item), FALSE);
|
||||
g_return_val_if_fail (canvas_rect != NULL, FALSE);
|
||||
|
||||
return hit_test (item, canvas_rect);
|
||||
}
|
||||
|
|
|
@ -64,36 +64,34 @@ struct NautilusIconCanvasItemClass {
|
|||
/* GtkObject */
|
||||
GtkType nautilus_icon_canvas_item_get_type (void);
|
||||
|
||||
|
||||
/* attributes */
|
||||
void nautilus_icon_canvas_item_set_image (NautilusIconCanvasItem *item,
|
||||
GdkPixbuf *image);
|
||||
GdkPixbuf * nautilus_icon_canvas_item_get_image (NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_set_emblems (NautilusIconCanvasItem *item,
|
||||
GList *emblem_pixbufs);
|
||||
void nautilus_icon_canvas_item_set_show_stretch_handles (NautilusIconCanvasItem *item,
|
||||
gboolean show_stretch_handles);
|
||||
void nautilus_icon_canvas_item_set_attach_points (NautilusIconCanvasItem *item,
|
||||
NautilusEmblemAttachPoints *attach_points);
|
||||
double nautilus_icon_canvas_item_get_max_text_width (NautilusIconCanvasItem *item);
|
||||
const char *nautilus_icon_canvas_item_get_editable_text (NautilusIconCanvasItem *icon_item);
|
||||
void nautilus_icon_canvas_item_set_renaming (NautilusIconCanvasItem *icon_item,
|
||||
gboolean state);
|
||||
void nautilus_icon_canvas_item_set_image (NautilusIconCanvasItem *item,
|
||||
GdkPixbuf *image);
|
||||
GdkPixbuf * nautilus_icon_canvas_item_get_image (NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_set_emblems (NautilusIconCanvasItem *item,
|
||||
GList *emblem_pixbufs);
|
||||
void nautilus_icon_canvas_item_set_show_stretch_handles (NautilusIconCanvasItem *item,
|
||||
gboolean show_stretch_handles);
|
||||
void nautilus_icon_canvas_item_set_attach_points (NautilusIconCanvasItem *item,
|
||||
NautilusEmblemAttachPoints *attach_points);
|
||||
double nautilus_icon_canvas_item_get_max_text_width (NautilusIconCanvasItem *item);
|
||||
const char *nautilus_icon_canvas_item_get_editable_text (NautilusIconCanvasItem *icon_item);
|
||||
void nautilus_icon_canvas_item_set_renaming (NautilusIconCanvasItem *icon_item,
|
||||
gboolean state);
|
||||
|
||||
|
||||
/* geometry and hit testing */
|
||||
gboolean nautilus_icon_canvas_item_hit_test_rectangle (NautilusIconCanvasItem *item,
|
||||
const ArtIRect *canvas_rect);
|
||||
gboolean nautilus_icon_canvas_item_hit_test_stretch_handles (NautilusIconCanvasItem *item,
|
||||
const ArtPoint *world_point);
|
||||
void nautilus_icon_canvas_item_invalidate_label_size (NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_get_icon_rectangle (NautilusIconCanvasItem *item,
|
||||
ArtDRect *world_rectangle);
|
||||
void nautilus_icon_canvas_item_update_bounds (NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_set_smooth_font (NautilusIconCanvasItem *item,
|
||||
EelScalableFont *font);
|
||||
void nautilus_icon_canvas_item_set_smooth_font_size (NautilusIconCanvasItem *item,
|
||||
int font_size);
|
||||
gboolean nautilus_icon_canvas_item_hit_test_rectangle (NautilusIconCanvasItem *item,
|
||||
ArtIRect canvas_rect);
|
||||
gboolean nautilus_icon_canvas_item_hit_test_stretch_handles (NautilusIconCanvasItem *item,
|
||||
ArtPoint world_point);
|
||||
void nautilus_icon_canvas_item_invalidate_label_size (NautilusIconCanvasItem *item);
|
||||
ArtDRect nautilus_icon_canvas_item_get_icon_rectangle (const NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_update_bounds (NautilusIconCanvasItem *item);
|
||||
void nautilus_icon_canvas_item_set_smooth_font (NautilusIconCanvasItem *item,
|
||||
EelScalableFont *font);
|
||||
void nautilus_icon_canvas_item_set_smooth_font_size (NautilusIconCanvasItem *item,
|
||||
int font_size);
|
||||
|
||||
END_GNOME_DECLS
|
||||
|
||||
|
|
|
@ -476,8 +476,8 @@ reveal_icon (NautilusIconContainer *container,
|
|||
hadj = gtk_layout_get_hadjustment (GTK_LAYOUT (container));
|
||||
vadj = gtk_layout_get_vadjustment (GTK_LAYOUT (container));
|
||||
|
||||
eel_gnome_canvas_item_get_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item), &bounds);
|
||||
bounds = eel_gnome_canvas_item_get_canvas_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item));
|
||||
|
||||
if (bounds.y0 < vadj->value) {
|
||||
eel_gtk_adjustment_set_value (vadj, bounds.y0);
|
||||
|
@ -643,8 +643,8 @@ nautilus_icon_container_update_scroll_region (NautilusIconContainer *container)
|
|||
get_all_icon_bounds (container, &x1, &y1, &x2, &y2);
|
||||
|
||||
reset_scroll_region = container->details->reset_scroll_region_trigger
|
||||
|| nautilus_icon_container_is_empty (container)
|
||||
|| nautilus_icon_container_is_auto_layout (container);
|
||||
|| nautilus_icon_container_is_empty (container)
|
||||
|| nautilus_icon_container_is_auto_layout (container);
|
||||
|
||||
/* The trigger is only cleared when container is non-empty, so
|
||||
* callers can reliably reset the scroll region when an item
|
||||
|
@ -741,7 +741,7 @@ compare_icons_by_name (gconstpointer a, gconstpointer b)
|
|||
|
||||
static void
|
||||
sort_icons_by_name (NautilusIconContainer *container,
|
||||
GList **icons)
|
||||
GList **icons)
|
||||
{
|
||||
sort_hack_container = container;
|
||||
*icons = g_list_sort (*icons, compare_icons_by_name);
|
||||
|
@ -795,9 +795,9 @@ lay_down_one_line (NautilusIconContainer *container,
|
|||
for (p = line_start; p != line_end; p = p->next) {
|
||||
icon = p->data;
|
||||
|
||||
eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item), &bounds);
|
||||
nautilus_icon_canvas_item_get_icon_rectangle (icon->item, &icon_bounds);
|
||||
bounds = eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item));
|
||||
icon_bounds = nautilus_icon_canvas_item_get_icon_rectangle (icon->item);
|
||||
height_above = icon_bounds.y1 - bounds.y0;
|
||||
height_below = bounds.y1 - icon_bounds.y1;
|
||||
|
||||
|
@ -817,9 +817,9 @@ lay_down_one_line (NautilusIconContainer *container,
|
|||
for (p = line_start; p != line_end; p = p->next) {
|
||||
icon = p->data;
|
||||
|
||||
eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item), &bounds);
|
||||
nautilus_icon_canvas_item_get_icon_rectangle (icon->item, &icon_bounds);
|
||||
bounds = eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item));
|
||||
icon_bounds = nautilus_icon_canvas_item_get_icon_rectangle (icon->item);
|
||||
width = get_icon_space_width (container, &bounds);
|
||||
|
||||
icon_set_position
|
||||
|
@ -849,7 +849,7 @@ lay_down_icons_horizontal (NautilusIconContainer *container,
|
|||
canvas_width = (GTK_WIDGET (container)->allocation.width
|
||||
- container->details->left_margin
|
||||
- container->details->right_margin)
|
||||
/ GNOME_CANVAS (container)->pixels_per_unit;
|
||||
/ GNOME_CANVAS (container)->pixels_per_unit;
|
||||
line_width = 0;
|
||||
line_start = icons;
|
||||
y = start_y;
|
||||
|
@ -857,8 +857,8 @@ lay_down_icons_horizontal (NautilusIconContainer *container,
|
|||
icon = p->data;
|
||||
|
||||
/* Get the width of the icon. */
|
||||
eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item), &bounds);
|
||||
bounds = eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item));
|
||||
space_width = get_icon_space_width (container, &bounds);
|
||||
|
||||
/* If this icon doesn't fit, it's time to lay out the line that's queued up. */
|
||||
|
@ -1249,8 +1249,8 @@ reload_icon_positions (NautilusIconContainer *container)
|
|||
&have_stored_position);
|
||||
if (have_stored_position) {
|
||||
icon_set_position (icon, position.x, position.y);
|
||||
eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item), &bounds);
|
||||
bounds = eel_gnome_canvas_item_get_world_bounds
|
||||
(GNOME_CANVAS_ITEM (icon->item));
|
||||
if (bounds.y1 > bottom) {
|
||||
bottom = bounds.y1;
|
||||
}
|
||||
|
@ -1395,12 +1395,12 @@ rubberband_select (NautilusIconContainer *container,
|
|||
/* Only do this calculation once, since all the canvas items
|
||||
* we are interating are in the same coordinate space
|
||||
*/
|
||||
eel_gnome_canvas_world_to_canvas_rectangle
|
||||
(GNOME_CANVAS_ITEM (icon->item)->canvas, current_rect, &canvas_rect);
|
||||
canvas_rect = eel_gnome_canvas_world_to_canvas_rectangle
|
||||
(GNOME_CANVAS_ITEM (icon->item)->canvas, *current_rect);
|
||||
canvas_rect_calculated = TRUE;
|
||||
}
|
||||
|
||||
is_in = nautilus_icon_canvas_item_hit_test_rectangle (icon->item, &canvas_rect);
|
||||
is_in = nautilus_icon_canvas_item_hit_test_rectangle (icon->item, canvas_rect);
|
||||
|
||||
g_assert (icon->was_selected_before_rubberband == FALSE
|
||||
|| icon->was_selected_before_rubberband == TRUE);
|
||||
|
@ -1784,8 +1784,7 @@ compare_with_start_row (NautilusIconContainer *container,
|
|||
{
|
||||
ArtIRect bounds;
|
||||
|
||||
eel_gnome_canvas_item_get_current_canvas_bounds (GNOME_CANVAS_ITEM (icon->item),
|
||||
&bounds);
|
||||
bounds = eel_gnome_canvas_item_get_current_canvas_bounds (GNOME_CANVAS_ITEM (icon->item));
|
||||
if (container->details->arrow_key_start < bounds.y0) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -1801,8 +1800,7 @@ compare_with_start_column (NautilusIconContainer *container,
|
|||
{
|
||||
ArtIRect bounds;
|
||||
|
||||
eel_gnome_canvas_item_get_current_canvas_bounds (GNOME_CANVAS_ITEM (icon->item),
|
||||
&bounds);
|
||||
bounds = eel_gnome_canvas_item_get_current_canvas_bounds (GNOME_CANVAS_ITEM (icon->item));
|
||||
if (container->details->arrow_key_start < bounds.x0) {
|
||||
return -1;
|
||||
}
|
||||
|
@ -1907,10 +1905,10 @@ same_column_above_lowest (NautilusIconContainer *container,
|
|||
|
||||
static gboolean
|
||||
same_column_below_highest (NautilusIconContainer *container,
|
||||
NautilusIcon *start_icon,
|
||||
NautilusIcon *best_so_far,
|
||||
NautilusIcon *candidate,
|
||||
void *data)
|
||||
NautilusIcon *start_icon,
|
||||
NautilusIcon *best_so_far,
|
||||
NautilusIcon *candidate,
|
||||
void *data)
|
||||
{
|
||||
/* Candidates not on the start column do not qualify. */
|
||||
if (compare_with_start_column (container, candidate) != 0) {
|
||||
|
@ -2004,8 +2002,7 @@ record_arrow_key_start (NautilusIconContainer *container,
|
|||
return;
|
||||
}
|
||||
|
||||
nautilus_icon_canvas_item_get_icon_rectangle
|
||||
(icon->item, &world_rect);
|
||||
world_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item);
|
||||
gnome_canvas_w2c
|
||||
(GNOME_CANVAS (container),
|
||||
(world_rect.x0 + world_rect.x1) / 2,
|
||||
|
@ -2165,7 +2162,7 @@ match_best_name (NautilusIconContainer *container,
|
|||
|
||||
for (match_length = 0; ; match_length++) {
|
||||
if (name[match_length] == '\0'
|
||||
|| match_state->name[match_length] == '\0') {
|
||||
|| match_state->name[match_length] == '\0') {
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -2573,12 +2570,12 @@ nautilus_icon_container_did_not_drag (NautilusIconContainer *container,
|
|||
static void
|
||||
clear_drag_state (NautilusIconContainer *container)
|
||||
{
|
||||
container->details->drag_icon = NULL;
|
||||
container->details->drag_state = DRAG_STATE_INITIAL;
|
||||
if (container->details->context_menu_timeout_id != 0) {
|
||||
gtk_timeout_remove (container->details->context_menu_timeout_id);
|
||||
container->details->context_menu_timeout_id = 0;
|
||||
}
|
||||
container->details->drag_icon = NULL;
|
||||
container->details->drag_state = DRAG_STATE_INITIAL;
|
||||
if (container->details->context_menu_timeout_id != 0) {
|
||||
gtk_timeout_remove (container->details->context_menu_timeout_id);
|
||||
container->details->context_menu_timeout_id = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -2596,7 +2593,7 @@ start_stretching (NautilusIconContainer *container)
|
|||
world_point.x = details->drag_x;
|
||||
world_point.y = details->drag_y;
|
||||
if (!nautilus_icon_canvas_item_hit_test_stretch_handles
|
||||
(icon->item, &world_point)) {
|
||||
(icon->item, world_point)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -2841,14 +2838,14 @@ motion_notify_event (GtkWidget *widget,
|
|||
event->y = details->drag_y;
|
||||
|
||||
nautilus_icon_dnd_begin_drag (container,
|
||||
details->drag_state == DRAG_STATE_MOVE_OR_COPY
|
||||
? (GDK_ACTION_MOVE
|
||||
| GDK_ACTION_COPY
|
||||
| GDK_ACTION_LINK
|
||||
| GDK_ACTION_ASK)
|
||||
: GDK_ACTION_ASK,
|
||||
details->drag_button,
|
||||
event);
|
||||
details->drag_state == DRAG_STATE_MOVE_OR_COPY
|
||||
? (GDK_ACTION_MOVE
|
||||
| GDK_ACTION_COPY
|
||||
| GDK_ACTION_LINK
|
||||
| GDK_ACTION_ASK)
|
||||
: GDK_ACTION_ASK,
|
||||
details->drag_button,
|
||||
event);
|
||||
details->drag_state = DRAG_STATE_MOVE_OR_COPY;
|
||||
}
|
||||
break;
|
||||
|
@ -3469,7 +3466,7 @@ handle_icon_button_press (NautilusIconContainer *container,
|
|||
details = container->details;
|
||||
|
||||
if (event->button == DRAG_BUTTON
|
||||
|| event->button == CONTEXTUAL_MENU_BUTTON) {
|
||||
|| event->button == CONTEXTUAL_MENU_BUTTON) {
|
||||
details->drag_button = event->button;
|
||||
details->drag_icon = icon;
|
||||
details->drag_x = event->x;
|
||||
|
@ -3810,7 +3807,7 @@ nautilus_icon_container_update_icon (NautilusIconContainer *container,
|
|||
*/
|
||||
if (icon == get_icon_being_renamed (container) &&
|
||||
eel_strcmp (editable_text,
|
||||
nautilus_icon_canvas_item_get_editable_text (icon->item)) != 0) {
|
||||
nautilus_icon_canvas_item_get_editable_text (icon->item)) != 0) {
|
||||
end_renaming_mode (container, FALSE);
|
||||
}
|
||||
|
||||
|
@ -4361,7 +4358,7 @@ nautilus_icon_container_unselect_all (NautilusIconContainer *container)
|
|||
**/
|
||||
NautilusIcon *
|
||||
nautilus_icon_container_get_icon_by_uri (NautilusIconContainer *container,
|
||||
const char *uri)
|
||||
const char *uri)
|
||||
{
|
||||
NautilusIconContainerDetails *details;
|
||||
GList *p;
|
||||
|
@ -4573,7 +4570,7 @@ compute_stretch (StretchState *start,
|
|||
|
||||
char *
|
||||
nautilus_icon_container_get_icon_uri (NautilusIconContainer *container,
|
||||
NautilusIcon *icon)
|
||||
NautilusIcon *icon)
|
||||
{
|
||||
char *uri;
|
||||
|
||||
|
@ -4871,7 +4868,7 @@ nautilus_icon_container_start_renaming_selected_item (NautilusIconContainer *con
|
|||
gnome_canvas_item_show (GNOME_CANVAS_ITEM (details->rename_widget));
|
||||
}
|
||||
|
||||
nautilus_icon_canvas_item_get_icon_rectangle (icon->item, &icon_rect);
|
||||
icon_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item);
|
||||
gnome_canvas_item_w2i (GNOME_CANVAS_ITEM (details->rename_widget), &icon_rect.x0, &icon_rect.y0);
|
||||
gnome_canvas_item_w2i (GNOME_CANVAS_ITEM (details->rename_widget), &icon_rect.x1, &icon_rect.y1);
|
||||
|
||||
|
@ -5139,11 +5136,11 @@ nautilus_icon_container_theme_changed (gpointer user_data)
|
|||
highlight_color_str = nautilus_theme_get_theme_data ("directory", "highlight_color_rgba");
|
||||
|
||||
if (highlight_color_str == NULL) {
|
||||
container->details->highlight_color = EEL_RGBA_COLOR_PACK (0, 0, 0, 102);
|
||||
} else {
|
||||
container->details->highlight_color = strtoul (highlight_color_str, NULL, 0);
|
||||
g_free (highlight_color_str);
|
||||
}
|
||||
container->details->highlight_color = EEL_RGBA_COLOR_PACK (0, 0, 0, 102);
|
||||
} else {
|
||||
container->details->highlight_color = strtoul (highlight_color_str, NULL, 0);
|
||||
g_free (highlight_color_str);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -228,10 +228,9 @@ icon_get_data_binder (NautilusIcon *icon, gpointer data)
|
|||
|
||||
container = NAUTILUS_ICON_CONTAINER (context->iterator_context);
|
||||
|
||||
nautilus_icon_canvas_item_get_icon_rectangle
|
||||
(icon->item, &world_rect);
|
||||
eel_gnome_canvas_world_to_window_rectangle
|
||||
(GNOME_CANVAS (container), &world_rect, &window_rect);
|
||||
world_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item);
|
||||
window_rect = eel_gnome_canvas_world_to_window_rectangle
|
||||
(GNOME_CANVAS (container), world_rect);
|
||||
|
||||
uri = nautilus_icon_container_get_icon_uri (container, icon);
|
||||
if (uri == NULL) {
|
||||
|
@ -551,9 +550,9 @@ nautilus_icon_container_item_at (NautilusIconContainer *container,
|
|||
NautilusIcon *icon;
|
||||
icon = p->data;
|
||||
|
||||
eel_gnome_canvas_world_to_canvas_rectangle (GNOME_CANVAS_ITEM (icon->item)->canvas, &point, &canvas_point);
|
||||
|
||||
if (nautilus_icon_canvas_item_hit_test_rectangle (icon->item, &canvas_point)) {
|
||||
canvas_point = eel_gnome_canvas_world_to_canvas_rectangle (GNOME_CANVAS_ITEM (icon->item)->canvas,
|
||||
point);
|
||||
if (nautilus_icon_canvas_item_hit_test_rectangle (icon->item, canvas_point)) {
|
||||
return icon;
|
||||
}
|
||||
}
|
||||
|
@ -1286,10 +1285,10 @@ nautilus_icon_dnd_begin_drag (NautilusIconContainer *container,
|
|||
to it, with the hope that we get it back someday as X Windows improves */
|
||||
|
||||
/* compute the image's offset */
|
||||
nautilus_icon_canvas_item_get_icon_rectangle
|
||||
(container->details->drag_icon->item, &world_rect);
|
||||
eel_gnome_canvas_world_to_window_rectangle
|
||||
(canvas, &world_rect, &window_rect);
|
||||
world_rect = nautilus_icon_canvas_item_get_icon_rectangle (
|
||||
container->details->drag_icon->item);
|
||||
window_rect = eel_gnome_canvas_world_to_window_rectangle
|
||||
(canvas, world_rect);
|
||||
x_offset = dnd_info->drag_info.start_x - window_rect.x0;
|
||||
y_offset = dnd_info->drag_info.start_y - window_rect.y0;
|
||||
|
||||
|
|
|
@ -276,10 +276,10 @@ EEL_DEFINE_CLASS_BOILERPLATE (NautilusIconFactory,
|
|||
nautilus_icon_factory,
|
||||
GTK_TYPE_OBJECT)
|
||||
|
||||
static NautilusIconFactory *global_icon_factory = NULL;
|
||||
static NautilusIconFactory *global_icon_factory = NULL;
|
||||
|
||||
static void
|
||||
destroy_icon_factory (void)
|
||||
static void
|
||||
destroy_icon_factory (void)
|
||||
{
|
||||
nautilus_preferences_remove_callback (NAUTILUS_PREFERENCES_THEME,
|
||||
icon_theme_changed_callback,
|
||||
|
@ -590,8 +590,8 @@ nautilus_icon_factory_destroy (GtkObject *object)
|
|||
|
||||
static gboolean
|
||||
nautilus_icon_factory_possibly_free_cached_icon (gpointer key,
|
||||
gpointer value,
|
||||
gpointer user_data)
|
||||
gpointer value,
|
||||
gpointer user_data)
|
||||
{
|
||||
CacheIcon *icon;
|
||||
|
||||
|
@ -1466,15 +1466,15 @@ nautilus_icon_factory_get_icon_for_file (NautilusFile *file, const char *modifie
|
|||
image_uri = nautilus_link_local_get_image_uri (file_path);
|
||||
if (image_uri != NULL) {
|
||||
/* FIXME bugzilla.eazel.com 2564: Lame hack. We only support file:// URIs? */
|
||||
if (eel_istr_has_prefix (image_uri, "file://")) {
|
||||
if (uri == NULL) {
|
||||
uri = image_uri;
|
||||
} else {
|
||||
g_free (image_uri);
|
||||
}
|
||||
} else {
|
||||
icon_name = image_uri;
|
||||
}
|
||||
if (eel_istr_has_prefix (image_uri, "file://")) {
|
||||
if (uri == NULL) {
|
||||
uri = image_uri;
|
||||
} else {
|
||||
g_free (image_uri);
|
||||
}
|
||||
} else {
|
||||
icon_name = image_uri;
|
||||
}
|
||||
}
|
||||
g_free (file_path);
|
||||
}
|
||||
|
@ -2426,15 +2426,15 @@ GdkPixbuf * nautilus_icon_factory_get_pixbuf_from_name (const char *icon_name,
|
|||
|
||||
|
||||
static gboolean
|
||||
embedded_text_rect_usable (const ArtIRect *embedded_text_rect)
|
||||
embedded_text_rect_usable (ArtIRect embedded_text_rect)
|
||||
{
|
||||
if (art_irect_empty (embedded_text_rect)) {
|
||||
if (art_irect_empty (&embedded_text_rect)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (embedded_text_rect->x1 - embedded_text_rect->x0
|
||||
if (embedded_text_rect.x1 - embedded_text_rect.x0
|
||||
< MINIMUM_EMBEDDED_TEXT_RECT_WIDTH ||
|
||||
embedded_text_rect->y1 - embedded_text_rect->y0
|
||||
embedded_text_rect.y1 - embedded_text_rect.y0
|
||||
< MINIMUM_EMBEDDED_TEXT_RECT_HEIGHT) {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -2470,14 +2470,13 @@ embedded_text_font_free (void)
|
|||
|
||||
static GdkPixbuf *
|
||||
embed_text (GdkPixbuf *pixbuf_without_text,
|
||||
const ArtIRect *embedded_text_rect,
|
||||
ArtIRect embedded_text_rect,
|
||||
const char *text)
|
||||
{
|
||||
EelSmoothTextLayout *smooth_text_layout;
|
||||
GdkPixbuf *pixbuf_with_text;
|
||||
|
||||
g_return_val_if_fail (pixbuf_without_text != NULL, NULL);
|
||||
g_return_val_if_fail (embedded_text_rect != NULL, NULL);
|
||||
|
||||
/* Quick out for the case where there's no place to embed the
|
||||
* text or the place is too small or there's no text.
|
||||
|
@ -2512,14 +2511,14 @@ embed_text (GdkPixbuf *pixbuf_without_text,
|
|||
pixbuf_with_text = gdk_pixbuf_copy (pixbuf_without_text);
|
||||
|
||||
eel_smooth_text_layout_draw_to_pixbuf (smooth_text_layout,
|
||||
pixbuf_with_text,
|
||||
0,
|
||||
0,
|
||||
embedded_text_rect,
|
||||
GTK_JUSTIFY_LEFT,
|
||||
FALSE,
|
||||
EEL_RGB_COLOR_BLACK,
|
||||
EEL_OPACITY_FULLY_OPAQUE);
|
||||
pixbuf_with_text,
|
||||
0,
|
||||
0,
|
||||
embedded_text_rect,
|
||||
GTK_JUSTIFY_LEFT,
|
||||
FALSE,
|
||||
EEL_RGB_COLOR_BLACK,
|
||||
EEL_OPACITY_FULLY_OPAQUE);
|
||||
|
||||
gtk_object_unref (GTK_OBJECT (smooth_text_layout));
|
||||
|
||||
|
@ -2550,7 +2549,7 @@ load_icon_with_embedded_text (NautilusScalableIcon *scalable_icon,
|
|||
|
||||
/* Create a pixbuf with the text in it. */
|
||||
pixbuf_with_text = embed_text (icon_without_text->pixbuf,
|
||||
&icon_without_text->details.text_rect,
|
||||
icon_without_text->details.text_rect,
|
||||
scalable_icon->embedded_text);
|
||||
if (pixbuf_with_text == NULL) {
|
||||
return icon_without_text;
|
||||
|
|
|
@ -887,7 +887,7 @@ row_get_data_binder (EelCListRow *row, int row_index, gpointer data)
|
|||
eel_list_get_initial_drag_offset (context->list, &drag_offset_x, &drag_offset_y);
|
||||
|
||||
/* adjust the icons to be vertically relative to the initial mouse click position */
|
||||
icon_rect = eel_art_irect_offset_by (eel_gdk_rectangle_to_art_irect (&cell_rectangle),
|
||||
icon_rect = eel_art_irect_offset_by (eel_gdk_rectangle_to_art_irect (cell_rectangle),
|
||||
0, -drag_offset_y);
|
||||
|
||||
/* horizontally just center the outline rectangles -- this will make the outlines align with
|
||||
|
|
|
@ -419,11 +419,10 @@ nautilus_about_update_authors (NautilusAbout *about)
|
|||
EelScalableFont *plain_font;
|
||||
|
||||
/* clear the author area */
|
||||
eel_art_irect_assign (&author_area,
|
||||
AUTHOR_LEFT_POS - 24,
|
||||
AUTHOR_TOP_POS,
|
||||
2 * AUTHOR_COLUMN_WIDTH,
|
||||
AUTHOR_LINE_HEIGHT * ITEMS_PER_COLUMN);
|
||||
author_area = eel_art_irect_assign (AUTHOR_LEFT_POS - 24,
|
||||
AUTHOR_TOP_POS,
|
||||
2 * AUTHOR_COLUMN_WIDTH,
|
||||
AUTHOR_LINE_HEIGHT * ITEMS_PER_COLUMN);
|
||||
|
||||
eel_gdk_pixbuf_fill_rectangle_with_color
|
||||
(about->details->background_pixbuf,
|
||||
|
|
20
test/test.c
20
test/test.c
|
@ -220,7 +220,7 @@ test_label_new (const char *text,
|
|||
/* Preferences hacks */
|
||||
void
|
||||
test_text_caption_set_text_for_int_preferences (EelTextCaption *text_caption,
|
||||
const char *name)
|
||||
const char *name)
|
||||
{
|
||||
int int_value;
|
||||
char *text;
|
||||
|
@ -340,7 +340,7 @@ test_pixbuf_draw_rectangle_tiled (GdkPixbuf *pixbuf,
|
|||
if (x0 == -1 && y0 == -1 && x1 == -1 && y1 == -1) {
|
||||
EelDimensions dimensions;
|
||||
dimensions = eel_gdk_pixbuf_get_dimensions (pixbuf);
|
||||
area = eel_art_irect_assign_dimensions (0, 0, &dimensions);
|
||||
area = eel_art_irect_assign_dimensions (0, 0, dimensions);
|
||||
} else {
|
||||
g_return_if_fail (x0 >= 0);
|
||||
g_return_if_fail (y0 >= 0);
|
||||
|
@ -354,14 +354,14 @@ test_pixbuf_draw_rectangle_tiled (GdkPixbuf *pixbuf,
|
|||
}
|
||||
|
||||
eel_gdk_pixbuf_draw_to_pixbuf_tiled (tile_pixbuf,
|
||||
pixbuf,
|
||||
&area,
|
||||
gdk_pixbuf_get_width (tile_pixbuf),
|
||||
gdk_pixbuf_get_height (tile_pixbuf),
|
||||
0,
|
||||
0,
|
||||
opacity,
|
||||
GDK_INTERP_NEAREST);
|
||||
pixbuf,
|
||||
area,
|
||||
gdk_pixbuf_get_width (tile_pixbuf),
|
||||
gdk_pixbuf_get_height (tile_pixbuf),
|
||||
0,
|
||||
0,
|
||||
opacity,
|
||||
GDK_INTERP_NEAREST);
|
||||
|
||||
gdk_pixbuf_unref (tile_pixbuf);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue