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;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
void Layout::onKeyUp(SDL_KeyboardEvent *evt)
{
    ItemIterator it = container.iterator();
    it.publishOnKeyUp(evt);
}
Ejemplo n.º 5
0
void Layout::onMouseMotion(Point *relpt)
{
    mouse.setPoint(relpt);
    ItemIterator it = container.iterator();
    it.publishOnMouseMotion(relpt->getX(), relpt->getY());
}