1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: svpframe.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _SVP_SVPFRAME_HXX
33 #include <vcl/salframe.hxx>
34 #include <vcl/sysdata.hxx>
36 #include "svpelement.hxx"
43 class SvpSalFrame
: public SalFrame
, public SvpElement
45 SvpSalInstance
* m_pInstance
;
46 SvpSalFrame
* m_pParent
; // pointer to parent frame
47 std::list
< SvpSalFrame
* > m_aChildren
; // List of child frames
55 SystemEnvData m_aSystemChildData
;
57 basebmp::BitmapDeviceSharedPtr m_aFrame
;
58 std::list
< SvpSalGraphics
* > m_aGraphics
;
60 static SvpSalFrame
* s_pFocusFrame
;
62 SvpSalFrame( SvpSalInstance
* pInstance
,
65 SystemParentData
* pSystemParent
= NULL
);
66 virtual ~SvpSalFrame();
70 void PostPaint() const;
73 virtual const basebmp::BitmapDeviceSharedPtr
& getDevice() const { return m_aFrame
; }
76 virtual SalGraphics
* GetGraphics();
77 virtual void ReleaseGraphics( SalGraphics
* pGraphics
);
79 virtual BOOL
PostEvent( void* pData
);
81 virtual void SetTitle( const XubString
& rTitle
);
82 virtual void SetIcon( USHORT nIcon
);
83 virtual void SetMenu( SalMenu
* pMenu
);
84 virtual void DrawMenuBar();
86 virtual void SetExtendedFrameStyle( SalExtStyle nExtStyle
);
87 virtual void Show( BOOL bVisible
, BOOL bNoActivate
= FALSE
);
88 virtual void Enable( BOOL bEnable
);
89 virtual void SetMinClientSize( long nWidth
, long nHeight
);
90 virtual void SetMaxClientSize( long nWidth
, long nHeight
);
91 virtual void SetPosSize( long nX
, long nY
, long nWidth
, long nHeight
, USHORT nFlags
);
92 virtual void GetClientSize( long& rWidth
, long& rHeight
);
93 virtual void GetWorkArea( Rectangle
& rRect
);
94 virtual SalFrame
* GetParent() const;
95 virtual void SetWindowState( const SalFrameState
* pState
);
96 virtual BOOL
GetWindowState( SalFrameState
* pState
);
97 virtual void ShowFullScreen( BOOL bFullScreen
, sal_Int32 nDisplay
);
98 virtual void StartPresentation( BOOL bStart
);
99 virtual void SetAlwaysOnTop( BOOL bOnTop
);
100 virtual void ToTop( USHORT nFlags
);
101 virtual void SetPointer( PointerStyle ePointerStyle
);
102 virtual void CaptureMouse( BOOL bMouse
);
103 virtual void SetPointerPos( long nX
, long nY
);
104 using SalFrame::Flush
;
105 virtual void Flush();
107 virtual void SetInputContext( SalInputContext
* pContext
);
108 virtual void EndExtTextInput( USHORT nFlags
);
109 virtual String
GetKeyName( USHORT nKeyCode
);
110 virtual String
GetSymbolKeyName( const XubString
& rFontName
, USHORT nKeyCode
);
111 virtual BOOL
MapUnicodeToKeyCode( sal_Unicode aUnicode
, LanguageType aLangType
, KeyCode
& rKeyCode
);
112 virtual LanguageType
GetInputLanguage();
113 virtual SalBitmap
* SnapShot();
114 virtual void UpdateSettings( AllSettings
& rSettings
);
115 virtual void Beep( SoundType eSoundType
);
116 virtual const SystemEnvData
* GetSystemData() const;
117 virtual SalPointerState
GetPointerState();
118 virtual SalIndicatorState
GetIndicatorState();
119 virtual void SimulateKeyPress( USHORT nKeyCode
);
120 virtual void SetParent( SalFrame
* pNewParent
);
121 virtual bool SetPluginParent( SystemParentData
* pNewParent
);
122 virtual void SetBackgroundBitmap( SalBitmap
* pBitmap
);
123 virtual void ResetClipRegion();
124 virtual void BeginSetClipRegion( ULONG nRects
);
125 virtual void UnionClipRegion( long nX
, long nY
, long nWidth
, long nHeight
);
126 virtual void EndSetClipRegion();
128 /*TODO: functional implementation */
129 virtual void SetScreenNumber( unsigned int nScreen
) { (void)nScreen
; }
131 #endif // _SVP_SVPFRAME_HXX