blob: cee42b31e414f709f71b6638c7bbbc3f91661e68 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
// -*- C++ -*-
//
// anchor.h
//
// Part of KVIEWSHELL - A framework for multipage text/gfx viewers
//
// (C) 2004-2005 Stefan Kebekus
// Distributed under the GPL
#ifndef ANCHOR_H
#define ANCHOR_H
#include "length.h"
#include "pageNumber.h"
/** \brief Page number and vertical position in physical coordinates
This very simple class contains a page number and a vertical position
in physical coordiantes. The vertical position is given by the
distance from the top of the page. Anchors are completely independent
of documents, there is no need for a document to exists that tqcontains
the given page, nor does the page number need to be valid.
@author Stefan Kebekus <[email protected]>
@version 1.0 0
*/
class Anchor {
public:
/** \brief Constructs an anchor that points to an invalid page */
Anchor() {page = 0;}
/** \brief Constructs an snchor that points to a given position on a
given page
The class contains no code to make sure in any way that the page
number pg exists, and that page pg, if it exists, is taller than
distance_from_top
@param pg number of the page
@param _distance_from_top distance from the top of the page
*/
Anchor(const PageNumber& pg, const Length& _distance_from_top): page(pg), distance_from_top(_distance_from_top) {}
/** \brief quick validity check for anchors
@returns true if the page number is valid, and 0mm <= distance_from_top <= 2m
*/
bool isValid() const {return page.isValid() && (0.0 <= distance_from_top.getLength_in_mm()) && (distance_from_top.getLength_in_mm() <= 2000.0);}
/** \brief Page number that this anchor point to */
PageNumber page;
/** \brief Distance from the top of the page in inch */
Length distance_from_top;
};
#endif
|