Lines Matching refs:rowData
439 void precomputation_for_row(RowData *rowData, const PathSegment& segment, in precomputation_for_row() argument
448 rowData->fQuadXDirection = (int)sign_of(segment.fP2T.fX - segment.fP0T.fX); in precomputation_for_row()
449 rowData->fScanlineXDirection = (int)sign_of(xFormPtRight.fX - xFormPtLeft.fX); in precomputation_for_row()
457 rowData->fIntersectionType = RowData::kVerticalLine; in precomputation_for_row()
458 rowData->fYAtIntersection = x1 * x1; in precomputation_for_row()
459 rowData->fScanlineXDirection = 0; in precomputation_for_row()
474 if ((rowData->fScanlineXDirection == 1 && in precomputation_for_row()
478 rowData->fIntersectionType = RowData::kTangentLine; in precomputation_for_row()
479 rowData->fXAtIntersection1 = m / 2.0; in precomputation_for_row()
480 rowData->fXAtIntersection2 = m / 2.0; in precomputation_for_row()
482 rowData->fIntersectionType = RowData::kNoIntersection; in precomputation_for_row()
485 rowData->fIntersectionType = RowData::kTwoPointsIntersect; in precomputation_for_row()
487 rowData->fXAtIntersection1 = (m + d) / 2.0; in precomputation_for_row()
488 rowData->fXAtIntersection2 = (m - d) / 2.0; in precomputation_for_row()
496 const RowData& rowData) { in calculate_side_of_quad() argument
499 if (RowData::kVerticalLine == rowData.fIntersectionType) { in calculate_side_of_quad()
500 … side = (SegSide)(int)(sign_of(xFormPt.fY - rowData.fYAtIntersection) * rowData.fQuadXDirection); in calculate_side_of_quad()
502 else if (RowData::kTwoPointsIntersect == rowData.fIntersectionType) { in calculate_side_of_quad()
503 const double p1 = rowData.fXAtIntersection1; in calculate_side_of_quad()
504 const double p2 = rowData.fXAtIntersection2; in calculate_side_of_quad()
510 if (rowData.fScanlineXDirection == 1) { in calculate_side_of_quad()
511 if ((rowData.fQuadXDirection == -1 && segment.fPts[0].fY <= point.fY && in calculate_side_of_quad()
513 (rowData.fQuadXDirection == 1 && segment.fPts[2].fY <= point.fY && in calculate_side_of_quad()
517 if ((rowData.fQuadXDirection == -1 && segment.fPts[2].fY <= point.fY && in calculate_side_of_quad()
519 (rowData.fQuadXDirection == 1 && segment.fPts[0].fY <= point.fY && in calculate_side_of_quad()
527 side = (SegSide)(signP1 * rowData.fQuadXDirection); in calculate_side_of_quad()
533 side = (SegSide)(-signP2 * rowData.fQuadXDirection); in calculate_side_of_quad()
536 } else if (RowData::kTangentLine == rowData.fIntersectionType) { in calculate_side_of_quad()
539 const double p = rowData.fXAtIntersection1; in calculate_side_of_quad()
541 if (rowData.fScanlineXDirection == 1) { in calculate_side_of_quad()
556 const RowData& rowData, in distance_to_segment() argument
604 *side = calculate_side_of_quad(segment, point, xformPt, rowData); in distance_to_segment()
644 RowData rowData; in calculate_distance_field_data() local
652 precomputation_for_row(&rowData, segment, pointLeft, pointRight); in calculate_distance_field_data()
675 float currDistSq = distance_to_segment(point, segment, rowData, &side); in calculate_distance_field_data()