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 #include "ScrollbarDrawingCocoa.h"
14 namespace mozilla::widget
{
16 class ThemeCocoa
: public Theme
{
18 explicit ThemeCocoa(UniquePtr
<ScrollbarDrawing
>&& aScrollbarDrawing
)
19 : Theme(std::move(aScrollbarDrawing
)) {}
21 LayoutDeviceIntSize
GetMinimumWidgetSize(
22 nsPresContext
* aPresContext
, nsIFrame
* aFrame
,
23 StyleAppearance aAppearance
) override
;
25 NS_IMETHOD
DrawWidgetBackground(gfxContext
* aContext
, nsIFrame
*,
26 StyleAppearance
, const nsRect
& aRect
,
27 const nsRect
& aDirtyRect
,
28 DrawOverflow
) override
;
30 bool CreateWebRenderCommandsForWidget(
31 wr::DisplayListBuilder
& aBuilder
, wr::IpcResourceUpdateQueue
& aResources
,
32 const layers::StackingContextHelper
& aSc
,
33 layers::RenderRootStateManager
* aManager
, nsIFrame
*, StyleAppearance
,
34 const nsRect
& aRect
) override
;
37 virtual ~ThemeCocoa() = default;
40 } // namespace mozilla::widget