https://github.com/BestImageViewer/geeqie/issues/233
In the change from v1.1 to v1.2 (GTK3 and cairo were part of this), the
custom border was ignored and simply set to black.
Perhaps it was not possible to get a "good" solution with the current
design.
Possibly this change is not the best solution, but nevertheless it
should be sufficient until a better version is produced.
pr->stereo_mode = PR_STEREO_NONE;
pr->stereo_mode = PR_STEREO_NONE;
+ pr->color.red =0;
+ pr->color.green =0;
+ pr->color.blue =0;
+
pr->renderer = pr_backend_renderer_new(pr);
pr->renderer2 = NULL;
pr->renderer = pr_backend_renderer_new(pr);
pr->renderer2 = NULL;
g_return_if_fail(IS_PIXBUF_RENDERER(pr));
g_return_if_fail(IS_PIXBUF_RENDERER(pr));
- widget = GTK_WIDGET(pr);
-
- if (color) {
- GdkColor *slot;
-
- style = gtk_style_copy(gtk_widget_get_style(widget));
- slot = &style->bg[GTK_STATE_NORMAL];
-
- slot->red = color->red;
- slot->green = color->green;
- slot->blue = color->blue;
+ if (color)
+ {
+ pr->color.red = color->red;
+ pr->color.green = color->green;
+ pr->color.blue = color->blue;
+ }
+ else
+ {
+ pr->color.red = 0;
+ pr->color.green = 0;
+ pr->color.blue = 0;
- else {
- style = gtk_style_copy(gtk_widget_get_default_style());
- }
-
- gtk_widget_set_style(widget, style);
pr->renderer->update_viewport(pr->renderer);
if (pr->renderer2) pr->renderer2->update_viewport(pr->renderer2);
pr->renderer->update_viewport(pr->renderer);
if (pr->renderer2) pr->renderer2->update_viewport(pr->renderer2);
gboolean autofit_limit;
gint autofit_limit_size;
gboolean autofit_limit;
gint autofit_limit_size;
/*< private >*/
gboolean in_drag;
/*< private >*/
gboolean in_drag;
pr->viewport_width, pr->viewport_height,
&rx, &ry, &rw, &rh))
{
pr->viewport_width, pr->viewport_height,
&rx, &ry, &rw, &rh))
{
- cairo_set_source_rgb(cr, 0, 0, 0);
+ cairo_set_source_rgb(cr, (double)pr->color.red/65535, (double)pr->color.green/65535, (double)pr->color.blue/65535);
cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
cairo_fill(cr);
cairo_destroy(cr);
cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
cairo_fill(cr);
cairo_destroy(cr);
pr->x_offset, pr->viewport_height,
&rx, &ry, &rw, &rh))
{
pr->x_offset, pr->viewport_height,
&rx, &ry, &rw, &rh))
{
- cairo_set_source_rgb(cr, 0, 0, 0);
+ cairo_set_source_rgb(cr, (double)pr->color.red/65535, (double)pr->color.green/65535, (double)pr->color.blue/65535);
cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
cairo_fill(cr);
rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
cairo_fill(cr);
rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
pr->viewport_width - pr->vis_width - pr->x_offset, pr->viewport_height,
&rx, &ry, &rw, &rh))
{
pr->viewport_width - pr->vis_width - pr->x_offset, pr->viewport_height,
&rx, &ry, &rw, &rh))
{
- cairo_set_source_rgb(cr, 0, 0, 0);
+ cairo_set_source_rgb(cr, (double)pr->color.red/65535, (double)pr->color.green/65535, (double)pr->color.blue/65535);
cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
cairo_fill(cr);
rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
cairo_fill(cr);
rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
pr->vis_width, pr->y_offset,
&rx, &ry, &rw, &rh))
{
pr->vis_width, pr->y_offset,
&rx, &ry, &rw, &rh))
{
- cairo_set_source_rgb(cr, 0, 0, 0);
+ cairo_set_source_rgb(cr, (double)pr->color.red/65535, (double)pr->color.green/65535, (double)pr->color.blue/65535);
cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
cairo_fill(cr);
rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
cairo_fill(cr);
rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
pr->vis_width, pr->viewport_height - pr->vis_height - pr->y_offset,
&rx, &ry, &rw, &rh))
{
pr->vis_width, pr->viewport_height - pr->vis_height - pr->y_offset,
&rx, &ry, &rw, &rh))
{
- cairo_set_source_rgb(cr, 0, 0, 0);
+ cairo_set_source_rgb(cr, (double)pr->color.red/65535, (double)pr->color.green/65535, (double)pr->color.blue/65535);
cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
cairo_fill(cr);
rt_overlay_draw(rt, rx, ry, rw, rh, NULL);
cairo_rectangle(cr, rx + rt->stereo_off_x, ry + rt->stereo_off_y, rw, rh);
cairo_fill(cr);
rt_overlay_draw(rt, rx, ry, rw, rh, NULL);