Bug 1857632 [wpt PR 42241] - Start dbus for Chrome, a=testonly
[gecko.git] / widget / ScrollbarDrawingAndroid.h
blob8986a6d70ab5dc863d5d76f97e697ef3906be947
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
9 #include "nsITheme.h"
10 #include "ScrollbarDrawing.h"
12 namespace mozilla::widget {
14 class ScrollbarDrawingAndroid final : public ScrollbarDrawing {
15 public:
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&,
29 const DPIRatio&);
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
50 #endif