1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
10 #ifndef INCLUDED_STARMATH_SOURCE_RTFEXPORT_HXX
11 #define INCLUDED_STARMATH_SOURCE_RTFEXPORT_HXX
13 #include "wordexportbase.hxx"
15 #include <rtl/strbuf.hxx>
18 Class implementing writing of formulas to RTF.
20 class SmRtfExport
: public SmWordExportBase
23 explicit SmRtfExport(const SmNode
* pIn
);
24 void ConvertFromStarMath(OStringBuffer
& rBuffer
, rtl_TextEncoding nEncoding
);
27 void HandleVerticalStack(const SmNode
* pNode
, int nLevel
) override
;
28 void HandleText(const SmNode
* pNode
, int nLevel
) override
;
29 void HandleFractions(const SmNode
* pNode
, int nLevel
, const char* type
) override
;
30 void HandleRoot(const SmRootNode
* pNode
, int nLevel
) override
;
31 void HandleAttribute(const SmAttributNode
* pNode
, int nLevel
) override
;
32 void HandleOperator(const SmOperNode
* pNode
, int nLevel
) override
;
33 void HandleSubSupScriptInternal(const SmSubSupNode
* pNode
, int nLevel
, int flags
) override
;
34 void HandleMatrix(const SmMatrixNode
* pNode
, int nLevel
) override
;
35 void HandleBrace(const SmBraceNode
* pNode
, int nLevel
) override
;
36 void HandleVerticalBrace(const SmVerticalBraceNode
* pNode
, int nLevel
) override
;
37 void HandleBlank() override
;
39 OStringBuffer
* m_pBuffer
;
40 rtl_TextEncoding m_nEncoding
;
45 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */