1 /* 2 * Copyright (C) 2009, Pino Toscano <pino@kde.org> 3 * Copyright (C) 2021, Albert Astals Cid <aacid@kde.org> 4 * 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) 8 * any later version. 9 * 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. 14 * 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. 18 */ 19 20 #ifndef POPPLER_PAGE_TRANSITION_H 21 #define POPPLER_PAGE_TRANSITION_H 22 23 #include "poppler-global.h" 24 25 class Object; 26 27 namespace poppler { 28 29 class page; 30 class page_transition_private; 31 32 class POPPLER_CPP_EXPORT page_transition 33 { 34 public: 35 enum type_enum 36 { 37 replace = 0, 38 split, 39 blinds, 40 box, 41 wipe, 42 dissolve, 43 glitter, 44 fly, 45 push, 46 cover, 47 uncover, 48 fade 49 }; 50 51 enum alignment_enum 52 { 53 horizontal = 0, 54 vertical 55 }; 56 57 enum direction_enum 58 { 59 inward = 0, 60 outward 61 }; 62 63 page_transition(const page_transition &pt); 64 ~page_transition(); 65 66 type_enum type() const; 67 int duration() const; 68 alignment_enum alignment() const; 69 direction_enum direction() const; 70 int angle() const; 71 double scale() const; 72 bool is_rectangular() const; 73 74 page_transition &operator=(const page_transition &pt); 75 76 private: 77 explicit page_transition(Object *params); 78 79 page_transition_private *d; 80 friend class page; 81 }; 82 83 } 84 85 #endif 86