Exemplo n.º 1
0
void DivNode::render(GLContext* pContext, const glm::mat4& transform)
{
    if (getCrop() && getSize() != glm::vec2(0,0)) {
        getCanvas()->pushClipRect(pContext, transform, m_ClipVA);
    }
    for (unsigned i = 0; i < getNumChildren(); i++) {
        getChild(i)->maybeRender(pContext, transform);
    }
    if (getCrop() && getSize() != glm::vec2(0,0)) {
        getCanvas()->popClipRect(pContext, transform, m_ClipVA);
    }
}
Exemplo n.º 2
0
void DivNode::render()
{
    glm::vec2 viewport = getSize();
    
    m_pClipVertexes->reset();
    m_pClipVertexes->appendPos(glm::vec2(0,0), glm::vec2(0,0), Pixel32(0,0,0,0));
    m_pClipVertexes->appendPos(glm::vec2(0,viewport.y), glm::vec2(0,0), Pixel32(0,0,0,0));
    m_pClipVertexes->appendPos(glm::vec2(viewport.x,0), glm::vec2(0,0), Pixel32(0,0,0,0));
    m_pClipVertexes->appendPos(viewport, glm::vec2(0,0), Pixel32(0,0,0,0));
    m_pClipVertexes->appendQuadIndexes(0, 1, 2, 3);

    if (getCrop()) {
        getCanvas()->pushClipRect(getTransform(), m_pClipVertexes);
    }
    for (unsigned i = 0; i < getNumChildren(); i++) {
        getChild(i)->maybeRender();
    }
    if (getCrop()) {
        glLoadMatrixf(glm::value_ptr(getTransform()));
        getCanvas()->popClipRect(getTransform(), m_pClipVertexes);
    }
}
Exemplo n.º 3
0
void DivNode::preRender(const VertexArrayPtr& pVA, bool bIsParentActive, 
        float parentEffectiveOpacity)
{
    Node::preRender(pVA, bIsParentActive, parentEffectiveOpacity);
    if (getCrop() && getSize() != glm::vec2(0,0)) {
        pVA->startSubVA(m_ClipVA);
        glm::vec2 viewport = getSize();
        m_ClipVA.appendPos(glm::vec2(0,0), glm::vec2(0,0), Pixel32(0,0,0,0));
        m_ClipVA.appendPos(glm::vec2(0,viewport.y), glm::vec2(0,0), Pixel32(0,0,0,0));
        m_ClipVA.appendPos(glm::vec2(viewport.x,0), glm::vec2(0,0), Pixel32(0,0,0,0));
        m_ClipVA.appendPos(viewport, glm::vec2(0,0), Pixel32(0,0,0,0));
        m_ClipVA.appendQuadIndexes(0, 1, 2, 3);
    }
    for (unsigned i = 0; i < getNumChildren(); i++) {
        getChild(i)->preRender(pVA, bIsParentActive, getEffectiveOpacity());
    }
}
Exemplo n.º 4
0
SDL_Surface * BaseObject::draw(SDL_Surface * original) {
	draw_image(xpos - originXoffset, ypos - originYoffset, sprite_sheet, original, getCrop(sprite_anim, sprite_frame));
	return display_image;
}