blob: 6c95b58044901d97385cae4ace98026e49bbb7af (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
/* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#pragma once
#include <editeng/editeng.hxx>
#include <unotools/lingucfg.hxx>
class SmEditEngine final : public EditEngine
{
public:
SmEditEngine(SfxItemPool* pItemPool);
SmEditEngine(const SmEditEngine&) = delete;
public:
/**
* Runs checkZoom and if true runs updateZoom
*/
void executeZoom(EditView* pEditView = nullptr);
/**
* Sets up default font parameters for the item pool.
*/
static void setSmItemPool(SfxItemPool* mpItemPool, const SvtLinguOptions& maLangOptions);
// Deal with text scaling
private:
sal_Int32 m_nOldZoom;
sal_Int32 m_nNewZoom;
sal_Int32 m_nDefaultFontSize;
/**
* Checks if the zoom of smeditwindow has changed.
* m_nNewZoom is updated.
* @return zoom has changed
*/
bool checkZoom();
/**
* Updates the zoom of smeditwindow.
* m_nOldZoom is set to m_nNewZoom.
*/
void updateZoom();
// Gather information for more complex tasks
private:
ESelection m_aAllSelection;
/**
* Finds the ESelection which contains all the text.
*/
void updateAllESelection();
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
|