openscenegraph
include
osgWidget
PdfReader
Go to the documentation of this file.
1
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2008 Robert Osfield
2
*
3
* This library is open source and may be redistributed and/or modified under
4
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5
* (at your option) any later version. The full license is in LICENSE file
6
* included with this distribution, and on the openscenegraph.org website.
7
*
8
* This library is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* OpenSceneGraph Public License for more details.
12
*/
13
14
#ifndef OSGWIDGET_PDFREADER
15
#define OSGWIDGET_PDFREADER
16
17
#include <
osg/Image
>
18
#include <
osg/Geode
>
19
20
#include <
osgWidget/Export
>
21
22
namespace
osgWidget
{
23
24
26
struct
GeometryHints
27
{
28
enum
AspectRatioPolicy
29
{
30
RESIZE_HEIGHT_TO_MAINTAINCE_ASPECT_RATIO
,
31
RESIZE_WIDTH_TO_MAINTAINCE_ASPECT_RATIO
,
32
IGNORE_DOCUMENT_ASPECT_RATIO
33
};
34
35
GeometryHints
():
36
position
(0.0f,0.0f,0.0f),
37
widthVec
(1.0f,0.0f,0.0f),
38
heightVec
(0.0f,1.0f,0.0f),
39
backgroundColor
(1.0f,1.0f,1.0f,1.0f),
40
aspectRatioPolicy
(
RESIZE_HEIGHT_TO_MAINTAINCE_ASPECT_RATIO
),
41
widthResolution
(1024),
42
heightResolution
(1024) {}
43
44
GeometryHints
(
const
osg::Vec3
& pos,
45
const
osg::Vec3
& wVec,
46
const
osg::Vec3
& hVec,
47
const
osg::Vec4
& bColor,
48
AspectRatioPolicy
asp=
RESIZE_HEIGHT_TO_MAINTAINCE_ASPECT_RATIO
,
49
unsigned
int
wRes=1024,
50
unsigned
int
hRes=1024):
51
position
(pos),
52
widthVec
(wVec),
53
heightVec
(hVec),
54
backgroundColor
(bColor),
55
aspectRatioPolicy
(asp),
56
widthResolution
(wRes),
57
heightResolution
(hRes) {}
58
59
osg::Vec3
position
;
60
osg::Vec3
widthVec
;
61
osg::Vec3
heightVec
;
62
63
osg::Vec4
backgroundColor
;
64
65
AspectRatioPolicy
aspectRatioPolicy
;
66
67
unsigned
int
widthResolution
;
68
unsigned
int
heightResolution
;
69
70
};
71
73
class
PdfImage
:
public
osg::Image
74
{
75
public
:
76
77
PdfImage
():
78
_backgroundColor
(1.0f,1.0f,1.0f,1.0f),
79
_pageNum
(0),
80
_nextPageKeyEvent
(
'n'
),
81
_previousPageKeyEvent
(
'p'
) {}
82
83
void
setBackgroundColor
(
const
osg::Vec4
& backgroundColor) {
_backgroundColor
= backgroundColor; }
84
const
osg::Vec4
&
getBackgroundColor
()
const
{
return
_backgroundColor
; }
85
86
int
getPageNum
()
const
{
return
_pageNum
; }
87
88
virtual
int
getNumOfPages
() = 0;
89
90
virtual
bool
page
(
int
pageNum) = 0;
91
92
bool
previous
()
93
{
94
return
page
(
_pageNum
-1);
95
}
96
97
bool
next
()
98
{
99
return
page
(
_pageNum
+1);
100
}
101
102
void
setNextPageKeyEvent
(
int
key) {
_nextPageKeyEvent
= key; }
103
int
getNextPageKeyEvent
()
const
{
return
_nextPageKeyEvent
; }
104
105
void
setPreviousPageKeyEvent
(
int
key) {
_previousPageKeyEvent
= key; }
106
int
getPreviousPageKeyEvent
()
const
{
return
_previousPageKeyEvent
; }
107
108
protected
:
109
110
virtual
~PdfImage
() {}
111
112
osg::Vec4
_backgroundColor
;
113
114
int
_pageNum
;
115
int
_nextPageKeyEvent
;
116
int
_previousPageKeyEvent
;
117
118
};
119
120
122
class
OSGWIDGET_EXPORT
PdfReader
:
public
osg::Geode
123
{
124
public
:
125
126
PdfReader
() {}
127
128
PdfReader
(
const
std::string& filename,
const
GeometryHints
& hints =
GeometryHints
());
129
130
bool
assign
(
PdfImage
* pdfImage,
const
GeometryHints
& hints =
GeometryHints
());
131
132
bool
open
(
const
std::string& filename,
const
GeometryHints
& hints =
GeometryHints
());
133
134
bool
page
(
int
pageNum);
135
136
bool
previous
();
137
138
bool
next
();
139
140
protected
:
141
142
osg::ref_ptr<PdfImage>
_pdfImage
;
143
};
144
145
}
146
147
#endif
Geode
Image
osgWidget::PdfImage
Definition
PdfReader:74
osgWidget::PdfImage::PdfImage
PdfImage()
Definition
PdfReader:77
osgWidget::PdfImage::page
virtual bool page(int pageNum)=0
osgWidget::PdfImage::_pageNum
int _pageNum
Definition
PdfReader:114
osgWidget::PdfImage::setBackgroundColor
void setBackgroundColor(const osg::Vec4 &backgroundColor)
Definition
PdfReader:83
osgWidget::PdfImage::setNextPageKeyEvent
void setNextPageKeyEvent(int key)
Definition
PdfReader:102
osgWidget::PdfImage::next
bool next()
Definition
PdfReader:97
osgWidget::PdfImage::getBackgroundColor
const osg::Vec4 & getBackgroundColor() const
Definition
PdfReader:84
osgWidget::PdfImage::setPreviousPageKeyEvent
void setPreviousPageKeyEvent(int key)
Definition
PdfReader:105
osgWidget::PdfImage::getPageNum
int getPageNum() const
Definition
PdfReader:86
osgWidget::PdfImage::_nextPageKeyEvent
int _nextPageKeyEvent
Definition
PdfReader:115
osgWidget::PdfImage::getNumOfPages
virtual int getNumOfPages()=0
osgWidget::PdfImage::getPreviousPageKeyEvent
int getPreviousPageKeyEvent() const
Definition
PdfReader:106
osgWidget::PdfImage::~PdfImage
virtual ~PdfImage()
Definition
PdfReader:110
osgWidget::PdfImage::previous
bool previous()
Definition
PdfReader:92
osgWidget::PdfImage::getNextPageKeyEvent
int getNextPageKeyEvent() const
Definition
PdfReader:103
osgWidget::PdfImage::_backgroundColor
osg::Vec4 _backgroundColor
Definition
PdfReader:112
osgWidget::PdfImage::_previousPageKeyEvent
int _previousPageKeyEvent
Definition
PdfReader:116
osgWidget::PdfReader
Definition
PdfReader:123
osgWidget::PdfReader::PdfReader
PdfReader()
Definition
PdfReader:126
osgWidget::PdfReader::_pdfImage
osg::ref_ptr< PdfImage > _pdfImage
Definition
PdfReader:142
osgWidget::PdfReader::PdfReader
PdfReader(const std::string &filename, const GeometryHints &hints=GeometryHints())
osgWidget::PdfReader::page
bool page(int pageNum)
osgWidget::PdfReader::open
bool open(const std::string &filename, const GeometryHints &hints=GeometryHints())
osgWidget::PdfReader::previous
bool previous()
osgWidget::PdfReader::assign
bool assign(PdfImage *pdfImage, const GeometryHints &hints=GeometryHints())
osgWidget::PdfReader::next
bool next()
osg::Geode
Definition
Geode:29
osg::Image
Definition
Image:179
osg::Vec3f
Definition
Vec3f:29
osg::Vec4f
Definition
Vec4f:28
osg::ref_ptr
Definition
ref_ptr:32
osgWidget
Definition
Box:21
Export
OSGWIDGET_EXPORT
#define OSGWIDGET_EXPORT
Definition
osgWidget/Export:42
osgWidget::GeometryHints
Definition
PdfReader:27
osgWidget::GeometryHints::AspectRatioPolicy
AspectRatioPolicy
Definition
PdfReader:29
osgWidget::GeometryHints::RESIZE_HEIGHT_TO_MAINTAINCE_ASPECT_RATIO
@ RESIZE_HEIGHT_TO_MAINTAINCE_ASPECT_RATIO
Definition
PdfReader:30
osgWidget::GeometryHints::IGNORE_DOCUMENT_ASPECT_RATIO
@ IGNORE_DOCUMENT_ASPECT_RATIO
Definition
PdfReader:32
osgWidget::GeometryHints::RESIZE_WIDTH_TO_MAINTAINCE_ASPECT_RATIO
@ RESIZE_WIDTH_TO_MAINTAINCE_ASPECT_RATIO
Definition
PdfReader:31
osgWidget::GeometryHints::heightResolution
unsigned int heightResolution
Definition
PdfReader:68
osgWidget::GeometryHints::aspectRatioPolicy
AspectRatioPolicy aspectRatioPolicy
Definition
PdfReader:65
osgWidget::GeometryHints::GeometryHints
GeometryHints()
Definition
PdfReader:35
osgWidget::GeometryHints::GeometryHints
GeometryHints(const osg::Vec3 &pos, const osg::Vec3 &wVec, const osg::Vec3 &hVec, const osg::Vec4 &bColor, AspectRatioPolicy asp=RESIZE_HEIGHT_TO_MAINTAINCE_ASPECT_RATIO, unsigned int wRes=1024, unsigned int hRes=1024)
Definition
PdfReader:44
osgWidget::GeometryHints::widthVec
osg::Vec3 widthVec
Definition
PdfReader:60
osgWidget::GeometryHints::widthResolution
unsigned int widthResolution
Definition
PdfReader:67
osgWidget::GeometryHints::backgroundColor
osg::Vec4 backgroundColor
Definition
PdfReader:63
osgWidget::GeometryHints::heightVec
osg::Vec3 heightVec
Definition
PdfReader:61
osgWidget::GeometryHints::position
osg::Vec3 position
Definition
PdfReader:59
Generated by
1.9.8