public TestSceneRecognition() { cameraManager = createSuitableCameraManager(Scheduler); Add(cameraSpriteContainer = new Container { RelativeSizeAxes = Axes.Both }); Add(new FillFlowContainer { AutoSizeAxes = Axes.Y, Direction = FillDirection.Vertical, Width = 200.0f, Margin = new MarginPadding(5), Spacing = new Vector2(0, 5), Anchor = Anchor.TopRight, Origin = Anchor.TopRight, Children = new Drawable[] { cameraTypeSelector = new BasicDropdown <CameraType> { RelativeSizeAxes = Axes.X, Items = Enum.GetValues <CameraType>(), }, virtualCameraControls = new FillFlowContainer { AutoSizeAxes = Axes.Y, Direction = FillDirection.Vertical, RelativeSizeAxes = Axes.X, Spacing = new Vector2(0, 5), Children = new Drawable[] { virtualCameraLooping = new BasicCheckbox { LabelText = @"Toggle Looping" }, pauseButton = new BasicButton { Text = @"Pause", Height = 40, RelativeSizeAxes = Axes.X, Action = () => { if (Camera is CameraVirtual virtualCamera) { if (virtualCamera.Paused) { pauseButton.Text = @"Pause"; virtualCamera.Resume(); } else { pauseButton.Text = @"Unpause"; virtualCamera.Pause(); } } } } } },
public TestSceneCheckboxes() { BasicCheckbox swap, rotate; Children = new Drawable[] { new FillFlowContainer { Anchor = Anchor.TopLeft, Origin = Anchor.TopLeft, Direction = FillDirection.Vertical, Spacing = new Vector2(0, 10), Padding = new MarginPadding(10), AutoSizeAxes = Axes.Both, Children = new Drawable[] { basic = new BasicCheckbox { LabelText = @"Basic Test" }, new BasicCheckbox { LabelText = @"FadeDuration Test", FadeDuration = 300 }, swap = new BasicCheckbox { LabelText = @"Checkbox Position", }, rotate = new BasicCheckbox { LabelText = @"Enabled/Disabled Actions Test", }, } } }; swap.Current.ValueChanged += check => swap.RightHandedCheckbox = check.NewValue; rotate.Current.ValueChanged += e => rotate.RotateTo(e.NewValue ? 45 : 0, 100); }
private void load(TestBrowser browser) { BasicCheckbox runAllStepsCheckbox; InternalChild = new FillFlowContainer { Spacing = new Vector2(5), Direction = FillDirection.Horizontal, RelativeSizeAxes = Axes.Y, AutoSizeAxes = Axes.X, Children = new Drawable[] { new SpriteText { Padding = new MarginPadding(5), Text = "Assembly:" }, assemblyDropdown = new BasicDropdown <Assembly> { Width = 250, }, runAllStepsCheckbox = new BasicCheckbox { LabelText = "Run all steps", LabelPadding = new MarginPadding { Left = 5, Right = 10 }, AutoSizeAxes = Axes.Y, Width = 140, Anchor = Anchor.CentreLeft, Origin = Anchor.CentreLeft, }, } }; assemblyDropdown.Current.BindTo(browser.Assembly); runAllStepsCheckbox.Current.BindTo(browser.RunAllSteps); }
private void load() { SpriteText playbackSpeedDisplay; InternalChildren = new Drawable[] { new Box { RelativeSizeAxes = Axes.Both, Colour = Color4.Black, }, new Container { Padding = new MarginPadding(10), RelativeSizeAxes = Axes.Both, Child = new GridContainer { RelativeSizeAxes = Axes.Both, ColumnDimensions = new[] { new Dimension(GridSizeMode.AutoSize), new Dimension(GridSizeMode.Distributed), }, Content = new[] { new Drawable[] { new FillFlowContainer { Spacing = new Vector2(5), Direction = FillDirection.Horizontal, RelativeSizeAxes = Axes.Y, AutoSizeAxes = Axes.X, Children = new Drawable[] { new SpriteText { Padding = new MarginPadding(5), Text = "Current Assembly:" }, AssemblyDropdown = new BasicDropdown <Assembly> { Width = 300, }, RunAllSteps = new BasicCheckbox { LabelText = "Run all steps", AutoSizeAxes = Axes.Y, Width = 140, Anchor = Anchor.CentreLeft, Origin = Anchor.CentreLeft, }, } }, new GridContainer { RelativeSizeAxes = Axes.Both, ColumnDimensions = new[] { new Dimension(GridSizeMode.AutoSize), new Dimension(GridSizeMode.Distributed), new Dimension(GridSizeMode.AutoSize), }, Content = new[] { new Drawable[] { new SpriteText { Padding = new MarginPadding(5), Text = "Rate:" }, RateAdjustSlider = new BasicSliderBar <double> { RelativeSizeAxes = Axes.Both, Colour = Color4.MediumPurple, SelectionColor = Color4.White, }, playbackSpeedDisplay = new SpriteText { Padding = new MarginPadding(5), }, } } } } }, }, }, }; RateAdjustSlider.Current.ValueChanged += v => playbackSpeedDisplay.Text = v.ToString("0%"); }
public MarginPaddingControl(SafeAreaContainer safeAreaBackground, SafeAreaContainer safeAreaGrid, string title, Bindable <float> bindable, Edges edge) { SpriteText valueText; BasicCheckbox overrideCheckbox; BasicCheckbox safeCheckbox; Direction = FillDirection.Horizontal; Spacing = new Vector2(20, 0); AutoSizeAxes = Axes.Both; Children = new Drawable[] { new SpriteText { Text = title, Width = 60, Origin = Anchor.CentreLeft, Anchor = Anchor.CentreLeft, }, valueText = new SpriteText { Width = 50, Origin = Anchor.CentreLeft, Anchor = Anchor.CentreLeft, }, new BasicSliderBar <float> { Current = bindable, Size = new Vector2(100, 20), Origin = Anchor.CentreLeft, Anchor = Anchor.CentreLeft, }, new SpriteText { Text = "Background Override", Origin = Anchor.CentreLeft, Anchor = Anchor.CentreLeft, }, overrideCheckbox = new BasicCheckbox(), new SpriteText { Text = "Grid Override", Origin = Anchor.CentreLeft, Anchor = Anchor.CentreLeft, }, safeCheckbox = new BasicCheckbox() }; overrideCheckbox.Current.ValueChanged += e => { if (e.NewValue) { safeAreaBackground.SafeAreaOverrideEdges |= edge; } else { safeAreaBackground.SafeAreaOverrideEdges &= ~edge; } }; safeCheckbox.Current.ValueChanged += e => { if (e.NewValue) { safeAreaGrid.SafeAreaOverrideEdges |= edge; } else { safeAreaGrid.SafeAreaOverrideEdges &= ~edge; } }; bindable.ValueChanged += e => valueText.Text = $"{e.NewValue:F1}"; bindable.TriggerChange(); }