- pchars->draw_part(glyph.rect.get_left(),
- glyph.rect.get_top(),
- p.x + glyph.offset.y,
- p.y + glyph.offset.y,
- glyph.rect.get_width(), glyph.rect.get_height(),
- alpha, drawing_effect);
+ DrawingRequest request;
+
+ request.pos = p + glyph.offset;
+ request.drawing_effect = drawing_effect;
+ request.alpha = alpha;
+
+ SurfacePartRequest surfacepartrequest;
+ surfacepartrequest.size = glyph.rect.p2 - glyph.rect.p1;
+ surfacepartrequest.source = glyph.rect.p1;
+ surfacepartrequest.surface = pchars;
+
+ request.request_data = &surfacepartrequest;
+ renderer->draw_surface_part(request);
+