| 1550 | } |
| 1551 | |
| 1552 | int CGraphics_Threaded::QuadContainerAddQuads(int ContainerIndex, CQuadItem *pArray, int Num) |
| 1553 | { |
| 1554 | SQuadContainer &Container = m_vQuadContainers[ContainerIndex]; |
| 1555 | |
| 1556 | if((int)Container.m_vQuads.size() > Num + CCommandBuffer::CCommandBuffer::MAX_VERTICES) |
| 1557 | return -1; |
| 1558 | |
| 1559 | int RetOff = (int)Container.m_vQuads.size(); |
| 1560 | |
| 1561 | for(int i = 0; i < Num; ++i) |
| 1562 | { |
| 1563 | Container.m_vQuads.emplace_back(); |
| 1564 | SQuadContainer::SQuad &Quad = Container.m_vQuads.back(); |
| 1565 | |
| 1566 | Quad.m_aVertices[0].m_Pos.x = pArray[i].m_X; |
| 1567 | Quad.m_aVertices[0].m_Pos.y = pArray[i].m_Y; |
| 1568 | Quad.m_aVertices[0].m_Tex = m_aTexture[0]; |
| 1569 | SetColor(&Quad.m_aVertices[0], 0); |
| 1570 | |
| 1571 | Quad.m_aVertices[1].m_Pos.x = pArray[i].m_X + pArray[i].m_Width; |
| 1572 | Quad.m_aVertices[1].m_Pos.y = pArray[i].m_Y; |
| 1573 | Quad.m_aVertices[1].m_Tex = m_aTexture[1]; |
| 1574 | SetColor(&Quad.m_aVertices[1], 1); |
| 1575 | |
| 1576 | Quad.m_aVertices[2].m_Pos.x = pArray[i].m_X + pArray[i].m_Width; |
| 1577 | Quad.m_aVertices[2].m_Pos.y = pArray[i].m_Y + pArray[i].m_Height; |
| 1578 | Quad.m_aVertices[2].m_Tex = m_aTexture[2]; |
| 1579 | SetColor(&Quad.m_aVertices[2], 2); |
| 1580 | |
| 1581 | Quad.m_aVertices[3].m_Pos.x = pArray[i].m_X; |
| 1582 | Quad.m_aVertices[3].m_Pos.y = pArray[i].m_Y + pArray[i].m_Height; |
| 1583 | Quad.m_aVertices[3].m_Tex = m_aTexture[3]; |
| 1584 | SetColor(&Quad.m_aVertices[3], 3); |
| 1585 | |
| 1586 | if(m_Rotation != 0) |
| 1587 | { |
| 1588 | CCommandBuffer::SPoint Center; |
| 1589 | Center.x = pArray[i].m_X + pArray[i].m_Width / 2; |
| 1590 | Center.y = pArray[i].m_Y + pArray[i].m_Height / 2; |
| 1591 | |
| 1592 | Rotate(Center, Quad.m_aVertices, 4); |
| 1593 | } |
| 1594 | } |
| 1595 | |
| 1596 | if(Container.m_AutomaticUpload) |
| 1597 | QuadContainerUpload(ContainerIndex); |
| 1598 | |
| 1599 | return RetOff; |
| 1600 | } |
| 1601 | |
| 1602 | int CGraphics_Threaded::QuadContainerAddQuads(int ContainerIndex, CFreeformItem *pArray, int Num) |
| 1603 | { |
no test coverage detected