示例#1
0
        // layer
        private void newLayerToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogNewLayer newLayerMessageBox = new DialogNewLayer();
            DialogResult   result             = newLayerMessageBox.ShowDialog();

            if (result == DialogResult.OK)
            {
                string name = newLayerMessageBox.m_name;

                Size size = new Size(
                    newLayerMessageBox.m_width,
                    newLayerMessageBox.m_height);

                m_program.addLayer(name, size, new Point(0, 0));
                updateCanvasImage();
            }
        }
示例#2
0
        /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
         * / %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
         * /                          FUNCTIONS
         * / %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
         * / %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/

        /// <summary>
        // initializes the main form and objects in the heap
        /// </summary>
        public FormMain()
        {
            InitializeComponent();
            this.KeyPreview        = true;
            this.AllowTransparency = true;
            this.Padding           = new Padding(0);
            this.AutoSize          = false;
            display_canvas.Size    = new Size(1000, 1000);

            m_program.init(display_canvas.Size);

            button_round_brush.BackColor = Color.Black;

            Bitmap displayImage = m_program.getCanvasImageCopy();

            display_canvas.Size  = displayImage.Size;
            display_canvas.Image = displayImage;

            Color selectedBrushColor    = m_program.getSelectedColor();
            Color selectedBrushColorAlt = m_program.getSelectedColorAlt();

            text_input_color_alpha.Text = Convert.ToString(selectedBrushColor.A);
            text_input_color_red.Text   = Convert.ToString(selectedBrushColor.R);
            text_input_color_green.Text = Convert.ToString(selectedBrushColor.G);
            text_input_color_blue.Text  = Convert.ToString(selectedBrushColor.B);

            color_box.BackColor     = selectedBrushColor;
            color_box_alt.BackColor = selectedBrushColorAlt;
            color_black.BackColor   = Color.Black;
            color_gray.BackColor    = Color.Gray;
            color_white.BackColor   = Color.White;
            color_1.BackColor       = Color.FromArgb(255, 255, 0, 0);
            color_2.BackColor       = Color.FromArgb(255, 255, 127, 0);
            color_3.BackColor       = Color.FromArgb(255, 255, 255, 0);
            color_4.BackColor       = Color.FromArgb(255, 127, 255, 0);

            color_5.BackColor = Color.FromArgb(255, 0, 255, 0);
            color_6.BackColor = Color.FromArgb(255, 0, 255, 127);
            color_7.BackColor = Color.FromArgb(255, 0, 255, 255);
            color_8.BackColor = Color.FromArgb(255, 0, 127, 255);

            color_9.BackColor  = Color.FromArgb(255, 0, 0, 255);
            color_10.BackColor = Color.FromArgb(255, 127, 0, 255);
            color_11.BackColor = Color.FromArgb(255, 255, 0, 255);
            color_12.BackColor = Color.FromArgb(255, 255, 0, 127);

            runUnitTests();
            display_canvas.Refresh();

            //
            // layer list
            for (int i = 0; i < m_program.getLayerCount(); i++)
            {
                string s = m_program.getLayerText(i);
                layerList.AddItem(s);
            }
            layerList.LayerItemsChanged += (s, e) =>
            {
                int selected = layerList.m_selectedItem;

                if (selected < 0)
                {
                    return;
                }

                m_program.changeActiveLayer(selected);

                display_canvas.Image = m_program.getCanvasImageCopy();
                display_canvas.Refresh();
            };
            layerList.LayerItemQuickAdd += (s, e) =>
            {
                Rectangle rec = m_program.getCurrentLayerRegion();
                m_program.addLayer(null, rec.Size, rec.Location);
                LayerList list = s as LayerList;
                list.AddItem(null);
            };
            layerList.LayerItemAdd += (s, e) =>
            {
                DialogNewLayer dialog = new DialogNewLayer();
                DialogResult   result = dialog.ShowDialog();
                if (result == DialogResult.OK)
                {
                    // add layer to program
                    m_program.addLayer(
                        dialog.m_name,
                        new Size(dialog.m_width, dialog.m_height),
                        new Point(0, 0));

                    // add layer to layer list control
                    layerList.AddItem(dialog.m_name);

                    // update display
                    updateCanvasImage();
                }
            };
            layerList.LayerItemRemove += (s, e) =>
            {
                Console.Write("\n2");
            };
            layerList.LayerItemButtonVisibilityClick += (s, e) =>
            {
                ListItem item = s as ListItem;
                m_program.toggleLayerVisiblity(item.m_id);
                updateCanvasImage();
            };
            // END layer list
            //
        }