Ejemplo n.º 1
0
Surface *Layout::render()
{
    //todo
    if(childsChanged)
    {
        setChildsPosition();
        childsChanged = false;
    }

    Surface *buffer = new Surface(width, height);
    buffer->fill(background);

    for(ItemIterator it = container.iterator(); it.next();)
    {
        Surface *itemBuffer = it.item()->render();
        buffer->blit(itemBuffer, it.item());
        delete itemBuffer;
    }

    if(drawBorder)
    {
        PRect border = PRect();
        border.setDimension(width, height);

        buffer->draw(&border, foreground);
    }


    return buffer;
}