[longomatch] Do not warn for static surfaces
- From: Andoni Morales Alastruey <amorales src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [longomatch] Do not warn for static surfaces
- Date: Fri, 10 Oct 2014 23:42:48 +0000 (UTC)
commit f4b8e78d6b27b348adde507cb52676fcde1641be
Author: Andoni Morales Alastruey <ylatuya gmail com>
Date: Fri Oct 10 16:58:51 2014 +0200
Do not warn for static surfaces
.../Interfaces/Drawing/IDrawingToolkit.cs | 4 ++--
LongoMatch.Drawing.Cairo/CairoBackend.cs | 8 ++++----
LongoMatch.Drawing.Cairo/Surface.cs | 18 ++++++++++--------
LongoMatch.Drawing/CanvasObjects/PlayerObject.cs | 2 +-
4 files changed, 17 insertions(+), 15 deletions(-)
---
diff --git a/LongoMatch.Core/Interfaces/Drawing/IDrawingToolkit.cs
b/LongoMatch.Core/Interfaces/Drawing/IDrawingToolkit.cs
index 1eb3bbe..a145c2e 100644
--- a/LongoMatch.Core/Interfaces/Drawing/IDrawingToolkit.cs
+++ b/LongoMatch.Core/Interfaces/Drawing/IDrawingToolkit.cs
@@ -48,8 +48,8 @@ namespace LongoMatch.Core.Interfaces.Drawing
int FontSize {set;}
LineStyle LineStyle {set;}
- ISurface CreateSurface (string filename);
- ISurface CreateSurface (int width, int height, Image image=null);
+ ISurface CreateSurface (string filename, bool warnOnDispose=true);
+ ISurface CreateSurface (int width, int height, Image image=null, bool wanrnOnDispose=true);
void DrawSurface (ISurface surface, Point p = null);
void Begin();
void End();
diff --git a/LongoMatch.Drawing.Cairo/CairoBackend.cs b/LongoMatch.Drawing.Cairo/CairoBackend.cs
index 1ad508a..dba1c47 100644
--- a/LongoMatch.Drawing.Cairo/CairoBackend.cs
+++ b/LongoMatch.Drawing.Cairo/CairoBackend.cs
@@ -145,15 +145,15 @@ namespace LongoMatch.Drawing.Cairo
set;
}
- public ISurface CreateSurface (string filename)
+ public ISurface CreateSurface (string filename, bool warnOnDispose = true)
{
Image img = Image.LoadFromFile (filename);
- return CreateSurface (img.Width, img.Height, img);
+ return CreateSurface (img.Width, img.Height, img, warnOnDispose);
}
- public ISurface CreateSurface (int width, int height, Image image=null)
+ public ISurface CreateSurface (int width, int height, Image image=null, bool warnOnDispose =
true)
{
- return new Surface (width, height, image);
+ return new Surface (width, height, image, warnOnDispose);
}
public void Clear (Color color)
diff --git a/LongoMatch.Drawing.Cairo/Surface.cs b/LongoMatch.Drawing.Cairo/Surface.cs
index 15d978f..47bd926 100644
--- a/LongoMatch.Drawing.Cairo/Surface.cs
+++ b/LongoMatch.Drawing.Cairo/Surface.cs
@@ -25,10 +25,11 @@ namespace LongoMatch.Drawing.Cairo
public class Surface: ISurface
{
ImageSurface surface;
- bool disposed;
+ bool disposed, warnOnDispose;
- public Surface (int width, int height, Image image)
+ public Surface (int width, int height, Image image, bool warnOnDispose=true)
{
+ this.warnOnDispose = warnOnDispose;
surface = new ImageSurface (Format.ARGB32, width, height);
if (image != null) {
using (Context context = new Context(surface)) {
@@ -40,15 +41,16 @@ namespace LongoMatch.Drawing.Cairo
~Surface ()
{
- if (! disposed) {
+ if (! disposed && warnOnDispose) {
Log.Error (String.Format ("Surface {0} was not disposed correctly", this));
Dispose (true);
}
}
- public void Dispose(){
- Dispose(true);
- GC.SuppressFinalize(this);
+ public void Dispose ()
+ {
+ Dispose (true);
+ GC.SuppressFinalize (this);
}
protected virtual void Dispose (bool disposing)
@@ -84,13 +86,13 @@ namespace LongoMatch.Drawing.Cairo
return surface.Width;
}
}
-
+
public int Height {
get {
return surface.Height;
}
}
-
+
public Image Copy ()
{
string tempFile = System.IO.Path.GetTempFileName ();
diff --git a/LongoMatch.Drawing/CanvasObjects/PlayerObject.cs
b/LongoMatch.Drawing/CanvasObjects/PlayerObject.cs
index 52c1f2d..0e09b33 100644
--- a/LongoMatch.Drawing/CanvasObjects/PlayerObject.cs
+++ b/LongoMatch.Drawing/CanvasObjects/PlayerObject.cs
@@ -231,7 +231,7 @@ namespace LongoMatch.Drawing.CanvasObjects
ISurface CreateSurface (string name)
{
- return Config.DrawingToolkit.CreateSurface (Path.Combine (Config.ImagesDir, name));
+ return Config.DrawingToolkit.CreateSurface (Path.Combine (Config.ImagesDir, name),
false);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]