aboutsummaryrefslogtreecommitdiffstatsci
path: root/Backends/CairoBackend/src/ImageBackend.cs
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2022-07-18 22:38:45 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2022-07-18 22:38:45 +0200
commit286b685aa9f21d73e22ce9d1941abf657e2d70b0 (patch)
treea13d91d81410ed2457d83876a053a90bfcb5fefb /Backends/CairoBackend/src/ImageBackend.cs
parent9d786ab096ed36ea384e03ee5cea498790e31eec (diff)
remove clear from prepare ui frame for cairo, solve flickering in mt
Diffstat (limited to 'Backends/CairoBackend/src/ImageBackend.cs')
-rw-r--r--Backends/CairoBackend/src/ImageBackend.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/Backends/CairoBackend/src/ImageBackend.cs b/Backends/CairoBackend/src/ImageBackend.cs
index a90d275a..97b61e24 100644
--- a/Backends/CairoBackend/src/ImageBackend.cs
+++ b/Backends/CairoBackend/src/ImageBackend.cs
@@ -65,15 +65,22 @@ namespace Crow.CairoBackend
{
IContext ctx = base.PrepareUIFrame (existingContext, clipping);
- clear (ctx);
+ for (int i = 0; i < clipping.NumRectangles; i++)
+ ctx.Rectangle (clipping.GetRectangle (i));
+ ctx.Clip ();
+
ctx.PushGroup ();
return ctx;
}
public override void FlushUIFrame(IContext ctx)
{
+ //clear (ctx);
ctx.PopGroupToSource ();
+ //ctx.Save();
+ //ctx.Operator = Operator.Source;
ctx.Paint ();
+ //ctx.Restore();
surf.Flush ();