summaryrefslogtreecommitdiff
path: root/pango/pangowin32-fontmap.c
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2013-03-15 06:13:09 -0400
committerBehdad Esfahbod <behdad@behdad.org>2013-03-15 06:25:34 -0400
commit0942b1962d2ee8574c0aff345eb871e2daccea1e (patch)
treec8e8483a1465237bf42017e26b5239733ac79997 /pango/pangowin32-fontmap.c
parent71006c534a5599f0a69f4bd9b6677b2a6ad5adb3 (diff)
downloadpango-0942b1962d2ee8574c0aff345eb871e2daccea1e.tar.gz
Bug 682846 - Use G_DEFINE_TYPE in pangowin32-fontmap
Based on patch from Chun-wei Fan.
Diffstat (limited to 'pango/pangowin32-fontmap.c')
-rw-r--r--pango/pangowin32-fontmap.c76
1 files changed, 21 insertions, 55 deletions
diff --git a/pango/pangowin32-fontmap.c b/pango/pangowin32-fontmap.c
index eb54e61d..68ec2ee0 100644
--- a/pango/pangowin32-fontmap.c
+++ b/pango/pangowin32-fontmap.c
@@ -36,7 +36,8 @@
#include "pangowin32-private.h"
#include "modules.h"
-typedef struct _PangoWin32Family PangoWin32Family;
+typedef struct _PangoWin32Family PangoWin32Family;
+typedef PangoFontFamilyClass PangoWin32FamilyClass;
struct _PangoWin32Family
{
@@ -48,6 +49,7 @@ struct _PangoWin32Family
gboolean is_monospace;
};
+
#if !defined(NTM_PS_OPENTYPE)
# define NTM_PS_OPENTYPE 0x20000
#endif
@@ -58,11 +60,17 @@ struct _PangoWin32Family
#define PANGO_WIN32_TYPE_FAMILY (pango_win32_family_get_type ())
#define PANGO_WIN32_FAMILY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_WIN32_TYPE_FAMILY, PangoWin32Family))
-#define PANGO_WIN32_IS_FAMILY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_WIN32_TYPE_FAMILY))
+#define PANGO_WIN32_IS_FAMILY (object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_WIN32_TYPE_FAMILY))
+#define PANGO_WIN32_FAMILY_CLASS (klass) (G_TYPE_CHECK_CLASS_CAST (klass), PANGO_WIN32_TYPE_FAMILY, PangoWin32Family))
+#define PANGO_WIN32_IS_FAMILY_CLASS (klass) (G_TYPE_CHECK_CLASS_CAST (klass), PANGO_WIN32_TYPE_FAMILY))
+#define PANGO_WIN32_FAMILY_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), PANGO_WIN32_FAMILY, PangoWin32FamilyClass))
#define PANGO_WIN32_TYPE_FACE (pango_win32_face_get_type ())
#define PANGO_WIN32_FACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_WIN32_TYPE_FACE, PangoWin32Face))
#define PANGO_WIN32_IS_FACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_WIN32_TYPE_FACE))
+#define PANGO_WIN32_FACE_CLASS (klass) (G_TYPE_CHECK_CLASS_CAST (klass), PANGO_WIN32_TYPE_FACE, PangoWin32Face))
+#define PANGO_WIN32_IS_FACE_CLASS (klass) (G_TYPE_CHECK_CLASS_CAST (klass), PANGO_WIN32_TYPE_FACE))
+#define PANGO_WIN32_FACE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), PANGO_WIN32_FACE, PangoWin32FaceClass))
static GType pango_win32_face_get_type (void);
@@ -832,6 +840,8 @@ pango_win32_family_is_monospace (PangoFontFamily *family)
return win32family->is_monospace;
}
+G_DEFINE_TYPE (PangoWin32Family, pango_win32_family, PANGO_TYPE_FONT_FAMILY)
+
static void
pango_win32_family_class_init (PangoFontFamilyClass *class)
{
@@ -840,32 +850,9 @@ pango_win32_family_class_init (PangoFontFamilyClass *class)
class->is_monospace = pango_win32_family_is_monospace;
}
-static GType
-pango_win32_family_get_type (void)
+static void
+pango_win32_family_init (PangoWin32Family *family)
{
- static GType object_type = 0;
-
- if (G_UNLIKELY (!object_type))
- {
- const GTypeInfo object_info =
- {
- sizeof (PangoFontFamilyClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) pango_win32_family_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (PangoWin32Family),
- 0, /* n_preallocs */
- (GInstanceInitFunc) NULL,
- };
-
- object_type = g_type_register_static (PANGO_TYPE_FONT_FAMILY,
- I_("PangoWin32Family"),
- &object_info, 0);
- }
-
- return object_type;
}
static void
@@ -1640,6 +1627,8 @@ pango_win32_face_is_synthesized (PangoFontFace *face)
return win32face->is_synthetic;
}
+G_DEFINE_TYPE (PangoWin32Face, pango_win32_face, PANGO_TYPE_FONT_FACE)
+
static void
pango_win32_face_class_init (PangoFontFaceClass *class)
{
@@ -1650,6 +1639,11 @@ pango_win32_face_class_init (PangoFontFaceClass *class)
}
static void
+pango_win32_face_init (PangoWin32Face *face)
+{
+}
+
+static void
pango_win32_face_list_sizes (PangoFontFace *face,
int **sizes,
int *n_sizes)
@@ -1662,34 +1656,6 @@ pango_win32_face_list_sizes (PangoFontFace *face,
*n_sizes = 0;
}
-static GType
-pango_win32_face_get_type (void)
-{
- static GType object_type = 0;
-
- if (G_UNLIKELY (!object_type))
- {
- static const GTypeInfo object_info =
- {
- sizeof (PangoFontFaceClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) pango_win32_face_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof (PangoWin32Face),
- 0, /* n_preallocs */
- (GInstanceInitFunc) NULL,
- };
-
- object_type = g_type_register_static (PANGO_TYPE_FONT_FACE,
- I_("PangoWin32Face"),
- &object_info, 0);
- }
-
- return object_type;
-}
-
/**
* pango_win32_font_map_get_font_cache:
* @font_map: a #PangoWin32FontMap.