|
|
|
@ -168,16 +168,34 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ( value_is_string == TRUE ) |
|
|
|
|
return FT_THROW( Invalid_Argument ); |
|
|
|
|
{ |
|
|
|
|
error = FT_THROW( Invalid_Argument ); |
|
|
|
|
goto Exit; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
hooks = (SVG_RendererHooks*)value; |
|
|
|
|
|
|
|
|
|
if ( !hooks->init_svg || |
|
|
|
|
!hooks->free_svg || |
|
|
|
|
!hooks->render_svg || |
|
|
|
|
!hooks->preset_slot ) |
|
|
|
|
{ |
|
|
|
|
FT_TRACE0(( "ft_svg_property_set:" |
|
|
|
|
" SVG rendering hooks not set because\n" )); |
|
|
|
|
FT_TRACE0(( " " |
|
|
|
|
" at least one function pointer is NULL\n" )); |
|
|
|
|
|
|
|
|
|
error = FT_THROW( Invalid_Argument ); |
|
|
|
|
goto Exit; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
renderer->hooks = *hooks; |
|
|
|
|
renderer->hooks_set = TRUE; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
error = FT_THROW( Missing_Property ); |
|
|
|
|
|
|
|
|
|
Exit: |
|
|
|
|
return error; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|