2 * Copyright (C) 2005, Net Integration Technologies, Inc.
3 * Copyright (C) 2015, Arseniy Lartsev <arseniy@alumni.chalmers.se>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
20 #ifndef PAGE_TRANSITION_H
21 #define PAGE_TRANSITION_H
23 #ifdef USE_GCC_PRAGMAS
29 //------------------------------------------------------------------------
31 //------------------------------------------------------------------------
33 // if changed remember to keep in sync with frontend enums
34 enum PageTransitionType
{
35 transitionReplace
= 0,
49 // if changed remember to keep in sync with frontend enums
50 enum PageTransitionAlignment
{
51 transitionHorizontal
= 0,
55 // if changed remember to keep in sync with frontend enums
56 enum PageTransitionDirection
{
61 class PageTransition
{
63 // Construct a Page Transition.
64 PageTransition (Object
*trans
);
69 // Was the Page Transition created successfully?
70 GBool
isOk() { return ok
; }
73 PageTransitionType
getType() { return type
; }
76 double getDuration() { return duration
; }
79 PageTransitionAlignment
getAlignment() { return alignment
; }
82 PageTransitionDirection
getDirection() { return direction
; }
85 int getAngle() { return angle
; }
88 double getScale() { return scale
; }
91 GBool
isRectangular() { return rectangular
; }
95 PageTransitionType type
; // transition style
96 double duration
; // duration of the effect in seconds
97 PageTransitionAlignment alignment
; // dimension of the effect
98 PageTransitionDirection direction
; // direction of motion
99 int angle
; // direction in degrees
100 double scale
; // scale
101 GBool rectangular
; // is the area to be flown in rectangular?
102 GBool ok
; // set if created successfully
105 #endif /* PAGE_TRANSITION_H */