summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-11-15 17:27:58 +0000
committerMichael Stahl <michael.stahl@allotropia.de>2021-11-16 15:59:04 +0100
commit0866a9e92ff0d301632d0600d6178c2fc2080f48 (patch)
tree0949cf2032f71009fbfa2e566aee2bd2ddf6d394 /include
parente9ac9830328df833311a3ff703c165234965e2cb (diff)
Resolves: tdf#143511 SysObj is clipped out if the widget is out of view
so the sizes and relative positions are invalid under gtk, unclip the SysObj when using get_extents_relative_to Change-Id: Ibdaff20531a2a40b3b9b7dc9ac880d014db07d5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125141 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'include')
-rw-r--r--include/vcl/InterimItemWindow.hxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/vcl/InterimItemWindow.hxx b/include/vcl/InterimItemWindow.hxx
index 08860c50244a..8c5a6d4e418f 100644
--- a/include/vcl/InterimItemWindow.hxx
+++ b/include/vcl/InterimItemWindow.hxx
@@ -50,6 +50,13 @@ protected:
virtual void Layout();
+ // unclip a "SysObj" which is a native window element hosted in a vcl::Window
+ // if the SysObj is logically "visible" in the vcl::Window::IsVisible sense but
+ // is partially or wholly clipped out due to being overlapped or scrolled out
+ // of view. The clip state is flagged as dirty after this and vcl will restore
+ // the clip state the next time it evaluates the clip status
+ void UnclipVisibleSysObj();
+
std::unique_ptr<weld::Builder> m_xBuilder;
VclPtr<vcl::Window> m_xVclContentArea;
std::unique_ptr<weld::Container> m_xContainer;