2007-03-22 10:30:00 -07:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
|
|
/* vim:expandtab:shiftwidth=4:tabstop=4:
|
|
|
|
*/
|
2012-05-21 04:12:37 -07:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2007-03-22 10:30:00 -07:00
|
|
|
|
|
|
|
#ifndef __nsLookAndFeel
|
|
|
|
#define __nsLookAndFeel
|
2012-02-20 15:19:48 -08:00
|
|
|
|
2007-03-22 10:30:00 -07:00
|
|
|
#include "nsXPLookAndFeel.h"
|
|
|
|
#include "nsCOMPtr.h"
|
2012-02-20 15:19:48 -08:00
|
|
|
#include "gfxFont.h"
|
|
|
|
|
|
|
|
struct _GtkStyle;
|
2007-03-22 10:30:00 -07:00
|
|
|
|
|
|
|
class nsLookAndFeel: public nsXPLookAndFeel {
|
|
|
|
public:
|
|
|
|
nsLookAndFeel();
|
|
|
|
virtual ~nsLookAndFeel();
|
|
|
|
|
2011-09-08 19:27:13 -07:00
|
|
|
virtual nsresult NativeGetColor(ColorID aID, nscolor &aResult);
|
2012-08-22 08:56:38 -07:00
|
|
|
virtual nsresult GetIntImpl(IntID aID, int32_t &aResult);
|
2011-09-08 19:27:13 -07:00
|
|
|
virtual nsresult GetFloatImpl(FloatID aID, float &aResult);
|
2012-02-20 15:19:48 -08:00
|
|
|
virtual bool GetFontImpl(FontID aID, nsString& aFontName,
|
|
|
|
gfxFontStyle& aFontStyle);
|
|
|
|
|
2011-09-08 19:27:13 -07:00
|
|
|
virtual void RefreshImpl();
|
|
|
|
virtual PRUnichar GetPasswordCharacterImpl();
|
2011-09-28 23:19:26 -07:00
|
|
|
virtual bool GetEchoPasswordImpl();
|
2007-03-22 10:30:00 -07:00
|
|
|
|
|
|
|
protected:
|
2012-02-20 15:19:48 -08:00
|
|
|
struct _GtkStyle *mStyle;
|
|
|
|
|
|
|
|
// Cached fonts
|
|
|
|
bool mDefaultFontCached;
|
|
|
|
bool mButtonFontCached;
|
|
|
|
bool mFieldFontCached;
|
|
|
|
bool mMenuFontCached;
|
|
|
|
nsString mDefaultFontName;
|
|
|
|
nsString mButtonFontName;
|
|
|
|
nsString mFieldFontName;
|
|
|
|
nsString mMenuFontName;
|
|
|
|
gfxFontStyle mDefaultFontStyle;
|
|
|
|
gfxFontStyle mButtonFontStyle;
|
|
|
|
gfxFontStyle mFieldFontStyle;
|
|
|
|
gfxFontStyle mMenuFontStyle;
|
2007-03-22 10:30:00 -07:00
|
|
|
|
|
|
|
// Cached colors, we have to create a dummy widget to actually
|
|
|
|
// get the style
|
|
|
|
|
|
|
|
static nscolor sInfoBackground;
|
|
|
|
static nscolor sInfoText;
|
|
|
|
static nscolor sMenuBackground;
|
2009-06-14 14:58:14 -07:00
|
|
|
static nscolor sMenuBarText;
|
|
|
|
static nscolor sMenuBarHoverText;
|
2007-03-22 10:30:00 -07:00
|
|
|
static nscolor sMenuText;
|
|
|
|
static nscolor sMenuHover;
|
|
|
|
static nscolor sMenuHoverText;
|
|
|
|
static nscolor sButtonBackground;
|
|
|
|
static nscolor sButtonText;
|
|
|
|
static nscolor sButtonOuterLightBorder;
|
|
|
|
static nscolor sButtonInnerDarkBorder;
|
2008-04-12 05:13:32 -07:00
|
|
|
static nscolor sOddCellBackground;
|
2008-07-11 11:34:53 -07:00
|
|
|
static nscolor sNativeHyperLinkText;
|
2009-01-16 00:18:49 -08:00
|
|
|
static nscolor sComboBoxText;
|
|
|
|
static nscolor sComboBoxBackground;
|
2007-03-22 10:30:00 -07:00
|
|
|
static PRUnichar sInvisibleCharacter;
|
2008-06-23 01:50:52 -07:00
|
|
|
static float sCaretRatio;
|
2011-09-28 23:19:26 -07:00
|
|
|
static bool sMenuSupportsDrag;
|
2007-03-22 10:30:00 -07:00
|
|
|
|
|
|
|
static void InitLookAndFeel();
|
2012-02-20 15:19:48 -08:00
|
|
|
void InitWidget();
|
2007-03-22 10:30:00 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|