|
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/. */ |
|
5 |
|
6 #ifndef nsLookAndFeel_h_ |
|
7 #define nsLookAndFeel_h_ |
|
8 #include "nsXPLookAndFeel.h" |
|
9 |
|
10 class nsLookAndFeel: public nsXPLookAndFeel { |
|
11 public: |
|
12 nsLookAndFeel(); |
|
13 virtual ~nsLookAndFeel(); |
|
14 |
|
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() |
|
22 { |
|
23 // unicode value for the bullet character, used for password textfields. |
|
24 return 0x2022; |
|
25 } |
|
26 |
|
27 static bool UseOverlayScrollbars(); |
|
28 |
|
29 protected: |
|
30 |
|
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; |
|
34 |
|
35 static bool SystemWantsOverlayScrollbars(); |
|
36 static bool AllowOverlayScrollbarsOverlap(); |
|
37 }; |
|
38 |
|
39 #endif // nsLookAndFeel_h_ |