/// <summary> /// Desenha o controle de acordo com as coordenadas. /// </summary> public override void Draw() { if (!Visible) { return; } if (!Enabled) { return; } State = EngineButtonStyle.Inactive; if (Enabled) { if (InsideButton()) { if (!move) { move = true; OnMouseMove(EventArgs.Empty); } State = EngineButtonStyle.Hover; if (EngineCore.MouseDown) { State = EngineButtonStyle.Active; if (!click) { OnMouseDown(EventArgs.Empty); click = true; } } else { if (click) { OnMouseUp(EventArgs.Empty); } click = false; State = EngineButtonStyle.Hover; } } else { if (move) { move = false; OnMouseLeave(EventArgs.Empty); } } } EngineCore.SpriteDevice.Begin(SpriteFlags); EngineCore.SpriteDevice.Draw(texture[(int)State], new Color(Color.R, Color.G, Color.B, Transparency), SourceRect, new Vector3(0, 0, 0), new Vector3(Position.X, Position.Y, 0)); EngineCore.SpriteDevice.End(); }
/// <summary> /// Desenha o controle. /// </summary> public override void Draw() { if (!Visible) { return; } if (!Enabled) { return; } State = EngineButtonStyle.Inactive; if (Enabled) { if (InsideButton()) { if (!move) { move = true; OnMouseMove(EngineEventArgs.Empty); } State = EngineButtonStyle.Hover; //if (EngineCore.MouseLeft || EngineCore.MouseRight) { if (EngineCore.MouseLeft) { State = EngineButtonStyle.Active; left = EngineCore.MouseLeft; //right = EngineCore.MouseRight; if (!click) { OnMouseDown(new EngineEventArgs(left, right)); click = true; } } else { if (click) { OnMouseUp(new EngineEventArgs(left, right)); } left = false; //right = false; click = false; State = EngineButtonStyle.Hover; } } else { if (move) { move = false; OnMouseLeave(EngineEventArgs.Empty); } } } EngineCore.SpriteDevice.Begin(SpriteFlags); EngineCore.SpriteDevice.Draw(texture[(int)State], _color, SourceRect, null, _position); EngineCore.SpriteDevice.End(); }