Home | History | Annotate | Download | only in base

Lines Matching refs:outline

5 /*    FreeType outline management (body).                                  */
50 FT_Outline_Decompose( FT_Outline* outline,
67 FT_Int n; /* index of contour in outline */
75 if ( !outline || !func_interface )
82 for ( n = 0; n < outline->n_contours; n++ )
87 FT_TRACE5(( "FT_Outline_Decompose: Outline %d\n", n ));
89 last = outline->contours[n];
92 limit = outline->points + last;
94 v_start = outline->points[first];
98 v_last = outline->points[last];
104 point = outline->points + first;
105 tags = outline->tags + first;
116 if ( FT_CURVE_TAG( outline->tags[last] ) == FT_CURVE_TAG_ON )
345 FT_Outline_Check( FT_Outline* outline )
347 if ( outline )
349 FT_Int n_points = outline->n_points;
350 FT_Int n_contours = outline->n_contours;
366 end = outline->contours[n];
423 FT_Outline* outline )
425 if ( memory && outline )
427 if ( outline->flags & FT_OUTLINE_OWNER )
429 FT_FREE( outline->points );
430 FT_FREE( outline->tags );
431 FT_FREE( outline->contours );
433 *outline = null_outline;
446 FT_Outline* outline )
448 /* check for valid `outline' in FT_Outline_Done_Internal() */
453 return FT_Outline_Done_Internal( library->memory, outline );
460 FT_Outline_Get_CBox( const FT_Outline* outline,
466 if ( outline && acbox )
468 if ( outline->n_points == 0 )
477 FT_Vector* vec = outline->points;
478 FT_Vector* limit = vec + outline->n_points;
510 FT_Outline_Translate( const FT_Outline* outline,
518 if ( !outline )
521 vec = outline->points;
523 for ( n = 0; n < outline->n_points; n++ )
535 FT_Outline_Reverse( FT_Outline* outline )
541 if ( !outline )
546 for ( n = 0; n < outline->n_contours; n++ )
548 last = outline->contours[n];
552 FT_Vector* p = outline->points + first;
553 FT_Vector* q = outline->points + last;
569 char* p = outline->tags + first;
570 char* q = outline->tags + last;
587 outline->flags ^= FT_OUTLINE_REVERSE_FILL;
595 FT_Outline* outline,
607 if ( !outline || !params )
613 outline;
646 FT_Outline* outline,
665 return FT_Outline_Render( library, outline, &params );
695 FT_Outline_Transform( const FT_Outline* outline,
702 if ( !outline || !matrix )
705 vec = outline->points;
706 limit = vec + outline->n_points;
715 #define FT_OUTLINE_GET_CONTOUR( outline, c, first, last ) \
717 (first) = ( c > 0 ) ? (outline)->points + \
718 (outline)->contours[c - 1] + 1 \
719 : (outline)->points; \
720 (last) = (outline)->points + (outline)->contours[c]; \
730 ft_contour_has( FT_Outline* outline,
741 FT_OUTLINE_GET_CONTOUR( outline, c, first, last );
779 ft_contour_enclosed( FT_Outline* outline,
787 FT_OUTLINE_GET_CONTOUR( outline, c, first, last );
789 for ( i = 0; i < outline->n_contours; i++ )
791 if ( i != c && ft_contour_has( outline, i, first ) )
797 if ( !ft_contour_has( outline, i, pt ) )
810 /* outline is checked for orientation. This is */
813 ft_outline_get_orientation( FT_Outline* outline )
821 first = outline->points;
822 for ( i = 0; i < outline->n_contours; i++, first = last + 1 )
829 last = outline->points + outline->contours[i];
835 if ( ft_contour_enclosed( outline, i ) )
882 FT_Outline_Embolden( FT_Outline* outline,
892 if ( !outline )
899 orientation = FT_Outline_Get_Orientation( outline );
902 if ( outline->n_contours )
913 points = outline->points;
916 for ( c = 0; c < outline->n_contours; c++ )
918 int last = outline->contours[c];
959 outline->points[n].x = v_cur.x + strength + in.x;
960 outline->points[n].y = v_cur.y + strength + in.y;
976 FT_Outline_Get_Orientation( FT_Outline* outline )
997 if ( !outline || outline->n_points <= 0 )
1005 first = outline->points;
1006 for ( contour = outline->contours;
1007 contour < outline->contours + outline->n_contours;
1016 last = outline->points + *contour;