/*************************************************************************** * Copyright (C) 2007 by Pino Toscano * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * ***************************************************************************/ #ifndef _OKULAR_PAGESIZE_H_ #define _OKULAR_PAGESIZE_H_ #include #include #include #include "okularcore_export.h" namespace Okular { class PageSizePrivate; /** * @short A small class that represents the size of a page. */ class OKULARCORE_EXPORT PageSize { public: typedef QList List; /** * Construct a null page size. * @see isNull() */ PageSize(); /** * Construct a page size with the specified @p width and @p height, * having the ID @p name. */ PageSize(double width, double height, const QString &name); /** * Copy constructor. */ PageSize(const PageSize &pageSize); ~PageSize(); /** * Returns the width of the page size. */ double width() const; /** * Returns the height of the page size. */ double height() const; /** * Returns the ID of the page size. */ QString name() const; /** * Whether the page size is null. */ bool isNull() const; PageSize &operator=(const PageSize &pageSize); /** * Comparison operator. */ bool operator==(const PageSize &pageSize) const; bool operator!=(const PageSize &pageSize) const; private: /// @cond PRIVATE friend class PageSizePrivate; /// @endcond QSharedDataPointer d; }; } #endif