// BitmapSpriteEd - Bitmap Sprite Editor // Copyright (C) 2005 Ian Cowburn // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // $Id$ // using System; using System.Drawing; using System.Windows.Forms; namespace BitmapSpriteEd { /// /// Description of DropShadowForm. /// public class DropShadowForm : System.Windows.Forms.Form { private System.Windows.Forms.RadioButton m_bottomLeft; private System.Windows.Forms.Button m_ok; private System.Windows.Forms.RadioButton m_topRight; private System.Windows.Forms.RadioButton m_left; private System.Windows.Forms.Label m_color; private System.Windows.Forms.RadioButton m_top; private System.Windows.Forms.RadioButton m_topLeft; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label3; private System.Windows.Forms.NumericUpDown m_depth; private System.Windows.Forms.RadioButton m_bottomRight; private System.Windows.Forms.Button m_cancel; private System.Windows.Forms.Label label1; private System.Windows.Forms.RadioButton m_right; private System.Windows.Forms.RadioButton m_bottom; public class Shadow { public Shadow(int dx, int dy) { m_dx=dx; m_dy=dy; } public int DX {get {return m_dx;}} public int DY {get {return m_dy;}} private int m_dx; private int m_dy; } public DropShadowForm() { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); m_topLeft.Tag=new Shadow(-1,-1); m_top.Tag=new Shadow(0,-1); m_topRight.Tag=new Shadow(1,-1); m_left.Tag=new Shadow(-1,0); m_right.Tag=new Shadow(1,0); m_bottomLeft.Tag=new Shadow(-1,1); m_bottom.Tag=new Shadow(0,1); m_bottomRight.Tag=new Shadow(1,1); } #region Windows Forms Designer generated code /// /// This method is required for Windows Forms designer support. /// Do not change the method contents inside the source code editor. The Forms designer might /// not be able to load this method if it was changed manually. /// private void InitializeComponent() { this.m_bottom = new System.Windows.Forms.RadioButton(); this.m_right = new System.Windows.Forms.RadioButton(); this.label1 = new System.Windows.Forms.Label(); this.m_cancel = new System.Windows.Forms.Button(); this.m_bottomRight = new System.Windows.Forms.RadioButton(); this.m_depth = new System.Windows.Forms.NumericUpDown(); this.label3 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.m_topLeft = new System.Windows.Forms.RadioButton(); this.m_top = new System.Windows.Forms.RadioButton(); this.m_color = new System.Windows.Forms.Label(); this.m_left = new System.Windows.Forms.RadioButton(); this.m_topRight = new System.Windows.Forms.RadioButton(); this.m_ok = new System.Windows.Forms.Button(); this.m_bottomLeft = new System.Windows.Forms.RadioButton(); ((System.ComponentModel.ISupportInitialize)(this.m_depth)).BeginInit(); this.SuspendLayout(); // // m_bottom // this.m_bottom.Location = new System.Drawing.Point(32, 48); this.m_bottom.Name = "m_bottom"; this.m_bottom.Size = new System.Drawing.Size(16, 16); this.m_bottom.TabIndex = 8; // // m_right // this.m_right.Location = new System.Drawing.Point(48, 32); this.m_right.Name = "m_right"; this.m_right.Size = new System.Drawing.Size(16, 16); this.m_right.TabIndex = 5; // // label1 // this.label1.Location = new System.Drawing.Point(72, 16); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(56, 48); this.label1.TabIndex = 9; this.label1.Text = "Shadow Direction"; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // m_cancel // this.m_cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.m_cancel.Location = new System.Drawing.Point(136, 120); this.m_cancel.Name = "m_cancel"; this.m_cancel.Size = new System.Drawing.Size(112, 24); this.m_cancel.TabIndex = 10; this.m_cancel.Text = "Cancel"; this.m_cancel.Click += new System.EventHandler(this.OnOK); // // m_bottomRight // this.m_bottomRight.Checked = true; this.m_bottomRight.Location = new System.Drawing.Point(48, 48); this.m_bottomRight.Name = "m_bottomRight"; this.m_bottomRight.Size = new System.Drawing.Size(16, 16); this.m_bottomRight.TabIndex = 7; this.m_bottomRight.TabStop = true; // // m_depth // this.m_depth.Location = new System.Drawing.Point(16, 72); this.m_depth.Maximum = new System.Decimal(new int[] { 10, 0, 0, 0}); this.m_depth.Minimum = new System.Decimal(new int[] { 1, 0, 0, 0}); this.m_depth.Name = "m_depth"; this.m_depth.ReadOnly = true; this.m_depth.Size = new System.Drawing.Size(48, 20); this.m_depth.TabIndex = 11; this.m_depth.Value = new System.Decimal(new int[] { 1, 0, 0, 0}); // // label3 // this.label3.Location = new System.Drawing.Point(72, 104); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(56, 40); this.label3.TabIndex = 14; this.label3.Text = "Shadow Color"; this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // label2 // this.label2.Location = new System.Drawing.Point(72, 72); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(48, 24); this.label2.TabIndex = 12; this.label2.Text = "Shadow Depth"; this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // // m_topLeft // this.m_topLeft.Location = new System.Drawing.Point(16, 16); this.m_topLeft.Name = "m_topLeft"; this.m_topLeft.Size = new System.Drawing.Size(16, 16); this.m_topLeft.TabIndex = 1; // // m_top // this.m_top.Location = new System.Drawing.Point(32, 16); this.m_top.Name = "m_top"; this.m_top.Size = new System.Drawing.Size(16, 16); this.m_top.TabIndex = 2; // // m_color // this.m_color.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(224)), ((System.Byte)(224)), ((System.Byte)(224))); this.m_color.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.m_color.Location = new System.Drawing.Point(16, 104); this.m_color.Name = "m_color"; this.m_color.Size = new System.Drawing.Size(48, 40); this.m_color.TabIndex = 13; this.m_color.Click += new System.EventHandler(this.OnSelectColor); // // m_left // this.m_left.Location = new System.Drawing.Point(16, 32); this.m_left.Name = "m_left"; this.m_left.Size = new System.Drawing.Size(16, 16); this.m_left.TabIndex = 4; // // m_topRight // this.m_topRight.Location = new System.Drawing.Point(48, 16); this.m_topRight.Name = "m_topRight"; this.m_topRight.Size = new System.Drawing.Size(16, 16); this.m_topRight.TabIndex = 3; // // m_ok // this.m_ok.Location = new System.Drawing.Point(136, 88); this.m_ok.Name = "m_ok"; this.m_ok.Size = new System.Drawing.Size(112, 24); this.m_ok.TabIndex = 0; this.m_ok.Text = "OK"; this.m_ok.Click += new System.EventHandler(this.OnOK); // // m_bottomLeft // this.m_bottomLeft.Location = new System.Drawing.Point(16, 48); this.m_bottomLeft.Name = "m_bottomLeft"; this.m_bottomLeft.Size = new System.Drawing.Size(16, 16); this.m_bottomLeft.TabIndex = 6; // // DropShadowForm // this.AcceptButton = this.m_ok; this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.CancelButton = this.m_cancel; this.ClientSize = new System.Drawing.Size(258, 154); this.Controls.Add(this.label3); this.Controls.Add(this.m_color); this.Controls.Add(this.label2); this.Controls.Add(this.m_depth); this.Controls.Add(this.m_cancel); this.Controls.Add(this.label1); this.Controls.Add(this.m_left); this.Controls.Add(this.m_ok); this.Controls.Add(this.m_bottomLeft); this.Controls.Add(this.m_bottom); this.Controls.Add(this.m_bottomRight); this.Controls.Add(this.m_right); this.Controls.Add(this.m_topRight); this.Controls.Add(this.m_top); this.Controls.Add(this.m_topLeft); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; this.Name = "DropShadowForm"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Drop Shadow"; ((System.ComponentModel.ISupportInitialize)(this.m_depth)).EndInit(); this.ResumeLayout(false); } #endregion public Shadow ShadowSize { get { foreach (Control c in Controls) { if (c is RadioButton) { RadioButton r=(RadioButton)c; if (r.Checked) { Shadow s=(Shadow)r.Tag; int depth=Convert.ToInt32(m_depth.Value); return new Shadow(s.DX*depth,s.DY*depth); } } } return new Shadow(0,0); } } public Color ShadowColour { get {return m_color.BackColor;} } void OnOK(object sender, System.EventArgs e) { DialogResult=DialogResult.OK; Close(); } void OnSelectColor(object sender, System.EventArgs e) { AlphaColourDialog d=new AlphaColourDialog("Select shadow colour"); d.Color=m_color.BackColor; if (d.ShowDialog()==DialogResult.OK) { m_color.BackColor=d.Color; } } } }