Пример #1
0
        public ZoomControl(SharedSettings ss)
        {
            dZoomFactor = 100;
            settings    = ss;
            int temp = ss.getCanvasWidth();

            temp = temp < ss.getCanvasHeight() ? temp : ss.getCanvasHeight();


            if (temp > 100)
            {
                ZOOM_MIN = 1; //Prevent sub-pixel scaling
            }
            else if (temp > 10 && temp <= 100)
            {
                ZOOM_MIN = 10; //Prevent sub-pixel scaling
            }
            else
            {
                ZOOM_MIN = 100; //Prevent sub-pixel scaling
            }


            InitializeComponent();
            tbZoom.Text = "100";
        }
Пример #2
0
 public void updateText()
 {
     lPrime.Text = SharedSettings.getGlobalString("brushsettings_color_primary");
     lSec.Text   = SharedSettings.getGlobalString("brushsettings_color_secondary");
     lSize.Text  = SharedSettings.getGlobalString("brushsettings_brush_size") + ": " + tbSize.Value.ToString();
     lHard.Text  = SharedSettings.getGlobalString("brushsettings_brush_hardness") + ": " + tbHardness.Value.ToString();
 }
Пример #3
0
        public LayerView(int w, int h, SharedSettings s)
        {
            InitializeComponent();
            ss             = s;
            width          = w;
            height         = h;
            yLayerLocation = 0;
            LayerItem setup = new LayerItem(w, h, pf, "DEBUG", ss);

            this.Width                = setup.Width;
            pLayerDisplay.Scroll     += handleScroll;
            pLayerDisplay.MouseWheel += handleMouseWheel;
            Layers = new List <LayerItem>();

            if (ss.getLoadFromSettings() && ss.getLayerBitmaps().Length > 0)
            {
                int layers = ss.getLayerBitmaps().Length;

                for (int n = 0; n < layers; n++)
                {
                    addLayer(ss.getLayerBitmaps()[n], ss.getLayerNames()[n]);
                }
            }
            else
            {
                addLayer();
            }

            //ss.setBitmapCurrentLayer(Layers[0].getBitmap());

            redrawLayerItems();
            UpdateLayerInfo();
        }
Пример #4
0
 private void handleLayerItemClick(object obj, System.EventArgs args)
 {
     if (obj is LayerItem)
     {
         LayerItem layer = ((LayerItem)obj);
         if (!layer.isLayerActive())
         {
             SharedSettings.flattenSelection();
             foreach (LayerItem l in Layers)
             {
                 l.setActive(false);
             }
             layer.setActive(true);
             ss.setBitmapCurrentLayer(layer.getBitmap());
         }
         layer.Refresh();
     }
     else if (obj is PictureBox)
     {
         LayerItem layer = (LayerItem)((PictureBox)obj).Parent;
         if (!layer.isLayerActive())
         {
             SharedSettings.flattenSelection();
             foreach (LayerItem l in Layers)
             {
                 l.setActive(false);
                 l.Refresh();
             }
             layer.setActive(true);
         }
         layer.Refresh();
     }
     redrawLayerItems();
 }
Пример #5
0
        private void removeLayer()
        {
            SharedSettings.flattenSelection();
            //Foreach loop to iterate through all layers
            try
            {
                for (int t = Layers.Count - 1; t >= 0; t--)
                {
                    //If there's only one layer, don't remove it
                    if (Layers.Count <= 1)
                    {
                        break;
                    }
                    if (Layers[t].isLayerActive())
                    {
                        //removes the LayerItem from the Display
                        pLayerDisplay.Controls.Remove(Layers[t]);

                        //Removes selected layer from the List
                        Layers.Remove(Layers[t]);
                    }
                }
            }
            catch (Exception err)
            {
                Console.WriteLine(err.InnerException);
            }
            redrawLayerItems();

            //Disable the Relevant Buttons if only one layer Exists
            bRemoveLayer.Enabled = (Layers.Count > 1);
            bMoveDown.Enabled    = (Layers.Count > 1);
            bMoveUp.Enabled      = (Layers.Count > 1);
        }
