48#define SCRBAR_DRAW_BTN1 (sal_uInt16(0x0001))
49#define SCRBAR_DRAW_BTN2 (sal_uInt16(0x0002))
50#define SCRBAR_DRAW_PAGE1 (sal_uInt16(0x0004))
51#define SCRBAR_DRAW_PAGE2 (sal_uInt16(0x0008))
52#define SCRBAR_DRAW_THUMB (sal_uInt16(0x0010))
53#define SCRBAR_DRAW_BACKGROUND (sal_uInt16(0x0020))
55#define SCRBAR_STATE_BTN1_DOWN (sal_uInt16(0x0001))
56#define SCRBAR_STATE_BTN1_DISABLE (sal_uInt16(0x0002))
57#define SCRBAR_STATE_BTN2_DOWN (sal_uInt16(0x0004))
58#define SCRBAR_STATE_BTN2_DISABLE (sal_uInt16(0x0008))
59#define SCRBAR_STATE_PAGE1_DOWN (sal_uInt16(0x0010))
60#define SCRBAR_STATE_PAGE2_DOWN (sal_uInt16(0x0020))
61#define SCRBAR_STATE_THUMB_DOWN (sal_uInt16(0x0040))
63#define SCRBAR_VIEW_STYLE (WB_3DLOOK | WB_HORZ | WB_VERT)
210 return nCalcThumbPos;
224 if ( nCalcThumbPos &&
229 return nCalcThumbPos;
327 if (aOldSize != aNewSize)
475 rRenderContext.
DrawRect(aRequestedRegion);
479 aCtrlRegion,
nState, scrValue, OUString());
523 if (!Window::IsEnabled() || !
IsEnabled())
573 aCtrlRegion,
nState, scrValue, OUString());
683 if ( bCallEndScroll )
721 bool bAction =
false;
723 bool bIsInside =
false;
725 Point aPoint( 0, 0 );
732 aControlRegion, rMousePos, bIsInside )?
736 bAction = bCallAction;
745 aControlRegion, rMousePos, bIsInside )?
749 bAction = bCallAction;
763 bAction = bCallAction;
777 bAction = bCallAction;
836 bool bPrimaryWarping = bWarp && rMEvt.
IsLeft();
837 bool bPage = bPrimaryWarps ? rMEvt.
IsRight() : rMEvt.
IsLeft();
857 bool bIsInside =
false;
858 bool bDragToMouse =
false;
860 Point aPoint( 0, 0 );
864 aControlRegion, rMousePos, bIsInside )?
875 aControlRegion, rMousePos, bIsInside )?
891 bool bThumbAction = bWarp || bPage;
893 bool bDragHandling = bWarp || (bThumbHit && bThumbAction);
912 if (bWarp && (!bThumbHit || !bPrimaryWarping))
933 aControlRegion, rMousePos, bIsInside ) ||
1113 if( mpData && mpData->mbHide )
1144 mpData->maTimer.SetTimeout(
GetSettings().GetStyleSettings().GetCursorBlinkTime() );
1215 bool bIsInside =
false;
1217 Point aPoint( 0, 0 );
1221 aControlRegion, rPt, bIsInside )?
1226 aControlRegion, rPt, bIsInside )?
1270 aClipRegion.
Union( *pRect );
1272 aClipRegion.
Union( *pLastRect );
1308 SAL_INFO(
"vcl.scrollbar",
"DoScroll(" << nNewPos <<
")");
1341 Range aRange = rRange;
1430 Window::ImplInit( pParent, nStyle,
nullptr );
1454 Window::StateChanged(
nType );
1464 Window::DataChanged( rDCEvt );
const StyleSettings & GetStyleSettings() const
void SetStyleSettings(const StyleSettings &rSet)
An auto-timer is a multi-shot timer re-emitting itself at interval until destroyed or stopped.
bool ImplCallEventListenersAndHandler(VclEventId nEvent, std::function< void()> const &callHandler)
this calls both our event listeners, and a specified handler
virtual void StateChanged(StateChangedType nStateChange) override
virtual void Resize() override
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
DataChangedEventType GetType() const
AllSettingsFlags GetFlags() const
tools::Rectangle DrawButton(const tools::Rectangle &rRect, DrawButtonFlags nStyle)
void DrawSymbol(const tools::Rectangle &rRect, SymbolType eType, const Color &rColor, DrawSymbolFlags nStyle=DrawSymbolFlags::NONE)
const vcl::KeyCode & GetKeyCode() const
void SetOrigin(const Point &rOrigin)
MapUnit GetMapUnit() const
bool IsEnterWindow() const
bool IsLeaveWindow() const
sal_uInt16 GetButtons() const
const Point & GetPosPixel() const
bool IsModifierChanged() const
const MouseEvent * GetMouseEvent() const
NotifyEventType GetType() const
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
virtual void SetSettings(const AllSettings &rSettings)
void DrawRect(const tools::Rectangle &rRect)
void Invert(const tools::Rectangle &rRect, InvertFlags nFlags=InvertFlags::NONE)
SAL_WARN_UNUSED_RESULT Point LogicToPixel(const Point &rLogicPt) const
bool HitTestNativeScrollbar(ControlPart nPart, const tools::Rectangle &rControlRegion, const Point &aPos, bool &rIsInside) const
Query the native control to determine if it was acted upon.
bool IsBackground() const
void Push(vcl::PushFlags nFlags=vcl::PushFlags::ALL)
bool DrawNativeControl(ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, const Color &rBackgroundColor=COL_AUTO)
Request rendering of a particular control and/or part.
const AllSettings & GetSettings() const
bool IsNativeControlSupported(ControlType nType, ControlPart nPart) const
Query the platform layer for control support.
constexpr tools::Long Y() const
constexpr tools::Long X() const
constexpr tools::Long Height() const
void setWidth(tools::Long nWidth)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
sal_Int32 GetScrollBarSize() const
void SetFaceColor(const Color &rColor)
const Color & GetShadowColor() const
bool GetPrimaryButtonWarpsSlider() const
const Color & GetCheckedColor() const
sal_Int32 GetMinThumbSize() const
const Color & GetFaceColor() const
const Color & GetButtonTextColor() const
bool IsTrackingEnded() const
bool IsTrackingRepeat() const
bool IsTrackingCanceled() const
const MouseEvent & GetMouseEvent() const
sal_uInt16 GetCode() const
sal_uInt16 GetModifier() const
tools::Rectangle GetBoundRect() const
void Union(const tools::Rectangle &rRegion)
bool IsReallyVisible() const
void StartTracking(StartTrackingFlags nFlags=StartTrackingFlags::NONE)
bool IsInputEnabled() const
Point LogicToPixel(const Point &rLogicPt) const
WinBits GetPrevStyle() const
void EndTracking(TrackingEventFlags nFlags=TrackingEventFlags::NONE)
bool SupportsDoubleBuffering() const
Can the widget derived from this Window do the double-buffering via RenderContext properly?
void ApplyControlBackground(vcl::RenderContext &rRenderContext, const Color &rDefaultColor)
virtual void SetSizePixel(const Size &rNewSize)
virtual void queue_resize(StateChangedType eReason=StateChangedType::Layout)
bool IsUpdateMode() const
bool GetNativeControlRegion(ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion) const
Query the native control's actual drawing region (including adornment)
Point GetLastPointerPosPixel()
bool IsMapModeEnabled() const
const AllSettings & GetSettings() const
virtual void KeyInput(const KeyEvent &rKEvt)
virtual bool PreNotify(NotifyEvent &rNEvt)
bool IsNativeControlSupported(ControlType nType, ControlPart nPart) const
Query the platform layer for control support.
const MapMode & GetMapMode() const
::OutputDevice const * GetOutDev() const
bool IsInModalMode() const
A window is in modal mode if one of its children or subchildren is a running modal window (a modal di...
bool IsRTLEnabled() const
Point PixelToLogic(const Point &rDevicePt) const
Size GetOutputSizePixel() const
bool IsControlBackground() const
virtual void DataChanged(const DataChangedEvent &rDCEvt)
Point GetPointerPosPixel()
const Color & GetControlBackground() const
bool HasPaintEvent() const
void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
void EnableMapMode(bool bEnable=true)
static SAL_DLLPRIVATE void ImplCalcSymbolRect(tools::Rectangle &rRect)
SAL_DLLPRIVATE void ImplInit(vcl::Window *pParent, WinBits nStyle, SystemParentData *pSystemParentData)
SAL_DLLPRIVATE void CompatStateChanged(StateChangedType nStateChange)
constexpr sal_uInt16 KEY_HOME
constexpr sal_uInt16 KEY_LEFT
constexpr sal_uInt16 KEY_PAGEDOWN
constexpr sal_uInt16 KEY_UP
constexpr sal_uInt16 KEY_RIGHT
constexpr sal_uInt16 KEY_DOWN
constexpr sal_uInt16 KEY_PAGEUP
constexpr sal_uInt16 KEY_END
#define LINK(Instance, Class, Member)
#define SAL_INFO(area, stream)
#define SCRBAR_STATE_BTN1_DISABLE
#define SCRBAR_STATE_PAGE2_DOWN
#define SCRBAR_DRAW_BACKGROUND
#define SCRBAR_STATE_BTN2_DISABLE
#define SCRBAR_STATE_THUMB_DOWN
#define SCRBAR_DRAW_THUMB
#define SCRBAR_VIEW_STYLE
#define SCRBAR_DRAW_PAGE1
#define SCRBAR_STATE_BTN2_DOWN
#define SCRBAR_DRAW_PAGE2
IMPL_LINK_NOARG(ScrollBar, ImplAutoTimerHdl, Timer *, void)
#define SCRBAR_STATE_BTN1_DOWN
#define SCRBAR_STATE_PAGE1_DOWN
#define STYLE_CURSOR_NOBLINKTIME
tools::Long ImplMulDiv(tools::Long nNumber, tools::Long nNumerator, tools::Long nDenominator)