Bug 1734943 [wpt PR 31170] - Correct scrolling contents cull rect, a=testonly
[gecko.git] / widget / gtk / nsNativeBasicThemeGTK.h
blob7428e982f75c4c37da321f269aa681165ac14cd8
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef nsNativeBasicThemeGTK_h
8 #define nsNativeBasicThemeGTK_h
10 #include "nsNativeBasicTheme.h"
12 class nsNativeBasicThemeGTK : public nsNativeBasicTheme {
13 public:
14 nsNativeBasicThemeGTK() = default;
16 Transparency GetWidgetTransparency(nsIFrame*, StyleAppearance) override;
18 NS_IMETHOD GetMinimumWidgetSize(nsPresContext* aPresContext, nsIFrame*,
19 StyleAppearance,
20 mozilla::LayoutDeviceIntSize* aResult,
21 bool* aIsOverridable) override;
23 bool PaintScrollbarThumb(DrawTarget&, const LayoutDeviceRect&,
24 bool aHorizontal, nsIFrame*,
25 const ComputedStyle& aStyle,
26 const EventStates& aElementState,
27 const EventStates& aDocumentState, const Colors&,
28 DPIRatio) override;
29 bool PaintScrollbarThumb(WebRenderBackendData&, const LayoutDeviceRect&,
30 bool aHorizontal, nsIFrame*,
31 const ComputedStyle& aStyle,
32 const EventStates& aElementState,
33 const EventStates& aDocumentState, const Colors&,
34 DPIRatio) override;
35 template <typename PaintBackendData>
36 bool DoPaintScrollbarThumb(PaintBackendData&, const LayoutDeviceRect&,
37 bool aHorizontal, nsIFrame*, const ComputedStyle&,
38 const EventStates& aElementState,
39 const EventStates& aDocumentState, const Colors&,
40 DPIRatio);
42 bool ThemeSupportsScrollbarButtons() override;
44 protected:
45 virtual ~nsNativeBasicThemeGTK() = default;
48 #endif