Ejemplo n.º 1
0
        //C++ TO C# CONVERTER WARNING: 'const' methods are not available in C#:
        //ORIGINAL LINE: void Paint(PaintContext& context) const override
        public override void Paint(PaintContext context)
        {
            TRACE_EVENT0("flutter", "PictureLayer::Paint");
            //FML_DCHECK(picture_);
            FML_DCHECK(needs_painting());

            //C++ TO C# CONVERTER TODO TASK: There is no equivalent in C# to 'static_assert':
            //  (...) static_assert(false, "missing name for " "SkAutoCanvasRestore") save(&context.canvas, true);
            context.canvas.Translate(offset_.X, offset_.Y);
#if !SUPPORT_FRACTIONAL_TRANSLATION
            context.canvas.SetMatrix(RasterCache.GetIntegralTransCTM(context.canvas.TotalMatrix));
#endif

            if (context.raster_cache != null)
            {
                SKMatrix          ctm    = context.canvas.TotalMatrix;
                RasterCacheResult result = context.raster_cache.Get(picture(), ctm);
                if (result.is_valid)
                {
                    result.draw(context.canvas);
                    return;
                }
            }
            context.canvas.DrawPicture(picture());
        }
Ejemplo n.º 2
0
        //C++ TO C# CONVERTER WARNING: 'const' methods are not available in C#:
        //ORIGINAL LINE: void Paint(PaintContext& context) const override
        public override void Paint(PaintContext context)
        {
            TRACE_EVENT0("flutter", "OpacityLayer::Paint");
            FML_DCHECK(needs_painting());

            SKPaint paint = new SKPaint();

            paint.Color = paint.Color.WithAlpha((byte)alpha_);

            //C++ TO C# CONVERTER TODO TASK: There is no equivalent in C# to 'static_assert':
            //  (...) static_assert(false, "missing name for " "SkAutoCanvasRestore") save(&context.canvas, true);
            context.canvas.Translate(offset_.X, offset_.Y);

#if !SUPPORT_FRACTIONAL_TRANSLATION
            context.canvas.SetMatrix(RasterCache.GetIntegralTransCTM(context.canvas.TotalMatrix));
#endif

            if (layers().Count == 1)// && context.raster_cache)
            {
                SKMatrix          ctm         = context.canvas.TotalMatrix;
                RasterCacheResult child_cache = context.raster_cache.Get(layers()[0], ctm);
                if (child_cache.is_valid)
                {
                    child_cache.draw(context.canvas, paint);
                    return;
                }
            }

            Layer.AutoSaveLayer save_layer = Layer.AutoSaveLayer.Create(context, paint_bounds(), paint);
            PaintChildren(context);
        }
Ejemplo n.º 3
0
        public override void Paint(PaintContext context)
        {
            TRACE_EVENT0("flutter", "OpacityLayer::Paint");
            FML_DCHECK(needs_painting());

            SKPaint paint = new SKPaint();

            paint.Color = paint.Color.WithAlpha((byte)alpha_);

            context.canvas.Translate(offset_.X, offset_.Y);

#if !SUPPORT_FRACTIONAL_TRANSLATION
            context.canvas.SetMatrix(RasterCache.GetIntegralTransCTM(context.canvas.TotalMatrix));
#endif

            if (layers().Count == 1 && context.raster_cache != null)
            {
                SKMatrix          ctm         = context.canvas.TotalMatrix;
                RasterCacheResult child_cache = context.raster_cache.Get(layers()[0], ctm);
                if (child_cache.is_valid)
                {
                    child_cache.draw(context.canvas, paint);
                    return;
                }
            }

            Layer.AutoSaveLayer save_layer = Layer.AutoSaveLayer.Create(context, paint_bounds(), paint);
            PaintChildren(context);
        }
Ejemplo n.º 4
0
        public override void Preroll(PrerollContext context, SKMatrix matrix)
        {
            SKMatrix child_matrix = matrix;

            child_matrix.SetScaleTranslate(child_matrix.ScaleX, child_matrix.ScaleY, offset_.X, offset_.Y);
            base.Preroll(context, child_matrix);
            if (context.raster_cache != null && layers().Count == 1)
            {
                Layer    child = layers()[0];//.get();
                SKMatrix ctm   = child_matrix;

#if !SUPPORT_FRACTIONAL_TRANSLATION
                ctm = RasterCache.GetIntegralTransCTM(ctm);
#endif
                context.raster_cache.Prepare(context, child, ctm);
            }
        }
