void ControllerAxisEventThrower::publish(ControllerAxisEventThrower *src, ControllerAxisEventArgs *args)
{
	std::list<ControllerAxisEventListener*>::iterator lit(axisListeners.begin()), lend(axisListeners.end());
	for(;lit!=lend;++lit)
	{
		(*lit)->handleEvent(src, args);
	}
}
Example #2
0
	SpriteFile::~SpriteFile()
	{
		std::vector<SDL_Surface*>::iterator lit(surfaces.begin()), lend(surfaces.end());
		for(;lit!=lend;++lit)
		{
			SDL_FreeSurface((*lit));
		}
	}
Example #3
0
		void Buffer::clear(void)
		{
			std::list<Chunk*>::iterator lit(chunks.begin()), lend(chunks.end());
			for(;lit!=lend;++lit)
			{
				delete (*lit);
			}

			chunks.clear();
		}
Example #4
0
		unsigned int Buffer::count(void)
		{
			unsigned int length = 0;

			std::list<Chunk*>::iterator lit(chunks.begin()), lend(chunks.end());
			for(;lit!=lend;++lit)
			{
				length += (*lit)->getLength();
			}

			return length;
		}
Pile * Calculatrice::pileActive(){
    QLabel *fileNameLabel = ui->tabWidget->currentWidget()->findChild<QLabel *>(AFFICHAGE_NAME);

    std::list<Pile>::const_iterator
        lit (onglet.begin()),
        lend(onglet.end());
    for(;lit!=lend;++lit) {
        Pile p = (*lit);
       if(p.affichage==fileNameLabel){
           return &p;
       }
    }

}
Example #6
0
		Chunk* Buffer::getChunk(void)
		{
			unsigned int length = count();
			unsigned int current = 0;
			char *data = new char[length];
			std::list<Chunk*>::iterator lit(chunks.begin()), lend(chunks.end());

			for(;lit!=lend;++lit)
			{
				char *c_data = (*lit)->getData();
				unsigned int c_length = (*lit)->getLength();

				for(int i=0; i<c_length; i++)
				{
					data[current+i] = c_data[i];
				}

				current += c_length;
			}

			Chunk *chunk = new Chunk(data, length);
			return chunk;
		}
Example #7
0
void ResourceFile::save(std::string destination)
{
	std::ofstream of (destination.c_str(), std::ofstream::binary);

	std::map<std::string, std::string>::iterator lit(resourcesPath.begin()), lend(resourcesPath.end());

	for(;lit!=lend;++lit)
	{
		ResourceMarker marker = ResourceMarker();

		std::ifstream img (lit->second.c_str(), std::ifstream::binary);

		img.seekg(0, img.end);
		int length = img.tellg();

		img.seekg(0, img.beg);

		char * buffer = new char[length];

		img.read(buffer, length);

		img.close();

		marker.length = length;
		marker.name[lit->first.size()] = 0;
		memcpy(marker.name, lit->first.c_str(), lit->first.size());

		of.write(reinterpret_cast<char*>(&marker), sizeof(ResourceMarker));

		of.write(buffer, length);

		delete buffer;
	}

	of.close();
}
Example #8
0
void List::onClick(Point *relpt)
{
	Rectangle rectUp = Rectangle(width - upArrow->getWidth(), 0, upArrow->getWidth(), upArrow->getHeight());
	Rectangle rectDown = Rectangle(width - downArrow->getWidth(), height - downArrow->getHeight(), downArrow->getWidth(), downArrow->getHeight());

    if((rectUp.contains(relpt) || rectDown.contains(relpt)) && _showScrollButtons)
    {
        if(rectUp.contains(relpt))
        {
            //list drawing start --
            if(viewIndex > 0)
            {
                viewIndex--;
            }
        }
        else if(rectDown.contains(relpt))
        {
            //list drawing start ++
            if(viewIndex < values.size() - height / lineHeight)
            {
                viewIndex++;
            }
        }
    }
    else
    {
        //item selection click
        int i = relpt->getY() / lineHeight;

        i += viewIndex;

        if(i < values.size())
        {
            selectedIndex = i;
            //todo event throwing!!
            if(containListeners())
            {

                ValueObject *vo;

                std::vector<ValueObject*>::iterator lit(values.begin()), lend(values.end());
                int vo_i=0;
                for(;lit!=lend;++lit)
                {
                    if(vo_i == i)
                    {
                        vo = (*lit);
                        break;
                    }
                    vo_i++;
                }

                SelectionEventArgs *args = new SelectionEventArgs(vo);
                publish(this, args);
                delete args;

            }

        }
    }
}
Example #9
0
Surface* List::render(void)
{
	Surface *buffer = new Surface(width, height);
	buffer->fill(background);

    std::vector<ValueObject*>::iterator lit(values.begin()), lend(values.end());
	int i=0;
	int cy = 0;
	SDL_Rect *src = new SDL_Rect();
	SDL_Rect *dst = new SDL_Rect();
    PRect rect = PRect();
    rect.setX(0);
    rect.setWidth(width);
    rect.setHeight(lineHeight);

    if(_showScrollButtons)
    {
        rect.setWidth(width - upArrow->getWidth());
    }

	for(;lit!=lend;++lit)
	{
	    if(i >= viewIndex)
        {
            Surface *str_sur;
            ValueObject *vo = (*lit);
            bool free_str = false;
            if(i == selectedIndex)
            {
                free_str = true;
                str_sur = font->renderText(vo->getText(), highlightForeground);

                rect.setY(cy);

                rect.fill(buffer->getSDLSurface(), highlightBackground);

            }
            else
            {
                str_sur = strBuffers[vo->getId()];
            }

            str_sur->updateSDLRect(src);
            str_sur->updateSDLRect(dst, 0, cy);

            buffer->blit(str_sur, src, dst);

            if(free_str)
            {
                delete str_sur;
            }

            cy += lineHeight;
        }

		i++;

		if(cy > height - lineHeight && viewIndex == 0)
        {
            _showScrollButtons = true;
            break;
        }
	}

	if(cy < height && viewIndex == 0)
    {
        _showScrollButtons = false;
    }

	if(_showScrollButtons)
    {

        upArrow->updateSDLRect(src);
        upArrow->updateSDLRect(dst, width - upArrow->getWidth(), 0);

        buffer->blit(upArrow, src, dst);

        downArrow->updateSDLRect(src);
        downArrow->updateSDLRect(dst, width - downArrow->getWidth(), height - downArrow->getHeight());

        buffer->blit(downArrow, src, dst);

    }

    if(drawBorder)
    {
        PRect border = PRect(0, 0, width, height);
        buffer->draw(&border, foreground);
    }

	delete src;
	delete dst;

	return buffer;
}