1 /* -*- Mode: C++; tab-width: 40; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef mozilla_widget_ScrollbarDrawingAndroid_h
7 #define mozilla_widget_ScrollbarDrawingAndroid_h
10 #include "ScrollbarDrawing.h"
12 namespace mozilla::widget
{
14 class ScrollbarDrawingAndroid final
: public ScrollbarDrawing
{
16 ScrollbarDrawingAndroid() : ScrollbarDrawing(Kind::Android
) {}
17 virtual ~ScrollbarDrawingAndroid() = default;
19 LayoutDeviceIntSize
GetMinimumWidgetSize(nsPresContext
*,
20 StyleAppearance aAppearance
,
21 nsIFrame
* aFrame
) override
;
23 template <typename PaintBackendData
>
24 void DoPaintScrollbarThumb(PaintBackendData
&, const LayoutDeviceRect
& aRect
,
25 ScrollbarKind
, nsIFrame
* aFrame
,
26 const ComputedStyle
& aStyle
,
27 const ElementState
& aElementState
,
28 const DocumentState
& aDocumentState
, const Colors
&,
30 bool PaintScrollbarThumb(DrawTarget
&, const LayoutDeviceRect
& aRect
,
31 ScrollbarKind
, nsIFrame
* aFrame
,
32 const ComputedStyle
& aStyle
,
33 const ElementState
& aElementState
,
34 const DocumentState
& aDocumentState
, const Colors
&,
35 const DPIRatio
&) override
;
36 bool PaintScrollbarThumb(WebRenderBackendData
&, const LayoutDeviceRect
& aRect
,
37 ScrollbarKind
, nsIFrame
* aFrame
,
38 const ComputedStyle
& aStyle
,
39 const ElementState
& aElementState
,
40 const DocumentState
& aDocumentState
, const Colors
&,
41 const DPIRatio
&) override
;
43 void RecomputeScrollbarParams() override
;
45 bool ShouldDrawScrollbarButtons() override
{ return false; }
48 } // namespace mozilla::widget