From 4e8b4b4da36dd24ed5d3a19918dfcfdcc9840fac Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Sat, 23 Apr 2005 17:13:40 +0000 Subject: Add Continuous and Dual page modes. Sat Apr 23 13:13:04 2005 Jonathan Blandford * TODO: * backend/ev-page-cache.c: (_ev_page_cache_new), (ev_page_cache_get_max_width_size), (ev_page_cache_get_max_height_size): * backend/ev-page-cache.h: * data/evince-ui.xml: * shell/ev-pixbuf-cache.c: (ev_pixbuf_cache_init): * shell/ev-view.c: (view_update_adjustments), (view_update_range_and_current_page), (get_bounding_box_size), (ev_view_size_request_continuous_and_dual_page), (ev_view_size_request_continuous), (ev_view_size_request_dual_page), (ev_view_size_request_single_page), (ev_view_size_request), (ev_view_size_allocate), (get_page_extents), (draw_one_page), (ev_view_bin_expose), (ev_view_expose_event), (ev_view_set_property), (ev_view_get_property), (ev_view_class_init), (ev_view_init), (ev_view_new), (page_changed_cb), (ev_view_zoom), (ev_view_set_continuous), (ev_view_set_dual_page), (ev_view_set_full_screen), (ev_view_set_presentation), (ev_view_set_sizing_mode), (ev_view_can_zoom_in), (ev_view_can_zoom_out), (ev_view_zoom_in), (ev_view_zoom_out), (zoom_for_size_fit_width), (zoom_for_size_best_fit), (ev_view_zoom_for_size_continuous_and_dual_page), (ev_view_zoom_for_size_continuous), (ev_view_zoom_for_size_dual_page), (ev_view_zoom_for_size_single_page), (ev_view_set_zoom_for_size), (ev_view_show_cursor), (ev_sizing_mode_get_type): * shell/ev-view.h: * shell/ev-window.c: (update_action_sensitivity), (ev_window_cmd_continuous), (ev_window_cmd_dual), (ev_window_cmd_view_best_fit), (ev_window_cmd_view_page_width), (update_sizing_buttons), (ev_window_cmd_view_zoom_in), (ev_window_cmd_view_zoom_out), (update_view_size), (ev_window_set_sizing_mode), (ev_window_init): Add Continuous and Dual page modes. --- (limited to 'shell/ev-view.h') diff --git a/shell/ev-view.h b/shell/ev-view.h index a10f0bc..3c4fdbb 100644 --- a/shell/ev-view.h +++ b/shell/ev-view.h @@ -28,13 +28,22 @@ G_BEGIN_DECLS #define EV_TYPE_VIEW (ev_view_get_type ()) +#define EV_TYPE_SIZING_MODE (ev_sizing_mode_get_type()) #define EV_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EV_TYPE_VIEW, EvView)) #define EV_IS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EV_TYPE_VIEW)) typedef struct _EvView EvView; typedef struct _EvViewClass EvViewClass; + +typedef enum { + EV_SIZING_BEST_FIT, + EV_SIZING_FIT_WIDTH, + EV_SIZING_FREE, +} EvSizingMode; + GType ev_view_get_type (void) G_GNUC_CONST; +GType ev_sizing_mode_get_type (void) G_GNUC_CONST; GtkWidget* ev_view_new (void); void ev_view_set_document (EvView *view, EvDocument *document); @@ -43,11 +52,32 @@ void ev_view_set_document (EvView *view, void ev_view_copy (EvView *view); void ev_view_select_all (EvView *view); + +/* sizing and behavior */ +/* These are all orthoganal to each other, with the exception of 'presentation' + */ +void ev_view_set_continuous (EvView *view, + gboolean continuous); +void ev_view_set_dual_page (EvView *view, + gboolean dual_page); +void ev_view_set_full_screen (EvView *view, + gboolean full_screen); +void ev_view_set_presentation (EvView *view, + gboolean presentation); +void ev_view_set_sizing_mode (EvView *view, + EvSizingMode mode); + + /* Page size */ gboolean ev_view_can_zoom_in (EvView *view); void ev_view_zoom_in (EvView *view); gboolean ev_view_can_zoom_out (EvView *view); void ev_view_zoom_out (EvView *view); +void ev_view_set_zoom_for_size (EvView *view, + int width, + int height, + int vsb_width, + int hsb_height); void ev_view_zoom_normal (EvView *view); void ev_view_set_size (EvView *view, int width, -- cgit v0.9.1