salframe.cxx (aa150a94) salframe.cxx (df906e24)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 78 unchanged lines hidden (view full) ---

87#define COMPILE_MULTIMON_STUBS
88#include <multimon.h>
89#include <vector>
90#ifdef __MINGW32__
91#include <algorithm>
92using ::std::max;
93#endif
94
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 78 unchanged lines hidden (view full) ---

87#define COMPILE_MULTIMON_STUBS
88#include <multimon.h>
89#include <vector>
90#ifdef __MINGW32__
91#include <algorithm>
92using ::std::max;
93#endif
94
95//IAccessibility2 Implementation 2009-----
96#ifdef WNT
97#include <oleacc.h>
98#include <com/sun/star/accessibility/XMSAAService.hpp>
99#ifndef _WIN32_WCE
100#define WM_GETOBJECT 0x003D
101#endif
102#define OBJID_WINDOW ((LONG)0x00000000)
103#define OBJID_SYSMENU ((LONG)0xFFFFFFFF)
104#define OBJID_TITLEBAR ((LONG)0xFFFFFFFE)
105#define OBJID_MENU ((LONG)0xFFFFFFFD)
106#define OBJID_CLIENT ((LONG)0xFFFFFFFC)
107#define OBJID_VSCROLL ((LONG)0xFFFFFFFB)
108#define OBJID_HSCROLL ((LONG)0xFFFFFFFA)
109#define OBJID_SIZEGRIP ((LONG)0xFFFFFFF9)
110#define OBJID_CARET ((LONG)0xFFFFFFF8)
111#define OBJID_CURSOR ((LONG)0xFFFFFFF7)
112#define OBJID_ALERT ((LONG)0xFFFFFFF6)
113#define OBJID_SOUND ((LONG)0xFFFFFFF5)
114#define OBJID_QUERYCLASSNAMEIDX ((LONG)0xFFFFFFF4)
115#define OBJID_NATIVEOM ((LONG)0xFFFFFFF0)
116#include <win/g_msaasvc.h>
117#endif
118//-----IAccessibility2 Implementation 2009
95#include <com/sun/star/uno/Exception.hdl>
96
97#include <time.h>
98
99using ::rtl::OUString;
100using namespace ::com::sun::star;
101using namespace ::com::sun::star::uno;
102using namespace ::com::sun::star::lang;

--- 45 unchanged lines hidden (view full) ---

148#endif
149
150// Macros for support of WM_UNICHAR & Keyman 6.0
151#define Uni_UTF32ToSurrogate1(ch) (((unsigned long) (ch) - 0x10000) / 0x400 + 0xD800)
152#define Uni_UTF32ToSurrogate2(ch) (((unsigned long) (ch) - 0x10000) % 0x400 + 0xDC00)
153#define Uni_SupplementaryPlanesStart 0x10000
154
155// =======================================================================
119#include <com/sun/star/uno/Exception.hdl>
120
121#include <time.h>
122
123using ::rtl::OUString;
124using namespace ::com::sun::star;
125using namespace ::com::sun::star::uno;
126using namespace ::com::sun::star::lang;

--- 45 unchanged lines hidden (view full) ---

