I'm having problems with my code for a D3D9 function, the "Create" function always overlaps, I need another function of the Draw object to overlap with the others.
class cDrawItem
{
private:
bool IsInitialized; // Para saber se o objeto foi inicializado.
// PosX = Posição x em que vai ficar localizada na minha tela
// PosY = Posição y em que vai ficar localizada na minha tela
int PosX, PosY;
// Valor atual do item
int Value;
// Texto do item
std::string Caption;
// Desenho do item na minha tela
void Draw(); // Preciso que quando essa função for chamada, fique sobreposta a qualquer outra função
public:
cDrawItem() : PosX(0), PosY(0), Value(0) {}
inline int getX() const { return this->PosX; }
inline int getY() const { return this->PosY; }
inline int getValue() const { return this->Value; }
void Create(int _PosX, int _PosY, int _InitValue, std::string ItemCaption);
};
void cDrawItem::Draw()
{
// Funções utilizando o DirectX para desenho
D3D::Retangulo(PosX, PosY, 100, 22, D3DCOLOR_ARGB(255, 50, 50, 50));
D3D::Texto(PosX + 2, PosY, D3DCOLOR_ARGB(255, 255, 000, 000), FL_LEFT, "%s: %i", ItemCaption.c_str(), Value);
}
void cDrawItem::Create(int _PosX, int _PosY, int _InitValue, std::string ItemCaption)
{
if(!IsInitialized)
{
PosX = _PosY;
PosY = _PosY;
Value = _InitValue;
Caption = ItemCaption;
IsInitialized = true;
}
else
Draw(); // Desenha os itens utilizando a biblioteca do DirectX
}
void Main()
{
std::unique_ptr<cDrawItem> Item1(new cDrawItem);
std::unique_ptr<cDrawItem> Item2(new cDrawItem);
Item1->Create(50, 70, 0, "Item 1");
Item2->Create(50, 90, -1, "Item 2");
}