ReactOS 0.4.16-dev-297-gc569aee
ros_lpk.h File Reference
#include <stdarg.h>
#include <windef.h>
#include <winbase.h>
#include <wingdi.h>
#include <winnls.h>
#include <usp10.h>
#include <strsafe.h>
#include "undocgdi.h"
#include "wine/unicode.h"
#include "wine/debug.h"
Include dependency graph for ros_lpk.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _LPK_LPEDITCONTROL_LIST
 

Macros

#define WIN32_NO_STATUS
 
#define WINE_GCPW_FORCE_LTR   0
 
#define WINE_GCPW_FORCE_RTL   1
 
#define WINE_GCPW_LOOSE_LTR   2
 
#define WINE_GCPW_LOOSE_RTL   3
 
#define WINE_GCPW_DIR_MASK   3
 
#define WINE_GCPW_LOOSE_MASK   2
 

Typedefs

typedef struct _LPK_LPEDITCONTROL_LIST LPK_LPEDITCONTROL_LIST
 
typedef struct _LPK_LPEDITCONTROL_LISTPLPK_LPEDITCONTROL_LIST
 

Functions

VOID WINAPI LpkPresent (VOID)
 
DWORD WINAPI EditCreate (DWORD x1, DWORD x2)
 
DWORD WINAPI EditIchToXY (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5)
 
DWORD WINAPI EditMouseToIch (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5)
 
DWORD WINAPI EditCchInWidth (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5)
 
DWORD WINAPI EditGetLineWidth (DWORD x1, DWORD x2, DWORD x3, DWORD x4)
 
DWORD WINAPI EditDrawText (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5, DWORD x6, DWORD x7)
 
DWORD WINAPI EditHScroll (DWORD x1, DWORD x2, DWORD x3)
 
DWORD WINAPI EditMoveSelection (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5)
 
DWORD WINAPI EditVerifyText (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5, DWORD x6)
 
DWORD WINAPI EditNextWord (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5, DWORD x6, DWORD x7)
 
DWORD WINAPI EditSetMenu (DWORD x1, DWORD x2)
 
DWORD WINAPI EditProcessMenu (DWORD x1, DWORD x2)
 
DWORD WINAPI EditCreateCaret (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5)
 
DWORD WINAPI EditAdjustCaret (DWORD x1, DWORD x2, DWORD x3, DWORD x5)
 
DWORD WINAPI LpkInitialize (DWORD x1)
 
DWORD WINAPI LpkTabbedTextOut (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5, DWORD x6, DWORD x7, DWORD x8, DWORD x9, DWORD x10, DWORD x11, DWORD x12)
 
DWORD WINAPI LpkDrawTextEx (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5, DWORD x6, DWORD x7, DWORD x8, DWORD x9, DWORD x10)
 
DWORD WINAPI LpkUseGDIWidthCache (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5)
 
DWORD WINAPI ftsWordBreak (DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5)
 
BOOL WINAPI LpkExtTextOut (HDC hdc, int x, int y, UINT fuOptions, const RECT *lprc, LPCWSTR lpString, UINT uCount, const INT *lpDx, INT unknown)
 
DWORD WINAPI LpkGetCharacterPlacement (HDC hdc, LPCWSTR lpString, INT uCount, INT nMaxExtent, GCP_RESULTSW *lpResults, DWORD dwFlags, DWORD dwUnused)
 
INT WINAPI LpkPSMTextOut (HDC hdc, int x, int y, LPCWSTR lpString, int cString, DWORD dwFlags)
 
BOOL WINAPI LpkGetTextExtentExPoint (HDC hdc, LPCWSTR lpString, INT cString, INT nMaxExtent, LPINT lpnFit, LPINT lpnDx, LPSIZE lpSize, DWORD dwUnused, int unknown)
 
BOOL BIDI_Reorder (_In_ HDC hDC, _In_ LPCWSTR lpString, _In_ INT uCount, _In_ DWORD dwFlags, _In_ DWORD dwWineGCP_Flags, _Out_ LPWSTR lpOutString, _In_ INT uCountOut, _Out_ UINT *lpOrder, _Out_ WORD **lpGlyphs, _Out_ INT *cGlyphs)
 

