cogl/pango: Make Renderer private & final

Nothing uses it externally, so simplify pre-merging with clutter

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4004>
This commit is contained in:
Bilal Elmoussaoui 2024-09-02 21:27:18 +02:00 committed by Marge Bot
parent 2955b4b855
commit 24af7ffc16
3 changed files with 12 additions and 24 deletions

View File

@ -42,4 +42,6 @@ G_BEGIN_DECLS
PangoRenderer *
_cogl_pango_renderer_new (CoglContext *context);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PangoRenderer, g_object_unref)
G_END_DECLS

View File

@ -82,16 +82,18 @@ struct _CoglPangoRenderer
CoglPangoDisplayList *display_list;
};
struct _CoglPangoRendererClass
{
PangoRendererClass class_instance;
};
G_DECLARE_FINAL_TYPE (CoglPangoRenderer,
cogl_pango_renderer,
COGL_PANGO,
RENDERER,
PangoRenderer)
typedef struct _CoglPangoLayoutQdata CoglPangoLayoutQdata;
G_DEFINE_FINAL_TYPE (CoglPangoRenderer, cogl_pango_renderer, PANGO_TYPE_RENDERER);
/* An instance of this struct gets attached to each PangoLayout to
cache the VBO and to detect changes to the layout */
struct _CoglPangoLayoutQdata
typedef struct _CoglPangoLayoutQdata
{
CoglPangoRenderer *renderer;
/* The cache of the geometry for the layout */
@ -103,7 +105,7 @@ struct _CoglPangoLayoutQdata
need to regenerate the display list if the mipmapping value is
changed because it will be using a different set of textures */
gboolean mipmapping_used;
};
} CoglPangoLayoutQdata;
typedef struct
{
@ -114,7 +116,7 @@ typedef struct
PangoRenderer *
_cogl_pango_renderer_new (CoglContext *context)
{
return PANGO_RENDERER (g_object_new (COGL_PANGO_TYPE_RENDERER,
return PANGO_RENDERER (g_object_new (cogl_pango_renderer_get_type (),
"context", context, NULL));
}
@ -175,9 +177,6 @@ cogl_pango_renderer_draw_glyph (CoglPangoRenderer *priv,
&data);
}
G_DEFINE_TYPE (CoglPangoRenderer, cogl_pango_renderer, PANGO_TYPE_RENDERER);
static void
cogl_pango_renderer_init (CoglPangoRenderer *priv)
{

View File

@ -151,17 +151,4 @@ cogl_pango_show_layout (CoglFramebuffer *framebuffer,
gpointer pipeline_setup_userdata);
#define COGL_PANGO_TYPE_RENDERER (cogl_pango_renderer_get_type ())
#define COGL_PANGO_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), COGL_PANGO_TYPE_RENDERER, CoglPangoRenderer))
#define COGL_PANGO_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), COGL_PANGO_TYPE_RENDERER, CoglPangoRendererClass))
#define COGL_PANGO_IS_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), COGL_PANGO_TYPE_RENDERER))
#define COGL_PANGO_IS_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), COGL_PANGO_TYPE_RENDERER))
#define COGL_PANGO_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), COGL_PANGO_TYPE_RENDERER, CoglPangoRendererClass))
/* opaque types */
typedef struct _CoglPangoRenderer CoglPangoRenderer;
typedef struct _CoglPangoRendererClass CoglPangoRendererClass;
COGL_EXPORT GType cogl_pango_renderer_get_type (void) G_GNUC_CONST;
G_END_DECLS