// DrawInfo.cpp: implementation of the DrawInfo class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "MW4GameEd2.h" #include "DrawInfo.h" #include ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// const char *DrawInfo::PenName[]= { "SelectPen", "HelperPen", "VehiclePen", "BuildingPen", "CulturalPen", "MechPen", "ExtraHelperPen", "WarningPen", "NonComPen"}; DrawInfo::DrawInfo() { pDC=NULL; CurrentPen=0; UseBrushes=false; PenArray=new CPen[PenCount]; PenArray[SelectPen].CreatePen(PS_SOLID,1,0x0000ff); PenArray[HelperPen].CreatePen(PS_SOLID,1,0xff007f); PenArray[VehiclePen].CreatePen(PS_SOLID,1,0x00ffff); PenArray[BuildingPen].CreatePen(PS_SOLID,1,0xff0000); PenArray[CulturalPen].CreatePen(PS_SOLID,1,0xff00ff); PenArray[MechPen].CreatePen(PS_SOLID,1,0xffff00); PenArray[WarningPen].CreatePen(PS_SOLID,1,0x00ffff); PenArray[NonComPen].CreatePen(PS_SOLID,1,0xffffff); LOGBRUSH lb; lb.lbStyle=BS_SOLID; lb.lbColor=0xff007f; HelperBrush.CreateHatchBrush(HS_BDIAGONAL,lb.lbColor); PenArray[ExtraHelperPen].CreatePen(PS_DOT,1,&lb); } void DrawInfo::SetPen(int pen) { Verify(pDC!=NULL); Verify(penSelectObject(PenArray[CurrentPen]); if(UseBrushes && CurrentPen==ExtraHelperPen) pDC->SelectObject(HelperBrush); else pDC->SelectObject(GetStockObject(NULL_BRUSH)); pDC->SetTextColor(GetPenColor(CurrentPen)); } } void DrawInfo::SetPenColor(int idx,COLORREF ref) { Verify(idxGetExtLogPen(&logpen); lb.lbStyle=logpen.elpBrushStyle; lb.lbColor=ref; GetPen(idx)->DeleteObject(); GetPen(idx)->CreatePen(logpen.elpPenStyle,logpen.elpWidth,&lb); if(idx==ExtraHelperPen) { HelperBrush.DeleteObject(); HelperBrush.CreateHatchBrush(HS_BDIAGONAL,lb.lbColor); } } COLORREF DrawInfo::GetPenColor(int idx) { Verify(idxGetExtLogPen(&logpen); return logpen.elpColor; } void DrawInfo::SaveToReg() { int i; COLORREF ref; CString name; for(i=0;i