1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
void CStartingGDIPlusDlg::DrawWorld(const _World& World) {
using namespace Gdiplus;
CPaintDC dc(this);
Graphics graphics(dc.m_hDC);
SolidBrush Bred (Color::Red);
SolidBrush Bgreen (Color::Green);
SolidBrush BLightSkyBlue (Color::LightSkyBlue);
graphics.Clear(Color::Black);
SendMessage(WM_PAINT, (WPARAM) dc.GetSafeHdc(), 0); //Pour "forcer" le graphic.Clear immédiatement
const int Res = 2;
for (list<_Point>::const_iterator i = World.Obstacle.begin() ; i != World.Obstacle.end() ; i++) {
graphics.FillRectangle(&Bred,i->first*Res,i->second*Res,Res,Res);
}
_Point Pt = World.FourmisColony.begin()->Fourmis.begin()->GetCible();
graphics.FillRectangle(&Bgreen,Pt.first*Res,Pt.second*Res,Res,Res);
for (vector<_Fourmis>::const_iterator i = World.FourmisColony.begin()->Fourmis.begin() ; i != World.FourmisColony.begin()->Fourmis.end() ; i++ ) {
graphics.FillRectangle(&BLightSkyBlue,i->GetCurCoord().first*Res,i->GetCurCoord().second*Res,Res,Res);
}
} |