Пример #6
0
        private void addLayer(Bitmap b, String name)
        {
            SharedSettings.flattenSelection();
            foreach (LayerItem layer in Layers)
            {
                layer.setActive(false);
            }

            LayerItem temp = new LayerItem(width, height, pf, name, ss);

            temp.Location   = new Point(0, yLayerLocation);
            yLayerLocation += temp.Height + 5;
            temp.setActive(true);
            temp.setOnClick(handleLayerItemClick);
            temp.setBitmap(b);

            Layers.Add(temp);
            pLayerDisplay.Controls.Add(Layers[Layers.Count - 1]);

            if (Layers.Count > 1)
            {
                bRemoveLayer.Enabled = true;
                bMoveDown.Enabled    = true;
                bMoveUp.Enabled      = true;
            }

            ss.setBitmapCurrentLayer(Layers[Layers.Count - 1].getBitmap());
        }
Пример #7
0
        public void addImportImage(Bitmap b)
        {
            SharedSettings.flattenSelection();
            foreach (LayerItem layer in Layers)
            {
                layer.setActive(false);
            }

            Bitmap bit = new Bitmap(SharedSettings.iCanvasWidth, SharedSettings.iCanvasHeight, PixelFormat.Format32bppArgb);

            Graphics.FromImage(bit).DrawImage(b, 0, 0);

            LayerItem temp = new LayerItem(width, height, pf, Layers.Count.ToString(), ss);

            temp.Location   = new Point(0, yLayerLocation);
            yLayerLocation += temp.Height + 5;
            temp.setActive(true);
            temp.setOnClick(handleLayerItemClick);
            temp.setBitmap((Bitmap)bit.Clone());
            Layers.Add(temp);
            pLayerDisplay.Controls.Add(Layers[Layers.Count - 1]);

            if (Layers.Count > 1)
            {
                bRemoveLayer.Enabled = true;
                bMoveDown.Enabled    = true;
                bMoveUp.Enabled      = true;
            }

            b.Dispose();
            bit.Dispose();

            redrawLayerItems();
        }
Пример #8
0
        public LayerItem(int w, int h, PixelFormat pf, String name, SharedSettings s)
        {
            ss = s;
            InitializeComponent();

            cbVisible.Text = SharedSettings.getGlobalString("layeritem_checkbox_visible");

            isVisible   = true;
            LayerBitmap = new Bitmap(w, h, pf);
            g           = Graphics.FromImage(LayerBitmap);
            SharedSettings.bitmapCurrentLayer = LayerBitmap;
            SharedSettings.gActiveGraphics    = g;
            cbVisible.Checked = true;

            this.BackColor = cNotActive;

            //Stretch The Preview Image to fit
            pbLayerPreview.SizeMode = PictureBoxSizeMode.Zoom;

            pbLayerPreview.BackColor = Color.White;

            sLayerName       = name;
            tbLayerName.Text = sLayerName;

            this.Update();
        }
Пример #9
0
        public ProjectSave(SharedSettings ss)
        {
            settings = ss;
            BackgroundWorker bw = new BackgroundWorker();

            try
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Filter          = SharedSettings.getGlobalString("projectsave_dialog_filter");
                sfd.Title           = SharedSettings.getGlobalString("projectsave_dialog_title");
                sfd.OverwritePrompt = false;
                sfd.ShowDialog();

                bw.DoWork += (send, args) =>
                {
                    doSave(sfd);
                };

                bw.RunWorkerAsync();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.InnerException);
            }
        }
Пример #10
0
 public GDriveSaveDialog()
 {
     InitializeComponent();
     this.Text         = SharedSettings.getGlobalString("gdrivesavedialog_title");
     lbl_FileName.Text = SharedSettings.getGlobalString("gdrivesavedialog_filename");
     lbl_FileType.Text = SharedSettings.getGlobalString("gdrivesavedialog_filetype");
     btn_save.Text     = SharedSettings.getGlobalString("gdrivesavedialog_save");
 }
Пример #11
0
 public void init(SharedSettings s)
 {
     graphics = s.getActiveGraphics();
     width    = s.getCanvasWidth();
     height   = s.getCanvasHeight();
     settings = s;
     bInit    = true;
 }
