1 /* -*- Mode: C++; tab-width: 4; 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 nsLookAndFeel_h_
7 #define nsLookAndFeel_h_
8 #include "nsXPLookAndFeel.h"
10 class nsLookAndFeel final
: public nsXPLookAndFeel
{
13 virtual ~nsLookAndFeel();
15 void NativeInit() final
{ EnsureInit(); }
16 void RefreshImpl() final
;
19 nsresult
NativeGetColor(ColorID
, ColorScheme
, nscolor
& aColor
) override
;
20 nsresult
NativeGetInt(IntID
, int32_t& aResult
) override
;
21 nsresult
NativeGetFloat(FloatID
, float& aResult
) override
;
22 bool NativeGetFont(FontID aID
, nsString
& aFontName
,
23 gfxFontStyle
& aFontStyle
) override
;
25 char16_t
GetPasswordCharacterImpl() override
{
26 // unicode value for the bullet character, used for password textfields.
30 void RecordLookAndFeelSpecificTelemetry() override
{
31 RecordAccessibilityTelemetry();
34 // Having a separate, static method allows us to rely on the same
35 // chunk of telemetry logging code at initialization and when we
36 // recieve an event that changes the value of our telemetry probe.
37 static void RecordAccessibilityTelemetry();
40 bool mInitialized
= false;
42 int32_t mTitlebarHeight
= 0;
45 #endif // nsLookAndFeel_h_