// // Constructor // public CanvasItem(Point point, PaletteItem paletteItem, Bitmap sourceSpriteSheet) { this.point = point; this.paletteItem = paletteItem; this.sourceSpriteSheet = sourceSpriteSheet; this.cropped = CropBitmap(paletteItem.rectangle); }
public void AddCanvasItem(Point point, PaletteItem paletteItem) { CanvasItem canvasItem = new CanvasItem(point, paletteItem, this.sourceSpriteSheet); this.listCanvasItems.Add(canvasItem); Graphics g = this.pictureBox.CreateGraphics(); g.DrawImage(canvasItem.Cropped, canvasItem.Point); }
private void listBoxPalette_SelectedIndexChanged(object sender, EventArgs e) { // // Based upon listBoxPalette's selected index: // - Show the respective PaletteItem.Name // - Show the respective PaletteItem.paletteTypeEnum (for comboBoxPaletteType) // int selectedPalette = this.listBoxPalette.SelectedIndex; if (-1 != selectedPalette) { this.textBoxPalName.Text = Project.Instance.ListPaletteItems.ElementAt(selectedPalette).name; PaletteItem selectedPaletteItem = Project.Instance.ListPaletteItems.ElementAt(selectedPalette); this.comboBoxPaletteType.SelectedIndex = (int)selectedPaletteItem.paletteTypeEnum; } }
private void comboBoxPaletteType_SelectedIndexChanged(object sender, EventArgs e) { // // If the dropdown box selection (comboBoxPaletteType) changes, ensure we fetch the newly // specified PaletteItem.PaletteType enum value and update the respective PaletteItem // PaletteItem.PaletteType selectedPaletteType = (PaletteItem.PaletteType)Enum.Parse( typeof(PaletteItem.PaletteType), this.comboBoxPaletteType.SelectedValue.ToString() ); if (-1 != this.listBoxPalette.SelectedIndex) { PaletteItem selectedPaletteItem = Project.Instance.ListPaletteItems.ElementAt(this.listBoxPalette.SelectedIndex); selectedPaletteItem.paletteTypeEnum = selectedPaletteType; } }
private void pictureBoxCanvas_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { Point point = System.Windows.Forms.Control.MousePosition; Point pointPanelCanvas = this.pictureBoxCanvas.PointToClient(point); if (true == this.panelCanvas.ClientRectangle.Contains(pointPanelCanvas)) { if (Form.MouseButtons == MouseButtons.Left) { int selectedIndex = this.listBoxPalette.SelectedIndex; if (selectedIndex >= 0) { PaletteItem paletteItem = Project.Instance.ListPaletteItems.ElementAt(selectedIndex); // // Find which grid cell contains our current MouseDown Point // Snap-To-Grid a new Point to the upper left corner of the matching grid cell // Point pointGridSnap = new Point(); for (int i = 0; i < Project.Instance.Canvas.Grid.ListGridColumn.Count; i++) { GridColumn gridColumn = Project.Instance.Canvas.Grid.ListGridColumn.ElementAt(i); for (int j = 0; j < gridColumn.ListRow.Count; j++) { GridCell gridCell = gridColumn.ListRow.ElementAt(j); if (true == gridCell.Rectangle.Contains(pointPanelCanvas)) { pointGridSnap.X = gridCell.Rectangle.X; pointGridSnap.Y = gridCell.Rectangle.Y; break; } } } Project.Instance.Canvas.AddCanvasItem(pointGridSnap, paletteItem); } } } }