rebase and simplify
diff --git a/include/rive/renderer.hpp b/include/rive/renderer.hpp index 6011a99..dcd3b83 100644 --- a/include/rive/renderer.hpp +++ b/include/rive/renderer.hpp
@@ -70,23 +70,6 @@ int count, const Mat2D* localMatrix = nullptr); - class RenderMesh : public RefCnt {}; - - /* Copies the data provided, and returns a reusable RenderMesh object which can - * be drawn in drawMesh(...). - * - * vertexCount is the number of vertex points (i.e. pairs of x,y) - * vertices[] and texCoords[] are x,y interleaved - * Note: texCoords[] are normalized (0..1), but can be outside of that range. - * if they are out of range, the shader (in drawMesh) will handle tiling - */ - extern rcp<RenderMesh> makeMesh(int vertexCount, - const float vertices[], // x0, y0, x1, y1, ... - const float texCoords[], // tx0, ty0, tx1, ty1, ... - int indexCount, - const uint16_t indices[]); - - class RenderPaint { public: virtual void style(RenderPaintStyle style) = 0; @@ -135,7 +118,12 @@ virtual void drawPath(RenderPath* path, RenderPaint* paint) = 0; virtual void clipPath(RenderPath* path) = 0; virtual void drawImage(RenderImage*, BlendMode, float opacity) = 0; - virtual void drawMesh(const RenderMesh*, const RenderShader*, BlendMode, float opacity) = 0; + virtual void drawImageMesh(const RenderImage*, + rcp<RenderBuffer> vertices_f32, + rcp<RenderBuffer> uvCoords_f32, + rcp<RenderBuffer> indices_u16, + BlendMode, + float opacity) = 0; // helpers