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_OOXMLEXPORT_HXX
11 #define INCLUDED_STARMATH_SOURCE_OOXMLEXPORT_HXX
13 #include "wordexportbase.hxx"
15 #include <sax/fshelper.hxx>
16 #include <oox/core/filterbase.hxx>
17 #include <oox/export/utils.hxx>
20 Class implementing writing of formulas to OOXML.
22 class SmOoxmlExport
: public SmWordExportBase
25 SmOoxmlExport(const SmNode
* pIn
, oox::core::OoxmlVersion version
,
26 oox::drawingml::DocumentType documentType
);
27 void ConvertFromStarMath( const ::sax_fastparser::FSHelperPtr
& m_pSerializer
);
29 void HandleVerticalStack( const SmNode
* pNode
, int nLevel
) override
;
30 void HandleText( const SmNode
* pNode
, int nLevel
) override
;
31 void HandleFractions( const SmNode
* pNode
, int nLevel
, const char* type
) override
;
32 void HandleRoot( const SmRootNode
* pNode
, int nLevel
) override
;
33 void HandleAttribute( const SmAttributNode
* pNode
, int nLevel
) override
;
34 void HandleOperator( const SmOperNode
* pNode
, int nLevel
) override
;
35 void HandleSubSupScriptInternal( const SmSubSupNode
* pNode
, int nLevel
, int flags
) override
;
36 void HandleMatrix( const SmMatrixNode
* pNode
, int nLevel
) override
;
37 void HandleBrace( const SmBraceNode
* pNode
, int nLevel
) override
;
38 void HandleVerticalBrace( const SmVerticalBraceNode
* pNode
, int nLevel
) override
;
39 void HandleBlank() override
;
40 ::sax_fastparser::FSHelperPtr m_pSerializer
;
41 oox::core::OoxmlVersion version
;
42 /// needed to determine markup for nested run properties
43 oox::drawingml::DocumentType
const m_DocumentType
;
49 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */