1 /* 2 * Copyright (C) 2019, Masamichi Hosoda <trueroad@trueroad.jp> 3 * Copyright (C) 2019, 2021, Albert Astals Cid <aacid@kde.org> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2, or (at your option) 8 * any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 18 */ 19 20 #ifndef POPPLER_DESTINATION_H 21 #define POPPLER_DESTINATION_H 22 23 #include "poppler-global.h" 24 25 namespace poppler { 26 class destination_private; 27 28 class POPPLER_CPP_EXPORT destination : public poppler::noncopyable 29 { 30 public: 31 enum type_enum 32 { 33 unknown, 34 xyz, 35 fit, 36 fit_h, 37 fit_v, 38 fit_r, 39 fit_b, 40 fit_b_h, 41 fit_b_v 42 }; 43 44 ~destination(); 45 destination(destination &&other) noexcept; 46 47 type_enum type() const; 48 int page_number() const; 49 double left() const; 50 double bottom() const; 51 double right() const; 52 double top() const; 53 double zoom() const; 54 bool is_change_left() const; 55 bool is_change_top() const; 56 bool is_change_zoom() const; 57 58 destination &operator=(destination &&other) noexcept; 59 60 private: 61 explicit destination(destination_private *dd); 62 63 destination_private *d; 64 friend class document; 65 }; 66 67 } 68 69 #endif 70