1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 // MARKER(update_precomp.py): autogen include statement, do not remove 29 #include "precompiled_starmath.hxx" 30 #include "eqnolefilehdr.hxx" 31 #include <sot/storage.hxx> 32 33 ////////////////////////////////////////////////////////////////////// 34 35 void EQNOLEFILEHDR::Read(SvStorageStream *pS) 36 { 37 *pS >> nCBHdr; 38 *pS >> nVersion; 39 *pS >> nCf; 40 *pS >> nCBObject; 41 *pS >> nReserved1; 42 *pS >> nReserved2; 43 *pS >> nReserved3; 44 *pS >> nReserved4; 45 } 46 47 48 void EQNOLEFILEHDR::Write(SvStorageStream *pS) 49 { 50 *pS << nCBHdr; 51 *pS << nVersion; 52 *pS << nCf; 53 *pS << nCBObject; 54 *pS << nReserved1; 55 *pS << nReserved2; 56 *pS << nReserved3; 57 *pS << nReserved4; 58 } 59 60 61 sal_Bool GetMathTypeVersion( SotStorage* pStor, sal_uInt8 &nVersion ) 62 { 63 sal_uInt8 nVer = 0; 64 sal_Bool bSuccess = sal_False; 65 66 // 67 // code sniplet copied from MathType::Parse 68 // 69 SvStorageStreamRef xSrc = pStor->OpenSotStream( 70 String::CreateFromAscii("Equation Native"), 71 STREAM_STD_READ | STREAM_NOCREATE); 72 if ( (!xSrc.Is()) || (SVSTREAM_OK != xSrc->GetError())) 73 return bSuccess; 74 SvStorageStream *pS = &xSrc; 75 pS->SetNumberFormatInt( NUMBERFORMAT_INT_LITTLEENDIAN ); 76 // 77 EQNOLEFILEHDR aHdr; 78 aHdr.Read(pS); 79 *pS >> nVer; 80 81 if (!pS->GetError()) 82 { 83 nVersion = nVer; 84 bSuccess = sal_True; 85 } 86 return bSuccess; 87 } 88 89 ////////////////////////////////////////////////////////////////////// 90 91