Beispiel #1
0
const Map_point& Map::Get_point(int x, int y) const
{
	while(x<0) x += Get_width();
	while(y<0) y += Get_height();
	while(x>=Get_width()) x -= Get_width();
	while(y>=Get_height()) y -= Get_height();
	return map_field[x][y];
}
void Console::Draw()
{
    int uiround=uiGetRoundBox();
    uiSetRoundBox("0000");
    if (Get_Active())
        gl_round_box_Hshade(GL_POLYGON, Get_x(), Get_y(), Get_x()+Get_widht(), Get_y()+Get_height(),10, "FFFFFF",  "FFFFFF");
    int line=Get_y()+10;
    int posx=Get_x();
    int found;
    int i=0;
    while( m_text.size()>(int)(Get_height()/11))
    {
        m_text.pop_front();
    }
    for( listItor itor = m_text.begin(); itor != m_text.end(); ++itor )
    {
        i++;

        found = (*itor).content.find_first_of ('\n');
        if( found <=0) {
            switch ((*itor).font)
            {
            case 1:
                drawText(posx,line+15,(*itor).content, (*itor).color, (*itor).font);
                break;
            case 2:
                drawText(posx,line+13,(*itor).content, (*itor).color, (*itor).font);
                break;
            case 3:
                drawText(posx,line+10,(*itor).content, (*itor).color, (*itor).font);
                break;
            case 4:
                drawText(posx,line+24,(*itor).content, (*itor).color, (*itor).font);
                break;
            case 5:
                drawText(posx,line+12,(*itor).content, (*itor).color, (*itor).font);
                break;
            case 6:
                drawText(posx,line+18,(*itor).content, (*itor).color, (*itor).font);
                break;
            default:
                drawText(posx,line+10,(*itor).content, (*itor).color, (*itor).font);
                break;

            }
            posx=posx+((*itor).content.size()*6);
        }
        else
        {
            switch ((*itor).font)
            {
            case 1:
                drawText(posx,line+15,(*itor).content, (*itor).color, (*itor).font);
                line=line+15;
                break;
            case 2:
                drawText(posx,line+13,(*itor).content, (*itor).color, (*itor).font);
                line=line+13;
                break;
            case 3:
                drawText(posx,line+10,(*itor).content, (*itor).color, (*itor).font);
                line=line+10;
                break;
            case 4:
                drawText(posx,line+24,(*itor).content, (*itor).color, (*itor).font);
                line=line+24;
                break;
            case 5:
                drawText(posx,line+12,(*itor).content, (*itor).color, (*itor).font);
                line=line+12;
                break;
            case 6:
                drawText(posx,line+18,(*itor).content, (*itor).color, (*itor).font);
                line=line+18;
                break;
            default:
                drawText(posx,line+10,(*itor).content, (*itor).color, (*itor).font);
                line=line+10;
                break;
            }
            posx=Get_x();

        }


    }
    uiSetRoundBox(uiround);
}