Skip to content

Commit 1964eed

Browse files
committed
Remove white frame from images.
- Remove frames on thumbnails view, with an exception when dragging multiple images at once (as it helps to represent that more than one image is grabbed). Keep the drop shadow but reduce it. - Remove image frame and shadow in edit view. Fixes #181.
1 parent 46e1970 commit 1964eed

9 files changed

Lines changed: 36 additions & 209 deletions

extensions/slideshow/gth-slideshow.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -758,7 +758,6 @@ default_projector_construct (GthSlideshow *self)
758758
self->priv->paint_paused = FALSE;
759759

760760
self->priv->viewer = gth_image_viewer_new ();
761-
gth_image_viewer_hide_frame (GTH_IMAGE_VIEWER (self->priv->viewer));
762761
gth_image_viewer_set_fit_mode (GTH_IMAGE_VIEWER (self->priv->viewer), GTH_FIT_SIZE);
763762
gth_image_viewer_set_zoom_change (GTH_IMAGE_VIEWER (self->priv->viewer), GTH_ZOOM_CHANGE_FIT_SIZE);
764763

pix/cairo-utils.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1273,10 +1273,10 @@ _cairo_draw_thumbnail_frame (cairo_t *cr,
12731273

12741274
cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.33);
12751275
_cairo_draw_rounded_box (cr,
1276-
x + 2,
1277-
y + 2,
1278-
width - 1,
1279-
height - 1,
1276+
x + 1,
1277+
y + 1,
1278+
width,
1279+
height,
12801280
0);
12811281
cairo_fill (cr);
12821282

