xref: /aoo41x/main/vcl/inc/unx/salvd.h (revision 24f6443d)
1*24f6443dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*24f6443dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*24f6443dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*24f6443dSAndrew Rist  * distributed with this work for additional information
6*24f6443dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*24f6443dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*24f6443dSAndrew Rist  * "License"); you may not use this file except in compliance
9*24f6443dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*24f6443dSAndrew Rist  *
11*24f6443dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*24f6443dSAndrew Rist  *
13*24f6443dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*24f6443dSAndrew Rist  * software distributed under the License is distributed on an
15*24f6443dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*24f6443dSAndrew Rist  * KIND, either express or implied.  See the License for the
17*24f6443dSAndrew Rist  * specific language governing permissions and limitations
18*24f6443dSAndrew Rist  * under the License.
19*24f6443dSAndrew Rist  *
20*24f6443dSAndrew Rist  *************************************************************/
21*24f6443dSAndrew Rist 
22*24f6443dSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef _SV_SALVD_H
25cdf0e10cSrcweir #define _SV_SALVD_H
26cdf0e10cSrcweir 
27cdf0e10cSrcweir // -=-= #includes -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
28cdf0e10cSrcweir #include <unx/salstd.hxx>
29cdf0e10cSrcweir #include <salvd.hxx>
30cdf0e10cSrcweir 
31cdf0e10cSrcweir // -=-= forwards -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
32cdf0e10cSrcweir class SalDisplay;
33cdf0e10cSrcweir class X11SalGraphics;
34cdf0e10cSrcweir 
35cdf0e10cSrcweir // -=-= SalVirDevData -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
36cdf0e10cSrcweir class X11SalVirtualDevice : public SalVirtualDevice
37cdf0e10cSrcweir {
38cdf0e10cSrcweir     SalDisplay		*pDisplay_;
39cdf0e10cSrcweir     X11SalGraphics	*pGraphics_;
40cdf0e10cSrcweir 
41cdf0e10cSrcweir 
42cdf0e10cSrcweir     Pixmap			hDrawable_;
43cdf0e10cSrcweir     int             m_nScreen;
44cdf0e10cSrcweir 
45cdf0e10cSrcweir     int				nDX_;
46cdf0e10cSrcweir     int				nDY_;
47cdf0e10cSrcweir     sal_uInt16			nDepth_;
48cdf0e10cSrcweir     sal_Bool			bGraphics_;			// is Graphics used
49cdf0e10cSrcweir 	sal_Bool            bExternPixmap_;
50cdf0e10cSrcweir 
51cdf0e10cSrcweir public:
52cdf0e10cSrcweir 	X11SalVirtualDevice();
53cdf0e10cSrcweir     virtual ~X11SalVirtualDevice();
54cdf0e10cSrcweir 
55cdf0e10cSrcweir     sal_Bool			Init( SalDisplay *pDisplay,
56cdf0e10cSrcweir                           long nDX, long nDY,
57cdf0e10cSrcweir                           sal_uInt16 nBitCount,
58cdf0e10cSrcweir                           int nScreen,
59cdf0e10cSrcweir 						  Pixmap hDrawable = None,
60cdf0e10cSrcweir 						  void* pRenderFormat = NULL );
61cdf0e10cSrcweir 	inline	void			InitGraphics( X11SalVirtualDevice *pVD );
62cdf0e10cSrcweir 
63cdf0e10cSrcweir 	inline	Display		   *GetXDisplay() const;
64cdf0e10cSrcweir 	inline	SalDisplay	   *GetDisplay() const;
65cdf0e10cSrcweir 	inline	sal_Bool			IsDisplay() const;
GetDrawable() const66cdf0e10cSrcweir 	inline	Pixmap			GetDrawable() const { return hDrawable_; }
GetDepth() const67cdf0e10cSrcweir 	inline	sal_uInt16			GetDepth() const { return nDepth_; }
GetWidth() const68cdf0e10cSrcweir     int						GetWidth() const { return nDX_; }
GetHeight() const69cdf0e10cSrcweir     int						GetHeight() const { return nDY_; }
GetScreenNumber() const70cdf0e10cSrcweir     int                     GetScreenNumber() const { return m_nScreen; }
71cdf0e10cSrcweir 
72cdf0e10cSrcweir     virtual SalGraphics*	GetGraphics();
73cdf0e10cSrcweir     virtual void			ReleaseGraphics( SalGraphics* pGraphics );
74cdf0e10cSrcweir 
75cdf0e10cSrcweir                             // Set new size, without saving the old contents
76cdf0e10cSrcweir     virtual sal_Bool			SetSize( long nNewDX, long nNewDY );
77cdf0e10cSrcweir     virtual void			GetSize( long& rWidth, long& rHeight );
78cdf0e10cSrcweir };
79cdf0e10cSrcweir 
80cdf0e10cSrcweir #ifdef _SV_SALDISP_HXX
81cdf0e10cSrcweir 
InitGraphics(X11SalVirtualDevice * pVD)82cdf0e10cSrcweir inline void X11SalVirtualDevice::InitGraphics( X11SalVirtualDevice *pVD )
83cdf0e10cSrcweir { pGraphics_->Init( pVD ); }
84cdf0e10cSrcweir 
GetXDisplay() const85cdf0e10cSrcweir inline Display *X11SalVirtualDevice::GetXDisplay() const
86cdf0e10cSrcweir { return pDisplay_->GetDisplay(); }
87cdf0e10cSrcweir 
GetDisplay() const88cdf0e10cSrcweir inline SalDisplay *X11SalVirtualDevice::GetDisplay() const
89cdf0e10cSrcweir { return pDisplay_; }
90cdf0e10cSrcweir 
IsDisplay() const91cdf0e10cSrcweir inline sal_Bool X11SalVirtualDevice::IsDisplay() const
92cdf0e10cSrcweir { return pDisplay_->IsDisplay(); }
93cdf0e10cSrcweir 
94cdf0e10cSrcweir #endif
95cdf0e10cSrcweir 
96cdf0e10cSrcweir #endif // _SV_SALVD_H
97cdf0e10cSrcweir 
98