1/*
2 * Author:      William Chia-Wei Cheng (bill.cheng@acm.org)
3 *
4 * Copyright (C) 2001-2009, William Chia-Wei Cheng.
5 *
6 * This file may be distributed under the terms of the Q Public License
7 * as defined by Trolltech AS of Norway and appearing in the file
8 * LICENSE.QPL included in the packaging of this file.
9 *
10 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING
11 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
12 * PURPOSE.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,
13 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
14 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
15 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
16 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 *
18 * @(#)$Header: /mm2/home/cvs/bc-src/tgif/scroll.e,v 1.6 2011/05/16 16:21:59 william Exp $
19 */
20
21#ifndef _SCROLL_E_
22#define _SCROLL_E_
23
24extern int	autoPan;
25
26extern int	scrollingCanvas;
27extern int	smoothScrollingCanvas;
28
29extern int	resetOriginOnAdvancePage;
30
31#ifdef _INCLUDE_FROM_SCROLL_C_
32#undef extern
33#define extern
34#endif /*_INCLUDE_FROM_SCROLL_C_*/
35
36extern int	TgAnyButtonDown ARGS_DECL((Display*, Window));
37extern int	TgPressButtonLoop ARGS_DECL((Display*, Window, struct BBRec *,
38		                             ScrollBtnCallbackInfo*));
39extern int	TgGetScrollHit ARGS_DECL((int x, int y, int orientation,
40		                          int scroll_area_w, int scroll_area_h,
41		                          double start_frac, int length,
42		                          int total, int *pn_offset));
43extern void	TgDrawScrollBar ARGS_DECL((Display*, Window, int orientation,
44		                           int x_off, int y_off,
45		                           int scroll_area_w, int scroll_area_h,
46		                           double start_frac, int length,
47		                           int total));
48extern void	RedrawVScrollWindow ARGS_DECL((void));
49extern void	RedrawHScrollWindow ARGS_DECL((void));
50extern void	RedrawScrollBars ARGS_DECL((void));
51extern void	GetMaxScrollOrigin ARGS_DECL((int *pn_orig_x, int *pn_orig_y));
52extern void	ScrollTo ARGS_DECL((int XOff, int YOff));
53extern void	ScrollUp ARGS_DECL((XButtonEvent *));
54extern void	ForceScrollDown ARGS_DECL((int));
55extern void	ScrollDown ARGS_DECL((XButtonEvent *));
56extern void	ScrollLeft ARGS_DECL((XButtonEvent *));
57extern void	ScrollRight ARGS_DECL((XButtonEvent *));
58extern void	ScrollEventHandler ARGS_DECL((XEvent *));
59extern void	ScrollToSpecifiedOrigin ARGS_DECL((int page_num, int orig_x,
60		                                   int orig_y, int zoom_scale,
61		                                   int zoomed_in));
62extern int	ScrollToOrigin ARGS_DECL((void));
63extern void	SaveOrigin ARGS_DECL((void));
64extern void	SetOrigin ARGS_DECL((int x, int y, int zoom_scale,
65		                     int zoomed_in));
66extern void	GetOrigin ARGS_DECL((int *pn_x, int *pn_y, int *pn_zoom_scale,
67		                     int *pn_zoomed_in));
68extern void	CleanUpScrolls ARGS_DECL((void));
69extern void	UpdScrollWinWH ARGS_DECL((void));
70extern void	InitScroll ARGS_DECL((void));
71extern void	ChangeScrollMode ARGS_DECL((int ModeIndex));
72extern int	RefreshScrollModeMenu ARGS_DECL((TgMenu*));
73extern TgMenu	*CreateScrollModeMenu ARGS_DECL((TgMenu*, int X, int Y,
74                                                 TgMenuInfo*,
75                                                 int status_str_xlated));
76
77#ifdef _INCLUDE_FROM_SCROLL_C_
78#undef extern
79#ifndef _NO_RECURSIVE_EXTERN
80#define extern extern
81#endif /* ~_NO_RECURSIVE_EXTERN */
82#endif /*_INCLUDE_FROM_SCROLL_C_*/
83
84#endif /*_SCROLL_E_*/
85