protected void TestAcceptanceFor(IRenderer renderer, IGuiElement guiElement) { var hardware = new NullHardware(1024, 768); var stage = new GuiStage(); stage.AddChild(guiElement); // Layout and Render stage.CalculateLayout(hardware); stage.ProcessInteraction(hardware); stage.Render(renderer); var processingData = guiElement.GetLayoutProcessingData(); // drawing geometry Assert.AreEqual(processingData.DrawingGeometry.X, 50); Assert.AreEqual(processingData.DrawingGeometry.Y, 75); Assert.AreEqual(processingData.DrawingGeometry.Width, 100); Assert.AreEqual(processingData.DrawingGeometry.Height, 200); // absolute geometry Assert.AreEqual(processingData.AbsoluteGeometry.X, 50); Assert.AreEqual(processingData.AbsoluteGeometry.Y, 75); Assert.AreEqual(processingData.AbsoluteGeometry.Width, 100); Assert.AreEqual(processingData.AbsoluteGeometry.Height, 200); // clip rect Assert.AreEqual(processingData.ClipRect.X, 50); Assert.AreEqual(processingData.ClipRect.Y, 75); Assert.AreEqual(processingData.ClipRect.Width, 100); Assert.AreEqual(processingData.AbsoluteGeometry.Height, 200); }
public override void UpdateGui() { if (Event.current.type == EventType.Layout) { GuiStage.CalculateLayout(Hardware); GuiStage.ProcessInteraction(Hardware); } else { GuiStage.Render(Renderer); } }
public void Render() { // Layout _remoteStage.CalculateLayout(_debugHardware); _remoteStage.ProcessInteraction(_debugHardware); // Render and Record Commands _debugRenderer.Begin(); _remoteStage.Render(_debugRenderer); _debugRenderer.Finish(); // Send commands to Server RenderRemote(_debugRenderer.GetRecordedCOmmands()); }