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;
276 if( mnThumbPixRange > 0 )
313 if( mnThumbPixRange > 0 )
327 if (aOldSize != aNewSize)
475 rRenderContext.
DrawRect(aRequestedRegion);
479 aCtrlRegion, nState, scrValue, OUString());
508 if (nSystemTextColorFlags & SCRBAR_DRAW_PAGE1)
511 if (nSystemTextColorFlags & SCRBAR_DRAW_PAGE2)
523 if (!Window::IsEnabled() || !
IsEnabled())
548 if (nSystemTextColorFlags & SCRBAR_DRAW_BTN1)
551 if (nSystemTextColorFlags & SCRBAR_DRAW_BTN2)
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() );
1214 bool bIsInside =
false;
1216 Point aPoint( 0, 0 );
1220 aControlRegion, rPt, bIsInside )?
1225 aControlRegion, rPt, bIsInside )?
1269 aClipRegion.
Union( *pRect );
1271 aClipRegion.
Union( *pLastRect );
1307 SAL_INFO(
"vcl.scrollbar",
"DoScroll(" << nNewPos <<
")");
1340 Range aRange = rRange;
1424 Window::ImplInit( pParent, nStyle,
nullptr );
1448 Window::StateChanged( nType );
1458 Window::DataChanged( rDCEvt );
#define LINK(Instance, Class, Member)
#define SCRBAR_STATE_PAGE1_DOWN
const Color & GetShadowColor() const
bool IsControlBackground() const
bool ImplCallEventListenersAndHandler(VclEventId nEvent, std::function< void()> const &callHandler)
this calls both our event listeners, and a specified handler
sal_Int32 GetMinThumbSize() const
Point GetPointerPosPixel()
#define SCRBAR_STATE_BTN1_DISABLE
void setWidth(tools::Long nWidth)
void SetStyleSettings(const StyleSettings &rSet)
void Union(const tools::Rectangle &rRegion)
bool IsBackground() const
#define SCRBAR_STATE_THUMB_DOWN
tools::Long ImplMulDiv(tools::Long nNumber, tools::Long nNumerator, tools::Long nDenominator)
const StyleSettings & GetStyleSettings() const
void Push(vcl::PushFlags nFlags=vcl::PushFlags::ALL)
const Color & GetFaceColor() const
virtual void StateChanged(StateChangedType nStateChange) override
virtual void SetSizePixel(const Size &rNewSize)
SAL_DLLPRIVATE void CompatStateChanged(StateChangedType nStateChange)
#define SCRBAR_STATE_BTN2_DOWN
sal_uInt16 GetCode() const
WinBits GetPrevStyle() const
DataChangedEventType GetType() const
virtual void SetSettings(const AllSettings &rSettings)
const Color & GetControlBackground() const
tools::Rectangle DrawButton(const tools::Rectangle &rRect, DrawButtonFlags nStyle)
tools::Rectangle GetBoundRect() const
bool IsRTLEnabled() const
void StartTracking(StartTrackingFlags nFlags=StartTrackingFlags::NONE)
bool IsNativeControlSupported(ControlType nType, ControlPart nPart) const
Query the platform layer for control support.
constexpr sal_uInt16 KEY_UP
#define SCRBAR_DRAW_PAGE2
#define SCRBAR_VIEW_STYLE
bool IsTrackingRepeat() const
constexpr sal_uInt16 KEY_END
constexpr tools::Long Width() const
void Invert(const tools::Rectangle &rRect, InvertFlags nFlags=InvertFlags::NONE)
sal_uInt16 GetButtons() const
bool IsEnterWindow() const
void EndTracking(TrackingEventFlags nFlags=TrackingEventFlags::NONE)
void EnableMapMode(bool bEnable=true)
AllSettingsFlags GetFlags() const
constexpr sal_uInt16 KEY_PAGEUP
virtual void queue_resize(StateChangedType eReason=StateChangedType::Layout)
sal_uInt16 GetModifier() const
static SAL_DLLPRIVATE void ImplCalcSymbolRect(tools::Rectangle &rRect)
void DrawRect(const tools::Rectangle &rRect)
constexpr sal_uInt16 KEY_DOWN
An auto-timer is a multi-shot timer re-emitting itself at interval until destroyed or stopped...
sal_Int32 GetScrollBarSize() const
Point LogicToPixel(const Point &rLogicPt) const
virtual bool PreNotify(NotifyEvent &rNEvt)
bool IsLeaveWindow() const
constexpr sal_uInt16 KEY_HOME
const MapMode & GetMapMode() const
virtual void Invalidate(InvalidateFlags nFlags=InvalidateFlags::NONE)
IMPL_LINK_NOARG(ScrollBar, ImplAutoTimerHdl, Timer *, void)
void SetOrigin(const Point &rOrigin)
bool IsUpdateMode() const
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
const AllSettings & GetSettings() const
bool HasPaintEvent() 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)
constexpr sal_uInt16 KEY_PAGEDOWN
MouseNotifyEvent GetType() const
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.
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects...
const AllSettings & GetSettings() const
MapUnit GetMapUnit() const
Point PixelToLogic(const Point &rDevicePt) 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.
const Color & GetCheckedColor() const
bool IsTrackingEnded() const
constexpr sal_uInt16 KEY_RIGHT
SAL_WARN_UNUSED_RESULT Point LogicToPixel(const Point &rLogicPt) const
virtual void KeyInput(const KeyEvent &rKEvt)
SAL_DLLPRIVATE void ImplInit(vcl::Window *pParent, WinBits nStyle, SystemParentData *pSystemParentData)
bool IsModifierChanged() const
bool IsMapModeEnabled() const
const vcl::KeyCode & GetKeyCode() const
void SetFaceColor(const Color &rColor)
virtual void Resize() override
const Color & GetButtonTextColor() const
constexpr tools::Long Height() const
#define SCRBAR_STATE_BTN2_DISABLE
const MouseEvent * GetMouseEvent() const
#define SAL_INFO(area, stream)
::OutputDevice const * GetOutDev() const
bool GetPrimaryButtonWarpsSlider() const
const Point & GetPosPixel() const
#define SCRBAR_STATE_PAGE2_DOWN
#define SCRBAR_DRAW_BACKGROUND
void ApplyControlBackground(vcl::RenderContext &rRenderContext, const Color &rDefaultColor)
Size GetOutputSizePixel() const
void setHeight(tools::Long nHeight)
void DrawSymbol(const tools::Rectangle &rRect, SymbolType eType, const Color &rColor, DrawSymbolFlags nStyle=DrawSymbolFlags::NONE)
bool IsTrackingCanceled() const
constexpr sal_uInt16 KEY_LEFT
bool IsNativeControlSupported(ControlType nType, ControlPart nPart) const
Query the platform layer for control support.
Point GetLastPointerPosPixel()
#define SCRBAR_DRAW_THUMB
const MouseEvent & GetMouseEvent() const
bool IsReallyVisible() const
bool SupportsDoubleBuffering() const
Can the widget derived from this Window do the double-buffering via RenderContext properly...
#define SCRBAR_DRAW_PAGE1
#define SCRBAR_STATE_BTN1_DOWN
virtual void DataChanged(const DataChangedEvent &rDCEvt)