initial commit
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
// Decompiled with JetBrains decompiler
|
||||
// Type: RgbBuildButton
|
||||
// Assembly: Raton, Version=0.4.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// MVID: 36C4E416-7F8D-4D23-930F-B5CCB0D810E7
|
||||
// Assembly location: C:\Users\user\Desktop\v3.8.0 Deluxe Plugins (v4.0.0) cracked\Raton.exe
|
||||
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Windows.Forms;
|
||||
|
||||
#nullable disable
|
||||
[ToolboxItem(true)]
|
||||
[ToolboxBitmap(typeof (Button))]
|
||||
public class RgbBuildButton : Control
|
||||
{
|
||||
private bool hover;
|
||||
private bool pressed;
|
||||
private readonly Color baseColor = ColorTranslator.FromHtml("#5C3D8F");
|
||||
private readonly Color hoverColor = ColorTranslator.FromHtml("#6E4AA6");
|
||||
private readonly Color pressColor = ColorTranslator.FromHtml("#4A3173");
|
||||
private readonly Color borderColor = ColorTranslator.FromHtml("#4A3173");
|
||||
|
||||
[Category("Custom")]
|
||||
public Image Icon { get; set; }
|
||||
|
||||
[Category("Custom")]
|
||||
public int IconSize { get; set; } = 16 /*0x10*/;
|
||||
|
||||
[Category("Custom")]
|
||||
public int IconSpacing { get; set; } = 8;
|
||||
|
||||
public RgbBuildButton()
|
||||
{
|
||||
this.DoubleBuffered = true;
|
||||
this.Size = new Size(220, 46);
|
||||
this.Font = new Font("Segoe UI", 10.5f);
|
||||
this.ForeColor = Color.White;
|
||||
this.Cursor = Cursors.Arrow;
|
||||
}
|
||||
|
||||
protected override void OnMouseEnter(EventArgs e)
|
||||
{
|
||||
this.hover = true;
|
||||
this.Invalidate();
|
||||
base.OnMouseEnter(e);
|
||||
}
|
||||
|
||||
protected override void OnMouseLeave(EventArgs e)
|
||||
{
|
||||
this.hover = false;
|
||||
this.pressed = false;
|
||||
this.Invalidate();
|
||||
base.OnMouseLeave(e);
|
||||
}
|
||||
|
||||
protected override void OnMouseDown(MouseEventArgs e)
|
||||
{
|
||||
this.pressed = true;
|
||||
this.Invalidate();
|
||||
base.OnMouseDown(e);
|
||||
}
|
||||
|
||||
protected override void OnMouseUp(MouseEventArgs e)
|
||||
{
|
||||
this.pressed = false;
|
||||
this.Invalidate();
|
||||
base.OnMouseUp(e);
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
|
||||
Rectangle clientRectangle = this.ClientRectangle;
|
||||
clientRectangle.Inflate(-1, -1);
|
||||
using (SolidBrush solidBrush = new SolidBrush(this.pressed ? this.pressColor : (this.hover ? this.hoverColor : this.baseColor)))
|
||||
e.Graphics.FillRectangle((Brush) solidBrush, clientRectangle);
|
||||
using (Pen pen = new Pen(this.borderColor, 1f))
|
||||
e.Graphics.DrawRectangle(pen, clientRectangle);
|
||||
int num1 = this.pressed ? 1 : 0;
|
||||
int num2 = 0;
|
||||
if (this.Icon != null)
|
||||
num2 += this.IconSize + this.IconSpacing;
|
||||
Size size = TextRenderer.MeasureText(this.Text, this.Font);
|
||||
int num3 = num2 + size.Width;
|
||||
int x = clientRectangle.X + (clientRectangle.Width - num3) / 2;
|
||||
if (this.Icon != null)
|
||||
{
|
||||
Rectangle rect = new Rectangle(x, clientRectangle.Y + (clientRectangle.Height - this.IconSize) / 2 + num1, this.IconSize, this.IconSize);
|
||||
if (!this.Enabled)
|
||||
{
|
||||
using (SolidBrush solidBrush = new SolidBrush(Color.FromArgb(120, 0, 0, 0)))
|
||||
e.Graphics.FillRectangle((Brush) solidBrush, clientRectangle);
|
||||
}
|
||||
e.Graphics.DrawImage(this.Icon, rect);
|
||||
x += this.IconSize + this.IconSpacing;
|
||||
}
|
||||
Rectangle bounds = new Rectangle(x, clientRectangle.Y + num1, size.Width, clientRectangle.Height);
|
||||
TextRenderer.DrawText((IDeviceContext) e.Graphics, this.Text, this.Font, bounds, this.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.NoPadding);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user