Clean up CPDF_AnnotList.
[pdfium.git] / core / src / fpdfdoc / doc_viewerPreferences.cpp
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #include "../../include/fpdfdoc/fpdf_doc.h"
8 CPDF_ViewerPreferences::CPDF_ViewerPreferences(CPDF_Document* pDoc)
9     : m_pDoc(pDoc) {}
10 CPDF_ViewerPreferences::~CPDF_ViewerPreferences() {}
11 FX_BOOL CPDF_ViewerPreferences::IsDirectionR2L() const {
12   CPDF_Dictionary* pDict = m_pDoc->GetRoot();
13   pDict = pDict->GetDict(FX_BSTRC("ViewerPreferences"));
14   if (!pDict) {
15     return FALSE;
16   }
17   return FX_BSTRC("R2L") == pDict->GetString(FX_BSTRC("Direction"));
18 }
19 FX_BOOL CPDF_ViewerPreferences::PrintScaling() const {
20   CPDF_Dictionary* pDict = m_pDoc->GetRoot();
21   pDict = pDict->GetDict(FX_BSTRC("ViewerPreferences"));
22   if (!pDict) {
23     return TRUE;
24   }
25   return FX_BSTRC("None") != pDict->GetString(FX_BSTRC("PrintScaling"));
26 }
27 int32_t CPDF_ViewerPreferences::NumCopies() const {
28   CPDF_Dictionary* pDict = m_pDoc->GetRoot();
29   pDict = pDict->GetDict(FX_BSTRC("ViewerPreferences"));
30   if (!pDict) {
31     return 1;
32   }
33   return pDict->GetInteger(FX_BSTRC("NumCopies"));
34 }
35 CPDF_Array* CPDF_ViewerPreferences::PrintPageRange() const {
36   CPDF_Dictionary* pDict = m_pDoc->GetRoot();
37   CPDF_Array* pRange = NULL;
38   pDict = pDict->GetDict(FX_BSTRC("ViewerPreferences"));
39   if (!pDict) {
40     return pRange;
41   }
42   pRange = pDict->GetArray(FX_BSTRC("PrintPageRange"));
43   return pRange;
44 }
45 CFX_ByteString CPDF_ViewerPreferences::Duplex() const {
46   CPDF_Dictionary* pDict = m_pDoc->GetRoot();
47   pDict = pDict->GetDict(FX_BSTRC("ViewerPreferences"));
48   if (!pDict) {
49     return FX_BSTRC("None");
50   }
51   return pDict->GetString(FX_BSTRC("Duplex"));
52 }