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 mozilla_widget_ThemeCocoa_h
8 #define mozilla_widget_ThemeCocoa_h
12 namespace mozilla::widget
{
14 class ThemeCocoa
: public Theme
{
16 explicit ThemeCocoa(UniquePtr
<ScrollbarDrawing
>&& aScrollbarDrawing
)
17 : Theme(std::move(aScrollbarDrawing
)) {}
19 NS_IMETHOD
DrawWidgetBackground(gfxContext
* aContext
, nsIFrame
*,
20 StyleAppearance
, const nsRect
& aRect
,
21 const nsRect
& aDirtyRect
,
22 DrawOverflow
) override
;
24 bool CreateWebRenderCommandsForWidget(
25 wr::DisplayListBuilder
& aBuilder
, wr::IpcResourceUpdateQueue
& aResources
,
26 const layers::StackingContextHelper
& aSc
,
27 layers::RenderRootStateManager
* aManager
, nsIFrame
*, StyleAppearance
,
28 const nsRect
& aRect
) override
;
31 virtual ~ThemeCocoa() = default;
34 } // namespace mozilla::widget