Jeck - for HQ users, added flexible image scales to task board backdrop.

This commit is contained in:
wagic.jeck
2010-02-16 01:22:47 +00:00
parent 62609ee1b1
commit 7104eff946
2 changed files with 29 additions and 21 deletions

View File

@@ -71,6 +71,7 @@ protected:
int mState;
JQuad * mBg[9];
JTexture * mBgTex;
float sH, sW;
public:

View File

@@ -357,19 +357,26 @@ void TaskList::Start(){
mState = TASKS_IN;
if(!mBgTex){
mBgTex = resources.RetrieveTexture("taskboard.png");
float unitH = mBgTex->mHeight / 4;
float unitW = mBgTex->mWidth / 4;
if(unitH == 0 || unitW == 0) return;
for(int i=0;i<9;i++)
SAFE_DELETE(mBg[i]);
if(mBgTex){
mBg[0] = NEW JQuad(mBgTex,0,0,64,64);
mBg[1] = NEW JQuad(mBgTex,64,0,128,64);
mBg[2] = NEW JQuad(mBgTex,192,0,64,64);
mBg[3] = NEW JQuad(mBgTex,0,64,64,128);
mBg[4] = NEW JQuad(mBgTex,64,64,128,128);
mBg[5] = NEW JQuad(mBgTex,192,64,64,128);
mBg[6] = NEW JQuad(mBgTex,0,192,64,64);
mBg[7] = NEW JQuad(mBgTex,64,192,128,64);
mBg[8] = NEW JQuad(mBgTex,192,192,64,64);
mBg[0] = NEW JQuad(mBgTex, 0, 0, unitW, unitH);
mBg[1] = NEW JQuad(mBgTex, unitW, 0, unitW*2, unitH);
mBg[2] = NEW JQuad(mBgTex, unitW*3, 0, unitW, unitH);
mBg[3] = NEW JQuad(mBgTex, 0, unitH, unitW, unitH*2);
mBg[4] = NEW JQuad(mBgTex, unitW, unitH, unitW*2, unitH*2);
mBg[5] = NEW JQuad(mBgTex, unitW*3, unitH, unitW, unitH*2);
mBg[6] = NEW JQuad(mBgTex, 0, unitH*3, unitW, unitH);
mBg[7] = NEW JQuad(mBgTex, unitW, unitH*3, unitW*2, unitH);
mBg[8] = NEW JQuad(mBgTex, unitW*3, unitH*3, unitW, unitH);
}
sH = 64 / unitH;
sW = 64 / unitW;
}
}
void TaskList::End(){
@@ -429,20 +436,20 @@ void TaskList::Render() {
//Render background board
if(mBgTex){
r->FillRect(0,vPos,SCREEN_WIDTH,SCREEN_HEIGHT,ARGB(128,0,0,0));
r->RenderQuad(mBg[0],0,vPos); //TL
r->RenderQuad(mBg[2],SCREEN_WIDTH-64,vPos); //TR
r->RenderQuad(mBg[6],0,vPos+SCREEN_HEIGHT-64); //BL
r->RenderQuad(mBg[8],SCREEN_WIDTH-64,vPos+SCREEN_HEIGHT-64); //BR
r->RenderQuad(mBg[0],0,vPos,0,sW,sH); //TL
r->RenderQuad(mBg[2],SCREEN_WIDTH-64,vPos,0,sW,sH); //TR
r->RenderQuad(mBg[6],0,vPos+SCREEN_HEIGHT-64,0,sW,sH); //BL
r->RenderQuad(mBg[8],SCREEN_WIDTH-64,vPos+SCREEN_HEIGHT-64,0,sW,sH); //BR
//Stretch the sides
float stretchV = 144.0f/128.0f;
float stretchH = 176.0f/128.0f;
r->RenderQuad(mBg[3],0,vPos+64,0,1,stretchV); //L
r->RenderQuad(mBg[5],SCREEN_WIDTH-64,vPos+64,0,1,stretchV); //R
r->RenderQuad(mBg[1],64,vPos,0,stretchH,1); //T1
r->RenderQuad(mBg[1],240,vPos,0,stretchH,1); //T1
r->RenderQuad(mBg[7],64,vPos+208,0,stretchH,1); //B1
r->RenderQuad(mBg[7],240,vPos+208,0,stretchH,1); //B1
float stretchV = (144.0f/128.0f)*sH;
float stretchH = (176.0f/128.0f)*sW;
r->RenderQuad(mBg[3],0,vPos+64,0,sW,stretchV); //L
r->RenderQuad(mBg[5],SCREEN_WIDTH-64,vPos+64,0,sW,stretchV); //R
r->RenderQuad(mBg[1],64,vPos,0,stretchH,sH); //T1
r->RenderQuad(mBg[1],240,vPos,0,stretchH,sH); //T1
r->RenderQuad(mBg[7],64,vPos+208,0,stretchH,sH); //B1
r->RenderQuad(mBg[7],240,vPos+208,0,stretchH,sH); //B1
r->RenderQuad(mBg[4],64,vPos+64,0,stretchH,stretchV); //Center1
r->RenderQuad(mBg[4],240,vPos+64,0,stretchH,stretchV); //Center2