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; }
quint64 ItemContainer::totalSize() const { if (isReady() == false) { return 0; } quint64 ret = 0; ItemIterator i = itemIterator(); while (i.hasNext() == true) { SharedItem item = i.next(); ret += item->size(); } return ret; }
void Invoice::print(InvoicePrinter& printer) { printer.print_header("I N V O I C E"); printer.print_string("Description", true); printer.print_string("Unit Price", false); printer.print_string("Qty", false); printer.print_string("Total Price", false); double amount_due = 0; for (ItemIterator iter = create_iterator(); !iter.is_done(); iter.next()) { Item* it = iter.get(); printer.print_string(it->get_description(), true); printer.print_number(it->get_unit_price(), 2); printer.print_number(it->get_quantity(), 0); printer.print_number(it->get_total_price(), 2); amount_due = amount_due + it->get_total_price(); } printer.print_footer("AMOUNT DUE:", amount_due); }
void Layout::onKeyUp(SDL_KeyboardEvent *evt) { ItemIterator it = container.iterator(); it.publishOnKeyUp(evt); }
void Layout::onMouseMotion(Point *relpt) { mouse.setPoint(relpt); ItemIterator it = container.iterator(); it.publishOnMouseMotion(relpt->getX(), relpt->getY()); }