merged tag ooo/DEV300_m102
[LibreOffice.git] / vcl / os2 / inc / salframe.h
blobf02a39f80955b81195ecf94c5ecbcd464724c5ed
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
31 #include <vcl/sv.h>
32 #include <vcl/sysdata.hxx>
33 #include <vcl/salframe.hxx>
36 #ifndef PM_BIDI_INCLUDED
37 #include <pmbidi.h>
38 #endif
40 #ifndef __UCONV_H__
41 #include <uconv.h>
42 #endif
44 #ifndef __UNIDEF_H__
45 #include <unidef.h>
46 #endif
48 #ifndef __UNIKBD_H__
49 #include <unikbd.h>
50 #endif
52 //class SalFrame;
53 class Os2SalGraphics;
55 // ----------------
56 // - SalFrameData -
57 // ----------------
59 //class SalFrameData
60 class Os2SalFrame : public SalFrame
62 public:
63 HWND mhWndFrame; // HWND-Frame
64 HWND mhWndClient; // HWND-Client
65 HAB mhAB; // HAB
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
109 private:
110 Os2SalFrame* mpParentFrame; // parent frame pointer
112 public:
113 Os2SalFrame();
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();
143 virtual void Sync();
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