Type of the Chocolate, I use the base of the Alessandro. certinho is everything. but it wanted leaves it better. with deep transparent.
Printable View
Type of the Chocolate, I use the base of the Alessandro. certinho is everything. but it wanted leaves it better. with deep transparent.
[Highlight=c++]
#define TBlack D3DCOLOR_ARGB ( 180, 0, 0, 0 )
void cMenu::BG( int x, int y, int w, int h, D3DCOLOR color, IDirect3DDevice9* pDevice )
{
const DWORD D3D_FVF = D3DFVF_XYZRHW | D3DFVF_DIFFUSE;
struct Vertex
{
float x,y,z,ht;
DWORD color;
}
V[4] =
{
{(float)x,(float)(y+h), 0.0f, 0.0f, color},
{(float)x,(float)y, 0.0f, 0.0f, color},
{(float)(x+w),(float)(y+h), 0.0f, 0.0f, color},
{(float)(x+w),(float)y, 0.0f, 0.0f, color}
};
pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
pDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
pDevice->SetRenderState( D3DRS_FOGENABLE, false );
pDevice->SetFVF(D3D_FVF);
pDevice->SetTexture(0, NULL);
pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,V,sizeof(Ve rtex));
}
BG( 20, 200, 150, 400, TBlack, pDevice);
[/Highlight]
Code:void cDraw::FillRGB( int x, int y, int w, int h, D3DCOLOR yourcolor, IDirect3DDevice9* pDevice ,bool transparent)
{
if(transparent == true)
{
const DWORD D3D_FVF = D3DFVF_XYZRHW | D3DFVF_DIFFUSE;
struct Vertex
{
float x,y,z,ht;
DWORD yourcolor;
}
V[4] =
{
{(float)x,(float)(y+h), 0.0f, 0.0f, yourcolor},
{(float)x,(float)y, 0.0f, 0.0f, yourcolor},
{(float)(x+w),(float)(y+h), 0.0f, 0.0f, yourcolor},
{(float)(x+w),(float)y, 0.0f, 0.0f, yourcolor}
};
pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
pDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
pDevice->SetRenderState( D3DRS_FOGENABLE, false );
pDevice->SetFVF(D3D_FVF);
pDevice->SetTexture(0, NULL);
pDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP,2,V,sizeof(Vertex));
}
if(transparent == false)
{
if( w < 0 )w = 1;
if( h < 0 )h = 1;
if( x < 0 )x = 1;
if( y < 0 )y = 1;
D3DRECT rec = { x, y, x + w, y + h };
pDevice->Clear( 1, &rec, D3DCLEAR_TARGET, yourcolor, 0, 0 );
}
}
//example:
FillRGB( 200, 35, 200, 60, 0x3DFF0000, pDevice ,true)