LibreOffice Module vcl (master) 1
Classes | Namespaces | Typedefs | Enumerations | Functions
window.h File Reference
#include <sal/config.h>
#include <tools/fract.hxx>
#include <vcl/commandevent.hxx>
#include <vcl/idle.hxx>
#include <vcl/inputctx.hxx>
#include <vcl/window.hxx>
#include <vcl/settings.hxx>
#include <o3tl/deleter.hxx>
#include <o3tl/typed_flags_set.hxx>
#include <cppuhelper/weakref.hxx>
#include "windowdev.hxx"
#include "salwtype.hxx"
#include <optional>
#include <list>
#include <memory>
#include <vector>
#include <set>
Include dependency graph for window.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ImplWinData
 
struct  ImplFrameData
 
struct  ImplAccessibleInfos
 
struct  o3tl::typed_flags< ImplPaintFlags >
 
class  WindowImpl
 
class  vcl::PaintBufferGuard
 Sets up the buffer to have settings matching the window, and restores the original state in the dtor. More...
 

Namespaces

namespace  vcl
 
namespace  vcl::font
 A PhysicalFontFaceCollection is created by a PhysicalFontCollection and becomes invalid when original PhysicalFontCollection is modified.
 
namespace  com
 
namespace  com::sun
 
namespace  com::sun::star
 
namespace  com::sun::star::accessibility
 
namespace  com::sun::star::awt
 
namespace  com::sun::star::uno
 
namespace  com::sun::star::datatransfer
 
namespace  com::sun::star::datatransfer::clipboard
 
namespace  com::sun::star::datatransfer::dnd
 
namespace  o3tl
 

Typedefs

typedef std::unique_ptr< PaintBufferGuard, o3tl::default_delete< PaintBufferGuard > > vcl::PaintBufferGuardPtr
 

Enumerations

enum  AlwaysInputMode {
  AlwaysInputNone = 0 ,
  AlwaysInputEnabled = 1
}
 
enum class  ImplPaintFlags {
  NONE = 0x0000 ,
  Paint = 0x0001 ,
  PaintAll = 0x0002 ,
  PaintAllChildren = 0x0004 ,
  PaintChildren = 0x0008 ,
  Erase = 0x0010 ,
  CheckRtl = 0x0020
}
 

Functions

VCL_DLLPUBLIC Size bestmaxFrameSizeForScreenSize (const Size &rScreenSize)
 
bool isVisibleInLayout (const vcl::Window *pWindow)
 
bool isEnabledInLayout (const vcl::Window *pWindow)
 
bool ImplWindowFrameProc (vcl::Window *pInst, SalEvent nEvent, const void *pEvent)
 
MouseEventModifiers ImplGetMouseMoveMode (SalMouseEvent const *pEvent)
 
MouseEventModifiers ImplGetMouseButtonMode (SalMouseEvent const *pEvent)
 
bool ImplHandleMouseEvent (const VclPtr< vcl::Window > &xWindow, NotifyEventType nSVEvent, bool bMouseLeave, tools::Long nX, tools::Long nY, sal_uInt64 nMsgTime, sal_uInt16 nCode, MouseEventModifiers nMode)
 
bool ImplLOKHandleMouseEvent (const VclPtr< vcl::Window > &xWindow, NotifyEventType nSVEvent, bool bMouseLeave, tools::Long nX, tools::Long nY, sal_uInt64 nMsgTime, sal_uInt16 nCode, MouseEventModifiers nMode, sal_uInt16 nClicks)
 
void ImplHandleResize (vcl::Window *pWindow, tools::Long nNewWidth, tools::Long nNewHeight)
 
VCL_DLLPUBLIC css::uno::Reference< css::accessibility::XAccessibleEditableText > FindFocusedEditableText (css::uno::Reference< css::accessibility::XAccessibleContext > const &)
 

Enumeration Type Documentation

◆ AlwaysInputMode

Enumerator
AlwaysInputNone 
AlwaysInputEnabled 

