diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2009-01-18 11:53:54 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@src.gnome.org> | 2009-01-18 11:53:54 (GMT) |
commit | 68d0fc3c59185065d9694ba3f8cb2665b984eb9f (patch) | |
tree | 1c3495114d26e1b9d201c557c351d5cf3996f925 /shell/ev-view-private.h | |
parent | 51e1ae36121928f84940b8e8dcb317f87157933b (diff) |
Move EvView specific code to a libeviview library so that it can be
2009-01-18 Carlos Garcia Campos <carlosgc@gnome.org>
* configure.ac:
* Makefile.am:
* libdocument/Makefile.am:
* libview/Makefile.am:
* libview/ev-job-scheduler.[ch]:
* libview/ev-jobs.[ch]:
* libview/ev-page-cache.[ch]:
* libview/ev-pixbuf-cache.[ch]:
* libview/ev-timeline.[ch]:
* libview/ev-transition-animation.[ch]:
* libview/ev-view-accessible.[ch]:
* libview/ev-view-marshal.list:
* libview/ev-view.[ch]:
* shell/Makefile.am:
Move EvView specific code to a libeviview library so that it can
be embbeded in other applications. Based on patches by Tomeu
Vizoso. Fixes bug #567751.
svn path=/trunk/; revision=3348
Diffstat (limited to 'shell/ev-view-private.h')
-rw-r--r-- | shell/ev-view-private.h | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/shell/ev-view-private.h b/shell/ev-view-private.h deleted file mode 100644 index c894440..0000000 --- a/shell/ev-view-private.h +++ /dev/null @@ -1,195 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; c-indent-level: 8 -*- */ -/* this file is part of evince, a gnome document viewer - * - * Copyright (C) 2004 Red Hat, Inc - * - * Evince is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * Evince is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef __EV_VIEW_PRIVATE_H__ -#define __EV_VIEW_PRIVATE_H__ - -#include "ev-view.h" -#include "ev-pixbuf-cache.h" -#include "ev-page-cache.h" -#include "ev-jobs.h" -#include "ev-image.h" -#include "ev-form-field.h" -#include "ev-selection.h" -#include "ev-transition-animation.h" - -#define DRAG_HISTORY 10 - -/* Information for middle clicking and moving around the doc */ -typedef struct { - gboolean in_drag; - GdkPoint start; - gdouble hadj; - gdouble vadj; - guint drag_timeout_id; - guint release_timeout_id; - GdkPoint buffer[DRAG_HISTORY]; - GdkPoint momentum; -} DragInfo; - -/* Autoscrolling */ -typedef struct { - gboolean autoscrolling; - guint last_y; - guint start_y; - guint timeout_id; -} AutoScrollInfo; - -/* Information for handling selection */ -typedef struct { - gboolean in_drag; - GdkPoint start; - gboolean in_selection; - GList *selections; - EvSelectionStyle style; -} SelectionInfo; - -/* Information for handling images DND */ -typedef struct { - gboolean in_drag; - GdkPoint start; - EvImage *image; -} ImageDNDInfo; - -typedef enum { - SCROLL_TO_KEEP_POSITION, - SCROLL_TO_PAGE_POSITION, - SCROLL_TO_CENTER, - SCROLL_TO_FIND_LOCATION, -} PendingScroll; - -typedef enum { - EV_VIEW_CURSOR_NORMAL, - EV_VIEW_CURSOR_IBEAM, - EV_VIEW_CURSOR_LINK, - EV_VIEW_CURSOR_WAIT, - EV_VIEW_CURSOR_HIDDEN, - EV_VIEW_CURSOR_DRAG, - EV_VIEW_CURSOR_AUTOSCROLL, -} EvViewCursor; - -typedef enum { - EV_PRESENTATION_NORMAL, - EV_PRESENTATION_BLACK, - EV_PRESENTATION_WHITE, - EV_PRESENTATION_END -} EvPresentationState; - -struct _EvView { - GtkLayout layout; - - EvDocument *document; - - /* Find */ - GList **find_pages; - gint find_result; - gboolean jump_to_find_result; - gboolean highlight_find_results; - - EvPageCache *page_cache; - EvPixbufCache *pixbuf_cache; - EvViewCursor cursor; - EvJobRender *current_job; - - /* Scrolling */ - GtkAdjustment *hadjustment; - GtkAdjustment *vadjustment; - - gint scroll_x; - gint scroll_y; - - PendingScroll pending_scroll; - gboolean pending_resize; - EvPoint pending_point; - - /* Current geometry */ - - gint start_page; - gint end_page; - gint current_page; - - gint rotation; - gdouble scale; - gint spacing; - gdouble dpi; - gdouble max_scale; - gdouble min_scale; - - gboolean loading; - gboolean continuous; - gboolean dual_page; - gboolean fullscreen; - gboolean presentation; - EvSizingMode sizing_mode; - cairo_surface_t *loading_text; - - /* Presentation */ - EvPresentationState presentation_state; - EvSizingMode sizing_mode_saved; - double scale_saved; - guint trans_timeout_id; - - /* Common for button press handling */ - int pressed_button; - - /* Information for middle clicking and dragging around. */ - DragInfo drag_info; - - /* Autoscrolling */ - AutoScrollInfo scroll_info; - - /* Selection */ - GdkPoint motion; - guint selection_update_id; - guint selection_scroll_id; - - EvViewSelectionMode selection_mode; - SelectionInfo selection_info; - - /* Copy link address selection */ - EvLinkAction *link_selected; - - /* Image DND */ - ImageDNDInfo image_dnd_info; - - /* Goto Popup */ - GtkWidget *goto_window; - GtkWidget *goto_entry; - - EvTransitionAnimation *animation; -}; - -struct _EvViewClass { - GtkLayoutClass parent_class; - - void (*binding_activated) (EvView *view, - GtkScrollType scroll, - gboolean horizontal); - void (*zoom_invalid) (EvView *view); - void (*handle_link) (EvView *view, - EvLink *link); - void (*external_link) (EvView *view, - EvLinkAction *action); - void (*popup_menu) (EvView *view, - EvLink *link); -}; - -#endif /* __EV_VIEW_PRIVATE_H__ */ - |