public TextField TextField(int x, int y, int sizeX, int sizeY, Color textColor, SpriteFont font, ARenderStyle style, string hint = null, IHorizontalAlignable horizontalAlignment = null, IVerticalAlignable verticalAlignment = null, IAlignmentTransition alignmentTransition = null, IColorPattern pattern = null, TextAppenderHelper appender = null) { TextField textField = null; return(textField = controlFactory.CreateTextBox(appender ?? TextAppenderHelper.Default, font, GetTexture(sizeX, sizeY, pattern), new Region(new Vector2(x, y), new Vector2(sizeX, sizeY)), textColor, style, hint ?? string.Empty, horizontalAlignment ?? HorizontalAlignment.Left, verticalAlignment ?? VerticalAlignment.Center, alignmentTransition ?? AlignmentTransition.Instant)); }
internal void SubscribeStyle(AControl control, ARenderStyle style) { this.Clicked += (sender, args) => style.Clicked(control); this.GotFocus += (sender, args) => style.Focus(control); this.LostFocus += (sender, args) => style.Default(control); this.LostMouseCapture += (sender, args) => style.Default(control); this.GotMouseCapture += (sender, args) => style.Hover(control); style.Default(control); }
public Button Button(int x, int y, int sizeX, int sizeY, ARenderStyle style, IColorPattern pattern) { return(controlFactory.CreateButton(new Region(new Vector2(x, y), new Vector2(sizeX, sizeY)), GetTexture(sizeX, sizeY, pattern), style)); }
public AControl(Texture2D texture, Region region, ARenderStyle style, Region parent = null) { this.Region = region; this.Sprite = new Sprite(texture); this.RenderParameters = new RenderParameters(); this.Options = new Options(); this.Events = new ViewEvents <ControlEventArgs>(this, () => new ControlEventArgs()); this.RenderStyle = style; this.Events.SubscribeStyle(this, RenderStyle); this.Padding = new Padding(); this.ScreenAlignment = AlignmentContext.Default; this.RenderTemplate = RenderTemplate.Default; ScreenAlignment.OnAlignmentChanged += (sender, args) => this.Align(parent ?? Settings.ViewRegion); region.onSizeChange += (sender, args) => this.Align(parent ?? Settings.ViewRegion); region.onPositionChange += (sender, args) => this.Align(parent ?? Settings.ViewRegion); }
public CheckBox CreateCheckBox(Texture2D backgroundTexture, Texture2D checkedTexture, Texture2D unCheckedTexture, ARenderStyle style, Region region, IHorizontalAlignable checkBoxHorizontalAlignment, IVerticalAlignable checkBoxVerticalAlignment, string text, SpriteFont font) { return(new CheckBox(backgroundTexture, region, style, new AlignmentContext(checkBoxHorizontalAlignment, checkBoxVerticalAlignment, AlignmentTransition.Instant), checkedTexture, unCheckedTexture, text, font)); }
public CheckBox CheckBox(int x, int y, int sizeX, int sizeY, Texture2D backgroundTexture, Texture2D checkedTexture, Texture2D unCheckedTexture, ARenderStyle style, string text, SpriteFont font) { return(controlFactory.CreateCheckBox(backgroundTexture, checkedTexture, unCheckedTexture, style, new Region(x, y, sizeX, sizeY), HorizontalAlignment.Right, VerticalAlignment.Center, text, font)); }
public TextField CreateTextBox(TextAppenderHelper appender, SpriteFont font, Texture2D texture, Region region, Color textcolor, ARenderStyle style, string hint, IHorizontalAlignable horizontalAlignment, IVerticalAlignable verticalAlignment, IAlignmentTransition transition) { return(new TextField(appender, font, texture, region, textcolor, style, hint, new AlignmentContext(horizontalAlignment, verticalAlignment, transition))); }
public CheckBox CheckBox(int x, int y, int sizeX, int sizeY, IColorPattern backgroundPattern, int checkboxSizeX, int checkboxSizeY, IColorPattern checkedPattern, IColorPattern unCheckedPattern, ARenderStyle style, string text, SpriteFont font) { return(controlFactory.CreateCheckBox(GetTexture(sizeX, sizeY, backgroundPattern), GetTexture(checkboxSizeX, checkboxSizeY, checkedPattern), GetTexture(checkboxSizeX, checkboxSizeY, unCheckedPattern), style, new Region(x, y, sizeX, sizeY), HorizontalAlignment.Left, VerticalAlignment.Center, text, font)); }
public Slider Slider(int x, int y, int sizeX, int sizeY, int sliderSizeX, int sliderSizeY, SliderInfo sliderInfo, IColorPattern background, IColorPattern slider, IColorPattern filling, IColorPattern border, ARenderStyle style) { int offSet = 3; return(controlFactory.CreateSlider(sliderInfo, GetTexture(sizeX, sizeY + offSet * 2, background), GetTexture(sliderSizeX, sliderSizeY, slider), GetTexture(1, 1, filling), GetTexture(sizeX, sizeY, border), new Region(x, y - offSet, sizeX, sizeY + offSet * 2), new Region(x, y, sizeX, sizeY), new Region(x, y, sliderSizeX, sliderSizeY), style)); }
public Slider Slider(int x, int y, int sizeX, int sizeY, int sliderSizeX, int sliderSizeY, SliderInfo sliderInfo, Texture2D backgroundTexture, Texture2D slider, Texture2D filling, Texture2D border, ARenderStyle style) { float offSet = 3.0f; return(controlFactory.CreateSlider(sliderInfo, backgroundTexture, slider, filling, border, new Region(x - offSet, y - offSet, sizeX + offSet * 2, sizeY + offSet * 2), new Region(x, y, sizeX, sizeY), new Region(x, y, sliderSizeX, sliderSizeY), style)); }
public Slider CreateSlider(SliderInfo sliderInfo, Texture2D backgroundTexture, Texture2D slider, Texture2D filling, Texture2D border, Region region, Region borderRegion, Region sliderRegion, ARenderStyle style) { return(new Slider(sliderInfo, new SliderDrawable(slider, border, filling, borderRegion, new AlignmentContext(HorizontalAlignment.Left, VerticalAlignment.Center, AlignmentTransition.Instant), sliderInfo.PercentageStep), backgroundTexture, region, style)); }
internal TextField(TextAppenderHelper appender, SpriteFont font, Texture2D texture, Region region, Color textcolor, ARenderStyle style, string hint, AlignmentContext alignmentContext) : base(texture, region, style) { int padding = 5; this.font = font; this.appender = appender; Events.LostFocus += (sender, args) => ShouldProcessInput = false; Events.GotFocus += (sender, args) => ShouldProcessInput = true; timer = new Timer(); timer.Elapsed += new ElapsedEventHandler((sender, args) => showCursor = !showCursor); timer.Interval = appender.CursorFlickInterval; timer.Enabled = true; this.hint = new StandardText(font, Vector2.Zero, hint, alignmentContext); this.hint.RenderParameters.Color = new Color(textcolor.R, textcolor.G, textcolor.B, 0.4f); Text = new StandardText(font, Vector2.Zero, null, alignmentContext); Text.RenderParameters.Color = textcolor; Text.Padding.Left = padding; Text.Padding.Right = padding; this.hint.Padding.Left = padding; SetupCursor(); //check if the buffer is not full appender.ShouldHandleKey += (key, keyToChar) => ((Text.Region.Frame.Right + Text.Padding.Left + Text.Padding.Right + (font.MeasureString(keyToChar.ToString()).X) * Configuration.Settings.Scale.X) < (this.Region.Frame.Right)); }
internal CheckBox(Texture2D texture, Region region, ARenderStyle style, AlignmentContext checkBoxAlignment, Texture2D checkedTexture, Texture2D unCheckedTexture, string text, SpriteFont font) : base(texture, region, style) { int offset = 3; this.RenderStyle = style; checkBox = new Button(unCheckedTexture, new Region(0, 0, unCheckedTexture.Width, unCheckedTexture.Height), Style.NoStyle, this.Region); checkBox.ScreenAlignment.HorizontalAlignment = checkBoxAlignment.HorizontalAlignment; checkBox.ScreenAlignment.VerticalAlignment = checkBoxAlignment.VerticalAlignment; checkBox.Padding.Left = offset; checkBox.ScreenAlignment.Transition = checkBoxAlignment.Transition; checkBox.Sprite.Add("checked", checkedTexture); this.Events.Clicked += (sender, args) => { IsChecked = !IsChecked; if (IsChecked) { checkBox.Sprite.SwitchSprite("checked"); } else { checkBox.Sprite.SwitchSprite(); } }; Text = new StandardText(font, Vector2.Zero, text); Text.Alignment.HorizontalAlignment = HorizontalAlignment.RelativeTo(() => (checkBox.Region.Frame.Right) + offset * Configuration.Settings.Scale.X); Text.Alignment.VerticalAlignment = checkBoxAlignment.VerticalAlignment; checkBox.Region.onPositionChange += (args, sender) => Text.Align(this.Region); }
internal Button(Texture2D texture, Region region, ARenderStyle style, Region parent = null) : base(texture, region, style, parent) { }
public Button CreateButton(Region region, Texture2D texture, ARenderStyle style) { return(new Button(texture, region, style)); }
internal Slider(SliderInfo sliderInfo, SliderDrawable sliderDrawable, Texture2D texture, Region region, ARenderStyle style) : base(texture, region, style, null) { this.sliderInfo = sliderInfo; this.sliderDrawable = sliderDrawable; this.sliderDrawable.OnFinishedMoving += (sender, args) => sliderInfo.SetPositionByPercentage(sliderDrawable.Percentage); this.sliderDrawable.OnFinishedMoving += (sender, args) => ValueChanged(); this.sliderDrawable.OnNewDestination += (sender, destination) => ValueChanging(destination); this.sliderDrawable.MoveByPercentage(sliderInfo.PositionPercent); this.keyRepetition = new KeyRepetition { KeyRepeatDuration = 0.01d, KeyRepeatStartDuration = 0.3d }; Subtract += () => InputManager.Mouse.IsWheelMovingUp() || InputManager.GamePad.IsButtonPressed(InputManager.GamePadInputKeys.Left) || InputManager.Keyboard.IsKeyPressed(InputManager.KeyboardInputKeys.Left); Add += () => InputManager.Mouse.IsWheelMovingDown() || InputManager.GamePad.IsButtonPressed(InputManager.GamePadInputKeys.Right) || InputManager.Keyboard.IsKeyPressed(InputManager.KeyboardInputKeys.Right); }