DrawBorderBox(55, 20, 200, 50, 4, fontBlack, pDevice );
void Menu::DrawBorderBox( int x, int y, int w, int h, int thickness, D3DCOLOR Colour, LPDIRECT3DDEVICE9 pDevice)
{
//Top horiz line
DrawFilledRect( x, y, w, thickness, Colour, pDevice );
//Left vertical line
DrawFilledRect( x, y, thickness, h, Colour, pDevice );
//right vertical line
DrawFilledRect( (x + w), y, thickness, h, Colour, pDevice );
//bottom horiz line
DrawFilledRect( x, y + h, w+thickness, thickness, Colour, pDevice );
}
void Menu::DrawFilledRect(int x, int y, int w, int h, D3DCOLOR color, LPDIRECT3DDEVICE9 pDevice)
{
//We create our rectangle to draw on screen
D3DRECT BarRect = { x, y, x + w, y + h };
//We clear that portion of the screen and display our rectangle
pDevice->Clear(1, &BarRect, D3DCLEAR_TARGET | D3DCLEAR_TARGET, color, 0, 0);
}
に入力された値DrawBorderBox
は で使用されますがBarRect
、 への呼び出しDrawFilledRect
はすべてのパラメータを使用しませんか? だからBarRect
仮定しh
ますか?
だから私は (55,20) ポイント 1 と (255,70) ポイント 2 を取得しますか? しかし、これは1行を描くと言っていますか?よくわかりません。
BarRect の h として太さを使用していると思いますか??? 私は正しいですか?これは、実際には元の正方形の 4 ピクセル下を上書きすることを意味しますか?