Macro Definition Documentation

◆ WIN32_NO_STATUS

#define WIN32_NO_STATUS

Definition at line 14 of file ros_lpk.h.

◆ WINE_GCPW_DIR_MASK

#define WINE_GCPW_DIR_MASK   3

Definition at line 92 of file ros_lpk.h.

◆ WINE_GCPW_FORCE_LTR

#define WINE_GCPW_FORCE_LTR   0

Definition at line 88 of file ros_lpk.h.

◆ WINE_GCPW_FORCE_RTL

#define WINE_GCPW_FORCE_RTL   1

Definition at line 89 of file ros_lpk.h.

◆ WINE_GCPW_LOOSE_LTR

#define WINE_GCPW_LOOSE_LTR   2

Definition at line 90 of file ros_lpk.h.

◆ WINE_GCPW_LOOSE_MASK

#define WINE_GCPW_LOOSE_MASK   2

Definition at line 93 of file ros_lpk.h.

◆ WINE_GCPW_LOOSE_RTL

#define WINE_GCPW_LOOSE_RTL   3

Definition at line 91 of file ros_lpk.h.

Typedef Documentation

◆ LPK_LPEDITCONTROL_LIST

◆ PLPK_LPEDITCONTROL_LIST

Function Documentation

◆ BIDI_Reorder()

BOOL BIDI_Reorder ( _In_ HDC  hDC,
_In_ LPCWSTR  lpString,
_In_ INT  uCount,
_In_ DWORD  dwFlags,
_In_ DWORD  dwWineGCP_Flags,
_Out_ LPWSTR  lpOutString,
_In_ INT  uCountOut,
_Out_ UINT lpOrder,
_Out_ WORD **  lpGlyphs,
_Out_ INT cGlyphs 
)

◆ EditAdjustCaret()

DWORD WINAPI EditAdjustCaret ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x5 
)

Definition at line 140 of file stub.c.

141{
143 return 0;
144}
#define UNIMPLEMENTED
Definition: stub.c:14

◆ EditCchInWidth()

DWORD WINAPI EditCchInWidth ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5 
)

Definition at line 79 of file stub.c.

80{
82 return 0;
83}

◆ EditCreate()

DWORD WINAPI EditCreate ( DWORD  x1,
DWORD  x2 
)

Definition at line 61 of file stub.c.

62{
64 return 0;
65}

◆ EditCreateCaret()

DWORD WINAPI EditCreateCaret ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5 
)

Definition at line 134 of file stub.c.

135{
137 return 0;
138}

◆ EditDrawText()

DWORD WINAPI EditDrawText ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5,
DWORD  x6,
DWORD  x7 
)

Definition at line 92 of file stub.c.

93{
95 return 0;
96}

◆ EditGetLineWidth()

DWORD WINAPI EditGetLineWidth ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4 
)

Definition at line 86 of file stub.c.

87{
89 return 0;
90}

◆ EditHScroll()

DWORD WINAPI EditHScroll ( DWORD  x1,
DWORD  x2,
DWORD  x3 
)

Definition at line 98 of file stub.c.

99{
101 return 0;
102}

◆ EditIchToXY()

DWORD WINAPI EditIchToXY ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5 
)

Definition at line 67 of file stub.c.

68{
70 return 0;
71}

◆ EditMouseToIch()

DWORD WINAPI EditMouseToIch ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5 
)

Definition at line 73 of file stub.c.

74{
76 return 0;
77}

◆ EditMoveSelection()

DWORD WINAPI EditMoveSelection ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5 
)

Definition at line 104 of file stub.c.

105{
107 return 0;
108}

◆ EditNextWord()

DWORD WINAPI EditNextWord ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5,
DWORD  x6,
DWORD  x7 
)

Definition at line 116 of file stub.c.

117{
119 return 0;
120}

◆ EditProcessMenu()

DWORD WINAPI EditProcessMenu ( DWORD  x1,
DWORD  x2 
)

Definition at line 128 of file stub.c.

129{
131 return 0;
132}

◆ EditSetMenu()

DWORD WINAPI EditSetMenu ( DWORD  x1,
DWORD  x2 
)

Definition at line 122 of file stub.c.

