xref: /trunk/main/vcl/inc/unx/salvd.h (revision 5d328669834268fa077da8fd0d9b44cc5ce2793b)
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
10cdf0e10cSrcweir  *
11*24f6443dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
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.
19cdf0e10cSrcweir  *
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()66cdf0e10cSrcweir     inline  Pixmap          GetDrawable() const { return hDrawable_; }
GetDepth()67cdf0e10cSrcweir     inline  sal_uInt16          GetDepth() const { return nDepth_; }
GetWidth()68cdf0e10cSrcweir     int                     GetWidth() const { return nDX_; }
GetHeight()69cdf0e10cSrcweir     int                     GetHeight() const { return nDY_; }
GetScreenNumber()70cdf0e10cSrcweir     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()85cdf0e10cSrcweir inline Display *X11SalVirtualDevice::GetXDisplay() const
86cdf0e10cSrcweir { return pDisplay_->GetDisplay(); }
87cdf0e10cSrcweir 
GetDisplay()88cdf0e10cSrcweir inline SalDisplay *X11SalVirtualDevice::GetDisplay() const
89cdf0e10cSrcweir { return pDisplay_; }
90cdf0e10cSrcweir 
IsDisplay()91cdf0e10cSrcweir inline sal_Bool X11SalVirtualDevice::IsDisplay() const
92cdf0e10cSrcweir { return pDisplay_->IsDisplay(); }
93cdf0e10cSrcweir 
94cdf0e10cSrcweir #endif
95cdf0e10cSrcweir 
96cdf0e10cSrcweir #endif // _SV_SALVD_H
97