/// <summary> /// Draws the button /// </summary> public override void Draw(Otter.Interface.Graphics graphics) { TextureInfo info = Scene.GetTextureInfo(mCurrentState == ButtonState.Default ? mDefaultTextureID : mDownTextureID); Color color = mCurrentState == ButtonState.Default ? mDefaultColor : mDownColor; int texID = (info != null) ? info.TextureID : -1; graphics.DrawRectangle(texID, 0.0f, 0.0f, this.Size.Width, this.Size.Height, color.ToArgb()); if (mLabel.Text != "") { GUIFont font = GUIProject.CurrentProject.GetFont(mLabel.FontID); if (font != null) { ButtonLayout layout = Layout as ButtonLayout; font.Draw(mLabel.Text, 0, 0, layout.Size.Width, layout.Size.Height, layout.TextColor, layout.TextScale, HorizontalAlignment, VerticalAlignment); } } }
/// <summary> /// Creates a new project and saves it to disk /// </summary> private bool CreateNewProject() { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "OtterUI Project files (*.ggp)|*.ggp|All files (*.*)|*.*"; saveFileDialog.InitialDirectory = System.IO.Directory.GetCurrentDirectory(); saveFileDialog.RestoreDirectory = true; if (saveFileDialog.ShowDialog() != DialogResult.OK) return false; CloseWelcomeForm(); IDockContent[] docArray = mDockPanel.Documents.ToArray(); foreach (DockContent doc in docArray) doc.Close(); GUIProject.CurrentProject = new GUIProject(); GUIProject.CurrentProject.Name = System.IO.Path.GetFileNameWithoutExtension(saveFileDialog.FileName); GUIProject.CurrentProject.ProjectDirectory = System.IO.Path.GetDirectoryName(saveFileDialog.FileName); // Create a default platform Platform platform = new Platform("PC"); platform.OutputDirectory = "Output"; GUIProject.CurrentProject.Platforms.Add(platform); // Create a default resolution Resolution resolution = new Resolution(1024, 768); GUIProject.CurrentProject.Resolutions.Add(resolution); Globals.ProjectView.Project = GUIProject.CurrentProject; mProjectToolStripMenuItem.Enabled = (GUIProject.CurrentProject != null); // Create a default font SaveResource("Otter.Editor.res.LiberationSans.ttf", GUIProject.CurrentProject.ProjectDirectory + "/Fonts/LiberationSans.ttf"); GUIFont font = new GUIFont(); font.Name = ("Default Font"); font.ID = 1; font.FontSize = 32; font.Project = GUIProject.CurrentProject; font.AddASCII(); font.Filename = "Fonts/LiberationSans.ttf"; GUIProject.CurrentProject.Fonts.Add(font); // Create a new scene GUIProjectScene sceneEntry = Globals.ProjectView.AddScene(); if (sceneEntry != null) { Globals.ProjectView.OpenEntry(sceneEntry); } SaveProject(saveFileDialog.FileName); SaveProjectToRecents(saveFileDialog.FileName); return true; }