123{
125 return 0;
126}

◆ EditVerifyText()

DWORD WINAPI EditVerifyText ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5,
DWORD  x6 
)

Definition at line 110 of file stub.c.

111{
113 return 0;
114}

◆ ftsWordBreak()

DWORD WINAPI ftsWordBreak ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5 
)

Definition at line 55 of file stub.c.

56{
58 return 0;
59}

◆ LpkDrawTextEx()

DWORD WINAPI LpkDrawTextEx ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5,
DWORD  x6,
DWORD  x7,
DWORD  x8,
DWORD  x9,
DWORD  x10 
)

Definition at line 37 of file stub.c.

38{
40 return 0;
41}

◆ LpkExtTextOut()

BOOL WINAPI LpkExtTextOut ( HDC  hdc,
int  x,
int  y,
UINT  fuOptions,
const RECT lprc,
LPCWSTR  lpString,
UINT  uCount,
const INT lpDx,
INT  unknown 
)

Definition at line 193 of file lpk.c.

203{
205 LPWSTR reordered_str = NULL;
206 INT cGlyphs;
207 DWORD dwSICFlags = SIC_COMPLEX;
208 BOOL bResult, bReorder;
209
211
212 fuOptions |= ETO_IGNORELANGUAGE;
213
214 /* Check text direction */
216 fuOptions |= ETO_RTLREADING;
217
218 /* If text direction is RTL change flag to account neutral characters */
219 if (fuOptions & ETO_RTLREADING)
220 dwSICFlags |= SIC_NEUTRAL;
221
222 /* Check if the string requires complex script processing and not a "glyph indices" array */
223 if (ScriptIsComplex(lpString, uCount, dwSICFlags) == S_OK && !(fuOptions & ETO_GLYPH_INDEX))
224 {
225 /* reordered_str is used as fallback in case the glyphs array fails to generate,
226 BIDI_Reorder() doesn't attempt to write into reordered_str if memory allocation fails */
227 reordered_str = HeapAlloc(GetProcessHeap(), 0, uCount * sizeof(WCHAR));
228
229 bReorder = BIDI_Reorder(hdc, lpString, uCount, GCP_REORDER,
230 (fuOptions & ETO_RTLREADING) ? WINE_GCPW_FORCE_RTL : WINE_GCPW_FORCE_LTR,
231 reordered_str, uCount, NULL, &glyphs, &cGlyphs);
232
233 /* Now display the reordered text if any of the arrays is valid and if BIDI_Reorder() succeeded */
234 if ((glyphs || reordered_str) && bReorder)
235 {
236 if (glyphs)
237 {
238 fuOptions |= ETO_GLYPH_INDEX;
239 uCount = cGlyphs;
240 }
241
242 bResult = ExtTextOutW(hdc, x, y, fuOptions, lprc,
243 glyphs ? (LPWSTR)glyphs : reordered_str, uCount, lpDx);
244 }
245 else
246 {
247 WARN("BIDI_Reorder failed, falling back to original string.\n");
248 bResult = ExtTextOutW(hdc, x, y, fuOptions, lprc, lpString, uCount, lpDx);
249 }
250
252 HeapFree(GetProcessHeap(), 0, reordered_str);
253
254 return bResult;
255 }
256
257 return ExtTextOutW(hdc, x, y, fuOptions, lprc, lpString, uCount, lpDx);
258}
#define WARN(fmt,...)
Definition: precomp.h:61
#define NULL
Definition: types.h:112
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1605
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HeapFree(x, y, z)
Definition: compat.h:735
HRESULT WINAPI ScriptIsComplex(const WCHAR *chars, int len, DWORD flag)
Definition: usp10.c:3074
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD WINAPI GetLayout(_In_ HDC hdc)
Definition: coord.c:750
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
#define S_OK
Definition: intsafe.h:52
BOOL BIDI_Reorder(HDC hDC, LPCWSTR lpString, INT uCount, DWORD dwFlags, DWORD dwWineGCP_Flags, LPWSTR lpOutString, INT uCountOut, UINT *lpOrder, WORD **lpGlyphs, INT *cGlyphs)
Definition: bidi.c:320
HDC hdc
Definition: main.c:9
static UINT UINT LPWORD glyphs
Definition: font.c:44
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:325
#define WINE_GCPW_FORCE_LTR
Definition: ros_lpk.h:88
#define WINE_GCPW_FORCE_RTL
Definition: ros_lpk.h:89
uint16_t * LPWORD
Definition: typedefs.h:56
int32_t INT
Definition: typedefs.h:58
#define SIC_COMPLEX
Definition: usp10.h:56
#define SIC_NEUTRAL
Definition: usp10.h:58
_In_ FONTOBJ _In_ ULONG _In_ ULONG cGlyphs
Definition: winddi.h:3799
UINT WINAPI GetTextAlign(_In_ HDC)
Definition: text.c:838
#define LAYOUT_RTL
Definition: wingdi.h:1371
#define TA_RTLREADING
Definition: wingdi.h:934
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCWSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
#define GCP_REORDER
Definition: wingdi.h:843
_In_ int _Inout_ LPRECT lprc
Definition: winuser.h:4469
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184

◆ LpkGetCharacterPlacement()

DWORD WINAPI LpkGetCharacterPlacement ( HDC  hdc,
LPCWSTR  lpString,
INT  uCount,
INT  nMaxExtent,
GCP_RESULTSW lpResults,
DWORD  dwFlags,
DWORD  dwUnused 
)

◆ LpkGetTextExtentExPoint()

BOOL WINAPI LpkGetTextExtentExPoint ( HDC  hdc,
LPCWSTR  lpString,
INT  cString,
INT  nMaxExtent,
LPINT  lpnFit,
LPINT  lpnDx,
LPSIZE  lpSize,
DWORD  dwUnused,
int  unknown 
)

Definition at line 425 of file lpk.c.

435{
437 HRESULT hr;
438 INT i, extent, *Dx;
440
441 UNREFERENCED_PARAMETER(dwUnused);
443
444 if (cString < 0 || !lpSize)
445 return FALSE;
446
447 if (cString == 0 || !lpString)
448 {
449 lpSize->cx = 0;
450 lpSize->cy = 0;
451 return TRUE;
452 }
453
454 /* Check if any processing is required */
455 if (ScriptIsComplex(lpString, cString, SIC_COMPLEX) != S_OK)
456 goto fallback;
457
458 hr = ScriptStringAnalyse(hdc, lpString, cString, 3 * cString / 2 + 16, -1,
459 SSA_GLYPHS, 0, NULL, NULL, NULL, NULL, NULL, &ssa);
460 if (hr != S_OK)
461 goto fallback;
462
463 /* Use logic from TextIntGetTextExtentPoint() */
464 Dx = HeapAlloc(GetProcessHeap(), 0, cString * sizeof(INT));
465 if (!Dx)
466 {
467 ScriptStringFree(&ssa);
468 goto fallback;
469 }
470
471 if (lpnFit)
472 *lpnFit = 0;
473
475
476 for (i = 0, extent = 0; i < cString; i++)
477 {
478 extent += Dx[i];
479
480 if (extent <= nMaxExtent && lpnFit)
481 *lpnFit = i + 1;
482
483 if (lpnDx)
484 lpnDx[i] = extent;
485 }
486
487 HeapFree(GetProcessHeap(), 0, Dx);
488 ScriptStringFree(&ssa);
489
490 if (!GetTextMetricsW(hdc, &tm))
491 return GetTextExtentExPointWPri(hdc, lpString, cString, 0, NULL, NULL, lpSize);
492
493 lpSize->cx = extent;
494 lpSize->cy = tm.tmHeight;
495
496 return TRUE;
497
498fallback:
499 return GetTextExtentExPointWPri(hdc, lpString, cString, nMaxExtent, lpnFit, lpnDx, lpSize);
500}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
HRESULT WINAPI ScriptStringFree(SCRIPT_STRING_ANALYSIS *pssa)
Definition: usp10.c:2556
HRESULT WINAPI ScriptStringGetLogicalWidths(SCRIPT_STRING_ANALYSIS ssa, int *piDx)
Definition: usp10.c:3804
HRESULT WINAPI ScriptStringAnalyse(HDC hdc, const void *pString, int cString, int cGlyphs, int iCharset, DWORD dwFlags, int iReqWidth, SCRIPT_CONTROL *psControl, SCRIPT_STATE *psState, const int *piDx, SCRIPT_TABDEF *pTabdef, const BYTE *pbInClass, SCRIPT_STRING_ANALYSIS *pssa)
Definition: usp10.c:1985
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
HRESULT hr
Definition: shlfolder.c:183
LONG cx
Definition: windef.h:334
LONG cy
Definition: windef.h:335
Definition: time.h:68
BOOL WINAPI GetTextExtentExPointWPri(HDC hdc, LPCWSTR lpwsz, INT cwc, INT dxMax, LPINT pcCh, LPINT pdxOut, LPSIZE psize)
#define SSA_GLYPHS
Definition: usp10.h:40
BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW)
Definition: text.c:221

