1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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
: public nsXPLookAndFeel
{
13 virtual ~nsLookAndFeel();
15 virtual nsresult
NativeGetColor(ColorID aID
, nscolor
&aResult
);
16 virtual nsresult
GetIntImpl(IntID aID
, int32_t &aResult
);
17 virtual nsresult
GetFloatImpl(FloatID aID
, float &aResult
);
18 virtual bool GetFontImpl(FontID aID
, nsString
& aFontName
,
19 gfxFontStyle
& aFontStyle
,
20 float aDevPixPerCSSPixel
);
21 virtual char16_t
GetPasswordCharacterImpl()
23 // unicode value for the bullet character, used for password textfields.
27 static bool UseOverlayScrollbars();
31 // Apple hasn't defined a constant for scollbars with two arrows on each end, so we'll use this one.
32 static const int kThemeScrollBarArrowsBoth
= 2;
33 static const int kThemeScrollBarArrowsUpperLeft
= 3;
35 static bool SystemWantsOverlayScrollbars();
36 static bool AllowOverlayScrollbarsOverlap();
39 #endif // nsLookAndFeel_h_