aboutsummaryrefslogtreecommitdiff
path: root/source/WindowsFormsApplication1/Artpad.cs
diff options
context:
space:
mode:
Diffstat (limited to 'source/WindowsFormsApplication1/Artpad.cs')
-rw-r--r--source/WindowsFormsApplication1/Artpad.cs1783
1 files changed, 1783 insertions, 0 deletions
diff --git a/source/WindowsFormsApplication1/Artpad.cs b/source/WindowsFormsApplication1/Artpad.cs
new file mode 100644
index 0000000..1ba144d
--- /dev/null
+++ b/source/WindowsFormsApplication1/Artpad.cs
@@ -0,0 +1,1783 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using System.Drawing.Text;
+using System.Drawing.Imaging;
+using System.Drawing.Drawing2D;
+
+namespace ShiftOS
+{
+ public partial class Artpad : Form
+ {
+ /// <summary>
+ /// Artpad's GUI.
+ /// </summary>
+ public Artpad()
+ {
+ InitializeComponent();
+ }
+
+ #region Variables
+
+ public int rolldownsize;
+ public int oldbordersize;
+ public int oldtitlebarheight;
+ public bool justopened = false;
+ public bool needtorollback = false;
+ public int minimumsizewidth = 502;
+
+ public int minimumsizeheight = 398;
+ public int codepointsearned;
+ public bool codepointscooldown = false;
+
+ public bool needtosave = false;
+ int canvaswidth = 150;
+ int canvasheight = 100;
+ public Bitmap canvasbitmap;
+
+ Color canvascolor = Color.White;
+
+ Bitmap previewcanvasbitmap;
+ int magnificationlevel = 1;
+ Rectangle magnifyRect;
+ Graphics graphicsbitmap;
+ public Color drawingcolour = Color.Black;
+ string selectedtool = "Pixel Setter";
+ bool pixalplacermovable = false;
+ public string savelocation;
+ System.Drawing.Drawing2D.GraphicsPath mousePath = new System.Drawing.Drawing2D.GraphicsPath();
+ int pencilwidth = 1;
+ undo undo = new undo();
+ Point thisPoint;
+ int eracerwidth = 15;
+
+ string eracertype = "square";
+ int paintbrushwidth = 15;
+
+ string paintbrushtype = "circle";
+ float rectanglestartpointx;
+ float rectanglestartpointy;
+ bool currentlydrawingsquare;
+ int squarewidth = 1;
+ bool squarefillon = false;
+
+ Color fillsquarecolor = Color.Black;
+ float ovalstartpointx;
+ float ovalstartpointy;
+ bool currentlydrawingoval;
+ int ovalwidth = 2;
+ bool ovalfillon = false;
+
+ Color fillovalcolor = Color.Black;
+ float linestartpointx;
+ float linestartpointy;
+ bool currentlydrawingline;
+
+ int linewidth = 2;
+ bool currentlydrawingtext;
+ System.Drawing.Font drawtextfont = new System.Drawing.Font("Microsoft Sans Serif", 16);
+ int drawtextsize;
+ string drawtextfontname;
+
+ FontStyle drawtextfontstyle;
+
+ #endregion
+
+ #region Setup
+
+ private void Template_Load(object sender, EventArgs e)
+ {
+ justopened = true;
+ this.Left = (Screen.PrimaryScreen.Bounds.Width - this.Width) / 2;
+ this.Top = (Screen.PrimaryScreen.Bounds.Height - this.Height) / 2;
+
+ setuppreview();
+ settoolcolours();
+ loadcolors();
+ AddFonts();
+ setuptoolbox();
+ determinevisiblepallets();
+ tmrsetupui.Start();
+ }
+
+
+
+ public void setupcanvas()
+ {
+ canvasbitmap = new Bitmap(canvaswidth, canvasheight);
+ previewcanvasbitmap = new Bitmap(canvaswidth, canvasheight);
+ picdrawingdisplay.Size = new Size(canvaswidth, canvasheight);
+ picdrawingdisplay.Location = new Point((pnldrawingbackground.Width - canvaswidth) / 2, (pnldrawingbackground.Height - canvasheight) / 2);
+ graphicsbitmap = Graphics.FromImage(canvasbitmap);
+ SolidBrush canvasbrush = new SolidBrush(canvascolor);
+ graphicsbitmap.FillRectangle(canvasbrush, 0, 0, canvaswidth, canvasheight);
+ magnificationlevel = 1;
+ lblzoomlevel.Text = magnificationlevel + "X";
+ setuppreview();
+ needtosave = false;
+ }
+
+ public void setuptoolbox()
+ {
+ btnpixelplacer.Hide();
+ btnpencil.Hide();
+ btnfloodfill.Hide();
+ btnoval.Hide();
+ btnsquare.Hide();
+ btnlinetool.Hide();
+ btnpaintbrush.Hide();
+ btntexttool.Hide();
+ btneracer.Hide();
+ btnnew.Hide();
+ btnopen.Hide();
+ btnsave.Hide();
+ btnundo.Hide();
+ btnredo.Hide();
+ btnpixelplacermovementmode.Hide();
+
+ if (API.Upgrades["artpadpixelplacer"] == true)
+ btnpixelplacer.Show();
+ if (API.Upgrades["artpadpencil"] == true)
+ btnpencil.Show();
+ if (API.Upgrades["artpadfilltool"] == true)
+ btnfloodfill.Show();
+ if (API.Upgrades["artpadovaltool"] == true)
+ btnoval.Show();
+ if (API.Upgrades["artpadrectangletool"] == true)
+ btnsquare.Show();
+ if (API.Upgrades["artpadlinetool"] == true)
+ btnlinetool.Show();
+ if (API.Upgrades["artpadpaintbrush"] == true)
+ btnpaintbrush.Show();
+ if (API.Upgrades["artpadtexttool"] == true)
+ btntexttool.Show();
+ if (API.Upgrades["artpaderaser"] == true)
+ btneracer.Show();
+ if (API.Upgrades["artpadnew"] == true)
+ btnnew.Show();
+ if (API.Upgrades["artpadload"] == true)
+ btnopen.Show();
+ if (API.Upgrades["artpadsave"] == true)
+ btnsave.Show();
+ if (API.Upgrades["artpadundo"] == true)
+ btnundo.Show();
+ if (API.Upgrades["artpadredo"] == true)
+ btnredo.Show();
+ if (API.Upgrades["artpadppmovementmode"] == true)
+ btnpixelplacermovementmode.Show();
+
+ }
+
+ private void AddFonts()
+ {
+ // Get the installed fonts collection.
+ InstalledFontCollection allFonts = new InstalledFontCollection();
+
+ // Get an array of the system's font familiies.
+ FontFamily[] fontFamilies = allFonts.Families;
+
+ // Display the font families.
+ foreach (FontFamily myFont in fontFamilies)
+ {
+ combodrawtextfont.Items.Add(myFont.Name);
+ }
+ //font_family
+
+ combodrawtextfont.SelectedItem = combodrawtextfont.Items[1];
+ combofontstyle.Text = "Regular";
+ txtdrawtextsize.Text = "16";
+ }
+
+ #endregion
+
+ #region General
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnpixelsetter_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Pixel Setter";
+ gettoolsettings(pnlpixelsettersettings);
+ }
+
+ private void gettoolsettings(Panel toolpanel)
+ {
+ //hide all properties panels
+ pnlpixelsettersettings.Hide();
+ pnlmagnifiersettings.Hide();
+
+ //show chosen panel
+ toolpanel.Dock = DockStyle.Fill;
+ toolpanel.BringToFront();
+ toolpanel.Show();
+
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnpixelsettersetpixel_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ undo.undoStack.Push((Image)canvasbitmap.Clone());
+ undo.redoStack.Clear();
+ canvasbitmap.SetPixel(Convert.ToInt32(txtpixelsetterxcoordinate.Text), Convert.ToInt32(txtpixelsetterycoordinate.Text), drawingcolour);
+ picdrawingdisplay.Invalidate();
+ }
+ catch (Exception ex)
+ {
+ API.CreateInfoboxSession("ArtPad - Placement Error!", "You have specified invalid coordinates for the pixel setter." + Environment.NewLine + Environment.NewLine + "Remember that the top left pixel has the coordinates 0, 0", infobox.InfoboxMode.Info);
+ }
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnmagnify_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Magnifier";
+ gettoolsettings(pnlmagnifiersettings);
+ }
+
+ #endregion
+
+ #region Drawing Display
+
+ // ERROR: Handles clauses are not supported in C#
+ private void picdrawingdisplay_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
+ {
+ e.Graphics.FillRectangle(Brushes.White, 0, 0, canvaswidth * magnificationlevel, canvasheight * magnificationlevel);
+ e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
+ e.Graphics.PixelOffsetMode = PixelOffsetMode.Half;
+ e.Graphics.ScaleTransform(magnificationlevel, magnificationlevel);
+
+ if (currentlydrawingsquare == true)
+ {
+ GC.Collect();
+ Graphics g = Graphics.FromImage(previewcanvasbitmap);
+ previewcanvasbitmap = new Bitmap(canvasbitmap.Width, canvasbitmap.Height);
+ g = Graphics.FromImage(previewcanvasbitmap);
+ var CurrentPen = new Pen(Color.FromArgb(255, drawingcolour), squarewidth);
+ var CurrentBrush = new SolidBrush(Color.FromArgb(255, fillsquarecolor));
+ RectangleF rectdraw = new RectangleF(rectanglestartpointx, rectanglestartpointy, thisPoint.X - rectanglestartpointx, thisPoint.Y - rectanglestartpointy);
+ int heightamount;
+ int widthamount;
+ if (rectdraw.Height < 0)
+ heightamount = (int)Math.Abs(rectdraw.Height);
+ else
+ heightamount = 0;
+ if (rectdraw.Width < 0)
+ widthamount = (int)Math.Abs(rectdraw.Width);
+ else
+ widthamount = 0;
+ if (squarewidth > 0)
+ {
+ g.DrawRectangle(CurrentPen, rectdraw.X - widthamount, rectdraw.Y - heightamount, Math.Abs(rectdraw.Width), Math.Abs(rectdraw.Height));
+ }
+ if (squarefillon == true)
+ {
+ float correctionamount = squarewidth / 2;
+ int addfillamount;
+ if (squarewidth > 0)
+ addfillamount = squarewidth;
+ else
+ addfillamount = -1;
+ g.FillRectangle(CurrentBrush, (rectdraw.X - widthamount) + correctionamount, (rectdraw.Y - heightamount) + correctionamount, Math.Abs(rectdraw.Width) - addfillamount, Math.Abs(rectdraw.Height) - addfillamount);
+ }
+ }
+
+ if (currentlydrawingoval == true)
+ {
+ GC.Collect();
+ Graphics g = Graphics.FromImage(previewcanvasbitmap);
+ previewcanvasbitmap = new Bitmap(canvasbitmap.Width, canvasbitmap.Height);
+ g = Graphics.FromImage(previewcanvasbitmap);
+ var CurrentPen = new Pen(Color.FromArgb(255, drawingcolour), ovalwidth);
+ var CurrentBrush = new SolidBrush(Color.FromArgb(255, fillovalcolor));
+ RectangleF ovaldraw = new RectangleF(ovalstartpointx, ovalstartpointy, thisPoint.X - ovalstartpointx, thisPoint.Y - ovalstartpointy);
+ int heightamount;
+ int widthamount;
+ if (ovaldraw.Height < 0)
+ heightamount = (int)Math.Abs(ovaldraw.Height);
+ else
+ heightamount = 0;
+ if (ovaldraw.Width < 0)
+ widthamount = (int)Math.Abs(ovaldraw.Width);
+ else
+ widthamount = 0;
+ if (ovalwidth > 0)
+ {
+ g.DrawEllipse(CurrentPen, ovaldraw.X - widthamount, ovaldraw.Y - heightamount, Math.Abs(ovaldraw.Width), Math.Abs(ovaldraw.Height));
+ }
+ if (ovalfillon == true)
+ {
+ g.FillEllipse(CurrentBrush, (ovaldraw.X - widthamount), (ovaldraw.Y - heightamount), Math.Abs(ovaldraw.Width), Math.Abs(ovaldraw.Height));
+ }
+ }
+
+ if (currentlydrawingline == true)
+ {
+ GC.Collect();
+ Graphics g = Graphics.FromImage(previewcanvasbitmap);
+ previewcanvasbitmap = new Bitmap(canvasbitmap.Width, canvasbitmap.Height);
+ g = Graphics.FromImage(previewcanvasbitmap);
+ var CurrentPen = new Pen(Color.FromArgb(255, drawingcolour), linewidth);
+ g.DrawLine(CurrentPen, linestartpointx, linestartpointy, thisPoint.X, thisPoint.Y);
+ }
+
+ if (currentlydrawingtext == true)
+ {
+ GC.Collect();
+ Graphics g = Graphics.FromImage(previewcanvasbitmap);
+ previewcanvasbitmap = new Bitmap(canvasbitmap.Width, canvasbitmap.Height);
+ g = Graphics.FromImage(previewcanvasbitmap);
+ var CurrentBrush = new SolidBrush(Color.FromArgb(255, drawingcolour));
+ g.TextRenderingHint = TextRenderingHint.SingleBitPerPixelGridFit;
+ drawtextfont = new System.Drawing.Font(drawtextfontname, drawtextsize, drawtextfontstyle);
+ g.DrawString(txtdrawstringtext.Text, drawtextfont, CurrentBrush, thisPoint.X, thisPoint.Y);
+ }
+ try
+ {
+ e.Graphics.DrawImage(canvasbitmap, 0, 0);
+ e.Graphics.DrawImage(previewcanvasbitmap, 0, 0);
+ }
+ catch (System.OutOfMemoryException ex)
+ {
+
+ }
+ }
+
+
+
+ // ERROR: Handles clauses are not supported in C#
+ private void picdrawingdisplay_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ undo.undoStack.Push((Image)canvasbitmap.Clone());
+ undo.redoStack.Clear();
+
+
+ thisPoint.X = (int)(e.Location.X - (magnificationlevel / 2)) / magnificationlevel;
+ thisPoint.Y = (int)(e.Location.Y - (magnificationlevel / 2)) / magnificationlevel;
+
+ if (selectedtool == "Pixel Placer")
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ if (thisPoint.X < canvasbitmap.Width && thisPoint.X > -1)
+ {
+ if (thisPoint.Y < canvasbitmap.Height && thisPoint.Y > -1)
+ {
+ canvasbitmap.SetPixel(thisPoint.X, thisPoint.Y, drawingcolour);
+ //set the pixel on the canvas
+ picdrawingdisplay.Invalidate();
+ //refresh the picture from the canvas
+ }
+ }
+ }
+ }
+
+ if (selectedtool == "Pencil")
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ mousePath.StartFigure();
+ picdrawingdisplay.Invalidate();
+ }
+ }
+
+ if (selectedtool == "Flood Fill")
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ if (thisPoint.X < canvasbitmap.Width && thisPoint.X > -1)
+ {
+ if (thisPoint.Y < canvasbitmap.Height && thisPoint.Y > -1)
+ {
+ SafeFloodFill(canvasbitmap, thisPoint.X, thisPoint.Y, drawingcolour);
+ graphicsbitmap = Graphics.FromImage(canvasbitmap);
+ picdrawingdisplay.Invalidate();
+ }
+ }
+ }
+ }
+
+ if (selectedtool == "Square Tool")
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ rectanglestartpointx = thisPoint.X;
+ rectanglestartpointy = thisPoint.Y;
+ currentlydrawingsquare = true;
+ picdrawingdisplay.Invalidate();
+ }
+ }
+
+ if (selectedtool == "Oval Tool")
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ ovalstartpointx = thisPoint.X;
+ ovalstartpointy = thisPoint.Y;
+ currentlydrawingoval = true;
+ picdrawingdisplay.Invalidate();
+ }
+ }
+
+ if (selectedtool == "Line Tool")
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ linestartpointx = thisPoint.X;
+ linestartpointy = thisPoint.Y;
+ currentlydrawingline = true;
+ picdrawingdisplay.Invalidate();
+ }
+ }
+
+ if (selectedtool == "Text Tool")
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ currentlydrawingtext = true;
+ picdrawingdisplay.Invalidate();
+ }
+ }
+
+ if (selectedtool == "Eracer")
+ {
+ var CurrentPen = new Pen(Color.FromArgb(255, canvascolor), eracerwidth);
+ float halfsize = eracerwidth / 2;
+ if (eracertype == "circle")
+ {
+ graphicsbitmap.DrawEllipse(CurrentPen, thisPoint.X - halfsize, thisPoint.Y - halfsize, eracerwidth, eracerwidth);
+ }
+ else {
+ graphicsbitmap.DrawRectangle(CurrentPen, thisPoint.X - halfsize, thisPoint.Y - halfsize, eracerwidth, eracerwidth);
+ }
+ picdrawingdisplay.Invalidate();
+ }
+
+ if (selectedtool == "Paint Brush")
+ {
+ var CurrentBrush = new SolidBrush(Color.FromArgb(255, drawingcolour));
+ float halfsize = paintbrushwidth / 2;
+ if (paintbrushtype == "circle")
+ {
+ graphicsbitmap.FillEllipse(CurrentBrush, thisPoint.X - halfsize, thisPoint.Y - halfsize, paintbrushwidth, paintbrushwidth);
+ }
+ else {
+ graphicsbitmap.FillRectangle(CurrentBrush, thisPoint.X - halfsize, thisPoint.Y - halfsize, paintbrushwidth, paintbrushwidth);
+ }
+ picdrawingdisplay.Invalidate();
+ CurrentBrush.Dispose();
+ }
+ preparecooldown();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void picdrawingdisplay_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ Point lastpoint;
+
+ thisPoint.X = (int)(e.Location.X - (magnificationlevel / 2)) / magnificationlevel;
+ thisPoint.Y = (int)(e.Location.Y - (magnificationlevel / 2)) / magnificationlevel;
+
+
+ if (e.Button == MouseButtons.Left)
+ {
+ undo.redoStack.Clear();
+ lastpoint = thisPoint;
+ preparecooldown();
+
+ if (selectedtool == "Pixel Placer" && pixalplacermovable == true)
+ {
+ if (thisPoint.X < canvasbitmap.Width && thisPoint.X > -1)
+ {
+ if (thisPoint.Y < canvasbitmap.Height && thisPoint.Y > -1)
+ {
+ canvasbitmap.SetPixel(thisPoint.X, thisPoint.Y, drawingcolour);
+ //set the pixel on the canvas
+ picdrawingdisplay.Invalidate();
+ //refresh the picture from the canvas
+ }
+ }
+ }
+
+ if (selectedtool == "Pencil")
+ {
+ mousePath.AddLine(thisPoint.X, thisPoint.Y, thisPoint.X, thisPoint.Y);
+ var CurrentPen = new Pen(Color.FromArgb(255, drawingcolour), pencilwidth);
+ graphicsbitmap.DrawPath(CurrentPen, mousePath);
+ picdrawingdisplay.Invalidate();
+ }
+
+ if (selectedtool == "Square Tool")
+ {
+ picdrawingdisplay.Invalidate();
+ }
+
+ if (selectedtool == "Oval Tool")
+ {
+ picdrawingdisplay.Invalidate();
+ }
+
+ if (selectedtool == "Line Tool")
+ {
+ picdrawingdisplay.Invalidate();
+ }
+
+ if (selectedtool == "Text Tool")
+ {
+ picdrawingdisplay.Invalidate();
+ }
+
+ if (selectedtool == "Eracer")
+ {
+ var CurrentPen = new Pen(Color.FromArgb(255, canvascolor), eracerwidth);
+ float halfsize = eracerwidth / 2;
+ if (eracertype == "circle")
+ {
+ graphicsbitmap.DrawEllipse(CurrentPen, thisPoint.X - halfsize, thisPoint.Y - halfsize, eracerwidth, eracerwidth);
+ }
+ else {
+ graphicsbitmap.DrawRectangle(CurrentPen, thisPoint.X - halfsize, thisPoint.Y - halfsize, eracerwidth, eracerwidth);
+ }
+ picdrawingdisplay.Invalidate();
+ }
+
+ if (selectedtool == "Paint Brush")
+ {
+ var CurrentBrush = new SolidBrush(Color.FromArgb(255, drawingcolour));
+ float halfsize = paintbrushwidth / 2;
+ if (paintbrushtype == "circle")
+ {
+ graphicsbitmap.FillEllipse(CurrentBrush, thisPoint.X - halfsize, thisPoint.Y - halfsize, paintbrushwidth, paintbrushwidth);
+ }
+ else {
+ graphicsbitmap.FillRectangle(CurrentBrush, thisPoint.X - halfsize, thisPoint.Y - halfsize, paintbrushwidth, paintbrushwidth);
+ }
+ picdrawingdisplay.Invalidate();
+ }
+ }
+
+ }
+
+
+ // ERROR: Handles clauses are not supported in C#
+ private void picdrawingdisplay_MouseUp(object sender, MouseEventArgs e)
+ {
+ thisPoint.X = (int)(e.Location.X - (magnificationlevel / 2)) / magnificationlevel;
+ thisPoint.Y = (int)(e.Location.Y - (magnificationlevel / 2)) / magnificationlevel;
+
+ if (selectedtool == "Pencil")
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ mousePath.Reset();
+ }
+ }
+
+ if (selectedtool == "Square Tool")
+ {
+ picdrawingdisplay.Invalidate();
+ currentlydrawingsquare = false;
+ }
+
+ if (selectedtool == "Oval Tool")
+ {
+ picdrawingdisplay.Invalidate();
+ currentlydrawingoval = false;
+ }
+
+
+ if (selectedtool == "Line Tool")
+ {
+ picdrawingdisplay.Invalidate();
+ currentlydrawingline = false;
+ }
+
+ if (selectedtool == "Text Tool")
+ {
+ picdrawingdisplay.Invalidate();
+ currentlydrawingtext = false;
+ }
+
+ using (Graphics g = Graphics.FromImage(canvasbitmap))
+ {
+ g.DrawImage(previewcanvasbitmap, 0, 0);
+ }
+ previewcanvasbitmap = new Bitmap(canvasbitmap.Width, canvasbitmap.Height);
+ picdrawingdisplay.Invalidate();
+ preparecooldown();
+
+ }
+
+ #endregion
+
+ #region Color Palettes
+ // ERROR: Handles clauses are not supported in C#
+ private void colourpallet1_MouseClick(object sender, MouseEventArgs e)
+ {
+ var s = (Control)sender;
+ if (e.Button == MouseButtons.Left)
+ {
+ drawingcolour = s.BackColor;
+ setuppreview();
+ settoolcolours();
+ }
+ else {
+ API.CreateColorPickerSession("Artpad Pallete Color", s.BackColor);
+ API.ColorPickerSession.FormClosing += (object se, FormClosingEventArgs a) =>
+ {
+ s.BackColor = API.GetLastColorFromSession();
+ };
+ }
+ }
+
+ //<unused>
+ public void loadcolors()
+ {
+ /*bool allwhite = true;
+ for (int i = 0; i <= 127; i++)
+ {
+ if (ShiftOSDesktop.artpadcolourpallets(i) == null)
+ {
+ }
+ else {
+ allwhite = false;
+ }
+ }
+ if (allwhite == true)
+ {
+ for (i = 0; i <= 127; i++)
+ {
+ ShiftOSDesktop.artpadcolourpallets(i) = Color.Black;
+ }
+ }
+ colourpallet1.BackColor = ShiftOSDesktop.artpadcolourpallets(0);
+ colourpallet2.BackColor = ShiftOSDesktop.artpadcolourpallets(1);
+ colourpallet3.BackColor = ShiftOSDesktop.artpadcolourpallets(2);
+ colourpallet4.BackColor = ShiftOSDesktop.artpadcolourpallets(3);
+ colourpallet5.BackColor = ShiftOSDesktop.artpadcolourpallets(4);
+ colourpallet6.BackColor = ShiftOSDesktop.artpadcolourpallets(5);
+ colourpallet7.BackColor = ShiftOSDesktop.artpadcolourpallets(6);
+ colourpallet8.BackColor = ShiftOSDesktop.artpadcolourpallets(7);
+ colourpallet9.BackColor = ShiftOSDesktop.artpadcolourpallets(8);
+ colourpallet10.BackColor = ShiftOSDesktop.artpadcolourpallets(9);
+ colourpallet11.BackColor = ShiftOSDesktop.artpadcolourpallets(10);
+ colourpallet12.BackColor = ShiftOSDesktop.artpadcolourpallets(11);
+ colourpallet13.BackColor = ShiftOSDesktop.artpadcolourpallets(12);
+ colourpallet14.BackColor = ShiftOSDesktop.artpadcolourpallets(13);
+ colourpallet15.BackColor = ShiftOSDesktop.artpadcolourpallets(14);
+ colourpallet16.BackColor = ShiftOSDesktop.artpadcolourpallets(15);
+ colourpallet17.BackColor = ShiftOSDesktop.artpadcolourpallets(16);
+ colourpallet18.BackColor = ShiftOSDesktop.artpadcolourpallets(17);
+ colourpallet19.BackColor = ShiftOSDesktop.artpadcolourpallets(18);
+ colourpallet20.BackColor = ShiftOSDesktop.artpadcolourpallets(19);
+ colourpallet21.BackColor = ShiftOSDesktop.artpadcolourpallets(20);
+ colourpallet22.BackColor = ShiftOSDesktop.artpadcolourpallets(21);
+ colourpallet23.BackColor = ShiftOSDesktop.artpadcolourpallets(22);
+ colourpallet24.BackColor = ShiftOSDesktop.artpadcolourpallets(23);
+ colourpallet25.BackColor = ShiftOSDesktop.artpadcolourpallets(24);
+ colourpallet26.BackColor = ShiftOSDesktop.artpadcolourpallets(25);
+ colourpallet27.BackColor = ShiftOSDesktop.artpadcolourpallets(26);
+ colourpallet28.BackColor = ShiftOSDesktop.artpadcolourpallets(27);
+ colourpallet29.BackColor = ShiftOSDesktop.artpadcolourpallets(28);
+ colourpallet30.BackColor = ShiftOSDesktop.artpadcolourpallets(29);
+ colourpallet31.BackColor = ShiftOSDesktop.artpadcolourpallets(30);
+ colourpallet32.BackColor = ShiftOSDesktop.artpadcolourpallets(31);
+ colourpallet33.BackColor = ShiftOSDesktop.artpadcolourpallets(32);
+ colourpallet34.BackColor = ShiftOSDesktop.artpadcolourpallets(33);
+ colourpallet35.BackColor = ShiftOSDesktop.artpadcolourpallets(34);
+ colourpallet36.BackColor = ShiftOSDesktop.artpadcolourpallets(35);
+ colourpallet37.BackColor = ShiftOSDesktop.artpadcolourpallets(36);
+ colourpallet38.BackColor = ShiftOSDesktop.artpadcolourpallets(37);
+ colourpallet39.BackColor = ShiftOSDesktop.artpadcolourpallets(38);
+ colourpallet40.BackColor = ShiftOSDesktop.artpadcolourpallets(39);
+ colourpallet41.BackColor = ShiftOSDesktop.artpadcolourpallets(40);
+ colourpallet42.BackColor = ShiftOSDesktop.artpadcolourpallets(41);
+ colourpallet43.BackColor = ShiftOSDesktop.artpadcolourpallets(42);
+ colourpallet44.BackColor = ShiftOSDesktop.artpadcolourpallets(43);
+ colourpallet45.BackColor = ShiftOSDesktop.artpadcolourpallets(44);
+ colourpallet46.BackColor = ShiftOSDesktop.artpadcolourpallets(45);
+ colourpallet47.BackColor = ShiftOSDesktop.artpadcolourpallets(46);
+ colourpallet48.BackColor = ShiftOSDesktop.artpadcolourpallets(47);
+ colourpallet49.BackColor = ShiftOSDesktop.artpadcolourpallets(48);
+ colourpallet50.BackColor = ShiftOSDesktop.artpadcolourpallets(49);
+ colourpallet51.BackColor = ShiftOSDesktop.artpadcolourpallets(50);
+ colourpallet52.BackColor = ShiftOSDesktop.artpadcolourpallets(51);
+ colourpallet53.BackColor = ShiftOSDesktop.artpadcolourpallets(52);
+ colourpallet54.BackColor = ShiftOSDesktop.artpadcolourpallets(53);
+ colourpallet55.BackColor = ShiftOSDesktop.artpadcolourpallets(54);
+ colourpallet56.BackColor = ShiftOSDesktop.artpadcolourpallets(55);
+ colourpallet57.BackColor = ShiftOSDesktop.artpadcolourpallets(56);
+ colourpallet58.BackColor = ShiftOSDesktop.artpadcolourpallets(57);
+ colourpallet59.BackColor = ShiftOSDesktop.artpadcolourpallets(58);
+ colourpallet60.BackColor = ShiftOSDesktop.artpadcolourpallets(59);
+ colourpallet61.BackColor = ShiftOSDesktop.artpadcolourpallets(60);
+ colourpallet62.BackColor = ShiftOSDesktop.artpadcolourpallets(61);
+ colourpallet63.BackColor = ShiftOSDesktop.artpadcolourpallets(62);
+ colourpallet64.BackColor = ShiftOSDesktop.artpadcolourpallets(63);
+ colourpallet65.BackColor = ShiftOSDesktop.artpadcolourpallets(64);
+ colourpallet66.BackColor = ShiftOSDesktop.artpadcolourpallets(65);
+ colourpallet67.BackColor = ShiftOSDesktop.artpadcolourpallets(66);
+ colourpallet68.BackColor = ShiftOSDesktop.artpadcolourpallets(67);
+ colourpallet69.BackColor = ShiftOSDesktop.artpadcolourpallets(68);
+ colourpallet70.BackColor = ShiftOSDesktop.artpadcolourpallets(69);
+ colourpallet71.BackColor = ShiftOSDesktop.artpadcolourpallets(70);
+ colourpallet72.BackColor = ShiftOSDesktop.artpadcolourpallets(71);
+ colourpallet73.BackColor = ShiftOSDesktop.artpadcolourpallets(72);
+ colourpallet74.BackColor = ShiftOSDesktop.artpadcolourpallets(73);
+ colourpallet75.BackColor = ShiftOSDesktop.artpadcolourpallets(74);
+ colourpallet76.BackColor = ShiftOSDesktop.artpadcolourpallets(75);
+ colourpallet77.BackColor = ShiftOSDesktop.artpadcolourpallets(76);
+ colourpallet78.BackColor = ShiftOSDesktop.artpadcolourpallets(77);
+ colourpallet79.BackColor = ShiftOSDesktop.artpadcolourpallets(78);
+ colourpallet80.BackColor = ShiftOSDesktop.artpadcolourpallets(79);
+ colourpallet81.BackColor = ShiftOSDesktop.artpadcolourpallets(80);
+ colourpallet82.BackColor = ShiftOSDesktop.artpadcolourpallets(81);
+ colourpallet83.BackColor = ShiftOSDesktop.artpadcolourpallets(82);
+ colourpallet84.BackColor = ShiftOSDesktop.artpadcolourpallets(83);
+ colourpallet85.BackColor = ShiftOSDesktop.artpadcolourpallets(84);
+ colourpallet86.BackColor = ShiftOSDesktop.artpadcolourpallets(85);
+ colourpallet87.BackColor = ShiftOSDesktop.artpadcolourpallets(86);
+ colourpallet88.BackColor = ShiftOSDesktop.artpadcolourpallets(87);
+ colourpallet89.BackColor = ShiftOSDesktop.artpadcolourpallets(88);
+ colourpallet90.BackColor = ShiftOSDesktop.artpadcolourpallets(89);
+ colourpallet91.BackColor = ShiftOSDesktop.artpadcolourpallets(90);
+ colourpallet92.BackColor = ShiftOSDesktop.artpadcolourpallets(91);
+ colourpallet93.BackColor = ShiftOSDesktop.artpadcolourpallets(92);
+ colourpallet94.BackColor = ShiftOSDesktop.artpadcolourpallets(93);
+ colourpallet95.BackColor = ShiftOSDesktop.artpadcolourpallets(94);
+ colourpallet96.BackColor = ShiftOSDesktop.artpadcolourpallets(95);
+ colourpallet97.BackColor = ShiftOSDesktop.artpadcolourpallets(96);
+ colourpallet98.BackColor = ShiftOSDesktop.artpadcolourpallets(97);
+ colourpallet99.BackColor = ShiftOSDesktop.artpadcolourpallets(98);
+ colourpallet100.BackColor = ShiftOSDesktop.artpadcolourpallets(99);
+ colourpallet101.BackColor = ShiftOSDesktop.artpadcolourpallets(100);
+ colourpallet102.BackColor = ShiftOSDesktop.artpadcolourpallets(101);
+ colourpallet103.BackColor = ShiftOSDesktop.artpadcolourpallets(102);
+ colourpallet104.BackColor = ShiftOSDesktop.artpadcolourpallets(103);
+ colourpallet105.BackColor = ShiftOSDesktop.artpadcolourpallets(104);
+ colourpallet106.BackColor = ShiftOSDesktop.artpadcolourpallets(105);
+ colourpallet107.BackColor = ShiftOSDesktop.artpadcolourpallets(106);
+ colourpallet108.BackColor = ShiftOSDesktop.artpadcolourpallets(107);
+ colourpallet109.BackColor = ShiftOSDesktop.artpadcolourpallets(108);
+ colourpallet110.BackColor = ShiftOSDesktop.artpadcolourpallets(109);
+ colourpallet111.BackColor = ShiftOSDesktop.artpadcolourpallets(110);
+ colourpallet112.BackColor = ShiftOSDesktop.artpadcolourpallets(111);
+ colourpallet113.BackColor = ShiftOSDesktop.artpadcolourpallets(112);
+ colourpallet114.BackColor = ShiftOSDesktop.artpadcolourpallets(113);
+ colourpallet115.BackColor = ShiftOSDesktop.artpadcolourpallets(114);
+ colourpallet116.BackColor = ShiftOSDesktop.artpadcolourpallets(115);
+ colourpallet117.BackColor = ShiftOSDesktop.artpadcolourpallets(116);
+ colourpallet118.BackColor = ShiftOSDesktop.artpadcolourpallets(117);
+ colourpallet119.BackColor = ShiftOSDesktop.artpadcolourpallets(118);
+ colourpallet120.BackColor = ShiftOSDesktop.artpadcolourpallets(119);
+ colourpallet121.BackColor = ShiftOSDesktop.artpadcolourpallets(120);
+ colourpallet122.BackColor = ShiftOSDesktop.artpadcolourpallets(121);
+ colourpallet123.BackColor = ShiftOSDesktop.artpadcolourpallets(122);
+ colourpallet124.BackColor = ShiftOSDesktop.artpadcolourpallets(123);
+ colourpallet125.BackColor = ShiftOSDesktop.artpadcolourpallets(124);
+ colourpallet126.BackColor = ShiftOSDesktop.artpadcolourpallets(125);
+ colourpallet127.BackColor = ShiftOSDesktop.artpadcolourpallets(126);
+ colourpallet128.BackColor = ShiftOSDesktop.artpadcolourpallets(127);
+ */}
+
+ public void savecolors()
+ {/*
+ ShiftOSDesktop.artpadcolourpallets(0) = colourpallet1.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(1) = colourpallet2.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(2) = colourpallet3.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(3) = colourpallet4.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(4) = colourpallet5.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(5) = colourpallet6.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(6) = colourpallet7.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(7) = colourpallet8.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(8) = colourpallet9.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(9) = colourpallet10.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(10) = colourpallet11.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(11) = colourpallet12.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(12) = colourpallet13.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(13) = colourpallet14.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(14) = colourpallet15.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(15) = colourpallet16.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(16) = colourpallet17.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(17) = colourpallet18.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(18) = colourpallet19.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(19) = colourpallet20.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(20) = colourpallet21.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(21) = colourpallet22.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(22) = colourpallet23.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(23) = colourpallet24.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(24) = colourpallet25.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(25) = colourpallet26.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(26) = colourpallet27.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(27) = colourpallet28.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(28) = colourpallet29.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(29) = colourpallet30.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(30) = colourpallet31.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(31) = colourpallet32.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(32) = colourpallet33.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(33) = colourpallet34.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(34) = colourpallet35.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(35) = colourpallet36.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(36) = colourpallet37.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(37) = colourpallet38.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(38) = colourpallet39.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(39) = colourpallet40.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(40) = colourpallet41.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(41) = colourpallet42.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(42) = colourpallet43.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(43) = colourpallet44.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(44) = colourpallet45.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(45) = colourpallet46.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(46) = colourpallet47.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(47) = colourpallet48.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(48) = colourpallet49.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(49) = colourpallet50.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(50) = colourpallet51.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(51) = colourpallet52.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(52) = colourpallet53.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(53) = colourpallet54.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(54) = colourpallet55.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(55) = colourpallet56.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(56) = colourpallet57.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(57) = colourpallet58.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(58) = colourpallet59.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(59) = colourpallet60.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(60) = colourpallet61.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(61) = colourpallet62.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(62) = colourpallet63.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(63) = colourpallet64.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(64) = colourpallet65.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(65) = colourpallet66.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(66) = colourpallet67.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(67) = colourpallet68.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(68) = colourpallet69.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(69) = colourpallet70.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(70) = colourpallet71.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(71) = colourpallet72.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(72) = colourpallet73.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(73) = colourpallet74.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(74) = colourpallet75.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(75) = colourpallet76.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(76) = colourpallet77.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(77) = colourpallet78.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(78) = colourpallet79.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(79) = colourpallet80.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(80) = colourpallet81.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(81) = colourpallet82.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(82) = colourpallet83.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(83) = colourpallet84.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(84) = colourpallet85.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(85) = colourpallet86.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(86) = colourpallet87.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(87) = colourpallet88.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(88) = colourpallet89.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(89) = colourpallet90.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(90) = colourpallet91.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(91) = colourpallet92.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(92) = colourpallet93.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(93) = colourpallet94.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(94) = colourpallet95.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(95) = colourpallet96.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(96) = colourpallet97.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(97) = colourpallet98.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(98) = colourpallet99.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(99) = colourpallet100.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(100) = colourpallet101.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(101) = colourpallet102.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(102) = colourpallet103.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(103) = colourpallet104.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(104) = colourpallet105.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(105) = colourpallet106.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(106) = colourpallet107.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(107) = colourpallet108.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(108) = colourpallet109.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(109) = colourpallet110.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(110) = colourpallet111.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(111) = colourpallet112.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(112) = colourpallet113.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(113) = colourpallet114.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(114) = colourpallet115.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(115) = colourpallet116.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(116) = colourpallet117.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(117) = colourpallet118.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(118) = colourpallet119.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(119) = colourpallet120.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(120) = colourpallet121.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(121) = colourpallet122.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(122) = colourpallet123.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(123) = colourpallet124.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(124) = colourpallet125.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(125) = colourpallet126.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(126) = colourpallet127.BackColor;
+ ShiftOSDesktop.artpadcolourpallets(127) = colourpallet128.BackColor;
+ */}
+ //</unused>
+
+ public void settoolcolours()
+ {
+ btnpixelsetter.BackColor = drawingcolour;
+ btnpixelplacer.BackColor = drawingcolour;
+ btnpencil.BackColor = drawingcolour;
+ btnfloodfill.BackColor = drawingcolour;
+ btnsquare.BackColor = drawingcolour;
+ btnoval.BackColor = drawingcolour;
+ btnlinetool.BackColor = drawingcolour;
+ btnpaintbrush.BackColor = drawingcolour;
+ btntexttool.BackColor = drawingcolour;
+ }
+ #endregion
+
+ #region Zooming
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnzoomin_Click(object sender, EventArgs e)
+ {
+ if (magnificationlevel < 256)
+ {
+ magnificationlevel *= 2;
+ }
+ else {
+ API.CreateInfoboxSession("ArtPad - Magnification Error!"
+ , "You are unable to increase the magnification level any further." + Environment.NewLine + Environment.NewLine + "256x is the highest level of magnification supported by ArtPad!", infobox.InfoboxMode.Info);
+ }
+ setmagnification();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnzoomout_Click(object sender, EventArgs e)
+ {
+ if (magnificationlevel > 1)
+ {
+ magnificationlevel /= 2;
+ pnldrawingbackground.AutoScrollPosition = new Point(0, 0);
+ }
+ else {
+ API.CreateInfoboxSession("ArtPad - Magnification Error!"
+ ,"You are unable to decrease the magnification level any further." + Environment.NewLine + Environment.NewLine + "Artpad is unable to scale pixels at a level smaller than their actual size!", infobox.InfoboxMode.Info);
+ }
+ setmagnification();
+ }
+
+ private void setmagnification()
+ {
+ magnifyRect.Width = (int)canvaswidth / magnificationlevel;
+ magnifyRect.Height = (int)canvasheight / magnificationlevel;
+ picdrawingdisplay.Size = new Size(canvaswidth * magnificationlevel, canvasheight * magnificationlevel);
+ if (picdrawingdisplay.Height > 468 && picdrawingdisplay.Width > 676)
+ {
+ picdrawingdisplay.Location = new Point(0, 0);
+ }
+ else {
+ picdrawingdisplay.Location = new Point((pnldrawingbackground.Width - canvaswidth * magnificationlevel) / 2, (pnldrawingbackground.Height - canvasheight * magnificationlevel) / 2);
+ }
+ picdrawingdisplay.Invalidate();
+ lblzoomlevel.Text = magnificationlevel + "X";
+ }
+
+ #endregion
+
+ #region Pixel Placer
+
+ // ERROR: Handles clauses are not supported in C#
+ private void pnlpixelplacer_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Pixel Placer";
+ gettoolsettings(pnlpixelplacersettings);
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnpixelplacermovementmode_Click(object sender, EventArgs e)
+ {
+ if (pixalplacermovable == false)
+ {
+ pixalplacermovable = true;
+ btnpixelplacermovementmode.ForeColor = Color.White;
+ btnpixelplacermovementmode.BackColor = Color.Black;
+ btnpixelplacermovementmode.Text = "Deactivate Movement Mode";
+ lblpixelplacerhelp.Text = "Movement mode is enabled. Click and drag on the canvas to place pixels as you move the mouse. Please use 4x magnification or greater and move the mouse very slowly.";
+ }
+ else {
+ pixalplacermovable = false;
+ btnpixelplacermovementmode.ForeColor = Color.Black;
+ btnpixelplacermovementmode.BackColor = Color.White;
+ btnpixelplacermovementmode.Text = "Activate Movement Mode";
+ lblpixelplacerhelp.Text = "This tool does not contain any alterable settings. Simply click on the canvas and a pixel will be placed in the spot you click.";
+ }
+ }
+
+ #endregion
+
+ #region Saving
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnsave_Click(object sender, EventArgs e)
+ {
+ showsavedialog();
+ }
+
+ public void showsavedialog()
+ {
+ API.CreateFileSkimmerSession(".pic", File_Skimmer.FileSkimmerMode.Save);
+ API.FileSkimmerSession.FormClosing += (object s, FormClosingEventArgs a) =>
+ {
+ var res = API.GetFSResult();
+ if(res != "fail")
+ {
+ savelocation = res;
+ saveimage();
+ }
+ };
+ }
+
+ public void saveimage()
+ {
+ canvasbitmap.Save(savelocation, ImageFormat.Bmp);
+ }
+ #endregion
+
+ #region New Canvas
+
+ // ERROR: Handles clauses are not supported in C#
+ private void txtnewcanvaswidth_TextChanged(object sender, EventArgs e)
+ {
+ if (txtnewcanvaswidth.Text == "" | txtnewcanvasheight.Text == "")
+ {
+ if(txtnewcanvasheight.Text == "")
+ {
+ txtnewcanvasheight.Text = "0";
+ }
+ if (txtnewcanvaswidth.Text == "")
+ {
+ txtnewcanvaswidth.Text = "0";
+ }
+ }
+ else {
+ try {
+ lbltotalpixels.Text = (Convert.ToInt32(txtnewcanvaswidth.Text) * Convert.ToInt32(txtnewcanvasheight.Text)).ToString();
+ if (API.Upgrades["artpadlimitlesspixels"] == true)
+ {
+ lbltotalpixels.ForeColor = Color.Black;
+ }
+ else {
+ if ((Convert.ToInt32(txtnewcanvaswidth.Text) * Convert.ToInt32(txtnewcanvasheight.Text)) > GetPixelLimit())
+ {
+ lbltotalpixels.ForeColor = Color.Red;
+ }
+ else {
+ lbltotalpixels.ForeColor = Color.Black;
+ }
+ }
+ }
+ catch(Exception ex)
+ {
+
+ }
+ }
+
+ }
+
+ public int GetPixelLimit()
+ {
+ int value = 2;
+
+
+ if(API.Upgrades["artpadpixellimit4"])
+ {
+ value = 4;
+ if (API.Upgrades["artpadpixellimit8"])
+ {
+ value = 8;
+ if (API.Upgrades["artpadpixellimit16"])
+ {
+ value = 16;
+ if (API.Upgrades["artpadpixellimit64"])
+ {
+ value = 64;
+ if (API.Upgrades["artpadpixellimit256"])
+ {
+ value = 256;
+ if (API.Upgrades["artpadpixellimit1024"])
+ {
+ value = 1024;
+ if (API.Upgrades["artpadpixellimit4096"])
+ {
+ value = 4096;
+ if (API.Upgrades["artpadpixellimit16384"])
+ {
+ value = 16384;
+ if (API.Upgrades["artpadpixellimit65536"])
+ {
+ value = 65536;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return value;
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btncreate_Click(object sender, EventArgs e)
+ {
+ if (lbltotalpixels.ForeColor == Color.Red)
+ {
+ API.CreateInfoboxSession("Artpad - Error", "Artpad cannot create the image. It is too big.", infobox.InfoboxMode.Info);
+ }
+ else {
+ if (lbltotalpixels.Text == "0")
+ {
+ }
+ else {
+ canvaswidth = Convert.ToInt32(txtnewcanvaswidth.Text);
+ canvasheight = Convert.ToInt32(txtnewcanvasheight.Text);
+ picdrawingdisplay.Show();
+ setupcanvas();
+ pnlinitialcanvassettings.Hide();
+ }
+ }
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btncancel_Click(object sender, EventArgs e)
+ {
+ pnlinitialcanvassettings.Hide();
+ picdrawingdisplay.Show();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnnew_Click(object sender, EventArgs e)
+ {
+ pnlinitialcanvassettings.Show();
+ picdrawingdisplay.Hide();
+ }
+
+ #endregion
+
+ #region Preview
+
+ public void setuppreview()
+ {
+ lbltoolselected.Text = selectedtool;
+ picpreview.CreateGraphics().FillRectangle(Brushes.White, 0, 0, 70, 50);
+ switch (selectedtool)
+ {
+ case "Square Tool":
+ var CurrentPen = new Pen(Color.FromArgb(255, drawingcolour), squarewidth);
+ var CurrentBrush = new SolidBrush(Color.FromArgb(255, fillsquarecolor));
+ RectangleF rectdraw = new RectangleF(0, 0, picpreview.Width, picpreview.Height);
+ float correctionamount = squarewidth / 2;
+ if (squarewidth > 0)
+ {
+ picpreview.CreateGraphics().DrawRectangle(CurrentPen, rectdraw.X + correctionamount, rectdraw.Y + correctionamount, rectdraw.Width - squarewidth, rectdraw.Height - squarewidth);
+ }
+ if (squarefillon == true)
+ {
+ picpreview.CreateGraphics().FillRectangle(CurrentBrush, rectdraw.X + squarewidth, rectdraw.Y + squarewidth, rectdraw.Width - squarewidth - squarewidth, rectdraw.Height - squarewidth - squarewidth);
+ }
+ break;
+ case "Oval Tool":
+ var ovalCurrentPen = new Pen(Color.FromArgb(255, drawingcolour), ovalwidth);
+ var ovalCurrentBrush = new SolidBrush(Color.FromArgb(255, fillovalcolor));
+ RectangleF ovalrectdraw = new RectangleF(0, 0, picpreview.Width, picpreview.Height);
+ float ovalcorrectionamount = ovalwidth / 2;
+ if (ovalwidth > 0)
+ {
+ picpreview.CreateGraphics().DrawEllipse(ovalCurrentPen, ovalrectdraw.X + ovalcorrectionamount, ovalrectdraw.Y + ovalcorrectionamount, ovalrectdraw.Width - ovalwidth, ovalrectdraw.Height - ovalwidth);
+ }
+ if (ovalfillon == true)
+ {
+ float fixer = ovalwidth / 2;
+ picpreview.CreateGraphics().FillEllipse(ovalCurrentBrush, (ovalrectdraw.X + fixer), (ovalrectdraw.Y + fixer), ovalrectdraw.Width - fixer - fixer, ovalrectdraw.Height - fixer - fixer);
+ }
+ break;
+ case "Text Tool":
+ var textCurrentBrush = new SolidBrush(Color.FromArgb(255, drawingcolour));
+ drawtextfont = new System.Drawing.Font(drawtextfontname, 20, drawtextfontstyle);
+ picpreview.CreateGraphics().DrawString("A", drawtextfont, textCurrentBrush, 20, 0);
+ break;
+ case "Line Tool":
+ var lineCurrentPen = new Pen(Color.FromArgb(255, drawingcolour), linewidth);
+ picpreview.CreateGraphics().DrawLine(lineCurrentPen, 0, 0, picpreview.Width, picpreview.Height);
+ break;
+ case "Pencil":
+ var pencilCurrentPen = new Pen(Color.FromArgb(255, drawingcolour), pencilwidth);
+ picpreview.CreateGraphics().DrawLine(pencilCurrentPen, 0, 25, picpreview.Width, 25);
+ break;
+ case "Paint Brush":
+ var pbCurrentBrush = new SolidBrush(Color.FromArgb(255, drawingcolour));
+ float halfsize = paintbrushwidth / 2;
+ float halfwidth = picdrawingdisplay.Width / 2;
+ float halfheight = picdrawingdisplay.Height / 2;
+ if (paintbrushtype == "circle")
+ {
+ picpreview.CreateGraphics().FillEllipse(pbCurrentBrush, halfwidth - 15 - halfsize, halfheight - 1 - halfsize, paintbrushwidth, paintbrushwidth);
+ }
+ else {
+ picpreview.CreateGraphics().FillRectangle(pbCurrentBrush, halfwidth - 15 - halfsize, halfheight - 1 - halfsize, paintbrushwidth, paintbrushwidth);
+ }
+ break;
+ case "Eracer":
+ System.Drawing.SolidBrush drawbrush = new System.Drawing.SolidBrush(drawingcolour);
+ picpreview.CreateGraphics().FillRectangle(drawbrush, 0, 0, picpreview.Width, picpreview.Height);
+ var eCurrentBrush = new SolidBrush(Color.FromArgb(255, Color.White));
+ float ehalfsize = eracerwidth / 2;
+ float ehalfwidth = picdrawingdisplay.Width / 2;
+ float ehalfheight = picdrawingdisplay.Height / 2;
+ if (eracertype == "circle")
+ {
+ picpreview.CreateGraphics().FillEllipse(eCurrentBrush, ehalfwidth - 15 - ehalfsize, ehalfheight - ehalfsize, eracerwidth, eracerwidth);
+ }
+ else {
+ picpreview.CreateGraphics().FillRectangle(eCurrentBrush, ehalfwidth - 15 - ehalfsize, ehalfheight - ehalfsize, eracerwidth, eracerwidth);
+ }
+ break;
+ default:
+ System.Drawing.SolidBrush ddrawbrush = new System.Drawing.SolidBrush(drawingcolour);
+ picpreview.CreateGraphics().FillRectangle(ddrawbrush, 0, 0, picpreview.Width, picpreview.Height);
+ ddrawbrush.Dispose();
+ break;
+ }
+ }
+
+ #endregion
+
+ #region Pencil
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnpencil_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Pencil";
+ gettoolsettings(pnlpencilsettings);
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void ChangePencilSize(object sender, EventArgs e)
+ {
+ var s = (Control)sender;
+ switch (s.Name.ToString())
+ {
+ case "btnpencilsize1":
+ pencilwidth = 1;
+ break;
+ case "btnpencilsize2":
+ pencilwidth = 2;
+ break;
+ case "btnpencilsize3":
+ pencilwidth = 3;
+ break;
+ }
+ setuppreview();
+ }
+
+ #endregion
+
+ #region Undo/Redo
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnundo_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ undo.redoStack.Push((Image)canvasbitmap.Clone());
+ canvasbitmap = (Bitmap)undo.undoStack.Pop();
+ graphicsbitmap = Graphics.FromImage(canvasbitmap);
+ picdrawingdisplay.Invalidate();
+ }
+ catch (Exception ex)
+ {
+ API.CreateInfoboxSession("ArtPad - Undo Error!"
+ ,"There doesn't appear to be any more actions to undo." + Environment.NewLine + Environment.NewLine + "One more step back would undo the creation of the canvas. If this is your goal just click new.", infobox.InfoboxMode.Info);
+ }
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnredo_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ undo.undoStack.Push((Image)canvasbitmap.Clone());
+ canvasbitmap = (Bitmap)undo.redoStack.Pop();
+ graphicsbitmap = Graphics.FromImage(canvasbitmap);
+ picdrawingdisplay.Invalidate();
+ }
+ catch (Exception ex)
+ {
+ API.CreateInfoboxSession("ArtPad - Redo Error!"
+ , "There doesn't appear to be any more actions to redo." + Environment.NewLine + Environment.NewLine + "If you have drawn on the canvas recently all future history would have been wiped!", infobox.InfoboxMode.Info);
+ }
+ }
+
+ #endregion
+
+ #region File Loading
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnopen_Click(object sender, EventArgs e)
+ {
+ API.CreateFileSkimmerSession(".pic", File_Skimmer.FileSkimmerMode.Open);
+ API.FileSkimmerSession.FormClosing += (object s, FormClosingEventArgs a) =>
+ {
+ string res = API.GetFSResult();
+ if(res != "fail")
+ {
+ savelocation = res;
+ openpic();
+ }
+ };
+ }
+
+ public void openpic()
+ {
+ pnlinitialcanvassettings.Hide();
+ picdrawingdisplay.Show();
+ magnificationlevel = 1;
+ setmagnification();
+ canvasbitmap = (Bitmap)Image.FromFile(savelocation);
+ canvasheight = canvasbitmap.Height;
+ canvaswidth = canvasbitmap.Width;
+ picdrawingdisplay.Size = new Size(canvaswidth, canvasheight);
+ picdrawingdisplay.Location = new Point((pnldrawingbackground.Width - canvaswidth) / 2, (pnldrawingbackground.Height - canvasheight) / 2);
+ graphicsbitmap = Graphics.FromImage(canvasbitmap);
+ picdrawingdisplay.Invalidate();
+ }
+
+ #endregion
+
+ #region Flood Fill
+
+ // Flood fill the point.
+ public void SafeFloodFill(Bitmap bm, int x, int y, Color new_color)
+ {
+ // Get the old and new colors.
+ Color old_color = bm.GetPixel(x, y);
+
+ // The following "If Then" test was added by Reuben
+ // Jollif
+ // to protect the code in case the start pixel
+ // has the same color as the fill color.
+ if (old_color.ToArgb() != new_color.ToArgb())
+ {
+ // Start with the original point in the stack.
+ Stack<Point> pts = new Stack<Point>(1000);
+ pts.Push(new Point(x, y));
+ bm.SetPixel(x, y, new_color);
+
+ // While the stack is not empty, process a point.
+ while (pts.Count > 0)
+ {
+ Point pt = (Point)pts.Pop();
+ if (pt.X > 0)
+ SafeCheckPoint(bm, pts, pt.X - 1, pt.Y, old_color, new_color);
+
+ if (pt.Y > 0)
+ SafeCheckPoint(bm, pts, pt.X, pt.Y - 1, old_color, new_color);
+ if (pt.X < bm.Width - 1)
+ SafeCheckPoint(bm, pts, pt.X + 1, pt.Y, old_color, new_color);
+ if (pt.Y < bm.Height - 1)
+ SafeCheckPoint(bm, pts, pt.X, pt.Y + 1, old_color, new_color);
+ }
+ }
+ }
+
+ // See if this point should be added to the stack.
+ private void SafeCheckPoint(Bitmap bm, Stack<Point> pts, int x, int y, Color old_color, Color new_color)
+ {
+ Color clr = bm.GetPixel(x, y);
+ if (clr.Equals(old_color))
+ {
+ pts.Push(new Point(x, y));
+ bm.SetPixel(x, y, new_color);
+ }
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnfill_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Flood Fill";
+ gettoolsettings(pnlfloodfillsettings);
+ }
+
+ #endregion
+
+ #region Shapes
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnsquare_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Square Tool";
+ gettoolsettings(pnlsquaretoolsettings);
+ txtsquareborderwidth.Text = squarewidth.ToString();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void txtsquareborderwidth_TextChanged(object sender, EventArgs e)
+ {
+ if (txtsquareborderwidth.Text == "")
+ {
+ }
+ else {
+ squarewidth = (Convert.ToInt32(txtsquareborderwidth.Text));
+ setuppreview();
+ }
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void pnlsquarefillcolour_Click(object sender, EventArgs e)
+ {
+ pnlsquarefillcolour.BackColor = drawingcolour;
+ fillsquarecolor = drawingcolour;
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnsquarefillonoff_Click(object sender, EventArgs e)
+ {
+ if (squarefillon == true)
+ {
+ btnsquarefillonoff.Text = "Fill OFF";
+ btnsquarefillonoff.BackColor = Color.White;
+ btnsquarefillonoff.ForeColor = Color.Black;
+ squarefillon = false;
+ }
+ else {
+ btnsquarefillonoff.Text = "Fill ON";
+ btnsquarefillonoff.BackColor = Color.Black;
+ btnsquarefillonoff.ForeColor = Color.White;
+ squarefillon = true;
+ }
+ txtsquareborderwidth.Text = squarewidth.ToString();
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnoval_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Oval Tool";
+ gettoolsettings(pnlovaltoolsettings);
+ txtovalborderwidth.Text = ovalwidth.ToString();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void txtovalborderwidth_TextChanged(object sender, EventArgs e)
+ {
+ if (txtovalborderwidth.Text == "")
+ {
+ }
+ else {
+ ovalwidth = (Convert.ToInt32(txtovalborderwidth.Text));
+ setuppreview();
+ }
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void pnlovalfillcolour_Click(object sender, EventArgs e)
+ {
+ pnlovalfillcolour.BackColor = drawingcolour;
+ fillovalcolor = drawingcolour;
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnovalfillonoff_Click(object sender, EventArgs e)
+ {
+ if (ovalfillon == true)
+ {
+ btnovalfillonoff.Text = "Fill OFF";
+ btnovalfillonoff.BackColor = Color.White;
+ btnovalfillonoff.ForeColor = Color.Black;
+ ovalfillon = false;
+ }
+ else {
+ btnovalfillonoff.Text = "Fill ON";
+ btnovalfillonoff.BackColor = Color.Black;
+ btnovalfillonoff.ForeColor = Color.White;
+ ovalfillon = true;
+ }
+ txtovalborderwidth.Text = ovalwidth.ToString();
+ setuppreview();
+ }
+ #endregion
+
+ #region Eraser
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btneracer_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Eracer";
+ gettoolsettings(pnleracertoolsettings);
+ txteracersize.Text = eracerwidth.ToString();
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void txteracersize_TextChanged(object sender, EventArgs e)
+ {
+ if (txteracersize.Text == "")
+ {
+ }
+ else {
+ eracerwidth = (Convert.ToInt32(txteracersize.Text));
+ }
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btneracercircle_Click(object sender, EventArgs e)
+ {
+ eracertype = "circle";
+ btneracercircle.BackgroundImage = Properties.Resources.ArtPadcirclerubberselected;
+ btneracersquare.BackgroundImage = Properties.Resources.ArtPadsquarerubber;
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btneracersquare_Click(object sender, EventArgs e)
+ {
+ eracertype = "square";
+ btneracercircle.BackgroundImage = Properties.Resources.ArtPadcirclerubber;
+ btneracersquare.BackgroundImage = Properties.Resources.ArtPadsquarerubberselected;
+ setuppreview();
+ }
+
+ #endregion
+
+ #region Line
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnlinetool_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Line Tool";
+ gettoolsettings(pnllinetoolsettings);
+ txtlinewidth.Text = linewidth.ToString();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void txtlinewidth_TextChanged(object sender, EventArgs e)
+ {
+ if (txtlinewidth.Text == "")
+ {
+ }
+ else {
+ linewidth = (Convert.ToInt32(txtlinewidth.Text));
+ }
+ setuppreview();
+ }
+
+ #endregion
+
+ #region Text
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btntexttool_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Text Tool";
+ gettoolsettings(pnltexttoolsettings);
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void txtdrawtextsize_TextChanged(object sender, EventArgs e)
+ {
+ if (txtdrawtextsize.Text == "")
+ {
+ }
+ else {
+ drawtextsize = Convert.ToInt32(txtdrawtextsize.Text);
+ }
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void combodrawtextfont_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ drawtextfontname = combodrawtextfont.Text;
+ txtdrawstringtext.Focus();
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void combofontstyle_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ switch (combofontstyle.Text)
+ {
+ case "Bold":
+ drawtextfontstyle = FontStyle.Bold;
+ break;
+ case "Italic":
+ drawtextfontstyle = FontStyle.Italic;
+ break;
+ case "Regular":
+ drawtextfontstyle = FontStyle.Regular;
+ break;
+ case "Strikeout":
+ drawtextfontstyle = FontStyle.Strikeout;
+ break;
+ case "Underline":
+ drawtextfontstyle = FontStyle.Underline;
+ break;
+ }
+ txtdrawstringtext.Focus();
+ setuppreview();
+ }
+ #endregion
+
+ #region Paintbrush
+
+ // ERROR: Handles clauses are not supported in C#
+ private void txtpaintbrushsize_TextChanged(object sender, EventArgs e)
+ {
+ if (txtpaintbrushsize.Text == "")
+ {
+ }
+ else {
+ paintbrushwidth = (Convert.ToInt32(txtpaintbrushsize.Text));
+ }
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnpaintsquareshape_Click(object sender, EventArgs e)
+ {
+ paintbrushtype = "square";
+ btnpaintcircleshape.BackgroundImage = Properties.Resources.ArtPadcirclerubber;
+ btnpaintsquareshape.BackgroundImage = Properties.Resources.ArtPadsquarerubberselected;
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnpaintcircleshape_Click(object sender, EventArgs e)
+ {
+ paintbrushtype = "circle";
+ btnpaintcircleshape.BackgroundImage = Properties.Resources.ArtPadcirclerubberselected;
+ btnpaintsquareshape.BackgroundImage = Properties.Resources.ArtPadsquarerubber;
+ setuppreview();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnpaintbrush_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Paint Brush";
+ gettoolsettings(pnlpaintbrushtoolsettings);
+ txtpaintbrushsize.Text = paintbrushwidth.ToString();
+ setuppreview();
+ }
+
+ #endregion
+
+ #region Codepoints
+
+ private void preparecooldown()
+ {
+ needtosave = true;
+ if (codepointscooldown == true)
+ {
+ }
+ else {
+ codepointsearned = codepointsearned + 1;
+ codepointscooldown = true;
+ tmrcodepointcooldown.Start();
+ }
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void tmrcodepointcooldown_Tick(object sender, EventArgs e)
+ {
+ codepointscooldown = false;
+ tmrcodepointcooldown.Stop();
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void tmrshowearnedcodepoints_Tick(object sender, EventArgs e)
+ {
+ tmrshowearnedcodepoints.Stop();
+ }
+
+ #endregion
+
+ #region More UI stuff
+
+ public void determinevisiblepallets()
+ {
+ int panelstoadd = 2;
+
+ if (API.Upgrades["artpad4colorpallets"] == true)
+ {
+ panelstoadd = 4;
+ }
+ if (API.Upgrades["artpad8colorpallets"] == true)
+ {
+ panelstoadd = 8;
+ }
+ if (API.Upgrades["artpad16colorpallets"] == true)
+ {
+ panelstoadd = 16;
+ }
+ if (API.Upgrades["artpad32colorpallets"] == true)
+ {
+ panelstoadd = 32;
+ }
+ if (API.Upgrades["artpad64colorpallets"] == true)
+ {
+ panelstoadd = 64;
+ }
+ if (API.Upgrades["artpad128colorpallets"] == true)
+ {
+ panelstoadd = 128;
+ }
+ flowcolours.Controls.Clear();
+ for(int i = 0; i < panelstoadd; i++)
+ {
+ Panel pnl = new Panel();
+ pnl.BackColor = Color.Black;
+ pnl.Size = new Size(12, 8);
+ flowcolours.Controls.Add(pnl);
+ pnl.Margin = new Padding(1, 0, 0, 1);
+ pnl.MouseClick += new MouseEventHandler(this.colourpallet1_MouseClick);
+ pnl.Show();
+ }
+ }
+
+ // ERROR: Handles clauses are not supported in C#
+ private void btnchangesizecancel_Click(object sender, EventArgs e)
+ {
+ pnlpalletsize.Hide();
+ }
+
+ #endregion
+
+ #region More Text Stuff
+
+ // ERROR: Handles clauses are not supported in C#
+ private void txtdrawstringtext_TextChanged(object sender, EventArgs e)
+ {
+ setuppreview();
+ }
+
+ #endregion
+
+ private void tmrsetupui_Tick(object sender, EventArgs e)
+ {
+ if(API.CurrentSkin != null)
+ {
+ pnldrawingbackground.BackColor = API.CurrentSkin.titlebarcolour;
+ }
+ }
+
+ private void btnpixelplacer_Click(object sender, EventArgs e)
+ {
+ selectedtool = "Pixel Placer";
+ gettoolsettings(pnlpixelplacersettings);
+ }
+ }
+}