LibreOffice Module vcl (master) 1
|
#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>
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 } |
enum AlwaysInputMode |
|
strong |
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().
VCL_DLLPUBLIC css::uno::Reference< css::accessibility::XAccessibleEditableText > FindFocusedEditableText | ( | css::uno::Reference< css::accessibility::XAccessibleContext > const & | ) |
MouseEventModifiers ImplGetMouseButtonMode | ( | SalMouseEvent const * | pEvent | ) |
Definition at line 2306 of file winproc.cxx.
References KEY_MOD1, KEY_SHIFT, SalMouseEvent::mnButton, SalAbstractMouseEvent::mnCode, MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT, MULTISELECT, NONE, RANGESELECT, SELECT, and SIMPLECLICK.
Referenced by ImplHandleSalMouseButtonDown(), ImplHandleSalMouseButtonUp(), and Application::LOKHandleMouseEvent().
MouseEventModifiers ImplGetMouseMoveMode | ( | SalMouseEvent const * | pEvent | ) |
Definition at line 2294 of file winproc.cxx.
References DRAGCOPY, DRAGMOVE, KEY_MOD1, SalAbstractMouseEvent::mnCode, MOUSE_LEFT, NONE, and SIMPLEMOVE.
Referenced by ImplHandleSalMouseLeave(), ImplHandleSalMouseMove(), and Application::LOKHandleMouseEvent().
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().
void ImplHandleResize | ( | vcl::Window * | pWindow, |
tools::Long | nNewWidth, | ||
tools::Long | nNewHeight | ||
) |
Definition at line 176 of file winproc.cxx.
References ImplSVHelpData::mbRequestingHelp, and vcl::Window::RequestHelp().
Referenced by ImplHandleMoveResize(), ImplWindowFrameProc(), vcl::Window::setPosSizePixel(), SystemWindow::SetWindowState(), and vcl::Window::Show().
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 | ||
) |
Definition at line 808 of file winproc.cxx.
References aEvent, ContextMenu, vcl::Window::EndTracking(), MouseSettings::GetContextMenuClicks(), MouseSettings::GetContextMenuCode(), vcl::Window::GetDragSource(), AllSettings::GetMouseSettings(), vcl::Window::GetSettings(), MouseSettings::GetStartDragCode(), MouseSettings::GetStartDragHeight(), MouseSettings::GetStartDragWidth(), ImplCallCommand(), vcl::Window::ImplGetFrameData(), vcl::Window::ImplGetWindowImpl(), VclReferenceBase::isDisposed(), KEY_MOD1, KEY_MOD2, KEY_MOD3, KEY_SHIFT, ImplFrameData::mbDragging, ImplFrameData::mbInternalDragGestureRecognizer, ImplFrameData::mbMouseIn, ImplFrameData::mbStartDragCalled, ImplFrameData::mnClickCount, ImplFrameData::mnFirstMouseX, ImplFrameData::mnFirstMouseY, ImplFrameData::mnLastMouseX, ImplFrameData::mnLastMouseY, ImplFrameData::mnMouseCode, MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT, MOUSEBUTTONDOWN, vcl::Window::MouseButtonDown(), MOUSEBUTTONUP, vcl::Window::MouseButtonUp(), MOUSEMOVE, vcl::Window::MouseMove(), ImplFrameData::mpMouseDownWin, ImplFrameData::mpMouseMoveWin, ImplFrameData::mpTrackWin, WindowImpl::mxDNDListenerContainer, vcl::Window::ScreenToOutputPixel(), vcl::Window::Tracking(), Point::X(), and Point::Y().
Referenced by Application::LOKHandleMouseEvent().
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().
bool isEnabledInLayout | ( | const vcl::Window * | pWindow | ) |
Definition at line 2992 of file layout.cxx.
References vcl::Window::GetParent(), isContainerWindow(), and vcl::Window::IsEnabled().
Referenced by Dialog::GetFirstControlForFocus(), ImplGetChildWindow(), and vcl::Window::ImplGetDlgWindow().
bool isVisibleInLayout | ( | const vcl::Window * | pWindow | ) |
Definition at line 2979 of file layout.cxx.
References bVisible, vcl::Window::GetParent(), isContainerWindow(), and vcl::Window::IsVisible().
Referenced by Dialog::GetFirstControlForFocus(), vcl::ImplGetLabeledBy(), ImplGetLabelFor(), and ImplGetSubChildWindow().