LibreOffice Module lotuswordpro (master) 1
lwpgrfobj.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*************************************************************************
3 *
4 * The Contents of this file are made available subject to the terms of
5 * either of the following licenses
6 *
7 * - GNU Lesser General Public License Version 2.1
8 * - Sun Industry Standards Source License Version 1.1
9 *
10 * Sun Microsystems Inc., October, 2000
11 *
12 * GNU Lesser General Public License Version 2.1
13 * =============================================
14 * Copyright 2000 by Sun Microsystems, Inc.
15 * 901 San Antonio Road, Palo Alto, CA 94303, USA
16 *
17 * This library is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU Lesser General Public
19 * License version 2.1, as published by the Free Software Foundation.
20 *
21 * This library is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
24 * Lesser General Public License for more details.
25 *
26 * You should have received a copy of the GNU Lesser General Public
27 * License along with this library; if not, write to the Free Software
28 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
29 * MA 02111-1307 USA
30 *
31 *
32 * Sun Industry Standards Source License Version 1.1
33 * =================================================
34 * The contents of this file are subject to the Sun Industry Standards
35 * Source License Version 1.1 (the "License"); You may not use this file
36 * except in compliance with the License. You may obtain a copy of the
37 * License at http://www.openoffice.org/license.html.
38 *
39 * Software provided under this License is provided on an "AS IS" basis,
40 * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
41 * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
42 * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
43 * See the License for the specific provisions governing your rights and
44 * obligations concerning the Software.
45 *
46 * The Initial Developer of the Original Code is: IBM Corporation
47 *
48 * Copyright: 2008 by IBM Corporation
49 *
50 * All Rights Reserved.
51 *
52 * Contributor(s): _______________________________________
53 *
54 *
55 ************************************************************************/
56/*************************************************************************
57 * @file
58 * For LWP filter architecture prototype
59 ************************************************************************/
60
61#ifndef INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_LWPGRFOBJ_HXX
62#define INCLUDED_LOTUSWORDPRO_SOURCE_FILTER_LWPGRFOBJ_HXX
63
64#include <sal/types.h>
65#include <config_lgpl.h>
66
67#include "lwpoleobject.hxx"
68
70{
77
79 : nBrightness(50),
80 nContrast(50),
82 nSmoothing(0),
83 bAutoContrast(false),
84 bInvertImage(false)
85 {
86 }
87};
88
89class XFFrame;
91{
92public:
93 LwpGraphicObject(LwpObjectHeader const &objHdr, LwpSvStream* pStrm);
94 virtual ~LwpGraphicObject() override;
95private:
99 sal_Int16 m_bIsLinked;
101 sal_Int16 m_bCompressed;
104
106
108
109 bool IsGrafFormatValid() const;
110 std::vector< rtl::Reference<XFFrame> > m_vXFDrawObjects;
111
112public:
113 void Read() override;
114 virtual void XFConvert (XFContentContainer* pCont) override;
115 void RegisterStyle() override;
116
117 void CreateDrawObjects();
118 void CreateGrafObject();
119 static void GetBentoNamebyID(LwpObjectID const & rMyID, std::string& rName);
120 std::vector<sal_uInt8> GetRawGrafData();
121 sal_uInt32 GetGrafData(std::unique_ptr<sal_uInt8[]>& pGrafData);
122 void GetGrafOrgSize(tools::Long& rWidth, tools::Long& rHeight) { rWidth = m_Cache.Width; rHeight = m_Cache.Height; }
123 void GetGrafOrgSize(double& rWidth, double& rHeight) override;
124
125 sal_Int16 IsLinked() const { return m_bIsLinked;}
126 const OUString& GetLinkedFilePath() const { return m_LinkedFilePath;}
127};
128
129#endif
130
131/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
AFID_CACHE m_Cache
Definition: lwpgrfobj.hxx:100
void CreateGrafObject()
@descr create xf-image object and save it in the container: m_vXFDrawObjects.
Definition: lwpgrfobj.cxx:397
const OUString & GetLinkedFilePath() const
Definition: lwpgrfobj.hxx:126
sal_Int16 m_bIsLinked
Definition: lwpgrfobj.hxx:99
ImageProcessingData m_aIPData
Definition: lwpgrfobj.hxx:105
void XFConvertEquation(XFContentContainer *pCont)
@descr Reserve the equation text in a note in the context.
Definition: lwpgrfobj.cxx:637
OUString m_LinkedFilePath
Definition: lwpgrfobj.hxx:103
virtual void XFConvert(XFContentContainer *pCont) override
@descr default XFConvert function pCont is the XFContentContainer for the object conversion
Definition: lwpgrfobj.cxx:202
unsigned char m_sServerContextFormat[AFID_MAX_CONTEXT_FORMAT_SIZE]
Definition: lwpgrfobj.hxx:97
std::vector< rtl::Reference< XFFrame > > m_vXFDrawObjects
Definition: lwpgrfobj.hxx:110
OUString m_WatermarkName
Definition: lwpgrfobj.hxx:102
LwpGraphicObject(LwpObjectHeader const &objHdr, LwpSvStream *pStrm)
Definition: lwpgrfobj.cxx:91
void RegisterStyle() override
@descr create drawing object and image object.
Definition: lwpgrfobj.cxx:253
sal_Int16 m_bCompressed
Definition: lwpgrfobj.hxx:101
sal_Int32 m_nCachedBaseLine
Definition: lwpgrfobj.hxx:98
static void GetBentoNamebyID(LwpObjectID const &rMyID, std::string &rName)
@descr create drawing object.
Definition: lwpgrfobj.cxx:312
sal_Int16 IsLinked() const
Definition: lwpgrfobj.hxx:125
void Read() override
@descr: Read GraphicOleObject part
Definition: lwpgrfobj.cxx:103
void GetGrafOrgSize(tools::Long &rWidth, tools::Long &rHeight)
Definition: lwpgrfobj.hxx:122
virtual ~LwpGraphicObject() override
Definition: lwpgrfobj.cxx:99
void CreateDrawObjects()
@descr create drawing object.
Definition: lwpgrfobj.cxx:283
std::vector< sal_uInt8 > GetRawGrafData()
@descr get the image data read from bento stream according to the VO_GRAPHIC ID.
Definition: lwpgrfobj.cxx:326
bool IsGrafFormatValid() const
@descr judge if the graphic format is what we can support: bmp, jpg, wmf, gif, tgf(tif).
Definition: lwpgrfobj.cxx:239
sal_uInt32 GetGrafData(std::unique_ptr< sal_uInt8[]> &pGrafData)
@descr get the image data (only -D data) read from bento stream according to the VO_GRAPHIC ID.
Definition: lwpgrfobj.cxx:355
unsigned char m_sDataFormat[AFID_MAX_FILE_FORMAT_SIZE]
Definition: lwpgrfobj.hxx:96
@descr super class of LwpOleObject and LwpGraphicObject
Base class of all Lwp VO objects.
Definition: lwpobjhdr.hxx:71
object id class
Definition: lwpobjid.hxx:79
encapsulate XInputStream to provide SvStream like interfaces
Definition: lwpsvstream.hxx:69
A container for content.
Base class for all frame object,include drawing,image,text-box.
Definition: xfframe.hxx:79
For LWP filter architecture prototype - OLE object.
#define AFID_MAX_CONTEXT_FORMAT_SIZE
#define AFID_MAX_FILE_FORMAT_SIZE
long Long
sal_uInt8 nContrast
Definition: lwpgrfobj.hxx:72
sal_uInt8 nBrightness
Definition: lwpgrfobj.hxx:71
sal_uInt8 nSmoothing
Definition: lwpgrfobj.hxx:74
sal_uInt8 nEdgeEnhancement
Definition: lwpgrfobj.hxx:73
tools::Long Height
tools::Long Width
unsigned char sal_uInt8