mirror of
https://github.com/reactos/reactos.git
synced 2025-04-21 12:40:33 +00:00
[COMCTL32] Sync with Wine Staging 1.9.16. CORE-11866
svn path=/trunk/; revision=72320
This commit is contained in:
parent
acdd6b2e5b
commit
297e33f228
18 changed files with 216 additions and 189 deletions
|
@ -1,5 +1,5 @@
|
||||||
diff -pudN e:\wine\dlls\comctl32/comctl32.h e:\reactos\dll\win32\comctl32/comctl32.h
|
diff -pudN e:\wine\dlls\comctl32/comctl32.h e:\reactos\dll\win32\comctl32/comctl32.h
|
||||||
--- e:\wine\dlls\comctl32/comctl32.h 2016-05-31 18:00:02 +0100
|
--- e:\wine\dlls\comctl32/comctl32.h 2016-08-14 19:11:25 +0100
|
||||||
+++ e:\reactos\dll\win32\comctl32/comctl32.h 2014-03-05 11:47:40 +0100
|
+++ e:\reactos\dll\win32\comctl32/comctl32.h 2014-03-05 11:47:40 +0100
|
||||||
@@ -53,67 +53,6 @@
|
@@ -53,67 +53,6 @@
|
||||||
extern HMODULE COMCTL32_hModule DECLSPEC_HIDDEN;
|
extern HMODULE COMCTL32_hModule DECLSPEC_HIDDEN;
|
||||||
|
@ -79,7 +79,7 @@ diff -pudN e:\wine\dlls\comctl32/comctl32.h e:\reactos\dll\win32\comctl32/comctl
|
||||||
typedef struct _SUBCLASSPROCS {
|
typedef struct _SUBCLASSPROCS {
|
||||||
SUBCLASSPROC subproc;
|
SUBCLASSPROC subproc;
|
||||||
diff -pudN e:\wine\dlls\comctl32/commctrl.c e:\reactos\dll\win32\comctl32/commctrl.c
|
diff -pudN e:\wine\dlls\comctl32/commctrl.c e:\reactos\dll\win32\comctl32/commctrl.c
|
||||||
--- e:\wine\dlls\comctl32/commctrl.c 2016-05-31 18:00:02 +0100
|
--- e:\wine\dlls\comctl32/commctrl.c 2016-08-14 19:11:25 +0100
|
||||||
+++ e:\reactos\dll\win32\comctl32/commctrl.c 2016-03-01 20:00:53 +0100
|
+++ e:\reactos\dll\win32\comctl32/commctrl.c 2016-03-01 20:00:53 +0100
|
||||||
@@ -60,6 +60,19 @@
|
@@ -60,6 +60,19 @@
|
||||||
|
|
||||||
|
@ -333,8 +333,8 @@ diff -pudN e:\wine\dlls\comctl32/commctrl.c e:\reactos\dll\win32\comctl32/commct
|
||||||
+ return TRUE;
|
+ return TRUE;
|
||||||
+}
|
+}
|
||||||
diff -pudN e:\wine\dlls\comctl32/imagelist.c e:\reactos\dll\win32\comctl32/imagelist.c
|
diff -pudN e:\wine\dlls\comctl32/imagelist.c e:\reactos\dll\win32\comctl32/imagelist.c
|
||||||
--- e:\wine\dlls\comctl32/imagelist.c 2016-05-31 18:00:02 +0100
|
--- e:\wine\dlls\comctl32/imagelist.c 2016-08-14 19:11:25 +0100
|
||||||
+++ e:\reactos\dll\win32\comctl32/imagelist.c 2016-06-05 19:39:00 +0100
|
+++ e:\reactos\dll\win32\comctl32/imagelist.c 2016-08-18 12:03:13 +0100
|
||||||
@@ -33,7 +33,7 @@
|
@@ -33,7 +33,7 @@
|
||||||
*
|
*
|
||||||
* TODO:
|
* TODO:
|
||||||
|
@ -504,8 +504,8 @@ diff -pudN e:\wine\dlls\comctl32/imagelist.c e:\reactos\dll\win32\comctl32/image
|
||||||
|
|
||||||
Common subdirectories: e:\wine\dlls\comctl32/lang and e:\reactos\dll\win32\comctl32/lang
|
Common subdirectories: e:\wine\dlls\comctl32/lang and e:\reactos\dll\win32\comctl32/lang
|
||||||
diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listview.c
|
diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listview.c
|
||||||
--- e:\wine\dlls\comctl32/listview.c 2016-05-31 18:00:02 +0100
|
--- e:\wine\dlls\comctl32/listview.c 2016-08-14 19:11:25 +0100
|
||||||
+++ e:\reactos\dll\win32\comctl32/listview.c 2016-06-05 19:39:00 +0100
|
+++ e:\reactos\dll\win32\comctl32/listview.c 2016-08-18 12:03:13 +0100
|
||||||
@@ -287,6 +287,9 @@ typedef struct tagLISTVIEW_INFO
|
@@ -287,6 +287,9 @@ typedef struct tagLISTVIEW_INFO
|
||||||
COLORREF clrBk;
|
COLORREF clrBk;
|
||||||
COLORREF clrText;
|
COLORREF clrText;
|
||||||
|
@ -516,7 +516,7 @@ diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listvi
|
||||||
|
|
||||||
/* font */
|
/* font */
|
||||||
HFONT hDefaultFont;
|
HFONT hDefaultFont;
|
||||||
@@ -1678,8 +1681,24 @@ static inline BOOL LISTVIEW_GetItemW(con
|
@@ -1696,8 +1699,24 @@ static inline BOOL LISTVIEW_GetItemW(con
|
||||||
/* used to handle collapse main item column case */
|
/* used to handle collapse main item column case */
|
||||||
static inline BOOL LISTVIEW_DrawFocusRect(const LISTVIEW_INFO *infoPtr, HDC hdc)
|
static inline BOOL LISTVIEW_DrawFocusRect(const LISTVIEW_INFO *infoPtr, HDC hdc)
|
||||||
{
|
{
|
||||||
|
@ -541,7 +541,7 @@ diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listvi
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Listview invalidation functions: use _only_ these functions to invalidate */
|
/* Listview invalidation functions: use _only_ these functions to invalidate */
|
||||||
@@ -4671,7 +4690,12 @@ static void LISTVIEW_DrawItemPart(LISTVI
|
@@ -4688,7 +4707,12 @@ static void LISTVIEW_DrawItemPart(LISTVI
|
||||||
if (infoPtr->uView == LV_VIEW_DETAILS && infoPtr->dwLvExStyle & LVS_EX_GRIDLINES)
|
if (infoPtr->uView == LV_VIEW_DETAILS && infoPtr->dwLvExStyle & LVS_EX_GRIDLINES)
|
||||||
rcLabel.bottom--;
|
rcLabel.bottom--;
|
||||||
|
|
||||||
|
@ -555,7 +555,7 @@ diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listvi
|
||||||
}
|
}
|
||||||
|
|
||||||
/***
|
/***
|
||||||
@@ -5212,7 +5236,11 @@ enddraw:
|
@@ -5232,7 +5256,11 @@ enddraw:
|
||||||
|
|
||||||
/* Draw marquee rectangle if appropriate */
|
/* Draw marquee rectangle if appropriate */
|
||||||
if (infoPtr->bMarqueeSelect)
|
if (infoPtr->bMarqueeSelect)
|
||||||
|
@ -567,7 +567,7 @@ diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listvi
|
||||||
|
|
||||||
if (cdmode & CDRF_NOTIFYPOSTPAINT)
|
if (cdmode & CDRF_NOTIFYPOSTPAINT)
|
||||||
notify_postpaint(infoPtr, &nmlvcd);
|
notify_postpaint(infoPtr, &nmlvcd);
|
||||||
@@ -8013,6 +8041,9 @@ static BOOL LISTVIEW_SetBkColor(LISTVIEW
|
@@ -8035,6 +8063,9 @@ static BOOL LISTVIEW_SetBkColor(LISTVIEW
|
||||||
{
|
{
|
||||||
TRACE("(color=%x)\n", color);
|
TRACE("(color=%x)\n", color);
|
||||||
|
|
||||||
|
@ -577,7 +577,7 @@ diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listvi
|
||||||
if(infoPtr->clrBk != color) {
|
if(infoPtr->clrBk != color) {
|
||||||
if (infoPtr->clrBk != CLR_NONE) DeleteObject(infoPtr->hBkBrush);
|
if (infoPtr->clrBk != CLR_NONE) DeleteObject(infoPtr->hBkBrush);
|
||||||
infoPtr->clrBk = color;
|
infoPtr->clrBk = color;
|
||||||
@@ -8688,7 +8719,7 @@ static DWORD LISTVIEW_SetIconSpacing(LIS
|
@@ -8710,7 +8741,7 @@ static DWORD LISTVIEW_SetIconSpacing(LIS
|
||||||
return oldspacing;
|
return oldspacing;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -586,7 +586,7 @@ diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listvi
|
||||||
{
|
{
|
||||||
INT cx, cy;
|
INT cx, cy;
|
||||||
|
|
||||||
@@ -8699,8 +8730,8 @@ static inline void set_icon_size(SIZE *s
|
@@ -8721,8 +8752,8 @@ static inline void set_icon_size(SIZE *s
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -597,7 +597,7 @@ diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listvi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9435,6 +9466,9 @@ static LRESULT LISTVIEW_NCCreate(HWND hw
|
@@ -9458,6 +9489,9 @@ static LRESULT LISTVIEW_NCCreate(HWND hw
|
||||||
infoPtr->clrText = CLR_DEFAULT;
|
infoPtr->clrText = CLR_DEFAULT;
|
||||||
infoPtr->clrTextBk = CLR_DEFAULT;
|
infoPtr->clrTextBk = CLR_DEFAULT;
|
||||||
LISTVIEW_SetBkColor(infoPtr, comctl32_color.clrWindow);
|
LISTVIEW_SetBkColor(infoPtr, comctl32_color.clrWindow);
|
||||||
|
@ -607,7 +607,7 @@ diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listvi
|
||||||
|
|
||||||
/* set default values */
|
/* set default values */
|
||||||
infoPtr->nFocusedItem = -1;
|
infoPtr->nFocusedItem = -1;
|
||||||
@@ -11718,6 +11752,14 @@ LISTVIEW_WindowProc(HWND hwnd, UINT uMsg
|
@@ -11741,6 +11775,14 @@ LISTVIEW_WindowProc(HWND hwnd, UINT uMsg
|
||||||
|
|
||||||
case WM_SYSCOLORCHANGE:
|
case WM_SYSCOLORCHANGE:
|
||||||
COMCTL32_RefreshSysColors();
|
COMCTL32_RefreshSysColors();
|
||||||
|
@ -622,9 +622,22 @@ diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listvi
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* case WM_TIMER: */
|
/* case WM_TIMER: */
|
||||||
|
diff -pudN e:\wine\dlls\comctl32/monthcal.c e:\reactos\dll\win32\comctl32/monthcal.c
|
||||||
|
--- e:\wine\dlls\comctl32/monthcal.c 2016-08-14 19:11:25 +0100
|
||||||
|
+++ e:\reactos\dll\win32\comctl32/monthcal.c 2016-08-18 12:03:13 +0100
|
||||||
|
@@ -43,6 +43,9 @@
|
||||||
|
|
||||||
|
WINE_DEFAULT_DEBUG_CHANNEL(monthcal);
|
||||||
|
|
||||||
|
+/* FIXME: Inspect */
|
||||||
|
+#define MCS_NOSELCHANGEONNAV 0x0100
|
||||||
|
+
|
||||||
|
#define MC_SEL_LBUTUP 1 /* Left button released */
|
||||||
|
#define MC_SEL_LBUTDOWN 2 /* Left button pressed in calendar */
|
||||||
|
#define MC_PREVPRESSED 4 /* Prev month button pressed */
|
||||||
diff -pudN e:\wine\dlls\comctl32/propsheet.c e:\reactos\dll\win32\comctl32/propsheet.c
|
diff -pudN e:\wine\dlls\comctl32/propsheet.c e:\reactos\dll\win32\comctl32/propsheet.c
|
||||||
--- e:\wine\dlls\comctl32/propsheet.c 2016-05-31 18:00:02 +0100
|
--- e:\wine\dlls\comctl32/propsheet.c 2016-08-14 19:11:25 +0100
|
||||||
+++ e:\reactos\dll\win32\comctl32/propsheet.c 2016-06-05 19:39:01 +0100
|
+++ e:\reactos\dll\win32\comctl32/propsheet.c 2016-08-18 12:03:14 +0100
|
||||||
@@ -2355,12 +2355,19 @@ static void PROPSHEET_SetWizButtons(HWND
|
@@ -2355,12 +2355,19 @@ static void PROPSHEET_SetWizButtons(HWND
|
||||||
HWND hwndFinish = GetDlgItem(hwndDlg, IDC_FINISH_BUTTON);
|
HWND hwndFinish = GetDlgItem(hwndDlg, IDC_FINISH_BUTTON);
|
||||||
BOOL enable_finish = ((dwFlags & PSWIZB_FINISH) || psInfo->hasFinish) && !(dwFlags & PSWIZB_DISABLEDFINISH);
|
BOOL enable_finish = ((dwFlags & PSWIZB_FINISH) || psInfo->hasFinish) && !(dwFlags & PSWIZB_DISABLEDFINISH);
|
||||||
|
@ -680,8 +693,8 @@ diff -pudN e:\wine\dlls\comctl32/propsheet.c e:\reactos\dll\win32\comctl32/props
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
--- e:\wine\dlls\comctl32/rebar.c 2016-05-31 18:00:02 +0100
|
--- e:\wine\dlls\comctl32/rebar.c 2016-08-14 19:11:25 +0100
|
||||||
+++ e:\reactos\dll\win32\comctl32/rebar.c 2016-06-05 19:39:01 +0100
|
+++ e:\reactos\dll\win32\comctl32/rebar.c 2016-08-18 12:03:14 +0100
|
||||||
@@ -50,7 +50,6 @@
|
@@ -50,7 +50,6 @@
|
||||||
* - WM_QUERYNEWPALETTE
|
* - WM_QUERYNEWPALETTE
|
||||||
* - WM_RBUTTONDOWN
|
* - WM_RBUTTONDOWN
|
||||||
|
@ -690,7 +703,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
* - WM_VKEYTOITEM
|
* - WM_VKEYTOITEM
|
||||||
* - WM_WININICHANGE
|
* - WM_WININICHANGE
|
||||||
* Notifications:
|
* Notifications:
|
||||||
@@ -1821,16 +1820,43 @@ static LRESULT REBAR_EraseBkGnd (const R
|
@@ -1819,16 +1818,43 @@ static LRESULT REBAR_EraseBkGnd (const R
|
||||||
RECT cr;
|
RECT cr;
|
||||||
COLORREF old = CLR_NONE, new;
|
COLORREF old = CLR_NONE, new;
|
||||||
HTHEME theme = GetWindowTheme (infoPtr->hwndSelf);
|
HTHEME theme = GetWindowTheme (infoPtr->hwndSelf);
|
||||||
|
@ -734,7 +747,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
/* draw band separator between rows */
|
/* draw band separator between rows */
|
||||||
if (lpBand->iRow != oldrow) {
|
if (lpBand->iRow != oldrow) {
|
||||||
oldrow = lpBand->iRow;
|
oldrow = lpBand->iRow;
|
||||||
@@ -1855,6 +1881,9 @@ static LRESULT REBAR_EraseBkGnd (const R
|
@@ -1853,6 +1879,9 @@ static LRESULT REBAR_EraseBkGnd (const R
|
||||||
}
|
}
|
||||||
TRACE ("drawing band separator bottom (%s)\n",
|
TRACE ("drawing band separator bottom (%s)\n",
|
||||||
wine_dbgstr_rect(&rcRowSep));
|
wine_dbgstr_rect(&rcRowSep));
|
||||||
|
@ -744,7 +757,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1865,6 +1894,9 @@ static LRESULT REBAR_EraseBkGnd (const R
|
@@ -1863,6 +1892,9 @@ static LRESULT REBAR_EraseBkGnd (const R
|
||||||
if (infoPtr->dwStyle & CCS_VERT) {
|
if (infoPtr->dwStyle & CCS_VERT) {
|
||||||
rcSep.bottom = rcSep.top;
|
rcSep.bottom = rcSep.top;
|
||||||
rcSep.top -= SEP_WIDTH_SIZE;
|
rcSep.top -= SEP_WIDTH_SIZE;
|
||||||
|
@ -754,7 +767,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
if (theme)
|
if (theme)
|
||||||
DrawThemeEdge (theme, hdc, RP_BAND, 0, &rcSep, EDGE_ETCHED, BF_BOTTOM, NULL);
|
DrawThemeEdge (theme, hdc, RP_BAND, 0, &rcSep, EDGE_ETCHED, BF_BOTTOM, NULL);
|
||||||
else
|
else
|
||||||
@@ -1873,6 +1905,9 @@ static LRESULT REBAR_EraseBkGnd (const R
|
@@ -1871,6 +1903,9 @@ static LRESULT REBAR_EraseBkGnd (const R
|
||||||
else {
|
else {
|
||||||
rcSep.right = rcSep.left;
|
rcSep.right = rcSep.left;
|
||||||
rcSep.left -= SEP_WIDTH_SIZE;
|
rcSep.left -= SEP_WIDTH_SIZE;
|
||||||
|
@ -764,7 +777,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
if (theme)
|
if (theme)
|
||||||
DrawThemeEdge (theme, hdc, RP_BAND, 0, &rcSep, EDGE_ETCHED, BF_RIGHT, NULL);
|
DrawThemeEdge (theme, hdc, RP_BAND, 0, &rcSep, EDGE_ETCHED, BF_RIGHT, NULL);
|
||||||
else
|
else
|
||||||
@@ -1903,6 +1938,9 @@ static LRESULT REBAR_EraseBkGnd (const R
|
@@ -1901,6 +1936,9 @@ static LRESULT REBAR_EraseBkGnd (const R
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -774,7 +787,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
if (theme)
|
if (theme)
|
||||||
{
|
{
|
||||||
/* When themed, the background color is ignored (but not a
|
/* When themed, the background color is ignored (but not a
|
||||||
@@ -1910,6 +1948,7 @@ static LRESULT REBAR_EraseBkGnd (const R
|
@@ -1908,6 +1946,7 @@ static LRESULT REBAR_EraseBkGnd (const R
|
||||||
DrawThemeBackground (theme, hdc, 0, 0, &cr, &rcBand);
|
DrawThemeBackground (theme, hdc, 0, 0, &cr, &rcBand);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -782,7 +795,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
{
|
{
|
||||||
old = SetBkColor (hdc, new);
|
old = SetBkColor (hdc, new);
|
||||||
TRACE("%s background color=0x%06x, band %s\n",
|
TRACE("%s background color=0x%06x, band %s\n",
|
||||||
@@ -1920,7 +1959,26 @@ static LRESULT REBAR_EraseBkGnd (const R
|
@@ -1918,7 +1957,26 @@ static LRESULT REBAR_EraseBkGnd (const R
|
||||||
if (lpBand->clrBack != CLR_NONE)
|
if (lpBand->clrBack != CLR_NONE)
|
||||||
SetBkColor (hdc, old);
|
SetBkColor (hdc, old);
|
||||||
}
|
}
|
||||||
|
@ -792,7 +805,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
+ CombineRgn(hrgn, hrgn, hrgnBand, RGN_DIFF);
|
+ CombineRgn(hrgn, hrgn, hrgnBand, RGN_DIFF);
|
||||||
+ DeleteObject(hrgnBand);
|
+ DeleteObject(hrgnBand);
|
||||||
+#endif
|
+#endif
|
||||||
+ }
|
}
|
||||||
+
|
+
|
||||||
+#if 1
|
+#if 1
|
||||||
+#ifdef __REACTOS__
|
+#ifdef __REACTOS__
|
||||||
|
@ -804,12 +817,12 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
+ FillRgn(hdc, hrgn, hbrush);
|
+ FillRgn(hdc, hrgn, hbrush);
|
||||||
+ DeleteObject(hbrush);
|
+ DeleteObject(hbrush);
|
||||||
+ DeleteObject(hrgn);
|
+ DeleteObject(hrgn);
|
||||||
}
|
+ }
|
||||||
+#endif
|
+#endif
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2889,12 +2947,26 @@ REBAR_ShowBand (REBAR_INFO *infoPtr, INT
|
@@ -2887,12 +2945,26 @@ REBAR_ShowBand (REBAR_INFO *infoPtr, INT
|
||||||
|
|
||||||
|
|
||||||
static LRESULT
|
static LRESULT
|
||||||
|
@ -836,7 +849,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3201,7 +3273,11 @@ REBAR_NCCalcSize (const REBAR_INFO *info
|
@@ -3199,7 +3271,11 @@ REBAR_NCCalcSize (const REBAR_INFO *info
|
||||||
else if ((theme = GetWindowTheme (infoPtr->hwndSelf)))
|
else if ((theme = GetWindowTheme (infoPtr->hwndSelf)))
|
||||||
{
|
{
|
||||||
/* FIXME: should use GetThemeInt */
|
/* FIXME: should use GetThemeInt */
|
||||||
|
@ -848,7 +861,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
}
|
}
|
||||||
TRACE("new client=(%s)\n", wine_dbgstr_rect(rect));
|
TRACE("new client=(%s)\n", wine_dbgstr_rect(rect));
|
||||||
return 0;
|
return 0;
|
||||||
@@ -3302,7 +3365,11 @@ REBAR_NCHitTest (const REBAR_INFO *infoP
|
@@ -3300,7 +3376,11 @@ REBAR_NCHitTest (const REBAR_INFO *infoP
|
||||||
(INT *)&nmmouse.dwItemSpec);
|
(INT *)&nmmouse.dwItemSpec);
|
||||||
nmmouse.dwItemData = 0;
|
nmmouse.dwItemData = 0;
|
||||||
nmmouse.pt = clpt;
|
nmmouse.pt = clpt;
|
||||||
|
@ -860,7 +873,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
if ((i = REBAR_Notify((NMHDR *) &nmmouse, infoPtr, NM_NCHITTEST))) {
|
if ((i = REBAR_Notify((NMHDR *) &nmmouse, infoPtr, NM_NCHITTEST))) {
|
||||||
TRACE("notify changed return value from %ld to %d\n",
|
TRACE("notify changed return value from %ld to %d\n",
|
||||||
ret, i);
|
ret, i);
|
||||||
@@ -3374,6 +3441,9 @@ REBAR_Paint (const REBAR_INFO *infoPtr,
|
@@ -3372,6 +3452,9 @@ REBAR_Paint (const REBAR_INFO *infoPtr,
|
||||||
{
|
{
|
||||||
if (hdc) {
|
if (hdc) {
|
||||||
TRACE("painting\n");
|
TRACE("painting\n");
|
||||||
|
@ -870,7 +883,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
REBAR_Refresh (infoPtr, hdc);
|
REBAR_Refresh (infoPtr, hdc);
|
||||||
} else {
|
} else {
|
||||||
PAINTSTRUCT ps;
|
PAINTSTRUCT ps;
|
||||||
@@ -3652,7 +3728,11 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg,
|
@@ -3650,7 +3733,11 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg,
|
||||||
return REBAR_ShowBand (infoPtr, wParam, lParam);
|
return REBAR_ShowBand (infoPtr, wParam, lParam);
|
||||||
|
|
||||||
case RB_SIZETORECT:
|
case RB_SIZETORECT:
|
||||||
|
@ -882,7 +895,7 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
|
|
||||||
|
|
||||||
/* Messages passed to parent */
|
/* Messages passed to parent */
|
||||||
@@ -3735,6 +3815,11 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg,
|
@@ -3733,6 +3820,11 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg,
|
||||||
|
|
||||||
case WM_SYSCOLORCHANGE:
|
case WM_SYSCOLORCHANGE:
|
||||||
COMCTL32_RefreshSysColors();
|
COMCTL32_RefreshSysColors();
|
||||||
|
@ -895,8 +908,8 @@ diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
|
||||||
|
|
||||||
/* case WM_VKEYTOITEM: supported according to ControlSpy */
|
/* case WM_VKEYTOITEM: supported according to ControlSpy */
|
||||||
diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar.c
|
diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar.c
|
||||||
--- e:\wine\dlls\comctl32/toolbar.c 2016-05-31 18:00:02 +0100
|
--- e:\wine\dlls\comctl32/toolbar.c 2016-08-14 19:11:25 +0100
|
||||||
+++ e:\reactos\dll\win32\comctl32/toolbar.c 2016-06-05 19:39:01 +0100
|
+++ e:\reactos\dll\win32\comctl32/toolbar.c 2016-08-18 12:03:14 +0100
|
||||||
@@ -33,11 +33,9 @@
|
@@ -33,11 +33,9 @@
|
||||||
* - TBSTYLE_REGISTERDROP
|
* - TBSTYLE_REGISTERDROP
|
||||||
* - TBSTYLE_EX_DOUBLEBUFFER
|
* - TBSTYLE_EX_DOUBLEBUFFER
|
||||||
|
@ -1056,7 +1069,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get a pointer to the text */
|
/* get a pointer to the text */
|
||||||
@@ -1028,7 +1092,11 @@ TOOLBAR_DrawButton (const TOOLBAR_INFO *
|
@@ -1027,7 +1091,11 @@ TOOLBAR_DrawButton (const TOOLBAR_INFO *
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1068,7 +1081,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
{
|
{
|
||||||
int partId = drawSepDropDownArrow ? TP_SPLITBUTTON : TP_BUTTON;
|
int partId = drawSepDropDownArrow ? TP_SPLITBUTTON : TP_BUTTON;
|
||||||
int stateId = TS_NORMAL;
|
int stateId = TS_NORMAL;
|
||||||
@@ -1045,7 +1113,12 @@ TOOLBAR_DrawButton (const TOOLBAR_INFO *
|
@@ -1044,7 +1112,12 @@ TOOLBAR_DrawButton (const TOOLBAR_INFO *
|
||||||
|
|
||||||
DrawThemeBackground (theme, hdc, partId, stateId, &rc, NULL);
|
DrawThemeBackground (theme, hdc, partId, stateId, &rc, NULL);
|
||||||
}
|
}
|
||||||
|
@ -1081,7 +1094,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
TOOLBAR_DrawFrame(infoPtr, &tbcd, &rc, dwItemCDFlag);
|
TOOLBAR_DrawFrame(infoPtr, &tbcd, &rc, dwItemCDFlag);
|
||||||
|
|
||||||
if (drawSepDropDownArrow)
|
if (drawSepDropDownArrow)
|
||||||
@@ -1571,9 +1644,14 @@ static inline SIZE TOOLBAR_MeasureButton
|
@@ -1570,9 +1643,14 @@ static inline SIZE TOOLBAR_MeasureButton
|
||||||
/* ... add on the necessary padding */
|
/* ... add on the necessary padding */
|
||||||
if (bValidImageList)
|
if (bValidImageList)
|
||||||
{
|
{
|
||||||
|
@ -1096,7 +1109,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
sizeButton.cy += LISTPAD_CY;
|
sizeButton.cy += LISTPAD_CY;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1590,7 +1668,11 @@ static inline SIZE TOOLBAR_MeasureButton
|
@@ -1589,7 +1667,11 @@ static inline SIZE TOOLBAR_MeasureButton
|
||||||
{
|
{
|
||||||
if (bHasBitmap)
|
if (bHasBitmap)
|
||||||
{
|
{
|
||||||
|
@ -1108,7 +1121,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
if (sizeString.cy > 0)
|
if (sizeString.cy > 0)
|
||||||
sizeButton.cy += 1 + sizeString.cy;
|
sizeButton.cy += 1 + sizeString.cy;
|
||||||
sizeButton.cx = infoPtr->szPadding.cx +
|
sizeButton.cx = infoPtr->szPadding.cx +
|
||||||
@@ -1695,7 +1777,14 @@ TOOLBAR_LayoutToolbar(TOOLBAR_INFO *info
|
@@ -1694,7 +1776,14 @@ TOOLBAR_LayoutToolbar(TOOLBAR_INFO *info
|
||||||
{
|
{
|
||||||
if (btnPtr->cx)
|
if (btnPtr->cx)
|
||||||
cx = btnPtr->cx;
|
cx = btnPtr->cx;
|
||||||
|
@ -1123,7 +1136,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
{
|
{
|
||||||
SIZE sz;
|
SIZE sz;
|
||||||
HDC hdc;
|
HDC hdc;
|
||||||
@@ -1954,6 +2043,17 @@ TOOLBAR_RelayEvent (HWND hwndTip, HWND h
|
@@ -1953,6 +2042,17 @@ TOOLBAR_RelayEvent (HWND hwndTip, HWND h
|
||||||
SendMessageW (hwndTip, TTM_RELAYEVENT, 0, (LPARAM)&msg);
|
SendMessageW (hwndTip, TTM_RELAYEVENT, 0, (LPARAM)&msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1141,7 +1154,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
static void
|
static void
|
||||||
TOOLBAR_TooltipAddTool(const TOOLBAR_INFO *infoPtr, const TBUTTON_INFO *button)
|
TOOLBAR_TooltipAddTool(const TOOLBAR_INFO *infoPtr, const TBUTTON_INFO *button)
|
||||||
{
|
{
|
||||||
@@ -3535,6 +3635,36 @@ TOOLBAR_GetMaxSize (const TOOLBAR_INFO *
|
@@ -3534,6 +3634,36 @@ TOOLBAR_GetMaxSize (const TOOLBAR_INFO *
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1178,7 +1191,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
|
|
||||||
/* << TOOLBAR_GetObject >> */
|
/* << TOOLBAR_GetObject >> */
|
||||||
|
|
||||||
@@ -4790,6 +4920,44 @@ TOOLBAR_SetMaxTextRows (TOOLBAR_INFO *in
|
@@ -4789,6 +4919,44 @@ TOOLBAR_SetMaxTextRows (TOOLBAR_INFO *in
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1223,7 +1236,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
|
|
||||||
/* MSDN gives slightly wrong info on padding.
|
/* MSDN gives slightly wrong info on padding.
|
||||||
* 1. It is not only used on buttons with the BTNS_AUTOSIZE style
|
* 1. It is not only used on buttons with the BTNS_AUTOSIZE style
|
||||||
@@ -6030,6 +6198,10 @@ TOOLBAR_NCCreate (HWND hwnd, WPARAM wPar
|
@@ -6029,6 +6197,10 @@ TOOLBAR_NCCreate (HWND hwnd, WPARAM wPar
|
||||||
infoPtr->clrBtnShadow = CLR_DEFAULT;
|
infoPtr->clrBtnShadow = CLR_DEFAULT;
|
||||||
infoPtr->szPadding.cx = DEFPAD_CX;
|
infoPtr->szPadding.cx = DEFPAD_CX;
|
||||||
infoPtr->szPadding.cy = DEFPAD_CY;
|
infoPtr->szPadding.cy = DEFPAD_CY;
|
||||||
|
@ -1234,7 +1247,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
infoPtr->iListGap = DEFLISTGAP;
|
infoPtr->iListGap = DEFLISTGAP;
|
||||||
infoPtr->iTopMargin = default_top_margin(infoPtr);
|
infoPtr->iTopMargin = default_top_margin(infoPtr);
|
||||||
infoPtr->dwStyle = lpcs->style;
|
infoPtr->dwStyle = lpcs->style;
|
||||||
@@ -6439,7 +6611,7 @@ TOOLBAR_SysColorChange (void)
|
@@ -6438,7 +6610,7 @@ TOOLBAR_SysColorChange (void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1243,7 +1256,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
/* update theme after a WM_THEMECHANGED message */
|
/* update theme after a WM_THEMECHANGED message */
|
||||||
static LRESULT theme_changed (HWND hwnd)
|
static LRESULT theme_changed (HWND hwnd)
|
||||||
{
|
{
|
||||||
@@ -6448,7 +6620,7 @@ static LRESULT theme_changed (HWND hwnd)
|
@@ -6447,7 +6619,7 @@ static LRESULT theme_changed (HWND hwnd)
|
||||||
OpenThemeData (hwnd, themeClass);
|
OpenThemeData (hwnd, themeClass);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1252,7 +1265,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
|
|
||||||
static LRESULT WINAPI
|
static LRESULT WINAPI
|
||||||
ToolbarWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
ToolbarWindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
@@ -6553,6 +6725,10 @@ ToolbarWindowProc (HWND hwnd, UINT uMsg,
|
@@ -6552,6 +6724,10 @@ ToolbarWindowProc (HWND hwnd, UINT uMsg,
|
||||||
|
|
||||||
case TB_GETMAXSIZE:
|
case TB_GETMAXSIZE:
|
||||||
return TOOLBAR_GetMaxSize (infoPtr, (LPSIZE)lParam);
|
return TOOLBAR_GetMaxSize (infoPtr, (LPSIZE)lParam);
|
||||||
|
@ -1263,7 +1276,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
|
|
||||||
/* case TB_GETOBJECT: */ /* 4.71 */
|
/* case TB_GETOBJECT: */ /* 4.71 */
|
||||||
|
|
||||||
@@ -6694,6 +6870,11 @@ ToolbarWindowProc (HWND hwnd, UINT uMsg,
|
@@ -6693,6 +6869,11 @@ ToolbarWindowProc (HWND hwnd, UINT uMsg,
|
||||||
case TB_SETMAXTEXTROWS:
|
case TB_SETMAXTEXTROWS:
|
||||||
return TOOLBAR_SetMaxTextRows (infoPtr, wParam);
|
return TOOLBAR_SetMaxTextRows (infoPtr, wParam);
|
||||||
|
|
||||||
|
@ -1275,7 +1288,7 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
case TB_SETPADDING:
|
case TB_SETPADDING:
|
||||||
return TOOLBAR_SetPadding (infoPtr, lParam);
|
return TOOLBAR_SetPadding (infoPtr, lParam);
|
||||||
|
|
||||||
@@ -6835,7 +7016,11 @@ ToolbarWindowProc (HWND hwnd, UINT uMsg,
|
@@ -6834,7 +7015,11 @@ ToolbarWindowProc (HWND hwnd, UINT uMsg,
|
||||||
return TOOLBAR_SysColorChange ();
|
return TOOLBAR_SysColorChange ();
|
||||||
|
|
||||||
case WM_THEMECHANGED:
|
case WM_THEMECHANGED:
|
||||||
|
@ -1288,9 +1301,9 @@ diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar
|
||||||
/* case WM_WININICHANGE: */
|
/* case WM_WININICHANGE: */
|
||||||
|
|
||||||
diff -pudN e:\wine\dlls\comctl32/tooltips.c e:\reactos\dll\win32\comctl32/tooltips.c
|
diff -pudN e:\wine\dlls\comctl32/tooltips.c e:\reactos\dll\win32\comctl32/tooltips.c
|
||||||
--- e:\wine\dlls\comctl32/tooltips.c 2016-05-31 18:00:02 +0100
|
--- e:\wine\dlls\comctl32/tooltips.c 2016-08-14 19:11:25 +0100
|
||||||
+++ e:\reactos\dll\win32\comctl32/tooltips.c 2016-06-05 19:39:01 +0100
|
+++ e:\reactos\dll\win32\comctl32/tooltips.c 2016-08-18 12:03:14 +0100
|
||||||
@@ -2013,7 +2013,36 @@ TOOLTIPS_NCHitTest (const TOOLTIPS_INFO
|
@@ -2009,7 +2009,36 @@ TOOLTIPS_NCHitTest (const TOOLTIPS_INFO
|
||||||
static LRESULT
|
static LRESULT
|
||||||
TOOLTIPS_NotifyFormat (TOOLTIPS_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
TOOLTIPS_NotifyFormat (TOOLTIPS_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
|
@ -1328,8 +1341,8 @@ diff -pudN e:\wine\dlls\comctl32/tooltips.c e:\reactos\dll\win32\comctl32/toolti
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
diff -pudN e:\wine\dlls\comctl32/treeview.c e:\reactos\dll\win32\comctl32/treeview.c
|
diff -pudN e:\wine\dlls\comctl32/treeview.c e:\reactos\dll\win32\comctl32/treeview.c
|
||||||
--- e:\wine\dlls\comctl32/treeview.c 2016-05-31 18:00:02 +0100
|
--- e:\wine\dlls\comctl32/treeview.c 2016-08-14 19:11:25 +0100
|
||||||
+++ e:\reactos\dll\win32\comctl32/treeview.c 2016-03-01 20:00:54 +0100
|
+++ e:\reactos\dll\win32\comctl32/treeview.c 2016-08-18 12:03:14 +0100
|
||||||
@@ -2888,7 +2888,14 @@ TREEVIEW_Refresh(TREEVIEW_INFO *infoPtr,
|
@@ -2888,7 +2888,14 @@ TREEVIEW_Refresh(TREEVIEW_INFO *infoPtr,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -255,7 +255,7 @@ VOID WINAPI DrawInsert (HWND hwndParent, HWND hwndLB, INT nItem)
|
||||||
RedrawWindow(hwndParent, &data->last_drag_icon_rect, NULL,
|
RedrawWindow(hwndParent, &data->last_drag_icon_rect, NULL,
|
||||||
RDW_INTERNALPAINT | RDW_ERASE | RDW_INVALIDATE | RDW_UPDATENOW);
|
RDW_INTERNALPAINT | RDW_ERASE | RDW_INVALIDATE | RDW_UPDATENOW);
|
||||||
|
|
||||||
CopyRect(&data->last_drag_icon_rect, &rcDragIcon);
|
data->last_drag_icon_rect = rcDragIcon;
|
||||||
|
|
||||||
if (nItem >= 0)
|
if (nItem >= 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -259,6 +259,9 @@ INT WINAPI DSA_InsertItem (HDSA hdsa, INT nIndex, LPVOID pSrc)
|
||||||
nNewItems = hdsa->nMaxCount + hdsa->nGrow;
|
nNewItems = hdsa->nMaxCount + hdsa->nGrow;
|
||||||
nSize = hdsa->nItemSize * nNewItems;
|
nSize = hdsa->nItemSize * nNewItems;
|
||||||
|
|
||||||
|
if (nSize / hdsa->nItemSize != nNewItems)
|
||||||
|
return -1;
|
||||||
|
|
||||||
lpTemp = ReAlloc (hdsa->pData, nSize);
|
lpTemp = ReAlloc (hdsa->pData, nSize);
|
||||||
if (!lpTemp)
|
if (!lpTemp)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -2254,7 +2254,7 @@ ImageList_Merge (HIMAGELIST himl1, INT i1, HIMAGELIST himl2, INT i2,
|
||||||
|
|
||||||
|
|
||||||
/* helper for ImageList_Read, see comments below */
|
/* helper for ImageList_Read, see comments below */
|
||||||
static void *read_bitmap(LPSTREAM pstm, BITMAPINFO *bmi)
|
static void *read_bitmap(IStream *pstm, BITMAPINFO *bmi)
|
||||||
{
|
{
|
||||||
BITMAPFILEHEADER bmfh;
|
BITMAPFILEHEADER bmfh;
|
||||||
int bitsperpixel, palspace;
|
int bitsperpixel, palspace;
|
||||||
|
@ -2330,7 +2330,7 @@ static void *read_bitmap(LPSTREAM pstm, BITMAPINFO *bmi)
|
||||||
*
|
*
|
||||||
* BYTE maskbits[imagesize];
|
* BYTE maskbits[imagesize];
|
||||||
*/
|
*/
|
||||||
HIMAGELIST WINAPI ImageList_Read (LPSTREAM pstm)
|
HIMAGELIST WINAPI ImageList_Read(IStream *pstm)
|
||||||
{
|
{
|
||||||
char image_buf[sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 256];
|
char image_buf[sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 256];
|
||||||
char mask_buf[sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 256];
|
char mask_buf[sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD) * 256];
|
||||||
|
@ -3064,8 +3064,7 @@ ImageList_SetOverlayImage (HIMAGELIST himl, INT iImage, INT iOverlay)
|
||||||
/* helper for ImageList_Write - write bitmap to pstm
|
/* helper for ImageList_Write - write bitmap to pstm
|
||||||
* currently everything is written as 24 bit RGB, except masks
|
* currently everything is written as 24 bit RGB, except masks
|
||||||
*/
|
*/
|
||||||
static BOOL
|
static BOOL _write_bitmap(HBITMAP hBitmap, IStream *pstm)
|
||||||
_write_bitmap(HBITMAP hBitmap, LPSTREAM pstm)
|
|
||||||
{
|
{
|
||||||
LPBITMAPFILEHEADER bmfh;
|
LPBITMAPFILEHEADER bmfh;
|
||||||
LPBITMAPINFOHEADER bmih;
|
LPBITMAPINFOHEADER bmih;
|
||||||
|
@ -3151,8 +3150,7 @@ failed:
|
||||||
* probably.
|
* probably.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
BOOL WINAPI
|
BOOL WINAPI ImageList_Write(HIMAGELIST himl, IStream *pstm)
|
||||||
ImageList_Write (HIMAGELIST himl, LPSTREAM pstm)
|
|
||||||
{
|
{
|
||||||
ILHEAD ilHead;
|
ILHEAD ilHead;
|
||||||
int i;
|
int i;
|
||||||
|
@ -3558,7 +3556,9 @@ static HRESULT WINAPI ImageListImpl_GetImageRect(IImageList2 *iface, int i,
|
||||||
if (!ImageList_GetImageInfo(imgl, i, &info))
|
if (!ImageList_GetImageInfo(imgl, i, &info))
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
|
||||||
return CopyRect(prc, &info.rcImage) ? S_OK : E_FAIL;
|
*prc = info.rcImage;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ImageListImpl_GetIconSize(IImageList2 *iface, int *cx,
|
static HRESULT WINAPI ImageListImpl_GetIconSize(IImageList2 *iface, int *cx,
|
||||||
|
|
|
@ -572,23 +572,28 @@ static const char* debugscrollinfo(const SCROLLINFO *pScrollInfo)
|
||||||
|
|
||||||
if (pScrollInfo == NULL) return "(null)";
|
if (pScrollInfo == NULL) return "(null)";
|
||||||
len = snprintf(buf, size, "{cbSize=%u, ", pScrollInfo->cbSize);
|
len = snprintf(buf, size, "{cbSize=%u, ", pScrollInfo->cbSize);
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (pScrollInfo->fMask & SIF_RANGE)
|
if (pScrollInfo->fMask & SIF_RANGE)
|
||||||
len = snprintf(buf, size, "nMin=%d, nMax=%d, ", pScrollInfo->nMin, pScrollInfo->nMax);
|
len = snprintf(buf, size, "nMin=%d, nMax=%d, ", pScrollInfo->nMin, pScrollInfo->nMax);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (pScrollInfo->fMask & SIF_PAGE)
|
if (pScrollInfo->fMask & SIF_PAGE)
|
||||||
len = snprintf(buf, size, "nPage=%u, ", pScrollInfo->nPage);
|
len = snprintf(buf, size, "nPage=%u, ", pScrollInfo->nPage);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (pScrollInfo->fMask & SIF_POS)
|
if (pScrollInfo->fMask & SIF_POS)
|
||||||
len = snprintf(buf, size, "nPos=%d, ", pScrollInfo->nPos);
|
len = snprintf(buf, size, "nPos=%d, ", pScrollInfo->nPos);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (pScrollInfo->fMask & SIF_TRACKPOS)
|
if (pScrollInfo->fMask & SIF_TRACKPOS)
|
||||||
len = snprintf(buf, size, "nTrackPos=%d, ", pScrollInfo->nTrackPos);
|
len = snprintf(buf, size, "nTrackPos=%d, ", pScrollInfo->nTrackPos);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len;
|
if (len == -1) goto end;
|
||||||
|
buf += len;
|
||||||
goto undo;
|
goto undo;
|
||||||
end:
|
end:
|
||||||
buf = text + strlen(text);
|
buf = text + strlen(text);
|
||||||
|
@ -613,27 +618,33 @@ static const char* debuglvitem_t(const LVITEMW *lpLVItem, BOOL isW)
|
||||||
|
|
||||||
if (lpLVItem == NULL) return "(null)";
|
if (lpLVItem == NULL) return "(null)";
|
||||||
len = snprintf(buf, size, "{iItem=%d, iSubItem=%d, ", lpLVItem->iItem, lpLVItem->iSubItem);
|
len = snprintf(buf, size, "{iItem=%d, iSubItem=%d, ", lpLVItem->iItem, lpLVItem->iSubItem);
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpLVItem->mask & LVIF_STATE)
|
if (lpLVItem->mask & LVIF_STATE)
|
||||||
len = snprintf(buf, size, "state=%x, stateMask=%x, ", lpLVItem->state, lpLVItem->stateMask);
|
len = snprintf(buf, size, "state=%x, stateMask=%x, ", lpLVItem->state, lpLVItem->stateMask);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpLVItem->mask & LVIF_TEXT)
|
if (lpLVItem->mask & LVIF_TEXT)
|
||||||
len = snprintf(buf, size, "pszText=%s, cchTextMax=%d, ", debugtext_tn(lpLVItem->pszText, isW, 80), lpLVItem->cchTextMax);
|
len = snprintf(buf, size, "pszText=%s, cchTextMax=%d, ", debugtext_tn(lpLVItem->pszText, isW, 80), lpLVItem->cchTextMax);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpLVItem->mask & LVIF_IMAGE)
|
if (lpLVItem->mask & LVIF_IMAGE)
|
||||||
len = snprintf(buf, size, "iImage=%d, ", lpLVItem->iImage);
|
len = snprintf(buf, size, "iImage=%d, ", lpLVItem->iImage);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpLVItem->mask & LVIF_PARAM)
|
if (lpLVItem->mask & LVIF_PARAM)
|
||||||
len = snprintf(buf, size, "lParam=%lx, ", lpLVItem->lParam);
|
len = snprintf(buf, size, "lParam=%lx, ", lpLVItem->lParam);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpLVItem->mask & LVIF_INDENT)
|
if (lpLVItem->mask & LVIF_INDENT)
|
||||||
len = snprintf(buf, size, "iIndent=%d, ", lpLVItem->iIndent);
|
len = snprintf(buf, size, "iIndent=%d, ", lpLVItem->iIndent);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len;
|
if (len == -1) goto end;
|
||||||
|
buf += len;
|
||||||
goto undo;
|
goto undo;
|
||||||
end:
|
end:
|
||||||
buf = text + strlen(text);
|
buf = text + strlen(text);
|
||||||
|
@ -649,31 +660,38 @@ static const char* debuglvcolumn_t(const LVCOLUMNW *lpColumn, BOOL isW)
|
||||||
|
|
||||||
if (lpColumn == NULL) return "(null)";
|
if (lpColumn == NULL) return "(null)";
|
||||||
len = snprintf(buf, size, "{");
|
len = snprintf(buf, size, "{");
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpColumn->mask & LVCF_SUBITEM)
|
if (lpColumn->mask & LVCF_SUBITEM)
|
||||||
len = snprintf(buf, size, "iSubItem=%d, ", lpColumn->iSubItem);
|
len = snprintf(buf, size, "iSubItem=%d, ", lpColumn->iSubItem);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpColumn->mask & LVCF_FMT)
|
if (lpColumn->mask & LVCF_FMT)
|
||||||
len = snprintf(buf, size, "fmt=%x, ", lpColumn->fmt);
|
len = snprintf(buf, size, "fmt=%x, ", lpColumn->fmt);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpColumn->mask & LVCF_WIDTH)
|
if (lpColumn->mask & LVCF_WIDTH)
|
||||||
len = snprintf(buf, size, "cx=%d, ", lpColumn->cx);
|
len = snprintf(buf, size, "cx=%d, ", lpColumn->cx);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpColumn->mask & LVCF_TEXT)
|
if (lpColumn->mask & LVCF_TEXT)
|
||||||
len = snprintf(buf, size, "pszText=%s, cchTextMax=%d, ", debugtext_tn(lpColumn->pszText, isW, 80), lpColumn->cchTextMax);
|
len = snprintf(buf, size, "pszText=%s, cchTextMax=%d, ", debugtext_tn(lpColumn->pszText, isW, 80), lpColumn->cchTextMax);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpColumn->mask & LVCF_IMAGE)
|
if (lpColumn->mask & LVCF_IMAGE)
|
||||||
len = snprintf(buf, size, "iImage=%d, ", lpColumn->iImage);
|
len = snprintf(buf, size, "iImage=%d, ", lpColumn->iImage);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len; size -= len;
|
if (len == -1) goto end;
|
||||||
|
buf += len; size -= len;
|
||||||
if (lpColumn->mask & LVCF_ORDER)
|
if (lpColumn->mask & LVCF_ORDER)
|
||||||
len = snprintf(buf, size, "iOrder=%d, ", lpColumn->iOrder);
|
len = snprintf(buf, size, "iOrder=%d, ", lpColumn->iOrder);
|
||||||
else len = 0;
|
else len = 0;
|
||||||
if (len == -1) goto end; buf += len;
|
if (len == -1) goto end;
|
||||||
|
buf += len;
|
||||||
goto undo;
|
goto undo;
|
||||||
end:
|
end:
|
||||||
buf = text + strlen(text);
|
buf = text + strlen(text);
|
||||||
|
@ -3856,9 +3874,8 @@ static void LISTVIEW_MarqueeHighlight(LISTVIEW_INFO *infoPtr, const POINT *coord
|
||||||
|
|
||||||
iterator_frameditems_absolute(&old_elems, infoPtr, &infoPtr->marqueeRect);
|
iterator_frameditems_absolute(&old_elems, infoPtr, &infoPtr->marqueeRect);
|
||||||
|
|
||||||
CopyRect(&infoPtr->marqueeRect, &rect);
|
infoPtr->marqueeRect = rect;
|
||||||
|
infoPtr->marqueeDrawRect = rect;
|
||||||
CopyRect(&infoPtr->marqueeDrawRect, &rect);
|
|
||||||
OffsetRect(&infoPtr->marqueeDrawRect, offset->x, offset->y);
|
OffsetRect(&infoPtr->marqueeDrawRect, offset->x, offset->y);
|
||||||
|
|
||||||
iterator_frameditems_absolute(&new_elems, infoPtr, &infoPtr->marqueeRect);
|
iterator_frameditems_absolute(&new_elems, infoPtr, &infoPtr->marqueeRect);
|
||||||
|
@ -5629,8 +5646,8 @@ static BOOL LISTVIEW_DeleteColumn(LISTVIEW_INFO *infoPtr, INT nColumn)
|
||||||
|
|
||||||
TRACE("nColumn=%d\n", nColumn);
|
TRACE("nColumn=%d\n", nColumn);
|
||||||
|
|
||||||
if (nColumn < 0 || DPA_GetPtrCount(infoPtr->hdpaColumns) == 0
|
if (nColumn < 0 || nColumn >= DPA_GetPtrCount(infoPtr->hdpaColumns))
|
||||||
|| nColumn >= DPA_GetPtrCount(infoPtr->hdpaColumns)) return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* While the MSDN specifically says that column zero should not be deleted,
|
/* While the MSDN specifically says that column zero should not be deleted,
|
||||||
what actually happens is that the column itself is deleted but no items or subitems
|
what actually happens is that the column itself is deleted but no items or subitems
|
||||||
|
@ -5871,13 +5888,15 @@ static BOOL LISTVIEW_EndEditLabelT(LISTVIEW_INFO *infoPtr, BOOL storeText, BOOL
|
||||||
{
|
{
|
||||||
DWORD len = isW ? GetWindowTextLengthW(infoPtr->hwndEdit) : GetWindowTextLengthA(infoPtr->hwndEdit);
|
DWORD len = isW ? GetWindowTextLengthW(infoPtr->hwndEdit) : GetWindowTextLengthA(infoPtr->hwndEdit);
|
||||||
|
|
||||||
if (len)
|
if (len++)
|
||||||
{
|
{
|
||||||
if ((pszText = Alloc((len+1) * (isW ? sizeof(WCHAR) : sizeof(CHAR)))))
|
if (!(pszText = Alloc(len * (isW ? sizeof(WCHAR) : sizeof(CHAR)))))
|
||||||
{
|
return FALSE;
|
||||||
if (isW) GetWindowTextW(infoPtr->hwndEdit, pszText, len+1);
|
|
||||||
else GetWindowTextA(infoPtr->hwndEdit, (CHAR*)pszText, len+1);
|
if (isW)
|
||||||
}
|
GetWindowTextW(infoPtr->hwndEdit, pszText, len);
|
||||||
|
else
|
||||||
|
GetWindowTextA(infoPtr->hwndEdit, (CHAR*)pszText, len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9064,7 +9083,8 @@ static INT LISTVIEW_SetSelectionMark(LISTVIEW_INFO *infoPtr, INT nIndex)
|
||||||
|
|
||||||
TRACE("(nIndex=%d)\n", nIndex);
|
TRACE("(nIndex=%d)\n", nIndex);
|
||||||
|
|
||||||
infoPtr->nSelectionMark = nIndex;
|
if (nIndex >= -1 && nIndex < infoPtr->nItemCount)
|
||||||
|
infoPtr->nSelectionMark = nIndex;
|
||||||
|
|
||||||
return nOldIndex;
|
return nOldIndex;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,9 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(monthcal);
|
WINE_DEFAULT_DEBUG_CHANNEL(monthcal);
|
||||||
|
|
||||||
|
/* FIXME: Inspect */
|
||||||
|
#define MCS_NOSELCHANGEONNAV 0x0100
|
||||||
|
|
||||||
#define MC_SEL_LBUTUP 1 /* Left button released */
|
#define MC_SEL_LBUTUP 1 /* Left button released */
|
||||||
#define MC_SEL_LBUTDOWN 2 /* Left button pressed in calendar */
|
#define MC_SEL_LBUTDOWN 2 /* Left button pressed in calendar */
|
||||||
#define MC_PREVPRESSED 4 /* Prev month button pressed */
|
#define MC_PREVPRESSED 4 /* Prev month button pressed */
|
||||||
|
@ -1953,7 +1956,7 @@ static void MONTHCAL_NotifyDayState(MONTHCAL_INFO *infoPtr)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* no valid range check performed */
|
/* no valid range check performed */
|
||||||
static void MONTHCAL_Scroll(MONTHCAL_INFO *infoPtr, INT delta)
|
static void MONTHCAL_Scroll(MONTHCAL_INFO *infoPtr, INT delta, BOOL keep_selection)
|
||||||
{
|
{
|
||||||
INT i, selIdx = -1;
|
INT i, selIdx = -1;
|
||||||
|
|
||||||
|
@ -1966,8 +1969,11 @@ static void MONTHCAL_Scroll(MONTHCAL_INFO *infoPtr, INT delta)
|
||||||
MONTHCAL_GetMonth(&infoPtr->calendars[i].month, delta);
|
MONTHCAL_GetMonth(&infoPtr->calendars[i].month, delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (keep_selection)
|
||||||
|
return;
|
||||||
|
|
||||||
/* selection is always shifted to first calendar */
|
/* selection is always shifted to first calendar */
|
||||||
if(infoPtr->dwStyle & MCS_MULTISELECT)
|
if (infoPtr->dwStyle & MCS_MULTISELECT)
|
||||||
{
|
{
|
||||||
SYSTEMTIME range[2];
|
SYSTEMTIME range[2];
|
||||||
|
|
||||||
|
@ -1988,6 +1994,7 @@ static void MONTHCAL_Scroll(MONTHCAL_INFO *infoPtr, INT delta)
|
||||||
static void MONTHCAL_GoToMonth(MONTHCAL_INFO *infoPtr, enum nav_direction direction)
|
static void MONTHCAL_GoToMonth(MONTHCAL_INFO *infoPtr, enum nav_direction direction)
|
||||||
{
|
{
|
||||||
INT delta = infoPtr->delta ? infoPtr->delta : MONTHCAL_GetCalCount(infoPtr);
|
INT delta = infoPtr->delta ? infoPtr->delta : MONTHCAL_GetCalCount(infoPtr);
|
||||||
|
BOOL keep_selection;
|
||||||
SYSTEMTIME st;
|
SYSTEMTIME st;
|
||||||
|
|
||||||
TRACE("%s\n", direction == DIRECTION_BACKWARD ? "back" : "fwd");
|
TRACE("%s\n", direction == DIRECTION_BACKWARD ? "back" : "fwd");
|
||||||
|
@ -2006,9 +2013,11 @@ static void MONTHCAL_GoToMonth(MONTHCAL_INFO *infoPtr, enum nav_direction direct
|
||||||
|
|
||||||
if(!MONTHCAL_IsDateInValidRange(infoPtr, &st, FALSE)) return;
|
if(!MONTHCAL_IsDateInValidRange(infoPtr, &st, FALSE)) return;
|
||||||
|
|
||||||
MONTHCAL_Scroll(infoPtr, direction == DIRECTION_BACKWARD ? -delta : delta);
|
keep_selection = infoPtr->dwStyle & MCS_NOSELCHANGEONNAV;
|
||||||
|
MONTHCAL_Scroll(infoPtr, direction == DIRECTION_BACKWARD ? -delta : delta, keep_selection);
|
||||||
MONTHCAL_NotifyDayState(infoPtr);
|
MONTHCAL_NotifyDayState(infoPtr);
|
||||||
MONTHCAL_NotifySelectionChange(infoPtr);
|
if (!keep_selection)
|
||||||
|
MONTHCAL_NotifySelectionChange(infoPtr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static LRESULT
|
static LRESULT
|
||||||
|
@ -2196,7 +2205,7 @@ MONTHCAL_LButtonDown(MONTHCAL_INFO *infoPtr, LPARAM lParam)
|
||||||
|
|
||||||
if (MONTHCAL_IsDateInValidRange(infoPtr, &st, FALSE))
|
if (MONTHCAL_IsDateInValidRange(infoPtr, &st, FALSE))
|
||||||
{
|
{
|
||||||
MONTHCAL_Scroll(infoPtr, delta);
|
MONTHCAL_Scroll(infoPtr, delta, FALSE);
|
||||||
MONTHCAL_NotifyDayState(infoPtr);
|
MONTHCAL_NotifyDayState(infoPtr);
|
||||||
MONTHCAL_NotifySelectionChange(infoPtr);
|
MONTHCAL_NotifySelectionChange(infoPtr);
|
||||||
InvalidateRect(infoPtr->hwndSelf, NULL, FALSE);
|
InvalidateRect(infoPtr->hwndSelf, NULL, FALSE);
|
||||||
|
@ -2835,7 +2844,7 @@ MONTHCAL_Notify(MONTHCAL_INFO *infoPtr, NMHDR *hdr)
|
||||||
if (hdr->hwndFrom == infoPtr->hWndYearUpDown && nmud->iDelta)
|
if (hdr->hwndFrom == infoPtr->hWndYearUpDown && nmud->iDelta)
|
||||||
{
|
{
|
||||||
/* year value limits are set up explicitly after updown creation */
|
/* year value limits are set up explicitly after updown creation */
|
||||||
MONTHCAL_Scroll(infoPtr, 12 * nmud->iDelta);
|
MONTHCAL_Scroll(infoPtr, 12 * nmud->iDelta, FALSE);
|
||||||
MONTHCAL_NotifyDayState(infoPtr);
|
MONTHCAL_NotifyDayState(infoPtr);
|
||||||
MONTHCAL_NotifySelectionChange(infoPtr);
|
MONTHCAL_NotifySelectionChange(infoPtr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -344,7 +344,7 @@ static LRESULT PROGRESS_Draw (PROGRESS_INFO *infoPtr, HDC hdc)
|
||||||
DrawThemeParentBackground (infoPtr->Self, hdc, NULL);
|
DrawThemeParentBackground (infoPtr->Self, hdc, NULL);
|
||||||
DrawThemeBackground (pdi.theme, hdc, part, 0, &pdi.rect, NULL);
|
DrawThemeBackground (pdi.theme, hdc, part, 0, &pdi.rect, NULL);
|
||||||
SelectClipRgn (hdc, NULL);
|
SelectClipRgn (hdc, NULL);
|
||||||
CopyRect (&pdi.rect, &cntRect);
|
pdi.rect = cntRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* compute some drawing parameters */
|
/* compute some drawing parameters */
|
||||||
|
|
|
@ -3268,7 +3268,7 @@ static LRESULT PROPSHEET_Paint(HWND hwnd, HDC hdcParam)
|
||||||
if (bm.bmWidth < r.right || bm.bmHeight < r.bottom)
|
if (bm.bmWidth < r.right || bm.bmHeight < r.bottom)
|
||||||
{
|
{
|
||||||
hbr = CreateSolidBrush(GetPixel(hdcSrc, 0, 0));
|
hbr = CreateSolidBrush(GetPixel(hdcSrc, 0, 0));
|
||||||
CopyRect(&r, &rzone);
|
r = rzone;
|
||||||
if (bm.bmWidth < r.right)
|
if (bm.bmWidth < r.right)
|
||||||
{
|
{
|
||||||
r.left = bm.bmWidth;
|
r.left = bm.bmWidth;
|
||||||
|
|
|
@ -714,8 +714,7 @@ REBAR_CalcHorzBand (const REBAR_INFO *infoPtr, UINT rstart, UINT rend)
|
||||||
lpBand->fDraw |= DRAW_GRIPPER;
|
lpBand->fDraw |= DRAW_GRIPPER;
|
||||||
lpBand->rcGripper.left += REBAR_PRE_GRIPPER;
|
lpBand->rcGripper.left += REBAR_PRE_GRIPPER;
|
||||||
lpBand->rcGripper.right = lpBand->rcGripper.left + GRIPPER_WIDTH;
|
lpBand->rcGripper.right = lpBand->rcGripper.left + GRIPPER_WIDTH;
|
||||||
lpBand->rcGripper.top += 2;
|
InflateRect(&lpBand->rcGripper, 0, -2);
|
||||||
lpBand->rcGripper.bottom -= 2;
|
|
||||||
|
|
||||||
SetRect (&lpBand->rcCapImage,
|
SetRect (&lpBand->rcCapImage,
|
||||||
lpBand->rcGripper.right+REBAR_ALWAYS_SPACE, lpBand->rcBand.top,
|
lpBand->rcGripper.right+REBAR_ALWAYS_SPACE, lpBand->rcBand.top,
|
||||||
|
@ -843,8 +842,7 @@ REBAR_CalcVertBand (const REBAR_INFO *infoPtr, UINT rstart, UINT rend)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* horizontal gripper */
|
/* horizontal gripper */
|
||||||
lpBand->rcGripper.left += 2;
|
InflateRect(&lpBand->rcGripper, -2, 0);
|
||||||
lpBand->rcGripper.right -= 2;
|
|
||||||
lpBand->rcGripper.top += REBAR_PRE_GRIPPER;
|
lpBand->rcGripper.top += REBAR_PRE_GRIPPER;
|
||||||
lpBand->rcGripper.bottom = lpBand->rcGripper.top + GRIPPER_WIDTH;
|
lpBand->rcGripper.bottom = lpBand->rcGripper.top + GRIPPER_WIDTH;
|
||||||
|
|
||||||
|
@ -1557,7 +1555,7 @@ REBAR_AutoSize(REBAR_INFO *infoPtr, BOOL needsLayout)
|
||||||
GetClientRect(infoPtr->hwndSelf, &rcNew);
|
GetClientRect(infoPtr->hwndSelf, &rcNew);
|
||||||
|
|
||||||
GetClientRect(infoPtr->hwndSelf, &autosize.rcTarget);
|
GetClientRect(infoPtr->hwndSelf, &autosize.rcTarget);
|
||||||
autosize.fChanged = (memcmp(&rc, &rcNew, sizeof(RECT)) == 0);
|
autosize.fChanged = EqualRect(&rc, &rcNew);
|
||||||
autosize.rcTarget = rc;
|
autosize.rcTarget = rc;
|
||||||
autosize.rcActual = rcNew;
|
autosize.rcActual = rcNew;
|
||||||
REBAR_Notify((NMHDR *)&autosize, infoPtr, RBN_AUTOSIZE);
|
REBAR_Notify((NMHDR *)&autosize, infoPtr, RBN_AUTOSIZE);
|
||||||
|
@ -2434,7 +2432,7 @@ REBAR_GetRect (const REBAR_INFO *infoPtr, INT iBand, RECT *lprc)
|
||||||
|
|
||||||
lpBand = REBAR_GetBand(infoPtr, iBand);
|
lpBand = REBAR_GetBand(infoPtr, iBand);
|
||||||
/* For CCS_VERT the coordinates will be swapped - like on Windows */
|
/* For CCS_VERT the coordinates will be swapped - like on Windows */
|
||||||
CopyRect (lprc, &lpBand->rcBand);
|
*lprc = lpBand->rcBand;
|
||||||
|
|
||||||
TRACE("band %d, (%s)\n", iBand, wine_dbgstr_rect(lprc));
|
TRACE("band %d, (%s)\n", iBand, wine_dbgstr_rect(lprc));
|
||||||
|
|
||||||
|
|
|
@ -114,8 +114,8 @@ STATUSBAR_ComputeHeight(STATUS_INFO *infoPtr)
|
||||||
* textHeight pixels large */
|
* textHeight pixels large */
|
||||||
HDC hdc = GetDC(infoPtr->Self);
|
HDC hdc = GetDC(infoPtr->Self);
|
||||||
RECT r;
|
RECT r;
|
||||||
memset (&r, 0, sizeof (r));
|
|
||||||
r.bottom = max(infoPtr->minHeight, tm.tmHeight);
|
SetRect(&r, 0, 0, 0, max(infoPtr->minHeight, tm.tmHeight));
|
||||||
if (SUCCEEDED(GetThemeBackgroundExtent(theme, hdc, SP_PANE, 0, &r, &r)))
|
if (SUCCEEDED(GetThemeBackgroundExtent(theme, hdc, SP_PANE, 0, &r, &r)))
|
||||||
{
|
{
|
||||||
height = r.bottom - r.top;
|
height = r.bottom - r.top;
|
||||||
|
|
|
@ -357,14 +357,8 @@ static BOOL TAB_InternalGetItemRect(
|
||||||
(itemIndex < infoPtr->leftmostVisible)))
|
(itemIndex < infoPtr->leftmostVisible)))
|
||||||
{
|
{
|
||||||
TRACE("Not Visible\n");
|
TRACE("Not Visible\n");
|
||||||
/* need to initialize these to empty rects */
|
SetRect(itemRect, 0, 0, 0, infoPtr->tabHeight);
|
||||||
if (itemRect)
|
SetRectEmpty(selectedRect);
|
||||||
{
|
|
||||||
memset(itemRect,0,sizeof(RECT));
|
|
||||||
itemRect->bottom = infoPtr->tabHeight;
|
|
||||||
}
|
|
||||||
if (selectedRect)
|
|
||||||
memset(selectedRect,0,sizeof(RECT));
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -444,7 +438,7 @@ static BOOL TAB_InternalGetItemRect(
|
||||||
/* Now, calculate the position of the item as if it were selected. */
|
/* Now, calculate the position of the item as if it were selected. */
|
||||||
if (selectedRect!=NULL)
|
if (selectedRect!=NULL)
|
||||||
{
|
{
|
||||||
CopyRect(selectedRect, itemRect);
|
*selectedRect = *itemRect;
|
||||||
|
|
||||||
/* The rectangle of a selected item is a bit wider. */
|
/* The rectangle of a selected item is a bit wider. */
|
||||||
if(infoPtr->dwStyle & TCS_VERTICAL)
|
if(infoPtr->dwStyle & TCS_VERTICAL)
|
||||||
|
@ -1595,12 +1589,7 @@ TAB_DrawItemInterior(const TAB_INFO *infoPtr, HDC hdc, INT iItem, RECT *drawRect
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
InflateRect(drawRect, -2, -2);
|
||||||
drawRect->left += 2;
|
|
||||||
drawRect->top += 2;
|
|
||||||
drawRect->right -= 2;
|
|
||||||
drawRect->bottom -= 2;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1609,8 +1598,7 @@ TAB_DrawItemInterior(const TAB_INFO *infoPtr, HDC hdc, INT iItem, RECT *drawRect
|
||||||
if (iItem != infoPtr->iSelected)
|
if (iItem != infoPtr->iSelected)
|
||||||
{
|
{
|
||||||
drawRect->left += 2;
|
drawRect->left += 2;
|
||||||
drawRect->top += 2;
|
InflateRect(drawRect, 0, -2);
|
||||||
drawRect->bottom -= 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (infoPtr->dwStyle & TCS_VERTICAL)
|
else if (infoPtr->dwStyle & TCS_VERTICAL)
|
||||||
|
@ -1621,9 +1609,8 @@ TAB_DrawItemInterior(const TAB_INFO *infoPtr, HDC hdc, INT iItem, RECT *drawRect
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
drawRect->top += 2;
|
|
||||||
drawRect->right -= 2;
|
drawRect->right -= 2;
|
||||||
drawRect->bottom -= 2;
|
InflateRect(drawRect, 0, -2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (infoPtr->dwStyle & TCS_BOTTOM)
|
else if (infoPtr->dwStyle & TCS_BOTTOM)
|
||||||
|
@ -1706,10 +1693,7 @@ TAB_DrawItemInterior(const TAB_INFO *infoPtr, HDC hdc, INT iItem, RECT *drawRect
|
||||||
drawRect->top += 2;
|
drawRect->top += 2;
|
||||||
drawRect->right -= 1;
|
drawRect->right -= 1;
|
||||||
if ( iItem == infoPtr->iSelected )
|
if ( iItem == infoPtr->iSelected )
|
||||||
{
|
InflateRect(drawRect, -1, 0);
|
||||||
drawRect->right -= 1;
|
|
||||||
drawRect->left += 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
id = (UINT)GetWindowLongPtrW( infoPtr->hwnd, GWLP_ID );
|
id = (UINT)GetWindowLongPtrW( infoPtr->hwnd, GWLP_ID );
|
||||||
|
|
||||||
|
@ -1725,7 +1709,7 @@ TAB_DrawItemInterior(const TAB_INFO *infoPtr, HDC hdc, INT iItem, RECT *drawRect
|
||||||
dis.itemState |= ODS_FOCUS;
|
dis.itemState |= ODS_FOCUS;
|
||||||
dis.hwndItem = infoPtr->hwnd;
|
dis.hwndItem = infoPtr->hwnd;
|
||||||
dis.hDC = hdc;
|
dis.hDC = hdc;
|
||||||
CopyRect(&dis.rcItem,drawRect);
|
dis.rcItem = *drawRect;
|
||||||
|
|
||||||
/* when extra data fits ULONG_PTR, store it directly */
|
/* when extra data fits ULONG_PTR, store it directly */
|
||||||
if (infoPtr->cbInfo > sizeof(LPARAM))
|
if (infoPtr->cbInfo > sizeof(LPARAM))
|
||||||
|
|
|
@ -265,8 +265,7 @@ static void GB_draw(HTHEME theme, HWND hwnd, HDC hDC, ButtonState drawState, UIN
|
||||||
|
|
||||||
if (text)
|
if (text)
|
||||||
{
|
{
|
||||||
textRect.left += 2;
|
InflateRect(&textRect, -2, 0);
|
||||||
textRect.right -= 2;
|
|
||||||
DrawThemeText(theme, hDC, BP_GROUPBOX, state, text, lstrlenW(text), 0, 0, &textRect);
|
DrawThemeText(theme, hDC, BP_GROUPBOX, state, text, lstrlenW(text), 0, 0, &textRect);
|
||||||
HeapFree(GetProcessHeap(), 0, text);
|
HeapFree(GetProcessHeap(), 0, text);
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,7 @@ static void paint_text (HWND hwnd, HDC hdc, DWORD dwStyle, const COMBOBOXINFO *c
|
||||||
/*
|
/*
|
||||||
* Give ourselves some space.
|
* Give ourselves some space.
|
||||||
*/
|
*/
|
||||||
CopyRect (&rectEdit, &cbi->rcItem);
|
rectEdit = cbi->rcItem;
|
||||||
InflateRect( &rectEdit, -1, -1 );
|
InflateRect( &rectEdit, -1, -1 );
|
||||||
|
|
||||||
if(dwStyle & (CBS_OWNERDRAWFIXED | CBS_OWNERDRAWVARIABLE))
|
if(dwStyle & (CBS_OWNERDRAWFIXED | CBS_OWNERDRAWVARIABLE))
|
||||||
|
@ -176,8 +176,7 @@ static LRESULT paint (HTHEME theme, HWND hwnd, HDC hParamDC, ULONG state)
|
||||||
GetClientRect (hwnd, &frameRect);
|
GetClientRect (hwnd, &frameRect);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CopyRect (&frameRect, &cbi.rcItem);
|
frameRect = cbi.rcItem;
|
||||||
|
|
||||||
InflateRect(&frameRect,
|
InflateRect(&frameRect,
|
||||||
EDIT_CONTROL_PADDING + COMBO_XBORDERSIZE,
|
EDIT_CONTROL_PADDING + COMBO_XBORDERSIZE,
|
||||||
EDIT_CONTROL_PADDING + COMBO_YBORDERSIZE);
|
EDIT_CONTROL_PADDING + COMBO_YBORDERSIZE);
|
||||||
|
|
|
@ -925,7 +925,7 @@ TOOLBAR_DrawButton (const TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr, HDC hdc,
|
||||||
HTHEME theme = GetWindowTheme (infoPtr->hwndSelf);
|
HTHEME theme = GetWindowTheme (infoPtr->hwndSelf);
|
||||||
|
|
||||||
rc = btnPtr->rect;
|
rc = btnPtr->rect;
|
||||||
CopyRect (&rcArrow, &rc);
|
rcArrow = rc;
|
||||||
|
|
||||||
/* separator - doesn't send NM_CUSTOMDRAW */
|
/* separator - doesn't send NM_CUSTOMDRAW */
|
||||||
if (btnPtr->fsStyle & BTNS_SEP) {
|
if (btnPtr->fsStyle & BTNS_SEP) {
|
||||||
|
@ -979,8 +979,8 @@ TOOLBAR_DrawButton (const TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr, HDC hdc,
|
||||||
/* copy text & bitmap rects after adjusting for drop-down arrow
|
/* copy text & bitmap rects after adjusting for drop-down arrow
|
||||||
* so that text & bitmap is centered in the rectangle not containing
|
* so that text & bitmap is centered in the rectangle not containing
|
||||||
* the arrow */
|
* the arrow */
|
||||||
CopyRect(&rcText, &rc);
|
rcText = rc;
|
||||||
CopyRect(&rcBitmap, &rc);
|
rcBitmap = rc;
|
||||||
|
|
||||||
/* Center the bitmap horizontally and vertically */
|
/* Center the bitmap horizontally and vertically */
|
||||||
if (dwStyle & TBSTYLE_LIST)
|
if (dwStyle & TBSTYLE_LIST)
|
||||||
|
@ -1007,8 +1007,7 @@ TOOLBAR_DrawButton (const TOOLBAR_INFO *infoPtr, TBUTTON_INFO *btnPtr, HDC hdc,
|
||||||
/* calculate text position */
|
/* calculate text position */
|
||||||
if (lpText)
|
if (lpText)
|
||||||
{
|
{
|
||||||
rcText.left += GetSystemMetrics(SM_CXEDGE);
|
InflateRect(&rcText, -GetSystemMetrics(SM_CXEDGE), 0);
|
||||||
rcText.right -= GetSystemMetrics(SM_CXEDGE);
|
|
||||||
if (dwStyle & TBSTYLE_LIST)
|
if (dwStyle & TBSTYLE_LIST)
|
||||||
{
|
{
|
||||||
rcText.left += infoPtr->nBitmapWidth + infoPtr->iListGap + 2;
|
rcText.left += infoPtr->nBitmapWidth + infoPtr->iListGap + 2;
|
||||||
|
@ -2734,9 +2733,9 @@ TOOLBAR_CustomizeDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
lpdis->rcItem.right, lpdis->rcItem.bottom);
|
lpdis->rcItem.right, lpdis->rcItem.bottom);
|
||||||
|
|
||||||
/* calculate button and text rectangles */
|
/* calculate button and text rectangles */
|
||||||
CopyRect (&rcButton, &lpdis->rcItem);
|
rcButton = lpdis->rcItem;
|
||||||
InflateRect (&rcButton, -1, -1);
|
InflateRect (&rcButton, -1, -1);
|
||||||
CopyRect (&rcText, &rcButton);
|
rcText = rcButton;
|
||||||
rcButton.right = rcButton.left + custInfo->tbInfo->nBitmapWidth + 6;
|
rcButton.right = rcButton.left + custInfo->tbInfo->nBitmapWidth + 6;
|
||||||
rcText.left = rcButton.right + 2;
|
rcText.left = rcButton.right + 2;
|
||||||
|
|
||||||
|
@ -5704,7 +5703,7 @@ TOOLBAR_LButtonDown (TOOLBAR_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
RECT arrowRect;
|
RECT arrowRect;
|
||||||
infoPtr->nOldHit = nHit;
|
infoPtr->nOldHit = nHit;
|
||||||
|
|
||||||
CopyRect(&arrowRect, &btnPtr->rect);
|
arrowRect = btnPtr->rect;
|
||||||
arrowRect.left = max(btnPtr->rect.left, btnPtr->rect.right - DDARROW_WIDTH);
|
arrowRect.left = max(btnPtr->rect.left, btnPtr->rect.right - DDARROW_WIDTH);
|
||||||
|
|
||||||
/* for EX_DRAWDDARROWS style, click must be in the drop-down arrow rect */
|
/* for EX_DRAWDDARROWS style, click must be in the drop-down arrow rect */
|
||||||
|
|
|
@ -1321,12 +1321,10 @@ TOOLTIPS_GetDelayTime (const TOOLTIPS_INFO *infoPtr, DWORD duration)
|
||||||
|
|
||||||
|
|
||||||
static LRESULT
|
static LRESULT
|
||||||
TOOLTIPS_GetMargin (const TOOLTIPS_INFO *infoPtr, LPRECT lpRect)
|
TOOLTIPS_GetMargin (const TOOLTIPS_INFO *infoPtr, RECT *rect)
|
||||||
{
|
{
|
||||||
lpRect->left = infoPtr->rcMargin.left;
|
if (rect)
|
||||||
lpRect->right = infoPtr->rcMargin.right;
|
*rect = infoPtr->rcMargin;
|
||||||
lpRect->bottom = infoPtr->rcMargin.bottom;
|
|
||||||
lpRect->top = infoPtr->rcMargin.top;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1598,12 +1596,10 @@ TOOLTIPS_SetDelayTime (TOOLTIPS_INFO *infoPtr, DWORD duration, INT nTime)
|
||||||
|
|
||||||
|
|
||||||
static LRESULT
|
static LRESULT
|
||||||
TOOLTIPS_SetMargin (TOOLTIPS_INFO *infoPtr, const RECT *lpRect)
|
TOOLTIPS_SetMargin (TOOLTIPS_INFO *infoPtr, const RECT *rect)
|
||||||
{
|
{
|
||||||
infoPtr->rcMargin.left = lpRect->left;
|
if (rect)
|
||||||
infoPtr->rcMargin.right = lpRect->right;
|
infoPtr->rcMargin = *rect;
|
||||||
infoPtr->rcMargin.bottom = lpRect->bottom;
|
|
||||||
infoPtr->rcMargin.top = lpRect->top;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,8 @@
|
||||||
|
|
||||||
#include "comctl32.h"
|
#include "comctl32.h"
|
||||||
|
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(trackbar);
|
WINE_DEFAULT_DEBUG_CHANNEL(trackbar);
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -188,7 +190,7 @@ TRACKBAR_ConvertPlaceToPosition (const TRACKBAR_INFO *infoPtr, int place)
|
||||||
pos = infoPtr->lRangeMin;
|
pos = infoPtr->lRangeMin;
|
||||||
|
|
||||||
TRACE("%.2f\n", pos);
|
TRACE("%.2f\n", pos);
|
||||||
return (LONG)(pos + 0.5);
|
return (LONG)floor(pos + 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -936,8 +938,11 @@ TRACKBAR_Refresh (TRACKBAR_INFO *infoPtr, HDC hdcDst)
|
||||||
if (GetWindowTheme (infoPtr->hwndSelf)) {
|
if (GetWindowTheme (infoPtr->hwndSelf)) {
|
||||||
DrawThemeParentBackground (infoPtr->hwndSelf, hdc, 0);
|
DrawThemeParentBackground (infoPtr->hwndSelf, hdc, 0);
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
FillRect (hdc, &rcClient, GetSysColorBrush(COLOR_BTNFACE));
|
HBRUSH brush = (HBRUSH)SendMessageW(infoPtr->hwndNotify, WM_CTLCOLORSTATIC,
|
||||||
|
(WPARAM)hdc, (LPARAM)infoPtr->hwndSelf);
|
||||||
|
FillRect (hdc, &rcClient, brush ? brush : GetSysColorBrush(COLOR_BTNFACE));
|
||||||
|
}
|
||||||
if (gcdrf != CDRF_DODEFAULT)
|
if (gcdrf != CDRF_DODEFAULT)
|
||||||
notify_customdraw(infoPtr, &nmcd, CDDS_POSTERASE);
|
notify_customdraw(infoPtr, &nmcd, CDDS_POSTERASE);
|
||||||
}
|
}
|
||||||
|
@ -1230,21 +1235,21 @@ TRACKBAR_SetRange (TRACKBAR_INFO *infoPtr, BOOL redraw, LONG range)
|
||||||
infoPtr->lRangeMin = (SHORT)LOWORD(range);
|
infoPtr->lRangeMin = (SHORT)LOWORD(range);
|
||||||
infoPtr->lRangeMax = (SHORT)HIWORD(range);
|
infoPtr->lRangeMax = (SHORT)HIWORD(range);
|
||||||
|
|
||||||
if (infoPtr->lPos < infoPtr->lRangeMin) {
|
/* clip position to new min/max limit */
|
||||||
|
if (infoPtr->lPos < infoPtr->lRangeMin)
|
||||||
infoPtr->lPos = infoPtr->lRangeMin;
|
infoPtr->lPos = infoPtr->lRangeMin;
|
||||||
infoPtr->flags |= TB_THUMBPOSCHANGED;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (infoPtr->lPos > infoPtr->lRangeMax) {
|
if (infoPtr->lPos > infoPtr->lRangeMax)
|
||||||
infoPtr->lPos = infoPtr->lRangeMax;
|
infoPtr->lPos = infoPtr->lRangeMax;
|
||||||
infoPtr->flags |= TB_THUMBPOSCHANGED;
|
|
||||||
}
|
|
||||||
|
|
||||||
infoPtr->lPageSize = (infoPtr->lRangeMax - infoPtr->lRangeMin) / 5;
|
infoPtr->lPageSize = (infoPtr->lRangeMax - infoPtr->lRangeMin) / 5;
|
||||||
if (infoPtr->lPageSize == 0) infoPtr->lPageSize = 1;
|
if (infoPtr->lPageSize == 0) infoPtr->lPageSize = 1;
|
||||||
|
|
||||||
if (changed && (infoPtr->dwStyle & TBS_AUTOTICKS))
|
if (changed) {
|
||||||
TRACKBAR_RecalculateTics (infoPtr);
|
if (infoPtr->dwStyle & TBS_AUTOTICKS)
|
||||||
|
TRACKBAR_RecalculateTics (infoPtr);
|
||||||
|
infoPtr->flags |= TB_THUMBPOSCHANGED;
|
||||||
|
}
|
||||||
|
|
||||||
if (redraw) TRACKBAR_InvalidateAll(infoPtr);
|
if (redraw) TRACKBAR_InvalidateAll(infoPtr);
|
||||||
|
|
||||||
|
|
|
@ -3621,7 +3621,7 @@ TREEVIEW_HitTestPoint(const TREEVIEW_INFO *infoPtr, POINT pt)
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
static LRESULT
|
static TREEVIEW_ITEM *
|
||||||
TREEVIEW_HitTest(const TREEVIEW_INFO *infoPtr, LPTVHITTESTINFO lpht)
|
TREEVIEW_HitTest(const TREEVIEW_INFO *infoPtr, LPTVHITTESTINFO lpht)
|
||||||
{
|
{
|
||||||
TREEVIEW_ITEM *item;
|
TREEVIEW_ITEM *item;
|
||||||
|
@ -3656,14 +3656,14 @@ TREEVIEW_HitTest(const TREEVIEW_INFO *infoPtr, LPTVHITTESTINFO lpht)
|
||||||
if (status)
|
if (status)
|
||||||
{
|
{
|
||||||
lpht->flags = status;
|
lpht->flags = status;
|
||||||
return 0;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
item = TREEVIEW_HitTestPoint(infoPtr, lpht->pt);
|
item = TREEVIEW_HitTestPoint(infoPtr, lpht->pt);
|
||||||
if (!item)
|
if (!item)
|
||||||
{
|
{
|
||||||
lpht->flags = TVHT_NOWHERE;
|
lpht->flags = TVHT_NOWHERE;
|
||||||
return 0;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (x >= item->textOffset + item->textWidth)
|
if (x >= item->textOffset + item->textWidth)
|
||||||
|
@ -3694,7 +3694,7 @@ TREEVIEW_HitTest(const TREEVIEW_INFO *infoPtr, LPTVHITTESTINFO lpht)
|
||||||
lpht->hItem = item;
|
lpht->hItem = item;
|
||||||
TRACE("(%d,%d):result 0x%x\n", lpht->pt.x, lpht->pt.y, lpht->flags);
|
TRACE("(%d,%d):result 0x%x\n", lpht->pt.x, lpht->pt.y, lpht->flags);
|
||||||
|
|
||||||
return (LRESULT)item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Item Label Editing ***************************************************/
|
/* Item Label Editing ***************************************************/
|
||||||
|
@ -4117,7 +4117,7 @@ TREEVIEW_LButtonDoubleClick(TREEVIEW_INFO *infoPtr, LPARAM lParam)
|
||||||
hit.pt.x = (short)LOWORD(lParam);
|
hit.pt.x = (short)LOWORD(lParam);
|
||||||
hit.pt.y = (short)HIWORD(lParam);
|
hit.pt.y = (short)HIWORD(lParam);
|
||||||
|
|
||||||
item = (TREEVIEW_ITEM *)TREEVIEW_HitTest(infoPtr, &hit);
|
item = TREEVIEW_HitTest(infoPtr, &hit);
|
||||||
if (!item)
|
if (!item)
|
||||||
return 0;
|
return 0;
|
||||||
TRACE("item %d\n", TREEVIEW_GetItemIndex(infoPtr, item));
|
TRACE("item %d\n", TREEVIEW_GetItemIndex(infoPtr, item));
|
||||||
|
@ -5317,9 +5317,9 @@ TREEVIEW_MouseLeave (TREEVIEW_INFO * infoPtr)
|
||||||
static LRESULT
|
static LRESULT
|
||||||
TREEVIEW_MouseMove (TREEVIEW_INFO * infoPtr, LPARAM lParam)
|
TREEVIEW_MouseMove (TREEVIEW_INFO * infoPtr, LPARAM lParam)
|
||||||
{
|
{
|
||||||
POINT pt;
|
|
||||||
TRACKMOUSEEVENT trackinfo;
|
TRACKMOUSEEVENT trackinfo;
|
||||||
TREEVIEW_ITEM * item;
|
TREEVIEW_ITEM * item;
|
||||||
|
TVHITTESTINFO ht;
|
||||||
|
|
||||||
if (!(infoPtr->dwStyle & TVS_TRACKSELECT)) return 0;
|
if (!(infoPtr->dwStyle & TVS_TRACKSELECT)) return 0;
|
||||||
|
|
||||||
|
@ -5344,18 +5344,21 @@ TREEVIEW_MouseMove (TREEVIEW_INFO * infoPtr, LPARAM lParam)
|
||||||
_TrackMouseEvent(&trackinfo);
|
_TrackMouseEvent(&trackinfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
pt.x = (short)LOWORD(lParam);
|
ht.pt.x = (short)LOWORD(lParam);
|
||||||
pt.y = (short)HIWORD(lParam);
|
ht.pt.y = (short)HIWORD(lParam);
|
||||||
|
|
||||||
item = TREEVIEW_HitTestPoint(infoPtr, pt);
|
item = TREEVIEW_HitTest(infoPtr, &ht);
|
||||||
|
if ((item != infoPtr->hotItem) || !(ht.flags & TVHT_ONITEM))
|
||||||
if (item != infoPtr->hotItem)
|
|
||||||
{
|
{
|
||||||
/* redraw old hot item */
|
/* redraw old hot item */
|
||||||
TREEVIEW_InvalidateItem(infoPtr, infoPtr->hotItem);
|
TREEVIEW_InvalidateItem(infoPtr, infoPtr->hotItem);
|
||||||
infoPtr->hotItem = item;
|
infoPtr->hotItem = NULL;
|
||||||
/* redraw new hot item */
|
if (item && (ht.flags & TVHT_ONITEM))
|
||||||
TREEVIEW_InvalidateItem(infoPtr, infoPtr->hotItem);
|
{
|
||||||
|
infoPtr->hotItem = item;
|
||||||
|
/* redraw new hot item */
|
||||||
|
TREEVIEW_InvalidateItem(infoPtr, infoPtr->hotItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -5494,14 +5497,14 @@ TREEVIEW_StyleChanged(TREEVIEW_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
static LRESULT
|
static LRESULT
|
||||||
TREEVIEW_SetCursor(const TREEVIEW_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
TREEVIEW_SetCursor(const TREEVIEW_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
POINT pt;
|
|
||||||
TREEVIEW_ITEM * item;
|
TREEVIEW_ITEM * item;
|
||||||
|
TVHITTESTINFO ht;
|
||||||
NMMOUSE nmmouse;
|
NMMOUSE nmmouse;
|
||||||
|
|
||||||
GetCursorPos(&pt);
|
GetCursorPos(&ht.pt);
|
||||||
ScreenToClient(infoPtr->hwnd, &pt);
|
ScreenToClient(infoPtr->hwnd, &ht.pt);
|
||||||
|
|
||||||
item = TREEVIEW_HitTestPoint(infoPtr, pt);
|
item = TREEVIEW_HitTest(infoPtr, &ht);
|
||||||
|
|
||||||
memset(&nmmouse, 0, sizeof(nmmouse));
|
memset(&nmmouse, 0, sizeof(nmmouse));
|
||||||
if (item)
|
if (item)
|
||||||
|
@ -5515,7 +5518,7 @@ TREEVIEW_SetCursor(const TREEVIEW_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
|
||||||
if (TREEVIEW_SendRealNotify(infoPtr, NM_SETCURSOR, &nmmouse.hdr))
|
if (TREEVIEW_SendRealNotify(infoPtr, NM_SETCURSOR, &nmmouse.hdr))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (item && (infoPtr->dwStyle & TVS_TRACKSELECT))
|
if (item && (infoPtr->dwStyle & TVS_TRACKSELECT) && (ht.flags & TVHT_ONITEM))
|
||||||
{
|
{
|
||||||
SetCursor(infoPtr->hcurHand);
|
SetCursor(infoPtr->hcurHand);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -5659,7 +5662,7 @@ TREEVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
return TREEVIEW_GetVisibleCount(infoPtr);
|
return TREEVIEW_GetVisibleCount(infoPtr);
|
||||||
|
|
||||||
case TVM_HITTEST:
|
case TVM_HITTEST:
|
||||||
return TREEVIEW_HitTest(infoPtr, (LPTVHITTESTINFO)lParam);
|
return (LRESULT)TREEVIEW_HitTest(infoPtr, (TVHITTESTINFO*)lParam);
|
||||||
|
|
||||||
case TVM_INSERTITEMA:
|
case TVM_INSERTITEMA:
|
||||||
case TVM_INSERTITEMW:
|
case TVM_INSERTITEMW:
|
||||||
|
@ -5735,6 +5738,7 @@ TREEVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
return TREEVIEW_HScroll(infoPtr, wParam);
|
return TREEVIEW_HScroll(infoPtr, wParam);
|
||||||
|
|
||||||
case WM_KEYDOWN:
|
case WM_KEYDOWN:
|
||||||
|
case WM_SYSKEYDOWN:
|
||||||
return TREEVIEW_KeyDown(infoPtr, wParam);
|
return TREEVIEW_KeyDown(infoPtr, wParam);
|
||||||
|
|
||||||
case WM_KILLFOCUS:
|
case WM_KILLFOCUS:
|
||||||
|
@ -5799,8 +5803,6 @@ TREEVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
COMCTL32_RefreshSysColors();
|
COMCTL32_RefreshSysColors();
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* WM_SYSKEYDOWN */
|
|
||||||
|
|
||||||
case WM_TIMER:
|
case WM_TIMER:
|
||||||
return TREEVIEW_HandleTimer(infoPtr, wParam);
|
return TREEVIEW_HandleTimer(infoPtr, wParam);
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ reactos/dll/win32/browseui # Out of sync
|
||||||
reactos/dll/win32/cabinet # Synced to WineStaging-1.9.16
|
reactos/dll/win32/cabinet # Synced to WineStaging-1.9.16
|
||||||
reactos/dll/win32/clusapi # Synced to WineStaging-1.9.11
|
reactos/dll/win32/clusapi # Synced to WineStaging-1.9.11
|
||||||
reactos/dll/win32/comcat # Synced to WineStaging-1.9.11
|
reactos/dll/win32/comcat # Synced to WineStaging-1.9.11
|
||||||
reactos/dll/win32/comctl32 # Synced to WineStaging-1.9.11
|
reactos/dll/win32/comctl32 # Synced to WineStaging-1.9.16
|
||||||
reactos/dll/win32/comdlg32 # Synced to WineStaging-1.9.11
|
reactos/dll/win32/comdlg32 # Synced to WineStaging-1.9.11
|
||||||
reactos/dll/win32/compstui # Synced to WineStaging-1.9.11
|
reactos/dll/win32/compstui # Synced to WineStaging-1.9.11
|
||||||
reactos/dll/win32/credui # Synced to WineStaging-1.9.16
|
reactos/dll/win32/credui # Synced to WineStaging-1.9.16
|
||||||
|
|
Loading…
Reference in a new issue