Files
CMLeonOS/Gui/Apps/Paint/Tools/FilledRectangleTool.cs

44 lines
1.1 KiB
C#
Raw Normal View History

using Cosmos.System;
using System;
namespace CMLeonOS.Gui.Apps.Paint.Tools
{
internal class FilledRectangleTool : Tool
{
public FilledRectangleTool() : base("Filled Rect")
{
}
private bool started;
private int startX;
private int startY;
internal override void Run(Paint paint, Window canvas, MouseState mouseState, int mouseX, int mouseY)
{
if (mouseState == MouseState.Left)
{
if (!started)
{
started = true;
startX = mouseX;
startY = mouseY;
}
}
else if (started)
{
int x = Math.Min(startX, mouseX);
int y = Math.Min(startY, mouseY);
int width = Math.Abs(mouseX - startX) + 1;
int height = Math.Abs(mouseY - startY) + 1;
canvas.DrawFilledRectangle(x, y, width, height, paint.SelectedColor);
started = false;
}
}
internal override void Deselected()
{
started = false;
}
}
}