#include "ContainerVWidget.h" #include "Widget.h" #include "CursorTask.h" #include #include #include #include #include void ContainerVWidget::addtocontainer( Widget* content ) { gridvwidget.push_back( content ); } void ContainerVWidget::adjust( ) { if (parent) { if (parent->getwidgettype()=="Window") { //remove 3 pixels all around the window borders and title bar to get the actual size xpos = parent->getxpos() +3; ypos = parent->getypos() +15; width = parent->getwidth() -6; height = parent->getheight() -18; } else if (parent->getwidgettype()=="Frame") { //remove 3 pixels all around the window borders and title bar to get the actual size xpos = parent->getxpos() +3; ypos = parent->getypos() +8; width = parent->getwidth() -6; height = parent->getheight() -11; } else if (parent->getwidgettype()=="ContainerH") { //if parent is a container, no need for extra space around the widgets xpos = parent->getxpos(); ypos = parent->getypos(); width = parent->getwidth(); height = parent->getheight(); } else if (parent->getwidgettype()=="ContainerV") { //if parent is a container, no need for extra space around the widgets xpos = parent->getxpos(); ypos = parent->getypos(); width = parent->getwidth(); height = parent->getheight(); } } int i=0; sizevgrid = gridvwidget.size(); for (auto& c : gridvwidget ) { c->setdimensions( xpos+2, ypos+2 + height/sizevgrid*i, width-4, height/sizevgrid-4 ); i++; } } void ContainerVWidget::logic( CursorTask *mouse ) { if (is_enabled && is_visible) { for (auto& c : gridvwidget ) c->logic( mouse ); } } void ContainerVWidget::render( SDL_Surface *screen, nSDL_Font *currentfont ) { if (is_visible) { for (auto& c : gridvwidget ) c->render( screen, currentfont ); } }