@@ -1498,9 +1498,10 @@ _cairo_create_dnd_icon (cairo_surface_t *image,
14981498
break;
14991499

15001500
case ITEM_STYLE_IMAGE:
1501-
if (multi_dnd)
1501+
if (multi_dnd) {
15021502
_cairo_draw_thumbnail_frame (cr, frame_rect.x + DRAG_ICON_THUMBNAIL_OFFSET, frame_rect.y + DRAG_ICON_THUMBNAIL_OFFSET, frame_rect.width, frame_rect.height);
1503-
_cairo_draw_thumbnail_frame (cr, frame_rect.x, frame_rect.y, frame_rect.width, frame_rect.height);
1503+
_cairo_draw_thumbnail_frame (cr, frame_rect.x, frame_rect.y, frame_rect.width, frame_rect.height);
1504+
}
15041505
break;
15051506

15061507
case ITEM_STYLE_VIDEO:

pix/gth-grid-view.c

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
#define DEFAULT_CAPTION_PADDING 2
4848
#define DEFAULT_CELL_SPACING 16
4949
#define DEFAULT_CELL_PADDING 5
50-
#define DEFAULT_THUMBNAIL_BORDER 3
5150
#define SCROLL_DELAY 30
5251
#define LAYOUT_DELAY 20
5352
#define RUBBERBAND_BORDER 2
@@ -152,7 +151,6 @@ struct _GthGridViewPrivate {
152151
int width; /* size of the view */
153152
int height;
154153
int thumbnail_size;
155-
int thumbnail_border;
156154
int cell_size; /* max size of any cell area */
157155
int cell_spacing; /* vertical space and mininum horizontal space between adjacent cell areas */
158156
double cell_x_spacing; /* horizontal space between adjacent cell areas (calculated automatically to fill the horizontal space uniformly). */
@@ -667,11 +665,11 @@ _gth_grid_view_update_item_size (GthGridView *self,
667665
switch (item->style) {
668666
case ITEM_STYLE_VIDEO:
669667
item->thumbnail_area.width = item->pixbuf_area.width;
670-
item->thumbnail_area.height = thumbnail_size - (self->priv->thumbnail_border * 2);
668+
item->thumbnail_area.height = thumbnail_size;
671669
break;
672670
case ITEM_STYLE_IMAGE:
673-
item->thumbnail_area.width = item->pixbuf_area.width + (self->priv->thumbnail_border * 2);
674-
item->thumbnail_area.height = item->pixbuf_area.height + (self->priv->thumbnail_border * 2);
671+
item->thumbnail_area.width = item->pixbuf_area.width;
672+
item->thumbnail_area.height = item->pixbuf_area.height;
675673
break;
676674
case ITEM_STYLE_ICON:
677675
item->thumbnail_area.width = thumbnail_size;
@@ -1300,7 +1298,6 @@ _gth_grid_view_item_draw_thumbnail (GthGridViewItem *item,
13001298
{
13011299
cairo_surface_t *image;
13021300
GtkStyleContext *style_context;
1303-
cairo_rectangle_int_t frame_rect;
13041301

13051302
image = item->thumbnail;
13061303
if (image == NULL)
@@ -1319,8 +1316,6 @@ _gth_grid_view_item_draw_thumbnail (GthGridViewItem *item,
13191316
gtk_style_context_add_class (style_context, GTK_STYLE_CLASS_CELL);
13201317
#endif
13211318

1322-
frame_rect = item->pixbuf_area;
1323-
13241319
if ((item->style == ITEM_STYLE_ICON)
13251320
|| ! (item->is_image || (item_state & GTK_STATE_FLAG_SELECTED) || (item_state == GTK_STATE_FLAG_NORMAL)))
13261321
{
@@ -1365,8 +1360,6 @@ _gth_grid_view_item_draw_thumbnail (GthGridViewItem *item,
13651360
}
13661361

13671362
if (item->style == ITEM_STYLE_VIDEO) {
1368-
frame_rect = item->thumbnail_area;
1369-
13701363
_cairo_draw_film_background (cr,
13711364
item->thumbnail_area.x,
13721365
item->thumbnail_area.y,
@@ -1389,34 +1382,6 @@ _gth_grid_view_item_draw_thumbnail (GthGridViewItem *item,
13891382
grid_view->priv->thumbnail_size);
13901383
}
13911384

1392-
if ((item_state & GTK_STATE_FLAG_SELECTED) || (item_state & GTK_STATE_FLAG_FOCUSED)) {
1393-
#if GTK_CHECK_VERSION(3, 20, 0)
1394-
gtk_style_context_save (style_context);
1395-
gtk_style_context_add_class (style_context, "icon-effect");
1396-
gtk_render_background (style_context,
1397-
cr,
1398-
frame_rect.x,
1399-
frame_rect.y,
1400-
frame_rect.width,
1401-
frame_rect.height);
1402-
gtk_style_context_restore (style_context);
1403-
#else
1404-
GdkRGBA color;
1405-
gtk_style_context_get_background_color (style_context, item_state, &color);
1406-
cairo_set_source_rgba (cr, color.red, color.green, color.blue, 0.5);
1407-
cairo_rectangle (cr,
1408-
frame_rect.x,
1409-
frame_rect.y,
1410-
frame_rect.width,
1411-
frame_rect.height);
1412-
cairo_fill_preserve (cr);
1413-
1414-
cairo_set_line_width (cr, 2);
1415-
cairo_set_source_rgb (cr, color.red, color.green, color.blue);
1416-
cairo_stroke (cr);
1417-
#endif
1418-
}
1419-
14201385
gtk_style_context_restore (style_context);
14211386
cairo_restore (cr);
14221387

@@ -3476,7 +3441,7 @@ _gth_grid_view_set_thumbnail_size (GthGridView *self,
34763441
int size)
34773442
{
34783443
self->priv->thumbnail_size = size;
3479-
self->priv->cell_size = self->priv->thumbnail_size + (self->priv->thumbnail_border * 2) + (self->priv->cell_padding * 2);
3444+
self->priv->cell_size = self->priv->thumbnail_size + (self->priv->cell_padding * 2);
34803445
self->priv->update_caption_height = TRUE;
34813446
g_object_notify (G_OBJECT (self), "thumbnail-size");
34823447

@@ -3858,7 +3823,6 @@ gth_grid_view_init (GthGridView *self)
38583823
self->priv->width = 0;
38593824
self->priv->height = 0;
38603825
/* self->priv->thumbnail_size = 0; */
3861-
self->priv->thumbnail_border = DEFAULT_THUMBNAIL_BORDER;
38623826

38633827
/* self->priv->cell_size = 0; */
38643828
self->priv->cell_spacing = DEFAULT_CELL_SPACING;

pix/gth-image-dragger.c

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131

3232
#define SIZE_TOO_BIG_FOR_SCALE_BILINEAR (3000 * 3000)
3333
#define MAX_ZOOM_LEVEL_FOR_HIGH_QUALITY 3.0
34-
#define FRAME_BORDER 15
3534
#define DRAG_ICON_SIZE 128
3635

3736

@@ -107,12 +106,6 @@ gth_image_dragger_set_property (GObject *object,
107106
switch (property_id) {
108107
case PROP_SHOW_FRAME:
109108
self->priv->show_frame = g_value_get_boolean (value);
110-
if (self->priv->viewer != NULL) {
111-
if (self->priv->show_frame)
112-
gth_image_viewer_show_frame (self->priv->viewer, FRAME_BORDER);
113-
else
114-
gth_image_viewer_hide_frame (self->priv->viewer);
115-
}
116109
break;
117110
default:
118111
break;
@@ -191,8 +184,6 @@ gth_image_dragger_set_viewer (GthImageViewerTool *base,
191184

192185
self->priv->viewer = image_viewer;
193186
g_object_add_weak_pointer (G_OBJECT (image_viewer), (gpointer *) &self->priv->viewer);
194-
if (self->priv->show_frame)
195-
gth_image_viewer_show_frame (self->priv->viewer, FRAME_BORDER);
196187
}
197188

198189

@@ -202,8 +193,6 @@ gth_image_dragger_unset_viewer (GthImageViewerTool *base,
202193
{
203194
GthImageDragger *self = GTH_IMAGE_DRAGGER (base);
204195

205-
if ((self->priv->viewer != NULL) && self->priv->show_frame)
206-
gth_image_viewer_hide_frame (self->priv->viewer);
207196
g_object_remove_weak_pointer (G_OBJECT (image_viewer), (gpointer *) &self->priv->viewer);
208197
self->priv->viewer = NULL;
209198
}

pix/gth-image-overview.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -325,22 +325,18 @@ _gth_image_overview_update_preview (GthImageOverview *self)
325325
static void
326326
_gth_image_overview_update_visible_area (GthImageOverview *self)
327327
{
328-
int frame_border;
329-
330328
if (self->priv->viewer == NULL)
331329
return;
332330

333-
frame_border = gth_image_viewer_get_frame_border (self->priv->viewer);
334-
335331
/* visible area size */
336332

337333
self->priv->visible_area.width = self->priv->viewer->visible_area.width * self->priv->zoom_factor;
338334
self->priv->visible_area.height = self->priv->viewer->visible_area.height * self->priv->zoom_factor;
339335

340336
/* visible area position */
341337

342-
self->priv->visible_area.x = (self->priv->viewer->visible_area.x - frame_border) * self->priv->zoom_factor + IMAGE_BORDER;
343-
self->priv->visible_area.y = (self->priv->viewer->visible_area.y - frame_border) * self->priv->zoom_factor + IMAGE_BORDER;
338+
self->priv->visible_area.x = self->priv->viewer->visible_area.x * self->priv->zoom_factor + IMAGE_BORDER;
339+
self->priv->visible_area.y = self->priv->viewer->visible_area.y * self->priv->zoom_factor + IMAGE_BORDER;
344340

345341
gtk_widget_queue_draw (GTK_WIDGET (self));
346342
}

pix/gth-image-selector.c

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -323,8 +323,8 @@ get_event_area_from_position (GthImageSelector *self,
323323
cairo_rectangle_int_t widget_area;
324324

325325
widget_area = event_area->area;
326-
widget_area.x += MAX (self->priv->viewer->image_area.x, gth_image_viewer_get_frame_border (self->priv->viewer));
327-
widget_area.y += MAX (self->priv->viewer->image_area.y, gth_image_viewer_get_frame_border (self->priv->viewer));
326+
widget_area.x += self->priv->viewer->image_area.x;
327+
widget_area.y += self->priv->viewer->image_area.y;
328328

329329
if (point_in_rectangle (x, y, widget_area))
330330
return event_area;
@@ -617,7 +617,6 @@ gth_image_selector_set_viewer (GthImageViewerTool *base,
617617
GthImageSelector *self = GTH_IMAGE_SELECTOR (base);
618618

619619
self->priv->viewer = image_viewer;
620-
gth_image_viewer_show_frame (self->priv->viewer, 25);
621620
}
622621

623622

@@ -627,8 +626,6 @@ gth_image_selector_unset_viewer (GthImageViewerTool *base,
627626
{
628627
GthImageSelector *self = GTH_IMAGE_SELECTOR (base);
629628

630-
if (self->priv->viewer != NULL)
631-
gth_image_viewer_hide_frame (self->priv->viewer);
632629
self->priv->viewer = NULL;
633630
}
634631

@@ -731,11 +728,7 @@ paint_selection (GthImageSelector *self,
731728
cairo_rectangle_int_t selection_area;
732729

733730
if (! self->priv->viewer->dragging) {
734-
int frame_border = gth_image_viewer_get_frame_border (self->priv->viewer);
735-
736731
selection_area = self->priv->selection_area;
737-
selection_area.x += frame_border;
738-
selection_area.y += frame_border;
739732
gth_image_viewer_paint_region (self->priv->viewer,
740733
cr,
741734
self->priv->surface,

0 commit comments

Comments
 (0)