#include <gtk/gtk.h>
-#ifdef HAVE_CLUTTER
-/* FIXME: make this configurable */
-#define RENDERER_NEW(pr) renderer_clutter_new(pr)
-#else
-#define RENDERER_NEW(pr) renderer_tiles_new(pr)
-#endif
-
/* comment this out if not using this from within Geeqie
* defining GQ_BUILD does these things:
* - Sets the shift-click scroller pixbuf to a nice icon instead of a black box
G_TYPE_NONE, 0);
}
+static RendererFuncs *pr_backend_renderer_new(PixbufRenderer *pr)
+{
+ if (options->image.use_clutter_renderer)
+ {
+#ifdef HAVE_CLUTTER
+ return renderer_clutter_new(pr);
+#else
+ DEBUG_0("Geeqie is built without clutter renderer support");
+#endif
+ }
+ return renderer_tiles_new(pr);
+}
+
+
static void pixbuf_renderer_init(PixbufRenderer *pr)
{
GtkWidget *box;
pr->stereo_mode = PR_STEREO_NONE;
- pr->renderer = RENDERER_NEW(pr);
+ pr->renderer = pr_backend_renderer_new(pr);
pr->renderer2 = NULL;
static void pr_stereo_set(PixbufRenderer *pr)
{
- if (!pr->renderer) pr->renderer = RENDERER_NEW(pr);
+ if (!pr->renderer) pr->renderer = pr_backend_renderer_new(pr);
pr->renderer->stereo_set(pr->renderer, pr->stereo_mode & ~PR_STEREO_MIRROR_RIGHT & ~PR_STEREO_FLIP_RIGHT);
if (pr->stereo_mode & (PR_STEREO_HORIZ | PR_STEREO_VERT | PR_STEREO_FIXED))
{
- if (!pr->renderer2) pr->renderer2 = RENDERER_NEW(pr);
+ if (!pr->renderer2) pr->renderer2 = pr_backend_renderer_new(pr);
pr->renderer2->stereo_set(pr->renderer2, (pr->stereo_mode & ~PR_STEREO_MIRROR_LEFT & ~PR_STEREO_FLIP_LEFT) | PR_STEREO_RIGHT);
}
else
pr->stereo_temp_disable = disable;
if (disable)
{
- if (!pr->renderer) pr->renderer = RENDERER_NEW(pr);
+ if (!pr->renderer) pr->renderer = pr_backend_renderer_new(pr);
pr->renderer->stereo_set(pr->renderer, PR_STEREO_NONE);
if (pr->renderer2) pr->renderer2->free(pr->renderer2);
pr->renderer2 = NULL;