SND\eagleeyestudios_cp 629320a40b Applied patch 15966 by KorsarNek, thanks for that!
Patch Notes:
Small fix that just removes the flicker of the Content Compiler gui for Linux systems.
2015-03-15 01:13:31 +01:00

86 lines
2.9 KiB
C#

#region Using Statements
using System;
using System.ComponentModel;
using System.Windows.Forms;
using ANX.Framework.NonXNA.Development;
using System.Drawing;
#endregion
// This file is part of the EES Content Compiler 4,
// © 2008 - 2012 by Eagle Eye Studios.
// The EES Content Compiler 4 is released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.ContentCompiler.GUI.Controls
{
//Reclaimer: on systems other than windows, mono 3.x is needed to make this class not crash on creation.
//For ubuntu, see this: http://stackoverflow.com/questions/13365158/installing-mono-3-x-3-0-x-and-or-3-2-x
[Developer("SilentWarrior/Eagle Eye Studios")]
[PercentageComplete(100)]
[TestState(TestStateAttribute.TestState.Tested)]
public partial class ArrowButton : UserControl
{
public ArrowButton()
{
InitializeComponent();
}
#region Properties
[EditorBrowsable(EditorBrowsableState.Always)]
public String Content
{
get { return labelText.Text; }
set { labelText.Text = value; }
}
#endregion
#region Private
private void ArrowButtonMouseEnter(object sender, EventArgs e)
{
BorderStyle = BorderStyle.FixedSingle;
}
private void ArrowButtonMouseLeave(object sender, EventArgs e)
{
//Because we trigger this on multiple contained controls and we want to act as they would be one, we have to make sure that we left our main control and
//not just the child controls. Otherwise, moving from label to pictureBox would cause the border to disappear.
//With this solution, we also don't get any flicker on ubuntu systems, it may cause some ghosting, but otherwise it works fine.
if (!this.ClientRectangle.Contains(this.PointToClient(Control.MousePosition)))
{
BorderStyle = BorderStyle.None;
}
}
private void ArrowButtonMouseDown(object sender, MouseEventArgs e)
{
BackColor = Settings.AccentColor3;
}
private void ArrowButtonMouseUp(object sender, MouseEventArgs e)
{
BackColor = Settings.MainColor;
}
private void PictureBox1Click(object sender, EventArgs e)
{
OnClick(e);
}
private void LabelTextClick(object sender, EventArgs e)
{
OnClick(e);
}
private void ArrowButtonFontChanged(object sender, EventArgs e)
{
labelText.Font = Font;
}
private void ArrowButtonLoad(object sender, EventArgs e)
{
BackColor = Settings.MainColor;
ForeColor = Settings.ForeColor;
}
#endregion
}
}