Move some defines to cc files.
namespace
{
+constexpr gint PAN_CAL_POPUP_BORDER = 1;
+constexpr guint8 PAN_CAL_POPUP_ALPHA = 255;
+constexpr PanColor PAN_CAL_POPUP_COLOR{220, 220, 220, PAN_CAL_POPUP_ALPHA};
+constexpr PanColor PAN_CAL_POPUP_BORDER_COLOR{0, 0, 0, PAN_CAL_POPUP_ALPHA};
+constexpr PanColor PAN_CAL_POPUP_TEXT_COLOR{0, 0, 0, 255};
+
+constexpr gint PAN_CAL_DAY_WIDTH = 100;
+constexpr gint PAN_CAL_DAY_HEIGHT = 80;
+constexpr gint PAN_CAL_DAY_BORDER = 2;
+constexpr guint8 PAN_CAL_DAY_ALPHA = 220;
+constexpr PanColor PAN_CAL_DAY_COLOR{255, 255, 255, PAN_CAL_DAY_ALPHA};
+constexpr PanColor PAN_CAL_DAY_BORDER_COLOR{0, 0, 0, PAN_CAL_DAY_ALPHA};
+constexpr PanColor PAN_CAL_DAY_TEXT_COLOR{0, 0, 0, 255};
+
+constexpr gint PAN_CAL_MONTH_BORDER = 4;
+constexpr guint8 PAN_CAL_MONTH_ALPHA = 200;
+constexpr PanColor PAN_CAL_MONTH_COLOR{255, 255, 255, PAN_CAL_MONTH_ALPHA};
+constexpr PanColor PAN_CAL_MONTH_BORDER_COLOR{0, 0, 0, PAN_CAL_MONTH_ALPHA};
+constexpr PanColor PAN_CAL_MONTH_TEXT_COLOR{0, 0, 0, 255};
+
+constexpr gint PAN_CAL_DOT_SIZE = 3;
+constexpr gint PAN_CAL_DOT_GAP = 2;
constexpr guint8 PAN_CAL_DOT_ALPHA = 128;
+constexpr PanColor PAN_CAL_DOT_COLOR{128, 128, 128, PAN_CAL_DOT_ALPHA};
-} // namespace
+constexpr PanColor PAN_CAL_DAY_OF_WEEK_COLOR{128, 128, 128, 255};
-#define PAN_CAL_POPUP_COLOR 220, 220, 220
-enum {
- PAN_CAL_POPUP_ALPHA = 255,
- PAN_CAL_POPUP_BORDER = 1
-};
-#define PAN_CAL_POPUP_BORDER_COLOR 0, 0, 0
-#define PAN_CAL_POPUP_TEXT_COLOR 0, 0, 0
-
-enum {
- PAN_CAL_DAY_WIDTH = 100,
- PAN_CAL_DAY_HEIGHT = 80
-};
-
-#define PAN_CAL_DAY_COLOR 255, 255, 255
-enum {
- PAN_CAL_DAY_ALPHA = 220,
- PAN_CAL_DAY_BORDER = 2
-};
-#define PAN_CAL_DAY_BORDER_COLOR 0, 0, 0
-#define PAN_CAL_DAY_TEXT_COLOR 0, 0, 0
-
-#define PAN_CAL_MONTH_COLOR 255, 255, 255
-enum {
- PAN_CAL_MONTH_ALPHA = 200,
- PAN_CAL_MONTH_BORDER = 4
-};
-#define PAN_CAL_MONTH_BORDER_COLOR 0, 0, 0
-#define PAN_CAL_MONTH_TEXT_COLOR 0, 0, 0
-
-enum {
- PAN_CAL_DOT_SIZE = 3,
- PAN_CAL_DOT_GAP = 2
-};
-#define PAN_CAL_DOT_COLOR 128, 128, 128
-
-#define PAN_CAL_DAY_OF_WEEK_COLOR 128, 128, 128
+} // namespace
/*
*-----------------------------------------------------------------------------
y = pi_day->y;
pbox = pan_item_box_new(pw, nullptr, x, y, PAN_BOX_BORDER, PAN_BOX_BORDER,
- PAN_CAL_POPUP_BORDER,
- PAN_CAL_POPUP_COLOR, PAN_CAL_POPUP_ALPHA,
- PAN_CAL_POPUP_BORDER_COLOR, PAN_CAL_POPUP_ALPHA);
+ PAN_CAL_POPUP_BORDER, PAN_CAL_POPUP_COLOR, PAN_CAL_POPUP_BORDER_COLOR);
pan_item_set_key(pbox, "day_bubble");
if (pi_day->fd)
buf = pan_date_value_string(pi_day->fd->date, PAN_DATE_LENGTH_WEEK);
plabel = pan_item_text_new(pw, x, y, buf, static_cast<PanTextAttrType>(PAN_TEXT_ATTR_BOLD | PAN_TEXT_ATTR_HEADING),
- PAN_BORDER_3,
- PAN_CAL_POPUP_TEXT_COLOR, 255);
+ PAN_BORDER_3, PAN_CAL_POPUP_TEXT_COLOR);
pan_item_set_key(plabel, "day_bubble");
g_free(buf);
pi = pan_item_tri_new(pw, nullptr, x, y, w, h,
x1, y1, x2, y2, x3, y3,
- PAN_CAL_POPUP_COLOR, PAN_CAL_POPUP_ALPHA);
- pan_item_tri_border(pi, PAN_BORDER_1 | PAN_BORDER_3, PAN_CAL_POPUP_BORDER_COLOR, PAN_CAL_POPUP_ALPHA);
+ PAN_CAL_POPUP_COLOR);
+ pan_item_tri_border(pi, PAN_BORDER_1 | PAN_BORDER_3, PAN_CAL_POPUP_BORDER_COLOR);
pan_item_set_key(pi, "day_bubble");
pan_item_added(pw, pi);
x = PAN_BOX_BORDER;
pi_month = pan_item_box_new(pw, nullptr, x, y, PAN_CAL_DAY_WIDTH * 7, PAN_CAL_DAY_HEIGHT / 4,
- PAN_CAL_MONTH_BORDER,
- PAN_CAL_MONTH_COLOR, PAN_CAL_MONTH_ALPHA,
- PAN_CAL_MONTH_BORDER_COLOR, PAN_CAL_MONTH_ALPHA);
+ PAN_CAL_MONTH_BORDER, PAN_CAL_MONTH_COLOR, PAN_CAL_MONTH_BORDER_COLOR);
buf = pan_date_value_string(dt, PAN_DATE_LENGTH_MONTH);
pi_text = pan_item_text_new(pw, x, y, buf,
static_cast<PanTextAttrType>(PAN_TEXT_ATTR_BOLD | PAN_TEXT_ATTR_HEADING),
- PAN_BORDER_3,
- PAN_CAL_MONTH_TEXT_COLOR, 255);
+ PAN_BORDER_3, PAN_CAL_MONTH_TEXT_COLOR);
g_free(buf);
pi_text->x = pi_month->x + (pi_month->width - pi_text->width) / 2;
fd = file_data_new_no_grouping(fake_path);
fd->date = dt;
pi_day = pan_item_box_new(pw, fd, x, y, PAN_CAL_DAY_WIDTH, PAN_CAL_DAY_HEIGHT,
- PAN_CAL_DAY_BORDER,
- PAN_CAL_DAY_COLOR, PAN_CAL_DAY_ALPHA,
- PAN_CAL_DAY_BORDER_COLOR, PAN_CAL_DAY_ALPHA);
+ PAN_CAL_DAY_BORDER, PAN_CAL_DAY_COLOR, PAN_CAL_DAY_BORDER_COLOR);
pan_item_set_key(pi_day, "day");
dx = x + PAN_CAL_DOT_GAP * 2;
pi = pan_item_box_new(pw, fd, dx, dy, PAN_CAL_DOT_SIZE, PAN_CAL_DOT_SIZE,
0,
- PAN_CAL_DOT_COLOR, PAN_CAL_DOT_ALPHA,
- 0, 0, 0, 0);
+ PAN_CAL_DOT_COLOR,
+ {0, 0, 0, 0});
pan_item_set_key(pi, "dot");
dx += PAN_CAL_DOT_SIZE + PAN_CAL_DOT_GAP;
{
PanItem *pi;
- pi_day->color_r = MAX(pi_day->color_r - 61 - n * 3, 80);
- pi_day->color_g = pi_day->color_r;
+ pi_day->color.r = MAX(pi_day->color.r - 61 - n * 3, 80);
+ pi_day->color.g = pi_day->color.r;
buf = g_strdup_printf("( %d )", n);
pi = pan_item_text_new(pw, x, y, buf, PAN_TEXT_ATTR_NONE,
- PAN_BORDER_3,
- PAN_CAL_DAY_TEXT_COLOR, 255);
+ PAN_BORDER_3, PAN_CAL_DAY_TEXT_COLOR);
g_free(buf);
pi->x = pi_day->x + (pi_day->width - pi->width) / 2;
buf = g_strdup_printf("%d", day);
pi_day_number = pan_item_text_new(pw, x + 4, y + 4, buf, static_cast<PanTextAttrType>(PAN_TEXT_ATTR_BOLD | PAN_TEXT_ATTR_HEADING),
- PAN_BORDER_3,
- PAN_CAL_DAY_TEXT_COLOR, 255);
+ PAN_BORDER_3, PAN_CAL_DAY_TEXT_COLOR);
g_free(buf);
day_of_week = date_get_first_day_of_week() + col;
buf = date_get_abbreviated_day_name(day_of_week);
pan_item_text_new(pw, x + 4 + pi_day_number->width + 4, y + 4, buf, PAN_TEXT_ATTR_NONE,
- PAN_BORDER_3,
- PAN_CAL_DAY_OF_WEEK_COLOR, 255);
+ PAN_BORDER_3, PAN_CAL_DAY_OF_WEEK_COLOR);
g_free(buf);
pan_item_size_coordinates(pi_day, PAN_BOX_BORDER, width, height);
pi = pan_item_tri_new(pw, nullptr, x1, y1, x2 - x1, y2 - y1,
px, py, gx, gy, gx + 5, gy + 5,
- 255, 40, 40, 128);
- pan_item_tri_border(pi, PAN_BORDER_1 | PAN_BORDER_3,
- 255, 0, 0, 128);
+ {255, 40, 40, 128});
+ pan_item_tri_border(pi, PAN_BORDER_1 | PAN_BORDER_3, {255, 0, 0, 128});
}
pw->list = g_list_concat(group->items, pw->list);
pi_box = pan_item_text_new(pw, x, y, dir_fd->path, PAN_TEXT_ATTR_NONE,
PAN_BORDER_3,
- PAN_TEXT_COLOR, 255);
+ {PAN_TEXT_COLOR, 255});
y += pi_box->height;
x, y,
PAN_BOX_BORDER * 2, PAN_BOX_BORDER * 2,
PAN_BOX_OUTLINE_THICKNESS,
- PAN_BOX_COLOR, PAN_BOX_ALPHA,
- PAN_BOX_OUTLINE_COLOR, PAN_BOX_OUTLINE_ALPHA);
+ {PAN_BOX_COLOR, PAN_BOX_ALPHA},
+ {PAN_BOX_OUTLINE_COLOR, PAN_BOX_OUTLINE_ALPHA});
x += PAN_BOX_BORDER;
y += PAN_BOX_BORDER;
pi_box = pan_item_text_new(pw, *x, *y, dir_fd->path, PAN_TEXT_ATTR_NONE,
PAN_BORDER_3,
- PAN_TEXT_COLOR, 255);
+ {PAN_TEXT_COLOR, 255});
*y += pi_box->height;
*x, *y,
PAN_BOX_BORDER, PAN_BOX_BORDER,
PAN_BOX_OUTLINE_THICKNESS,
- PAN_BOX_COLOR, PAN_BOX_ALPHA,
- PAN_BOX_OUTLINE_COLOR, PAN_BOX_OUTLINE_ALPHA);
+ {PAN_BOX_COLOR, PAN_BOX_ALPHA},
+ {PAN_BOX_OUTLINE_COLOR, PAN_BOX_OUTLINE_ALPHA});
*x += PAN_BOX_BORDER;
*y += PAN_BOX_BORDER;
#include "pixbuf-util.h"
#include "ui-misc.h"
+namespace
+{
+
+constexpr gint PAN_OUTLINE_THICKNESS = 1;
+#define PAN_OUTLINE_ALPHA 180
+#define PAN_OUTLINE_COLOR_1 255, 255, 255, PAN_OUTLINE_ALPHA
+#define PAN_OUTLINE_COLOR_2 64, 64, 64, PAN_OUTLINE_ALPHA
+
+/* popup info box */
+constexpr PanColor PAN_POPUP_TEXT_COLOR{0, 0, 0, 225};
+
+} // namespace
+
/*
*-----------------------------------------------------------------------------
* item base functions
*/
PanItem *pan_item_box_new(PanWindow *pw, FileData *fd, gint x, gint y, gint width, gint height,
- gint border_size,
- guint8 base_r, guint8 base_g, guint8 base_b, guint8 base_a,
- guint8 bord_r, guint8 bord_g, guint8 bord_b, guint8 bord_a)
+ gint border_size, const PanColor &base, const PanColor &bord)
{
PanItem *pi;
pi->width = width;
pi->height = height;
- pi->color_r = base_r;
- pi->color_g = base_g;
- pi->color_b = base_b;
- pi->color_a = base_a;
+ pi->color = base;
- pi->color2_r = bord_r;
- pi->color2_g = bord_g;
- pi->color2_b = bord_b;
- pi->color2_a = bord_a;
+ pi->color2 = bord;
pi->border = border_size;
pw->list = g_list_prepend(pw->list, pi);
bw -= shadow[0];
bh -= shadow[0];
- if (pi->color_a > 254)
+ if (pi->color.a > 254)
{
pixbuf_draw_shadow(pixbuf, pi->x - x + bw, pi->y - y + shadow[0],
shadow[0], bh - shadow[0],
else
{
gint a;
- a = pi->color_a * PAN_SHADOW_ALPHA >> 8;
+ a = pi->color.a * PAN_SHADOW_ALPHA >> 8;
pixbuf_draw_shadow(pixbuf, pi->x - x + shadow[0], pi->y - y + shadow[0],
bw, bh,
pi->x - x + shadow[0], pi->y - y + shadow[0], bw, bh,
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- pi->color_r, pi->color_g, pi->color_b, pi->color_a);
+ pi->color.r, pi->color.g, pi->color.b, pi->color.a);
}
if (util_clip_region(x, y, width, height,
pi->x, pi->y, bw, pi->border,
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a);
+ pi->color2.r, pi->color2.g, pi->color2.b, pi->color2.a);
}
if (util_clip_region(x, y, width, height,
pi->x, pi->y + pi->border, pi->border, bh - pi->border * 2,
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a);
+ pi->color2.r, pi->color2.g, pi->color2.b, pi->color2.a);
}
if (util_clip_region(x, y, width, height,
pi->x + bw - pi->border, pi->y + pi->border,
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a);
+ pi->color2.r, pi->color2.g, pi->color2.b, pi->color2.a);
}
if (util_clip_region(x, y, width, height,
pi->x, pi->y + bh - pi->border,
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a);
+ pi->color2.r, pi->color2.g, pi->color2.b, pi->color2.a);
}
return FALSE;
*/
PanItem *pan_item_tri_new(PanWindow *pw, FileData *, gint x, gint y, gint width, gint height,
- gint x1, gint y1, gint x2, gint y2, gint x3, gint y3,
- guint8 r, guint8 g, guint8 b, guint8 a)
+ gint x1, gint y1, gint x2, gint y2, gint x3, gint y3,
+ const PanColor &color)
{
PanItem *pi;
gint *coord;
pi->width = width;
pi->height = height;
- pi->color_r = r;
- pi->color_g = g;
- pi->color_b = b;
- pi->color_a = a;
+ pi->color = color;
coord = g_new0(gint, 6);
coord[0] = x1;
return pi;
}
-void pan_item_tri_border(PanItem *pi, gint borders,
- guint8 r, guint8 g, guint8 b, guint8 a)
+void pan_item_tri_border(PanItem *pi, gint borders, const PanColor &color)
{
if (!pi || pi->type != PAN_ITEM_TRIANGLE) return;
pi->border = borders;
- pi->color2_r = r;
- pi->color2_g = g;
- pi->color2_b = b;
- pi->color2_a = a;
+ pi->color2 = color;
}
gint pan_item_tri_draw(PanWindow *, PanItem *pi, GdkPixbuf *pixbuf, PixbufRenderer *, gint x, gint y, gint width, gint height)
coord[0] - x, coord[1] - y,
coord[2] - x, coord[3] - y,
coord[4] - x, coord[5] - y,
- pi->color_r, pi->color_g, pi->color_b, pi->color_a);
+ pi->color.r, pi->color.g, pi->color.b, pi->color.a);
if (pi->border & PAN_BORDER_1)
{
rx - x, ry - y, rw, rh,
coord[0] - x, coord[1] - y,
coord[2] - x, coord[3] - y,
- pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a);
+ pi->color2.r, pi->color2.g, pi->color2.b, pi->color2.a);
}
if (pi->border & PAN_BORDER_2)
{
rx - x, ry - y, rw, rh,
coord[2] - x, coord[3] - y,
coord[4] - x, coord[5] - y,
- pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a);
+ pi->color2.r, pi->color2.g, pi->color2.b, pi->color2.a);
}
if (pi->border & PAN_BORDER_3)
{
rx - x, ry - y, rw, rh,
coord[4] - x, coord[5] - y,
coord[0] - x, coord[1] - y,
- pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a);
+ pi->color2.r, pi->color2.g, pi->color2.b, pi->color2.a);
}
}
}
PanItem *pan_item_text_new(PanWindow *pw, gint x, gint y, const gchar *text,
- PanTextAttrType attr, PanBorderType border,
- guint8 r, guint8 g, guint8 b, guint8 a)
+ PanTextAttrType attr, PanBorderType border, const PanColor &color)
{
PanItem *pi;
pi->text = g_strdup(text);
pi->text_attr = attr;
- pi->color_r = r;
- pi->color_g = g;
- pi->color_b = b;
- pi->color_a = a;
+ pi->color = color;
pi->border = border;
layout = pan_item_text_layout(pi, reinterpret_cast<GtkWidget *>(pr));
pixbuf_draw_layout(pixbuf, layout, reinterpret_cast<GtkWidget *>(pr),
pi->x - x + pi->border, pi->y - y + pi->border,
- pi->color_r, pi->color_g, pi->color_b, pi->color_a);
+ pi->color.r, pi->color.g, pi->color.b, pi->color.a);
g_object_unref(G_OBJECT(layout));
return FALSE;
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- PAN_OUTLINE_COLOR_1, PAN_OUTLINE_ALPHA);
+ PAN_OUTLINE_COLOR_1);
}
if (util_clip_region(x, y, width, height,
tx, ty, PAN_OUTLINE_THICKNESS, th,
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- PAN_OUTLINE_COLOR_1, PAN_OUTLINE_ALPHA);
+ PAN_OUTLINE_COLOR_1);
}
if (util_clip_region(x, y, width, height,
tx + tw - PAN_OUTLINE_THICKNESS, ty + PAN_OUTLINE_THICKNESS,
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- PAN_OUTLINE_COLOR_2, PAN_OUTLINE_ALPHA);
+ PAN_OUTLINE_COLOR_2);
}
if (util_clip_region(x, y, width, height,
tx + PAN_OUTLINE_THICKNESS, ty + th - PAN_OUTLINE_THICKNESS,
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- PAN_OUTLINE_COLOR_2, PAN_OUTLINE_ALPHA);
+ PAN_OUTLINE_COLOR_2);
}
}
else
pi->x = x;
pi->y = y;
- pi->color_a = 255;
+ pi->color.a = 255;
- pi->color2_r = 0;
- pi->color2_g = 0;
- pi->color2_b = 0;
- pi->color2_a = PAN_SHADOW_ALPHA / 2;
+ pi->color2.r = 0;
+ pi->color2.g = 0;
+ pi->color2.b = 0;
+ pi->color2.a = PAN_SHADOW_ALPHA / 2;
pan_item_image_find_size(pw, pi, w, h);
static_cast<gdouble>(pi->x) - x,
static_cast<gdouble>(pi->y) - y,
1.0, 1.0, GDK_INTERP_NEAREST,
- pi->color_a);
+ pi->color.a);
}
else
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- pi->color2_r, pi->color2_g, pi->color2_b, pi->color2_a);
+ pi->color2.r, pi->color2.g, pi->color2.b, pi->color2.a);
}
}
if (label)
{
item = pan_item_text_new(ta->pw, ta->x, ta->y, label,
- PAN_TEXT_ATTR_BOLD, PAN_BORDER_NONE,
- PAN_POPUP_TEXT_COLOR, 255);
+ PAN_TEXT_ATTR_BOLD, PAN_BORDER_NONE, PAN_POPUP_TEXT_COLOR);
pan_item_set_key(item, ta->key);
}
else
if (text)
{
item = pan_item_text_new(ta->pw, ta->x, ta->y, text,
- PAN_TEXT_ATTR_NONE, PAN_BORDER_NONE,
- PAN_POPUP_TEXT_COLOR, 255);
+ PAN_TEXT_ATTR_NONE, PAN_BORDER_NONE, PAN_POPUP_TEXT_COLOR);
pan_item_set_key(item, ta->key);
}
else
// Item box type
PanItem *pan_item_box_new(PanWindow *pw, FileData *fd, gint x, gint y, gint width, gint height,
- gint border_size,
- guint8 base_r, guint8 base_g, guint8 base_b, guint8 base_a,
- guint8 bord_r, guint8 bord_g, guint8 bord_b, guint8 bord_a);
+ gint border_size, const PanColor &base, const PanColor &bord);
void pan_item_box_shadow(PanItem *pi, gint offset, gint fade);
gint pan_item_box_draw(PanWindow *pw, PanItem *pi, GdkPixbuf *pixbuf, PixbufRenderer *pr,
gint x, gint y, gint width, gint height);
// Item triangle type
PanItem *pan_item_tri_new(PanWindow *pw, FileData *fd, gint x, gint y, gint width, gint height,
- gint x1, gint y1, gint x2, gint y2, gint x3, gint y3,
- guint8 r, guint8 g, guint8 b, guint8 a);
-void pan_item_tri_border(PanItem *pi, gint borders,
- guint8 r, guint8 g, guint8 b, guint8 a);
+ gint x1, gint y1, gint x2, gint y2, gint x3, gint y3,
+ const PanColor &color);
+void pan_item_tri_border(PanItem *pi, gint borders, const PanColor &color);
gint pan_item_tri_draw(PanWindow *pw, PanItem *pi, GdkPixbuf *pixbuf, PixbufRenderer *pr,
gint x, gint y, gint width, gint height);
// Item text type
PanItem *pan_item_text_new(PanWindow *pw, gint x, gint y, const gchar *text,
- PanTextAttrType attr, PanBorderType border,
- guint8 r, guint8 g, guint8 b, guint8 a);
+ PanTextAttrType attr, PanBorderType border, const PanColor &color);
gint pan_item_text_draw(PanWindow *pw, PanItem *pi, GdkPixbuf *pixbuf, PixbufRenderer *pr,
gint x, gint y, gint width, gint height);
pi = pan_item_text_new(pw, x, y, buf,
static_cast<PanTextAttrType>(PAN_TEXT_ATTR_BOLD | PAN_TEXT_ATTR_HEADING),
PAN_BORDER_3,
- PAN_TEXT_COLOR, 255);
+ {PAN_TEXT_COLOR, 255});
g_free(buf);
y += pi->height;
pi_month = pan_item_box_new(pw, file_data_ref(fd),
x, y, 0, 0,
PAN_BOX_OUTLINE_THICKNESS,
- PAN_BOX_COLOR, PAN_BOX_ALPHA,
- PAN_BOX_OUTLINE_COLOR, PAN_BOX_OUTLINE_ALPHA);
+ {PAN_BOX_COLOR, PAN_BOX_ALPHA},
+ {PAN_BOX_OUTLINE_COLOR, PAN_BOX_OUTLINE_ALPHA});
x += PAN_BOX_BORDER;
y += PAN_BOX_BORDER;
buf = pan_date_value_string(fd->date, PAN_DATE_LENGTH_WEEK);
pi = pan_item_text_new(pw, x, y, buf, PAN_TEXT_ATTR_NONE,
PAN_BORDER_3,
- PAN_TEXT_COLOR, 255);
+ {PAN_TEXT_COLOR, 255});
g_free(buf);
y += pi->height;
pi_day = pan_item_box_new(pw, file_data_ref(fd), x, y, 0, 0,
PAN_BOX_OUTLINE_THICKNESS,
- PAN_BOX_COLOR, PAN_BOX_ALPHA,
- PAN_BOX_OUTLINE_COLOR, PAN_BOX_OUTLINE_ALPHA);
+ {PAN_BOX_COLOR, PAN_BOX_ALPHA},
+ {PAN_BOX_OUTLINE_COLOR, PAN_BOX_OUTLINE_ALPHA});
x += PAN_BOX_BORDER;
y += PAN_BOX_BORDER;
#define PAN_SHADOW_COLOR 0, 0, 0
#define PAN_SHADOW_ALPHA 64
-#define PAN_OUTLINE_THICKNESS 1
-#define PAN_OUTLINE_COLOR_1 255, 255, 255
-#define PAN_OUTLINE_COLOR_2 64, 64, 64
-#define PAN_OUTLINE_ALPHA 180
-
-#define PAN_BACKGROUND_COLOR 150, 150, 150
-
-#define PAN_GRID_SIZE 60
-#define PAN_GRID_COLOR 0, 0, 0
-#define PAN_GRID_ALPHA 20
-
#define PAN_BOX_COLOR 255, 255, 255
#define PAN_BOX_ALPHA 100
#define PAN_BOX_BORDER 20
#define PAN_BOX_OUTLINE_COLOR 0, 0, 0
#define PAN_BOX_OUTLINE_ALPHA 128
-#define PAN_TEXT_BORDER_SIZE 4
#define PAN_TEXT_COLOR 0, 0, 0
-/* popup info box */
-
-#define PAN_POPUP_COLOR 255, 255, 225
-#define PAN_POPUP_ALPHA 255
-#define PAN_POPUP_BORDER 1
-#define PAN_POPUP_BORDER_COLOR 0, 0, 0
-#define PAN_POPUP_TEXT_COLOR 0, 0, 0
-
#define PAN_GROUP_MAX 16
#define PAN_BORDER_LEFT PAN_BORDER_4
+struct PanColor {
+ guint8 r;
+ guint8 g;
+ guint8 b;
+ guint8 a;
+};
+
struct PanItem {
PanItemType type;
gint x;
gchar *text;
PanTextAttrType text_attr;
- guint8 color_r;
- guint8 color_g;
- guint8 color_b;
- guint8 color_a;
+ PanColor color;
- guint8 color2_r;
- guint8 color2_g;
- guint8 color2_b;
- guint8 color2_a;
+ PanColor color2;
gint border;
gpointer data;
namespace
{
+constexpr gint PAN_WINDOW_DEFAULT_WIDTH = 720;
+constexpr gint PAN_WINDOW_DEFAULT_HEIGHT = 500;
+
constexpr gint PAN_TILE_SIZE = 512;
+
+constexpr gdouble ZOOM_INCREMENT = 1.0;
constexpr gint ZOOM_LABEL_WIDTH = 64;
-} // namespace
+constexpr gint PAN_GRID_SIZE = 60;
+constexpr gint PAN_GRID_ALPHA = 20;
+#define PAN_GRID_COLOR 0, 0, 0, PAN_GRID_ALPHA
-enum {
- PAN_WINDOW_DEFAULT_WIDTH = 720,
- PAN_WINDOW_DEFAULT_HEIGHT = 500
-};
+#define PAN_BACKGROUND_COLOR 150, 150, 150, 255
+
+/* popup info box */
+constexpr gint PAN_POPUP_BORDER = 1;
+constexpr guint8 PAN_POPUP_ALPHA = 255;
+constexpr PanColor PAN_POPUP_COLOR{255, 255, 225, PAN_POPUP_ALPHA};
+constexpr PanColor PAN_POPUP_BORDER_COLOR{0, 0, 0, PAN_POPUP_ALPHA};
-#define ZOOM_INCREMENT 1.0
+} // namespace
#define PAN_PREF_GROUP "pan_view_options"
#define PAN_PREF_HIDE_WARNING "hide_performance_warning"
pixbuf_set_rect_fill(pixbuf,
0, 0, width, height,
- PAN_BACKGROUND_COLOR, 255);
+ PAN_BACKGROUND_COLOR);
for (i = (x / PAN_GRID_SIZE) * PAN_GRID_SIZE; i < x + width; i += PAN_GRID_SIZE)
{
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- PAN_GRID_COLOR, PAN_GRID_ALPHA);
+ PAN_GRID_COLOR);
}
}
for (i = (y / PAN_GRID_SIZE) * PAN_GRID_SIZE; i < y + height; i += PAN_GRID_SIZE)
{
pixbuf_draw_rect_fill(pixbuf,
rx - x, ry - y, rw, rh,
- PAN_GRID_COLOR, PAN_GRID_ALPHA);
+ PAN_GRID_COLOR);
}
}
DEBUG_1("info set to %s", pi->fd->path);
pbox = pan_item_box_new(pw, nullptr, pi->x + pi->width + 4, pi->y, 10, 10,
- PAN_POPUP_BORDER,
- PAN_POPUP_COLOR, PAN_POPUP_ALPHA,
- PAN_POPUP_BORDER_COLOR, PAN_POPUP_ALPHA);
+ PAN_POPUP_BORDER, PAN_POPUP_COLOR, PAN_POPUP_BORDER_COLOR);
pan_item_set_key(pbox, "info");
if (pi->type == PAN_ITEM_THUMB && pi->pixbuf)
p = pan_item_tri_new(pw, nullptr, x, y, w, h,
x1, y1, x2, y2, x3, y3,
- PAN_POPUP_COLOR, PAN_POPUP_ALPHA);
- pan_item_tri_border(p, PAN_BORDER_1 | PAN_BORDER_3, PAN_POPUP_BORDER_COLOR, PAN_POPUP_ALPHA);
+ PAN_POPUP_COLOR);
+ pan_item_tri_border(p, PAN_BORDER_1 | PAN_BORDER_3, PAN_POPUP_BORDER_COLOR);
pan_item_set_key(p, "info");
pan_item_added(pw, p);
ih = MAX(1, ih * scale / 100);
pbox = pan_item_box_new(pw, nullptr, pbox->x, pbox->y + pbox->height + 8, 10, 10,
- PAN_POPUP_BORDER,
- PAN_POPUP_COLOR, PAN_POPUP_ALPHA,
- PAN_POPUP_BORDER_COLOR, PAN_POPUP_ALPHA);
+ PAN_POPUP_BORDER, PAN_POPUP_COLOR, PAN_POPUP_BORDER_COLOR);
pan_item_set_key(pbox, "info");
p = pan_item_image_new(pw, file_data_new_group(pi->fd->path),