• Skip to content
  • Skip to link menu
KDE 4.0 API Reference
  • KDE API Reference
  • kdegraphics
  • Sitemap
  • Contact Us
 

okular

pagesize.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2007 by Pino Toscano <pino@kde.org>                     *
00003  *                                                                         *
00004  *   This program is free software; you can redistribute it and/or modify  *
00005  *   it under the terms of the GNU General Public License as published by  *
00006  *   the Free Software Foundation; either version 2 of the License, or     *
00007  *   (at your option) any later version.                                   *
00008  ***************************************************************************/
00009 
00010 // local includes
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     // 1st: we're null: check if the other is null too
00093     if ( !d )
00094         return !pageSize.d;
00095     // 2nd: we're not null, return if the other is null
00096     if ( !pageSize.d )
00097         return false;
00098 
00099     // 3rd: normal == check
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 

okular

Skip menu "okular"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdegraphics

Skip menu "kdegraphics"
  • okular
Generated for kdegraphics by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal