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);
        }
示例#2
0
 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());
        }