< prev index next >
src/java.desktop/share/native/libfreetype/src/base/ftoutln.c
Print this page
*** 44,55 ****
FT_Outline_Decompose( FT_Outline* outline,
const FT_Outline_Funcs* func_interface,
void* user )
{
#undef SCALED
! #define SCALED( x ) ( ( (x) < 0 ? -( -(x) << shift ) \
! : ( (x) << shift ) ) - delta )
FT_Vector v_last;
FT_Vector v_control;
FT_Vector v_start;
--- 44,54 ----
FT_Outline_Decompose( FT_Outline* outline,
const FT_Outline_Funcs* func_interface,
void* user )
{
#undef SCALED
! #define SCALED( x ) ( (x) * ( 1L << shift ) - delta )
FT_Vector v_last;
FT_Vector v_control;
FT_Vector v_start;
*** 619,628 ****
--- 618,637 ----
renderer = library->cur_renderer;
node = library->renderers.head;
params->source = (void*)outline;
+ /* preset clip_box for direct mode */
+ if ( params->flags & FT_RASTER_FLAG_DIRECT &&
+ !( params->flags & FT_RASTER_FLAG_CLIP ) )
+ {
+ params->clip_box.xMin = cbox.xMin >> 6;
+ params->clip_box.yMin = cbox.yMin >> 6;
+ params->clip_box.xMax = ( cbox.xMax + 63 ) >> 6;
+ params->clip_box.yMax = ( cbox.yMax + 63 ) >> 6;
+ }
+
error = FT_ERR( Cannot_Render_Glyph );
while ( renderer )
{
error = renderer->raster_render( renderer->raster, params );
if ( !error || FT_ERR_NEQ( error, Cannot_Render_Glyph ) )
< prev index next >