Control CreateDrawCharacter() { var layout = new DynamicLayout { Padding = Padding.Empty }; layout.BeginHorizontal(); characterPanel = layout; layout.Add(new Label { Text = "C&haracter:" }); charTextBox = new FontTextBox(Handler, new Size(1, 1)); charTextBox.ReadOnly = false; charTextBox.SetAttribute(this.Attribute); layout.Add(charTextBox); layout.Add(null); layout.EndHorizontal(); return(layout); }
Control Characters() { var font = CharacterHandler.CurrentPage.Font; int width = 64; //font.NumChars > 256 ? 64 : 32; var control = characters = new FontTextBox(CharacterHandler, new Size(width, (font.NumChars + width - 1) / width)); control.ReadOnly = true; control.CanFocus = true; control.Bordered = true; control.SetAttribute(CharacterHandler.DrawAttribute); control.KeyDown += (sender, e) => { if (e.KeyData == Keys.Enter) { Result = DialogResult.Ok; Close(); e.Handled = true; } }; control.CursorElementChanged += delegate { this.SelectedCharacter = control.CursorElement.Character; Update(); }; control.MouseDown += delegate(object sender, MouseEventArgs e) { e.Handled = true; this.SelectedCharacter = control.CursorElement.Character; Update(); }; control.MouseDoubleClick += delegate(object sender, MouseEventArgs e) { e.Handled = true; this.SelectedCharacter = control.CursorElement.Character; Result = DialogResult.Ok; Close(); }; int character = 0; for (int y = 0; y < control.Canvas.Height; y++) { for (int x = 0; x < control.Canvas.Width; x++) { if (character < font.NumChars) { var ce = control.Canvas[x, y]; ce.Character = character++; control.Canvas[x, y] = ce; } } } return(control); }
void CreateControls() { var handler = this.Handler; //int charHeight = handler.CurrentPage.Font.Size.Height + 6; var characterSet = handler.Info.GetCharacterSet(handler.CharacterSet).ToList(); //int width = 40; //int height = charHeight * characterSet.Count + 18 + 17; //this.MinimumSize = new Size (width, height); var layout = new DynamicLayout { Padding = new Padding(10, 0) }; layout.BeginHorizontal(); //var layout = this.Layout as PixelLayout ?? new PixelLayout (this); //layout.Remove (this.Controls.ToArray ()); chars.Clear(); for (int i = 0; i < characterSet.Count; i++) { var character = new FontTextBox(handler, new Size(1, 1)); var label = new Label { }; //Size = new Size (width - character.Size.Width, charHeight)}; label.HorizontalAlign = HorizontalAlign.Right; label.VerticalAlign = VerticalAlign.Middle; label.Text = string.Format("F{0}", i + 1); layout.Add(label); //layout.Add (label, 0, i * charHeight); character.Tag = i; character.CanFocus = false; character.MouseDown += HandleCharacterMouseDown; layout.AddCentered(character, horizontalCenter: false, padding: Padding.Empty, spacing: Size.Empty); //layout.Add (character, width - character.Size.Width, i * charHeight + (charHeight - character.Size.Height) / 4); chars.Add(character); } layout.BeginVertical(Padding.Empty, Size.Empty); layout.Add(null); layout.Add(UpButton()); layout.Add(DownButton()); layout.Add(null); layout.EndVertical(); layout.AddCentered(SelectButton(), Padding.Empty, Size.Empty); layout.EndHorizontal(); Content = layout; Update(); }
Control GradientPreview() { var control = preview = new FontTextBox(Handler, Size.Empty) { ReadOnly = true, Bordered = true }; control.MouseDown += (sender, e) => { EditBrushes(); e.Handled = true; }; return(control); }
Control GradientPreview() { var control = preview = new FontTextBox(Handler, new Size(4, 2)) { ReadOnly = true, Bordered = true }; preview.MouseDown += (sender, e) => { SelectCharacter(); e.Handled = true; }; return(control); }
Control Characters() { var font = CharacterHandler.CurrentPage.Font; int width = 64; //font.NumChars > 256 ? 64 : 32; var size = new Size(width, (font.NumChars + width - 1) / width); var control = new FontTextBox(CharacterHandler, size); control.Bordered = true; control.SetAttribute(CharacterHandler.DrawAttribute); control.MouseDown += (sender, e) => { if (lastSet != null) { lastSet.Insert(control.CursorElement); lastSet.Invalidate(); lastSet.Focus(); } e.Handled = true; }; control.ReadOnly = true; control.CanFocus = false; int character = 0; for (int y = 0; y < control.Canvas.Height; y++) { for (int x = 0; x < control.Canvas.Width; x++) { if (character < font.NumChars) { var ce = control.Canvas[x, y]; ce.Character = character++; control.Canvas[x, y] = ce; } } } return(control); }
Control CharacterSelection() { var layout = new DynamicLayout { Spacing = new Size(10, 5) }; RadioButton master = null; for (int i = 0; i < CharacterDocumentInfo.MAX_CHARACTER_SETS; i++) { var characterSet = CharacterHandler.Info.GetCharacterSet(i).ToArray(); var control = new FontTextBox(CharacterHandler, new Size(characterSet.Length, 1)); control.ReadOnly = false; control.SetAttribute(CharacterHandler.DrawAttribute); sets.Add(control.Canvas); for (int c = 0; c < characterSet.Length; c++) { var ce = control.Canvas[c, 0]; ce.Character = characterSet[c]; control.Canvas[c, 0] = ce; } control.GotFocus += delegate { lastSet = control; }; var radio = new RadioButton(master) { Text = "Set " + (i + 1), Tag = i }; if (i == CharacterHandler.CharacterSet) { radio.Checked = true; radio.Focus(); } radio.CheckedChanged += delegate(object sender, EventArgs e) { var c = (RadioButton)sender; selected = (int)c.Tag; }; radio.MouseDoubleClick += (sender, e) => { e.Handled = true; Save(); Result = DialogResult.Ok; Close(); }; if (master == null) { master = radio; } if (i % 2 == 0) { layout.BeginHorizontal(); } layout.Add(radio); layout.Add(control); if (i % 2 == 1) { layout.EndHorizontal(); } } return(new GroupBox { Content = layout }); }
Control Brushes() { var layout = new TableLayout(6, 5); layout.Spacing = new Size(10, 5); layout.SetColumnScale(0); layout.SetColumnScale(5); RadioButton master = null; var brushes = CharacterHandler.Info.Brushes; for (int i = 0; i < CharacterDocumentInfo.MAX_BRUSHES; i++) { var brush = (i < brushes.Length) ? brushes[i] : new BrushInfo(); var control = new FontTextBox(CharacterHandler, new Size(CharacterDocumentInfo.MAX_BRUSH_SIZE, 1)); control.ReadOnly = false; control.SetAttribute(CharacterHandler.DrawAttribute); brushCanvases.Add(control.Canvas); if (brush != null) { var characters = brush.GetCharacters(CharacterHandler.CurrentPage.Font.Encoding) ?? new Character[0]; for (int c = 0; c < characters.Length; c++) { var ce = control.Canvas[c, 0]; ce.Character = characters[c]; control.Canvas[c, 0] = ce; } } control.GotFocus += delegate { lastSet = control; }; var x = (i / 5) * 2; var y = i % 5; var radio = new RadioButton(master) { Text = "Brush " + (i + 1), Tag = i }; if (i == SelectedBrush) { radio.Checked = true; radio.Focus(); } radio.MouseDoubleClick += (sender, e) => { e.Handled = true; var c = (RadioButton)sender; SelectedBrush = (int)c.Tag; Result = DialogResult.Ok; Save(); Close(); }; radio.CheckedChanged += delegate(object sender, EventArgs e) { var c = (RadioButton)sender; SelectedBrush = (int)c.Tag; }; if (master == null) { master = radio; } layout.Add(radio, x + 1, y); layout.Add(control, x + 2, y); } /** * var scroll = new Scrollable{ }; * var pl = new PixelLayout(scroll); * pl.Add(layout.Container, 0, 0); * return scroll; * /**/ return(new GroupBox { Content = layout }); /**/ }