xref: /aoo42x/main/vcl/unx/headless/svpframe.hxx (revision 0d63794c)
1*0d63794cSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*0d63794cSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*0d63794cSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*0d63794cSAndrew Rist  * distributed with this work for additional information
6*0d63794cSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*0d63794cSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*0d63794cSAndrew Rist  * "License"); you may not use this file except in compliance
9*0d63794cSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*0d63794cSAndrew Rist  *
11*0d63794cSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*0d63794cSAndrew Rist  *
13*0d63794cSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*0d63794cSAndrew Rist  * software distributed under the License is distributed on an
15*0d63794cSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*0d63794cSAndrew Rist  * KIND, either express or implied.  See the License for the
17*0d63794cSAndrew Rist  * specific language governing permissions and limitations
18*0d63794cSAndrew Rist  * under the License.
19*0d63794cSAndrew Rist  *
20*0d63794cSAndrew Rist  *************************************************************/
21*0d63794cSAndrew Rist 
22*0d63794cSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef _SVP_SVPFRAME_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include <vcl/sysdata.hxx>
27cdf0e10cSrcweir 
28cdf0e10cSrcweir #include <salframe.hxx>
29cdf0e10cSrcweir #include "svpelement.hxx"
30cdf0e10cSrcweir 
31cdf0e10cSrcweir #include <list>
32cdf0e10cSrcweir 
33cdf0e10cSrcweir class SvpSalInstance;
34cdf0e10cSrcweir class SvpSalGraphics;
35cdf0e10cSrcweir 
36cdf0e10cSrcweir class SvpSalFrame : public SalFrame, public SvpElement
37cdf0e10cSrcweir {
38cdf0e10cSrcweir     SvpSalInstance*                     m_pInstance;
39cdf0e10cSrcweir     SvpSalFrame*	                m_pParent;       // pointer to parent frame
40cdf0e10cSrcweir     std::list< SvpSalFrame* >           m_aChildren;     // List of child frames
41cdf0e10cSrcweir     sal_uLong                         m_nStyle;
42cdf0e10cSrcweir     bool                                m_bVisible;
43cdf0e10cSrcweir     long                                m_nMinWidth;
44cdf0e10cSrcweir     long                                m_nMinHeight;
45cdf0e10cSrcweir     long                                m_nMaxWidth;
46cdf0e10cSrcweir     long                                m_nMaxHeight;
47cdf0e10cSrcweir 
48cdf0e10cSrcweir     SystemEnvData                       m_aSystemChildData;
49cdf0e10cSrcweir 
50cdf0e10cSrcweir     basebmp::BitmapDeviceSharedPtr      m_aFrame;
51cdf0e10cSrcweir     std::list< SvpSalGraphics* >        m_aGraphics;
52cdf0e10cSrcweir 
53cdf0e10cSrcweir     static SvpSalFrame*       s_pFocusFrame;
54cdf0e10cSrcweir public:
55cdf0e10cSrcweir 	SvpSalFrame( SvpSalInstance* pInstance,
56cdf0e10cSrcweir                  SalFrame* pParent,
57cdf0e10cSrcweir                  sal_uLong nSalFrameStyle,
58cdf0e10cSrcweir                  SystemParentData* pSystemParent = NULL );
59cdf0e10cSrcweir 	virtual ~SvpSalFrame();
60cdf0e10cSrcweir 
61cdf0e10cSrcweir     void GetFocus();
62cdf0e10cSrcweir     void LoseFocus();
63cdf0e10cSrcweir     void PostPaint() const;
64cdf0e10cSrcweir 
65cdf0e10cSrcweir     // SvpElement
getDevice() const66cdf0e10cSrcweir     virtual const basebmp::BitmapDeviceSharedPtr& getDevice() const { return m_aFrame; }
67cdf0e10cSrcweir 
68cdf0e10cSrcweir     // SalFrame
69cdf0e10cSrcweir     virtual SalGraphics*		GetGraphics();
70cdf0e10cSrcweir     virtual void				ReleaseGraphics( SalGraphics* pGraphics );
71cdf0e10cSrcweir 
72cdf0e10cSrcweir     virtual sal_Bool				PostEvent( void* pData );
73cdf0e10cSrcweir 
74cdf0e10cSrcweir     virtual void				SetTitle( const XubString& rTitle );
75cdf0e10cSrcweir     virtual void				SetIcon( sal_uInt16 nIcon );
76cdf0e10cSrcweir     virtual void				SetMenu( SalMenu* pMenu );
77cdf0e10cSrcweir     virtual void                                DrawMenuBar();
78cdf0e10cSrcweir 
79cdf0e10cSrcweir     virtual void                SetExtendedFrameStyle( SalExtStyle nExtStyle );
80cdf0e10cSrcweir     virtual void				Show( sal_Bool bVisible, sal_Bool bNoActivate = sal_False );
81cdf0e10cSrcweir     virtual void				Enable( sal_Bool bEnable );
82cdf0e10cSrcweir     virtual void                SetMinClientSize( long nWidth, long nHeight );
83cdf0e10cSrcweir     virtual void                SetMaxClientSize( long nWidth, long nHeight );
84cdf0e10cSrcweir     virtual void				SetPosSize( long nX, long nY, long nWidth, long nHeight, sal_uInt16 nFlags );
85cdf0e10cSrcweir     virtual void				GetClientSize( long& rWidth, long& rHeight );
86cdf0e10cSrcweir     virtual void				GetWorkArea( Rectangle& rRect );
87cdf0e10cSrcweir     virtual SalFrame*			GetParent() const;
88cdf0e10cSrcweir     virtual void				SetWindowState( const SalFrameState* pState );
89cdf0e10cSrcweir     virtual sal_Bool				GetWindowState( SalFrameState* pState );
90cdf0e10cSrcweir     virtual void				ShowFullScreen( sal_Bool bFullScreen, sal_Int32 nDisplay );
91cdf0e10cSrcweir     virtual void				StartPresentation( sal_Bool bStart );
92cdf0e10cSrcweir     virtual void				SetAlwaysOnTop( sal_Bool bOnTop );
93cdf0e10cSrcweir     virtual void				ToTop( sal_uInt16 nFlags );
94cdf0e10cSrcweir     virtual void				SetPointer( PointerStyle ePointerStyle );
95cdf0e10cSrcweir     virtual void				CaptureMouse( sal_Bool bMouse );
96cdf0e10cSrcweir     virtual void				SetPointerPos( long nX, long nY );
97cdf0e10cSrcweir     using SalFrame::Flush;
98cdf0e10cSrcweir     virtual void				Flush();
99cdf0e10cSrcweir     virtual void				Sync();
100cdf0e10cSrcweir     virtual void				SetInputContext( SalInputContext* pContext );
101cdf0e10cSrcweir     virtual void				EndExtTextInput( sal_uInt16 nFlags );
102cdf0e10cSrcweir     virtual String				GetKeyName( sal_uInt16 nKeyCode );
103cdf0e10cSrcweir     virtual String				GetSymbolKeyName( const XubString& rFontName, sal_uInt16 nKeyCode );
104cdf0e10cSrcweir     virtual sal_Bool                MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode );
105cdf0e10cSrcweir     virtual LanguageType		GetInputLanguage();
106cdf0e10cSrcweir     virtual SalBitmap*			SnapShot();
107cdf0e10cSrcweir     virtual void				UpdateSettings( AllSettings& rSettings );
108cdf0e10cSrcweir     virtual void				Beep( SoundType eSoundType );
109cdf0e10cSrcweir     virtual const SystemEnvData*	GetSystemData() const;
110cdf0e10cSrcweir     virtual SalPointerState     GetPointerState();
111cdf0e10cSrcweir     virtual void				SetParent( SalFrame* pNewParent );
112cdf0e10cSrcweir     virtual bool				SetPluginParent( SystemParentData* pNewParent );
113cdf0e10cSrcweir     virtual void                SetBackgroundBitmap( SalBitmap* pBitmap );
114cdf0e10cSrcweir 	virtual void				ResetClipRegion();
115cdf0e10cSrcweir 	virtual void				BeginSetClipRegion( sal_uLong nRects );
116cdf0e10cSrcweir 	virtual void				UnionClipRegion( long nX, long nY, long nWidth, long nHeight );
117cdf0e10cSrcweir 	virtual void				EndSetClipRegion();
118cdf0e10cSrcweir 
119cdf0e10cSrcweir     /*TODO: functional implementation */
SetScreenNumber(unsigned int nScreen)120cdf0e10cSrcweir     virtual void                SetScreenNumber( unsigned int nScreen ) { (void)nScreen; }
121cdf0e10cSrcweir };
122cdf0e10cSrcweir #endif // _SVP_SVPFRAME_HXX
123