Example #1
0
 public RenderLayer(
     IRenderLayerFactory factory,
     Size size,
     double scaling,
     IVisual layerRoot)
 {
     _factory  = factory;
     Bitmap    = factory.CreateLayer(layerRoot, size * scaling, 96 * scaling, 96 * scaling);
     Size      = size;
     Scaling   = scaling;
     LayerRoot = layerRoot;
 }
Example #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DeferredRenderer"/> class.
        /// </summary>
        /// <param name="root">The control to render.</param>
        /// <param name="renderTarget">The render target.</param>
        /// <param name="sceneBuilder">The scene builder to use. Optional.</param>
        /// <param name="layerFactory">The layer factory to use. Optional.</param>
        /// <remarks>
        /// This constructor is intended to be used for unit testing.
        /// </remarks>
        public DeferredRenderer(
            IVisual root,
            IRenderTarget renderTarget,
            ISceneBuilder sceneBuilder       = null,
            IRenderLayerFactory layerFactory = null)
        {
            Contract.Requires <ArgumentNullException>(root != null);
            Contract.Requires <ArgumentNullException>(renderTarget != null);

            _root         = root;
            _renderTarget = renderTarget;
            _sceneBuilder = sceneBuilder ?? new SceneBuilder();
            _layerFactory = layerFactory ?? new DefaultRenderLayerFactory();
            _layers       = new RenderLayers(_layerFactory);
        }
Example #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DeferredRenderer"/> class.
        /// </summary>
        /// <param name="root">The control to render.</param>
        /// <param name="renderLoop">The render loop.</param>
        /// <param name="sceneBuilder">The scene builder to use. Optional.</param>
        /// <param name="layerFactory">The layer factory to use. Optional.</param>
        /// <param name="dispatcher">The dispatcher to use. Optional.</param>
        public DeferredRenderer(
            IRenderRoot root,
            IRenderLoop renderLoop,
            ISceneBuilder sceneBuilder       = null,
            IRenderLayerFactory layerFactory = null,
            IDispatcher dispatcher           = null)
        {
            Contract.Requires <ArgumentNullException>(root != null);

            _dispatcher   = dispatcher ?? Dispatcher.UIThread;
            _root         = root;
            _sceneBuilder = sceneBuilder ?? new SceneBuilder();
            _layerFactory = layerFactory ?? new DefaultRenderLayerFactory();
            _layers       = new RenderLayers(_layerFactory);
            _renderLoop   = renderLoop;
        }
Example #4
0
 public RenderLayers(IRenderLayerFactory factory)
 {
     _factory = factory;
 }