--- deliantra/Deliantra-Client/pango-render.c 2018/11/18 00:52:22 1.19 +++ deliantra/Deliantra-Client/pango-render.c 2018/11/18 03:06:13 1.20 @@ -40,7 +40,7 @@ int flags; rc_t *rc; // rendercache rc_key_t key; // current render key - rc_array_t *arr; + rc_t::array_t *arr; }; G_DEFINE_TYPE (PangoOpenGLRenderer, pango_opengl_renderer, PANGO_TYPE_RENDERER) @@ -244,10 +244,10 @@ if (g->tex.name != renderer->key.texname) { renderer->key.texname = g->tex.name; - renderer->arr = rc_array (renderer->rc, &renderer->key); + renderer->arr = &renderer->rc->array (renderer->key); } - rc_glyph (renderer->arr, g->tex.x, g->tex.y, g->tex.w, g->tex.h, x, y); + renderer->arr->glyph (g->tex.x, g->tex.y, g->tex.w, g->tex.h, x, y); } static void @@ -262,21 +262,20 @@ { PangoOpenGLRenderer *renderer = (PangoOpenGLRenderer *)renderer_; rc_key_t key = renderer->key; - rc_array_t *arr; key.mode = GL_QUADS; key.format = GL_V2F; key.texname = 0; - arr = rc_array (renderer->rc, &key); + auto &arr = renderer->rc->array (key); - rc_v2f (arr, x11, y1); - rc_v2f (arr, x21, y1); - rc_v2f (arr, x22, y2); - rc_v2f (arr, x12, y2); + arr.v2f (x11, y1); + arr.v2f (x21, y1); + arr.v2f (x22, y2); + arr.v2f (x12, y2); } -void +void pango_opengl_render_layout_subpixel (PangoLayout *layout, rc_t *rc, int x, int y, @@ -293,17 +292,17 @@ renderer = _pango_opengl_font_map_get_renderer (PANGO_OPENGL_FONT_MAP (fontmap)); gl = PANGO_OPENGL_RENDERER (renderer); - gl->rc = rc; - gl->r = r; - gl->g = g; - gl->b = b; - gl->a = a; + gl->rc = rc; + gl->r = r; + gl->g = g; + gl->b = b; + gl->a = a; gl->flags = flags; pango_renderer_draw_layout (renderer, layout, x, y); } -void +void pango_opengl_render_layout (PangoLayout *layout, rc_t *rc, int x, int y, @@ -370,7 +369,7 @@ g = fg->green * (255.f / 65535.f); b = fg->blue * (255.f / 65535.f); } - else + else { r = gl->r * 255.f; g = gl->g * 255.f;