aboutsummaryrefslogtreecommitdiffstatsci
path: root/Drawing2D/src/IBackend.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Drawing2D/src/IBackend.cs')
-rw-r--r--Drawing2D/src/IBackend.cs37
1 files changed, 37 insertions, 0 deletions
diff --git a/Drawing2D/src/IBackend.cs b/Drawing2D/src/IBackend.cs
new file mode 100644
index 00000000..811b95d5
--- /dev/null
+++ b/Drawing2D/src/IBackend.cs
@@ -0,0 +1,37 @@
+// Copyright (c) 2018-2021 Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
+
+using System;
+using System.IO;
+
+namespace Drawing2D
+{
+ public interface IBackend: IDisposable
+ {
+ ISurface CreateSurface (int width, int height);
+ ISurface CreateSurface (byte[] data, int width, int height);
+ //ISurface CreateMainSurface (IntPtr glfwWinHandle, int width, int height);
+ ISurface MainSurface { get; }
+ IRegion CreateRegion ();
+ IContext CreateContext (ISurface surf);
+ //IPattern CreatePattern (PatternType patternType);
+ IGradient CreateGradient (GradientType gradientType, Rectangle bounds);
+ byte[] LoadBitmap (Stream stream, out Size dimensions);
+ ISvgHandle LoadSvg (Stream stream);
+ ISvgHandle LoadSvg (string svgFragment);
+ IContext PrepareUIFrame (IContext existingContext, IRegion clipping);
+ void FlushUIFrame (IContext ctx);
+ /*IRegion CreateRegion ();
+ ISurface CreateSurface (int width, int height);
+ ISurface CreateSurface (byte[] data, int width, int height);
+ ISurface CreateSurface (IntPtr glfwWinHandle, int width, int height);
+ IContext CreateContext (ISurface surf);
+ //IPattern CreatePattern (PatternType patternType);
+ IGradient CreateGradient (GradientType gradientType, Rectangle bounds);
+ byte[] LoadBitmap (Stream stream, out Size dimensions);
+ ISvgHandle LoadSvg (Stream stream);
+ ISvgHandle LoadSvg (string svgFragment);*/
+ }
+}
+