Lines Matching refs:part

1631 void DrawUtils::DrawTriangleTransformPart(BufferInfo& gfxDstBuffer, const TrianglePartInfo& part)
1635 int64_t yMin = FO_TRANS_INTEGER_TO_FIXED(part.yMin);
1636 part.edge1.curX += (static_cast<int64_t>(part.edge1.du) * (yMin - part.edge1.curY) / part.edge1.dv);
1637 part.edge1.curY = yMin;
1638 part.edge2.curX += (static_cast<int64_t>(part.edge2.du) * (yMin - part.edge2.curY) / part.edge2.dv);
1639 part.edge2.curY = yMin;
1641 line.SetLeft(FO_TO_INTEGER(part.edge1.curX));
1642 line.SetRight(FO_TO_INTEGER(part.edge1.curX));
1643 line.SetTop(FO_TO_INTEGER(part.edge1.curY));
1644 line.SetBottom(FO_TO_INTEGER(part.edge1.curY));
1647 part.edge1.curX += part.edge1.du * (part.yMin - part.edge1.curY) / part.edge1.dv;
1648 part.edge1.curY = part.yMin;
1649 part.edge2.curX += part.edge2.du * (part.yMin - part.edge2.curY) / part.edge2.dv;
1650 part.edge2.curY = part.yMin;
1652 line.SetLeft(static_cast<int16_t>(part.edge1.curX));
1653 line.SetRight(static_cast<int16_t>(part.edge1.curX));
1654 line.SetTop(static_cast<int16_t>(part.edge1.curY));
1655 line.SetBottom(static_cast<int16_t>(part.edge1.curY));
1658 GetTransformInitState(part.transMap, part.position, line, init);
1664 GetInstance()->SetFucInfo(gfxDstBuffer, part, screenBuffer, init);
1667 void DrawUtils::SetFucInfo(BufferInfo& gfxDstBuffer, const TrianglePartInfo& part,
1675 bool isTrueColor = (part.info.header.colorMode == ARGB8888) || (part.info.header.colorMode == RGB888) ||
1676 (part.info.header.colorMode == RGB565) || (part.info.header.colorMode == XRGB8888);
1678 pixelSize = part.info.pxSize >> SHIFT_3;
1679 if (part.info.algorithm == TransformAlgorithm::NEAREST_NEIGHBOR) {
1681 } else if (part.info.header.colorMode == ARGB8888 || part.info.header.colorMode == XRGB8888) {
1682 if (part.transMap.Is3DTransform()) {
1687 } else if (part.info.header.colorMode == RGB888) {
1693 pixelSize = part.info.pxSize;
1696 const int32_t srcLineWidth = part.info.header.width * pixelSize;
1697 TriangleScanInfo input{part.yMin,
1698 part.yMax,
1699 part.edge1,
1700 part.edge2,
1703 part.color,
1704 part.opaScale,
1709 part.info,
1710 part.mask,
1711 part.isRightPart,
1712 part.ignoreJunctionPoint,
1713 part.transMap.invMatrix_};
1730 TrianglePartInfo part{
1748 GetInstance()->SetPartEdge(gfxDstBuffer, triangleInfo, edge1, edge2, p3IsInRight, mask, yErr, part);
1759 part.yMin = MATH_MAX(mask.GetTop(), triangleInfo.p1.y);
1760 part.yMax = MATH_MIN(mask.GetBottom(), triangleInfo.p2.y);
1761 part.edge1 = edge1;
1762 part.edge2 = edge2;
1763 DrawTriangleTransformPart(gfxDstBuffer, part);
1764 GetInstance()->SetPartEdge(gfxDstBuffer, triangleInfo, edge1, edge2, p3IsInRight, mask, yErr, part);
1769 const Rect& mask, uint8_t yErr, TrianglePartInfo& part) const
1791 part.yMin = MATH_MAX(mask.GetTop(), triangleInfo.p2.y + yErr);
1792 part.yMax = MATH_MIN(mask.GetBottom(), triangleInfo.p3.y);
1793 part.edge1 = edge1;
1794 part.edge2 = edge2;
1795 DrawTriangleTransformPart(gfxDstBuffer, part);