225 static void _Grab(void *param);
226 static void _Ungrab(void *param);
227 static void _SetAlwaysOnTop(void *param);
228 static void _SetTitle(void *param);
229 static void _SetResizable(void *param);
230 static void _UpdateInsets(void *param);
231 static void _ReshapeFrame(void *param);
232 static void _SetIconImagesData(void * param);
233 static void _SetMinSize(void* param);
234 static jint _GetScreenImOn(void *param);
235 static void _SetFocusableWindow(void *param);
236 static void _SetModalExcludedNativeProp(void *param);
237 static void _ModalDisable(void *param);
238 static void _ModalEnable(void *param);
239 static void _SetOpacity(void* param);
240 static void _SetOpaque(void* param);
241 static void _UpdateWindow(void* param);
242 static void _RepositionSecurityWarning(void* param);
243 static void _SetFullScreenExclusiveModeState(void* param);
244 static void _GetNativeWindowSize(void* param);
245
246 inline static BOOL IsResizing() {
247 return sm_resizing;
248 }
249
250 virtual void CreateHWnd(JNIEnv *env, LPCWSTR title,
251 DWORD windowStyle, DWORD windowExStyle,
252 int x, int y, int w, int h,
253 HWND hWndParent, HMENU hMenu,
254 COLORREF colorForeground, COLORREF colorBackground,
255 jobject peer);
256 virtual void DestroyHWnd();
257
258 static void FocusedWindowChanged(HWND from, HWND to);
259
260 private:
261 static int ms_instanceCounter;
262 static HHOOK ms_hCBTFilter;
263 static LRESULT CALLBACK CBTFilter(int nCode, WPARAM wParam, LPARAM lParam);
264 static BOOL sm_resizing; /* in the middle of a resizing operation */
366 BOOL m_iconInherited; /* TRUE if icon is inherited from the owner */
367 BOOL m_filterFocusAndActivation; /* Used in the WH_CBT hook */
368
369 inline BOOL IsUntrusted() {
370 return warningString != NULL;
371 }
372
373 UINT currentWmSizeState;
374
375 void EnableTranslucency(BOOL enable);
376
377 // Native representation of the java.awt.Window.Type enum
378 enum Type {
379 NORMAL, UTILITY, POPUP
380 };
381
382 inline Type GetType() { return m_windowType; }
383
384 private:
385 int m_screenNum;
386
387 void InitOwner(AwtWindow *owner);
388
389 Type m_windowType;
390 void InitType(JNIEnv *env, jobject peer);
391
392 // Tweak the style according to the type of the window
393 void TweakStyle(DWORD & style, DWORD & exStyle);
394
395 // Set in _SetAlwaysOnTop()
396 bool m_alwaysOnTop;
397 public:
398 inline bool IsAlwaysOnTop() { return m_alwaysOnTop; }
399 };
400
401 HICON CreateIconFromRaster(JNIEnv* env, jintArray iconRaster, jint w, jint h);
402
403 #endif /* AWT_WINDOW_H */
|
225 static void _Grab(void *param);
226 static void _Ungrab(void *param);
227 static void _SetAlwaysOnTop(void *param);
228 static void _SetTitle(void *param);
229 static void _SetResizable(void *param);
230 static void _UpdateInsets(void *param);
231 static void _ReshapeFrame(void *param);
232 static void _SetIconImagesData(void * param);
233 static void _SetMinSize(void* param);
234 static jint _GetScreenImOn(void *param);
235 static void _SetFocusableWindow(void *param);
236 static void _SetModalExcludedNativeProp(void *param);
237 static void _ModalDisable(void *param);
238 static void _ModalEnable(void *param);
239 static void _SetOpacity(void* param);
240 static void _SetOpaque(void* param);
241 static void _UpdateWindow(void* param);
242 static void _RepositionSecurityWarning(void* param);
243 static void _SetFullScreenExclusiveModeState(void* param);
244 static void _GetNativeWindowSize(void* param);
245 static void _WindowDPIChange(void* param);
246
247 inline static BOOL IsResizing() {
248 return sm_resizing;
249 }
250
251 virtual void CreateHWnd(JNIEnv *env, LPCWSTR title,
252 DWORD windowStyle, DWORD windowExStyle,
253 int x, int y, int w, int h,
254 HWND hWndParent, HMENU hMenu,
255 COLORREF colorForeground, COLORREF colorBackground,
256 jobject peer);
257 virtual void DestroyHWnd();
258
259 static void FocusedWindowChanged(HWND from, HWND to);
260
261 private:
262 static int ms_instanceCounter;
263 static HHOOK ms_hCBTFilter;
264 static LRESULT CALLBACK CBTFilter(int nCode, WPARAM wParam, LPARAM lParam);
265 static BOOL sm_resizing; /* in the middle of a resizing operation */
367 BOOL m_iconInherited; /* TRUE if icon is inherited from the owner */
368 BOOL m_filterFocusAndActivation; /* Used in the WH_CBT hook */
369
370 inline BOOL IsUntrusted() {
371 return warningString != NULL;
372 }
373
374 UINT currentWmSizeState;
375
376 void EnableTranslucency(BOOL enable);
377
378 // Native representation of the java.awt.Window.Type enum
379 enum Type {
380 NORMAL, UTILITY, POPUP
381 };
382
383 inline Type GetType() { return m_windowType; }
384
385 private:
386 int m_screenNum;
387 int prevX;
388 int prevY;
389
390 void InitOwner(AwtWindow *owner);
391 void WindowDPIChange(int prevScreen, int newScreen);
392 void WindowDPIChange(float prevScaleX, float prevScaleY, float scaleX, float scaleY);
393
394 Type m_windowType;
395 void InitType(JNIEnv *env, jobject peer);
396
397 // Tweak the style according to the type of the window
398 void TweakStyle(DWORD & style, DWORD & exStyle);
399
400 // Set in _SetAlwaysOnTop()
401 bool m_alwaysOnTop;
402 public:
403 inline bool IsAlwaysOnTop() { return m_alwaysOnTop; }
404 };
405
406 HICON CreateIconFromRaster(JNIEnv* env, jintArray iconRaster, jint w, jint h);
407
408 #endif /* AWT_WINDOW_H */
|