#ifndef _EOM_SCROLL_VIEW_H_ #define _EOM_SCROLL_VIEW_H_ #include #include "eom-image.h" G_BEGIN_DECLS typedef struct _EomScrollView EomScrollView; typedef struct _EomScrollViewClass EomScrollViewClass; typedef struct _EomScrollViewPrivate EomScrollViewPrivate; #define EOM_TYPE_SCROLL_VIEW (eom_scroll_view_get_type ()) #define EOM_SCROLL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EOM_TYPE_SCROLL_VIEW, EomScrollView)) #define EOM_SCROLL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EOM_TYPE_SCROLL_VIEW, EomScrollViewClass)) #define EOM_IS_SCROLL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EOM_TYPE_SCROLL_VIEW)) #define EOM_IS_SCROLL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EOM_TYPE_SCROLL_VIEW)) struct _EomScrollView { #if GTK_CHECK_VERSION (3, 4, 0) GtkGrid base_instance; #else GtkTable widget; #endif EomScrollViewPrivate *priv; }; struct _EomScrollViewClass { #if GTK_CHECK_VERSION (3, 4, 0) GtkGridClass parent_class; #else GtkTableClass parent_class; #endif void (* zoom_changed) (EomScrollView *view, double zoom); }; typedef enum { EOM_TRANSP_BACKGROUND, EOM_TRANSP_CHECKED, EOM_TRANSP_COLOR } EomTransparencyStyle; GType eom_scroll_view_get_type (void) G_GNUC_CONST; GtkWidget* eom_scroll_view_new (void); /* loading stuff */ void eom_scroll_view_set_image (EomScrollView *view, EomImage *image); /* general properties */ void eom_scroll_view_set_scroll_wheel_zoom (EomScrollView *view, gboolean scroll_wheel_zoom); void eom_scroll_view_set_zoom_upscale (EomScrollView *view, gboolean upscale); void eom_scroll_view_set_zoom_multiplier (EomScrollView *view, gdouble multiplier); void eom_scroll_view_set_antialiasing_in (EomScrollView *view, gboolean state); void eom_scroll_view_set_antialiasing_out (EomScrollView *view, gboolean state); void eom_scroll_view_set_transparency_color (EomScrollView *view, GdkColor *color); void eom_scroll_view_set_transparency (EomScrollView *view, EomTransparencyStyle style); gboolean eom_scroll_view_scrollbars_visible (EomScrollView *view); void eom_scroll_view_set_popup (EomScrollView *view, GtkMenu *menu); void eom_scroll_view_set_background_color (EomScrollView *view, const GdkColor *color); void eom_scroll_view_override_bg_color (EomScrollView *view, const GdkColor *color); void eom_scroll_view_set_use_bg_color (EomScrollView *view, gboolean use); /* zoom api */ void eom_scroll_view_zoom_in (EomScrollView *view, gboolean smooth); void eom_scroll_view_zoom_out (EomScrollView *view, gboolean smooth); void eom_scroll_view_zoom_fit (EomScrollView *view); void eom_scroll_view_set_zoom (EomScrollView *view, double zoom); double eom_scroll_view_get_zoom (EomScrollView *view); gboolean eom_scroll_view_get_zoom_is_min (EomScrollView *view); gboolean eom_scroll_view_get_zoom_is_max (EomScrollView *view); void eom_scroll_view_show_cursor (EomScrollView *view); void eom_scroll_view_hide_cursor (EomScrollView *view); G_END_DECLS #endif /* _EOM_SCROLL_VIEW_H_ */