Ejemplo n.º 1
0
Archivo: Canvas.cs Proyecto: X-Hax/SA3D
        /// <summary>
        /// Renders the entire canvas
        /// </summary>
        /// <param name="width">Output resolution width</param>
        /// <param name="height">Output resolution height</param>
        public void Render(int width, int height)
        {
            _renderingBridge.CanvasPreDraw(width, height);

            float premWidth  = width * 0.5f;
            float premHeight = height * 0.5f;

            bool forceTransformUpdate = _oldWidth != width || _oldHeight != height;

            if (forceTransformUpdate)
            {
                _oldWidth  = width;
                _oldHeight = height;
            }

            while (_renderQueue.Count > 0)
            {
                UIElement element = _renderQueue.Dequeue();
                _renderingBridge.CanvasDrawUIElement(element, premWidth, premHeight, forceTransformUpdate);
            }

            _renderQueue.Clear();

            _renderingBridge.CanvasPostDraw();
        }