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/ruler.e,v 1.7 2011/05/16 16:21:59 william Exp $
19 */
20
21#ifndef _RULER_E_
22#define _RULER_E_
23
24extern int	showMeasurement;
25extern int	showMeasurementInTooltip;
26extern int	simpleMotionInDrawWin;
27extern int	showCrossHair;
28
29#ifdef _INCLUDE_FROM_RULER_C_
30#undef extern
31#define extern
32#endif /*_INCLUDE_FROM_RULER_C_*/
33
34extern void	GetUnitSpec ARGS_DECL((char*));
35extern void	ShowUnitMsg ARGS_DECL((void));
36extern int	SetUnit ARGS_DECL((char*));
37extern void	InitRuler ARGS_DECL((void));
38extern void	CleanUpRuler ARGS_DECL((void));
39extern void	PixelToMeasurementUnit ARGS_DECL((char *Buf, int NumPixels));
40extern void	SquarePixelToMeasurementUnit ARGS_DECL((char *Buf,
41                                                        int NumSquarePixels));
42extern void	PixelToCurrentUnit ARGS_DECL((char *Buf, int NumPixels));
43extern void	RedrawHRuler ARGS_DECL((Display*, Window));
44extern void	RedrawHRulerWindow ARGS_DECL((void));
45extern void	RedrawVRuler ARGS_DECL((Display*, Window));
46extern void	RedrawVRulerWindow ARGS_DECL((void));
47extern void	MarkRulers ARGS_DECL((int XOff, int YOff));
48extern void	RedrawRulers ARGS_DECL((void));
49extern void	GetCrossHairPosition ARGS_DECL((int *XOff, int *YOff,
50		                                int *Shown));
51extern void	RedrawCrossHair ARGS_DECL((void));
52extern void	ToggleShowCrossHair ARGS_DECL((void));
53extern void	RulersEventHandler ARGS_DECL((XEvent *));
54extern void	FreezeMarkRulerText ARGS_DECL((void));
55extern void	UnFreezeMarkRulerText ARGS_DECL((void));
56extern int	VerboseMeasureTooltip ARGS_DECL((void));
57extern void	BeginIntervalRulers ARGS_DECL((int LtX, int LtY, int RbX,
58		                               int RbY));
59extern void	DrawIntervalRulers ARGS_DECL((int LtX, int LtY, int RbX,
60		                              int RbY, char *delta_str));
61extern void	EndIntervalRulers ARGS_DECL((int X, int Y));
62extern void	StartShowMeasureCursor ARGS_DECL((int XOff, int YOff,
63                                                  char *Str, int ExtraSpace));
64extern void	ShowMeasureCursor ARGS_DECL((int XOff, int YOff, char *Str,
65                                             int ExtraSpace));
66extern void	EndShowMeasureCursor ARGS_DECL((int XOff, int YOff, char *Str,
67                                                int ExtraSpace));
68extern void	ToggleShowMeasurement ARGS_DECL((void));
69extern void	ToggleShowMeasurementInTooltip ARGS_DECL((void));
70
71extern void	DoIntervalMeasureTooltip ARGS_DECL((int ltx, int lty, int rbx,
72		                                    int rby, int mdx, int mdy,
73		                                    char *delta_str));
74extern void	StartMeasureTooltip ARGS_DECL((char*));
75extern void	SetMeasureTooltip ARGS_DECL((char*));
76extern void	EndMeasureTooltip ARGS_DECL((int force));
77extern void	CleanUpMeasureTooltip ARGS_DECL((void));
78extern int	InitMeasureTooltip ARGS_DECL((void));
79
80#ifdef _INCLUDE_FROM_RULER_C_
81#undef extern
82#ifndef _NO_RECURSIVE_EXTERN
83#define extern extern
84#endif /* ~_NO_RECURSIVE_EXTERN */
85#endif /*_INCLUDE_FROM_RULER_C_*/
86
87#endif /*_RULER_E_*/
88