void UpdateDecoratorPreview(bool resetScale) { Decorator selectedDecorator = null; if (puzzlePropertyGrid.SelectedObject is GraphElement graphElement) { selectedDecorator = graphElement.Decorator; } if (puzzlePropertyGrid.SelectedObject is Decorator) { selectedDecorator = puzzlePropertyGrid.SelectedObject as Decorator; } if (editView != null) { decoratorPreviewBuffer.Graphics.Clear(editView.Graph.MetaData.BackgroundColor); if (selectedDecorator != null) { if (resetScale) { decoratorPreviewScale = PuzzleToolkit.GetSuggestedDecorationScale(selectedDecorator); } PuzzleGraphRenderer renderer = new PuzzleGraphRenderer(decoratorPreviewBuffer.Graphics); double width = decoratorPreviewPictureBox.Width; double height = decoratorPreviewPictureBox.Height; renderer.DrawDecorator(selectedDecorator, new MathHelper.Vector(width / 2.0, height / 2.0), height * decoratorPreviewScale, editView.Graph.MetaData, editView.Graph.MetaData.BackgroundColor, true); } decoratorPreviewBuffer.Render(); } }
private void ToolkitAdd_Click(object sender, EventArgs e) { if (editView != null) { if (editView.SelectedObjects.Count == 0) { MessageBox.Show(Resources.Lang.Errors_NoElement); return; } Decorator decorator = editView.SelectedObjects[0].Decorator; if (string.IsNullOrWhiteSpace(toolkitTextBox.Text)) { MessageBox.Show(Resources.Lang.Errors_NameEmpty); return; } string name = toolkitTextBox.Text; double size = PuzzleToolkit.GetSuggestedDecorationScale(decorator); toolkit.Items.Add(new PuzzleToolkitDecoratorItem(name, decorator, size)); InitToolkit(toolkit); UpdateToolkitListView(); } }