From 1d06283bcfd712275bde96c4cab7635d73987ea2 Mon Sep 17 00:00:00 2001 From: zeljko Date: Tue, 8 Mar 2016 09:15:47 +0000 Subject: [PATCH] Qt: added GetX11WindowRealized() helper function git-svn-id: trunk@51856 - --- lcl/interfaces/qt/qtint.pp | 1 + lcl/interfaces/qt/qtx11.inc | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/lcl/interfaces/qt/qtint.pp b/lcl/interfaces/qt/qtint.pp index 5d80c60392..7fdc80a780 100644 --- a/lcl/interfaces/qt/qtint.pp +++ b/lcl/interfaces/qt/qtint.pp @@ -265,6 +265,7 @@ type {force mapping} procedure MapX11Window(AWinID: LongWord); {$IFDEF QtUseAccurateFrame} + function GetX11WindowRealized(AWinID: LongWord): boolean; function GetX11SupportedAtoms(AWinID: LongWord; AList: TStrings): boolean; {Ask for _NET_FRAME_EXTENTS,_KDE_NET_WM_SHADOW,_GTK_NET_FRAME_EXTENTS} function GetX11RectForAtom(AWinID: LongWord; const AAtomName: string; out ARect: TRect): boolean; diff --git a/lcl/interfaces/qt/qtx11.inc b/lcl/interfaces/qt/qtx11.inc index cf58c418a9..6a46e90a7b 100644 --- a/lcl/interfaces/qt/qtx11.inc +++ b/lcl/interfaces/qt/qtx11.inc @@ -355,6 +355,18 @@ begin end; {$IFDEF QtUseAccurateFrame} + +function GetX11WindowRealized(AWinID: LongWord): boolean; +var + d: PDisplay; + AXWinAttr: TXWindowAttributes; +begin + Result := False; + d := QX11Info_display; + XGetWindowAttributes(d, TWindow(AWinID), @AXWinAttr); + Result := (AXWinAttr.map_installed > 0) and (AXWinAttr.map_state = 2); +end; + function GetX11WindowPos(AWinID: LongWord; out ALeft, ATop: integer): boolean; var D: PDisplay;