okular
pagesize.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "pagesize.h"
00012
00013 using namespace Okular;
00014
00015 class Okular::PageSizePrivate
00016 : public QSharedData
00017 {
00018 public:
00019 PageSizePrivate()
00020 : m_width( 0 ), m_height( 0 )
00021 {
00022 }
00023
00024 bool operator==( const PageSizePrivate &rhs ) const
00025 {
00026 return m_width == rhs.m_width &&
00027 m_height == rhs.m_height &&
00028 m_name == rhs.m_name;
00029 }
00030
00031 double m_width;
00032 double m_height;
00033 QString m_name;
00034 };
00035
00036
00037 PageSize::PageSize()
00038 {
00039 }
00040
00041 PageSize::PageSize( double width, double height, const QString &name )
00042 : d( new PageSizePrivate )
00043 {
00044 d->m_width = width;
00045 d->m_height = height;
00046 d->m_name = name;
00047 }
00048
00049 PageSize::PageSize( const PageSize &pageSize )
00050 : d( pageSize.d )
00051 {
00052 }
00053
00054 PageSize::~PageSize()
00055 {
00056 }
00057
00058 double PageSize::width() const
00059 {
00060 if ( !d )
00061 return 0;
00062
00063 return d->m_width;
00064 }
00065
00066 double PageSize::height() const
00067 {
00068 if ( !d )
00069 return 0;
00070
00071 return d->m_height;
00072 }
00073
00074 QString PageSize::name() const
00075 {
00076 if ( !d )
00077 return QString();
00078
00079 return d->m_name;
00080 }
00081
00082 bool PageSize::isNull() const
00083 {
00084 if ( !d )
00085 return true;
00086
00087 return d->m_width == 0 && d->m_height == 0 && d->m_name.isEmpty();
00088 }
00089
00090 bool PageSize::operator==( const PageSize &pageSize ) const
00091 {
00092
00093 if ( !d )
00094 return !pageSize.d;
00095
00096 if ( !pageSize.d )
00097 return false;
00098
00099
00100 return *d == *pageSize.d;
00101 }
00102
00103 bool PageSize::operator!=( const PageSize &pageSize ) const
00104 {
00105 return !operator==( pageSize );
00106 }
00107
00108 PageSize& PageSize::operator=( const PageSize &pageSize )
00109 {
00110 if ( this == &pageSize )
00111 return *this;
00112
00113 d = pageSize.d;
00114 return *this;
00115 }
00116