2 * Copyright (C) 2006 John Ellis
3 * Copyright (C) 2008 - 2016 The Geeqie Team
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 #include "pan-types.h"
28 void pan_grid_compute(PanWindow *pw, FileData *dir_fd, gint *width, gint *height)
36 list = pan_list_tree(dir_fd, SORT_NAME, TRUE, pw->ignore_symlinks);
38 grid_size = (gint)sqrt((gdouble)g_list_length(list));
39 if (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE)
41 grid_size = grid_size * (512 + PAN_THUMB_GAP) * pw->image_size / 100;
45 grid_size = grid_size * (PAN_THUMB_SIZE + PAN_THUMB_GAP);
50 *width = PAN_BOX_BORDER * 2;
51 *height = PAN_BOX_BORDER * 2;
64 if (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE)
66 pi = pan_item_image_new(pw, fd, x, y, 10, 10);
68 x += pi->width + PAN_THUMB_GAP;
69 if (y + pi->height + PAN_THUMB_GAP > next_y) next_y = y + pi->height + PAN_THUMB_GAP;
78 pi = pan_item_thumb_new(pw, fd, x, y);
80 x += PAN_THUMB_SIZE + PAN_THUMB_GAP;
84 y += PAN_THUMB_SIZE + PAN_THUMB_GAP;
87 pan_item_size_coordinates(pi, PAN_THUMB_GAP, width, height);
92 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */