RaspRasterize
INT64 __fastcall RaspRasterize(
INT64 a1,
UINT16 a2,
INT64 a3,
INT64 a4,
UINT64 a5,
INT64 a6,
INT64 a7,
INT64 *a8,
INT64 *a9){
__int64 *v9;
INT64 v11;
int UnscaledGlyphData;
int v13;
__int64 v14;
int v15;
INT64 v16;
int v17;
INT64 v19;
INT64 a1a;
INT64 v21;
INT64 v22;
v9 = a9;
LODWORD(v22) = 0;
v19 = 0i64;
v11 = *(_QWORD *)(a1 + 8);
a1a = 0i64;
v21 = 0i64;
UnscaledGlyphData = RaspGetUnscaledGlyphData(v11, a2, &v21, &v22, (INT64)a9);
if( UnscaledGlyphData >= 0 )
{
UnscaledGlyphData = RaspScaleCoordinates(a1, v21);
if( UnscaledGlyphData >= 0 )
{
v13 = RaspCreatePointList(v21, &a1a, v9);
v16 = a1a;
UnscaledGlyphData = v13;
if( v13 >= 0 )
{
UnscaledGlyphData = RaspScanConvert(v21, a1a, v14, v15, a5, (__int64 **)&v19, (int *)a8, v9);
if( UnscaledGlyphData < 0 )
{
if( v19 )
RaspFreeMemory(v19, v9);
}
else
{
v17 = *(_DWORD *)(v19 + 4) >> 2;
*(_QWORD *)a6 = v19;
*(_DWORD *)a7 = v17;
}
}
if( v16 )
RaspFreeMemory(v16, v9);
}
}
if( v21 )
RaspFreeMemory(v21, v9);
return(unsigned int)UnscaledGlyphData;
}Referenced by:
BgpRasPrintGlyph
RaspGetXExtent