Ejemplo n.º 5
0
        public override void Preroll(PrerollContext context, SKMatrix matrix)
        {
            SKPicture sk_picture = picture();

            var      cache = context.raster_cache;
            SKMatrix ctm   = matrix;

            ctm.SetScaleTranslate(ctm.ScaleX, ctm.ScaleY, offset_.X, offset_.Y);
#if !SUPPORT_FRACTIONAL_TRANSLATION
            ctm = RasterCache.GetIntegralTransCTM(ctm);
#endif
            cache.Prepare(context.gr_context, sk_picture, ctm, context.dst_color_space, is_complex_, will_change_);


            SKRect bounds = sk_picture.CullRect;
            bounds.Offset(offset_.X, offset_.Y);
            set_paint_bounds(bounds);
        }
Ejemplo n.º 6
0
        public override void Preroll(PrerollContext context, SKMatrix matrix)
        {
            SKPicture sk_picture = picture();

            var cache = context.raster_cache;
            //C++ TO C# CONVERTER TODO TASK: The following line was determined to contain a copy constructor call - this should be verified and a copy constructor should be created:
            //ORIGINAL LINE: SKMatrix ctm = matrix;
            SKMatrix ctm = matrix;

            ctm.SetScaleTranslate(ctm.ScaleX, ctm.ScaleY, offset_.X, offset_.Y);
#if !SUPPORT_FRACTIONAL_TRANSLATION
            //C++ TO C# CONVERTER TODO TASK: The following line was determined to be a copy assignment (rather than a reference assignment) - this should be verified and a 'CopyFrom' method should be created:
            //ORIGINAL LINE: ctm = RasterCache::GetIntegralTransCTM(ctm);
            ctm = RasterCache.GetIntegralTransCTM(ctm);
#endif
            cache.Prepare(context.gr_context, sk_picture, ctm, context.dst_color_space, is_complex_, will_change_);


            SKRect bounds = sk_picture.CullRect;
            bounds.Offset(offset_.X, offset_.Y);
            set_paint_bounds(bounds);
        }
Ejemplo n.º 7
0
        public override void Preroll(PrerollContext context, SKMatrix matrix)
        {
            //C++ TO C# CONVERTER TODO TASK: The following line was determined to contain a copy constructor call - this should be verified and a copy constructor should be created:
            //ORIGINAL LINE: SKMatrix child_matrix = matrix;
            SKMatrix child_matrix = matrix;

            child_matrix.SetScaleTranslate(child_matrix.ScaleX, child_matrix.ScaleY, offset_.X, offset_.Y);
            base.Preroll(context, child_matrix);
            if (context.raster_cache != null && layers().Count == 1)
            {
                Layer child = layers()[0];//.get();
                //C++ TO C# CONVERTER TODO TASK: The following line was determined to contain a copy constructor call - this should be verified and a copy constructor should be created:
                //ORIGINAL LINE: SKMatrix ctm = child_matrix;
                SKMatrix ctm = child_matrix;
#if !SUPPORT_FRACTIONAL_TRANSLATION
                //C++ TO C# CONVERTER TODO TASK: The following line was determined to be a copy assignment (rather than a reference assignment) - this should be verified and a 'CopyFrom' method should be created:
                //ORIGINAL LINE: ctm = RasterCache::GetIntegralTransCTM(ctm);
                ctm = RasterCache.GetIntegralTransCTM(ctm);
#endif
                context.raster_cache.Prepare(context, child, ctm);
            }
        }
Ejemplo n.º 8
0
        public override void Paint(PaintContext context)
        {
            TRACE_EVENT0("flutter", "PictureLayer::Paint");
            //FML_DCHECK(picture_);
            FML_DCHECK(needs_painting());

            context.canvas.Translate(offset_.X, offset_.Y);
#if !SUPPORT_FRACTIONAL_TRANSLATION
            context.canvas.SetMatrix(RasterCache.GetIntegralTransCTM(context.canvas.TotalMatrix));
#endif

            if (context.raster_cache != null)
            {
                SKMatrix          ctm    = context.canvas.TotalMatrix;
                RasterCacheResult result = context.raster_cache.Get(picture(), ctm);
                if (result.is_valid)
                {
                    result.draw(context.canvas);
                    return;
                }
            }
            context.canvas.DrawPicture(picture());
        }