Revert "inspector: Fix node recording"

This reverts commit ba7649b388.
This commit is contained in:
Matthias Clasen 2019-10-22 01:32:51 -04:00
parent 7a73f43de3
commit d3431f569c
3 changed files with 10 additions and 40 deletions

View File

@ -537,19 +537,18 @@ render_fallback_node (GskGLRenderer *self,
typedef struct {
int timestamp;
int stored;
GskGLCachedGlyph *glyphs[];
} TextRenderData;
static inline TextRenderData *
get_render_data (GskRenderNode *node,
GskGLGlyphCache *cache)
ensure_render_data (GskRenderNode *node,
GskGLGlyphCache *cache)
{
TextRenderData *data;
int num_glyphs;
num_glyphs = gsk_text_node_get_num_glyphs (node);
data = gsk_text_node_get_render_data (node, cache);
data = gsk_text_node_get_render_data (node);
if (data)
{
if (data->timestamp < cache->atlas_timestamp)
@ -562,24 +561,13 @@ get_render_data (GskRenderNode *node,
{
data = g_new0 (TextRenderData, sizeof (TextRenderData) + sizeof (gpointer) * num_glyphs);
data->timestamp = cache->atlas_timestamp;
gsk_text_node_set_render_data (node, data);
}
return data;
}
static inline void
set_render_data (GskRenderNode *node,
GskGLGlyphCache *cache,
TextRenderData *data)
{
if (!data->stored)
{
data->stored = 1;
if (!gsk_text_node_set_render_data (node, cache, data))
g_free (data);
}
}
static inline void
render_text_node (GskGLRenderer *self,
GskRenderNode *node,
@ -610,7 +598,7 @@ render_text_node (GskGLRenderer *self,
ops_set_color (builder, color);
}
render_data = get_render_data (node, self->glyph_cache);
render_data = ensure_render_data (node, self->glyph_cache);
memset (&lookup, 0, sizeof (CacheKeyData));
lookup.data.font = (PangoFont *)font;
@ -675,8 +663,6 @@ render_text_node (GskGLRenderer *self,
next:
x_position += gi->geometry.width;
}
set_render_data (node, self->glyph_cache, render_data);
}
static inline void

View File

@ -3414,9 +3414,7 @@ struct _GskTextNode
GdkRGBA color;
graphene_point_t offset;
gpointer render_key;
gpointer render_data;
guint num_glyphs;
PangoGlyphInfo glyphs[];
};
@ -3549,7 +3547,6 @@ gsk_text_node_new (PangoFont *font,
self->has_color_glyphs = font_has_color_glyphs (font);
self->color = *color;
self->offset = *offset;
self->render_key = NULL;
self->render_data = NULL;
self->num_glyphs = glyphs->num_glyphs;
memcpy (self->glyphs, glyphs->glyphs, sizeof (PangoGlyphInfo) * glyphs->num_glyphs);
@ -3631,31 +3628,20 @@ gsk_text_node_get_offset (GskRenderNode *node)
return &self->offset;
}
gboolean
void
gsk_text_node_set_render_data (GskRenderNode *node,
gpointer key,
gpointer data)
{
GskTextNode *self = (GskTextNode *) node;
if (self->render_key != NULL)
return FALSE;
self->render_key = key;
self->render_data = data;
return TRUE;
}
gpointer
gsk_text_node_get_render_data (GskRenderNode *node,
gpointer key)
gsk_text_node_get_render_data (GskRenderNode *node)
{
GskTextNode *self = (GskTextNode *) node;
if (self->render_key != key)
return NULL;
return self->render_data;
}

View File

@ -46,11 +46,9 @@ void gsk_render_node_diff (GskRenderNode *nod
void gsk_render_node_diff_impossible (GskRenderNode *node1,
GskRenderNode *node2,
cairo_region_t *region);
gboolean gsk_text_node_set_render_data (GskRenderNode *node,
gpointer key,
void gsk_text_node_set_render_data (GskRenderNode *node,
gpointer data);
gpointer gsk_text_node_get_render_data (GskRenderNode *node,
gpointer key);
gpointer gsk_text_node_get_render_data (GskRenderNode *node);