public BasicHLSL(Framework f) { sampleFramework = f; hud = new Dialog(sampleFramework); sampleUi = new Dialog(sampleFramework); colorDialog=new System.Windows.Forms.ColorDialog(); colorDialog.FullOpen=true; colorDialog.ShowHelp=false; colorDialog.SolidColorOnly=false; colorDialog.AnyColor=true; }
/// <summary>Create new combo box control</summary> public ComboBox(Dialog parent) : base(parent) { // Store control type and parent dialog controlType = ControlType.ComboBox; parentDialog = parent; // Create the scrollbar control too scrollbarControl = new ScrollBar(parent); // Set some default items dropHeight = 100; scrollWidth = 16; selectedIndex = -1; focusedIndex = -1; isScrollBarInit = false; // Create the item list array itemList = new ArrayList(); }
protected string textData; // Window text #endregion Fields #region Constructors /// <summary> /// Create a new instance of a static text control /// </summary> public StaticText(Dialog parent) : base(parent) { controlType = ControlType.StaticText; parentDialog = parent; textData = string.Empty; elementList.Clear(); }
/// <summary>Create new button instance</summary> public Slider(Dialog parent) : base(parent) { controlType = ControlType.Slider; parentDialog = parent; isPressed = false; minValue = 0; maxValue = 100; currentValue = 50; }
/// <summary> /// Creates a new instance of the scroll bar class /// </summary> public ScrollBar(Dialog parent) : base(parent) { // Store parent and control type controlType = ControlType.Scrollbar; parentDialog = parent; // Set default properties showingThumb = true; upButtonRect = System.Drawing.Rectangle.Empty; downButtonRect = System.Drawing.Rectangle.Empty; trackRect = System.Drawing.Rectangle.Empty; thumbRect = System.Drawing.Rectangle.Empty; position = 0; pageSize = 1; start = 0; end = 1; }
/// <summary> /// Create new radio button instance /// </summary> public RadioButton(Dialog parent) : base(parent) { controlType = ControlType.RadioButton; parentDialog = parent; }
/// <summary>Create a new list box control</summary> public ListBox(Dialog parent) : base(parent) { // Store control type and parent dialog controlType = ControlType.ListBox; parentDialog = parent; // Create the scrollbar control too scrollbarControl = new ScrollBar(parent); // Set some default items style = ListBoxStyle.SingleSelection; scrollWidth = 16; selectedIndex = -1; selectedStarted = 0; isDragging = false; margin = 5; border = 6; textHeight = 0; isScrollBarInit = false; // Create the item list array itemList = new ArrayList(); }
/// <summary> /// Create new checkbox instance /// </summary> public Checkbox(Dialog parent) : base(parent) { controlType = ControlType.CheckBox; isBoxChecked = false; parentDialog = parent; }
protected System.Drawing.Rectangle textRect; // Bounding rectangle for the text #endregion Fields #region Constructors /// <summary>Creates a new edit box control</summary> public EditBox(Dialog parent) : base(parent) { controlType = ControlType.EditBox; parentDialog = parent; border = 5; // Default border spacing = 4; // default spacing isCaretOn = true; textData = new System.Windows.Forms.RichTextBox(); // Create the control textData.Visible = true; textData.Font = new System.Drawing.Font("Arial", 8.0f); textData.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.None; textData.Multiline = false; textData.Text = string.Empty; textData.MaxLength = ushort.MaxValue; // 65k characters should be plenty textData.WordWrap = false; // Now create the control textData.CreateControl(); isHidingCaret = false; firstVisible = 0; blinkTime = NativeMethods.GetCaretBlinkTime() * 0.001f; lastBlink = FrameworkTimer.GetAbsoluteTime(); textColor = new ColorValue(0.06f, 0.06f, 0.06f, 1.0f); selectedTextColor = new ColorValue(1.0f, 1.0f, 1.0f, 1.0f); selectedBackColor = new ColorValue(0.15f, 0.196f, 0.36f, 1.0f); caretColor = new ColorValue(0, 0, 0, 1.0f); caretPosition = textData.SelectionStart = 0; isInsertMode = true; isMouseDragging = false; }
/// <summary>Create new button instance</summary> public Button(Dialog parent) : base(parent) { controlType = ControlType.Button; parentDialog = parent; isPressed = false; hotKey = 0; }
/// <summary> /// Create a new instance of the dialog class /// </summary> public Dialog(Framework sample) { parent = sample; // store this for later use // Initialize to default state dialogX = 0; dialogY = 0; width = 0; height = 0; hasCaption = false; isDialogMinimized = false; caption = string.Empty; captionHeight = 18; topLeftColor = topRightColor = bottomLeftColor = bottomRightColor = new ColorValue(); timeLastRefresh = 0.0f; nextDialog = this; // Only one dialog prevDialog = this; // Only one dialog usingNonUserEvents = false; usingKeyboardInput = false; usingMouseInput = true; InitializeDefaultElements(); }
/// <summary> /// Create a new instance of a control /// </summary> protected Control(Dialog parent) { controlType = ControlType.Button; parentDialog = parent; controlId = 0; index = 0; enabled = true; visible = true; isMouseOver = false; hasFocus = false; isDefault = false; controlX = 0; controlY = 0; width = 0; height = 0; }
/// <summary> /// Creates the controls for use in the dialog /// </summary> private void CreateControls() { dialog = new Dialog(parent); dialog.IsUsingKeyboardInput = true; dialog.SetFont(0, "Arial", 15, FontWeight.Normal); dialog.SetFont(1, "Arial", 28, FontWeight.Bold); // Right justify static controls Element e = dialog.GetDefaultElement(ControlType.StaticText, 0); e.textFormat = DrawTextFormat.VerticalCenter | DrawTextFormat.Right; // Title StaticText title = dialog.AddStatic((int)SettingsDialogControlIds.Static, "Direct3D Settings", 10, 5, 400, 50); e = title[0]; e.FontIndex = 1; e.textFormat = DrawTextFormat.Top | DrawTextFormat.Left; // Adapter dialog.AddStatic((int)SettingsDialogControlIds.Static, "Display Adapter", 10, 50, 180, 23); adapterCombo = dialog.AddComboBox((int)SettingsDialogControlIds.Adapter, 200, 50, 300, 23); // Device Type dialog.AddStatic((int)SettingsDialogControlIds.Static, "Render Device", 10, 75, 180, 23); deviceCombo = dialog.AddComboBox((int)SettingsDialogControlIds.DeviceType, 200, 75, 300, 23); // Windowed / Fullscreen windowedButton = dialog.AddRadioButton((int)SettingsDialogControlIds.Windowed, (int)SettingsDialogControlIds.RadioButtonGroup, "Windowed", 240, 105, 300, 16, false); clipBox = dialog.AddCheckBox((int)SettingsDialogControlIds.DeviceClip, "Clip to device when window spans across multiple monitors", 250, 126, 400, 16, false); fullscreenButton = dialog.AddRadioButton((int)SettingsDialogControlIds.Fullscreen, (int)SettingsDialogControlIds.RadioButtonGroup, "Full Screen", 240, 147, 300, 16, false); // Adapter Format adapterFormatStatic = dialog.AddStatic((int)SettingsDialogControlIds.AdapterFormatLabel, "Adapter Format", 10, 180, 180, 23); adapterFormatCombo = dialog.AddComboBox((int)SettingsDialogControlIds.AdapterFormat, 200, 180, 300, 23); // Resolution resolutionStatic = dialog.AddStatic((int)SettingsDialogControlIds.ResolutionLabel, "Resolution", 10, 205, 180, 23); resolution = dialog.AddComboBox((int)SettingsDialogControlIds.Resolution, 200, 205, 300, 23); resolution.SetDropHeight(106); // Refresh Rate refreshStatic = dialog.AddStatic((int)SettingsDialogControlIds.RefreshRateLabel, "Refresh Rate", 10, 230, 180, 23); refreshCombo = dialog.AddComboBox((int)SettingsDialogControlIds.RefreshRate, 200, 230, 300, 23); // BackBuffer Format dialog.AddStatic((int)SettingsDialogControlIds.Static, "Back Buffer Format", 10, 265, 180, 23 ); backBufferCombo = dialog.AddComboBox((int)SettingsDialogControlIds.BackBufferFormat, 200, 265, 300, 23 ); // Depth Stencil dialog.AddStatic((int)SettingsDialogControlIds.Static, "Depth/Stencil Format", 10, 290, 180, 23 ); depthStencilCombo = dialog.AddComboBox((int)SettingsDialogControlIds.DepthStencil, 200, 290, 300, 23 ); // Multisample Type dialog.AddStatic((int)SettingsDialogControlIds.Static, "Multisample Type", 10, 315, 180, 23 ); multiSampleTypeCombo = dialog.AddComboBox((int)SettingsDialogControlIds.MultisampleType, 200, 315, 300, 23 ); // Multisample Quality dialog.AddStatic((int)SettingsDialogControlIds.Static, "Multisample Quality", 10, 340, 180, 23 ); multiSampleQualityCombo = dialog.AddComboBox((int)SettingsDialogControlIds.MultisampleQuality, 200, 340, 300, 23 ); // Vertex Processing dialog.AddStatic((int)SettingsDialogControlIds.Static, "Vertex Processing", 10, 365, 180, 23 ); vertexCombo = dialog.AddComboBox((int)SettingsDialogControlIds.VertexProcessing, 200, 365, 300, 23 ); // Present Interval dialog.AddStatic((int)SettingsDialogControlIds.Static, "Present Interval", 10, 390, 180, 23 ); presentCombo = dialog.AddComboBox((int)SettingsDialogControlIds.PresentInterval, 200, 390, 300, 23 ); // Add the ok/cancel buttons Button okButton = dialog.AddButton((int)SettingsDialogControlIds.OK, "OK", 230,435,73,31); Button cancelButton = dialog.AddButton((int)SettingsDialogControlIds.Cancel, "Cancel", 315,435,73,31,0, true); okButton.Click += new EventHandler(OnOkClicked); cancelButton.Click += new EventHandler(OnCancelClicked); }