Definition at line 201 of file window.h.

◆ ImplPaintFlags

enum class ImplPaintFlags
strong
Enumerator
NONE 
Paint 
PaintAll 
PaintAllChildren 
PaintChildren 
Erase 
CheckRtl 

Definition at line 203 of file window.h.

Function Documentation

◆ bestmaxFrameSizeForScreenSize()

VCL_DLLPUBLIC Size bestmaxFrameSizeForScreenSize ( const Size rScreenSize)

Definition at line 706 of file dialog.cxx.

References h, Size::Height(), n, size, w, and Size::Width().

Referenced by DockingWindow::setOptimalLayoutSize(), and SystemWindow::setOptimalLayoutSize().

◆ FindFocusedEditableText()

VCL_DLLPUBLIC css::uno::Reference< css::accessibility::XAccessibleEditableText > FindFocusedEditableText ( css::uno::Reference< css::accessibility::XAccessibleContext > const &  )

◆ ImplGetMouseButtonMode()

MouseEventModifiers ImplGetMouseButtonMode ( SalMouseEvent const *  pEvent)

◆ ImplGetMouseMoveMode()

MouseEventModifiers ImplGetMouseMoveMode ( SalMouseEvent const *  pEvent)

◆ ImplHandleMouseEvent()

bool ImplHandleMouseEvent ( const VclPtr< vcl::Window > &  xWindow,
NotifyEventType  nSVEvent,
bool  bMouseLeave,
tools::Long  nX,
tools::Long  nY,
sal_uInt64  nMsgTime,
sal_uInt16  nCode,
MouseEventModifiers  nMode 
)

bRet &&

Definition at line 268 of file winproc.cxx.

References AutoScroll, ContextMenu, ContextMenuEventLink(), DBG_ASSERT, vcl::Window::EndAutoScroll(), Help::EndExtHelp(), vcl::Window::EndExtTextInput(), vcl::Window::EndTracking(), ENTERWINDOW, VclPtr< reference_type >::get(), MouseSettings::GetContextMenuClicks(), MouseSettings::GetContextMenuCode(), MouseSettings::GetDoubleClickHeight(), MouseSettings::GetDoubleClickTime(), MouseSettings::GetDoubleClickWidth(), vcl::Window::GetDragSource(), AllSettings::GetLayoutRTL(), MouseSettings::GetMiddleButtonAction(), AllSettings::GetMouseSettings(), vcl::Window::GetOutDev(), MouseEvent::GetPosPixel(), vcl::Window::GetSettings(), MouseSettings::GetStartDragCode(), MouseSettings::GetStartDragHeight(), MouseSettings::GetStartDragWidth(), vcl::Window::GetStyle(), tools::Time::GetSystemTicks(), NotifyEvent::GetWindow(), ImplCallCommand(), ImplCallPreNotify(), ImplDestroyHelpWindow(), vcl::Window::ImplFindWindow(), vcl::Window::ImplGetFrameData(), vcl::Window::ImplGetFrameWindow(), ImplGetSVData(), ImplGetSVHelpData(), vcl::Window::ImplGetWinData(), vcl::Window::ImplGetWindow(), vcl::Window::ImplGetWindowImpl(), ImplHandleMouseEvent(), ImplHandleMouseFloatMode(), ImplHandleMouseHelpRequest(), OutputDevice::ImplIsAntiparallel(), vcl::Window::ImplNotifyKeyMouseCommandEventListeners(), ImplSetMousePointer(), comphelper::LibreOfficeKit::isActive(), VclReferenceBase::isDisposed(), vcl::Window::IsEnabled(), vcl::Window::IsInModalMode(), vcl::Window::IsInputEnabled(), KEY_MOD1, KEY_MOD2, KEY_MOD3, KEY_SHIFT, LEAVEWINDOW, ImplSVData::maAppData, ImplSVHelpData::mbExtHelpMode, ImplFrameData::mbInMouseMove, ImplFrameData::mbInternalDragGestureRecognizer, WindowImpl::mbMouseButtonDown, WindowImpl::mbMouseButtonUp, ImplFrameData::mbMouseIn, ImplWinData::mbMouseOver, ImplFrameData::mbStartDragCalled, ImplFrameData::mnBeforeLastMouseX, ImplFrameData::mnBeforeLastMouseY, ImplFrameData::mnClickCount, ImplFrameData::mnFirstMouseCode, ImplFrameData::mnFirstMouseX, ImplFrameData::mnFirstMouseY, ImplSVAppData::mnLastInputTime, ImplFrameData::mnLastMouseWinX, ImplFrameData::mnLastMouseWinY, ImplFrameData::mnLastMouseX, ImplFrameData::mnLastMouseY, ImplFrameData::mnMouseCode, ImplFrameData::mnMouseDownTime, ImplFrameData::mnMouseMode, ImplSVWinData::mnTrackFlags, MODIFIERCHANGED, MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT, MOUSEBUTTONDOWN, vcl::Window::MouseButtonDown(), MOUSEBUTTONUP, vcl::Window::MouseButtonUp(), MOUSEMOVE, vcl::Window::MouseMove(), ImplSVAppData::mpActivePopupMenu, ImplSVWinData::mpAutoScrollWin, ImplSVWinData::mpCaptureWin, ImplSVWinData::mpExtTextInputWin, ImplSVWinData::mpFirstFloat, WindowImpl::mpFrameData, ImplSVHelpData::mpHelpWin, ImplFrameData::mpMouseDownWin, ImplFrameData::mpMouseMoveWin, ImplSVWinData::mpTrackTimer, ImplSVWinData::mpTrackWin, ImplSVData::mpWinData, WindowImpl::mxDNDListenerContainer, vcl::Window::OutputToScreenPixel(), PasteSelection, Application::PostUserEvent(), OutputDevice::ReMirror(), SAL_INFO, SAL_WARN_IF, vcl::Window::ScreenToOutputPixel(), ScrollRepeat, StartAutoScroll, SYNTHETIC, vcl::Window::ToTop(), vcl::Window::Tracking(), WB_OWNERDRAWDECORATION, Point::X(), and Point::Y().

