void AreaNode::renderOutlines(const VertexArrayPtr& pVA, Pixel32 parentColor) { Pixel32 effColor = getEffectiveOutlineColor(parentColor); if (effColor != Pixel32(0,0,0,0)) { glm::vec2 size = getSize(); glm::vec2 p0 = getAbsPos(glm::vec2(0.5, 0.5)); glm::vec2 p1 = getAbsPos(glm::vec2(size.x+0.5,0.5)); glm::vec2 p2 = getAbsPos(glm::vec2(size.x+0.5,size.y+0.5)); glm::vec2 p3 = getAbsPos(glm::vec2(0.5,size.y+0.5)); pVA->addLineData(effColor, p0, p1, 1); pVA->addLineData(effColor, p1, p2, 1); pVA->addLineData(effColor, p2, p3, 1); pVA->addLineData(effColor, p3, p0, 1); } }
void DivNode::renderOutlines(const VertexArrayPtr& pVA, Pixel32 parentColor) { Pixel32 effColor = getEffectiveOutlineColor(parentColor); if (effColor != Pixel32(0,0,0,0)) { glm::vec2 size = getSize(); if (size == glm::vec2(0,0)) { glm::vec2 p0 = getAbsPos(glm::vec2(-4, 0.5)); glm::vec2 p1 = getAbsPos(glm::vec2(5, 0.5)); glm::vec2 p2 = getAbsPos(glm::vec2(0.5, -4)); glm::vec2 p3 = getAbsPos(glm::vec2(0.5, 5)); pVA->addLineData(effColor, p0, p1, 1); pVA->addLineData(effColor, p2, p3, 1); } else { AreaNode::renderOutlines(pVA, parentColor); } } for (unsigned i = 0; i < getNumChildren(); i++) { getChild(i)->renderOutlines(pVA, effColor); } }