summaryrefslogtreecommitdiff
path: root/starmath/inc
diff options
context:
space:
mode:
Diffstat (limited to 'starmath/inc')
-rw-r--r--starmath/inc/cfgitem.hxx2
-rw-r--r--starmath/inc/document.hxx5
-rw-r--r--starmath/inc/smediteng.hxx60
-rw-r--r--starmath/inc/starmath.hrc1
4 files changed, 66 insertions, 2 deletions
diff --git a/starmath/inc/cfgitem.hxx b/starmath/inc/cfgitem.hxx
index 9e1438b68c38..6342d740c35c 100644
--- a/starmath/inc/cfgitem.hxx
+++ b/starmath/inc/cfgitem.hxx
@@ -162,6 +162,8 @@ public:
void SetPrintSize(SmPrintSize eSize);
sal_uInt16 GetPrintZoomFactor() const;
void SetPrintZoomFactor(sal_uInt16 nVal);
+ sal_uInt16 GetSmEditWindowZoomFactor() const;
+ void SetSmEditWindowZoomFactor(sal_uInt16 nVal);
bool IsSaveOnlyUsedSymbols() const;
void SetSaveOnlyUsedSymbols(bool bVal);
diff --git a/starmath/inc/document.hxx b/starmath/inc/document.hxx
index 2c3a9183bf87..588a8d93f1b0 100644
--- a/starmath/inc/document.hxx
+++ b/starmath/inc/document.hxx
@@ -58,6 +58,7 @@ namespace oox::formulaimport { class XmlStream; }
class SmDocShell;
class EditEngine;
+class SmEditEngine;
class SmPrinterAccess
{
@@ -82,7 +83,7 @@ class SM_DLLPUBLIC SmDocShell : public SfxObjectShell, public SfxListener
SvtLinguOptions maLinguOptions;
std::unique_ptr<SmTableNode> mpTree;
rtl::Reference<SfxItemPool> mpEditEngineItemPool;
- std::unique_ptr<EditEngine> mpEditEngine;
+ std::unique_ptr<SmEditEngine> mpEditEngine;
VclPtr<SfxPrinter> mpPrinter; //q.v. comment to SmPrinter Access!
VclPtr<Printer> mpTmpPrinter; //ditto
sal_uInt16 mnModifyCount;
@@ -210,7 +211,7 @@ public:
void writeFormulaRtf(OStringBuffer& rBuffer, rtl_TextEncoding nEncoding);
void readFormulaOoxml( oox::formulaimport::XmlStream& stream );
- void UpdateEditEngineDefaultFonts(const Color& aTextColor);
+ void UpdateEditEngineDefaultFonts();
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/starmath/inc/smediteng.hxx b/starmath/inc/smediteng.hxx
new file mode 100644
index 000000000000..c3d3d576467e
--- /dev/null
+++ b/starmath/inc/smediteng.hxx
@@ -0,0 +1,60 @@
+/* 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 <editeng/fontitem.hxx>
+#include <unotools/lingucfg.hxx>
+
+class SmEditEngine : 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 wich contains all the text.
+ */
+ void updateAllESelection();
+};
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/starmath/inc/starmath.hrc b/starmath/inc/starmath.hrc
index 5001b29b0f51..c566783156ca 100644
--- a/starmath/inc/starmath.hrc
+++ b/starmath/inc/starmath.hrc
@@ -67,6 +67,7 @@
#define SID_SAVE_ONLY_USED_SYMBOLS (SID_SMA_START + 125)
#define SID_ELEMENTSDOCKINGWINDOW (SID_SMA_START + 126)
#define SID_AUTO_CLOSE_BRACKETS (SID_SMA_START + 127)
+#define SID_SMEDITWINDOWZOOM (SID_SMA_START + 129)
#define SID_DEFAULT_SM_SYNTAX_VERSION (SID_SMA_START + 130)
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */