diff options
Diffstat (limited to 'widget/gonk/nsLookAndFeel.cpp')
-rw-r--r-- | widget/gonk/nsLookAndFeel.cpp | 465 |
1 files changed, 0 insertions, 465 deletions
diff --git a/widget/gonk/nsLookAndFeel.cpp b/widget/gonk/nsLookAndFeel.cpp deleted file mode 100644 index 120f257df..000000000 --- a/widget/gonk/nsLookAndFeel.cpp +++ /dev/null @@ -1,465 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* Copyright 2012 Mozilla Foundation and Mozilla contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "nsLookAndFeel.h" -#include "nsStyleConsts.h" -#include "gfxFont.h" -#include "gfxFontConstants.h" -#include "mozilla/gfx/2D.h" -#include "cutils/properties.h" - -static const char16_t UNICODE_BULLET = 0x2022; - -nsLookAndFeel::nsLookAndFeel() - : nsXPLookAndFeel() -{ -} - -nsLookAndFeel::~nsLookAndFeel() -{ -} - -nsresult -nsLookAndFeel::NativeGetColor(ColorID aID, nscolor &aColor) -{ - nsresult rv = NS_OK; - -#define BASE_ACTIVE_COLOR NS_RGB(0xaa,0xaa,0xaa) -#define BASE_NORMAL_COLOR NS_RGB(0xff,0xff,0xff) -#define BASE_SELECTED_COLOR NS_RGB(0xaa,0xaa,0xaa) -#define BG_ACTIVE_COLOR NS_RGB(0xff,0xff,0xff) -#define BG_INSENSITIVE_COLOR NS_RGB(0xaa,0xaa,0xaa) -#define BG_NORMAL_COLOR NS_RGB(0xff,0xff,0xff) -#define BG_PRELIGHT_COLOR NS_RGB(0xee,0xee,0xee) -#define BG_SELECTED_COLOR NS_RGB(0x99,0x99,0x99) -#define DARK_NORMAL_COLOR NS_RGB(0x88,0x88,0x88) -#define FG_INSENSITIVE_COLOR NS_RGB(0x44,0x44,0x44) -#define FG_NORMAL_COLOR NS_RGB(0x00,0x00,0x00) -#define FG_PRELIGHT_COLOR NS_RGB(0x77,0x77,0x77) -#define FG_SELECTED_COLOR NS_RGB(0xaa,0xaa,0xaa) -#define LIGHT_NORMAL_COLOR NS_RGB(0xaa,0xaa,0xaa) -#define TEXT_ACTIVE_COLOR NS_RGB(0x99,0x99,0x99) -#define TEXT_NORMAL_COLOR NS_RGB(0x00,0x00,0x00) -#define TEXT_SELECTED_COLOR NS_RGB(0x00,0x00,0x00) - - switch (aID) { - // These colors don't seem to be used for anything anymore in Mozilla - // (except here at least TextSelectBackground and TextSelectForeground) - // The CSS2 colors below are used. - case eColorID_WindowBackground: - aColor = BASE_NORMAL_COLOR; - break; - case eColorID_WindowForeground: - aColor = TEXT_NORMAL_COLOR; - break; - case eColorID_WidgetBackground: - aColor = BG_NORMAL_COLOR; - break; - case eColorID_WidgetForeground: - aColor = FG_NORMAL_COLOR; - break; - case eColorID_WidgetSelectBackground: - aColor = BG_SELECTED_COLOR; - break; - case eColorID_WidgetSelectForeground: - aColor = FG_SELECTED_COLOR; - break; - case eColorID_Widget3DHighlight: - aColor = NS_RGB(0xa0,0xa0,0xa0); - break; - case eColorID_Widget3DShadow: - aColor = NS_RGB(0x40,0x40,0x40); - break; - case eColorID_TextBackground: - // not used? - aColor = BASE_NORMAL_COLOR; - break; - case eColorID_TextForeground: - // not used? - aColor = TEXT_NORMAL_COLOR; - break; - case eColorID_TextSelectBackground: - aColor = NS_RGBA(0x33,0xb5,0xe5,0x66); - break; - case eColorID_IMESelectedRawTextBackground: - case eColorID_IMESelectedConvertedTextBackground: - // still used - aColor = BASE_SELECTED_COLOR; - break; - case eColorID_TextSelectForegroundCustom: - aColor = NS_RGB(0x4d,0x4d,0x4d); - break; - case eColorID_TextSelectForeground: - aColor = NS_CHANGE_COLOR_IF_SAME_AS_BG; - break; - case eColorID_IMESelectedRawTextForeground: - case eColorID_IMESelectedConvertedTextForeground: - // still used - aColor = TEXT_SELECTED_COLOR; - break; - case eColorID_IMERawInputBackground: - case eColorID_IMEConvertedTextBackground: - aColor = NS_TRANSPARENT; - break; - case eColorID_IMERawInputForeground: - case eColorID_IMEConvertedTextForeground: - aColor = NS_SAME_AS_FOREGROUND_COLOR; - break; - case eColorID_IMERawInputUnderline: - case eColorID_IMEConvertedTextUnderline: - aColor = NS_SAME_AS_FOREGROUND_COLOR; - break; - case eColorID_IMESelectedRawTextUnderline: - case eColorID_IMESelectedConvertedTextUnderline: - aColor = NS_TRANSPARENT; - break; - case eColorID_SpellCheckerUnderline: - aColor = NS_RGB(0xff, 0, 0); - break; - - // css2 http://www.w3.org/TR/REC-CSS2/ui.html#system-colors - case eColorID_activeborder: - // active window border - aColor = BG_NORMAL_COLOR; - break; - case eColorID_activecaption: - // active window caption background - aColor = BG_NORMAL_COLOR; - break; - case eColorID_appworkspace: - // MDI background color - aColor = BG_NORMAL_COLOR; - break; - case eColorID_background: - // desktop background - aColor = BG_NORMAL_COLOR; - break; - case eColorID_captiontext: - // text in active window caption, size box, and scrollbar arrow box (!) - aColor = FG_NORMAL_COLOR; - break; - case eColorID_graytext: - // disabled text in windows, menus, etc. - aColor = FG_INSENSITIVE_COLOR; - break; - case eColorID_highlight: - // background of selected item - aColor = BASE_SELECTED_COLOR; - break; - case eColorID_highlighttext: - // text of selected item - aColor = TEXT_SELECTED_COLOR; - break; - case eColorID_inactiveborder: - // inactive window border - aColor = BG_NORMAL_COLOR; - break; - case eColorID_inactivecaption: - // inactive window caption - aColor = BG_INSENSITIVE_COLOR; - break; - case eColorID_inactivecaptiontext: - // text in inactive window caption - aColor = FG_INSENSITIVE_COLOR; - break; - case eColorID_infobackground: - // tooltip background color - aColor = BG_NORMAL_COLOR; - break; - case eColorID_infotext: - // tooltip text color - aColor = TEXT_NORMAL_COLOR; - break; - case eColorID_menu: - // menu background - aColor = BG_NORMAL_COLOR; - break; - case eColorID_menutext: - // menu text - aColor = TEXT_NORMAL_COLOR; - break; - case eColorID_scrollbar: - // scrollbar gray area - aColor = BG_ACTIVE_COLOR; - break; - - case eColorID_threedface: - case eColorID_buttonface: - // 3-D face color - aColor = BG_NORMAL_COLOR; - break; - - case eColorID_buttontext: - // text on push buttons - aColor = TEXT_NORMAL_COLOR; - break; - - case eColorID_buttonhighlight: - // 3-D highlighted edge color - case eColorID_threedhighlight: - // 3-D highlighted outer edge color - aColor = LIGHT_NORMAL_COLOR; - break; - - case eColorID_threedlightshadow: - // 3-D highlighted inner edge color - aColor = BG_NORMAL_COLOR; - break; - - case eColorID_buttonshadow: - // 3-D shadow edge color - case eColorID_threedshadow: - // 3-D shadow inner edge color - aColor = DARK_NORMAL_COLOR; - break; - - case eColorID_threeddarkshadow: - // 3-D shadow outer edge color - aColor = NS_RGB(0,0,0); - break; - - case eColorID_window: - case eColorID_windowframe: - aColor = BG_NORMAL_COLOR; - break; - - case eColorID_windowtext: - aColor = FG_NORMAL_COLOR; - break; - - case eColorID__moz_eventreerow: - case eColorID__moz_field: - aColor = BASE_NORMAL_COLOR; - break; - case eColorID__moz_fieldtext: - aColor = TEXT_NORMAL_COLOR; - break; - case eColorID__moz_dialog: - aColor = BG_NORMAL_COLOR; - break; - case eColorID__moz_dialogtext: - aColor = FG_NORMAL_COLOR; - break; - case eColorID__moz_dragtargetzone: - aColor = BG_SELECTED_COLOR; - break; - case eColorID__moz_buttondefault: - // default button border color - aColor = NS_RGB(0,0,0); - break; - case eColorID__moz_buttonhoverface: - aColor = BG_PRELIGHT_COLOR; - break; - case eColorID__moz_buttonhovertext: - aColor = FG_PRELIGHT_COLOR; - break; - case eColorID__moz_cellhighlight: - case eColorID__moz_html_cellhighlight: - aColor = BASE_ACTIVE_COLOR; - break; - case eColorID__moz_cellhighlighttext: - case eColorID__moz_html_cellhighlighttext: - aColor = TEXT_ACTIVE_COLOR; - break; - case eColorID__moz_menuhover: - aColor = BG_PRELIGHT_COLOR; - break; - case eColorID__moz_menuhovertext: - aColor = FG_PRELIGHT_COLOR; - break; - case eColorID__moz_oddtreerow: - aColor = NS_TRANSPARENT; - break; - case eColorID__moz_nativehyperlinktext: - aColor = NS_SAME_AS_FOREGROUND_COLOR; - break; - case eColorID__moz_comboboxtext: - aColor = TEXT_NORMAL_COLOR; - break; - case eColorID__moz_combobox: - aColor = BG_NORMAL_COLOR; - break; - case eColorID__moz_menubartext: - aColor = TEXT_NORMAL_COLOR; - break; - case eColorID__moz_menubarhovertext: - aColor = FG_PRELIGHT_COLOR; - break; - default: - /* default color is BLACK */ - aColor = 0; - rv = NS_ERROR_FAILURE; - break; - } - - return rv; -} - -nsresult -nsLookAndFeel::GetIntImpl(IntID aID, int32_t &aResult) -{ - nsresult rv = nsXPLookAndFeel::GetIntImpl(aID, aResult); - if (NS_SUCCEEDED(rv)) - return rv; - - rv = NS_OK; - - switch (aID) { - case eIntID_CaretBlinkTime: - aResult = 500; - break; - - case eIntID_CaretWidth: - aResult = 1; - break; - - case eIntID_ShowCaretDuringSelection: - aResult = 0; - break; - - case eIntID_SelectTextfieldsOnKeyFocus: - // Select textfield content when focused by kbd - // used by EventStateManager::sTextfieldSelectModel - aResult = 1; - break; - - case eIntID_SubmenuDelay: - aResult = 200; - break; - - case eIntID_TooltipDelay: - aResult = 500; - break; - - case eIntID_MenusCanOverlapOSBar: - // we want XUL popups to be able to overlap the task bar. - aResult = 1; - break; - - case eIntID_ScrollArrowStyle: - aResult = eScrollArrowStyle_Single; - break; - - case eIntID_ScrollSliderStyle: - aResult = eScrollThumbStyle_Proportional; - break; - - case eIntID_TouchEnabled: - aResult = 1; - break; - - case eIntID_WindowsDefaultTheme: - case eIntID_WindowsThemeIdentifier: - case eIntID_OperatingSystemVersionIdentifier: - aResult = 0; - rv = NS_ERROR_NOT_IMPLEMENTED; - break; - - case eIntID_IMERawInputUnderlineStyle: - case eIntID_IMEConvertedTextUnderlineStyle: - aResult = NS_STYLE_TEXT_DECORATION_STYLE_SOLID; - break; - - case eIntID_IMESelectedRawTextUnderlineStyle: - case eIntID_IMESelectedConvertedTextUnderline: - aResult = NS_STYLE_TEXT_DECORATION_STYLE_NONE; - break; - - case eIntID_SpellCheckerUnderlineStyle: - aResult = NS_STYLE_TEXT_DECORATION_STYLE_WAVY; - break; - - case eIntID_ScrollbarButtonAutoRepeatBehavior: - aResult = 0; - break; - - case eIntID_PhysicalHomeButton: { - char propValue[PROPERTY_VALUE_MAX]; - property_get("ro.moz.has_home_button", propValue, "1"); - aResult = atoi(propValue); - break; - } - - case eIntID_ContextMenuOffsetVertical: - case eIntID_ContextMenuOffsetHorizontal: - aResult = 2; - break; - - default: - aResult = 0; - rv = NS_ERROR_FAILURE; - } - - return rv; -} - -nsresult -nsLookAndFeel::GetFloatImpl(FloatID aID, float &aResult) -{ - nsresult res = nsXPLookAndFeel::GetFloatImpl(aID, aResult); - if (NS_SUCCEEDED(res)) - return res; - res = NS_OK; - - switch (aID) { - case eFloatID_IMEUnderlineRelativeSize: - aResult = 1.0f; - break; - case eFloatID_SpellCheckerUnderlineRelativeSize: - aResult = 1.0f; - break; - default: - aResult = -1.0; - res = NS_ERROR_FAILURE; - } - return res; -} - -/*virtual*/ -bool -nsLookAndFeel::GetFontImpl(FontID aID, nsString& aFontName, - gfxFontStyle& aFontStyle, - float aDevPixPerCSSPixel) -{ - aFontName.AssignLiteral("\"Fira Sans\""); - aFontStyle.style = NS_FONT_STYLE_NORMAL; - aFontStyle.weight = NS_FONT_WEIGHT_NORMAL; - aFontStyle.stretch = NS_FONT_STRETCH_NORMAL; - aFontStyle.size = 9.0 * 96.0f / 72.0f; - aFontStyle.systemFont = true; - return true; -} - -/*virtual*/ -bool -nsLookAndFeel::GetEchoPasswordImpl() { - return true; -} - -/*virtual*/ -uint32_t -nsLookAndFeel::GetPasswordMaskDelayImpl() -{ - // Same value on Android framework - return 1500; -} - -/* virtual */ -char16_t -nsLookAndFeel::GetPasswordCharacterImpl() -{ - return UNICODE_BULLET; -} |