1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifndef _SV_SALFRAME_H
29 #define _SV_SALFRAME_H
32 #include <vcl/sysdata.hxx>
33 #include <vcl/salframe.hxx>
36 #ifndef PM_BIDI_INCLUDED
60 class Os2SalFrame
: public SalFrame
63 HWND mhWndFrame
; // HWND-Frame
64 HWND mhWndClient
; // HWND-Client
66 HPOINTER mhPointer
; // Current MousePointer
67 void* mpInst
; // VCL-Instance
68 //SALFRAMEPROC mpProc; // VCL-Proc
69 Os2SalGraphics
* mpGraphics
; // current frame graphics
70 Os2SalFrame
* mpNextFrame
; // pointer to next frame
71 SystemEnvData maSysData
; // system data
72 SalFrameState maState
; // frame state
73 int mnShowState
; // show state
74 ULONG mnStyle
; // SalFrameStyle
75 long mnWidth
; // Window-Witdth
76 long mnHeight
; // Window-Height
77 SWP maFullScreenRect
; // WindowRect befor FullScreenMode
78 BOOL mbGraphics
; // is Graphics used
79 BOOL mbAllwayOnTop
; // Allways on top modus
80 BOOL mbVisible
; // Visible Show/Hide-Status
81 BOOL mbMinHide
; // hide called from OS2
82 BOOL mbHandleIME
; // TRUE: Wir handeln die IME-Messages
83 BOOL mbConversionMode
; // TRUE: Wir befinden uns im Conversion-Modus
84 BOOL mbCandidateMode
; // TRUE: Wir befinden uns im Candidate-Modus
85 BOOL mbCaption
; // has window a caption
86 BOOL mbBorder
; // has window a border
87 BOOL mbFixBorder
; // has window a fixed border
88 BOOL mbSizeBorder
; // has window a sizeable border
89 BOOL mbNoIcon
; // is an window without an icon
90 BOOL mbFloatWin
; // is a FloatingWindow
91 BOOL mbFullScreen
; // TRUE: in full screen mode
92 BOOL mbPresentation
; // TRUE: Presentation Mode running
93 BOOL mbInShow
; // innerhalb eines Show-Aufrufs
94 BOOL mbRestoreMaximize
; // Restore-Maximize
95 BOOL mbInMoveMsg
; // Move-Message wird verarbeitet
96 BOOL mbInSizeMsg
; // Size-Message wird verarbeitet
97 BOOL mbFullScreenToolWin
; // WS_EX_TOOLWINDOW reset in FullScreenMode
98 BOOL mbDefPos
; // default-position
99 BOOL mbOverwriteState
; // TRUE: WindowState darf umgesetzt werden
101 int mnMinWidth
; // min. client width in pixeln
102 int mnMinHeight
; // min. client height in pixeln
103 int mnMaxWidth
; // max. client width in pixeln
104 int mnMaxHeight
; // max. client height in pixeln
105 static ULONG mnInputLang
; // current Input Language
106 KHAND mnKeyboardHandle
; // current unicode keyboard
107 static BOOL mbInReparent
; // TRUE: ignore focus lost and gain due to reparenting
110 Os2SalFrame
* mpParentFrame
; // parent frame pointer
114 virtual ~Os2SalFrame();
116 virtual SalGraphics
* GetGraphics();
117 virtual void ReleaseGraphics( SalGraphics
* pGraphics
);
118 virtual BOOL
PostEvent( void* pData
);
119 virtual void SetTitle( const XubString
& rTitle
);
120 virtual void SetIcon( USHORT nIcon
);
121 virtual void SetMenu( SalMenu
* pSalMenu
);
122 virtual void DrawMenuBar();
123 virtual void SetExtendedFrameStyle( SalExtStyle nExtStyle
);
124 virtual void Show( BOOL bVisible
, BOOL bNoActivate
= FALSE
);
125 virtual void Enable( BOOL bEnable
);
126 virtual void SetMinClientSize( long nWidth
, long nHeight
);
127 virtual void SetMaxClientSize( long nWidth
, long nHeight
);
128 virtual void SetPosSize( long nX
, long nY
, long nWidth
, long nHeight
, USHORT nFlags
);
129 virtual void GetClientSize( long& rWidth
, long& rHeight
);
130 virtual void GetWorkArea( RECTL
& rRect
);
131 virtual void GetWorkArea( Rectangle
& rRect
);
132 virtual SalFrame
* GetParent() const;
133 virtual void SetWindowState( const SalFrameState
* pState
);
134 virtual BOOL
GetWindowState( SalFrameState
* pState
);
135 virtual void ShowFullScreen( BOOL bFullScreen
, sal_Int32 nDisplay
);
136 virtual void StartPresentation( BOOL bStart
);
137 virtual void SetAlwaysOnTop( BOOL bOnTop
);
138 virtual void ToTop( USHORT nFlags
);
139 virtual void SetPointer( PointerStyle ePointerStyle
);
140 virtual void CaptureMouse( BOOL bMouse
);
141 virtual void SetPointerPos( long nX
, long nY
);
142 virtual void Flush();
144 virtual void SetInputContext( SalInputContext
* pContext
);
145 virtual void EndExtTextInput( USHORT nFlags
);
146 virtual String
GetKeyName( USHORT nKeyCode
);
147 virtual String
GetSymbolKeyName( const XubString
& rFontName
, USHORT nKeyCode
);
148 virtual BOOL
MapUnicodeToKeyCode( sal_Unicode aUnicode
, LanguageType aLangType
, KeyCode
& rKeyCode
);
149 virtual LanguageType
GetInputLanguage();
150 virtual SalBitmap
* SnapShot();
151 virtual void UpdateSettings( AllSettings
& rSettings
);
152 virtual void Beep( SoundType eSoundType
);
153 virtual const SystemEnvData
* GetSystemData() const;
154 virtual SalPointerState
GetPointerState();
155 virtual void SetParent( SalFrame
* pNewParent
);
156 virtual bool SetPluginParent( SystemParentData
* pNewParent
);
157 virtual void SetBackgroundBitmap( SalBitmap
* );
158 virtual void SetScreenNumber( unsigned int );
159 virtual void ResetClipRegion();
160 virtual void BeginSetClipRegion( ULONG nRects
);
161 virtual void UnionClipRegion( long nX
, long nY
, long nWidth
, long nHeight
);
162 virtual void EndSetClipRegion();
166 #endif // _SV_SALFRAME_H