From 2c190ab438fc766c228325372c7b91151eaf8348 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Thu, 10 Sep 2009 00:02:55 +0400 Subject: [PATCH] include: Move some documented DPA definitions to public header, use PSDK names. --- dlls/comctl32/comctl32.h | 12 ------------ dlls/comctl32/dpa.c | 16 ++++++++-------- dlls/comctl32/tests/dpa.c | 11 +++-------- include/commctrl.h | 17 +++++++++++++++++ 4 files changed, 28 insertions(+), 28 deletions(-) diff --git a/dlls/comctl32/comctl32.h b/dlls/comctl32/comctl32.h index 1f2f63eb9fc..300831434ee 100644 --- a/dlls/comctl32/comctl32.h +++ b/dlls/comctl32/comctl32.h @@ -183,18 +183,6 @@ DWORD WINAPI GetSize (LPVOID); INT WINAPI Str_GetPtrA (LPCSTR, LPSTR, INT); INT WINAPI Str_GetPtrW (LPCWSTR, LPWSTR, INT); -INT WINAPI DPA_GetPtrIndex (HDPA, LPCVOID); -BOOL WINAPI DPA_Grow (HDPA, INT); - -#define DPAM_NOSORT 0x0001 -#define DPAM_INSERT 0x0004 -#define DPAM_DELETE 0x0008 - -typedef PVOID (CALLBACK *PFNDPAMERGE)(DWORD,PVOID,PVOID,LPARAM); -BOOL WINAPI DPA_Merge (HDPA, HDPA, DWORD, PFNDPACOMPARE, PFNDPAMERGE, LPARAM); - -#define DPA_GetPtrCount(hdpa) (*(INT*)(hdpa)) - LRESULT WINAPI SetPathWordBreakProc(HWND hwnd, BOOL bSet); BOOL WINAPI MirrorIcon(HICON *phicon1, HICON *phicon2); diff --git a/dlls/comctl32/dpa.c b/dlls/comctl32/dpa.c index 43f2a3adf61..9a4883aeb28 100644 --- a/dlls/comctl32/dpa.c +++ b/dlls/comctl32/dpa.c @@ -241,7 +241,7 @@ BOOL WINAPI DPA_Merge (HDPA hdpa1, HDPA hdpa2, DWORD dwFlags, if (IsBadCodePtr ((FARPROC)pfnMerge)) return FALSE; - if (!(dwFlags & DPAM_NOSORT)) { + if (!(dwFlags & DPAM_SORTED)) { TRACE("sorting dpa's!\n"); if (hdpa1->nItemCount > 0) DPA_Sort (hdpa1, pfnCompare, lParam); @@ -269,14 +269,14 @@ BOOL WINAPI DPA_Merge (HDPA hdpa1, HDPA hdpa2, DWORD dwFlags, do { if (nIndex < 0) { - if ((nCount >= 0) && (dwFlags & DPAM_INSERT)) { + if ((nCount >= 0) && (dwFlags & DPAM_UNION)) { /* Now insert the remaining new items into DPA 1 */ TRACE("%d items to be inserted at start of DPA 1\n", nCount+1); for (i=nCount; i>=0; i--) { PVOID ptr; - ptr = (pfnMerge)(3, *pWork2, NULL, lParam); + ptr = (pfnMerge)(DPAMM_INSERT, *pWork2, NULL, lParam); if (!ptr) return FALSE; DPA_InsertPtr (hdpa1, 0, ptr); @@ -293,7 +293,7 @@ BOOL WINAPI DPA_Merge (HDPA hdpa1, HDPA hdpa2, DWORD dwFlags, { PVOID ptr; - ptr = (pfnMerge)(1, *pWork1, *pWork2, lParam); + ptr = (pfnMerge)(DPAMM_MERGE, *pWork1, *pWork2, lParam); if (!ptr) return FALSE; @@ -306,14 +306,14 @@ BOOL WINAPI DPA_Merge (HDPA hdpa1, HDPA hdpa2, DWORD dwFlags, else if (nResult > 0) { /* item in DPA 1 missing from DPA 2 */ - if (dwFlags & DPAM_DELETE) + if (dwFlags & DPAM_INTERSECT) { /* Now delete the extra item in DPA1 */ PVOID ptr; ptr = DPA_DeletePtr (hdpa1, hdpa1->nItemCount - 1); - (pfnMerge)(2, ptr, NULL, lParam); + (pfnMerge)(DPAMM_DELETE, ptr, NULL, lParam); } nIndex--; pWork1--; @@ -321,12 +321,12 @@ BOOL WINAPI DPA_Merge (HDPA hdpa1, HDPA hdpa2, DWORD dwFlags, else { /* new item in DPA 2 */ - if (dwFlags & DPAM_INSERT) + if (dwFlags & DPAM_UNION) { /* Now insert the new item in DPA 1 */ PVOID ptr; - ptr = (pfnMerge)(3, *pWork2, NULL, lParam); + ptr = (pfnMerge)(DPAMM_INSERT, *pWork2, NULL, lParam); if (!ptr) return FALSE; DPA_InsertPtr (hdpa1, nIndex+1, ptr); diff --git a/dlls/comctl32/tests/dpa.c b/dlls/comctl32/tests/dpa.c index d892e31272a..7d907cf8c47 100644 --- a/dlls/comctl32/tests/dpa.c +++ b/dlls/comctl32/tests/dpa.c @@ -31,17 +31,12 @@ #include "wine/test.h" -#define DPAM_NOSORT 0x1 -#define DPAM_INSERT 0x4 -#define DPAM_DELETE 0x8 - typedef struct _ITEMDATA { INT iPos; PVOID pvData; } ITEMDATA, *LPITEMDATA; -typedef PVOID (CALLBACK *PFNDPAMERGE)(UINT,PVOID,PVOID,LPARAM); typedef HRESULT (CALLBACK *PFNDPASTM)(LPITEMDATA,IStream*,LPARAM); static HDPA (WINAPI *pDPA_Clone)(const HDPA,const HDPA); @@ -388,7 +383,7 @@ static void test_DPA_Merge(void) ok(rc, "dw=0x%x\n", dw); /* Delete all odd entries from dpa2 */ - pDPA_Merge(dpa2, dpa, DPAM_DELETE, + pDPA_Merge(dpa2, dpa, DPAM_INTERSECT, CB_CmpLT, CB_MergeDeleteOddSrc, 0xdeadbeef); todo_wine { @@ -397,9 +392,9 @@ static void test_DPA_Merge(void) } /* Merge dpa3 into dpa2 and dpa */ - pDPA_Merge(dpa, dpa3, DPAM_INSERT|DPAM_NOSORT, + pDPA_Merge(dpa, dpa3, DPAM_UNION|DPAM_SORTED, CB_CmpLT, CB_MergeInsertSrc, 0xdeadbeef); - pDPA_Merge(dpa2, dpa3, DPAM_INSERT|DPAM_NOSORT, + pDPA_Merge(dpa2, dpa3, DPAM_UNION|DPAM_SORTED, CB_CmpLT, CB_MergeInsertSrc, 0xdeadbeef); rc = CheckDPA(dpa, 0x123456, &dw); diff --git a/include/commctrl.h b/include/commctrl.h index 1e13f1065e7..55cae1c5f7d 100644 --- a/include/commctrl.h +++ b/include/commctrl.h @@ -4979,8 +4979,22 @@ INT WINAPI DSA_InsertItem(HDSA, INT, LPVOID); struct _DPA; typedef struct _DPA *HDPA; +#define DPA_GetPtrCount(hdpa) (*(INT*)(hdpa)) + typedef INT (CALLBACK *PFNDPAENUMCALLBACK)(LPVOID, LPVOID); typedef INT (CALLBACK *PFNDPACOMPARE)(LPVOID, LPVOID, LPARAM); +typedef PVOID (CALLBACK *PFNDPAMERGE)(UINT,PVOID,PVOID,LPARAM); + +/* merge callback codes */ +#define DPAMM_MERGE 1 +#define DPAMM_DELETE 2 +#define DPAMM_INSERT 3 + +/* merge options */ +#define DPAM_SORTED 0x00000001 +#define DPAM_NORMAL 0x00000002 +#define DPAM_UNION 0x00000004 +#define DPAM_INTERSECT 0x00000008 HDPA WINAPI DPA_Create(INT); BOOL WINAPI DPA_Destroy(HDPA); @@ -4988,11 +5002,14 @@ LPVOID WINAPI DPA_DeletePtr(HDPA, INT); BOOL WINAPI DPA_DeleteAllPtrs(HDPA); BOOL WINAPI DPA_SetPtr(HDPA, INT, LPVOID); LPVOID WINAPI DPA_GetPtr(HDPA, INT); +INT WINAPI DPA_GetPtrIndex(HDPA, LPCVOID); +BOOL WINAPI DPA_Grow(HDPA, INT); INT WINAPI DPA_InsertPtr(HDPA, INT, LPVOID); BOOL WINAPI DPA_Sort(HDPA, PFNDPACOMPARE, LPARAM); void WINAPI DPA_EnumCallback(HDPA, PFNDPAENUMCALLBACK, LPVOID); void WINAPI DPA_DestroyCallback(HDPA, PFNDPAENUMCALLBACK, LPVOID); INT WINAPI DPA_Search(HDPA, LPVOID, INT, PFNDPACOMPARE, LPARAM, UINT); +BOOL WINAPI DPA_Merge(HDPA, HDPA, DWORD, PFNDPACOMPARE, PFNDPAMERGE, LPARAM); BOOL WINAPI Str_SetPtrW (LPWSTR *, LPCWSTR);