Clone in a terminal:
Commit ae944d5
Johan Mattsson - 2014-10-28T11:54:27+00:00
ae944d5b52224b37c84004ffede3602a7b9d3718johan.mattsson.m@gmail.com

Create plugin interface for the rendering classes

Changed files (3)

Diff

diff --git a/libbirdfont/BirdFont.vala b/libbirdfont/BirdFont.valaindex 7bf74e1..fdecb9d 100644--- a/libbirdfont/BirdFont.vala+++ b/libbirdfont/BirdFont.vala@@ -366,9 +366,18 @@ public class BirdFont { 	public static Font current_font; 	public static GlyphCollection current_glyph_collection; 	-	public BirdFont () {	+	public static Drawing? drawing = null;+	+	public BirdFont () {+		set_defaul_drawing_callbacks (); 	} 	+	void set_defaul_drawing_callbacks () {+		if (drawing == null) {+			drawing = new Drawing ();+		}+	}	+	 	/** 	 * @param arg command line arguments 	 * @param program path@@ -716,4 +725,8 @@ public static File get_child (File folder, string file_name) { 	return File.new_for_path (f + n); } +public static void set_drawing_callbacks (Drawing callbacks) {+	BirdFont.drawing = callbacks;+}+ }diff --git a/libbirdfont/Renderer/Drawing.vala b/libbirdfont/Renderer/Drawing.valanew file mode 100644index 0000000..be5631f--- /dev/null+++ b/libbirdfont/Renderer/Drawing.vala@@ -0,0 +1,50 @@+/*+    Copyright (C) 2014 Johan Mattsson++    This library is free software; you can redistribute it and/or modify +    it under the terms of the GNU Lesser General Public License as +    published by the Free Software Foundation; either version 3 of the +    License, or (at your option) any later version.++    This library is distributed in the hope that it will be useful, but +    WITHOUT ANY WARRANTY; without even the implied warranty of +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +    Lesser General Public License for more details.+*/++namespace BirdFont {++/** Interface for creating drawing callbacks. */+[Compact]+[CCode (ref_function = "bird_font_drawing_ref", unref_function = "bird_font_drawing_unref")]+public class Drawing {+	+	public int iterator_refcount = 1;+		+	public Drawing () {+	}++	public void new_path (double x, double y) {+	}++	public void curve_to (double xb, double yb, double xc, double yc, double xd, double yd) {+	}++	public void close_path (double x, double y) {+	}++	public unowned Drawing @ref () {+		iterator_refcount++;+		return this;+	}+	+	public void unref () {+		if (--iterator_refcount == 0) {+			this.free ();+		}+	}+	+	private extern void free ();+}++}diff --git a/libbirdfont/Renderer/FontCache.vala b/libbirdfont/Renderer/FontCache.valaindex cfb0fdc..f90f7d8 100644--- a/libbirdfont/Renderer/FontCache.vala+++ b/libbirdfont/Renderer/FontCache.vala@@ -31,7 +31,7 @@ public class FontCache { 		bool ok; 		 		if (file_name == "") {-			stderr.printf ("No file name provided.");+			stderr.printf ("No file name provided.\n"); 			return null; 		} 		@@ -42,7 +42,7 @@ public class FontCache { 			f.set_file (file_name, false); 			ok = f.load (); 			if (!ok) {-				stderr.printf ("Can't load %s", file_name);+				stderr.printf ("Can't load %s\n", file_name); 				return null; 			} 			

Contact

Email: johan.mattsson.m@gmail.com
Mastodon: typo.social/@birdfont
GitHub: johanmattssonm
LinkedIn: johan-mattsson-2ab324112