LibreOffice Module vcl (master)  1
window.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #pragma once
21 
22 #include <sal/config.h>
23 
24 #include <tools/fract.hxx>
25 #include <vcl/commandevent.hxx>
26 #include <vcl/idle.hxx>
27 #include <vcl/inputctx.hxx>
28 #include <vcl/window.hxx>
29 #include <vcl/settings.hxx>
30 #include <o3tl/deleter.hxx>
31 #include <o3tl/typed_flags_set.hxx>
32 #include <cppuhelper/weakref.hxx>
33 #include "windowdev.hxx"
34 
35 #include <optional>
36 #include <list>
37 #include <memory>
38 #include <vector>
39 #include <set>
40 
41 class FixedText;
42 class VclSizeGroup;
43 class VirtualDevice;
44 namespace vcl::font { class PhysicalFontCollection; }
45 class ImplFontCache;
46 class VCLXWindow;
47 class WindowStateData;
48 class SalFrame;
49 class SalObject;
50 enum class MouseEventModifiers;
51 enum class MouseNotifyEvent;
52 enum class ActivateModeFlags;
53 enum class DialogControlFlags;
54 enum class GetFocusFlags;
55 enum class ParentClipMode;
56 enum class SalEvent;
57 
58 namespace com::sun::star {
59  namespace accessibility {
60  class XAccessible;
61  class XAccessibleContext;
62  class XAccessibleEditableText;
63  }
64 
65  namespace awt {
66  class XWindowPeer;
67  class XWindow;
68  }
69  namespace uno {
70  class Any;
71  class XInterface;
72  }
73  namespace datatransfer {
74  namespace clipboard {
75  class XClipboard;
76  }
77  namespace dnd {
78  class XDropTargetListener;
79  class XDragGestureRecognizer;
80  class XDragSource;
81  class XDropTarget;
82  }
83  }
84 }
85 
87 
88 //return true if this window and its stack of containers are all shown
89 bool isVisibleInLayout(const vcl::Window *pWindow);
90 
91 //return true if this window and its stack of containers are all enabled
92 bool isEnabledInLayout(const vcl::Window *pWindow);
93 
94 bool ImplWindowFrameProc( vcl::Window* pInst, SalEvent nEvent, const void* pEvent );
95 
97 {
98  std::optional<OUString>
100  std::unique_ptr<ExtTextInputAttr[]>
102  std::optional<tools::Rectangle>
106  std::unique_ptr<tools::Rectangle[]>
109  std::optional<tools::Rectangle>
111  std::optional<tools::Rectangle>
114  sal_uInt16 mnIsTopWindow;
115  bool mbMouseOver; //< tracks mouse over for native widget paint effect
116  bool mbEnableNativeWidget; //< toggle native widget rendering
117  ::std::list< VclPtr<vcl::Window> >
119 
120  ImplWinData();
121  ~ImplWinData();
122 };
123 
125 {
126  Idle maPaintIdle; //< paint idle handler
127  Idle maResizeIdle; //< resize timer
128  InputContext maOldInputContext; //< last set Input Context
129  VclPtr<vcl::Window> mpNextFrame; //< next frame window
130  VclPtr<vcl::Window> mpFirstOverlap; //< first overlap vcl::Window
131  VclPtr<vcl::Window> mpFocusWin; //< focus window (is also set, when frame doesn't have the focus)
132  VclPtr<vcl::Window> mpMouseMoveWin; //< last window, where MouseMove() called
133  VclPtr<vcl::Window> mpMouseDownWin; //< last window, where MouseButtonDown() called
134  std::vector<VclPtr<vcl::Window> > maOwnerDrawList; //< List of system windows with owner draw decoration
135  std::shared_ptr<vcl::font::PhysicalFontCollection> mxFontCollection; //< Font-List for this frame
136  std::shared_ptr<ImplFontCache> mxFontCache; //< Font-Cache for this frame
137  sal_Int32 mnDPIX; //< Original Screen Resolution
138  sal_Int32 mnDPIY; //< Original Screen Resolution
139  ImplSVEvent * mnFocusId; //< FocusId for PostUserLink
140  ImplSVEvent * mnMouseMoveId; //< MoveId for PostUserLink
141  tools::Long mnLastMouseX; //< last x mouse position
142  tools::Long mnLastMouseY; //< last y mouse position
143  tools::Long mnBeforeLastMouseX; //< last but one x mouse position
144  tools::Long mnBeforeLastMouseY; //< last but one y mouse position
145  tools::Long mnFirstMouseX; //< first x mouse position by mousebuttondown
146  tools::Long mnFirstMouseY; //< first y mouse position by mousebuttondown
147  tools::Long mnLastMouseWinX; //< last x mouse position, rel. to pMouseMoveWin
148  tools::Long mnLastMouseWinY; //< last y mouse position, rel. to pMouseMoveWin
149  sal_uInt16 mnModalMode; //< frame based modal count (app based makes no sense anymore)
150  sal_uInt64 mnMouseDownTime; //< mouse button down time for double click
151  sal_uInt16 mnClickCount; //< mouse click count
152  sal_uInt16 mnFirstMouseCode; //< mouse code by mousebuttondown
153  sal_uInt16 mnMouseCode; //< mouse code
155  bool mbHasFocus; //< focus
156  bool mbInMouseMove; //< is MouseMove on stack
157  bool mbMouseIn; //> is Mouse inside the frame
158  bool mbStartDragCalled; //< is command startdrag called
159  bool mbNeedSysWindow; //< set, when FrameSize <= IMPL_MIN_NEEDSYSWIN
160  bool mbMinimized; //< set, when FrameSize <= 0
161  bool mbStartFocusState; //< FocusState, when sending the event
162  bool mbInSysObjFocusHdl; //< within a SysChildren's GetFocus handler
163  bool mbInSysObjToTopHdl; //< within a SysChildren's ToTop handler
164  bool mbSysObjFocus; //< does a SysChild have focus
166 
167  css::uno::Reference< css::datatransfer::dnd::XDragSource > mxDragSource;
168  css::uno::Reference< css::datatransfer::dnd::XDropTarget > mxDropTarget;
169  css::uno::Reference< css::datatransfer::dnd::XDropTargetListener > mxDropTargetListener;
170  css::uno::Reference< css::datatransfer::clipboard::XClipboard > mxClipboard;
171 
176 
177  ImplFrameData( vcl::Window *pWindow );
178 };
179 
181 {
182  sal_uInt16 nAccessibleRole;
183  std::optional<OUString>
185  std::optional<OUString>
190 
193 };
194 
196 
197 enum class ImplPaintFlags {
198  NONE = 0x0000,
199  Paint = 0x0001,
200  PaintAll = 0x0002,
201  PaintAllChildren = 0x0004,
202  PaintChildren = 0x0008,
203  Erase = 0x0010,
204  CheckRtl = 0x0020,
205 };
206 namespace o3tl {
207  template<> struct typed_flags<ImplPaintFlags> : is_typed_flags<ImplPaintFlags, 0x003f> {};
208 }
209 
210 
212 {
213 private:
214  WindowImpl(const WindowImpl&) = delete;
215  WindowImpl& operator=(const WindowImpl&) = delete;
216 public:
217  WindowImpl( vcl::Window& rWindow, WindowType );
218  ~WindowImpl();
219 
221  std::unique_ptr<ImplWinData> mpWinData;
240  std::vector<Link<VclWindowEvent&,void>> maEventListeners;
242  std::set<Link<VclWindowEvent&,void>> maEventListenersDeleted;
243  std::vector<Link<VclWindowEvent&,void>> maChildEventListeners;
245  std::set<Link<VclWindowEvent&,void>> maChildEventListenersDeleted;
249 
253  OUString maText;
254  std::optional<vcl::Font>
258  sal_Int32 mnLeftBorder;
259  sal_Int32 mnTopBorder;
260  sal_Int32 mnRightBorder;
261  sal_Int32 mnBottomBorder;
262  sal_Int32 mnWidthRequest;
263  sal_Int32 mnHeightRequest;
270  OString maHelpId;
271  OUString maHelpText;
272  OUString maQuickHelpText;
273  OUString maID;
275  css::uno::Reference< css::awt::XWindowPeer > mxWindowPeer;
276  css::uno::Reference< css::accessibility::XAccessible > mxAccessible;
277  std::shared_ptr< VclSizeGroup > m_xSizeGroup;
278  std::vector<VclPtr<FixedText>> m_aMnemonicLabels;
279  std::unique_ptr<ImplAccessibleInfos> mpAccessibleInfos;
281  vcl::Region maWinRegion; //< region to 'shape' the VCL window (frame coordinates)
282  vcl::Region maWinClipRegion; //< the (clipping) region that finally corresponds to the VCL window (frame coordinates)
283  vcl::Region maInvalidateRegion; //< region that has to be redrawn (frame coordinates)
284  std::unique_ptr<vcl::Region> mpChildClipRegion; //< child clip region if CLIPCHILDREN is set (frame coordinates)
285  vcl::Region* mpPaintRegion; //< only set during Paint() method call (window coordinates)
291  sal_uInt16 mnWaitCount;
301  sal_Int32 mnPadding;
302  sal_Int32 mnGridHeight;
303  sal_Int32 mnGridLeftAttach;
304  sal_Int32 mnGridTopAttach;
305  sal_Int32 mnGridWidth;
306  sal_Int32 mnBorderWidth;
307  sal_Int32 mnMarginLeft;
308  sal_Int32 mnMarginRight;
309  sal_Int32 mnMarginTop;
310  sal_Int32 mnMarginBottom;
311  bool mbFrame:1,
312  mbBorderWin:1,
313  mbOverlapWin:1,
314  mbSysWin:1,
315  mbDialog:1,
316  mbDockWin:1,
317  mbFloatWin:1,
318  mbPushButton:1,
319  mbVisible:1,
320  mbDisabled:1,
321  mbInputDisabled:1,
322  mbNoUpdate:1,
324  mbActive:1,
325  mbReallyVisible:1,
326  mbReallyShown:1,
327  mbInInitShow:1,
329  mbNoPtrVisible:1,
330  mbPaintFrame:1,
331  mbInPaint:1,
333  mbMouseButtonUp:1,
334  mbKeyInput:1,
335  mbKeyUp:1,
336  mbCommand:1,
337  mbDefPos:1,
338  mbDefSize:1,
339  mbCallMove:1,
340  mbCallResize:1,
344  mbWinRegion:1,
345  mbClipChildren:1,
346  mbClipSiblings:1,
350  mbDlgCtrlStart:1,
351  mbFocusVisible:1,
352  mbTrackVisible:1,
355  mbInShowFocus:1,
356  mbInHideFocus:1,
359  mbAlwaysOnTop:1,
362  mbPaintDisabled:1,
363  mbAllResize:1,
364  mbInDispose:1,
365  mbExtTextInput:1,
366  mbInFocusHdl:1,
369  mbToolBox:1,
370  mbSplitter:1,
377  mbFakeFocusSet:1,
378  mbHexpand:1,
379  mbVexpand:1,
380  mbExpand:1,
381  mbFill:1,
382  mbSecondary:1,
385 
386  css::uno::Reference< css::uno::XInterface > mxDNDListenerContainer;
387 
388  const vcl::ILibreOfficeKitNotifier* mpLOKNotifier;
391 };
392 
393 namespace vcl
394 {
397 {
406 public:
407  PaintBufferGuard(ImplFrameData* pFrameData, vcl::Window* pWindow);
408  ~PaintBufferGuard() COVERITY_NOEXCEPT_FALSE;
410  void SetPaintRect(const tools::Rectangle& rRectangle);
412  vcl::RenderContext* GetRenderContext();
413 };
414 typedef std::unique_ptr<PaintBufferGuard, o3tl::default_delete<PaintBufferGuard>> PaintBufferGuardPtr;
415 }
416 
417 // helper methods
418 
419 bool ImplHandleMouseEvent( const VclPtr<vcl::Window>& xWindow, MouseNotifyEvent nSVEvent, bool bMouseLeave,
420  tools::Long nX, tools::Long nY, sal_uInt64 nMsgTime,
421  sal_uInt16 nCode, MouseEventModifiers nMode );
422 void ImplHandleResize( vcl::Window* pWindow, tools::Long nNewWidth, tools::Long nNewHeight );
423 
424 VCL_DLLPUBLIC void ImplWindowStateFromStr(WindowStateData& rData, const OString& rStr);
425 
426 VCL_DLLPUBLIC css::uno::Reference<css::accessibility::XAccessibleEditableText>
427 FindFocusedEditableText(css::uno::Reference<css::accessibility::XAccessibleContext> const&);
428 
429 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool mbDlgCtrlStart
Definition: window.h:311
bool mbNeedSysWindow
Definition: window.h:159
std::vector< VclPtr< FixedText > > m_aMnemonicLabels
Definition: window.h:278
bool mbAlwaysOnTop
Definition: window.h:311
tools::Long mnX
Definition: window.h:266
MouseEventModifiers mnMouseMode
Definition: window.h:154
sal_Int32 mnPadding
Definition: window.h:301
exports com.sun.star.datatransfer. clipboard
bool mbSplitter
Definition: window.h:311
std::optional< OUString > mpExtOldText
Definition: window.h:99
tools::Long mnFirstMouseX
Definition: window.h:145
bool mbHexpand
Definition: window.h:311
sal_Int32 mnGridWidth
Definition: window.h:305
bool mbVexpand
Definition: window.h:311
bool mbInHideFocus
Definition: window.h:311
bool mbMouseButtonUp
Definition: window.h:311
DialogControlFlags mnDlgCtrlFlags
Definition: window.h:296
VclPackType mePackType
Definition: window.h:300
bool mbDefPos
Definition: window.h:311
vcl::Cursor * mpCursor
Definition: window.h:250
std::optional< vcl::Font > mpControlFont
Definition: window.h:255
WindowExtendedStyle
Definition: window.hxx:412
sal_Int32 mnOptimalHeightCache
Definition: window.h:265
sal_uInt16 mnWaitCount
Definition: window.h:291
#define VCL_DLLPUBLIC
Definition: dllapi.h:29
int mnEventListenersIteratingCount
Definition: window.h:241
bool mbInitChildRegion
Definition: window.h:311
long Long
bool mbInBufferedPaint
PaintHelper is in the process of painting into this buffer.
Definition: window.h:174
bool mbVisible
Definition: window.h:311
bool mbNonHomogeneous
Definition: window.h:311
Link< tools::JsonWriter &, void > maDumpAsPropertyTreeHdl
Definition: window.h:248
VclPtr< vcl::Window > pLabeledByWindow
Definition: window.h:187
bool mbStartFocusState
Definition: window.h:161
bool mbClipSiblings
Definition: window.h:311
ActivateModeFlags mnActivateMode
Definition: window.h:295
sal_Int32 mnHeightRequest
Definition: window.h:263
std::set< Link< VclWindowEvent &, void > > maEventListenersDeleted
Definition: window.h:242
std::unique_ptr< ImplAccessibleInfos > mpAccessibleInfos
Definition: window.h:279
vcl::Region maInvalidateRegion
Definition: window.h:283
sal_Int32 mnTopBorder
Definition: window.h:259
exports com.sun.star. awt
std::vector< Link< VclWindowEvent &, void > > maChildEventListeners
Definition: window.h:243
css::uno::Reference< css::datatransfer::dnd::XDragSource > mxDragSource
Definition: window.h:167
bool mbSuppressAccessibilityEvents
Definition: window.h:311
VclPtr< vcl::Window > mpNextFrame
Definition: window.h:129
bool mbReallyVisible
Definition: window.h:311
VclPtr< vcl::WindowOutputDevice > mxOutDev
Definition: window.h:220
WindowType mnType
Definition: window.h:289
sal_Int32 mnDPIY
Definition: window.h:138
bool mbHasFocus
Definition: window.h:155
InputContext maOldInputContext
Definition: window.h:128
std::optional< OUString > pAccessibleName
Definition: window.h:184
~ImplWinData()
Definition: window.cxx:758
VclPtr< VirtualDevice > mpBuffer
Buffer for the double-buffering.
Definition: window.h:173
std::shared_ptr< vcl::font::PhysicalFontCollection > mxFontCollection
Definition: window.h:135
std::unique_ptr< ImplWinData > mpWinData
Definition: window.h:221
MouseEventModifiers
Definition: event.hxx:79
ImplFrameData * mpFrameData
Definition: window.h:398
bool mbMouseIn
Definition: window.h:157
tools::Long mnOutOffY
Definition: window.h:404
bool mbMinimized
Definition: window.h:160
std::shared_ptr< VclSizeGroup > m_xSizeGroup
Definition: window.h:277
bool mbCommand
Definition: window.h:311
bool mbSecondary
Definition: window.h:311
css::uno::Reference< css::awt::XWindowPeer > mxWindowPeer
Definition: window.h:275
bool mbInSysObjFocusHdl
Definition: window.h:162
sal_Int64 WinBits
css::uno::Reference< css::datatransfer::clipboard::XClipboard > mxClipboard
Definition: window.h:170
sal_uInt16 nAccessibleRole
Definition: window.h:182
vcl::Region maWinClipRegion
Definition: window.h:282
bool mbPaintTransparent
Definition: window.h:311
bool mbCompoundControl
Definition: window.h:311
bool mbInternalDragGestureRecognizer
Definition: window.h:172
VclPtr< vcl::Window > mpPrev
Definition: window.h:235
~WindowImpl()
Definition: window.cxx:741
bool mbFocusVisible
Definition: window.h:311
sal_Int32 mnMarginRight
Definition: window.h:308
VclPtr< vcl::Window > mpMouseMoveWin
Definition: window.h:132
tools::Long mnOutOffX
Definition: window.h:403
Point maPos
Definition: window.h:269
sal_uInt16 mnMouseCode
Definition: window.h:153
std::set< Link< VclWindowEvent &, void > > maChildEventListenersDeleted
Definition: window.h:245
VclPtr< vcl::Window > mpLastChild
Definition: window.h:232
sal_Int32 mnWidthRequest
Definition: window.h:262
bool mbKeyInput
Definition: window.h:311
::std::list< VclPtr< vcl::Window > > maTopWindowChildren
Definition: window.h:118
OUString maText
Definition: window.h:253
Link< vcl::Window &, bool > maMnemonicActivateHdl
Definition: window.h:247
void ImplHandleResize(vcl::Window *pWindow, tools::Long nNewWidth, tools::Long nNewHeight)
Definition: winproc.cxx:1646
bool mbFloatWin
Definition: window.h:311
bool mbInitWinClipRegion
Definition: window.h:311
std::vector< VclPtr< vcl::Window > > maOwnerDrawList
Definition: window.h:134
bool mbIsInTaskPaneList
Definition: window.h:311
bool mbFill
Definition: window.h:311
bool mbClipChildren
Definition: window.h:311
OString maHelpId
Definition: window.h:270
bool mbSysWin
Definition: window.h:311
tools::Rectangle maBufferedRect
Rectangle in the buffer that has to be painted to the screen.
Definition: window.h:175
GetFocusFlags
Definition: window.hxx:311
ImplPaintFlags
Definition: window.h:197
bool mbReallyShown
Definition: window.h:311
bool mbDrawSelectionBackground
Definition: window.h:311
DialogControlFlags
Definition: window.hxx:331
bool mbDisabled
Definition: window.h:311
std::optional< tools::Rectangle > mpTrackRect
Definition: window.h:112
ParentClipMode mnParentClipMode
Definition: window.h:294
exports com.sun.star. datatransfer
bool mbFrame
Definition: window.h:311
bool mbInDispose
Definition: window.h:311
bool mbDefSize
Definition: window.h:311
VCLXWindow * mpVCLXWindow
Definition: window.h:280
bool mbInSysObjToTopHdl
Definition: window.h:163
bool isVisibleInLayout(const vcl::Window *pWindow)
Definition: layout.cxx:2878
AlwaysInputMode meAlwaysInputMode
Definition: window.h:297
bool mbPaintDisabled
Definition: window.h:311
vcl::LOKWindowId mnLOKWindowId
ID of this specific window.
Definition: window.h:389
WindowExtendedStyle mnExtendedStyle
Definition: window.h:288
WinBits mnStyle
Definition: window.h:286
VclPackType
Definition: vclenum.hxx:220
bool isEnabledInLayout(const vcl::Window *pWindow)
Definition: layout.cxx:2891
bool mbNativeFocusVisible
Definition: window.h:311
const vcl::ILibreOfficeKitNotifier * mpLOKNotifier
To emit the LOK callbacks eg. for dialog tunneling.
Definition: window.h:388
VclPtr< vcl::Window > mpLastFocusWindow
Definition: window.h:238
bool mbChildPtrOverwrite
Definition: window.h:311
tools::Long mnLastMouseY
Definition: window.h:142
sal_Int32 mnOptimalWidthCache
Definition: window.h:264
tools::Long mnLastMouseWinY
Definition: window.h:148
Color maControlForeground
Definition: window.h:256
tools::Long mnCursorExtWidth
Definition: window.h:104
std::unique_ptr< tools::Rectangle[]> mpCompositionCharRects
Definition: window.h:107
VclAlign meValign
Definition: window.h:299
tools::Long mnY
Definition: window.h:267
OUString maQuickHelpText
Definition: window.h:272
bool mbInShowFocus
Definition: window.h:311
tools::Long mnAbsScreenX
Definition: window.h:268
bool mbInInitShow
Definition: window.h:311
sal_Int32 mnMarginTop
Definition: window.h:309
sal_Int32 mnTouchPanPosition
Definition: window.h:165
ShowTrackFlags
Definition: window.hxx:247
bool mbNoParentUpdate
Definition: window.h:311
OUString maID
Definition: window.h:273
bool mbInMouseMove
Definition: window.h:156
A PhysicalFontFaceCollection is created by a PhysicalFontCollection and becomes invalid when original...
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
Definition: outdev.hxx:175
ActivateModeFlags
Definition: window.hxx:158
vcl::Region maWinRegion
Definition: window.h:281
VclPtr< vcl::Window > mpFirstOverlap
Definition: window.h:130
tools::Long mnBeforeLastMouseY
Definition: window.h:144
VclPtr< vcl::Window > mpLastOverlap
Definition: window.h:234
bool mbOverlapVisible
Definition: window.h:311
bool ImplWindowFrameProc(vcl::Window *pInst, SalEvent nEvent, const void *pEvent)
Definition: winproc.cxx:2387
bool mbHelpTextDynamic
Definition: window.h:311
tools::Long mnCompositionCharRects
Definition: window.h:108
bool mbWinRegion
Definition: window.h:311
SalObject * mpSysObj
Definition: window.h:224
PointerStyle maPointer
Definition: window.h:251
bool mbDockWin
Definition: window.h:311
bool mbMouseOver
Definition: window.h:115
bool mbSysObjFocus
Definition: window.h:164
sal_uInt16 mnIsTopWindow
Definition: window.h:114
tools::Long mnLastMouseWinX
Definition: window.h:147
VclPtr< vcl::Window > mpDlgCtrlDownWindow
Definition: window.h:239
VclPtr< vcl::Window > mpOverlapWindow
Definition: window.h:226
Sets up the buffer to have settings matching the window, and restores the original state in the dtor...
Definition: window.h:396
VclAlign meHalign
Definition: window.h:298
VclPtr< vcl::Window > mpClientWindow
Definition: window.h:228
bool ImplHandleMouseEvent(const VclPtr< vcl::Window > &xWindow, MouseNotifyEvent nSVEvent, bool bMouseLeave, tools::Long nX, tools::Long nY, sal_uInt64 nMsgTime, sal_uInt16 nCode, MouseEventModifiers nMode)
Definition: winproc.cxx:264
sal_uInt16 mnModalMode
Definition: window.h:149
sal_uInt16 mnClickCount
Definition: window.h:151
bool mbInPaint
Definition: window.h:311
ControlPart mnNativeBackground
Definition: window.h:290
VCL_DLLPUBLIC css::uno::Reference< css::accessibility::XAccessibleEditableText > FindFocusedEditableText(css::uno::Reference< css::accessibility::XAccessibleContext > const &)
css::uno::Reference< css::datatransfer::dnd::XDropTargetListener > mxDropTargetListener
Definition: window.h:169
VclPtr< vcl::Window > mpBorderWindow
Definition: window.h:227
VclPtr< vcl::Window > mpFirstOverlap
Definition: window.h:233
bool mbInFocusHdl
Definition: window.h:311
std::optional< tools::Rectangle > mpCursorRect
Definition: window.h:103
bool mbVertical
Definition: window.h:105
css::uno::Reference< css::datatransfer::dnd::XDropTarget > mxDropTarget
Definition: window.h:168
ImplFrameData(vcl::Window *pWindow)
Definition: window.cxx:763
sal_Int32 mnDPIX
Definition: window.h:137
WindowImpl(const WindowImpl &)=delete
SalFrame * mpFrame
Definition: window.h:223
sal_Int32 mnLeftBorder
Definition: window.h:258
std::unique_ptr< ExtTextInputAttr[]> mpExtOldAttrAry
Definition: window.h:101
SalEvent
Definition: salwtype.hxx:41
exports com.sun.star.datatransfer. dnd
sal_uInt32 LOKWindowId
bool mbExpand
Definition: window.h:311
AllSettings maSettings
Definition: window.h:402
bool mbControlBackground
Definition: window.h:311
VclPtr< vcl::Window > mpNext
Definition: window.h:236
VclPtr< vcl::Window > pLabelForWindow
Definition: window.h:188
bool mbToolBox
Definition: window.h:311
bool mbUseNativeFocus
Definition: window.h:311
tools::Long mnBeforeLastMouseX
Definition: window.h:143
bool mbDoubleBufferingRequested
Definition: window.h:311
bool mbMouseButtonDown
Definition: window.h:311
Idle maResizeIdle
Definition: window.h:127
ParentClipMode
Definition: window.hxx:235
bool mbWaitSystemResize
Definition: window.h:311
bool mbNoUpdate
Definition: window.h:311
bool mbExtTextInput
Definition: window.h:311
A SalFrame is a system window (e.g. an X11 window).
Definition: salframe.hxx:114
sal_Int32 mnGridLeftAttach
Definition: window.h:303
css::uno::Reference< css::accessibility::XAccessible > mxAccessible
Definition: window.h:276
InputContext maInputContext
Definition: window.h:274
bool mbCallMove
Definition: window.h:311
bool mbBorderWin
Definition: window.h:311
tools::Long mnLastMouseX
Definition: window.h:141
std::unique_ptr< PaintBufferGuard, o3tl::default_delete< PaintBufferGuard > > PaintBufferGuardPtr
Definition: window.h:414
AlwaysInputMode
Definition: window.h:195
std::shared_ptr< ImplFontCache > mxFontCache
Definition: window.h:136
int mnChildEventListenersIteratingCount
Definition: window.h:244
WindowType
VclPtr< vcl::Window > mpMouseDownWin
Definition: window.h:133
bool mbActive
Definition: window.h:311
bool mbEnableNativeWidget
Definition: window.h:116
bool mbMouseTransparent
Definition: window.h:311
bool mbLOKParentNotifier
Definition: window.h:390
bool mbAllResize
Definition: window.h:311
tools::Rectangle m_aPaintRect
Definition: window.h:405
ImplSVEvent * mnFocusId
Definition: window.h:139
sal_uInt64 mnMouseDownTime
Definition: window.h:150
bool mbDialog
Definition: window.h:311
bool mbInputDisabled
Definition: window.h:311
bool mbStartDragCalled
Definition: window.h:158
std::unique_ptr< vcl::Region > mpChildClipRegion
Definition: window.h:284
sal_Int32 mnMarginBottom
Definition: window.h:310
sal_Int32 mnBorderWidth
Definition: window.h:306
sal_Int32 mnBottomBorder
Definition: window.h:261
bool mbKeyUp
Definition: window.h:311
VclPtr< vcl::Window > mpParent
Definition: window.h:229
bool mbNoPtrVisible
Definition: window.h:311
bool mbCompoundControlHasFocus
Definition: window.h:311
Fraction maZoom
Definition: window.h:252
bool mbCreatedWithToolkit
Definition: window.h:311
Idle maPaintIdle
Definition: window.h:126
std::optional< tools::Rectangle > mpFocusRect
Definition: window.h:110
VclPtr< vcl::Window > mpFirstChild
Definition: window.h:231
ShowTrackFlags mnTrackFlags
Definition: window.h:113
VclPtr< vcl::Window > mpNextOverlap
Definition: window.h:237
PointerStyle
Definition: ptrstyle.hxx:25
bool mbChildTransparent
Definition: window.h:311
bool mbControlForeground
Definition: window.h:311
WinBits mnPrevStyle
Definition: window.h:287
VCL_DLLPUBLIC void ImplWindowStateFromStr(WindowStateData &rData, const OString &rStr)
Definition: syswin.cxx:400
sal_Int32 mnGridTopAttach
Definition: window.h:304
ImplSVEvent * mnMouseMoveId
Definition: window.h:140
VclAlign
Definition: vclenum.hxx:212
VCL_DLLPUBLIC Size bestmaxFrameSizeForScreenSize(const Size &rScreenSize)
Definition: dialog.cxx:705
std::optional< OUString > pAccessibleDescription
Definition: window.h:186
bool mbPushButton
Definition: window.h:311
VclPtr< vcl::Window > mpRealParent
Definition: window.h:230
bool mbMenuFloatingWindow
Definition: window.h:311
Link< vcl::Window &, bool > maHelpRequestHdl
Definition: window.h:246
OUString maHelpText
Definition: window.h:271
bool mbOverlapWin
Definition: window.h:311
bool mbCallResize
Definition: window.h:311
Color maControlBackground
Definition: window.h:257
ImplPaintFlags mnPaintFlags
Definition: window.h:292
VclPtr< vcl::Window > mpFocusWin
Definition: window.h:131
css::uno::Reference< css::uno::XInterface > mxDNDListenerContainer
Definition: window.h:386
vcl::Region * mpPaintRegion
Definition: window.h:285
VclPtr< vcl::Window > pMemberOfWindow
Definition: window.h:189
ImplFrameData * mpFrameData
Definition: window.h:222
MouseNotifyEvent
Definition: event.hxx:275
bool mbToolbarFloatingWindow
Definition: window.h:311
bool mbPaintFrame
Definition: window.h:311
VclPtr< vcl::Window > mpFrameWindow
Definition: window.h:225
std::vector< Link< VclWindowEvent &, void > > maEventListeners
Definition: window.h:240
sal_Int32 mnMarginLeft
Definition: window.h:307
VclPtr< vcl::Window > m_pWindow
Definition: window.h:399
bool mbTrackVisible
Definition: window.h:311
WindowImpl & operator=(const WindowImpl &)=delete
sal_uInt16 mnFirstMouseCode
Definition: window.h:152
An idle is a timer to be scheduled immediately.
Definition: idle.hxx:34
sal_Int32 mnRightBorder
Definition: window.h:260
sal_Int32 mnGridHeight
Definition: window.h:302
GetFocusFlags mnGetFocusFlags
Definition: window.h:293
tools::Long mnFirstMouseY
Definition: window.h:146
Wallpaper maBackground
Definition: window.h:401
bool mbFakeFocusSet
Definition: window.h:311