void CComputer::draw(CClientDC &dc) { if (visible){ if ((isAttacker)||(underAttack)){ originalPen = dc.SelectObject(&redPen); dc.SetTextColor(red); }else{ originalPen = dc.SelectObject(&bluePen); dc.SetTextColor(black); } }else{ originalPen = dc.SelectObject(&whitePen); dc.SetTextColor(white); } originalFont = dc.SelectObject(&captionFont); dc.SetBkMode(TRANSPARENT); dc.Rectangle(x1,y1,x2,y2); if (textPosition == 0){//oben dc.TextOut(x1-4*borderWidth,y1-(borderWidth+captionTextSize),name); }else{//rechts unten dc.TextOut(x2+3*borderWidth,y2+borderWidth-captionTextSize,name); } drawDataText(dc); dc.SelectObject(&originalFont); dc.SelectObject(&originalPen); }
void CComputer::drawDataText(CClientDC &dc) { dc.SelectObject(&dataFont); int x,y; x=1;//nicht auf 0 setzen, sonst Crash y=1;//nicht auf 0 setzen, sonst Crash for(int i=0; i<data.getNumberOfLines(); i++){ if (dataPosition == 1){ //rechts x=x2+2*borderWidth; y=y1+i*dataTextSize; }else if (dataPosition == 2){ //unten x=x1-borderWidth; y=y2+2*borderWidth+i*dataTextSize; } dc.TextOut(x,y,data.getLine(i,isAttacker)); } }