public void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary <string, object> documentHost, object model) { var value = "html"; //default value of "html" var parameter = statement.Parameters.FirstOrDefault(); if (parameter != null) { Type modelType = model != null?model.GetType() : null; var modelValueProvider = Host.ModelValueProviderFactory.Get(modelType); object result; if (modelValueProvider.GetValue(documentHost, model, statement.Parameters[0].Value, out result)) { value = result.ToString(); } } if (_docTypes.ContainsKey(value)) { value = _docTypes[value](); } documentHost.Add("doctype", value); writer.Write(string.Format("<!DOCTYPE {0}>", value)); }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { //get the parameter var partial = GetLocalModel(documentHost, statement, model) as string; if (string.IsNullOrEmpty(partial)) { throw new ArgumentNullException("partial"); } //ok...we need to load the layoutpage //then pass the node's children into the layout page //then return the result var engine = (Host as AspNetHost).ViewEngine; var result = engine.FindView(null, partial, null, false); if (result != null) { var parrotView = (result.View as ParrotView); using (var stream = parrotView.LoadStream()) { var document = parrotView.LoadDocument(stream); DocumentView view = new DocumentView(Host, rendererFactory, documentHost, document); view.Render(writer); } } }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { //get the parameter List<object> parameters = new List<object>() { writer, documentHost }; if (statement.Parameters != null && statement.Parameters.Any()) { //assume only the first is the path //second is the argument (model) //TODO: fix this parameters.AddRange((List<object>)GetLocalModel(documentHost, statement, model)); } else { //layout = "_layout"; throw new InvalidOperationException("Missing parameters"); } var call = _renderAction.SingleOrDefault(r => r.GetParameters().Count() == parameters.Count); if (call != null) { call.Invoke(this, parameters.ToArray()); } else { //throw an exception } }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { var localModel = GetLocalModel(documentHost, statement, model); //Assert that we're looping over something IEnumerable loop = localModel as IEnumerable; if (loop == null) { throw new InvalidCastException("model is not IEnumerable"); } //create a local copy IList<object> items = ToList(loop); //create locals object to handle local values to the method Locals locals = new Locals(documentHost); for (int i = 0; i < items.Count; i++) { var item = items[i]; foreach (var child in statement.Children) { var renderer = rendererFactory.GetRenderer(child.Name); locals.Push(IteratorItem(i, items)); renderer.Render(writer, rendererFactory, child, documentHost, item); locals.Pop(); } } }
public void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { var value = "html"; //default value of "html" var parameter = statement.Parameters.FirstOrDefault(); if (parameter != null) { Type modelType = model != null ? model.GetType() : null; var modelValueProvider = Host.ModelValueProviderFactory.Get(modelType); object result; if (modelValueProvider.GetValue(documentHost, model, statement.Parameters[0].Value, out result)) { value = result.ToString(); } } if (_docTypes.ContainsKey(value)) { value = _docTypes[value](); } documentHost.Add("doctype", value); writer.Write(string.Format("<!DOCTYPE {0}>", value)); }
public override void RenderChildren(IParrotWriter writer, Nodes.Statement statement, IRendererFactory rendererFactory, IDictionary<string, object> documentHost, object model, string defaultTag = null) { if (string.IsNullOrEmpty(defaultTag)) { defaultTag = DefaultChildTag; } //get model from parameter //required - do not remove if (statement.Parameters != null && statement.Parameters.Count == 1) { var localModel = GetLocalModel(documentHost, statement, model); if (localModel is IEnumerable) { //create locals object to handle local values to the method Locals locals = new Locals(documentHost); IList<object> items = ToList(model as IEnumerable); for (int i = 0; i < items.Count; i++) { var localItem = items[i]; locals.Push(IteratorItem(i, items)); base.RenderChildren(writer, statement.Children, rendererFactory, documentHost, defaultTag, localItem); locals.Pop(); } } } else { base.RenderChildren(writer, statement.Children, rendererFactory, documentHost, defaultTag, model); } }
public DocumentView(IHost host, IRendererFactory rendererFactory, IDictionary<string, object> documentHost, Document document) { DocumentHost = documentHost; _host = host; _rendererFactory = rendererFactory; _document = document; }
/// <summary> /// Initializes a new instance of the <see cref="ReportBuilder"/> class. /// </summary> /// <param name="parser">The IParser to use.</param> /// <param name="rendererFactory">The renderer factory.</param> /// <param name="targetDirectory">The directory where the generated report should be saved.</param> /// <param name="assemblyFilter">The assembly filter.</param> public ReportBuilder(IParser parser, IRendererFactory rendererFactory, string targetDirectory, IAssemblyFilter assemblyFilter) { if (parser == null) { throw new ArgumentNullException("parser"); } if (rendererFactory == null) { throw new ArgumentNullException("rendererFactory"); } if (targetDirectory == null) { throw new ArgumentNullException("targetDirectory"); } if (assemblyFilter == null) { throw new ArgumentNullException("assemblyFilter"); } this.parser = parser; this.rendererFactory = rendererFactory; this.targetDirectory = targetDirectory; this.assemblyFilter = assemblyFilter; }
public void doLayerCompose(Bitmap below, IView2D view, IRenderer r) { r.DrawImage(below, 0, 0); if (Visable) { IRenderer r2 = IRendererFactory.GetPreferredRenderer(new Bitmap(below.Width, below.Height)); Render(view, r2); Bitmap thisLayer = r2.RenderTargetAsGDIBitmap(); switch (ComposeMode) { case ComposeModes.Normal: if (Opacity < 1) { Bitmap thisLayerScaled = thisLayer.MultiplyOpacity(Opacity); r.DrawImage(thisLayerScaled, 0, 0); } else { r.DrawImage(thisLayer, 0, 0); } break; case ComposeModes.Multiply: goto case ComposeModes.Normal; //TODO: ignoring ComposeModes for now case ComposeModes.Difference: goto case ComposeModes.Normal; //TODO: ignoring ComposeModes for now } //TODO: ignoring ComposeModes for now } }
private static Bitmap mapToIsoMetric(Bitmap b, IsoMetricTileGenerationSettings settings) { int newWidth = (int)Math.Ceiling(Math.Sqrt(2 * (Math.Pow(Math.Max(b.Width, b.Height), 2)))); //keep the width even if ((newWidth % 2) != 0) { newWidth++; } int newHeight = newWidth; int halfNewWidth = newWidth / 2; int halfNewHeight = newWidth / 2; IRenderer r = IRendererFactory.GetPreferredRenderer(newWidth, newHeight); TransMatrix2D rot = TransMatrix2D.FromRotation(Math.PI / 4.0, new Point2D(halfNewWidth, halfNewHeight)); r.SetTransform(rot); r.DrawImage(b, halfNewWidth - (b.Width / 2) + 1, halfNewHeight - (b.Height / 2) + 1); Bitmap rotated = r.RenderTargetAsGDIBitmap(); //apply squash if (Math.Abs(settings.HeightRatio) > 0.0001) { //return new Bitmap(rotated, rotated.Width, rotated.Height / 2); return(new Bitmap(rotated, b.Width, b.Height / 2)); } return(rotated); }
public static IXwtRender TryLoad(ToolkitType type, out IRendererFactory renderfactory) { /* switch (OSPlatform) * { * case PlatformID.MacOSX: * return TryLoad("XamMac", type, out renderfactory); * * default:*/ switch (type) { case ToolkitType.XamMac: return(TryLoad("XamMac", type, out renderfactory)); case ToolkitType.Wpf: return(TryLoad("WPF", type, out renderfactory)); case ToolkitType.Gtk: case ToolkitType.Gtk3: return(TryLoad("GTK", type, out renderfactory)); } /* break; * }*/ throw new NotImplementedException(); }
private Bitmap renderMazeAsImage(bool systemDPI = false) { if (maze == null) { return(null); } int gap = 32; Rectangle renderBounds = new Rectangle(gap, gap, maze.TotalSizeInPixels.Width, maze.TotalSizeInPixels.Height); IRenderer r = IRendererFactory.GetPreferredRenderer(renderBounds.Width + (gap * 2), renderBounds.Height + (gap * 2)); r.Clear(maze.FillColor); maze.Render(r, renderBounds); if (currentPath != null) { maze.renderPath(r, renderBounds, currentPath); } if (currentMazeMask != null) { maze.renderMask(r, renderBounds, currentMazeMask); } Bitmap b = r.RenderTargetAsGDIBitmap(); if (!systemDPI) { b.SetResolution((float)maze.DPI, (float)maze.DPI); } return(b); }
public void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { var modelValueProviderFactory = _host.ModelValueProviderFactory; string result = ""; if (statement is StringLiteral) { foreach (var value in (statement as StringLiteral).Values) { result += GetModelValue( modelValueProviderFactory, documentHost, model, value.Type, value.Data ); } } else { result = GetModelValue(modelValueProviderFactory, documentHost, model, StringLiteralPartType.Encoded, statement.Name); } writer.Write(result); }
public void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary <string, object> documentHost, object model) { var modelValueProviderFactory = _host.ModelValueProviderFactory; string result = ""; if (statement is StringLiteral) { foreach (var value in (statement as StringLiteral).Values) { result += GetModelValue( modelValueProviderFactory, documentHost, model, value.Type, value.Data ); } } else { result = GetModelValue(modelValueProviderFactory, documentHost, model, StringLiteralPartType.Encoded, statement.Name); } writer.Write(result); }
public DocumentView(IHost host, IRendererFactory rendererFactory, IDictionary <string, object> documentHost, Document document) { DocumentHost = documentHost; _host = host; _rendererFactory = rendererFactory; _document = document; }
public Canvas3D(MainWindow window) { this.owner = window; this.RenderFactory = window.RenderFactory; this.XwtRender = window.XwtRender; this.Xwt = window.Xwt; }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary <string, object> documentHost, object model) { var localModel = GetLocalModel(documentHost, statement, model); //Assert that we're looping over something IEnumerable loop = localModel as IEnumerable; if (loop == null) { throw new InvalidCastException("model is not IEnumerable"); } //create a local copy IList <object> items = ToList(loop); //create locals object to handle local values to the method Locals locals = new Locals(documentHost); for (int i = 0; i < items.Count; i++) { var item = items[i]; foreach (var child in statement.Children) { var renderer = rendererFactory.GetRenderer(child.Name); locals.Push(IteratorItem(i, items)); renderer.Render(writer, rendererFactory, child, documentHost, item); locals.Pop(); } } }
public override void Render(Parrot.Infrastructure.IParrotWriter writer, IRendererFactory rendererFactory, Nodes.Statement statement, IDictionary <string, object> documentHost, object model) { var localModel = GetLocalModel(documentHost, statement, model); if (localModel is bool && (bool)localModel) { RenderChildren(writer, statement.Children, rendererFactory, documentHost, base.DefaultChildTag, model); } }
public override void Render(Parrot.Infrastructure.IParrotWriter writer, IRendererFactory rendererFactory, Nodes.Statement statement, IDictionary<string, object> documentHost, object model) { var localModel = GetLocalModel(documentHost, statement, model); if (localModel is bool && (bool)localModel) { RenderChildren(writer, statement.Children, rendererFactory, documentHost, base.DefaultChildTag, model); } }
public Canvas3D(MainWindow window) { this.RenderFactory = window.Renderfactory; this.XwtRender = window.XwtRender; this.Xwt = window.Xwt; base.BackgroundColor = global::Xwt.Drawing.Colors.DarkGreen; base.MinWidth = base.MinHeight = 100; }
public void SetRendererFactory(IRendererFactory rendererFactory = null) { if (rendererFactory == null) { rendererFactory = new NullRendererFactory(); } m_rendererFactory = rendererFactory; m_rendererFactory.Init(this); }
public opentkdoc(IRendererFactory factory, IXwtRender xwtrender, IXwt xwt) { this.xwtrender = xwtrender; this.xwt = xwt; this.factory = factory; base.BackgroundColor = Colors.Black; base.MinWidth = base.MinHeight = 100; }
public WindowFactory(IRendererFactory rendererFactory, IResourceManager resourceManager, ISceneReader sceneReader) { if (rendererFactory == null) throw new ArgumentNullException("rendererFactory"); if (resourceManager == null) throw new ArgumentNullException("resourceManager"); if (sceneReader == null) throw new ArgumentNullException("sceneReader"); _rendererFactory = rendererFactory; _resourceManager = resourceManager; _sceneReader = sceneReader; }
public XamMac(out IRendererFactory rendererFactory) : base() { rendererFactory = new FrameFactory(() => /*CGLGetCurrentContext()*/ NSOpenGLContext.CurrentContext?.CGLContext.Handle ?? IntPtr.Zero); Application.Initialize(ToolkitType.XamMac); // NSApplication.Initialize(); // Problem: This does not allow creating a separate app and using CocoaNativeWindow. }
public InstrumentFactory( InstrumentStateSnapshotCache instrumentStateSnapshotCache = null, IRendererFactory rendererFactory = null, IPerformanceCounterInstanceFactory performanceCounterInstanceFactory = null) { _instrumentStateSnapshotCache = instrumentStateSnapshotCache ?? new InstrumentStateSnapshotCache(); _rendererFactory = rendererFactory ?? new RendererFactory(); _performanceCounterInstanceFactory = performanceCounterInstanceFactory ?? new PerformanceCounterInstanceInstanceFactory(); }
protected override void CreateTag(IParrotWriter writer, IRendererFactory rendererFactory, IDictionary<string, object> documentHost, object model, Statement statement) { string tagName = string.IsNullOrWhiteSpace(statement.Name) ? DefaultChildTag : statement.Name; TagBuilder builder = new TagBuilder(tagName); //add attributes RenderAttributes(rendererFactory, documentHost, model, statement, builder); writer.Write(builder.ToString(TagRenderMode.SelfClosing)); }
public ParrotView(IHost host, IRendererFactory rendererFactory, ParrotViewLocator parrotViewLocator, Func<TextReader> contents, IParrotWriter writer) { _host = host; _rendererFactory = rendererFactory; _parrotViewLocator = parrotViewLocator; _contents = contents; _writer = writer; _rendererFactory.RegisterFactory(new LayoutRenderer(_host, _parrotViewLocator)); }
public RenderService( ConfigService configService, IRepositoryPullService pullService, IRendererFactory rendererFactory) { this.configService = configService; this.pullService = pullService; this.rendererFactory = rendererFactory; this.pullService.RepositoryChanged += RepositoryChanged; }
public LWF(Data lwfData, IRendererFactory r) #endif { m_data = lwfData; interactive = m_data.buttonConditions.Length > 0; m_frameRate = m_data.header.frameRate; m_execLimit = 3; m_frameSkip = true; m_tick = 1.0f / m_frameRate; m_roundOffTick = m_tick * ROUND_OFF_TICK_RATE; m_attachVisible = true; m_interceptByNotAllowOrDenyButtons = true; m_intercepted = false; scaleByStage = 1.0f; m_needsUpdate = false; m_needsUpdateForAttachLWF = false; m_pointX = Single.MinValue; m_pointY = Single.MinValue; m_pressing = false; m_instanceId = ++m_instanceOffset; m_alive = true; #if LWF_USE_LUA m_luaState = l; m_instanceIdString = instanceId.ToString(); InitLua(); #endif if (!interactive && m_data.frames.Length == 1) { DisableExec(); } m_property = new Property(this); m_instances = new IObject[m_data.instanceNames.Length]; InitEvent(); m_movieCommands = new MovieCommands(); m_programObjectConstructors = new ProgramObjectConstructor[m_data.programObjects.Length]; m_textDictionary = new TextDictionary(); m_matrix = new Matrix(); m_matrixIdentity = new Matrix(); m_execMatrix = new Matrix(); m_colorTransform = new ColorTransform(); m_colorTransformIdentity = new ColorTransform(); m_execColorTransform = new ColorTransform(); m_blendModes = new BlendModes(); m_maskModes = new MaskModes(); Init(); SetRendererFactory(r); }
protected override void CreateTag(IParrotWriter writer, IRendererFactory rendererFactory, IDictionary <string, object> documentHost, object model, Statement statement) { string tagName = string.IsNullOrWhiteSpace(statement.Name) ? DefaultChildTag : statement.Name; TagBuilder builder = new TagBuilder(tagName); //add attributes RenderAttributes(rendererFactory, documentHost, model, statement, builder); writer.Write(builder.ToString(TagRenderMode.SelfClosing)); }
private static Bitmap addBorder(Bitmap b, IsoMetricTileGenerationSettings settings) { int margin = settings.BorderSize; int newWidth = b.Width + (margin * 2); int newHeight = b.Width + (margin * 2); IRenderer r = IRendererFactory.GetPreferredRenderer(newWidth, newHeight); switch (settings.BorderProtection) { case IsoMetricTileGenerationSettings.IsoMetricBorderProtection.RepeatEdge: //draw top edge streched across top margin Rectangle srcEdge = new Rectangle(0, 0, b.Width, 1); Rectangle destRect = new Rectangle(margin, 0, b.Width, margin); r.DrawImage(b, destRect, srcEdge); //r.FillRectangle(Color.Red, destRect); //draw bottom edge srcEdge = new Rectangle(0, b.Height - 1, b.Width, 1); destRect = new Rectangle(margin, b.Height + margin, b.Width, margin); r.DrawImage(b, destRect, srcEdge); //r.FillRectangle(Color.Red, destRect); //draw left edge srcEdge = new Rectangle(0, 0, 1, b.Height); destRect = new Rectangle(0, margin, margin, b.Height); r.DrawImage(b, destRect, srcEdge); //r.FillRectangle(Color.Red, destRect); //draw right edge srcEdge = new Rectangle(b.Width - 1, 0, 1, b.Height); destRect = new Rectangle(b.Width + margin, margin, margin, b.Height); r.DrawImage(b, destRect, srcEdge); //r.FillRectangle(Color.Red, destRect); //draw corners int xPos = margin + b.Width; int yPos = margin + b.Height; r.FillRectangle(b.GetPixel(0, 0), new Rectangle(0, 0, margin, margin)); r.FillRectangle(b.GetPixel(b.Width - 1, 0), new Rectangle(xPos, 0, margin, margin)); r.FillRectangle(b.GetPixel(0, b.Height - 1), new Rectangle(0, yPos, margin, margin)); r.FillRectangle(b.GetPixel(b.Width - 1, b.Height - 1), new Rectangle(xPos, yPos, margin, margin)); //draw original image r.DrawImage(b, margin, margin); break; case IsoMetricTileGenerationSettings.IsoMetricBorderProtection.MirrorAboutEdge: break; case IsoMetricTileGenerationSettings.IsoMetricBorderProtection.ToroidalWrap: break; } return(r.RenderTargetAsGDIBitmap()); }
private string GetType(Statement statement, IRendererFactory rendererFactory, IDictionary<string, object> documentHost, object model) { for (int i = 0; i < statement.Attributes.Count; i++) { if (statement.Attributes[i].Key.Equals("type", StringComparison.OrdinalIgnoreCase)) { return RenderAttribute(statement.Attributes[i], rendererFactory, documentHost, model); } } return "hidden"; }
/// <summary> /// Render content based on its <see cref="Raw"/> and <see cref="RenderConfigs"/>. /// </summary> /// <param name="renderFactory">The <see cref="IRendererFactory"/> to produce renderers.</param> /// <returns>A <see cref="Task"/> when render completes.</returns> public async Task RenderAsync(IRendererFactory renderFactory) { var renderItem = Raw; foreach (var config in RenderConfigs.OrderBy(r => r.Order)) { var renderer = renderFactory.CreateRenderer(config.RendererId); renderItem = await renderer.RenderAsync(renderItem, config.RendererData); } Content = renderItem; }
protected void RenderChildren(IParrotWriter writer, StatementList children, IRendererFactory rendererFactory, IDictionary <string, object> documentHost, string defaultTag, object model) { Func <string, string> tagName = s => string.IsNullOrEmpty(s) ? defaultTag : s; foreach (var child in children) { child.Name = tagName(child.Name); var renderer = rendererFactory.GetRenderer(child.Name); renderer.Render(writer, rendererFactory, child, documentHost, model); } }
private string GetType(Statement statement, IRendererFactory rendererFactory, IDictionary <string, object> documentHost, object model) { for (int i = 0; i < statement.Attributes.Count; i++) { if (statement.Attributes[i].Key.Equals("type", StringComparison.OrdinalIgnoreCase)) { return(RenderAttribute(statement.Attributes[i], rendererFactory, documentHost, model)); } } return("hidden"); }
public GTK(out IRendererFactory render, bool initialize) { if (System.Environment.OSVersion.Platform == PlatformID.Unix || System.Environment.OSVersion.Platform == PlatformID.MacOSX) { impl = new X11(out render); } else { impl = new Windows(out render); } }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { var childrenQueue = documentHost.GetValueOrDefault(LayoutRenderer.LayoutChildren) as Queue<StatementList>; if (childrenQueue == null) { //TODO: replace this with a real exception throw new Exception("Children elements empty"); } var children = childrenQueue.Dequeue(); RenderChildren(writer, children, rendererFactory, documentHost, DefaultChildTag, model); }
public Game(IRendererFactory renderFactory) { GameMode = GameModes.Play; this.renderFactory = renderFactory; Level = new Level.Level(this, renderFactory.LevelRenderer); Robot = new Robot.Robot(this, renderFactory.RobotRenderer); HUD = new Hud(this, renderFactory.HudRenderer, renderFactory.CommandBarRenderer, renderFactory.CommandMainProgramRenderer, renderFactory.FunctionOneRenderer, renderFactory.FunctionTwoRenderer, renderFactory.HudIconFactory); MainProgram = new CommandList(this); FunctionOneCommands = new CommandList(this); FunctionTwoCommands = new CommandList(this); CommandFactory.GameHandler = this; Position = new RobotPosition(this); }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { //get the parameter List<string> parameters = new List<string>(); if (statement.Parameters != null && statement.Parameters.Any()) { //assume only the first is the path //second is the argument (model) //TODO: fix this //statement.Parameters[0].Value; parameters.AddRange(statement.Parameters.Select(p => p.CalculatedValue)); documentHost.Add(parameters[0], parameters[1]); } }
public MainWindow(IRendererFactory renderfactory, IXwtRender xwtrender, IXwt xwt) { this.Renderfactory = renderfactory; this.XwtRender = xwtrender; this.Xwt = xwt; this.Content = new Canvas3D(this) { MinWidth = 100, MinHeight = 100, HorizontalPlacement = WidgetPlacement.Fill, VerticalPlacement = WidgetPlacement.Fill, ExpandHorizontal = true, ExpandVertical = true }; }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { string layout = ""; if (statement.Parameters != null && statement.Parameters.Any()) { Type modelType = model != null ? model.GetType() : null; var modelValueProvider = Host.ModelValueProviderFactory.Get(modelType); //var parameterLayout = GetLocalModelValue(documentHost, statement, modelValueProvider, model) ?? "_layout"; var parameterLayout = GetLocalModel(documentHost, statement, model) ?? "_layout"; //assume only the first is the path //second is the argument (model) layout = parameterLayout.ToString(); } //ok...we need to load the view //then pass the model to it and //then return the result var result = _parrotViewLocator.LocateView(layout); if (result != null) { var parrotView = new ParrotView(_host, rendererFactory, _parrotViewLocator, result.Contents, writer); string contents = result.Contents().ReadToEnd(); var document = parrotView.LoadDocument(contents); //Create a new DocumentView and DocumentHost if (!documentHost.ContainsKey("_LayoutChildren_")) { documentHost.Add("_LayoutChildren_", new Queue<StatementList>()); } (documentHost["_LayoutChildren_"] as Queue<StatementList>).Enqueue(statement.Children); DocumentView view = new DocumentView(_host, rendererFactory, documentHost, document); view.Render(writer); } else { throw new Exception(string.Format("Layout {0} could not be found", layout)); } }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary <string, object> documentHost, object model) { var localModel = GetLocalModel(documentHost, statement, model); string statementToOutput = "default"; if (localModel != null) { statementToOutput = localModel.ToString(); } //check that there is a parameter foreach (var child in statement.Children) { string value; var valueWriter = Host.CreateWriter(); //get string value var renderer = rendererFactory.GetRenderer(child.Name); if (renderer is StringLiteralRenderer) { renderer.Render(valueWriter, rendererFactory, child, documentHost, model); value = valueWriter.Result(); } else { value = child.Name; } if (value.Equals(statementToOutput, StringComparison.OrdinalIgnoreCase)) { //render only the child RenderChildren(writer, child, rendererFactory, documentHost, model); return; } } var defaultChild = statement.Children.SingleOrDefault(s => s.Name.Equals("default", StringComparison.OrdinalIgnoreCase)); if (defaultChild != null) { RenderChildren(writer, defaultChild, rendererFactory, documentHost, model); } }
public Bitmap Render(Size flagSize) { IRenderer g = IRendererFactory.GetPreferredRenderer(flagSize.Width, flagSize.Height); g.SetHighQuality(false); //draw feild g.FillRectangle(FieldCol, 0, 0, flagSize.Width, flagSize.Height); //draw layers foreach (var layerInfo in FlagLayers) { //render image Bitmap b = layerInfo.Item1.RenderImage(layerInfo.Item2, flagSize); g.DrawImage(b, 0, 0); } return(g.RenderTargetAsGDIBitmap()); }
public WindowFactory(IRendererFactory rendererFactory, IResourceManager resourceManager, ISceneReader sceneReader) { if (rendererFactory == null) { throw new ArgumentNullException("rendererFactory"); } if (resourceManager == null) { throw new ArgumentNullException("resourceManager"); } if (sceneReader == null) { throw new ArgumentNullException("sceneReader"); } _rendererFactory = rendererFactory; _resourceManager = resourceManager; _sceneReader = sceneReader; }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { var localModel = GetLocalModel(documentHost, statement, model); string statementToOutput = "default"; if (localModel != null) { statementToOutput = localModel.ToString(); } //check that there is a parameter foreach (var child in statement.Children) { string value; var valueWriter = Host.CreateWriter(); //get string value var renderer = rendererFactory.GetRenderer(child.Name); if (renderer is StringLiteralRenderer) { renderer.Render(valueWriter, rendererFactory, child, documentHost, model); value = valueWriter.Result(); } else { value = child.Name; } if (value.Equals(statementToOutput, StringComparison.OrdinalIgnoreCase)) { //render only the child RenderChildren(writer, child, rendererFactory, documentHost, model); return; } } var defaultChild = statement.Children.SingleOrDefault(s => s.Name.Equals("default", StringComparison.OrdinalIgnoreCase)); if (defaultChild != null) { RenderChildren(writer, defaultChild, rendererFactory, documentHost, model); } }
public override Bitmap RenderImage(LayerSettings ls, Size flagSize) { //draw crest IRenderer g = IRendererFactory.GetPreferredRenderer(flagSize.Width, flagSize.Height); int xPos = 0; int yPos = 0; int newHeight = flagSize.Height / 3; int newWidth = (int)((newHeight / (double)Image.Height) * Image.Width); //maintain aspect ratio double ratio; switch (ls.crestPosition) { case CrestPositions.Central: ratio = ls.nominalSize / (double)Math.Max(Image.Width, Image.Height); newWidth = (int)(Image.Width * ratio); newHeight = (int)(Image.Height * ratio); xPos = (flagSize.Width / 2) - (newWidth / 2); yPos = (flagSize.Height / 2) - (newHeight / 2); break; case CrestPositions.TopLeft: xPos = 0; yPos = 0; break; case CrestPositions.Left: newHeight = (int)(flagSize.Height * 0.75); newWidth = (int)((newHeight / (double)Image.Height) * Image.Width); //maintain aspect ratio xPos = 0; yPos = (flagSize.Height / 2) - (newHeight / 2); break; default: break; } int blue = Color.Blue.ToArgb(); Bitmap b = (Bitmap)Image.Clone(); FlagGenerator.recolorImage(b, blue, ls.Color); g.DrawImage(b, xPos, yPos, newWidth, newHeight); return(g.RenderTargetAsGDIBitmap()); }
public void Destroy() { m_rootMovie.Destroy(); #if LWF_USE_LUA DestroyLua(); #endif if (m_rendererFactory != null) { m_rendererFactory.Destruct(); m_rendererFactory = null; } m_alive = false; if (lwfUnloader != null) { lwfUnloader(); } }
protected virtual void CreateTag(IParrotWriter writer, IRendererFactory rendererFactory, IDictionary<string, object> documentHost, object model, Statement statement) { string tagName = string.IsNullOrWhiteSpace(statement.Name) ? DefaultChildTag : statement.Name; TagBuilder builder = new TagBuilder(tagName); //add attributes RenderAttributes(rendererFactory, documentHost, model, statement, builder); //AppendAttributes(builder, statement.Attributes, documentHost, modelValueProvider); writer.Write(builder.ToString(TagRenderMode.StartTag)); //render children if (statement.Children.Count > 0) { RenderChildren(writer, statement, rendererFactory, documentHost, model); } writer.Write(builder.ToString(TagRenderMode.EndTag)); }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { string layout = ""; if (statement.Parameters != null && statement.Parameters.Any()) { Type modelType = model != null ? model.GetType() : null; var modelValueProvider = Host.ModelValueProviderFactory.Get(modelType); var parameterLayout = GetLocalModel(documentHost, statement, model) ?? "_layout"; //assume only the first is the path //second is the argument (model) layout = parameterLayout.ToString(); } //ok...we need to load the view //then pass the model to it and //then return the result var engine = (Host as AspNetHost).ViewEngine; var result = engine.FindView(null, layout, null, false); if (result != null) { var parrotView = (result.View as ParrotView); using (var stream = parrotView.LoadStream()) { var document = parrotView.LoadDocument(stream); //Create a new DocumentView and DocumentHost if (!documentHost.ContainsKey(LayoutChildren)) { documentHost.Add(LayoutChildren, new Queue<StatementList>()); } (documentHost[LayoutChildren] as Queue<StatementList>).Enqueue(statement.Children); DocumentView view = new DocumentView(Host, rendererFactory, documentHost, document); view.Render(writer); } } }
public void BeforeRender(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { //process parameters if (statement.Parameters != null && statement.Parameters.Any()) { foreach (var parameter in statement.Parameters) { if (parameter.Value != null && ((parameter.Value.StartsWith("\"") && parameter.Value.EndsWith("\"")) || (parameter.Value.StartsWith("'") && parameter.Value.EndsWith("'")))) { var stringLiteral = new StringLiteral(parameter.Value); var renderer = rendererFactory.GetRenderer("string"); var w = new StandardWriter(); { renderer.Render(w, rendererFactory, stringLiteral, documentHost, model); } parameter.CalculatedValue = w.Result(); } } } }
public virtual void RenderChildren(IParrotWriter writer, Statement statement, IRendererFactory rendererFactory, IDictionary<string, object> documentHost, object model, string defaultTag = null) { if (string.IsNullOrEmpty(defaultTag)) { defaultTag = DefaultChildTag; } if (model is IEnumerable && statement.Parameters.Any()) { foreach (object item in model as IEnumerable) { var localItem = item; RenderChildren(writer, statement.Children, rendererFactory, documentHost, defaultTag, localItem); } } else { RenderChildren(writer, statement.Children, rendererFactory, documentHost, defaultTag, model); } }
protected override void CreateTag(Parrot.Infrastructure.IParrotWriter writer, IRendererFactory rendererFactory, IDictionary<string, object> documentHost, object model, Nodes.Statement statement) { var xhtml = false; if (documentHost.ContainsKey("doctype")) { //we have a registered doctype, is it xml? if (documentHost["doctype"].ToString().IndexOf("xhtml", StringComparison.OrdinalIgnoreCase) != -1) { //it's xhtml, we need to output cdata xhtml = true; } } string tagName = string.IsNullOrWhiteSpace(statement.Name) ? DefaultChildTag : statement.Name; TagBuilder builder = new TagBuilder(tagName); //add attributes RenderAttributes(rendererFactory, documentHost, model, statement, builder); //AppendAttributes(builder, statement.Attributes, documentHost, modelValueProvider); writer.Write(builder.ToString(TagRenderMode.StartTag)); //render children if (xhtml) { writer.Write("//<![CDATA["); } if (statement.Children.Count > 0) { RenderChildren(writer, statement, rendererFactory, documentHost, model); } if (xhtml) { writer.Write("//]]>"); } writer.Write(builder.ToString(TagRenderMode.EndTag)); }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { //get the input type string type = GetType(statement, rendererFactory, documentHost, model); switch (type) { case "checkbox": case "radio": //special handling for "checked" //is there a checked attribute for (int i = 0; i < statement.Attributes.Count; i++) { if (statement.Attributes[i].Key == "checked") { string attributeValue = RenderAttribute(statement.Attributes[i], rendererFactory, documentHost, model); switch (attributeValue) { case "true": statement.Attributes[i] = new Nodes.Attribute(statement.Attributes[i].Key, new StringLiteral("\"checked\"")); //.Value = "checked"; break; case "false": case "null": //remove this attribute statement.Attributes.RemoveAt(i); i -= 1; break; } } } break; } base.Render(writer, rendererFactory, statement, documentHost, model); }
public override void Render(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { var localModel = GetLocalModel(documentHost, statement, model); CreateTag(writer, rendererFactory, documentHost, localModel, statement); }
public void AfterRender(IParrotWriter writer, IRendererFactory rendererFactory, Statement statement, IDictionary<string, object> documentHost, object model) { }
internal static LayoutInfo MakeLayoutInfo(int maxWidth, IVwGraphics vg, IRendererFactory factory) { return new LayoutInfo(2, 2, 96, 96, maxWidth, vg, factory); }
public void SetRendererFactory(IRendererFactory rendererFactory = null) { if (rendererFactory == null) rendererFactory = new NullRendererFactory(); m_rendererFactory = rendererFactory; m_rendererFactory.Init(this); }
public LWF(Data lwfData, IRendererFactory r) { m_data = lwfData; interactive = m_data.buttonConditions.Length > 0; m_frameRate = m_data.header.frameRate; m_execLimit = 3; m_tick = 1.0f / m_frameRate; m_roundOffTick = m_tick * ROUND_OFF_TICK_RATE; m_attachVisible = true; m_interceptByNotAllowOrDenyButtons = true; m_intercepted = false; scaleByStage = 1.0f; m_pointX = Single.MinValue; m_pointY = Single.MinValue; m_pressing = false; m_instanceId = ++m_instanceOffset; m_alive = true; if (!interactive && m_data.frames.Length == 1) DisableExec(); m_property = new Property(this); m_instances = new IObject[m_data.instanceNames.Length]; InitEvent(); m_movieCommands = new MovieCommands(); m_programObjectConstructors = new ProgramObjectConstructor[m_data.programObjects.Length]; m_textDictionary = new TextDictionary(); m_matrix = new Matrix(); m_matrixIdentity = new Matrix(); m_colorTransform = new ColorTransform(); m_colorTransformIdentity = new ColorTransform(); Init(); SetRendererFactory(r); }
public LayoutInfo(LayoutTransform source, int maxWidth, IVwGraphics graphics, IRendererFactory rf) : this(source.XOffset, source.YOffset, source.DpiX, source.DpiY, maxWidth, graphics, rf) { }