Lines Matching defs:border

327   ft_stroke_border_grow( FT_StrokeBorder  border,
330 FT_UInt old_max = border->max_points;
331 FT_UInt new_max = border->num_points + new_points;
338 FT_Memory memory = border->memory;
344 if ( FT_RENEW_ARRAY( border->points, old_max, cur_max ) ||
345 FT_RENEW_ARRAY( border->tags, old_max, cur_max ) )
348 border->max_points = cur_max;
357 ft_stroke_border_close( FT_StrokeBorder border,
360 FT_UInt start = (FT_UInt)border->start;
361 FT_UInt count = border->num_points;
364 FT_ASSERT( border->start >= 0 );
368 border->num_points = start;
373 border->num_points = --count;
374 border->points[start] = border->points[count];
380 FT_Vector* vec1 = border->points + start + 1;
381 FT_Vector* vec2 = border->points + count - 1;
397 FT_Byte* tag1 = border->tags + start + 1;
398 FT_Byte* tag2 = border->tags + count - 1;
413 border->tags[start ] |= FT_STROKE_TAG_BEGIN;
414 border->tags[count - 1] |= FT_STROKE_TAG_END;
417 border->start = -1;
418 border->movable = FALSE;
423 ft_stroke_border_lineto( FT_StrokeBorder border,
430 FT_ASSERT( border->start >= 0 );
432 if ( border->movable )
435 border->points[border->num_points - 1] = *to;
440 if ( border->num_points > 0 &&
441 FT_IS_SMALL( border->points[border->num_points - 1].x - to->x ) &&
442 FT_IS_SMALL( border->points[border->num_points - 1].y - to->y ) )
446 error = ft_stroke_border_grow( border, 1 );
449 FT_Vector* vec = border->points + border->num_points;
450 FT_Byte* tag = border->tags + border->num_points;
456 border->num_points += 1;
459 border->movable = movable;
465 ft_stroke_border_conicto( FT_StrokeBorder border,
472 FT_ASSERT( border->start >= 0 );
474 error = ft_stroke_border_grow( border, 2 );
477 FT_Vector* vec = border->points + border->num_points;
478 FT_Byte* tag = border->tags + border->num_points;
487 border->num_points += 2;
490 border->movable = FALSE;
497 ft_stroke_border_cubicto( FT_StrokeBorder border,
505 FT_ASSERT( border->start >= 0 );
507 error = ft_stroke_border_grow( border, 3 );
510 FT_Vector* vec = border->points + border->num_points;
511 FT_Byte* tag = border->tags + border->num_points;
522 border->num_points += 3;
525 border->movable = FALSE;
535 ft_stroke_border_arcto( FT_StrokeBorder border,
590 error = ft_stroke_border_cubicto( border, &a2, &b2, &b );
605 ft_stroke_border_moveto( FT_StrokeBorder border,
609 if ( border->start >= 0 )
610 ft_stroke_border_close( border, FALSE );
612 border->start = (FT_Int)border->num_points;
613 border->movable = FALSE;
615 return ft_stroke_border_lineto( border, to, FALSE );
620 ft_stroke_border_init( FT_StrokeBorder border,
623 border->memory = memory;
624 border->points = NULL;
625 border->tags = NULL;
627 border->num_points = 0;
628 border->max_points = 0;
629 border->start = -1;
630 border->valid = FALSE;
635 ft_stroke_border_reset( FT_StrokeBorder border )
637 border->num_points = 0;
638 border->start = -1;
639 border->valid = FALSE;
644 ft_stroke_border_done( FT_StrokeBorder border )
646 FT_Memory memory = border->memory;
649 FT_FREE( border->points );
650 FT_FREE( border->tags );
652 border->num_points = 0;
653 border->max_points = 0;
654 border->start = -1;
655 border->valid = FALSE;
660 ft_stroke_border_get_counts( FT_StrokeBorder border,
668 FT_UInt count = border->num_points;
669 FT_Vector* point = border->points;
670 FT_Byte* tags = border->tags;
696 border->valid = TRUE;
711 ft_stroke_border_export( FT_StrokeBorder border,
716 border->points,
717 border->num_points );
721 FT_UInt count = border->num_points;
722 FT_Byte* read = border->tags;
739 FT_UInt count = border->num_points;
740 FT_Byte* tags = border->tags;
755 outline->n_points += (short)border->num_points;
898 FT_StrokeBorder border = stroker->borders + side;
907 error = ft_stroke_border_arcto( border,
912 border->movable = FALSE;
940 FT_StrokeBorder border = stroker->borders + side;
949 error = ft_stroke_border_lineto( border, &delta, FALSE );
959 error = ft_stroke_border_lineto( border, &delta, FALSE );
967 FT_StrokeBorder border = stroker->borders + side;
975 error = ft_stroke_border_lineto( border, &delta, FALSE );
984 error = ft_stroke_border_lineto( border, &delta, FALSE );
998 FT_StrokeBorder border = stroker->borders + side;
1013 if ( !border->movable || line_length == 0 ||
1035 border->movable = FALSE;
1051 error = ft_stroke_border_lineto( border, &delta, FALSE );
1063 FT_StrokeBorder border = stroker->borders + side;
1130 border->movable = FALSE;
1131 error = ft_stroke_border_lineto( border, &delta, FALSE );
1155 error = ft_stroke_border_lineto( border, &delta, FALSE );
1164 error = ft_stroke_border_lineto( border, &delta, FALSE );
1179 error = ft_stroke_border_lineto( border, &delta, FALSE );
1195 error = ft_stroke_border_lineto( border, &delta, FALSE );
1209 error = ft_stroke_border_lineto( border, &delta, FALSE );
1261 FT_StrokeBorder border;
1270 border = stroker->borders;
1271 error = ft_stroke_border_moveto( border, &point );
1278 border++;
1279 error = ft_stroke_border_moveto( border, &point );
1299 FT_StrokeBorder border;
1326 /* add a point to each border at their respective starting */
1342 for ( border = stroker->borders, side = 1; side >= 0; side--, border++ )
1351 error = ft_stroke_border_lineto( border, &point, TRUE );
1455 /* border */
1460 FT_StrokeBorder border;
1472 for ( border = stroker->borders, side = 0;
1474 side++, border++ )
1494 /* determine whether the border radius is greater than the */
1496 start = border->points[border->num_points - 1];
1500 /* is the direction of the border arc opposite to */
1529 border->movable = FALSE;
1530 error = ft_stroke_border_lineto( border, &delta, FALSE );
1533 error = ft_stroke_border_lineto( border, &end, FALSE );
1536 error = ft_stroke_border_conicto( border, &ctrl, &start );
1540 error = ft_stroke_border_lineto( border, &end, FALSE );
1551 error = ft_stroke_border_conicto( border, &ctrl, &end );
1661 /* border */
1666 FT_StrokeBorder border;
1681 for ( border = stroker->borders, side = 0;
1683 side++, border++ )
1707 /* determine whether the border radius is greater than the */
1709 start = border->points[border->num_points - 1];
1713 /* is the direction of the border arc opposite to */
1742 border->movable = FALSE;
1743 error = ft_stroke_border_lineto( border, &delta, FALSE );
1746 error = ft_stroke_border_lineto( border, &end, FALSE );
1749 error = ft_stroke_border_cubicto( border,
1756 error = ft_stroke_border_lineto( border, &end, FALSE );
1767 error = ft_stroke_border_cubicto( border, &ctrl1, &ctrl2, &end );
1803 /* Determine if we need to check whether the border radius is greater */
1813 /* record the subpath start point for each border */
1984 FT_StrokerBorder border,
1992 if ( !stroker || border > 1 )
1998 error = ft_stroke_border_get_counts( stroker->borders + border,
2057 FT_StrokerBorder border,
2063 if ( border == FT_STROKER_BORDER_LEFT ||
2064 border == FT_STROKER_BORDER_RIGHT )
2066 FT_StrokeBorder sborder = & stroker->borders[border];
2414 FT_StrokerBorder border;
2419 border = FT_Outline_GetOutsideBorder( outline );
2422 if ( border == FT_STROKER_BORDER_LEFT )
2423 border = FT_STROKER_BORDER_RIGHT;
2425 border = FT_STROKER_BORDER_LEFT;
2432 FT_Stroker_GetBorderCounts( stroker, border,
2447 FT_Stroker_ExportBorder( stroker, border, outline );