172#endif
173
174// Macros for support of WM_UNICHAR & Keyman 6.0
175#define Uni_UTF32ToSurrogate1(ch) (((unsigned long) (ch) - 0x10000) / 0x400 + 0xD800)
176#define Uni_UTF32ToSurrogate2(ch) (((unsigned long) (ch) - 0x10000) % 0x400 + 0xDC00)
177#define Uni_SupplementaryPlanesStart 0x10000
178
179// =======================================================================
156
180//IAccessibility2 Implementation 2009-----
181#ifdef WNT
182using namespace ::com::sun::star::accessibility;
183XMSAAService* g_acc_manager1 = NULL;
184#endif
185//-----IAccessibility2 Implementation 2009
157static void UpdateFrameGeometry( HWND hWnd, WinSalFrame* pFrame );
158static void SetMaximizedFrameGeometry( HWND hWnd, WinSalFrame* pFrame, RECT* pParentRect = NULL );
159
160static void ImplSaveFrameState( WinSalFrame* pFrame )
161{
162 // Position, Groesse und Status fuer GetWindowState() merken
163 if ( !pFrame->mbFullScreen )
164 {

--- 6008 unchanged lines hidden (view full) ---

6173
6174 case WM_IME_ENDCOMPOSITION:
6175 rDef = ImplHandleIMEEndComposition( hWnd );
6176 break;
6177
6178 case WM_IME_NOTIFY:
6179 ImplHandleIMENotify( hWnd, wParam );
6180 break;
186static void UpdateFrameGeometry( HWND hWnd, WinSalFrame* pFrame );
187static void SetMaximizedFrameGeometry( HWND hWnd, WinSalFrame* pFrame, RECT* pParentRect = NULL );
188
189static void ImplSaveFrameState( WinSalFrame* pFrame )
190{
191 // Position, Groesse und Status fuer GetWindowState() merken
192 if ( !pFrame->mbFullScreen )
193 {

--- 6008 unchanged lines hidden (view full) ---

6202
6203 case WM_IME_ENDCOMPOSITION:
6204 rDef = ImplHandleIMEEndComposition( hWnd );
6205 break;
6206
6207 case WM_IME_NOTIFY:
6208 ImplHandleIMENotify( hWnd, wParam );
6209 break;
6210
6211//IAccessibility2 implementation 2009-----
6212#ifdef WNT
6213 case WM_GETOBJECT:
6214 {
6215 if (!Application::IsEnableAccessInterface())
6216 {
6217 break;
6218 }
6219 else
6220 {
6221 // Make sure to launch Accessibiliity only the following criterias are satisfied to avoid RFT interrupts regular acc processing
6222 if (g_acc_manager1 == NULL &&
6223 Application::GetSettings().GetMiscSettings().GetEnableATToolSupport() &&
6224 IsBridgeRegistered() /* && HasAtHook() */ )
6225 {
6226 sal_Bool bCancelled;
6227 InitAccessBridge(sal_False,bCancelled);
6228 if( bCancelled )
6229 break;
6230 }
6231 if (g_acc_manager1 != NULL)
6232 {
6233 // MT: mhOnSetTitleWnd not set to reasonable value anywhere...
6234 /*
6235 sal_Bool bSkipSetTitleClient = sal_False;
6236 SalFrame* pFrame = GetWindowPtr( hWnd );
6237 if(pFrame)
6238 {
6239 bSkipSetTitleClient = (lParam == OBJID_CLIENT && hWnd == ((WinSalFrame*)pFrame)->mhOnSetTitleWnd);
6240 }
6241 */
6242 if ( (lParam == OBJID_CLIENT ) /* && !bSkipSetTitleClient */ )
6243 {
6244 long RetResult = g_acc_manager1->getAccObjectPtr((long)hWnd, lParam, wParam);
6245 if(RetResult != 0)
6246 {
6247 rDef = FALSE;
6248 return (HRESULT)RetResult;
6249 }
6250 }
6251 }
6252 }
6253 break;
6254 }
6255#endif
6256//-----IAccessibility2 implementation 2009
6257
6181 case WM_APPCOMMAND:
6182 if( ImplHandleAppCommand( hWnd, lParam ) )
6183 {
6184 rDef = false;
6185 nRet = 1;
6186 }
6187 break;
6188#if WINVER >= 0x0500

--- 204 unchanged lines hidden (view full) ---

6393 return bSuccess;
6394 }
6395 else
6396 return TRUE;
6397}
6398
6399// -----------------------------------------------------------------------
6400
6258 case WM_APPCOMMAND:
6259 if( ImplHandleAppCommand( hWnd, lParam ) )
6260 {
6261 rDef = false;
6262 nRet = 1;
6263 }
6264 break;
6265#if WINVER >= 0x0500

--- 204 unchanged lines hidden (view full) ---

6470 return bSuccess;
6471 }
6472 else
6473 return TRUE;
6474}
6475
6476// -----------------------------------------------------------------------
6477
6478//IAccessibility2 implementation 2009-----
6479#ifdef WNT
6480bool IsWNTInitAccessBridge()
6481{
6482 return NULL != g_acc_manager1;
6483}
6484#endif
6485#ifdef WNT
6486bool WNTEnableAccessInterface(bool bEnable)
6487{
6488 ImplSVData* pSVData = ImplGetSVData();
6489
6490 BOOL bPreVal = pSVData->maAppData.m_bEnableAccessInterface;
6491 long nEnable= bEnable;
6492 ::InterlockedExchange(
6493 (LPLONG)&(pSVData->maAppData.m_bEnableAccessInterface),
6494 nEnable);
6495
6496 return bPreVal;
6497}
6498#endif
6499//-----IAccessibility2 implementation 2009