1 /* 2 * Xournal++ 3 * 4 * Paper background type 5 * 6 * @author Xournal++ Team 7 * https://github.com/xournalpp/xournalpp 8 * 9 * @license GNU GPLv2 or later 10 */ 11 12 #pragma once 13 14 #include <string> 15 #include <vector> 16 17 #include "XournalType.h" 18 19 enum class PageTypeFormat { Plain, Ruled, Lined, Staves, Graph, Dotted, IsoDotted, IsoGraph, Pdf, Image, Copy }; 20 21 class PageType { 22 public: 23 PageType(); 24 explicit PageType(PageTypeFormat format); 25 PageType(const PageType& other); 26 ~PageType(); 27 28 private: 29 public: 30 /** 31 * Compare Operator 32 */ 33 bool operator==(const PageType& other) const; 34 35 /** 36 * PDF background 37 */ 38 bool isPdfPage() const; 39 40 /** 41 * Image Background 42 */ 43 bool isImagePage() const; 44 45 /** 46 * Special background 47 */ 48 bool isSpecial() const; 49 50 public: 51 /** 52 * Base format 53 */ 54 PageTypeFormat format; 55 56 /** 57 * Arguments for the format 58 */ 59 string config; 60 }; 61