META_EXTTEXTOUT

# NAME

META_EXTTEXTOUT

# NEAREST API CALL

    #include <windows.h>
    BOOL32 ExtTextOutA
    (
    	HDC32 hdc,
    	INT32 x,
    	INT32 y,
    	UINT32 flags,
    	const RECT32 *lprect,
    	LPCSTR str,
    	UINT32 count,
    	const INT32 *lpDx
    );

# DESCRIPTION

U16 | Value
0 | y
1 | x
2 | count
3 | flag

If flag & ETO_CLIPPED is true then the following parameters are...

U16 | Value
4 | x1
5 | y1
6 | x2
7 | y2

In either case the next parameters are

U16 | Value
next parameter, for a count of parameter[2]/2 | two chars of the string

There may be extra parameters after the end of the string , this array is known as lpDx and each element is the extra distance from one character to the next.

U16 | Value
each next parameter, until the end of the record |

count is the number of characters in the string, as each char is only a 8bit number, two chars exist in each 16bit parameter entry.
flag is one or both of ETO_OPAQUE and ETO_CLIPPED, the first means that the background of the box that the text is typed in is OPAQUE, and the usual opaque rules apply, (SetBkMode. The second means that the text is clipped to the rectangle supplied. x1, y1, x2 and y2, are the points of the optional clipping rectangle, included if flags has ETO_CLIPPED set
Then the string follows, and then there is an optional array of widths, each 16bit width is the distance from one character to the next.

back