poppler/Annot.cc | 43 ++++++---------------------------------- poppler/Form.cc | 5 +--- poppler/Gfx.cc | 15 +++----------- poppler/GfxState.cc | 7 ++---- poppler/Link.cc | 9 +------- poppler/Object.h | 6 ++++- poppler/PageTransition.cc | 8 +------ poppler/ViewerPreferences.cc | 46 ++++++++----------------------------------- 8 files changed, 34 insertions(+), 105 deletions(-)
New commits: commit 63ca4951f85b1f9d4a66d24d761e9984327bb20f Author: Albert Astals Cid <aa...@kde.org> Date: Wed Oct 30 23:36:35 2019 +0100 Introduce Object::getBoolWithDefaultValue makes code slightly more readable diff --git a/poppler/Annot.cc b/poppler/Annot.cc index 37165e38..98f9dfef 100644 --- a/poppler/Annot.cc +++ b/poppler/Annot.cc @@ -15,7 +15,7 @@ // // Copyright (C) 2006 Scott Turner <scotty1...@mac.com> // Copyright (C) 2007, 2008 Julien Rebetez <juli...@svn.gnome.org> -// Copyright (C) 2007-2013, 2015-2019 Albert Astals Cid <aa...@kde.org> +// Copyright (C) 2007-2013, 2015-2020 Albert Astals Cid <aa...@kde.org> // Copyright (C) 2007-2013, 2018 Carlos Garcia Campos <carlo...@gnome.org> // Copyright (C) 2007, 2008 Iñigo Martínez <inigomarti...@gmail.com> // Copyright (C) 2007 Jeff Muizelaar <j...@infidigm.net> @@ -855,12 +855,7 @@ AnnotIconFit::AnnotIconFit(Dict* dict) { left = bottom = 0.5; } - obj1 = dict->lookup("FB"); - if (obj1.isBool()) { - fullyBounds = obj1.getBool(); - } else { - fullyBounds = false; - } + fullyBounds = dict->lookup("FB").getBoolWithDefaultValue(false); } //------------------------------------------------------------------------ @@ -1929,12 +1924,7 @@ void AnnotPopup::initialize(PDFDoc *docA, Dict *dict) { parentRef = Ref::INVALID(); } - Object obj1 = dict->lookup("Open"); - if (obj1.isBool()) { - open = obj1.getBool(); - } else { - open = false; - } + open = dict->lookup("Open").getBoolWithDefaultValue(false); } void AnnotPopup::setParent(Annot *parentA) { @@ -2117,11 +2107,7 @@ AnnotText::~AnnotText() = default; void AnnotText::initialize(PDFDoc *docA, Dict *dict) { Object obj1; - obj1 = dict->lookup("Open"); - if (obj1.isBool()) - open = obj1.getBool(); - else - open = false; + open = dict->lookup("Open").getBoolWithDefaultValue(false); obj1 = dict->lookup("Name"); if (obj1.isName()) { @@ -3036,12 +3022,7 @@ void AnnotLine::initialize(PDFDoc *docA, Dict *dict) { if (leaderLineExtension < 0) leaderLineExtension = 0; - obj1 = dict->lookup("Cap"); - if (obj1.isBool()) { - caption = obj1.getBool(); - } else { - caption = false; - } + caption = dict->lookup("Cap").getBoolWithDefaultValue(false); obj1 = dict->lookup("IT"); if (obj1.isName()) { @@ -6376,19 +6357,9 @@ Annot3D::Activation::Activation(Dict *dict) { dState = dStateUnknown; } - obj1 = dict->lookup("TB"); - if (obj1.isBool()) { - displayToolbar = obj1.getBool(); - } else { - displayToolbar = true; - } + displayToolbar = dict->lookup("TB").getBoolWithDefaultValue(true); - obj1 = dict->lookup("NP"); - if (obj1.isBool()) { - displayNavigation = obj1.getBool(); - } else { - displayNavigation = false; - } + displayNavigation = dict->lookup("NP").getBoolWithDefaultValue(false); } //------------------------------------------------------------------------ diff --git a/poppler/Form.cc b/poppler/Form.cc index c9ce7b78..2a8d5df6 100644 --- a/poppler/Form.cc +++ b/poppler/Form.cc @@ -5,7 +5,7 @@ // This file is licensed under the GPLv2 or later // // Copyright 2006-2008 Julien Rebetez <juli...@svn.gnome.org> -// Copyright 2007-2012, 2015-2019 Albert Astals Cid <aa...@kde.org> +// Copyright 2007-2012, 2015-2020 Albert Astals Cid <aa...@kde.org> // Copyright 2007-2008, 2011 Carlos Garcia Campos <carlo...@gnome.org> // Copyright 2007, 2013, 2016 Adrian Johnson <ajohn...@redneon.com> // Copyright 2007 Iñigo Martínez <inigomarti...@gmail.com> @@ -1831,8 +1831,7 @@ Form::Form(PDFDoc *docA, Object* acroFormA) defaultAppearance = nullptr; defaultResources = nullptr; - obj1 = acroForm->dictLookup("NeedAppearances"); - needAppearances = (obj1.isBool() && obj1.getBool()); + needAppearances = acroForm->dictLookup("NeedAppearances").getBoolWithDefaultValue(false); obj1 = acroForm->dictLookup("DA"); if (obj1.isString()) diff --git a/poppler/Gfx.cc b/poppler/Gfx.cc index 58c36fcb..9773b60c 100644 --- a/poppler/Gfx.cc +++ b/poppler/Gfx.cc @@ -14,7 +14,7 @@ // under GPL version 2 or later // // Copyright (C) 2005 Jonathan Blandford <j...@redhat.com> -// Copyright (C) 2005-2013, 2015-2019 Albert Astals Cid <aa...@kde.org> +// Copyright (C) 2005-2013, 2015-2020 Albert Astals Cid <aa...@kde.org> // Copyright (C) 2006 Thorkild Stray <thork...@ifi.uio.no> // Copyright (C) 2006 Kristian Høgsberg <k...@redhat.com> // Copyright (C) 2006-2011 Carlos Garcia Campos <carlo...@gnome.org> @@ -986,7 +986,7 @@ void Gfx::opSetExtGState(Object args[], int numArgs) { Function *funcs[4]; GfxColor backdropColor; bool haveBackdropColor; - bool alpha, isolated, knockout; + bool alpha; double opac; int i; @@ -1193,19 +1193,12 @@ void Gfx::opSetExtGState(Object args[], int numArgs) { Object obj4 = obj3.streamGetDict()->lookup("Group"); if (obj4.isDict()) { GfxColorSpace *blendingColorSpace = nullptr; - isolated = knockout = false; Object obj5 = obj4.dictLookup("CS"); if (!obj5.isNull()) { blendingColorSpace = GfxColorSpace::parse(res, &obj5, out, state); } - obj5 = obj4.dictLookup("I"); - if (obj5.isBool()) { - isolated = obj5.getBool(); - } - obj5 = obj4.dictLookup("K"); - if (obj5.isBool()) { - knockout = obj5.getBool(); - } + const bool isolated = obj4.dictLookup("I").getBoolWithDefaultValue(false); + const bool knockout = obj4.dictLookup("K").getBoolWithDefaultValue(false); if (!haveBackdropColor) { if (blendingColorSpace) { blendingColorSpace->getDefaultColor(&backdropColor); diff --git a/poppler/GfxState.cc b/poppler/GfxState.cc index 9aca67b3..f52603be 100644 --- a/poppler/GfxState.cc +++ b/poppler/GfxState.cc @@ -16,7 +16,7 @@ // Copyright (C) 2005 Kristian Høgsberg <k...@redhat.com> // Copyright (C) 2006, 2007 Jeff Muizelaar <j...@infidigm.net> // Copyright (C) 2006, 2010 Carlos Garcia Campos <carlo...@gnome.org> -// Copyright (C) 2006-2019 Albert Astals Cid <aa...@kde.org> +// Copyright (C) 2006-2020 Albert Astals Cid <aa...@kde.org> // Copyright (C) 2009, 2012 Koji Otani <s...@bbr.jp> // Copyright (C) 2009, 2011-2016 Thomas Freitag <thomas.frei...@alfa.de> // Copyright (C) 2009, 2019 Christian Persch <c...@gnome.org> @@ -4200,9 +4200,8 @@ GfxRadialShading *GfxRadialShading::parse(GfxResources *res, Dict *dict, OutputD extend0A = extend1A = false; obj1 = dict->lookup("Extend"); if (obj1.isArray() && obj1.arrayGetLength() == 2) { - Object obj2; - extend0A = (obj2 = obj1.arrayGet(0), obj2.isBool() ? obj2.getBool() : false); - extend1A = (obj2 = obj1.arrayGet(1), obj2.isBool() ? obj2.getBool() : false); + extend0A = obj1.arrayGet(0).getBoolWithDefaultValue(false); + extend1A = obj1.arrayGet(1).getBoolWithDefaultValue(false); } shading = new GfxRadialShading(x0A, y0A, r0A, x1A, y1A, r1A, t0A, t1A, diff --git a/poppler/Link.cc b/poppler/Link.cc index c9af4033..8d823919 100644 --- a/poppler/Link.cc +++ b/poppler/Link.cc @@ -16,7 +16,7 @@ // Copyright (C) 2006, 2008 Pino Toscano <p...@kde.org> // Copyright (C) 2007, 2010, 2011 Carlos Garcia Campos <carlo...@gnome.org> // Copyright (C) 2008 Hugo Mercier <hmercie...@gmail.com> -// Copyright (C) 2008-2010, 2012-2014, 2016-2019 Albert Astals Cid <aa...@kde.org> +// Copyright (C) 2008-2010, 2012-2014, 2016-2020 Albert Astals Cid <aa...@kde.org> // Copyright (C) 2009 Kovid Goyal <ko...@kovidgoyal.net> // Copyright (C) 2009 Ilya Gorenbein <igorenb...@finjan.com> // Copyright (C) 2012 Tobias Koening <tobias.koe...@kdab.com> @@ -827,8 +827,6 @@ Object LinkJavaScript::createObject(XRef *xref, const GooString &js) LinkOCGState::LinkOCGState(const Object *obj) : isValid(true) { - preserveRB = true; - Object obj1 = obj->dictLookup("State"); if (obj1.isArray()) { StateList stList; @@ -866,10 +864,7 @@ LinkOCGState::LinkOCGState(const Object *obj) isValid = false; } - obj1 = obj->dictLookup("PreserveRB"); - if (obj1.isBool()) { - preserveRB = obj1.getBool(); - } + preserveRB = obj->dictLookup("PreserveRB").getBoolWithDefaultValue(true); } //------------------------------------------------------------------------ diff --git a/poppler/Object.h b/poppler/Object.h index 1b7a0e60..ecc0b640 100644 --- a/poppler/Object.h +++ b/poppler/Object.h @@ -15,7 +15,7 @@ // // Copyright (C) 2007 Julien Rebetez <juli...@svn.gnome.org> // Copyright (C) 2008 Kees Cook <k...@outflux.net> -// Copyright (C) 2008, 2010, 2017-2019 Albert Astals Cid <aa...@kde.org> +// Copyright (C) 2008, 2010, 2017-2020 Albert Astals Cid <aa...@kde.org> // Copyright (C) 2009 Jakub Wilk <jw...@jwilk.net> // Copyright (C) 2012 Fabio D'Urso <fabiodu...@hotmail.it> // Copyright (C) 2013 Thomas Freitag <thomas.frei...@alfa.de> @@ -309,6 +309,10 @@ public: return type == objInt ? (double)intg : type == objInt64 ? (double)int64g : real; } + bool getBoolWithDefaultValue(bool defaultValue) const { + return (type == objBool) ? booln : defaultValue; + } + private: // Free object contents. void free(); diff --git a/poppler/PageTransition.cc b/poppler/PageTransition.cc index 97226868..65b27d99 100644 --- a/poppler/PageTransition.cc +++ b/poppler/PageTransition.cc @@ -1,6 +1,6 @@ /* PageTransition.cc * Copyright (C) 2005, Net Integration Technologies, Inc. - * Copyright (C) 2010, 2017, Albert Astals Cid <aa...@kde.org> + * Copyright (C) 2010, 2017, 2020, Albert Astals Cid <aa...@kde.org> * Copyright (C) 2013 Adrian Johnson <ajohn...@redneon.com> * Copyright (C) 2015, Arseniy Lartsev <arse...@alumni.chalmers.se> * @@ -35,7 +35,6 @@ PageTransition::PageTransition (Object *trans) { direction = transitionInward; angle = 0; scale = 1.0; - rectangular = false; ok = true; if (!trans || !trans->isDict ()) { @@ -123,10 +122,7 @@ PageTransition::PageTransition (Object *trans) { } // get rectangular - obj = dict->lookup("B"); - if (obj.isBool()) { - rectangular = obj.getBool(); - } + rectangular = dict->lookup("B").getBoolWithDefaultValue(false); } PageTransition::~PageTransition() diff --git a/poppler/ViewerPreferences.cc b/poppler/ViewerPreferences.cc index 3e96283f..5d3a6ae2 100644 --- a/poppler/ViewerPreferences.cc +++ b/poppler/ViewerPreferences.cc @@ -5,7 +5,7 @@ // This file is licensed under the GPLv2 or later // // Copyright 2011 Pino Toscano <p...@kde.org> -// Copyright 2017 Albert Astals Cid <aa...@kde.org> +// Copyright 2017, 2020 Albert Astals Cid <aa...@kde.org> // Copyright 2019 Marek Kasik <mka...@redhat.com> // //======================================================================== @@ -21,37 +21,19 @@ ViewerPreferences::ViewerPreferences(Dict *prefDict) { init(); - Object obj = prefDict->lookup("HideToolbar"); - if (obj.isBool()) { - hideToolbar = obj.getBool(); - } + hideToolbar = prefDict->lookup("HideToolbar").getBoolWithDefaultValue(false); - obj = prefDict->lookup("HideMenubar"); - if (obj.isBool()) { - hideMenubar = obj.getBool(); - } + hideMenubar = prefDict->lookup("HideMenubar").getBoolWithDefaultValue(false); - obj = prefDict->lookup("HideWindowUI"); - if (obj.isBool()) { - hideWindowUI = obj.getBool(); - } + hideWindowUI = prefDict->lookup("HideWindowUI").getBoolWithDefaultValue(false); - obj = prefDict->lookup("FitWindow"); - if (obj.isBool()) { - fitWindow = obj.getBool(); - } + fitWindow = prefDict->lookup("FitWindow").getBoolWithDefaultValue(false); - obj = prefDict->lookup("CenterWindow"); - if (obj.isBool()) { - centerWindow = obj.getBool(); - } + centerWindow = prefDict->lookup("CenterWindow").getBoolWithDefaultValue(false); - obj = prefDict->lookup("DisplayDocTitle"); - if (obj.isBool()) { - displayDocTitle = obj.getBool(); - } + displayDocTitle = prefDict->lookup("DisplayDocTitle").getBoolWithDefaultValue(false); - obj = prefDict->lookup("NonFullScreenPageMode"); + Object obj = prefDict->lookup("NonFullScreenPageMode"); if (obj.isName()) { const char *mode = obj.getName(); if (!strcmp(mode, "UseNone")) { @@ -97,10 +79,7 @@ ViewerPreferences::ViewerPreferences(Dict *prefDict) } } - obj = prefDict->lookup("PickTrayByPDFSize"); - if (obj.isBool()) { - pickTrayByPDFSize = obj.getBool(); - } + pickTrayByPDFSize = prefDict->lookup("PickTrayByPDFSize").getBoolWithDefaultValue(false); obj = prefDict->lookup("NumCopies"); if (obj.isInt()) { @@ -140,16 +119,9 @@ ViewerPreferences::~ViewerPreferences() void ViewerPreferences::init() { - hideToolbar = false; - hideMenubar = false; - hideWindowUI = false; - fitWindow = false; - centerWindow = false; - displayDocTitle = false; nonFullScreenPageMode = nfpmUseNone; direction = directionL2R; printScaling = printScalingAppDefault; duplex = duplexNone; - pickTrayByPDFSize = false; numCopies = 1; } _______________________________________________ poppler mailing list poppler@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/poppler