diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2022-07-18 22:38:45 +0200 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2022-07-18 22:38:45 +0200 |
| commit | 286b685aa9f21d73e22ce9d1941abf657e2d70b0 (patch) | |
| tree | a13d91d81410ed2457d83876a053a90bfcb5fefb /Backends/CairoBackend/src/ImageBackend.cs | |
| parent | 9d786ab096ed36ea384e03ee5cea498790e31eec (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.cs | 9 |
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 (); |