d3dx9: Handle word breaks in ID3DXFont_DrawText.
Signed-off-by: Sven Baars <sbaars@codeweavers.com> Signed-off-by: Matteo Bruni <mbruni@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
6da3e904a1
commit
e6a1116c2a
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=24
|
||||||
MODULE = d3dx9_24.dll
|
MODULE = d3dx9_24.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=25
|
||||||
MODULE = d3dx9_25.dll
|
MODULE = d3dx9_25.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=26
|
||||||
MODULE = d3dx9_26.dll
|
MODULE = d3dx9_26.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=27
|
||||||
MODULE = d3dx9_27.dll
|
MODULE = d3dx9_27.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=28
|
||||||
MODULE = d3dx9_28.dll
|
MODULE = d3dx9_28.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=29
|
||||||
MODULE = d3dx9_29.dll
|
MODULE = d3dx9_29.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=30
|
||||||
MODULE = d3dx9_30.dll
|
MODULE = d3dx9_30.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=31
|
||||||
MODULE = d3dx9_31.dll
|
MODULE = d3dx9_31.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=32
|
||||||
MODULE = d3dx9_32.dll
|
MODULE = d3dx9_32.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=33
|
||||||
MODULE = d3dx9_33.dll
|
MODULE = d3dx9_33.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=34
|
||||||
MODULE = d3dx9_34.dll
|
MODULE = d3dx9_34.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=35
|
||||||
MODULE = d3dx9_35.dll
|
MODULE = d3dx9_35.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=36
|
||||||
MODULE = d3dx9_36.dll
|
MODULE = d3dx9_36.dll
|
||||||
IMPORTLIB = d3dx9
|
IMPORTLIB = d3dx9
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
|
|
||||||
#include "d3dx9_private.h"
|
#include "d3dx9_private.h"
|
||||||
|
|
||||||
|
#include "usp10.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(d3dx);
|
WINE_DEFAULT_DEBUG_CHANNEL(d3dx);
|
||||||
|
|
||||||
struct d3dx_glyph
|
struct d3dx_glyph
|
||||||
|
@ -509,10 +511,53 @@ static INT WINAPI ID3DXFontImpl_DrawTextA(ID3DXFont *iface, ID3DXSprite *sprite,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void word_break(HDC hdc, const WCHAR *str, unsigned int *str_len,
|
||||||
|
unsigned int chars_fit, unsigned int *chars_used, SIZE *size)
|
||||||
|
{
|
||||||
|
SCRIPT_LOGATTR *sla;
|
||||||
|
SCRIPT_ANALYSIS sa;
|
||||||
|
unsigned int i;
|
||||||
|
|
||||||
|
*chars_used = 0;
|
||||||
|
|
||||||
|
sla = heap_alloc(*str_len * sizeof(*sla));
|
||||||
|
if (!sla)
|
||||||
|
return;
|
||||||
|
|
||||||
|
memset(&sa, 0, sizeof(sa));
|
||||||
|
sa.eScript = SCRIPT_UNDEFINED;
|
||||||
|
|
||||||
|
ScriptBreak(str, *str_len, &sa, sla);
|
||||||
|
|
||||||
|
/* Work back from the last character that did fit to a place where we can break */
|
||||||
|
i = chars_fit;
|
||||||
|
while (i > 0 && !sla[i].fSoftBreak) /* chars_fit < *str_len so this is valid */
|
||||||
|
--i;
|
||||||
|
|
||||||
|
/* If the there is no word that fits put in all characters that do fit */
|
||||||
|
if (!sla[i].fSoftBreak)
|
||||||
|
i = chars_fit;
|
||||||
|
|
||||||
|
*chars_used = i;
|
||||||
|
if (sla[i].fWhiteSpace)
|
||||||
|
++(*chars_used);
|
||||||
|
|
||||||
|
/* Remove extra spaces */
|
||||||
|
while (i > 0 && sla[i-1].fWhiteSpace)
|
||||||
|
--i;
|
||||||
|
*str_len = i;
|
||||||
|
|
||||||
|
/* Remeasure the string */
|
||||||
|
GetTextExtentExPointW(hdc, str, *str_len, 0, NULL, NULL, size);
|
||||||
|
heap_free(sla);
|
||||||
|
}
|
||||||
|
|
||||||
static const WCHAR *read_line(HDC hdc, const WCHAR *str, int *count,
|
static const WCHAR *read_line(HDC hdc, const WCHAR *str, int *count,
|
||||||
WCHAR *dest, unsigned int *dest_len, int width)
|
WCHAR *dest, unsigned int *dest_len, int width, DWORD format)
|
||||||
{
|
{
|
||||||
unsigned int i = 0;
|
unsigned int i = 0;
|
||||||
|
int orig_count = *count;
|
||||||
|
int num_fit;
|
||||||
SIZE size;
|
SIZE size;
|
||||||
|
|
||||||
*dest_len = 0;
|
*dest_len = 0;
|
||||||
|
@ -524,7 +569,17 @@ static const WCHAR *read_line(HDC hdc, const WCHAR *str, int *count,
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
GetTextExtentExPointW(hdc, dest, *dest_len, width, NULL, NULL, &size);
|
num_fit = 0;
|
||||||
|
GetTextExtentExPointW(hdc, dest, *dest_len, width, &num_fit, NULL, &size);
|
||||||
|
|
||||||
|
if (num_fit < *dest_len && (format & DT_WORDBREAK))
|
||||||
|
{
|
||||||
|
unsigned int chars_used;
|
||||||
|
|
||||||
|
word_break(hdc, dest, dest_len, num_fit, &chars_used, &size);
|
||||||
|
*count = orig_count - chars_used;
|
||||||
|
i = chars_used;
|
||||||
|
}
|
||||||
|
|
||||||
if (*count && str[i] == '\n')
|
if (*count && str[i] == '\n')
|
||||||
{
|
{
|
||||||
|
@ -594,7 +649,7 @@ static INT WINAPI ID3DXFontImpl_DrawTextW(ID3DXFont *iface, ID3DXSprite *sprite,
|
||||||
{
|
{
|
||||||
unsigned int line_len;
|
unsigned int line_len;
|
||||||
|
|
||||||
string = read_line(font->hdc, string, &count, line, &line_len, width);
|
string = read_line(font->hdc, string, &count, line, &line_len, width, format);
|
||||||
|
|
||||||
if (!(format & DT_CALCRECT))
|
if (!(format & DT_CALCRECT))
|
||||||
{
|
{
|
||||||
|
|
|
@ -722,7 +722,7 @@ static void test_ID3DXFont(IDirect3DDevice9 *device)
|
||||||
todo_wine ok(height == 60, "Got unexpected height %d.\n", height);
|
todo_wine ok(height == 60, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextA(font, NULL, long_text, -1, &rect, DT_WORDBREAK | DT_NOCLIP, 0xff00ff);
|
height = ID3DXFont_DrawTextA(font, NULL, long_text, -1, &rect, DT_WORDBREAK | DT_NOCLIP, 0xff00ff);
|
||||||
todo_wine ok(height == 96, "Got unexpected height %d.\n", height);
|
ok(height == 96, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
SetRect(&rect, 10, 10, 200, 200);
|
SetRect(&rect, 10, 10, 200, 200);
|
||||||
|
|
||||||
|
@ -759,7 +759,7 @@ static void test_ID3DXFont(IDirect3DDevice9 *device)
|
||||||
todo_wine ok(height == 60, "Got unexpected height %d.\n", height);
|
todo_wine ok(height == 60, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, long_textW, -1, &rect, DT_WORDBREAK | DT_NOCLIP, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, long_textW, -1, &rect, DT_WORDBREAK | DT_NOCLIP, 0xff00ff);
|
||||||
todo_wine ok(height == 96, "Got unexpected height %d.\n", height);
|
ok(height == 96, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"a\na", -1, &rect, 0, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"a\na", -1, &rect, 0, 0xff00ff);
|
||||||
ok(height == 24, "Got unexpected height %d.\n", height);
|
ok(height == 24, "Got unexpected height %d.\n", height);
|
||||||
|
@ -777,7 +777,7 @@ static void test_ID3DXFont(IDirect3DDevice9 *device)
|
||||||
ok(height == 24, "Got unexpected height %d.\n", height);
|
ok(height == 24, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"a\naaaaa aaaa", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"a\naaaaa aaaa", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
||||||
todo_wine ok(height == 36, "Got unexpected height %d.\n", height);
|
ok(height == 36, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"1\n2\n3\n4\n5\n6", -1, &rect, 0, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"1\n2\n3\n4\n5\n6", -1, &rect, 0, 0xff00ff);
|
||||||
ok(height == 48, "Got unexpected height %d.\n", height);
|
ok(height == 48, "Got unexpected height %d.\n", height);
|
||||||
|
@ -789,16 +789,16 @@ static void test_ID3DXFont(IDirect3DDevice9 *device)
|
||||||
todo_wine ok(height == 0, "Got unexpected height %d.\n", height);
|
todo_wine ok(height == 0, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"\t\t\t\t\t\t\t\t\t\ta", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"\t\t\t\t\t\t\t\t\t\ta", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
||||||
ok(height == 12, "Got unexpected height %d.\n", height);
|
todo_wine ok(height == 12, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"\taaaaaaaaaa", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"\taaaaaaaaaa", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
||||||
todo_wine ok(height == 24, "Got unexpected height %d.\n", height);
|
todo_wine ok(height == 24, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"\taaaaaaaaaa", -1, &rect, DT_EXPANDTABS | DT_WORDBREAK, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"\taaaaaaaaaa", -1, &rect, DT_EXPANDTABS | DT_WORDBREAK, 0xff00ff);
|
||||||
todo_wine ok(height == 36, "Got unexpected height %d.\n", height);
|
ok(height == 36, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"\taaa\taaa\taaa", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"\taaa\taaa\taaa", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
||||||
todo_wine ok(height == 24, "Got unexpected height %d.\n", height);
|
ok(height == 24, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"\taaa\taaa\taaa", -1, &rect, DT_EXPANDTABS | DT_WORDBREAK, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"\taaa\taaa\taaa", -1, &rect, DT_EXPANDTABS | DT_WORDBREAK, 0xff00ff);
|
||||||
todo_wine ok(height == 48, "Got unexpected height %d.\n", height);
|
todo_wine ok(height == 48, "Got unexpected height %d.\n", height);
|
||||||
|
@ -813,19 +813,19 @@ static void test_ID3DXFont(IDirect3DDevice9 *device)
|
||||||
todo_wine ok(height == 24, "Got unexpected height %d.\n", height);
|
todo_wine ok(height == 24, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"aaaaaaaaaaaaaaaaaaaa", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"aaaaaaaaaaaaaaaaaaaa", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
||||||
todo_wine ok(height == 36, "Got unexpected height %d.\n", height);
|
ok(height == 36, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"a a", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"a a", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
||||||
todo_wine ok(height == 36, "Got unexpected height %d.\n", height);
|
ok(height == 36, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"aaaa aaaa", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"aaaa aaaa", -1, &rect, DT_WORDBREAK, 0xff00ff);
|
||||||
todo_wine ok(height == 36, "Got unexpected height %d.\n", height);
|
ok(height == 36, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"aaaa aaaa", -1, &rect, DT_WORDBREAK | DT_RIGHT, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"aaaa aaaa", -1, &rect, DT_WORDBREAK | DT_RIGHT, 0xff00ff);
|
||||||
todo_wine ok(height == 36, "Got unexpected height %d.\n", height);
|
ok(height == 36, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"aaaa aaaa", -1, &rect, DT_WORDBREAK | DT_RIGHT, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"aaaa aaaa", -1, &rect, DT_WORDBREAK | DT_RIGHT, 0xff00ff);
|
||||||
todo_wine ok(height == 36, "Got unexpected height %d.\n", height);
|
ok(height == 36, "Got unexpected height %d.\n", height);
|
||||||
|
|
||||||
height = ID3DXFont_DrawTextW(font, NULL, L"aaaa\naaaa", -1, &rect, DT_BOTTOM, 0xff00ff);
|
height = ID3DXFont_DrawTextW(font, NULL, L"aaaa\naaaa", -1, &rect, DT_BOTTOM, 0xff00ff);
|
||||||
todo_wine ok(height == 40, "Got unexpected height %d.\n", height);
|
todo_wine ok(height == 40, "Got unexpected height %d.\n", height);
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=37
|
||||||
MODULE = d3dx9_37.dll
|
MODULE = d3dx9_37.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=38
|
||||||
MODULE = d3dx9_38.dll
|
MODULE = d3dx9_38.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=39
|
||||||
MODULE = d3dx9_39.dll
|
MODULE = d3dx9_39.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=40
|
||||||
MODULE = d3dx9_40.dll
|
MODULE = d3dx9_40.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=41
|
||||||
MODULE = d3dx9_41.dll
|
MODULE = d3dx9_41.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=42
|
||||||
MODULE = d3dx9_42.dll
|
MODULE = d3dx9_42.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ EXTRADEFS = -DD3DX_SDK_VERSION=43
|
||||||
MODULE = d3dx9_43.dll
|
MODULE = d3dx9_43.dll
|
||||||
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
IMPORTS = d3d9 d3dcompiler dxguid d3dxof ole32 gdi32 user32 ucrtbase
|
||||||
PARENTSRC = ../d3dx9_36
|
PARENTSRC = ../d3dx9_36
|
||||||
DELAYIMPORTS = windowscodecs
|
DELAYIMPORTS = windowscodecs usp10
|
||||||
|
|
||||||
EXTRADLLFLAGS = -mno-cygwin
|
EXTRADLLFLAGS = -mno-cygwin
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue