//======================================================================== // // SplashFontFile.cc // //======================================================================== //======================================================================== // // Modified under the Poppler project - http://poppler.freedesktop.org // // All changes made under the Poppler project to this file are licensed // under GPL version 2 or later // // Copyright (C) 2006 Takashi Iwai // Copyright (C) 2008, 2022 Albert Astals Cid // Copyright (C) 2019 Christian Persch // Copyright (C) 2022 Oliver Sander // Copyright (C) 2024 g10 Code GmbH, Author: Sune Stolborg Vuorela // // To see a description of the changes please see the Changelog file that // came with your tarball or type make ChangeLog if you are building from git // //======================================================================== #include #include #ifdef HAVE_UNISTD_H # include #endif #include "goo/gmem.h" #include "goo/GooString.h" #include "SplashFontFile.h" #include "SplashFontFileID.h" //------------------------------------------------------------------------ // SplashFontFile //------------------------------------------------------------------------ SplashFontFile::SplashFontFile(std::unique_ptr idA, SplashFontSrc *srcA) { id = std::move(idA); src = srcA; src->ref(); refCnt = 0; doAdjustMatrix = false; } SplashFontFile::~SplashFontFile() { src->unref(); } void SplashFontFile::incRefCnt() { ++refCnt; } void SplashFontFile::decRefCnt() { if (!--refCnt) { delete this; } } // SplashFontSrc::SplashFontSrc() { isFile = false; refcnt = 1; } SplashFontSrc::~SplashFontSrc() = default; void SplashFontSrc::ref() { refcnt++; } void SplashFontSrc::unref() { if (!--refcnt) { delete this; } } void SplashFontSrc::setFile(const std::string &file) { isFile = true; fileName = file; } void SplashFontSrc::setBuf(std::vector &&bufA) { isFile = false; buf = std::move(bufA); }