File indexing completed on 2024-04-28 04:32:45
0001 /* 0002 SPDX-FileCopyrightText: 2005 Tobias Koenig <tokoe@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 // local includes 0008 #include "pagetransition.h" 0009 0010 using namespace Okular; 0011 0012 /** class Okular::PageTransition **/ 0013 0014 class PageTransition::Private 0015 { 0016 public: 0017 explicit Private(Type type) 0018 : m_type(type) 0019 , m_duration(1) 0020 , m_alignment(Horizontal) 0021 , m_direction(Inward) 0022 , m_angle(0) 0023 , m_scale(1.0) 0024 , m_rectangular(false) 0025 { 0026 } 0027 0028 Type m_type; 0029 double m_duration; 0030 Alignment m_alignment; 0031 Direction m_direction; 0032 int m_angle; 0033 double m_scale; 0034 bool m_rectangular; 0035 }; 0036 0037 PageTransition::PageTransition(Type type) 0038 : d(new Private(type)) 0039 { 0040 } 0041 0042 PageTransition::PageTransition(const PageTransition &other) 0043 : d(new Private(*other.d)) 0044 { 0045 } 0046 0047 PageTransition &PageTransition::operator=(const PageTransition &other) 0048 { 0049 if (this == &other) { 0050 return *this; 0051 } 0052 0053 *d = *other.d; 0054 0055 return *this; 0056 } 0057 0058 PageTransition::~PageTransition() 0059 { 0060 delete d; 0061 } 0062 0063 PageTransition::Type PageTransition::type() const 0064 { 0065 return d->m_type; 0066 } 0067 0068 double PageTransition::duration() const 0069 { 0070 return d->m_duration; 0071 } 0072 0073 PageTransition::Alignment PageTransition::alignment() const 0074 { 0075 return d->m_alignment; 0076 } 0077 0078 PageTransition::Direction PageTransition::direction() const 0079 { 0080 return d->m_direction; 0081 } 0082 0083 int PageTransition::angle() const 0084 { 0085 return d->m_angle; 0086 } 0087 0088 double PageTransition::scale() const 0089 { 0090 return d->m_scale; 0091 } 0092 0093 bool PageTransition::isRectangular() const 0094 { 0095 return d->m_rectangular; 0096 } 0097 0098 void PageTransition::setType(Type type) 0099 { 0100 d->m_type = type; 0101 } 0102 0103 void PageTransition::setDuration(double duration) 0104 { 0105 d->m_duration = duration; 0106 } 0107 0108 void PageTransition::setAlignment(Alignment alignment) 0109 { 0110 d->m_alignment = alignment; 0111 } 0112 0113 void PageTransition::setDirection(Direction direction) 0114 { 0115 d->m_direction = direction; 0116 } 0117 0118 void PageTransition::setAngle(int angle) 0119 { 0120 d->m_angle = angle; 0121 } 0122 0123 void PageTransition::setScale(double scale) 0124 { 0125 d->m_scale = scale; 0126 } 0127 0128 void PageTransition::setIsRectangular(bool rectangular) 0129 { 0130 d->m_rectangular = rectangular; 0131 }