Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 1882 of file ftstroke.c.
{ FT_Error error = FT_Err_Invalid_Argument; FT_Glyph glyph = NULL; FT_Library library = stroker->library; FT_UNUSED(library); if ( pglyph == NULL ) goto Exit; glyph = *pglyph; if ( glyph == NULL || glyph->clazz != FT_OUTLINE_GLYPH_CLASS_GET ) goto Exit; { FT_Glyph copy; error = FT_Glyph_Copy( glyph, © ); if ( error ) goto Exit; glyph = copy; } { FT_OutlineGlyph oglyph = (FT_OutlineGlyph) glyph; FT_Outline* outline = &oglyph->outline; FT_UInt num_points, num_contours; error = FT_Stroker_ParseOutline( stroker, outline, FALSE ); if ( error ) goto Fail; (void)FT_Stroker_GetCounts( stroker, &num_points, &num_contours ); FT_Outline_Done( glyph->library, outline ); error = FT_Outline_New( glyph->library, num_points, num_contours, outline ); if ( error ) goto Fail; outline->n_points = 0; outline->n_contours = 0; FT_Stroker_Export( stroker, outline ); } if ( destroy ) FT_Done_Glyph( *pglyph ); *pglyph = glyph; goto Exit; Fail: FT_Done_Glyph( glyph ); glyph = NULL; if ( !destroy ) *pglyph = NULL; Exit: return error; }