protected override void Write(ComponentRenderer renderer, HeadingBlock heading) { int level = Math.Min(Math.Max(heading.Level, 1), 6); // Ignore the level 1 title and let PostPage to render it with greater flexibilities. if (level == 1) { return; } renderer.Builder.OpenComponent <MudText>(0); renderer.Builder.AddAttribute(1, "Typo", _headingTypos[level - 1]); if (level == 2) { renderer.Builder.AddAttribute(2, "Color", Color.Secondary); } if (level < 5) { renderer.Builder.AddAttribute(3, "Class", $"mt-{(5 - level) * 2}"); } string title = renderer.RenderHtml(heading.Inline); renderer.Builder.AddAttribute(4, "ChildContent", (RenderFragment)(builder => builder.AddMarkupContent(5, title)) ); renderer.Builder.CloseComponent(); }
protected override void Write(ComponentRenderer renderer, ListBlock listBlock) { for (int i = 0; i < listBlock.Count; i++) { var item = listBlock[i] as ListItemBlock; renderer.Builder.OpenElement(0, "div"); renderer.Builder.AddAttribute(1, "class", "ml-4 d-flex flex-row justify-start align-start"); renderer.Builder.OpenComponent <MudText>(2); renderer.Builder.AddAttribute(3, "Class", "mt-2 mr-2"); renderer.Builder.AddAttribute(4, "Style", "font-weight: bolder"); string bullet = GetBullet(listBlock.BulletType, i); renderer.Builder.AddAttribute(5, "ChildContent", (RenderFragment)(builder => builder.AddMarkupContent(6, bullet)) ); renderer.Builder.AddAttribute(7, "Color", Color.Primary); renderer.Builder.CloseComponent(); renderer.Write(item[0]); renderer.Builder.CloseElement(); } }
public override void Render(HtmlRenderOut writer, ComponentRenderer <HtmlRenderOut> parent = null) { writer.WriteLine("Style", $"#{VariableName}" + "{"); writer["View"].Indent++; writer.WriteLine("Style", $" display: grid;"); writer.WriteLine("Style", $" grid-template-columns: repeat({RendererDataObject.Width}, 1fr);"); writer.WriteLine("Style", $" grid-template-rows: repeat({RendererDataObject.Height}, 1fr);"); writer.WriteLine("Style", $" grid-gap: 10px;"); writer.WriteLine("Style", $" background: {RendererDataObject.BackgroundColor};"); writer.WriteLine("Style", $" min-height: 200px;"); writer.WriteLine("Style", $" min-width: 200px;"); writer.WriteLine("Style", $" /**/"); //writer.WriteLine("Style", $" grid-column-start: {RendererDataObject.X};"); //writer.WriteLine("Style", $" grid-column-end: {RendererDataObject.X + RendererDataObject.XSpan + 1};"); //writer.WriteLine("Style", $" grid-row-start: {RendererDataObject.Y};"); //writer.WriteLine("Style", $" grid-row-end: {RendererDataObject.Y + RendererDataObject.YSpan + 1};"); writer["View"].Indent--; writer.WriteLine("Style", "}"); writer.WriteLine("View", $"<div id=\"{VariableName}\" data-guid=\"{RendererDataObject.ID.ToString()}\">"); writer["View"].Indent++; RenderChildren(writer); RenderMonkeyPatches(writer); writer["View"].Indent--; writer.WriteLine("View", $"</div>"); }
public virtual void setRenderer() { nodeRenderer = rendererFactory.getRenderer(baseType); nodeRenderer.instantiate(gameObject); nodeRenderer.register(gameObject); nodeRenderer.render(gameObject); }
public override void Render(HtmlRenderOut writer, ComponentRenderer <HtmlRenderOut> parent = null) { writer.WriteLine("View", $"<a id=\"{VariableName}\" href=\"{RendererDataObject.LinkPath}\" data-guid=\"{RendererDataObject.ID.ToString()}\">"); writer["View"].Indent++; writer.WriteLine("View", $"<img src=\"{RendererDataObject.LinkPath}\">"); writer["View"].Indent++; RenderChildren(writer); RenderMonkeyPatches(writer); writer["View"].Indent--; writer.WriteLine("View", $"</img>"); writer["View"].Indent--; writer.WriteLine("View", $"</a>"); writer.WriteLine("Style", $"#{VariableName}" + "{"); writer["View"].Indent++; writer.WriteLine("Style", $" grid-column-start: {RendererDataObject.X};"); writer.WriteLine("Style", $" grid-column-end: {RendererDataObject.X + RendererDataObject.XSpan + 1};"); writer.WriteLine("Style", $" grid-row-start: {RendererDataObject.Y};"); writer.WriteLine("Style", $" grid-row-end: {RendererDataObject.Y + RendererDataObject.YSpan + 1};"); writer.WriteLine("Style", $" background: {RendererDataObject.BackgroundColor};"); writer["View"].Indent--; writer.WriteLine("Style", "}"); }
protected override void Write(ComponentRenderer renderer, EmphasisInline emphasisInline) { bool isBold = emphasisInline.DelimiterChar == '*' && emphasisInline.DelimiterCount > 1; if (isBold) { renderer.Builder.OpenElement(-1, "div"); renderer.Builder.AddAttribute(-1, "class", "d-inline-flex px-1 py-0 grey lighten-3 rounded"); } renderer.Builder.OpenComponent <MudText>(0); renderer.Builder.AddAttribute(1, "Typo", Typo.body1); renderer.Builder.AddAttribute(2, "Inline", true); string fontStyle = GetFontStyle(emphasisInline.DelimiterChar, emphasisInline.DelimiterCount); renderer.Builder.AddAttribute(3, "Style", fontStyle); string?text = emphasisInline.FirstChild.ToString(); renderer.Builder.AddAttribute(5, "ChildContent", (RenderFragment)(builder => builder.AddContent(6, text)) ); renderer.Builder.CloseComponent(); if (isBold) { renderer.Builder.CloseElement(); } }
/// <summary> /// Draws a tile. /// </summary> private static void DrawTile(Tile tile, Point2D start) { //A target location for 32x textures to be centered in the tile, without being enlarged. X32Target.X = start.X + 16; X32Target.Y = start.Y + 16; ComponentRenderer tileRenderer = tile.GetComponent <ComponentRenderer>(); tileRenderer.Render(MapDrawer, start); TileItemTarget.X = start.X; TileItemTarget.Y = start.Y; DrawItems(tile, TileItemTarget); switch (tile.ImpendingAction) { case MagicalLifeAPI.Entity.AI.Task.ActionSelected.Mine: MapDrawer.Draw(AssetManager.Textures[AssetManager.NameToIndex[TextureLoader.GUIPickaxeMapIcon]], X32Target, RenderLayer.GUI); break; case MagicalLifeAPI.Entity.AI.Task.ActionSelected.Chop: MapDrawer.Draw(AssetManager.Textures[AssetManager.NameToIndex[TextureLoader.GUIAxeMapIcon]], X32Target, RenderLayer.GUI); break; default: //Do nothing. break; } }
public override void Render(XamlRenderOut writer, ComponentRenderer <XamlRenderOut> parent = null) { writer.WriteLine("Xaml", $"<TextBox Grid.Column=\"{RendererDataObject.X}\" Grid.Row=\"{RendererDataObject.Y}\" Grid.ColumnSpan=\"{RendererDataObject.XSpan+1}\" Grid.RowSpan=\"{RendererDataObject.YSpan+1}\" IsReadOnly = \"{RendererDataObject.IsReadOnly}\">"); writer["Xaml"].Indent++; writer.WriteLine("Xaml", RendererDataObject.Text); writer["Xaml"].Indent--; writer.WriteLine("Xaml", $"</TextBox>"); }
public override void Render(XamlRenderOut writer, ComponentRenderer <XamlRenderOut> parent = null) { writer.WriteLine("Xaml", $"<Button Grid.Column=\"{RendererDataObject.X}\" Grid.Row=\"{RendererDataObject.Y}\" Grid.ColumnSpan=\"{RendererDataObject.XSpan + 1}\" Grid.RowSpan=\"{RendererDataObject.YSpan + 1}\">"); writer["Xaml"].Indent++; RenderChildren(writer); writer["Xaml"].Indent--; writer.WriteLine("Xaml", $"</Button>"); }
protected static ComponentRenderer GetRenderer() { ComponentRenderer renderer = new ComponentRenderer(); StaticTexture texture = new StaticTexture(GetTextureID(), RenderLayer.DirtBase); renderer.RenderQueue.Add(texture); return(renderer); }
public override void Render(XamlRenderOut writer, ComponentRenderer <XamlRenderOut> parent = null) { writer.Write("Xaml", $"<Image"); writer.Write("Xaml", $" Grid.Column=\"{RendererDataObject.X}\" Grid.Row=\"{RendererDataObject.Y}\""); writer.Write("Xaml", $" Grid.ColumnSpan=\"{RendererDataObject.XSpan + 1}\" Grid.RowSpan=\"{RendererDataObject.YSpan + 1}\""); writer.Write("Xaml", $" Source=\"{RendererDataObject.LinkPath}\" Stretch=\"{(RendererDataObject.PreserveAspect? "Uniform": "Fill")}\""); writer.WriteLine("Xaml", $"/>"); }
protected override void Write(ComponentRenderer renderer, ThematicBreakBlock breakBlock) { if (breakBlock.ThematicChar == '-') { renderer.Builder.OpenComponent <MudDivider>(0); renderer.Builder.AddAttribute(1, "Class", "my-4"); renderer.Builder.CloseComponent(); } }
protected override void Write(ComponentRenderer renderer, Table table) { renderer.Builder.OpenComponent <MudSimpleTable>(0); renderer.Builder.AddAttribute(1, "Class", "my-2"); renderer.Builder.AddAttribute(2, "FixedHeader", true); renderer.Builder.AddAttribute(3, "Hover", true); // Render table contents using HtmlRenderer and trim the '<table></table>' tag string tableContent = renderer.RenderHtml(table)[8..^ 9];
protected override void Write(ComponentRenderer renderer, ParagraphBlock paragraphBlock) { renderer.Builder.OpenElement(0, "div"); renderer.Builder.AddAttribute(1, "class", "mt-2"); renderer.WriteChildren(paragraphBlock.Inline); renderer.Builder.CloseElement(); }
protected override void Write(ComponentRenderer renderer, CodeInline codeInline) { renderer.Builder.OpenComponent <CodeBlock>(0); renderer.Builder.AddAttribute(1, "Inline", true); renderer.Builder.AddAttribute(2, "Code", codeInline.Content); renderer.Builder.CloseComponent(); }
private void InitializeComponents() { ComponentTillable tillingBehavior = new TillablePercentDone(.02F); ComponentRenderer renderer = this.GetExactComponent <ComponentRenderer>(); this.AddComponent(tillingBehavior); renderer.AddVisual(new StaticTexture(AssetManager.GetTextureIndex(this.GetRandomDirtTexture()), RenderLayer.DirtBase)); }
protected override void Write(ComponentRenderer renderer, QuoteBlock quoteBlock) { renderer.Builder.OpenElement(0, "div"); renderer.Builder.AddAttribute(1, "Class", "my-2 py-2 px-4 mud-elevation-1 rounded grey lighten-4"); renderer.WriteChildren(quoteBlock); renderer.Builder.CloseElement(); }
protected override void Write(ComponentRenderer renderer, AutolinkInline linkInline) { renderer.Builder.OpenComponent <MudLink>(0); renderer.Builder.AddAttribute(1, "Href", linkInline.Url); renderer.Builder.AddAttribute(2, "ChildContent", (RenderFragment)(builder => builder.AddContent(4, linkInline.Url)) ); renderer.Builder.CloseComponent(); }
protected override void Write(ComponentRenderer renderer, MathBlockSyntax mathBlock) { renderer.Builder.OpenComponent <MathBlock>(0); renderer.Builder.AddAttribute(1, "Inline", false); string mathText = mathBlock.Lines.ToString(); renderer.Builder.AddAttribute(2, "MathText", mathText); renderer.Builder.CloseComponent(); }
private HasComponents CreateHasComponents() { HasComponents components = new HasComponents(true); ComponentRenderer renderer = new ComponentRenderer(); renderer.AddVisual(new StaticTexture(9, RenderLayer.DirtBase)); components.AddComponent(new ComponentSelectable(SelectionType.Tile)); components.AddComponent(new DropWhenCompletelyHarvested(new List <Item>(), string.Empty, string.Empty)); components.AddComponent(renderer); return(components); }
public virtual void WritePatch(R renderer, ComponentRenderer <R> componentRenderer) { Component c = componentRenderer.GetType().GetProperty("RendererDataObject").GetValue(componentRenderer) as Component; if (c != null) { foreach (Patch patch in patches) { patch.Apply(renderer, c); } } }
protected override void Write(ComponentRenderer renderer, MathInline mathInline) { renderer.Builder.OpenComponent <MathBlock>(0); renderer.Builder.AddAttribute(1, "Inline", true); string mathText = mathInline.Content.ToString(); renderer.Builder.AddAttribute(2, "MathText", mathText); renderer.Builder.CloseComponent(); }
void RepeatTexture(ComponentRenderer renderer) { if (renderer.RepeatTexture) { GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.Repeat); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.Repeat); } else { GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, (int)All.ClampToEdge); GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, (int)All.ClampToEdge); } }
protected override void Write(ComponentRenderer renderer, CodeBlockSyntax codeBlock) { if (codeBlock is FencedCodeBlock fencedCodeBlock) { renderer.Builder.OpenComponent <CodeBlock>(0); string language = fencedCodeBlock.Info; renderer.Builder.AddAttribute(1, "Language", language); string code = ExtractSourceCode(codeBlock); renderer.Builder.AddAttribute(2, "Code", code); renderer.Builder.CloseComponent(); } }
protected override void Write(ComponentRenderer renderer, LiteralInline literalInline) { renderer.Builder.OpenComponent <MudText>(0); renderer.Builder.AddAttribute(1, "Typo", Typo.body1); renderer.Builder.AddAttribute(2, "Inline", true); string text = literalInline.Content.ToString(); renderer.Builder.AddAttribute(3, "ChildContent", (RenderFragment)(builder => builder.AddContent(4, text)) ); renderer.Builder.CloseComponent(); }
public override void Render(XamlRenderOut writer, ComponentRenderer <XamlRenderOut> parent = null) { writer.WriteLine("CodeBehind", "using System;"); writer.WriteLine("CodeBehind", "using System.Collections.Generic;"); writer.WriteLine("CodeBehind", "using System.Linq;"); writer.WriteLine("CodeBehind", "using System.Text;"); writer.WriteLine("CodeBehind", "using System.Threading.Tasks;"); writer.WriteLine("CodeBehind", "using System.Windows;"); writer.WriteLine("CodeBehind", "using System.Windows.Controls;"); writer.WriteLine("CodeBehind", "using System.Windows.Data;"); writer.WriteLine("CodeBehind", "using System.Windows.Documents;"); writer.WriteLine("CodeBehind", "using System.Windows.Input;"); writer.WriteLine("CodeBehind", "using System.Windows.Media;"); writer.WriteLine("CodeBehind", "using System.Windows.Media.Imaging;"); writer.WriteLine("CodeBehind", "using System.Windows.Navigation;"); writer.WriteLine("CodeBehind", "using System.Windows.Shapes;"); writer.WriteLine("CodeBehind", ""); writer.WriteLine("CodeBehind", "namespace Wpf_RenderTest {"); writer["CodeBehind"].Indent++; writer.WriteLine("CodeBehind", "public partial class " + "MainWindow" + ": Window{"); writer["CodeBehind"].Indent++; writer.WriteLine("CodeBehind", "public " + "MainWindow" + "(){"); writer["CodeBehind"].Indent++; writer.WriteLine("CodeBehind", "InitializeComponent();"); writer["CodeBehind"].Indent--; writer.WriteLine("CodeBehind", "}"); writer["CodeBehind"].Indent--; writer.WriteLine("Xaml", "<Window x:Class=\"Wpf_RenderTest.MainWindow\""); writer.WriteLine("Xaml", " xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\""); writer.WriteLine("Xaml", " xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\""); writer.WriteLine("Xaml", " xmlns:d=\"http://schemas.microsoft.com/expression/blend/2008\""); writer.WriteLine("Xaml", " xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\""); writer.WriteLine("Xaml", " xmlns:local=\"clr -namespace:Wpf_RenderTest\""); writer.WriteLine("Xaml", " mc:Ignorable=\"d\""); writer.WriteLine("Xaml", " Title=\"MainWindow\" Height=\"450\" Width=\"800\">"); writer["Xaml"].Indent++; RenderChildren(writer); writer["Xaml"].Indent--; writer.WriteLine("Xaml", "</Window>"); writer.WriteLine("CodeBehind", "}"); writer["CodeBehind"].Indent--; writer.WriteLine("CodeBehind", "}"); }
/// <summary> /// Swaps the old visuals with the new. /// Can handle null inputs. /// </summary> /// <param name="oldVisual">Should have a <see cref="ComponentHasTexture"/> component.</param> /// <param name="newVisual">Should have a <see cref="ComponentHasTexture"/> component.</param> private void UpdateVisuals(HasComponents oldVisual, HasComponents newVisual) { ComponentRenderer renderComponent = this.GetExactComponent <ComponentRenderer>(); if (oldVisual != null) { //Remove old visuals ComponentHasTexture oldTextureComponent = oldVisual.GetExactComponent <ComponentHasTexture>(); renderComponent.RemoveVisuals(oldTextureComponent.Visuals); } if (newVisual != null) { //Add new visuals ComponentHasTexture newTextureComponent = newVisual.GetExactComponent <ComponentHasTexture>(); renderComponent.AddVisuals(newTextureComponent.Visuals); } }
public override void Render(XamlRenderOut writer, ComponentRenderer <XamlRenderOut> parent = null) { //writer.WriteLine("CodeBehind", "Grid " + VariableName + " = new Grid();"); //writer.WriteLine("CodeBehind", VariableName + ".ShowGridLines = true;"); //writer.WriteLine("CodeBehind", "for(int x = 0; x < " + RendererDataObject.X + "; x++) {"); //writer["CodeBehind"].Indent++; // writer.WriteLine("CodeBehind", "ColumnDefinition gridCol = new ColumnDefinition();"); // writer.WriteLine("CodeBehind", "for(int y = 0; y < " + RendererDataObject.Y + "; y++) {"); // writer["CodeBehind"].Indent++; // writer.WriteLine("CodeBehind", "RowDefinition gridRow = new RowDefinition();"); // //writer.WriteLine("CodeBehind", "gridRow.Height = new GridLength(45);"); // writer.WriteLine("CodeBehind", VariableName + ".RowDefinitions.Add(gridRow);"); // writer["CodeBehind"].Indent--; // writer.WriteLine("CodeBehind", "}"); //writer["CodeBehind"].Indent--; //writer.WriteLine("CodeBehind", VariableName + ".ColumnDefinitions.Add(gridCol1); "); //writer.WriteLine("CodeBehind", "}"); ////writer.WriteLine("View", $@"<p>"); ////writer["CodeBehind"].Indent++; writer.WriteLine("Xaml", $"<Grid>"); writer["Xaml"].Indent++; writer.WriteLine("Xaml", $"<Grid.ColumnDefinitions>"); writer["Xaml"].Indent++; for (int i = 0; i < RendererDataObject.X; i++) { writer.WriteLine("Xaml", $"<ColumnDefinition Width=\"*\"/>"); } writer["Xaml"].Indent--; writer.WriteLine("Xaml", $"</Grid.ColumnDefinitions>"); writer.WriteLine("Xaml", $"<Grid.RowDefinitions>"); writer["Xaml"].Indent++; for (int i = 0; i < RendererDataObject.Y; i++) { writer.WriteLine("Xaml", $"<RowDefinition Height=\"*\"/>"); } writer["Xaml"].Indent--; writer.WriteLine("Xaml", $"</Grid.RowDefinitions>"); RenderChildren(writer); writer["Xaml"].Indent--; writer.WriteLine("Xaml", "</Grid>"); }
public override void Render(HtmlRenderOut writer, ComponentRenderer <HtmlRenderOut> parent = null) { writer.WriteLine("Style", $"#{VariableName}" + "{"); writer["View"].Indent++; writer.WriteLine("Style", $" background: {RendererDataObject.BackgroundColor};"); writer.WriteLine("Style", $" min-height: 200px;"); writer["View"].Indent--; writer.WriteLine("Style", "}"); writer.WriteLine("View", $"<div id=\"{VariableName}\" data-guid=\"{RendererDataObject.ID.ToString()}\">"); writer["View"].Indent++; RenderChildren(writer); RenderMonkeyPatches(writer); writer["View"].Indent--; writer.WriteLine("View", $"</div>"); }
public async Task ExecuteAsync_RendersWebAssemblyStateImplicitlyWhenAWebAssemblyComponentWasPrerendered() { // Arrange var tagHelper = new PersistComponentStateTagHelper { ViewContext = GetViewContext() }; ComponentRenderer.UpdateSaveStateRenderMode(tagHelper.ViewContext, RenderMode.WebAssemblyPrerendered); var context = GetTagHelperContext(); var output = GetTagHelperOutput(); // Act await tagHelper.ProcessAsync(context, output); // Assert var content = HtmlContentUtilities.HtmlContentToString(output.Content); Assert.Equal("<!--Blazor-Component-State:e30=-->", content); Assert.Null(output.TagName); }