Referenced by vcl::Window::ImplCallMouseMove(), ImplHandleMouseEvent(), ImplHandleSalMouseButtonDown(), ImplHandleSalMouseButtonUp(), ImplHandleSalMouseLeave(), and ImplHandleSalMouseMove().

◆ ImplHandleResize()

void ImplHandleResize ( vcl::Window pWindow,
tools::Long  nNewWidth,
tools::Long  nNewHeight 
)

◆ ImplLOKHandleMouseEvent()

bool ImplLOKHandleMouseEvent ( const VclPtr< vcl::Window > &  xWindow,
NotifyEventType  nSVEvent,
bool  bMouseLeave,
tools::Long  nX,
tools::Long  nY,
sal_uInt64  nMsgTime,
sal_uInt16  nCode,
MouseEventModifiers  nMode,
sal_uInt16  nClicks 
)

◆ ImplWindowFrameProc()

bool ImplWindowFrameProc ( vcl::Window pInst,
SalEvent  nEvent,
const void *  pEvent 
)

Definition at line 2653 of file winproc.cxx.

References Close, ClosePopups, DBG_TESTSOLARMUTEX, DeleteSurroundingTextRequest, DisplayChanged, EndExtTextInput, ExternalGesture, ExternalKeyInput, ExternalKeyUp, ExternalMouseButtonDown, ExternalMouseButtonUp, ExternalMouseMove, ExtTextInput, ExtTextInputPos, FontChanged, GestureLongPress, GesturePan, GestureRotate, GestureSwipe, GestureZoom, MouseEvent::GetButtons(), KeyEvent::GetCharCode(), SalFrame::GetClientSize(), GetFocus, vcl::KeyCode::GetFullCode(), SalFrame::GetGeometry(), KeyEvent::GetKeyCode(), AllSettings::GetLayoutRTL(), MouseEvent::GetModifier(), GetpApp(), MouseEvent::GetPosPixel(), KeyEvent::GetRepeat(), tools::Time::GetSystemTicks(), vcl::WindowPosSize::height(), vcl::Window::ImplGetWindowImpl(), ImplHandleClose(), ImplHandleEndExtTextInput(), ImplHandleExtTextInput(), ImplHandleGestureEvent(), ImplHandleGestureRotateEvent(), ImplHandleGestureZoomEvent(), ImplHandleGetFocus(), ImplHandleInputContextChange(), ImplHandleInputLanguageChange(), ImplHandleKey(), ImplHandleLongPress(), ImplHandleLoseFocus(), ImplHandleMenuEvent(), ImplHandleMove(), ImplHandleMoveResize(), ImplHandlePaint(), ImplHandleResize(), ImplHandleSalDeleteSurroundingTextRequest(), ImplHandleSalExtTextInputPos(), ImplHandleSalKeyMod(), ImplHandleSalMouseButtonDown(), ImplHandleSalMouseButtonUp(), ImplHandleSalMouseLeave(), ImplHandleSalMouseMove(), ImplHandleSalQueryCharPosition(), ImplHandleSalSettings(), ImplHandleSalSurroundingTextRequest(), ImplHandleShowDialog(), ImplHandleStartReconversion(), ImplHandleSurroundingTextSelectionChange(), ImplHandleSwipe(), ImplHandleUserEvent(), ImplHandleWheelEvent(), InputContextChange, InputLanguageChange, KEYINPUT, KeyInput, KeyModChange, KEYUP, KeyUp, KillOwnPopups(), LoseFocus, SalFrame::maGeometry, SalExtTextInputEvent::maText, SalPaintEvent::mbImmediateUpdate, SalGestureEvent::meEventType, MenuActivate, MenuButtonCommand, MenuCommand, MenuDeactivate, MenuHighlight, SalGestureEvent::meOrientation, SalGestureEvent::mfOffset, SalPaintEvent::mnBoundHeight, SalPaintEvent::mnBoundWidth, SalPaintEvent::mnBoundX, SalPaintEvent::mnBoundY, SalMouseEvent::mnButton, SalKeyEvent::mnCharCode, SalAbstractMouseEvent::mnCode, SalKeyEvent::mnCode, SalExtTextInputEvent::mnCursorFlags, SalExtTextInputEvent::mnCursorPos, SalSurroundingTextSelectionChangeEvent::mnEnd, SalKeyEvent::mnRepeat, SalSurroundingTextSelectionChangeEvent::mnStart, SalAbstractMouseEvent::mnTime, SalAbstractMouseEvent::mnX, SalGestureEvent::mnX, SalAbstractMouseEvent::mnY, SalGestureEvent::mnY, MouseActivate, MouseButtonDown, MouseButtonUp, MouseLeave, MouseMove, Move, MoveResize, WindowImpl::mpFrame, SalExtTextInputEvent::mpTextAttr, Paint, PrinterChanged, QueryCharPosition, Application::Quit(), Resize, SAL_WARN, SettingsChanged, ShowDialog, Shutdown, StartReconversion, SurroundingTextRequest, SurroundingTextSelectionChange, UserEvent, WheelMouse, vcl::WindowPosSize::width(), Point::X(), and Point::Y().

Referenced by IMPL_STATIC_LINK(), vcl::Window::ImplInit(), DebugEventInjector::InjectKeyNavEdit(), DebugEventInjector::InjectMenuEvent(), DebugEventInjector::InjectTextEvent(), and vcl::Window::PostExtTextInputEvent().

◆ isEnabledInLayout()

bool isEnabledInLayout ( const vcl::Window pWindow)

◆ isVisibleInLayout()

bool isVisibleInLayout ( const vcl::Window pWindow)