#ifndef PIXBUF_RENDERER_H
#define PIXBUF_RENDERER_H
+#include <gdk-pixbuf/gdk-pixbuf.h>
+#include <gdk/gdk.h>
+#include <glib-object.h>
+#include <glib.h>
#include <gtk/gtk.h>
#include "typedefs.h"
+struct PixbufRenderer;
+
#define TYPE_PIXBUF_RENDERER (pixbuf_renderer_get_type())
#define PIXBUF_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), TYPE_PIXBUF_RENDERER, PixbufRenderer))
#define PIXBUF_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), TYPE_PIXBUF_RENDERER, PixbufRendererClass))
#define ROUND_DOWN(A,B) ((gint)(((A))/(B))*(B))
-struct RendererFuncs;
-
-struct PixbufRenderer;
-struct PixbufRendererClass;
-
-
using PixbufRendererTileRequestFunc = gint (*)(PixbufRenderer *, gint, gint, gint, gint, GdkPixbuf *, gpointer);
using PixbufRendererTileDisposeFunc = void (*)(PixbufRenderer *, gint, gint, gint, gint, GdkPixbuf *, gpointer);
using PixbufRendererPostProcessFunc = void (*)(PixbufRenderer *, GdkPixbuf **, gint, gint, gint, gint, gpointer);
-enum PixbufRendererScrollResetType {
- PR_SCROLL_RESET_TOPLEFT = 0,
- PR_SCROLL_RESET_CENTER,
- PR_SCROLL_RESET_NOCHANGE,
- PR_SCROLL_RESET_COUNT,
-};
-
enum ImageRenderType {
TILE_RENDER_NONE = 0, /**< do nothing */
TILE_RENDER_AREA, /**< render an area of the tile */
gint y_scroll;
gdouble norm_center_x; /**< coordinates of viewport center in the image, in range 0.0 - 1.0 */
- gdouble norm_center_y; /**< these coordinates are used for PR_SCROLL_RESET_NOCHANGE and should be preserved over periods with NULL pixbuf */
+ gdouble norm_center_y; /**< these coordinates are used for ScrollReset::NOCHANGE and should be preserved over periods with NULL pixbuf */
gdouble subpixel_x_scroll; /**< subpixel scroll alignment, used to prevent accumulation of rounding errors */
gdouble subpixel_y_scroll;
gboolean zoom_2pass;
gboolean zoom_expand;
- PixbufRendererScrollResetType scroll_reset;
+ ScrollReset scroll_reset;
gboolean has_frame;