Module: wine Branch: master Commit: 2910b90c70c573e8ae197a7c16ffcf47b9a9c684 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2910b90c70c573e8ae197a7c16...
Author: Detlef Riekenberg wine.dev@web.de Date: Tue Oct 14 01:17:43 2008 +0200
comctl32/tests: Fix tests to not depend on 96 dpi, make it pass in Wine.
---
dlls/comctl32/tab.c | 3 +-- dlls/comctl32/tests/tab.c | 24 ++++++++++++++++++------ 2 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/dlls/comctl32/tab.c b/dlls/comctl32/tab.c index 725cc10..35af81c 100644 --- a/dlls/comctl32/tab.c +++ b/dlls/comctl32/tab.c @@ -142,7 +142,6 @@ typedef struct #define BUTTON_SPACINGY 3 #define FLAT_BTN_SPACINGX 8 #define DEFAULT_MIN_TAB_WIDTH 54 -#define DEFAULT_TAB_WIDTH_FIXED 96 #define DEFAULT_PADDING_X 6 #define EXTRA_ICON_PADDING 3
@@ -3019,7 +3018,7 @@ static LRESULT TAB_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
/* Initialize the width of a tab. */ if (dwStyle & TCS_FIXEDWIDTH) - infoPtr->tabWidth = DEFAULT_TAB_WIDTH_FIXED; + infoPtr->tabWidth = GetDeviceCaps(hdc, LOGPIXELSX);
infoPtr->tabMinWidth = -1;
diff --git a/dlls/comctl32/tests/tab.c b/dlls/comctl32/tests/tab.c index d311d50..eba3f61 100644 --- a/dlls/comctl32/tests/tab.c +++ b/dlls/comctl32/tests/tab.c @@ -27,7 +27,6 @@ #include "msg.h"
#define DEFAULT_MIN_TAB_WIDTH 54 -#define TAB_DEFAULT_WIDTH 96 #define TAB_PADDING_X 6 #define EXTRA_ICON_PADDING 3 #define MAX_TABLEN 32 @@ -506,12 +505,13 @@ static void test_tab(INT nMinTabWidth) SIZE size; HDC hdc; HFONT hOldFont; - INT i; + INT i, dpi;
hwTab = create_tabcontrol(TCS_FIXEDWIDTH, TCIF_TEXT|TCIF_IMAGE); SendMessage(hwTab, TCM_SETMINTABWIDTH, 0, nMinTabWidth);
hdc = GetDC(hwTab); + dpi = GetDeviceCaps(hdc, LOGPIXELSX); hOldFont = SelectObject(hdc, (HFONT)SendMessage(hwTab, WM_GETFONT, 0, 0)); GetTextExtentPoint32A(hdc, "Tab 1", strlen("Tab 1"), &size); trace("Tab1 text size: size.cx=%d size.cy=%d\n", size.cx, size.cy); @@ -519,7 +519,7 @@ static void test_tab(INT nMinTabWidth) ReleaseDC(hwTab, hdc);
trace (" TCS_FIXEDWIDTH tabs no icon...\n"); - CheckSize(hwTab, TAB_DEFAULT_WIDTH, -1, "default width"); + CheckSize(hwTab, dpi, -1, "default width"); TabCheckSetSize(hwTab, 50, 20, 50, 20, "set size"); TabCheckSetSize(hwTab, 0, 1, 0, 1, "min size");
@@ -535,8 +535,11 @@ static void test_tab(INT nMinTabWidth) hwTab = create_tabcontrol(TCS_FIXEDWIDTH | TCS_BUTTONS, TCIF_TEXT|TCIF_IMAGE); SendMessage(hwTab, TCM_SETMINTABWIDTH, 0, nMinTabWidth);
+ hdc = GetDC(hwTab); + dpi = GetDeviceCaps(hdc, LOGPIXELSX); + ReleaseDC(hwTab, hdc); trace (" TCS_FIXEDWIDTH buttons no icon...\n"); - CheckSize(hwTab, TAB_DEFAULT_WIDTH, -1, "default width"); + CheckSize(hwTab, dpi, -1, "default width"); TabCheckSetSize(hwTab, 20, 20, 20, 20, "set size 1"); TabCheckSetSize(hwTab, 10, 50, 10, 50, "set size 2"); TabCheckSetSize(hwTab, 0, 1, 0, 1, "min size"); @@ -555,8 +558,11 @@ static void test_tab(INT nMinTabWidth) hwTab = create_tabcontrol(TCS_FIXEDWIDTH | TCS_BOTTOM, TCIF_TEXT|TCIF_IMAGE); SendMessage(hwTab, TCM_SETMINTABWIDTH, 0, nMinTabWidth);
+ hdc = GetDC(hwTab); + dpi = GetDeviceCaps(hdc, LOGPIXELSX); + ReleaseDC(hwTab, hdc); trace (" TCS_FIXEDWIDTH | TCS_BOTTOM tabs...\n"); - CheckSize(hwTab, TAB_DEFAULT_WIDTH, -1, "no icon, default width"); + CheckSize(hwTab, dpi, -1, "no icon, default width");
TabCheckSetSize(hwTab, 20, 20, 20, 20, "no icon, set size 1"); TabCheckSetSize(hwTab, 10, 50, 10, 50, "no icon, set size 2"); @@ -633,6 +639,8 @@ static void test_getters_setters(HWND parent_wnd, INT nTabs) RECT rTab; INT nTabsRetrieved; INT rowCount; + INT dpi; + HDC hdc;
ok(parent_wnd != NULL, "no parent window!\n"); flush_sequences(sequences, NUM_MSG_SEQUENCES); @@ -678,7 +686,11 @@ static void test_getters_setters(HWND parent_wnd, INT nTabs) /* Testing GetItemRect */ flush_sequences(sequences, NUM_MSG_SEQUENCES); ok(SendMessage(hTab, TCM_GETITEMRECT, 0, (LPARAM) &rTab), "GetItemRect failed.\n"); - CheckSize(hTab, TAB_DEFAULT_WIDTH, -1 , "Default Width"); + + hdc = GetDC(hTab); + dpi = GetDeviceCaps(hdc, LOGPIXELSX); + ReleaseDC(hTab, hdc); + CheckSize(hTab, dpi, -1 , "Default Width"); ok_sequence(sequences, TAB_SEQ_INDEX, get_item_rect_seq, "Get itemRect test sequence", FALSE); ok_sequence(sequences, PARENT_SEQ_INDEX, empty_sequence, "Get itemRect test parent sequence", FALSE);