summaryrefslogtreecommitdiff
path: root/lotuswordpro/source/filter/lwplaypiece.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'lotuswordpro/source/filter/lwplaypiece.cxx')
-rw-r--r--lotuswordpro/source/filter/lwplaypiece.cxx467
1 files changed, 467 insertions, 0 deletions
diff --git a/lotuswordpro/source/filter/lwplaypiece.cxx b/lotuswordpro/source/filter/lwplaypiece.cxx
new file mode 100644
index 000000000000..b8853dd6d449
--- /dev/null
+++ b/lotuswordpro/source/filter/lwplaypiece.cxx
@@ -0,0 +1,467 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: IBM Corporation
+ *
+ * Copyright: 2008 by IBM Corporation
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+/*************************************************************************
+ * @file
+ * For LWP filter architecture prototype
+ ************************************************************************/
+/*************************************************************************
+ * Change History
+ Jan 28 2005 Created
+ ************************************************************************/
+
+#include "lwplaypiece.hxx"
+
+#include "lwpfilehdr.hxx"
+LwpRotor::LwpRotor()
+{}
+
+LwpRotor::~LwpRotor()
+{}
+
+void LwpRotor:: Read(LwpObjectStream *pStrm)
+{
+ m_nRotation = pStrm->QuickReadInt16();
+}
+
+LwpLayoutGeometry::LwpLayoutGeometry(LwpObjectHeader& objHdr, LwpSvStream* pStrm)
+ : LwpVirtualPiece(objHdr, pStrm)
+{}
+
+LwpLayoutGeometry::~LwpLayoutGeometry()
+{}
+
+void LwpLayoutGeometry::Read()
+{
+ LwpVirtualPiece::Read();
+
+ if(LwpFileHeader::m_nFileRevision >= 0x000B)
+ {
+ m_nWidth = m_pObjStrm->QuickReadInt32();
+ m_nHeight = m_pObjStrm->QuickReadInt32();
+ m_Origin.Read(m_pObjStrm);
+ m_AbsoluteOrigin.Read(m_pObjStrm);
+ m_ContainerRotor.Read(m_pObjStrm);
+ m_ContentOrientation = m_pObjStrm->QuickReaduInt8();
+ m_pObjStrm->SkipExtra();
+ }
+}
+void LwpLayoutGeometry::Parse(IXFStream* /*pOutputStream*/)
+{}
+
+LwpLayoutScale::LwpLayoutScale(LwpObjectHeader& objHdr, LwpSvStream* pStrm)
+ : LwpVirtualPiece(objHdr, pStrm)
+{}
+
+LwpLayoutScale::~LwpLayoutScale()
+{}
+
+void LwpLayoutScale::Read()
+{
+ LwpVirtualPiece::Read();
+
+ if(LwpFileHeader::m_nFileRevision >= 0x000B)
+ {
+ m_nScaleMode = m_pObjStrm->QuickReaduInt16();
+ m_nScalePercentage = m_pObjStrm->QuickReaduInt32();
+ m_nScaleWidth = m_pObjStrm->QuickReadInt32();
+ m_nScaleHeight = m_pObjStrm->QuickReadInt32();
+ m_nContentRotation = m_pObjStrm->QuickReaduInt16();
+ m_Offset.Read(m_pObjStrm);
+
+ m_nPlacement = m_pObjStrm->QuickReaduInt16();
+ m_pObjStrm->SkipExtra();
+ }
+}
+
+void LwpLayoutScale::Parse(IXFStream* /*pOutputStream*/)
+{}
+
+LwpLayoutMargins::LwpLayoutMargins(LwpObjectHeader& objHdr, LwpSvStream* pStrm)
+ : LwpVirtualPiece(objHdr, pStrm)
+{}
+
+LwpLayoutMargins::~LwpLayoutMargins()
+{}
+
+void LwpLayoutMargins::Read()
+{
+ LwpVirtualPiece::Read();
+
+ if( LwpFileHeader::m_nFileRevision >= 0x000B )
+ {
+ m_Margins.Read(m_pObjStrm);
+ m_ExtMargins.Read(m_pObjStrm);
+ m_ExtraMargins.Read(m_pObjStrm);
+ m_pObjStrm->SkipExtra();
+ }
+}
+
+void LwpLayoutMargins::Parse(IXFStream* /*pOutputStream*/)
+{}
+
+LwpLayoutBorder::LwpLayoutBorder(LwpObjectHeader& objHdr, LwpSvStream* pStrm)
+ : LwpVirtualPiece(objHdr, pStrm)
+{}
+
+LwpLayoutBorder::~LwpLayoutBorder()
+{}
+
+void LwpLayoutBorder::Read()
+{
+ LwpVirtualPiece::Read();
+
+ if( LwpFileHeader::m_nFileRevision >= 0x000B )
+ {
+ m_BorderStuff.Read(m_pObjStrm);
+ m_pObjStrm->SkipExtra();
+ }
+}
+
+void LwpLayoutBorder::Parse(IXFStream* /*pOutputStream*/)
+{}
+
+LwpLayoutBackground::LwpLayoutBackground(LwpObjectHeader& objHdr, LwpSvStream* pStrm)
+ : LwpVirtualPiece(objHdr, pStrm)
+{}
+
+LwpLayoutBackground::~LwpLayoutBackground()
+{}
+
+void LwpLayoutBackground::Read()
+{
+ LwpVirtualPiece::Read();
+
+ if( LwpFileHeader::m_nFileRevision >= 0x000B )
+ {
+ m_BackgroundStuff.Read(m_pObjStrm);
+ m_pObjStrm->SkipExtra();
+ }
+}
+
+void LwpLayoutBackground::Parse(IXFStream* /*pOutputStream*/)
+{}
+
+LwpExternalBorder::LwpExternalBorder()
+{}
+
+LwpExternalBorder::~LwpExternalBorder()
+{}
+
+void LwpExternalBorder:: Read(LwpObjectStream *pStrm)
+{
+ if( LwpFileHeader::m_nFileRevision >= 0x000F )
+ {
+ //enum {BORDER,JOIN};
+ m_LeftName.Read(pStrm);
+ m_TopName.Read(pStrm);
+ m_RightName.Read(pStrm);
+ m_BottomName.Read(pStrm);
+ // TODO: Do not know what it is for
+ /*cLeftName = CStyleMgr::GetUniqueMetaFileName(cLeftName,BORDER);
+ cRightName = CStyleMgr::GetUniqueMetaFileName(cRightName,BORDER);
+ cTopName = CStyleMgr::GetUniqueMetaFileName(cTopName,BORDER);
+ cBottomName = CStyleMgr::GetUniqueMetaFileName(cBottomName,BORDER);*/
+ pStrm->SkipExtra();
+ }
+}
+
+LwpLayoutExternalBorder::LwpLayoutExternalBorder(LwpObjectHeader& objHdr, LwpSvStream* pStrm)
+ : LwpVirtualPiece(objHdr, pStrm)
+{}
+
+LwpLayoutExternalBorder::~LwpLayoutExternalBorder()
+{}
+
+void LwpLayoutExternalBorder::Read()
+{
+ LwpVirtualPiece::Read();
+
+ if( LwpFileHeader::m_nFileRevision >= 0x000B )
+ {
+ m_ExtranalBorder.Read(m_pObjStrm);
+ m_pObjStrm->SkipExtra();
+ }
+}
+
+void LwpLayoutExternalBorder::Parse(IXFStream* /*pOutputStream*/)
+{}
+
+LwpColumnInfo::LwpColumnInfo()
+{}
+
+LwpColumnInfo::~LwpColumnInfo()
+{}
+
+void LwpColumnInfo:: Read(LwpObjectStream *pStrm)
+{
+ m_nWidth = pStrm->QuickReadInt32();
+ m_nGap = pStrm->QuickReadInt32();
+}
+
+LwpLayoutColumns::LwpLayoutColumns(LwpObjectHeader& objHdr, LwpSvStream* pStrm)
+ : LwpVirtualPiece(objHdr, pStrm),m_pColumns(NULL)
+{}
+
+LwpLayoutColumns::~LwpLayoutColumns()
+{
+ if(m_pColumns)
+ {
+ delete[] m_pColumns;
+ m_pColumns = NULL;
+ }
+
+}
+
+void LwpLayoutColumns::Read()
+{
+ LwpVirtualPiece::Read();
+
+ if( LwpFileHeader::m_nFileRevision >= 0x000B )
+ {
+ m_nNumCols = m_pObjStrm->QuickReaduInt16();
+ m_pColumns = new LwpColumnInfo[m_nNumCols];
+ for(int i=0; i<m_nNumCols; i++)
+ {
+ m_pColumns[i].Read(m_pObjStrm);
+ }
+ m_pObjStrm->SkipExtra();
+ }
+}
+
+double LwpLayoutColumns::GetColWidth(sal_uInt16 nIndex)
+{
+ if(nIndex >= m_nNumCols)
+ {
+ return 0;
+ }
+ return m_pColumns[nIndex].GetWidth();
+}
+
+double LwpLayoutColumns::GetColGap(sal_uInt16 nIndex)
+{
+ if(nIndex >= m_nNumCols)
+ {
+ return 0;
+ }
+ return m_pColumns[nIndex].GetGap();
+}
+
+void LwpLayoutColumns::Parse(IXFStream* /*pOutputStream*/)
+{}
+
+LwpLayoutGutters::LwpLayoutGutters(LwpObjectHeader& objHdr, LwpSvStream* pStrm)
+ : LwpVirtualPiece(objHdr, pStrm)
+{}
+
+LwpLayoutGutters::~LwpLayoutGutters()
+{}
+
+void LwpLayoutGutters::Read()
+{
+ LwpVirtualPiece::Read();
+
+ if( LwpFileHeader::m_nFileRevision >= 0x000B )
+ {
+ m_BorderBuffer.Read(m_pObjStrm);
+ m_pObjStrm->SkipExtra();
+ }
+}
+
+
+void LwpLayoutGutters::Parse(IXFStream* /*pOutputStream*/)
+{}
+
+LwpJoinStuff::LwpJoinStuff()
+{}
+
+LwpJoinStuff::~LwpJoinStuff()
+{}
+
+#include "lwpstyledef.hxx"
+void LwpJoinStuff:: Read(LwpObjectStream *pStrm)
+{
+ m_nWidth = pStrm->QuickReadInt32();
+ m_nHeight = pStrm->QuickReadInt32();
+ m_nPercentage = pStrm->QuickReaduInt16();
+ m_nID = pStrm->QuickReaduInt16();
+ m_nCorners = pStrm->QuickReaduInt16();
+ m_nScaling = pStrm->QuickReaduInt16();
+ m_Color.Read(pStrm);
+ pStrm->SkipExtra();
+
+ // Bug fix: if reading in from something older than Release 9
+ // then check for the external ID and change it to solid.
+ if (LwpFileHeader::m_nFileRevision < 0x0010)
+ {
+ if (m_nID & EXTERNAL_ID)
+ m_nID = MITRE;
+ }
+}
+
+LwpLayoutJoins::LwpLayoutJoins(LwpObjectHeader& objHdr, LwpSvStream* pStrm)
+ : LwpVirtualPiece(objHdr, pStrm)
+{}
+
+LwpLayoutJoins::~LwpLayoutJoins()
+{}
+
+void LwpLayoutJoins::Read()
+{
+ LwpVirtualPiece::Read();
+
+ if( LwpFileHeader::m_nFileRevision >= 0x000B )
+ {
+ m_JoinStuff.Read(m_pObjStrm);
+ m_pObjStrm->SkipExtra();
+ }
+}
+
+void LwpLayoutJoins::Parse(IXFStream* /*pOutputStream*/)
+{}
+
+LwpLayoutShadow::LwpLayoutShadow(LwpObjectHeader& objHdr, LwpSvStream* pStrm)
+ : LwpVirtualPiece(objHdr, pStrm)
+{}
+
+LwpLayoutShadow::~LwpLayoutShadow()
+{}
+
+void LwpLayoutShadow::Read()
+{
+ LwpVirtualPiece::Read();
+
+ if( LwpFileHeader::m_nFileRevision >= 0x000B )
+ {
+ m_Shadow.Read(m_pObjStrm);
+ m_pObjStrm->SkipExtra();
+ }
+}
+
+void LwpLayoutShadow::Parse(IXFStream* /*pOutputStream*/)
+{}
+/**************************************************************************
+ * @descr: Constructor
+ * @param:
+ * @param:
+ * @return:
+**************************************************************************/
+LwpLayoutRelativityGuts::LwpLayoutRelativityGuts()
+{
+ m_nRelType = LAY_PARENT_RELATIVE;
+ m_nRelFromWhere = LAY_UPPERLEFT;
+ m_RelDistance.SetX(0);
+ m_RelDistance.SetY(0);
+ m_nTether = LAY_UPPERLEFT;
+ m_nTetherWhere = LAY_BORDER;
+ m_nFlags = 0;
+}
+/**************************************************************************
+ * @descr: Read LayoutRelativityGuts' infomation.
+ * @param:
+ * @param:
+ * @return:
+**************************************************************************/
+void LwpLayoutRelativityGuts::Read(LwpObjectStream *pStrm)
+{
+ m_nRelType = pStrm->QuickReaduInt8();
+ m_nRelFromWhere = pStrm->QuickReaduInt8();
+ m_RelDistance.Read(pStrm);
+ m_nTether = pStrm->QuickReaduInt8();
+ m_nTetherWhere = pStrm->QuickReaduInt8();
+ if(LwpFileHeader::m_nFileRevision >= 0x000B)
+ {
+ m_nFlags = pStrm->QuickReaduInt8();
+ }
+ else
+ {
+ m_nFlags = 0;
+ }
+}
+/**************************************************************************
+ * @descr: Constructor
+ * @param:
+ * @param:
+ * @return:
+**************************************************************************/
+LwpLayoutRelativity::LwpLayoutRelativity(LwpObjectHeader &objHdr, LwpSvStream *pStrm)
+ : LwpVirtualPiece(objHdr, pStrm)
+{
+}
+/**************************************************************************
+ * @descr: destructor
+ * @param:
+ * @param:
+ * @return:
+**************************************************************************/
+LwpLayoutRelativity::~LwpLayoutRelativity()
+{
+}
+
+void LwpLayoutRelativity::Read()
+{
+ LwpVirtualPiece::Read();
+ if(LwpFileHeader::m_nFileRevision >= 0x000B)
+ {
+ m_RelGuts.Read(m_pObjStrm);
+ m_pObjStrm->SkipExtra();
+ }
+}
+
+void LwpLayoutRelativity::Parse(IXFStream * /*pOutputStream*/)
+{
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */