Poppler Qt4 0.18.1
poppler-page-transition.h
00001 /* PageTransition.h
00002  * Copyright (C) 2005, Net Integration Technologies, Inc.
00003  * Copyright (C) 2005, Brad Hards <bradh@frogmouth.net>
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2, or (at your option)
00008  * any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
00018  */
00019 
00020 #ifndef __PAGETRANSITION_X_H__
00021 #define __PAGETRANSITION_X_H__
00022 
00023 #include "poppler-export.h"
00024 
00025 namespace Poppler {
00026 
00027 class PageTransitionParams;
00028 class PageTransitionData;
00029 
00044 class POPPLER_QT4_EXPORT PageTransition {
00045  public:
00046 
00049   // if changed remember to keep in sync with PageTransition.h enum
00050   enum Type {
00051     Replace = 0,
00052     Split,
00053     Blinds,
00054     Box,
00055     Wipe,
00056     Dissolve,
00057     Glitter,
00058     Fly,
00059     Push,
00060     Cover,
00061     Uncover,
00062     Fade
00063   };
00064   
00067   // if changed remember to keep in sync with PageTransition.h enum
00068   enum Alignment {
00069     Horizontal = 0,
00070     Vertical
00071   };
00072   
00075   // if changed remember to keep in sync with PageTransition.h enum
00076   enum Direction {
00077     Inward = 0,
00078     Outward
00079   };
00080   
00096   PageTransition(const PageTransitionParams &params);
00097 
00099   PageTransition(const PageTransition &pt);
00100   
00104   ~PageTransition();
00105   
00109   Type type() const;
00110   
00114   int duration() const;
00115   
00119   Alignment alignment() const;
00120   
00124   Direction direction() const;
00125   
00129   int angle() const;
00130   
00134   double scale() const;
00135   
00140   bool isRectangular() const;
00141   
00142  private:
00143   PageTransitionData *data;
00144 };
00145 
00146 }
00147 
00148 #endif