Пример #12
0
        public void onMouseUp(object sender, MouseEventArgs e)
        {
            pOld.X = 0;
            pOld.Y = 0;
            pNew.X = 0;
            pNew.Y = 0;

            p2 = new Point(e.X, e.Y);

            if (p1.X == p2.X || p1.Y == p2.Y)
            {
                SharedSettings.flattenSelection();
            }
            else
            {
                if (!ss.getActiveSelection())
                {
                    int tlX = p1.X, tlY = p1.Y;
                    int width  = Math.Abs(p1.X - p2.X);
                    int height = Math.Abs(p1.Y - p2.Y);

                    if (p2.X < p1.X)
                    {
                        tlX = p2.X;
                    }
                    if (p2.Y < p1.Y)
                    {
                        tlY = p2.Y;
                    }

                    tlX    = tlX < 0 ? 0 : tlX;
                    tlY    = tlY < 0 ? 0 : tlY;
                    width  = width + tlX <= SharedSettings.iCanvasWidth ? width : SharedSettings.iCanvasWidth - tlX;
                    height = height + tlY <= SharedSettings.iCanvasHeight ? height : SharedSettings.iCanvasHeight - tlY;

                    Point loc = new Point(tlX, tlY);
                    Size  sze = new Size(width, height);
                    ss.setSelectionPoint(loc);
                    ss.setSelectionSize(sze);

                    updateInterfaceLayer();

                    //Get selected area data
                    bEdit = ss.getBitmapCurrentLayer(true).Clone(new Rectangle(loc, sze), ss.getBitmapCurrentLayer(true).PixelFormat);

                    //clear data below selection
                    ss.getActiveGraphics().CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
                    ss.getActiveGraphics().FillRectangle(new SolidBrush(Color.Transparent), new Rectangle(loc, sze));
                    ss.getActiveGraphics().CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;

                    SharedSettings.setSelection(bEdit, loc);
                }
            }
        }
Пример #13
0
 private void makeNewProject(int w, int h)
 {
     if (c != null)
     {
         c.Trash(); //To help with memory leak issues
     }
     c          = new Canvas(w, h, this.Width, this.Height);
     c.Location = new Point(200, 5);
     this.Controls.Add(c);
     c.initCanvas();
     ss = c.getSharedSettings();
 }
Пример #14
0
        public NewProjectForm()
        {
            InitializeComponent();

            this.Text = SharedSettings.getGlobalString("newproject_dialog_title");
            lWidth.Text = SharedSettings.getGlobalString("newproject_dialog_width");
            lHeight.Text = SharedSettings.getGlobalString("newproject_dialog_height");
            bSubmit.Text = SharedSettings.getGlobalString("newproject_dialog_submit");

            CanvasWidth = -1;
            CanvasHeight = -1;
        }
Пример #15
0
        private void updateText()
        {
            //Form Title
            this.Text = SharedSettings.getGlobalString("title");

            //File Menu Items
            tsmiFile.Text                 = SharedSettings.getGlobalString("file_menu");
            tsmiFile_New.Text             = SharedSettings.getGlobalString("file_menu_new");
            tsmiFile_Save.Text            = SharedSettings.getGlobalString("file_menu_save");
            tsmiFile_Load.Text            = SharedSettings.getGlobalString("file_menu_open");
            tsmiFile_Import.Text          = SharedSettings.getGlobalString("file_menu_import");
            tsmiFile_Export.Text          = SharedSettings.getGlobalString("file_menu_export");
            tsmiFile_SaveGoogleDrive.Text = SharedSettings.getGlobalString("file_menu_googledrive");

            //Edit Menu Items
            tsmiEdit.Text        = SharedSettings.getGlobalString("edit_menu");
            tsmiEdit_Redo.Text   = SharedSettings.getGlobalString("edit_menu_redo");
            tsmiEdit_Undo.Text   = SharedSettings.getGlobalString("edit_menu_undo");
            tsmiEdit_Resize.Text = SharedSettings.getGlobalString("edit_menu_resize");

            //View Menu Items
            tsmiView.Text                = SharedSettings.getGlobalString("view_menu");
            tsmiView_GridLines.Text      = SharedSettings.getGlobalString("view_menu_grid");
            tsmiView_GridLines_Auto.Text = SharedSettings.getGlobalString("view_menu_grid_auto");
            tsmiView_ShowTools.Text      = SharedSettings.getGlobalString("view_menu_tools");

            //Preferences Menu Items
            tsmiPreferences.Text                                = SharedSettings.getGlobalString("preferences_menu");
            tsmiPreferences_Watermark.Text                      = SharedSettings.getGlobalString("preferences_menu_watermark");
            tsmiPreferences_Watermark_SetImage.Text             = SharedSettings.getGlobalString("preferences_menu_watermark_set");
            tsmiPreferences_Watermark_ShowWatermark.Text        = SharedSettings.getGlobalString("preferences_menu_watermark_show");
            tsmiPreferences_Watermark_Style.Text                = SharedSettings.getGlobalString("preferences_menu_watermark_style");
            tsmiPreferences_Watermark_Style_SingleBottom.Text   = SharedSettings.getGlobalString("preferences_menu_watermark_style_singlebottom");
            tsmiPreferences_Watermark_Style_SingleCentered.Text = SharedSettings.getGlobalString("preferences_menu_watermark_style_singlecentered");
            tsmiPreferences_Watermark_Style_Tiled.Text          = SharedSettings.getGlobalString("preferences_menu_watermark_style_tiled");
            tsmiInternational.Text                              = SharedSettings.getGlobalString("preferences_menu_international");

            //ToolStrip Item ToolTips
            tsNew.ToolTipText  = SharedSettings.getGlobalString("toolstripmenu_new");
            tsOpen.ToolTipText = SharedSettings.getGlobalString("toolstripmenu_import");
            tsSave.ToolTipText = SharedSettings.getGlobalString("toostripmenu_save");

            foreach (Control c in Controls)
            {
                if (c is ITextUpdate)
                {
                    ((ITextUpdate)c).updateText();
                }
            }

            this.Refresh();
        }
