/* dspdfviewer - Dual Screen PDF Viewer for LaTeX-Beamer Copyright (C) 2012 Danny Edel 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. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef RENDERINGIDENTIFIER_H #define RENDERINGIDENTIFIER_H #include "pagepart.h" #include #include #include class RenderingIdentifier { private: unsigned thePageNumber; PagePart thePagePart; QSize theRequestedPageSize; public: /* * * This will be set and checked by PDFRenderFactory */ quint64 theVersion; RenderingIdentifier(unsigned pagenum, PagePart pagepart, QSize requestedPageSize); unsigned pageNumber() const; PagePart pagePart() const; QSize requestedPageSize() const; bool operator == (const RenderingIdentifier& other) const; #if 0 /** Cast to a string that is usable as a hash identifier **/ operator QString() const; #endif }; /** Hashes this object to something useable in the cache */ uint qHash(const RenderingIdentifier& ri); /** allow outputting a rendering identifier */ QDebug operator << ( QDebug, const RenderingIdentifier&); #endif // RENDERINGIDENTIFIER_H