Coverage Report

Created: 2025-12-08 09:28

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/include/sfx2/StylePreviewRenderer.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
10
#ifndef INCLUDED_SFX2_STYLEPREVIEWRENDERER_HXX
11
#define INCLUDED_SFX2_STYLEPREVIEWRENDERER_HXX
12
13
#include <sfx2/dllapi.h>
14
#include <sfx2/objsh.hxx>
15
16
class OutputDevice;
17
class SfxStyleSheetBase;
18
19
namespace sfx2
20
{
21
22
class SFX2_DLLPUBLIC StylePreviewRenderer
23
{
24
protected:
25
    const SfxObjectShell& mrShell;
26
    OutputDevice& mrOutputDev;
27
    SfxStyleSheetBase* mpStyle;
28
    tools::Long mnMaxHeight;
29
30
public:
31
    enum class RenderAlign
32
    {
33
        TOP, CENTER
34
    };
35
36
    StylePreviewRenderer(const SfxObjectShell& rShell,
37
                         OutputDevice& rOutputDev,
38
                         SfxStyleSheetBase* pStyle,
39
                         tools::Long nMaxHeight)
40
        : mrShell(rShell)
41
        , mrOutputDev(rOutputDev)
42
        , mpStyle(pStyle)
43
        , mnMaxHeight(nMaxHeight)
44
0
    {}
45
46
    virtual ~StylePreviewRenderer()
47
0
    {}
48
49
    virtual bool recalculate() = 0;
50
    virtual bool render(const tools::Rectangle& aRectangle, RenderAlign eRenderAlign = RenderAlign::CENTER) = 0;
51
};
52
53
} // end namespace sfx2
54
55
SFX2_DLLPUBLIC Color ColorHash(std::u16string_view rString);
56
57
#endif // INCLUDED_SVX_STYLEPREVIEWRENDERER_HXX
58
59
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */