зеркало из https://github.com/mozilla/pjs.git
Fix for 115753, windows xp tooltip support, r=bryner, sr=sspitzer
This commit is contained in:
Родитель
8972ab6527
Коммит
f039e28dba
|
@ -94,7 +94,10 @@
|
|||
#define TABP_TAB 4
|
||||
#define TABP_TAB_SELECTED 5
|
||||
#define TABP_TAB_PANE 9
|
||||
|
||||
|
||||
// Tooltip constants
|
||||
#define TTP_STANDARD 1
|
||||
|
||||
NS_IMPL_ISUPPORTS1(nsNativeThemeWin, nsITheme)
|
||||
|
||||
typedef HANDLE (WINAPI*OpenThemeDataPtr)(HWND hwnd, LPCWSTR pszClassList);
|
||||
|
@ -132,6 +135,7 @@ nsNativeThemeWin::nsNativeThemeWin() {
|
|||
NS_INIT_ISUPPORTS();
|
||||
mThemeDLL = NULL;
|
||||
mButtonTheme = NULL;
|
||||
mTooltipTheme = NULL;
|
||||
mToolbarTheme = NULL;
|
||||
mRebarTheme = NULL;
|
||||
mProgressTheme = NULL;
|
||||
|
@ -189,6 +193,11 @@ nsNativeThemeWin::GetTheme(PRUint8 aWidgetType)
|
|||
mButtonTheme = openTheme(NULL, L"Button");
|
||||
return mButtonTheme;
|
||||
}
|
||||
case NS_THEME_TOOLTIP: {
|
||||
if (!mTooltipTheme)
|
||||
mTooltipTheme = openTheme(NULL, L"Tooltip");
|
||||
return mTooltipTheme;
|
||||
}
|
||||
case NS_THEME_TOOLBOX: {
|
||||
if (!mRebarTheme)
|
||||
mRebarTheme = openTheme(NULL, L"Rebar");
|
||||
|
@ -377,6 +386,11 @@ nsNativeThemeWin::GetThemePartAndState(nsIFrame* aFrame, PRUint8 aWidgetType,
|
|||
aState += 4; // 4 unchecked states, 4 checked states.
|
||||
return NS_OK;
|
||||
}
|
||||
case NS_THEME_TOOLTIP: {
|
||||
aPart = TTP_STANDARD;
|
||||
aState = TS_NORMAL;
|
||||
return NS_OK;
|
||||
}
|
||||
case NS_THEME_PROGRESSBAR: {
|
||||
aPart = PP_BAR;
|
||||
aState = TS_NORMAL;
|
||||
|
@ -703,7 +717,8 @@ nsNativeThemeWin::WidgetStateChanged(nsIFrame* aFrame, PRUint8 aWidgetType,
|
|||
aWidgetType == NS_THEME_PROGRESSBAR_CHUNK ||
|
||||
aWidgetType == NS_THEME_PROGRESSBAR_CHUNK_VERTICAL ||
|
||||
aWidgetType == NS_THEME_PROGRESSBAR ||
|
||||
aWidgetType == NS_THEME_PROGRESSBAR_VERTICAL) {
|
||||
aWidgetType == NS_THEME_PROGRESSBAR_VERTICAL ||
|
||||
aWidgetType == NS_THEME_TOOLTIP) {
|
||||
*aShouldRepaint = PR_FALSE;
|
||||
return NS_OK;
|
||||
}
|
||||
|
@ -750,6 +765,10 @@ nsNativeThemeWin::CloseData()
|
|||
closeTheme(mButtonTheme);
|
||||
mButtonTheme = NULL;
|
||||
}
|
||||
if (mTooltipTheme) {
|
||||
closeTheme(mTooltipTheme);
|
||||
mTooltipTheme = NULL;
|
||||
}
|
||||
if (mStatusbarTheme) {
|
||||
closeTheme(mStatusbarTheme);
|
||||
mStatusbarTheme = NULL;
|
||||
|
|
|
@ -70,6 +70,7 @@ protected:
|
|||
private:
|
||||
HMODULE mThemeDLL;
|
||||
HANDLE mButtonTheme;
|
||||
HANDLE mTooltipTheme;
|
||||
HANDLE mToolbarTheme;
|
||||
HANDLE mRebarTheme;
|
||||
HANDLE mProgressTheme;
|
||||
|
|
Загрузка…
Ссылка в новой задаче