Coverage Report

Created: 2025-11-16 09:57

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/include/xmloff/XMLFontStylesContext.hxx
Line
Count
Source
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
#ifndef INCLUDED_XMLOFF_XMLFONTSTYLESCONTEXT_HXX
20
#define INCLUDED_XMLOFF_XMLFONTSTYLESCONTEXT_HXX
21
22
#include <sal/config.h>
23
#include <xmloff/dllapi.h>
24
25
#include <memory>
26
#include <vector>
27
28
#include <xmloff/xmlstyle.hxx>
29
30
struct XMLPropertyState;
31
class XMLFontFamilyNamePropHdl;
32
class XMLFontFamilyPropHdl;
33
class XMLFontPitchPropHdl;
34
class XMLFontEncodingPropHdl;
35
36
class XMLOFF_DLLPUBLIC XMLFontStylesContext final : public SvXMLStylesContext
37
{
38
    std::unique_ptr<XMLFontFamilyNamePropHdl>    m_pFamilyNameHdl;
39
    std::unique_ptr<XMLFontFamilyPropHdl>        m_pFamilyHdl;
40
    std::unique_ptr<XMLFontPitchPropHdl>         m_pPitchHdl;
41
    std::unique_ptr<XMLFontEncodingPropHdl>      m_pEncHdl;
42
43
    rtl_TextEncoding        m_eDefaultEncoding;
44
45
    using SvXMLStylesContext::CreateStyleChildContext;
46
    virtual SvXMLStyleContext *CreateStyleChildContext( sal_Int32 nElement,
47
        const css::uno::Reference< css::xml::sax::XFastAttributeList > & xAttrList ) override;
48
49
public:
50
51
    XMLFontStylesContext( SvXMLImport& rImport, rtl_TextEncoding eDfltEnc );
52
53
    ~XMLFontStylesContext() override;
54
55
    bool FillProperties( const OUString& rName,
56
                         ::std::vector< XMLPropertyState > &rProps,
57
                         sal_Int32 nFamilyNameIdx,
58
                         sal_Int32 nStyleNameIdx,
59
                         sal_Int32 nFamilyIdx,
60
                         sal_Int32 nPitchIdx,
61
                         sal_Int32 nCharsetIdx ) const;
62
63
34.3k
    rtl_TextEncoding GetDfltCharset() const { return m_eDefaultEncoding; }
64
65
24.5k
    XMLFontFamilyNamePropHdl& GetFamilyNameHdl() const { return *m_pFamilyNameHdl; }
66
23.3k
    XMLFontFamilyPropHdl& GetFamilyHdl() const { return *m_pFamilyHdl; }
67
27.7k
    XMLFontPitchPropHdl& GetPitchHdl() const { return *m_pPitchHdl; }
68
3.71k
    XMLFontEncodingPropHdl& GetEncodingHdl() const { return *m_pEncHdl; }
69
70
};
71
72
#endif
73
74
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */