Code

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