Пример #1
0
        private void _displaySplash(IRenderHandle handle)
        {
            var texture = _resourceCache.GetResource <TextureResource>("/Textures/Logo/logo.png").Texture;

            var drawHandle = handle.CreateHandleScreen();

            drawHandle.DrawTexture(texture, (ScreenSize - texture.Size) / 2);
        }
Пример #2
0
        public void Render(IRenderHandle renderHandle)
        {
            if (!_rendering)
            {
                return;
            }

            _render(renderHandle, RootControl, Vector2i.Zero, Color.White, null);
        }
Пример #3
0
        internal void ClydeRender(IRenderHandle renderHandle, OverlaySpace currentSpace)
        {
            DrawingHandleBase handle;

            if (currentSpace == OverlaySpace.WorldSpace)
            {
                handle = renderHandle.DrawingHandleWorld;
            }
            else
            {
                handle = renderHandle.DrawingHandleScreen;
            }

            Draw(handle, currentSpace);
        }
Пример #4
0
        internal void ClydeRender(IRenderHandle renderHandle)
        {
            DrawingHandleBase handle;

            if (Space == OverlaySpace.WorldSpace)
            {
                handle = renderHandle.DrawingHandleWorld;
            }
            else
            {
                handle = renderHandle.DrawingHandleScreen;
            }

            if (Shader != null)
            {
                handle.UseShader(Shader);
            }
            Draw(handle);
        }
Пример #5
0
        internal void ClydeRender(IRenderHandle renderHandle)
        {
            try
            {
                _renderHandle = renderHandle;
                Drawing       = true;

                var handle = NewHandle();
                if (Shader != null)
                {
                    handle.UseShader(Shader);
                }
                Draw(handle);
            }
            finally
            {
                _renderHandle = null;
                Drawing       = false;
            }
        }
Пример #6
0
        private void _drawSplash(IRenderHandle handle)
        {
            var texture = _resourceCache.GetResource <TextureResource>("/Textures/Logo/logo.png").Texture;

            handle.DrawingHandleScreen.DrawTexture(texture, (ScreenSize - texture.Size) / 2);
        }
Пример #7
0
 internal DrawingHandle(IRenderHandle handle, int handleId)
 {
     _renderHandle = handle;
     _handleId     = handleId;
 }
 internal DrawingHandleScreen(IRenderHandle handle, int handleId) : base(handle, handleId)
 {
 }
 internal DrawingHandleWorld(IRenderHandle handle, int handleId) : base(handle, handleId)
 {
 }
Пример #10
0
        private static void _render(IRenderHandle renderHandle, Control control, Vector2i position, Color modulate,
                                    UIBox2i?scissorBox)
        {
            if (!control.Visible)
            {
                return;
            }

            // Manual clip test with scissor region as optimization.
            var controlBox = UIBox2i.FromDimensions(position, control.PixelSize);

            if (scissorBox != null)
            {
                var clipMargin  = control.RectDrawClipMargin;
                var clipTestBox = new UIBox2i(controlBox.Left - clipMargin, controlBox.Top - clipMargin,
                                              controlBox.Right + clipMargin, controlBox.Bottom + clipMargin);

                if (!scissorBox.Value.Intersects(clipTestBox))
                {
                    return;
                }
            }

            var handle = renderHandle.DrawingHandleScreen;

            handle.SetTransform(position, Angle.Zero, Vector2.One);
            modulate       *= control.Modulate;
            handle.Modulate = modulate * control.ActualModulateSelf;
            var clip          = control.RectClipContent;
            var scissorRegion = scissorBox;

            if (clip)
            {
                scissorRegion = controlBox;
                if (scissorBox != null)
                {
                    // Make the final scissor region a sub region of scissorBox
                    var s      = scissorBox.Value;
                    var result = s.Intersection(scissorRegion.Value);
                    if (result == null)
                    {
                        // Uhm... No intersection so... don't draw anything at all?
                        return;
                    }

                    scissorRegion = result.Value;
                }

                renderHandle.SetScissor(scissorRegion);
            }

            control.DrawInternal(renderHandle);
            foreach (var child in control.Children)
            {
                _render(renderHandle, child, position + child.PixelPosition, modulate, scissorRegion);
            }

            if (clip)
            {
                renderHandle.SetScissor(scissorBox);
            }
        }
Пример #11
0
 public void Render(IRenderHandle renderHandle)
 {
     var drawHandle = renderHandle.CreateHandleScreen();
 }
Пример #12
0
 public void Render(IRenderHandle renderHandle)
 {
     throw new System.NotImplementedException();
 }