Lines Matching refs:border
259 ft_stroke_border_grow( FT_StrokeBorder border,
262 FT_UInt old_max = border->max_points;
263 FT_UInt new_max = border->num_points + new_points;
270 FT_Memory memory = border->memory;
276 if ( FT_RENEW_ARRAY( border->points, old_max, cur_max ) ||
277 FT_RENEW_ARRAY( border->tags, old_max, cur_max ) )
280 border->max_points = cur_max;
289 ft_stroke_border_close( FT_StrokeBorder border,
292 FT_UInt start = border->start;
293 FT_UInt count = border->num_points;
296 FT_ASSERT( border->start >= 0 );
300 border->num_points = start;
305 border->num_points = --count;
306 border->points[start] = border->points[count];
312 FT_Vector* vec1 = border->points + start + 1;
313 FT_Vector* vec2 = border->points + count - 1;
329 FT_Byte* tag1 = border->tags + start + 1;
330 FT_Byte* tag2 = border->tags + count - 1;
345 border->tags[start ] |= FT_STROKE_TAG_BEGIN;
346 border->tags[count - 1] |= FT_STROKE_TAG_END;
349 border->start = -1;
350 border->movable = FALSE;
355 ft_stroke_border_lineto( FT_StrokeBorder border,
362 FT_ASSERT( border->start >= 0 );
364 if ( border->movable )
367 border->points[border->num_points - 1] = *to;
372 error = ft_stroke_border_grow( border, 1 );
375 FT_Vector* vec = border->points + border->num_points;
376 FT_Byte* tag = border->tags + border->num_points;
382 border->num_points += 1;
385 border->movable = movable;
391 ft_stroke_border_conicto( FT_StrokeBorder border,
398 FT_ASSERT( border->start >= 0 );
400 error = ft_stroke_border_grow( border, 2 );
403 FT_Vector* vec = border->points + border->num_points;
404 FT_Byte* tag = border->tags + border->num_points;
412 border->num_points += 2;
414 border->movable = FALSE;
420 ft_stroke_border_cubicto( FT_StrokeBorder border,
428 FT_ASSERT( border->start >= 0 );
430 error = ft_stroke_border_grow( border, 3 );
433 FT_Vector* vec = border->points + border->num_points;
434 FT_Byte* tag = border->tags + border->num_points;
445 border->num_points += 3;
447 border->movable = FALSE;
456 ft_stroke_border_arcto( FT_StrokeBorder border,
511 error = ft_stroke_border_cubicto( border, &a2, &b2, &b );
526 ft_stroke_border_moveto( FT_StrokeBorder border,
530 if ( border->start >= 0 )
531 ft_stroke_border_close( border, FALSE );
533 border->start = border->num_points;
534 border->movable = FALSE;
536 return ft_stroke_border_lineto( border, to, FALSE );
541 ft_stroke_border_init( FT_StrokeBorder border,
544 border->memory = memory;
545 border->points = NULL;
546 border->tags = NULL;
548 border->num_points = 0;
549 border->max_points = 0;
550 border->start = -1;
551 border->valid = FALSE;
556 ft_stroke_border_reset( FT_StrokeBorder border )
558 border->num_points = 0;
559 border->start = -1;
560 border->valid = FALSE;
565 ft_stroke_border_done( FT_StrokeBorder border )
567 FT_Memory memory = border->memory;
570 FT_FREE( border->points );
571 FT_FREE( border->tags );
573 border->num_points = 0;
574 border->max_points = 0;
575 border->start = -1;
576 border->valid = FALSE;
581 ft_stroke_border_get_counts( FT_StrokeBorder border,
589 FT_UInt count = border->num_points;
590 FT_Vector* point = border->points;
591 FT_Byte* tags = border->tags;
617 border->valid = TRUE;
632 ft_stroke_border_export( FT_StrokeBorder border,
637 border->points,
638 border->num_points );
642 FT_UInt count = border->num_points;
643 FT_Byte* read = border->tags;
660 FT_UInt count = border->num_points;
661 FT_Byte* tags = border->tags;
676 outline->n_points = (short)( outline->n_points + border->num_points );
800 FT_StrokeBorder border = stroker->borders + side;
809 error = ft_stroke_border_arcto( border,
814 border->movable = FALSE;
841 FT_StrokeBorder border = stroker->borders + side;
850 error = ft_stroke_border_lineto( border, &delta, FALSE );
860 error = ft_stroke_border_lineto( border, &delta, FALSE );
868 FT_StrokeBorder border = stroker->borders + side;
876 error = ft_stroke_border_lineto( border, &delta, FALSE );
885 error = ft_stroke_border_lineto( border, &delta, FALSE );
898 FT_StrokeBorder border = stroker->borders + side;
926 border->movable = FALSE;
937 error = ft_stroke_border_lineto( border, &delta, FALSE );
948 FT_StrokeBorder border = stroker->borders + side;
1008 error = ft_stroke_border_lineto( border, &delta, FALSE );
1017 error = ft_stroke_border_lineto( border, &delta, FALSE );
1026 error = ft_stroke_border_lineto( border, &delta, TRUE );
1041 error = ft_stroke_border_lineto( border, &delta, FALSE );
1051 error = ft_stroke_border_lineto( border, &delta, TRUE );
1103 FT_StrokeBorder border;
1112 border = stroker->borders;
1113 error = ft_stroke_border_moveto( border, &point );
1120 border++;
1121 error = ft_stroke_border_moveto( border, &point );
1139 FT_StrokeBorder border;
1154 /* add a point to each border at their respective starting */
1171 for ( border = stroker->borders, side = 1; side >= 0; side--, border++ )
1179 error = ft_stroke_border_lineto( border, &point, TRUE );
1247 /* border
1351 /* border */
1418 /* record the subpath start point for each border */
1577 FT_StrokerBorder border,
1585 if ( !stroker || border > 1 )
1591 error = ft_stroke_border_get_counts( stroker->borders + border,
1640 FT_StrokerBorder border,
1643 if ( border == FT_STROKER_BORDER_LEFT ||
1644 border == FT_STROKER_BORDER_RIGHT )
1646 FT_StrokeBorder sborder = & stroker->borders[border];
1985 FT_StrokerBorder border;
1990 border = FT_Outline_GetOutsideBorder( outline );
1993 if ( border == FT_STROKER_BORDER_LEFT )
1994 border = FT_STROKER_BORDER_RIGHT;
1996 border = FT_STROKER_BORDER_LEFT;
2003 (void)FT_Stroker_GetBorderCounts( stroker, border,
2018 FT_Stroker_ExportBorder( stroker, border, outline );