Пример #16
0
        private void doSave(SaveFileDialog sfd)
        {
            if (sfd.FileName != "")
            {
                try
                {
                    System.IO.Directory.CreateDirectory("save");

                    Bitmap[] bitArr     = settings.getLayerBitmaps();
                    string   baseDir    = System.IO.Directory.GetCurrentDirectory();
                    string[] LayerNames = settings.getLayerNames();

                    for (int n = 0; n < bitArr.Length; n++)
                    {
                        bitArr[n].Save(baseDir + "\\save\\" + LayerNames[n] + ".png", ImageFormat.Png);
                    }

                    System.IO.File.WriteAllLines(baseDir + @"\save\names.txt", LayerNames);

                    if (SharedSettings.bitmapWatermark != null)
                    {
                        System.IO.Directory.CreateDirectory("save\\watermark");
                        SharedSettings.bitmapWatermark.Save("save\\watermark\\watermark.png", ImageFormat.Png);
                        string[] watermarkInfo = { SharedSettings.bRenderWatermark.ToString(), SharedSettings.watermarkStyle };
                        System.IO.File.WriteAllLines(baseDir + @"\\save\\watermark\\watermarkdata.txt", watermarkInfo);
                    }

                    if (System.IO.File.Exists(sfd.FileName))
                    {
                        System.IO.File.Delete(sfd.FileName);
                    }

                    ZipFile.CreateFromDirectory(baseDir + @"\save", sfd.FileName);

                    System.IO.Directory.Delete(baseDir + @"\save", true);

                    string message = SharedSettings.getGlobalString("projectsave_saved");
                    MessageBox.Show(new Form()
                    {
                        WindowState = FormWindowState.Maximized, TopMost = true
                    }, message);
                }
                catch (Exception e)
                {
                    string message = SharedSettings.getGlobalString("projectsave_error") + "\n\n" + e.ToString();
                    MessageBox.Show(new Form()
                    {
                        WindowState = FormWindowState.Maximized, TopMost = true
                    }, message);
                }
            }
        }
Пример #17
0
        public static void DriveUpload(string pathToFile)
        {
            // Authenticate with Drive API
            UserCredential credential;

            using (var strm =
                       new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
            {
                string credPath = System.Environment.GetFolderPath(
                    System.Environment.SpecialFolder.Personal);
                credPath = Path.Combine(credPath, ".credentials/drive-dotnet-lepaint.json");

                credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(strm).Secrets,
                    Scopes,
                    "user",
                    CancellationToken.None,
                    new FileDataStore(credPath, true)).Result;
                Console.WriteLine("Credential file saved to: " + credPath);
            }

            // Create Drive API service
            var service = new DriveService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName       = ApplicationName,
            });

            FilesResource.ListRequest listRequest = service.Files.List();
            listRequest.Fields = "nextPageToken, files(name)";

            // insert as new file
            Google.Apis.Drive.v3.Data.File body = new Google.Apis.Drive.v3.Data.File();
            body.Name     = System.IO.Path.GetFileName(pathToFile);
            body.MimeType = GetMimeType(pathToFile);

            byte[] byteArray = System.IO.File.ReadAllBytes(pathToFile);
            System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);
            try
            {
                FilesResource.CreateMediaUpload request = service.Files.Create(body, stream, body.MimeType);
                request.Upload();
                Console.WriteLine("File Created " + body.Name + " - " + body.MimeType);
            }
            catch (Exception e)
            {
                MessageBox.Show(new Form()
                {
                    WindowState = FormWindowState.Maximized, TopMost = true
                }, SharedSettings.getGlobalString("googledriveupload_error") + e.Message);
            }
        }
