QXP33Header.h
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /*
00003  * This file is part of the libqxp project.
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this
00007  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
00008  */
00009 
00010 #ifndef QXP33HEADER_H_INCLUDED
00011 #define QXP33HEADER_H_INCLUDED
00012 
00013 #include "libqxp_utils.h"
00014 #include "QXP3HeaderBase.h"
00015 #include "QXPTypes.h"
00016 
00017 namespace libqxp
00018 {
00019 
00020 class QXP33Header : public QXP3HeaderBase, public std::enable_shared_from_this<QXP33Header>
00021 {
00022 public:
00023   explicit QXP33Header(const boost::optional<QXPDocument::Type> &fileType = boost::none);
00024 
00025   bool load(const std::shared_ptr<librevenge::RVNGInputStream> &input) override;
00026 
00027   QXPDocument::Type getType() const override;
00028 
00029   std::unique_ptr<QXPParser> createParser(const std::shared_ptr<librevenge::RVNGInputStream> &input, librevenge::RVNGDrawingInterface *painter) override;
00030 
00031   uint16_t pagesCount() const;
00032   uint16_t masterPagesCount() const;
00033   uint16_t seed() const;
00034   uint16_t increment() const;
00035   const QXPDocumentProperties &documentProperties() const;
00036 
00037 private:
00038   uint16_t m_pagesCount;
00039   uint16_t m_masterPagesCount;
00040   uint16_t m_seed;
00041   uint16_t m_increment;
00042   QXPDocumentProperties m_documentProperties;
00043 };
00044 
00045 }
00046 
00047 #endif // QXP33HEADER_H_INCLUDED
00048 
00049 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */