Lines Matching refs:point

247     AF_Point      point    = hints->points + point_idx;
257 if ( point >= segment->first && point <= segment->last )
267 if ( point == p )
311 AF_Point point;
322 for ( point = points; point < limit; point++ )
324 int point_idx = AF_INDEX_NUM( point, points );
332 if ( contour < climit && *contour == point )
347 ( point->flags & AF_FLAG_NEAR )
349 : ( point->flags & AF_FLAG_WEAK_INTERPOLATION )
353 point->fx,
354 point->fy,
355 point->ox / 64.0,
356 point->oy / 64.0,
357 point->x / 64.0,
358 point->y / 64.0 ));
767 * note that we reserve two additional point positions, used to
823 AF_Point point;
841 for ( point = points; point < point_limit; point++, vec++, tag++ )
846 point->in_dir = (FT_Char)AF_DIR_NONE;
847 point->out_dir = (FT_Char)AF_DIR_NONE;
849 point->fx = (FT_Short)vec->x;
850 point->fy = (FT_Short)vec->y;
851 point->ox = point->x = FT_MulFix( vec->x, x_scale ) + x_delta;
852 point->oy = point->y = FT_MulFix( vec->y, y_scale ) + y_delta;
860 point->flags = AF_FLAG_CONIC;
863 point->flags = AF_FLAG_CUBIC;
866 point->flags = AF_FLAG_NONE;
869 out_x = point->fx - prev->fx;
870 out_y = point->fy - prev->fy;
875 point->prev = prev;
876 prev->next = point;
877 prev = point;
879 if ( point == end )
933 /* since the first point of a contour could be part of a */
935 /* non-near point and adjust `first' */
937 point = first;
942 out_x = point->fx - prev->fx;
943 out_y = point->fy - prev->fy;
951 * non-near point even in the worst case.
956 point = prev;
960 /* adjust first point */
961 first = point;
970 * next and previous non-near point, respectively.
972 * To avoid problems with not having non-near points, we point to
973 * `first' by default as the next non-near point.
988 point = next;
989 next = point->next;
991 out_x += next->fx - point->fx;
992 out_y += next->fy - point->fy;
1029 * topological point of the view, the intermediate points are of no
1033 for ( point = points; point < point_limit; point++ )
1035 if ( point->flags & AF_FLAG_WEAK_INTERPOLATION )
1038 if ( point->in_dir == AF_DIR_NONE &&
1039 point->out_dir == AF_DIR_NONE )
1041 /* check whether both vectors point into the same quadrant */
1046 AF_Point next_u = point + point->u;
1047 AF_Point prev_v = point + point->v;
1050 in_x = point->fx - prev_v->fx;
1051 in_y = point->fy - prev_v->fy;
1053 out_x = next_u->fx - point->fx;
1054 out_y = next_u->fy - point->fy;
1058 /* yes, so tag current point as weak */
1061 point->flags |= AF_FLAG_WEAK_INTERPOLATION;
1075 for ( point = points; point < point_limit; point++ )
1077 if ( point->flags & AF_FLAG_WEAK_INTERPOLATION )
1080 if ( point->flags & AF_FLAG_CONTROL )
1084 point->flags |= AF_FLAG_WEAK_INTERPOLATION;
1086 else if ( point->out_dir == point->in_dir )
1088 if ( point->out_dir != AF_DIR_NONE )
1090 /* current point lies on a horizontal or */
1096 AF_Point next_u = point + point->u;
1097 AF_Point prev_v = point + point->v;
1100 if ( ft_corner_is_flat( point->fx - prev_v->fx,
1101 point->fy - prev_v->fy,
1102 next_u->fx - point->fx,
1103 next_u->fy - point->fy ) )
1106 /* dominant than the other one, so tag current point */
1116 else if ( point->in_dir == -point->out_dir )
1118 /* current point forms a spike */
1136 AF_Point point = hints->points;
1137 AF_Point limit = point + hints->num_points;
1142 for ( ; point < limit; point++, vec++, tag++ )
1144 vec->x = point->x;
1145 vec->y = point->y;
1147 if ( point->flags & AF_FLAG_CONIC )
1149 else if ( point->flags & AF_FLAG_CUBIC )
1182 AF_Point point, first, last;
1190 point = first;
1193 point->x = edge->pos;
1194 point->flags |= AF_FLAG_TOUCH_X;
1196 if ( point == last )
1199 point = point->next;
1208 AF_Point point, first, last;
1216 point = first;
1219 point->y = edge->pos;
1220 point->flags |= AF_FLAG_TOUCH_Y;
1222 if ( point == last )
1225 point = point->next;
1261 AF_Point point;
1265 for ( point = points; point < point_limit; point++ )
1267 FT_Pos u, ou, fu; /* point position */
1271 if ( point->flags & touch_flag )
1274 /* if this point is candidate to weak interpolation, we */
1277 if ( ( point->flags & AF_FLAG_WEAK_INTERPOLATION ) )
1282 u = point->fy;
1283 ou = point->oy;
1287 u = point->fx;
1288 ou = point->ox;
1293 /* is the point before the first edge? */
1302 /* is the point after the last edge? */
1358 /* point is not on an edge */
1375 /* save the point position */
1377 point->x = u;
1379 point->y = u;
1381 point->flags |= touch_flag;
1502 AF_Point point;
1513 for ( point = points; point < point_limit; point++ )
1515 point->u = point->x;
1516 point->v = point->ox;
1523 for ( point = points; point < point_limit; point++ )
1525 point->u = point->y;
1526 point->v = point->oy;
1535 point = *contour;
1536 end_point = point->prev;
1537 first_point = point;
1539 /* find first touched point */
1542 if ( point > end_point ) /* no touched point in contour */
1545 if ( point->flags & touch_flag )
1548 point++;
1551 first_touched = point;
1555 FT_ASSERT( point <= end_point &&
1556 ( point->flags & touch_flag ) != 0 );
1559 while ( point < end_point &&
1560 ( point[1].flags & touch_flag ) != 0 )
1561 point++;
1563 last_touched = point;
1565 /* find the next touched point, if any */
1566 point++;
1569 if ( point > end_point )
1572 if ( ( point->flags & touch_flag ) != 0 )
1575 point++;
1578 /* interpolate between last_touched and point */
1579 af_iup_interp( last_touched + 1, point - 1,
1580 last_touched, point );
1584 /* special case: only one point was touched */
1606 for ( point = points; point < point_limit; point++ )
1607 point->x = point->u;
1611 for ( point = points; point < point_limit; point++ )
1612 point->y = point->u;
1629 AF_Point point;
1634 for ( point = points; point < points_limit; point++ )
1635 point->x = FT_MulFix( point->fx, scale ) + delta;
1639 for ( point = points; point < points_limit; point++ )
1640 point->y = FT_MulFix( point->fy, scale ) + delta;