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.
29 void pan_grid_compute(PanWindow *pw, FileData *dir_fd, gint *width, gint *height)
37 list = pan_list_tree(dir_fd, SORT_NAME, TRUE, pw->ignore_symlinks);
39 grid_size = (gint)sqrt((gdouble)g_list_length(list));
40 if (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE)
42 grid_size = grid_size * (512 + PAN_THUMB_GAP) * pw->image_size / 100;
46 grid_size = grid_size * (PAN_THUMB_SIZE + PAN_THUMB_GAP);
51 *width = PAN_BOX_BORDER * 2;
52 *height = PAN_BOX_BORDER * 2;
65 if (pw->size > PAN_IMAGE_SIZE_THUMB_LARGE)
67 pi = pan_item_image_new(pw, fd, x, y, 10, 10);
69 x += pi->width + PAN_THUMB_GAP;
70 if (y + pi->height + PAN_THUMB_GAP > next_y) next_y = y + pi->height + PAN_THUMB_GAP;
79 pi = pan_item_thumb_new(pw, fd, x, y);
81 x += PAN_THUMB_SIZE + PAN_THUMB_GAP;
85 y += PAN_THUMB_SIZE + PAN_THUMB_GAP;
88 pan_item_size_coordinates(pi, PAN_THUMB_GAP, width, height);
93 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */