BgpFoGetStringAdvanceWidth
INT64 __fastcall BgpFoGetStringAdvanceWidth(INT64 a1, INT64 a2, _DWORD *a3, INT64 a4){
__int16 v6;
__int64 v8;
unsigned __int16 v9;
int GlyphAdvanceWidth;
int v12;
int v13;
v13 = HIDWORD(a4);
v12 = 0;
v6 = *(_WORD *)a2 & 0xFFFE;
*a3 = 0;
v8 = 0i64;
v9 = 0;
if( v6 )
{
do
{
GlyphAdvanceWidth = BgpRasGetGlyphAdvanceWidth(
a1,
*(_WORD *)(*(_QWORD *)(a2 + 8) + 2i64 * v9),
&v12,
v8,
(__int128 *)&BcpWorkspace);
v8 = (unsigned int)GlyphAdvanceWidth;
if( GlyphAdvanceWidth < 0 )
break;
++v9;
*a3 += v12;
}
while( v9 < (unsigned __int16)(*(_WORD *)a2 >> 1) );
}
return(unsigned int)v8;
}Referenced by:
BcpDisplayCriticalString