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
{
14 nsNativeBasicThemeGTK() = default;
16 Transparency
GetWidgetTransparency(nsIFrame
*, StyleAppearance
) override
;
18 NS_IMETHOD
GetMinimumWidgetSize(nsPresContext
* aPresContext
, nsIFrame
*,
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
&,
29 bool PaintScrollbarThumb(WebRenderBackendData
&, const LayoutDeviceRect
&,
30 bool aHorizontal
, nsIFrame
*,
31 const ComputedStyle
& aStyle
,
32 const EventStates
& aElementState
,
33 const EventStates
& aDocumentState
, const Colors
&,
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
&,
42 bool ThemeSupportsScrollbarButtons() override
;
45 virtual ~nsNativeBasicThemeGTK() = default;