Пример #18
0
        public void init(SharedSettings s)
        {
            graphics   = s.getActiveGraphics();
            width      = s.getCanvasWidth();
            height     = s.getCanvasHeight();
            settings   = s;
            bInit      = true;
            bMouseDown = false;
            updateColors();

            if (graphics != null)
            {
                graphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
            }
        }
Пример #19
0
        public Canvas(int pw, int ph)
        {
            InitializeComponent();

            ss = new SharedSettings();

            canvasWidth  = SharedSettings.bitmapCanvas.Width;
            canvasHeight = SharedSettings.bitmapCanvas.Height;
            maxWidth     = pw;
            maxHeight    = ph;

            this.Width        = canvasWidth;
            this.Height       = canvasHeight;
            this.AutoSize     = true;
            this.AutoSizeMode = AutoSizeMode.GrowAndShrink;
        }
Пример #20
0
        public void doSaveAnimGif(string filename, object sender, DoWorkEventArgs args)
        {
            FileStream fs = new FileStream(filename + ".gif", FileMode.OpenOrCreate);

            using (var stream = new MemoryStream())
            {
                using (var encoder = new GifEncoder(stream, null, null, 12))
                {
                    for (int i = 0; i < SharedSettings.Layers.Length; i++)
                    {
                        var image = (Image)(SharedSettings.Layers[i] as Bitmap).Clone();
                        encoder.AddFrame(image, 0, 0, TimeSpan.FromSeconds(0));
                    }

                    stream.Position = 0;
                    stream.WriteTo(fs);
                }
            }
            fs.Close();

            try
            {
                GoogleDriveUpload.DriveUpload(filename + ".gif");
                string message = SharedSettings.getGlobalString("projectsave_saved");
                MessageBox.Show(new Form()
                {
                    WindowState = FormWindowState.Maximized, TopMost = true
                }, message);
            }
            catch (Exception e)
            {
                MessageBox.Show(new Form()
                {
                    WindowState = FormWindowState.Maximized, TopMost = true
                }, SharedSettings.getGlobalString("gdrivesavedialog_error") + e.Message);
            }
            try
            {
                System.IO.File.Delete(filename + ".gif");
            }
            catch (Exception e)
            {
                Console.WriteLine("Problem deleting temp gif file: " + e.Message);
            }
        }
Пример #21
0
        public BrushSettings(SharedSettings s)
        {
            InitializeComponent();

            lPrime.Text = SharedSettings.getGlobalString("brushsettings_color_primary");
            lSec.Text   = SharedSettings.getGlobalString("brushsettings_color_secondary");
            lSize.Text  = SharedSettings.getGlobalString("brushsettings_brush_size");
            lHard.Text  = SharedSettings.getGlobalString("brushsettings_brush_hardness");

            settings = s;

            pPrime.BackColor = settings.getPrimaryBrushColor();
            pSec.BackColor   = settings.getSecondaryBrushColor();

            tbSize.Value     = (int)settings.getBrushSize();
            tbHardness.Value = (int)settings.getBrushHardness();

            this.Refresh();
        }
Пример #22
0
        private void tsmiFile_Save_Click(object sender, EventArgs e)
        {
            //Save Project Function

            try
            {
                c.setPause(true);
                ProjectSave ps = new ProjectSave(c.getSharedSettings());
            }
            catch (Exception err)
            {
                String s = SharedSettings.getGlobalString("error_save_project") + err.ToString();
                MessageBox.Show(new Form()
                {
                    WindowState = FormWindowState.Maximized, TopMost = true
                }, s);
            }
            c.setPause(false);
        }
Пример #23
0
        public void init(SharedSettings s)
        {
            graphics   = s.getActiveGraphics();
            width      = s.getCanvasWidth();
            height     = s.getCanvasHeight();
            settings   = s;
            bInit      = true;
            bMouseDown = false;


            eraser       = new Pen(Color.Transparent);
            eraser.Width = settings.getBrushSize() / 2;
            eraser.SetLineCap(LineCap.Round, LineCap.Round, DashCap.Round);

            if (graphics != null)
            {
                graphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
            }
        }
Пример #24
0
        public ProjectLoad()
        {
            Result = "";

            try
            {
                OpenFileDialog ofd = new OpenFileDialog();
                ofd.Filter = SharedSettings.getGlobalString("projectopen_dialog_filter");
                ofd.Title  = SharedSettings.getGlobalString("projectopen_dialog_title");
                ofd.ShowDialog();

                doOpen(ofd);

                ofd.Dispose();
            }
            catch (Exception e)
            {
                Console.WriteLine("An error was thrown while opening!" + e.InnerException);
            }
        }
