1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski 
24*b1cdbd2cSJim Jagielski #include <tools/stream.hxx>
25*b1cdbd2cSJim Jagielski #include <vcl/gdimtf.hxx>
26*b1cdbd2cSJim Jagielski #include <vcl/bitmap.hxx>
27*b1cdbd2cSJim Jagielski 
28*b1cdbd2cSJim Jagielski /************************************************************************
29*b1cdbd2cSJim Jagielski |*    Impl_CacheElement
30*b1cdbd2cSJim Jagielski |*    Impl_Cache
31*b1cdbd2cSJim Jagielski |*
32*b1cdbd2cSJim Jagielski |*    Beschreibung
33*b1cdbd2cSJim Jagielski *************************************************************************/
34*b1cdbd2cSJim Jagielski class Impl_OlePres
35*b1cdbd2cSJim Jagielski {
36*b1cdbd2cSJim Jagielski 	sal_uLong	nFormat;
37*b1cdbd2cSJim Jagielski     sal_uInt16	nAspect;
38*b1cdbd2cSJim Jagielski 	Bitmap *		pBmp;
39*b1cdbd2cSJim Jagielski 	GDIMetaFile *	pMtf;
40*b1cdbd2cSJim Jagielski 
41*b1cdbd2cSJim Jagielski 	sal_uInt32  nAdvFlags;
42*b1cdbd2cSJim Jagielski 	sal_Int32 	nJobLen;
43*b1cdbd2cSJim Jagielski 	sal_uInt8*	pJob;
44*b1cdbd2cSJim Jagielski 	Size	aSize;		// Groesse in 100TH_MM
45*b1cdbd2cSJim Jagielski public:
Impl_OlePres(sal_uLong nF)46*b1cdbd2cSJim Jagielski 					Impl_OlePres( sal_uLong nF )
47*b1cdbd2cSJim Jagielski 						: nFormat( nF )
48*b1cdbd2cSJim Jagielski 						, pBmp( NULL )
49*b1cdbd2cSJim Jagielski 						, pMtf( NULL )
50*b1cdbd2cSJim Jagielski 						, nAdvFlags( 0x2 )	// in Dokument gefunden
51*b1cdbd2cSJim Jagielski 						, nJobLen( 0 )
52*b1cdbd2cSJim Jagielski 						, pJob( NULL )
53*b1cdbd2cSJim Jagielski 					{}
~Impl_OlePres()54*b1cdbd2cSJim Jagielski 					~Impl_OlePres()
55*b1cdbd2cSJim Jagielski 					{
56*b1cdbd2cSJim Jagielski 						delete pJob;
57*b1cdbd2cSJim Jagielski 						delete pBmp;
58*b1cdbd2cSJim Jagielski 						delete pMtf;
59*b1cdbd2cSJim Jagielski 					}
SetMtf(const GDIMetaFile & rMtf)60*b1cdbd2cSJim Jagielski 	void	SetMtf( const GDIMetaFile & rMtf )
61*b1cdbd2cSJim Jagielski 			{
62*b1cdbd2cSJim Jagielski 				if( pMtf )
63*b1cdbd2cSJim Jagielski 					delete pMtf;
64*b1cdbd2cSJim Jagielski 				pMtf = new GDIMetaFile( rMtf );
65*b1cdbd2cSJim Jagielski 			}
GetBitmap() const66*b1cdbd2cSJim Jagielski 	Bitmap *GetBitmap() const { return pBmp; }
GetMetaFile() const67*b1cdbd2cSJim Jagielski 	GDIMetaFile *GetMetaFile() const { return pMtf; }
GetFormat() const68*b1cdbd2cSJim Jagielski 	sal_uLong	GetFormat() const { return nFormat; }
SetAspect(sal_uInt16 nAsp)69*b1cdbd2cSJim Jagielski 	void	SetAspect( sal_uInt16 nAsp ) { nAspect = nAsp; }
GetAdviseFlags() const70*b1cdbd2cSJim Jagielski 	sal_uLong	GetAdviseFlags() const { return nAdvFlags; }
SetAdviseFlags(sal_uLong nAdv)71*b1cdbd2cSJim Jagielski 	void	SetAdviseFlags( sal_uLong nAdv ) { nAdvFlags = nAdv; }
SetSize(const Size & rSize)72*b1cdbd2cSJim Jagielski 	void	SetSize( const Size & rSize ) { aSize = rSize; }
73*b1cdbd2cSJim Jagielski 			/// return sal_False => unknown format
74*b1cdbd2cSJim Jagielski 	void 	Write( SvStream & rStm );
75*b1cdbd2cSJim Jagielski };
76*b1cdbd2cSJim Jagielski 
77*b1cdbd2cSJim Jagielski 
78