private void AddElements() { _component.AddBehavior(new ControlStateBehavior <TState>(Metadata)); _component.AddDrawer(OnDraw); foreach (var behavior in GetEventedBehaviors()) { _component.AddBehavior(new FocusControlBeheavior <TState>(Metadata, behavior), opt => opt.UseScheduler(BehaviorSchedule.OnEvents)); } AddCustomElements(_component); }
private static async Task Main(string[] args) { var builder = new HostBuilder(); builder.UseTvision2(setup => { setup.UseDotNetConsoleDriver(); setup.Options.UseStartup((sp, tui) => { var cm = sp.GetService <IColorManager>(); var attr = cm.BuildAttributeFor(TvColor.Yellow, TvColor.Blue); var helloWorld = new TvComponent <string>("Tvision2 rocks!"); helloWorld.AddDrawer(ctx => { ctx.DrawStringAt(ctx.State, TvPoint.Zero, attr); }); helloWorld.AddViewport(new Viewport(new TvPoint(10, 10), 30)); tui.UI.Add(helloWorld); return(Task.CompletedTask); }); }).UseConsoleLifetime(); await builder.RunTvisionConsoleApp(); }
protected override void AddCustomElements(TvComponent <WindowState> component) { component.AddDrawer(new BorderDrawer(CurrentStyle, Metadata)); }