// TaskPanel.cpp: implementation of the CTaskPanel class. // ////////////////////////////////////////////////////////////////////// #include "TaskPanel.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CTaskPanel::CTaskPanel(int ix,int iy,int iwidth,int iheight,UINT uiTitle) { CTaskPanel::ix=ix; CTaskPanel::iy=iy; CTaskPanel::iwidth=iShowWidth=iwidth; CTaskPanel::iheight=iShowHeight=iheight; HDC hDC=GetDC(GameEngine::GetEngine()->GetWindow()); bmpTitle=new Bitmap(hDC,IDB_TITLE,GameEngine::GetEngine()->GetInstance()); int i=0; for(;i<6;i++){ bmpFrame[i]=new Bitmap(hDC,IDB_LEFT+i,GameEngine::GetEngine()->GetInstance()); } bmpTitleText[0]=new Bitmap(hDC,uiTitle,GameEngine::GetEngine()->GetInstance()); bmpTitleText[1]=new Bitmap(hDC,uiTitle+1,GameEngine::GetEngine()->GetInstance()); //ReleaseDC(GameEngine::GetEngine()->GetWindow(),hDC); bmpStart.x=-2.05; bmpStart.y=-8; bmpEnd.x=bmpStart.x+bmpTitle->GetWidth()-10; bmpEnd.y=bmpStart.y+bmpTitle->GetHeight(); collapsed=false; collapsing=false; lastTime=0; } CTaskPanel::~CTaskPanel() { delete bmpTitle; for(int i=0;i<5;i++){ //delete bmpFrame[i]; } } void CTaskPanel::DrawScreen(HDC hDC) { if(collapsing){ SetCollapse(); } if(!collapsed || collapsing){ int i = 0; for(i=iy+10;i<=iy+iShowHeight-10;i+=10){ bmpFrame[0]->Draw(hDC,ix,i); bmpFrame[4]->Draw(hDC,ix+iShowWidth,i); } for(i=ix+10;i<=ix+iShowWidth-10;i+=10){ bmpFrame[2]->Draw(hDC,i,iy+iShowHeight); } for(i=ix+10;i<=ix+iShowWidth-10;i+=10){ for(int j=iy+10;j<=iy+iShowHeight-10;j+=10){ bmpFrame[5]->Draw(hDC,i,j); } } bmpFrame[1]->Draw(hDC,ix,iy+iShowHeight,true); bmpFrame[3]->Draw(hDC,ix+iShowWidth,iy+iShowHeight,true); } bmpTitle->Draw(hDC,bmpStart.x+ix,bmpStart.y+iy,true); bmpTitleText[(collapsed?0:1)]->Draw(hDC,ix,iy-4.5,true); if(!collapsed) DrawContent(hDC); } void CTaskPanel::MouseButtonUp(int x, int y, bool bLeft) { } void CTaskPanel::MouseButtonDown(int x, int y, bool bLeft) { if(x>ix+bmpStart.x && xiy+bmpStart.y && y=iheight){ collapsed=false; collapsing=false; iShowHeight=iheight; }else{ iShowHeight+=10; } }else{ if(iShowHeight<=10){ collapsed=true; collapsing=false; iShowHeight=0; }else{ iShowHeight-=10; } } lastTime=now;*/ } int CTaskPanel::getLimit() { return iy+iShowHeight; } void CTaskPanel::setLimit(int iy) { CTaskPanel::iy=iy; }