◆ LpkInitialize()

DWORD WINAPI LpkInitialize ( DWORD  x1)

Definition at line 19 of file stub.c.

20{
22 return 0;
23}

◆ LpkPresent()

VOID WINAPI LpkPresent ( VOID  )

◆ LpkPSMTextOut()

INT WINAPI LpkPSMTextOut ( HDC  hdc,
int  x,
int  y,
LPCWSTR  lpString,
int  cString,
DWORD  dwFlags 
)

Definition at line 380 of file lpk.c.

381{
382 SIZE size;
384 int prefix_offset, len;
385 LPWSTR display_str = NULL;
386
387 if (!lpString || cString <= 0)
388 return 0;
389
390 if (dwFlags & DT_NOPREFIX)
391 {
392 LpkExtTextOut(hdc, x, y, 0, NULL, lpString, cString, NULL, 0);
393 GetTextExtentPointW(hdc, lpString, cString, &size);
394 return size.cx;
395 }
396
397 display_str = HeapAlloc(GetProcessHeap(), 0, (cString + 1) * sizeof(WCHAR));
398
399 if (!display_str)
400 return 0;
401
402 PSM_PrepareToDraw(lpString, cString, display_str, &len);
403
404 if (!(dwFlags & DT_PREFIXONLY))
405 LpkExtTextOut(hdc, x, y, 0, NULL, display_str, len, NULL, 0);
406
407 if (!(dwFlags & DT_HIDEPREFIX))
408 {
409 prefix_offset = PSM_FindLastPrefix(lpString, cString);
411 LPK_DrawUnderscore(hdc, x, y + tm.tmAscent + 1, display_str, len, prefix_offset);
412 }
413
414 GetTextExtentPointW(hdc, display_str, len + 1, &size);
415 HeapFree(GetProcessHeap(), 0, display_str);
416
417 return size.cx;
418}
LPKETO LpkExtTextOut
Definition: utils.c:5
GLsizeiptr size
Definition: glext.h:5919
GLenum GLsizei len
Definition: glext.h:6722
static void PSM_PrepareToDraw(LPCWSTR str, INT count, LPWSTR new_str, LPINT new_count)
Definition: lpk.c:41
static void LPK_DrawUnderscore(HDC hdc, int x, int y, LPCWSTR str, int count, int offset)
Definition: lpk.c:66
static int PSM_FindLastPrefix(LPCWSTR str, int count)
Definition: lpk.c:22
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
BOOL WINAPI GetTextExtentPointW(_In_ HDC hdc, _In_reads_(c) LPCWSTR lpString, _In_ int c, _Out_ LPSIZE lpsz)
#define DT_NOPREFIX
Definition: winuser.h:537
#define DT_PREFIXONLY
Definition: winuser.h:548
#define DT_HIDEPREFIX
Definition: winuser.h:547

◆ LpkTabbedTextOut()

DWORD WINAPI LpkTabbedTextOut ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5,
DWORD  x6,
DWORD  x7,
DWORD  x8,
DWORD  x9,
DWORD  x10,
DWORD  x11,
DWORD  x12 
)

Definition at line 28 of file stub.c.

29{
31 return 0;
32}

◆ LpkUseGDIWidthCache()

DWORD WINAPI LpkUseGDIWidthCache ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4,
DWORD  x5 
)

Definition at line 46 of file stub.c.

47{
49 return 0;
50}