LibreOffice Module vcl (master)  1
impglyphitem.cxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #include <impglyphitem.hxx>
21 
22 #if (defined UNX && !defined MACOSX && !defined IOS)
24 #endif
25 
27  : m_pImpl(nullptr)
28 {
29 }
30 
32 
34 {
35  m_pImpl = rOther.m_pImpl ? rOther.m_pImpl->clone(*this) : nullptr;
36 }
37 
39 {
40  if (this != &rOther)
41  {
42  delete m_pImpl;
43  m_pImpl = rOther.m_pImpl ? rOther.m_pImpl->clone(*this) : nullptr;
44  }
45  return *this;
46 }
47 
48 bool SalLayoutGlyphs::IsValid() const { return m_pImpl && m_pImpl->IsValid(); }
49 
51 {
52  if (m_pImpl)
54 }
55 
57 
59 {
61  *pNew = *this;
62  return pNew;
63 }
64 
66 {
67  if (!m_rFontInstance.is())
68  return false;
69  if (empty())
70  return false;
71 #if (defined UNX && !defined MACOSX && !defined IOS)
72  const FreetypeFontInstance* pFFI = dynamic_cast<FreetypeFontInstance*>(m_rFontInstance.get());
73  if (pFFI && !pFFI->GetFreetypeFont())
74  {
75  m_rFontInstance.clear();
76  return false;
77  }
78 #endif
79  return true;
80 }
81 
83 {
84  m_rFontInstance.clear();
85  clear();
86 }
87 
88 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SalLayoutGlyphsImpl * clone(SalLayoutGlyphs &rGlyphs) const
bool IsValid() const
SalLayoutGlyphsImpl * m_pImpl
Definition: glyphitem.hxx:33
bool IsValid() const
rtl::Reference< LogicalFontInstance > m_rFontInstance
FreetypeFont * GetFreetypeFont() const
SalLayoutGlyphsImpl(SalLayoutGlyphs &rGlyphs, LogicalFontInstance &rFontInstance)
SalLayoutGlyphs & operator=(const SalLayoutGlyphs &)