Пример #25
0
 private void doOpen(SharedSettings ss, OpenFileDialog ofd, object sender, DoWorkEventArgs args)
 {
     if (ofd.FileName != "")
     {
         try
         {
             var    ms = new MemoryStream(File.ReadAllBytes(ofd.FileName));
             Bitmap bm = new Bitmap(Image.FromStream(ms));
             ss.setImportImage(bm);
         }
         catch (Exception e)
         {
             string message = SharedSettings.getGlobalString("importimage_error") + "\n\n" + e.ToString();
             MessageBox.Show(new Form()
             {
                 WindowState = FormWindowState.Maximized, TopMost = true
             }, message);
         }
     }
 }
Пример #26
0
        public Canvas(int w, int h, int pw, int ph)
        {
            InitializeComponent();

            ss = new SharedSettings();

            canvasWidth  = w;
            canvasHeight = h;

            maxWidth  = pw;
            maxHeight = ph;

            ss.setCanvasWidth(canvasWidth);
            ss.setCanvasHeight(canvasHeight);

            this.Width        = canvasWidth;
            this.Height       = canvasHeight;
            this.AutoSize     = true;
            this.AutoSizeMode = AutoSizeMode.GrowAndShrink;
        }
Пример #27
0
        public void onMouseMove(object sender, MouseEventArgs e)
        {
            if (graphics != null && bMouseDown)
            {
                if (e.Button == MouseButtons.Left)
                {
                    pNew = e.Location;

                    if (settings.getTabletPressure() == -1)
                    {
                        graphics.DrawLine(eraser, pOld, pNew);
                    }
                    else if (settings.getTabletPressure() >= 0)
                    {
                        eraser.Width = (float)Math.Pow(2.0, SharedSettings.MapDouble(0, SharedSettings.iMaxTabletPressure, 0.0, 6.0, SharedSettings.iTabletPressure));
                        graphics.DrawLine(eraser, pOld, pNew);
                    }
                    pOld = pNew;
                }
            }
        }
Пример #28
0
        public void onMouseMove(object sender, MouseEventArgs e)
        {
            if (graphics != null && bMouseDown)
            {
                pNew = e.Location;
                if (settings.getTabletPressure() > 0)
                {
                    double pressure = Math.Pow(2.0, SharedSettings.MapDouble(0, SharedSettings.iMaxTabletPressure, 0.0, 6.0, SharedSettings.iTabletPressure));
                    Console.WriteLine(pressure);

                    if (pressure >= 0)
                    {
                        pen.Width = (float)pressure;
                    }
                }
                else
                {
                    pen.Width = settings.getBrushSize() / 2;
                }

                switch (e.Button)
                {
                // TODO: Add tablet pressure back in...
                case MouseButtons.Left:
                    pen.Color = primaryColor;
                    graphics.DrawLine(pen, pOld, pNew);
                    break;

                case MouseButtons.Right:
                    pen.Color = secondaryColor;
                    graphics.DrawLine(pen, pOld, pNew);
                    break;

                default:
                    break;
                }
                pOld = pNew;
            }
        }
Пример #29
0
        public void init(Graphics g, int w, int h, SharedSettings s)
        {
            graphics   = g;
            width      = w;
            height     = h;
            settings   = s;
            bInit      = true;
            bMouseDown = false;

            points = new List <Point>();

            pOld      = pNew = new Point(-1, -1);
            numPoints = 0;

            if (graphics != null)
            {
                graphics.SmoothingMode   = SmoothingMode.AntiAlias;
                graphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
            }

            updateBrush();
        }
Пример #30
0
        private void setImageToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog sfd = new OpenFileDialog();
                sfd.Filter = SharedSettings.getGlobalString("watermarkdialog_filter");
                sfd.Title  = SharedSettings.getGlobalString("watermarkdialog_title");
                sfd.ShowDialog();

                SharedSettings.watermarkPath   = sfd.FileName;
                SharedSettings.bitmapWatermark = new Bitmap(sfd.FileName);
            }
            catch
            {
            }

            if (SharedSettings.watermarkPath != null)
            {
                tsmiPreferences_Watermark_ShowWatermark.Enabled = true;
                tsmiPreferences_Watermark_Style.Enabled         = true;
            }
        }