Code

Unify stat type for older glib.
[inkscape.git] / src / sp-glyph-kerning.h
1 #ifdef HAVE_CONFIG_H
2 # include <config.h>
3 #endif
5 #ifdef ENABLE_SVG_FONTS
6 #ifndef __SP_GLYPH_KERNING_H__
7 #define __SP_GLYPH_KERNING_H__
9 /*
10  * SVG <hkern> and <vkern> elements implementation
11  *
12  * Authors:
13  *    Felipe C. da S. Sanches <juca@members.fsf.org>
14  *
15  * Copyright (C) 2008 Felipe C. da S. Sanches
16  *
17  * Released under GNU GPL, read the file 'COPYING' for more information
18  */
20 #include "sp-object.h"
21 #include "unicoderange.h"
23 #define SP_TYPE_HKERN (sp_glyph_kerning_h_get_type ())
24 #define SP_HKERN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_HKERN, SPHkern))
25 #define SP_HKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_HKERN, SPGlyphKerningClass))
26 #define SP_IS_HKERN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_HKERN))
27 #define SP_IS_HKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_HKERN))
29 #define SP_TYPE_VKERN (sp_glyph_kerning_v_get_type ())
30 #define SP_VKERN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_VKERN, SPVkern))
31 #define SP_VKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_VKERN, SPGlyphKerningClass))
32 #define SP_IS_VKERN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_VKERN))
33 #define SP_IS_VKERN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_VKERN))
35 class GlyphNames{
36 public: 
37 GlyphNames(const gchar* value);
38 ~GlyphNames();
39 bool contains(const char* name);
40 private:
41 gchar* names;
42 };
44 struct SPGlyphKerning : public SPObject {
45     UnicodeRange* u1;
46     GlyphNames* g1;
47     UnicodeRange* u2;
48     GlyphNames* g2;
49     double k;
50 };
52 struct SPHkern : public SPGlyphKerning {};
53 struct SPVkern : public SPGlyphKerning {};
55 struct SPGlyphKerningClass {
56         SPObjectClass parent_class;
57 };
59 GType sp_glyph_kerning_h_get_type (void);
60 GType sp_glyph_kerning_v_get_type (void);
62 #endif //#ifndef __SP_GLYPH_KERNING_H__
63 #endif //#ifdef ENABLE_SVG_FONTS