1fc9fd3f1SPedro Giffuni /**************************************************************
2fc9fd3f1SPedro Giffuni *
3fc9fd3f1SPedro Giffuni * Licensed to the Apache Software Foundation (ASF) under one
4fc9fd3f1SPedro Giffuni * or more contributor license agreements. See the NOTICE file
5fc9fd3f1SPedro Giffuni * distributed with this work for additional information
6fc9fd3f1SPedro Giffuni * regarding copyright ownership. The ASF licenses this file
7fc9fd3f1SPedro Giffuni * to you under the Apache License, Version 2.0 (the
8fc9fd3f1SPedro Giffuni * "License"); you may not use this file except in compliance
9fc9fd3f1SPedro Giffuni * with the License. You may obtain a copy of the License at
10fc9fd3f1SPedro Giffuni *
11fc9fd3f1SPedro Giffuni * http://www.apache.org/licenses/LICENSE-2.0
12fc9fd3f1SPedro Giffuni *
13fc9fd3f1SPedro Giffuni * Unless required by applicable law or agreed to in writing,
14fc9fd3f1SPedro Giffuni * software distributed under the License is distributed on an
15fc9fd3f1SPedro Giffuni * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16fc9fd3f1SPedro Giffuni * KIND, either express or implied. See the License for the
17fc9fd3f1SPedro Giffuni * specific language governing permissions and limitations
18fc9fd3f1SPedro Giffuni * under the License.
19fc9fd3f1SPedro Giffuni *
20fc9fd3f1SPedro Giffuni *************************************************************/
21fc9fd3f1SPedro Giffuni
22fc9fd3f1SPedro Giffuni
23fc9fd3f1SPedro Giffuni
24fc9fd3f1SPedro Giffuni #ifndef _SV_SALDATA_HXX
25fc9fd3f1SPedro Giffuni #define _SV_SALDATA_HXX
26fc9fd3f1SPedro Giffuni
27fc9fd3f1SPedro Giffuni #include <svdata.hxx>
28fc9fd3f1SPedro Giffuni #include <salwtype.hxx>
29fc9fd3f1SPedro Giffuni
30fc9fd3f1SPedro Giffuni class Os2SalInstance;
31fc9fd3f1SPedro Giffuni class Os2SalFrame;
32fc9fd3f1SPedro Giffuni class Os2SalObject;
33fc9fd3f1SPedro Giffuni
34fc9fd3f1SPedro Giffuni extern "C" int debug_printf(const char *f, ...);
35fc9fd3f1SPedro Giffuni
36fc9fd3f1SPedro Giffuni // --------------
37fc9fd3f1SPedro Giffuni // - SalIMEData -
38fc9fd3f1SPedro Giffuni // --------------
39fc9fd3f1SPedro Giffuni
40fc9fd3f1SPedro Giffuni // YD FIXME #define ENABLE_IME
41fc9fd3f1SPedro Giffuni
42fc9fd3f1SPedro Giffuni #ifdef ENABLE_IME
43fc9fd3f1SPedro Giffuni
44fc9fd3f1SPedro Giffuni struct SalIMEData;
45fc9fd3f1SPedro Giffuni
46fc9fd3f1SPedro Giffuni #ifdef OS2IM_INCLUDED
47fc9fd3f1SPedro Giffuni
48fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImAssociateInstanceFunc)( HWND hwnd, HIMI himi, PHIMI phimiPrev );
49fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImGetInstanceFunc)( HWND hwnd, PHIMI phimi );
50fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImReleaseInstanceFunc)( HWND hwnd, HIMI himi );
51fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImSetConversionFontFunc)( HIMI himi, PFATTRS pFontAttrs );
52fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImSetConversionFontSizeFunc)( HIMI himi, PSIZEF psizfxBox );
53fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImGetConversionStringFunc)( HIMI himi, ULONG ulIndex, PVOID pBuf, PULONG pulBufLen );
54fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImGetResultStringFunc)( HIMI himi, ULONG ulIndex, PVOID pBuf, PULONG pulBufLen );
55fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImSetCandidateWindowPosFunc)( HIMI himi, PCANDIDATEPOS pCandidatePos );
56fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImQueryIMEPropertyFunc)( HIMI himi, ULONG ulIndex, PULONG pulProp );
57fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImRequestIMEFunc)( HIMI himi, ULONG ulAction, ULONG ulIndex, ULONG ulValue );
58fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImSetIMModeFunc)( HIMI himi, ULONG ulInputMode, ULONG ulConversionMode );
59fc9fd3f1SPedro Giffuni typedef APIRET (APIENTRY ImQueryIMModeFunc)( HIMI himi, PULONG pulInputMode, PULONG pulConversionMode );
60fc9fd3f1SPedro Giffuni
61fc9fd3f1SPedro Giffuni struct SalIMEData
62fc9fd3f1SPedro Giffuni {
63fc9fd3f1SPedro Giffuni HMODULE mhModIME;
64fc9fd3f1SPedro Giffuni ImAssociateInstanceFunc* mpAssocIME;
65fc9fd3f1SPedro Giffuni ImGetInstanceFunc* mpGetIME;
66fc9fd3f1SPedro Giffuni ImReleaseInstanceFunc* mpReleaseIME;
67fc9fd3f1SPedro Giffuni ImSetConversionFontFunc* mpSetConversionFont;
68fc9fd3f1SPedro Giffuni ImSetConversionFontSizeFunc* mpSetConversionFontSize;
69fc9fd3f1SPedro Giffuni ImGetConversionStringFunc* mpGetConversionString;
70fc9fd3f1SPedro Giffuni ImGetResultStringFunc* mpGetResultString;
71fc9fd3f1SPedro Giffuni ImSetCandidateWindowPosFunc* mpSetCandidateWin;
72fc9fd3f1SPedro Giffuni ImQueryIMEPropertyFunc* mpQueryIMEProperty;
73fc9fd3f1SPedro Giffuni ImRequestIMEFunc* mpRequestIME;
74fc9fd3f1SPedro Giffuni ImSetIMModeFunc* mpSetIMEMode;
75fc9fd3f1SPedro Giffuni ImQueryIMModeFunc* mpQueryIMEMode;
76fc9fd3f1SPedro Giffuni };
77fc9fd3f1SPedro Giffuni
78fc9fd3f1SPedro Giffuni #endif
79fc9fd3f1SPedro Giffuni
80fc9fd3f1SPedro Giffuni #endif
81fc9fd3f1SPedro Giffuni
82fc9fd3f1SPedro Giffuni // --------------------
83fc9fd3f1SPedro Giffuni // - Icon cache -
84fc9fd3f1SPedro Giffuni // --------------------
85fc9fd3f1SPedro Giffuni
86fc9fd3f1SPedro Giffuni struct SalIcon
87fc9fd3f1SPedro Giffuni {
88fc9fd3f1SPedro Giffuni int nId;
89fc9fd3f1SPedro Giffuni HPOINTER hIcon;
90fc9fd3f1SPedro Giffuni SalIcon *pNext;
91fc9fd3f1SPedro Giffuni };
92fc9fd3f1SPedro Giffuni
93fc9fd3f1SPedro Giffuni // -----------
94fc9fd3f1SPedro Giffuni // - SalData -
95fc9fd3f1SPedro Giffuni // -----------
96fc9fd3f1SPedro Giffuni
97fc9fd3f1SPedro Giffuni struct SalData
98fc9fd3f1SPedro Giffuni {
99fc9fd3f1SPedro Giffuni HAB mhAB; // anchor block handle
100fc9fd3f1SPedro Giffuni HMQ mhMQ; // handle of os2 message queue
101fc9fd3f1SPedro Giffuni int mnArgc; // commandline param count
102fc9fd3f1SPedro Giffuni char** mpArgv; // commandline
103fc9fd3f1SPedro Giffuni ULONG mnNewTimerMS; // Neue Zeit, mit dem der Timer gestartet werden soll
104fc9fd3f1SPedro Giffuni ULONG mnTimerMS; // Current Time (in MS) of the Timer
105fc9fd3f1SPedro Giffuni ULONG mnTimerOrgMS; // Current Original Time (in MS)
106fc9fd3f1SPedro Giffuni ULONG mnNextTimerTime;
107fc9fd3f1SPedro Giffuni ULONG mnLastEventTime;
108fc9fd3f1SPedro Giffuni ULONG mnTimerId; // os2 timer id
109fc9fd3f1SPedro Giffuni PM_BOOL mbInTimerProc; // timer event is currently being dispatched
110fc9fd3f1SPedro Giffuni //SALTIMERPROC mpTimerProc; // timer callback proc
111fc9fd3f1SPedro Giffuni HWND mhWantLeaveMsg; // window handle, that want a MOUSELEAVE message
112fc9fd3f1SPedro Giffuni AutoTimer* mpMouseLeaveTimer; // Timer for MouseLeave Test
113fc9fd3f1SPedro Giffuni Os2SalInstance* mpFirstInstance; // pointer of first instance
114fc9fd3f1SPedro Giffuni Os2SalFrame* mpFirstFrame; // pointer of first frame
115fc9fd3f1SPedro Giffuni Os2SalFrame* mpCreateFrame; // Create-Frame for WM_CREATE
116fc9fd3f1SPedro Giffuni Os2SalObject* mpFirstObject; // pointer of first object window
117fc9fd3f1SPedro Giffuni ULONG mnAppThreadId; // Id from Applikation-Thread
118fc9fd3f1SPedro Giffuni ULONG mnFontMetricCount; // number of entries in the font list
119fc9fd3f1SPedro Giffuni PFONTMETRICS mpFontMetrics; // cached font list
120fc9fd3f1SPedro Giffuni PM_BOOL mbObjClassInit; // Ist SALOBJECTCLASS initialised
121fc9fd3f1SPedro Giffuni #ifdef ENABLE_IME
122fc9fd3f1SPedro Giffuni SalIMEData* mpIMEData; // SalIME-Data
123fc9fd3f1SPedro Giffuni PM_BOOL mbIMEInit; // SalIME-Data-Init
124fc9fd3f1SPedro Giffuni #endif
125fc9fd3f1SPedro Giffuni
126fc9fd3f1SPedro Giffuni SalIcon* mpFirstIcon; // icon cache, points to first icon, NULL if none
127fc9fd3f1SPedro Giffuni
128fc9fd3f1SPedro Giffuni };
129fc9fd3f1SPedro Giffuni
SetSalData(SalData * pData)130fc9fd3f1SPedro Giffuni inline void SetSalData( SalData* pData ) { ImplGetSVData()->mpSalData = (void*)pData; }
GetSalData()131fc9fd3f1SPedro Giffuni inline SalData* GetSalData() { return (SalData*)ImplGetSVData()->mpSalData; }
GetAppSalData()132fc9fd3f1SPedro Giffuni inline SalData* GetAppSalData() { return (SalData*)ImplGetAppSVData()->mpSalData; }
133fc9fd3f1SPedro Giffuni
134fc9fd3f1SPedro Giffuni // --------------
135fc9fd3f1SPedro Giffuni // - SalShlData -
136fc9fd3f1SPedro Giffuni // --------------
137fc9fd3f1SPedro Giffuni
138fc9fd3f1SPedro Giffuni #define OS2_VER_211 211
139fc9fd3f1SPedro Giffuni #define OS2_VER_WARP3 230
140fc9fd3f1SPedro Giffuni #define OS2_VER_WARP4 240
141fc9fd3f1SPedro Giffuni
142fc9fd3f1SPedro Giffuni struct SalShlData
143fc9fd3f1SPedro Giffuni {
144fc9fd3f1SPedro Giffuni HMODULE mhMod; // Module handle of SAL-DLL
145fc9fd3f1SPedro Giffuni USHORT mnVersion; // 211 = OS2 2.11; 230 = OS2 3.0; 240 = OS2 4.0
146fc9fd3f1SPedro Giffuni PFNWP mpFrameProc; // old frame proc
147fc9fd3f1SPedro Giffuni };
148fc9fd3f1SPedro Giffuni
149fc9fd3f1SPedro Giffuni extern SalShlData aSalShlData;
150fc9fd3f1SPedro Giffuni
151fc9fd3f1SPedro Giffuni PM_BOOL SalImplHandleProcessMenu( HWND hWnd, ULONG nMsg, MPARAM nMP1, MPARAM nMP2 );
152fc9fd3f1SPedro Giffuni
153fc9fd3f1SPedro Giffuni // --------------------------------------------
154fc9fd3f1SPedro Giffuni // - SALSHL.CXX - for accessing DLL resources -
155fc9fd3f1SPedro Giffuni // --------------------------------------------
156fc9fd3f1SPedro Giffuni
157fc9fd3f1SPedro Giffuni HPOINTER ImplLoadSalCursor( int nId );
158fc9fd3f1SPedro Giffuni HBITMAP ImplLoadSalBitmap( int nId );
159fc9fd3f1SPedro Giffuni sal_Bool ImplLoadSalIcon( int nId, HPOINTER& rIcon);
160fc9fd3f1SPedro Giffuni
161fc9fd3f1SPedro Giffuni // SALGDI.CXX
162fc9fd3f1SPedro Giffuni void ImplInitSalGDI();
163fc9fd3f1SPedro Giffuni void ImplFreeSalGDI();
164fc9fd3f1SPedro Giffuni
165fc9fd3f1SPedro Giffuni // --------------
166fc9fd3f1SPedro Giffuni // - Prototypes -
167fc9fd3f1SPedro Giffuni // --------------
168fc9fd3f1SPedro Giffuni
169fc9fd3f1SPedro Giffuni // \\OS2\SOURCE\APP\SALINST.CXX
170fc9fd3f1SPedro Giffuni void ImplSalYieldMutexAcquireWithWait();
171fc9fd3f1SPedro Giffuni ULONG ImplSalReleaseYieldMutex();
172fc9fd3f1SPedro Giffuni void ImplSalAcquireYieldMutex( ULONG nCount );
173fc9fd3f1SPedro Giffuni ULONG GetCurrentThreadId();
174fc9fd3f1SPedro Giffuni sal_Bool ImplSalYieldMutexTryToAcquire();
175fc9fd3f1SPedro Giffuni void ImplSalYieldMutexAcquire();
176fc9fd3f1SPedro Giffuni void ImplSalYieldMutexRelease();
177fc9fd3f1SPedro Giffuni
178fc9fd3f1SPedro Giffuni // \\OS2\SOURCE\WINDOW\SALFRAME.CXX
179fc9fd3f1SPedro Giffuni MRESULT EXPENTRY SalFrameWndProc( HWND hWnd, ULONG nMsg, MPARAM nMP1, MPARAM nMP2 );
180fc9fd3f1SPedro Giffuni MRESULT EXPENTRY SalFrameFrameProc( HWND hWnd, ULONG nMsg, MPARAM nMP1, MPARAM nMP2 );
181fc9fd3f1SPedro Giffuni // \SV\WIN\SOURCE\APP\SALTIMER.CXX
182fc9fd3f1SPedro Giffuni #define SALTIMERPROC_RECURSIVE 0xffffffff
183fc9fd3f1SPedro Giffuni void SalTimerProc( HWND hWnd, UINT nMsg, UINT nId, ULONG nTime );
184fc9fd3f1SPedro Giffuni
185fc9fd3f1SPedro Giffuni // \WIN\SOURCE\WINDOW\SALFRAME.CXX
186fc9fd3f1SPedro Giffuni void SalTestMouseLeave();
187fc9fd3f1SPedro Giffuni
188fc9fd3f1SPedro Giffuni // \\OS2\SOURCE\WINDOW\SALFRAME.CXX
189fc9fd3f1SPedro Giffuni // return Frame for Message-Handling
190fc9fd3f1SPedro Giffuni Os2SalFrame* GetSalDefaultFrame();
191fc9fd3f1SPedro Giffuni
192fc9fd3f1SPedro Giffuni // \\OS2\SOURCE\WINDOW\SALFRAME.CXX
193fc9fd3f1SPedro Giffuni // IME-Daten wieder freigeben
194fc9fd3f1SPedro Giffuni #ifdef ENABLE_IME
195fc9fd3f1SPedro Giffuni void ImplReleaseSALIMEData();
196fc9fd3f1SPedro Giffuni #endif
197fc9fd3f1SPedro Giffuni
198fc9fd3f1SPedro Giffuni // -----------
199fc9fd3f1SPedro Giffuni // - Defines -
200fc9fd3f1SPedro Giffuni // -----------
201fc9fd3f1SPedro Giffuni
202fc9fd3f1SPedro Giffuni #define SAL_PROFILE_APPNAME ((PSZ)"StarOffice")
203fc9fd3f1SPedro Giffuni #define SAL_PROFILE_USEDJP ((PSZ)"UseDJP")
204fc9fd3f1SPedro Giffuni #define SAL_PROFILE_PRINTDJP ((PSZ)"PrintDJP")
205fc9fd3f1SPedro Giffuni #define SAL_PROFILE_PRINTRAW ((PSZ)"PrintRAW")
206fc9fd3f1SPedro Giffuni
207cc13e73eSYuri Dario #define SAL_FRAME_WNDEXTRA (sizeof(ULONG)*3)
208fc9fd3f1SPedro Giffuni #define SAL_FRAME_THIS 0
209*7ddf0362SJohn Bampton // these offsets are hardcoded in dnd/globals.hxx too to avoid vcl dependencies
210cc13e73eSYuri Dario #define SAL_FRAME_DROPTARGET sizeof(ULONG)
211cc13e73eSYuri Dario #define SAL_FRAME_DRAGSOURCE (sizeof(ULONG)*2)
212cc13e73eSYuri Dario
213fc9fd3f1SPedro Giffuni #define SAL_FRAME_CLASSNAME "SALFRAME"
214fc9fd3f1SPedro Giffuni #define SAL_SUBFRAME_CLASSNAME "SALSUBFRAME"
215fc9fd3f1SPedro Giffuni #define SAL_OBJECT_WNDEXTRA sizeof(ULONG)
216fc9fd3f1SPedro Giffuni #define SAL_OBJECT_THIS 0
217fc9fd3f1SPedro Giffuni #define SAL_OBJECT_CLASSNAME "SALOBJECT"
218fc9fd3f1SPedro Giffuni #define SAL_OBJECT_CHILDCLASSNAME "SALOBJECTCHILD"
219fc9fd3f1SPedro Giffuni #define SAL_OBJECT_CLIPCLASSNAME "SALOBJECTCLIP"
220fc9fd3f1SPedro Giffuni #define SAL_COM_CLASSNAME "SALCOMWND"
221fc9fd3f1SPedro Giffuni
222fc9fd3f1SPedro Giffuni #define SAL_MOUSELEAVE_TIMEOUT 300
223fc9fd3f1SPedro Giffuni
224fc9fd3f1SPedro Giffuni // MP1 == 0; MP2 == pData
225fc9fd3f1SPedro Giffuni #define SAL_MSG_USEREVENT (WM_USER+111)
226fc9fd3f1SPedro Giffuni // MP1 == 0; MP2 == MousePosition relativ to upper left of screen
227fc9fd3f1SPedro Giffuni #define SAL_MSG_MOUSELEAVE (WM_USER+112)
228fc9fd3f1SPedro Giffuni // MP1 == hDC; MP2 == 0
229fc9fd3f1SPedro Giffuni #define SAL_MSG_PRINTABORTJOB (WM_USER+113)
230fc9fd3f1SPedro Giffuni // MP1 == 0; MP2 == 0
231fc9fd3f1SPedro Giffuni #define SAL_MSG_STARTTIMER (WM_USER+114)
232fc9fd3f1SPedro Giffuni // MP1 == nFrameStyle; MP2 == pParent; lResult pFrame
233fc9fd3f1SPedro Giffuni #define SAL_MSG_CREATEFRAME (WM_USER+115)
234fc9fd3f1SPedro Giffuni // MP1 == 0; MP2 == pParent; lResult pObject
235fc9fd3f1SPedro Giffuni #define SAL_MSG_CREATEOBJECT (WM_USER+116)
236fc9fd3f1SPedro Giffuni // MP1 == bWait; MP2 == pMutex
237fc9fd3f1SPedro Giffuni #define SAL_MSG_THREADYIELD (WM_USER+117)
238fc9fd3f1SPedro Giffuni // MP1 == 0; MP2 == 0
239fc9fd3f1SPedro Giffuni #define SAL_MSG_RELEASEWAITYIELD (WM_USER+118)
240fc9fd3f1SPedro Giffuni // MP1 == 0; MP2 == pData
241fc9fd3f1SPedro Giffuni #define SAL_MSG_SYSPROCESSMENU (WM_USER+119)
242fc9fd3f1SPedro Giffuni // POSTFOCUS-Message; MP1 == nMP1; MP2 == nMP2 (SHORT1( bFocus ), 0)
243fc9fd3f1SPedro Giffuni #define SAL_MSG_POSTFOCUS (WM_USER+120)
244fc9fd3f1SPedro Giffuni // POSTSIZE-Message; MP1 == nMP1; MP2 == nMP2
245fc9fd3f1SPedro Giffuni #define SAL_MSG_POSTSIZE (WM_USER+121)
246fc9fd3f1SPedro Giffuni
247fc9fd3f1SPedro Giffuni // wParam == wParam; lParam == lParam
248fc9fd3f1SPedro Giffuni #define SAL_MSG_POSTMOVE (WM_USER+136)
249fc9fd3f1SPedro Giffuni // wParam == pRECT; lParam == 0
250fc9fd3f1SPedro Giffuni #define SAL_MSG_POSTPAINT (WM_USER+137)
251fc9fd3f1SPedro Giffuni // wParam == nFlags; lParam == 0
252fc9fd3f1SPedro Giffuni #define SAL_MSG_TOTOP (WM_USER+142)
253fc9fd3f1SPedro Giffuni // wParam == bVisible; lParam == 0
254fc9fd3f1SPedro Giffuni #define SAL_MSG_SHOW (WM_USER+143)
255fc9fd3f1SPedro Giffuni
256fc9fd3f1SPedro Giffuni // SysChild-ToTop; nMP1 = 0; nMP2 = 0
257fc9fd3f1SPedro Giffuni #define SALOBJ_MSG_TOTOP (WM_USER+150)
258fc9fd3f1SPedro Giffuni // POSTFOCUS-Message; MP1 == nMP1; MP2 == nMP2 (SHORT1( bFocus ), 0)
259fc9fd3f1SPedro Giffuni #define SALOBJ_MSG_POSTFOCUS (WM_USER+151)
260fc9fd3f1SPedro Giffuni
261fc9fd3f1SPedro Giffuni // wParam == 0; lParam == 0
262fc9fd3f1SPedro Giffuni #define SAL_MSG_DESTROYFRAME (WM_USER+160)
263fc9fd3f1SPedro Giffuni // wParam == 0; lParam == pObject;
264fc9fd3f1SPedro Giffuni #define SAL_MSG_DESTROYOBJECT (WM_USER+161)
265fc9fd3f1SPedro Giffuni // wParam == 0; lParam == this; lResult == bRet
266fc9fd3f1SPedro Giffuni #define SAL_MSG_CREATESOUND (WM_USER+162)
267fc9fd3f1SPedro Giffuni // wParam == 0; lParam == this
268fc9fd3f1SPedro Giffuni #define SAL_MSG_DESTROYSOUND (WM_USER+163)
269fc9fd3f1SPedro Giffuni // wParam == hWnd; lParam == 0; lResult == hDC
270fc9fd3f1SPedro Giffuni #define SAL_MSG_GETDC (WM_USER+164)
271fc9fd3f1SPedro Giffuni // wParam == hWnd; lParam == 0
272fc9fd3f1SPedro Giffuni #define SAL_MSG_RELEASEDC (WM_USER+165)
273fc9fd3f1SPedro Giffuni // wParam == newParentHwnd; lParam == oldHwnd; lResult == newhWnd
274fc9fd3f1SPedro Giffuni #define SAL_MSG_RECREATEHWND (WM_USER+166)
275fc9fd3f1SPedro Giffuni // wParam == newParentHwnd; lParam == oldHwnd; lResult == newhWnd
276fc9fd3f1SPedro Giffuni #define SAL_MSG_RECREATECHILDHWND (WM_USER+167)
277fc9fd3f1SPedro Giffuni // wParam == 0; lParam == HWND;
278fc9fd3f1SPedro Giffuni #define SAL_MSG_DESTROYHWND (WM_USER+168)
279fc9fd3f1SPedro Giffuni // POSTTIMER-Message; wparam = 0, lParam == time
280fc9fd3f1SPedro Giffuni #define SAL_MSG_POSTTIMER (WM_USER+169)
281fc9fd3f1SPedro Giffuni
282cc13e73eSYuri Dario // drag&drop internal messages (see dnd/globals.hxx)
283cc13e73eSYuri Dario #define DM_AOO_ENDCONVERSATION (WM_USER+170)
284cc13e73eSYuri Dario
285fc9fd3f1SPedro Giffuni // -----------------
286fc9fd3f1SPedro Giffuni // - Helpfunctions -
287fc9fd3f1SPedro Giffuni // -----------------
288fc9fd3f1SPedro Giffuni
SetWindowPtr(HWND hWnd,SalFrame * pThis)289fc9fd3f1SPedro Giffuni inline void SetWindowPtr( HWND hWnd, SalFrame* pThis )
290fc9fd3f1SPedro Giffuni {
291fc9fd3f1SPedro Giffuni WinSetWindowULong( hWnd, SAL_FRAME_THIS, (ULONG)pThis );
292fc9fd3f1SPedro Giffuni }
293fc9fd3f1SPedro Giffuni
GetWindowPtr(HWND hWnd)294fc9fd3f1SPedro Giffuni inline Os2SalFrame* GetWindowPtr( HWND hWnd )
295fc9fd3f1SPedro Giffuni {
296fc9fd3f1SPedro Giffuni return (Os2SalFrame*)WinQueryWindowULong( hWnd, SAL_FRAME_THIS );
297fc9fd3f1SPedro Giffuni }
298fc9fd3f1SPedro Giffuni
SetSalObjWindowPtr(HWND hWnd,SalObject * pThis)299fc9fd3f1SPedro Giffuni inline void SetSalObjWindowPtr( HWND hWnd, SalObject* pThis )
300fc9fd3f1SPedro Giffuni {
301fc9fd3f1SPedro Giffuni WinSetWindowULong( hWnd, SAL_OBJECT_THIS, (ULONG)pThis );
302fc9fd3f1SPedro Giffuni }
303fc9fd3f1SPedro Giffuni
GetSalObjWindowPtr(HWND hWnd)304fc9fd3f1SPedro Giffuni inline Os2SalObject* GetSalObjWindowPtr( HWND hWnd )
305fc9fd3f1SPedro Giffuni {
306fc9fd3f1SPedro Giffuni return (Os2SalObject*)WinQueryWindowULong( hWnd, SAL_OBJECT_THIS );
307fc9fd3f1SPedro Giffuni }
308fc9fd3f1SPedro Giffuni
309fc9fd3f1SPedro Giffuni #endif // _SV_SALDATA_HXX
310