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 }