blob: 9406af1d059a3eb631c89fbfe528be21486dbe23 [file] [log] [blame]
#include "viewer/viewer_content.hpp"
#include "vello_renderer.hpp"
extern "C"
{
typedef void* RawViewerContent;
const RawViewerContent viewer_content_new(const char* filename)
{
return static_cast<void*>(ViewerContent::findHandler(filename).release());
}
void viewer_content_release(const RawViewerContent viewer_content)
{
std::unique_ptr<ViewerContent> val(std::move(static_cast<ViewerContent*>(viewer_content)));
}
void viewer_content_handle_resize(const RawViewerContent viewer_content,
int32_t width,
int32_t height)
{
static_cast<ViewerContent*>(viewer_content)->handleResize(width, height);
}
void viewer_content_handle_draw(const RawViewerContent viewer_content,
RawVelloRenderer raw_renderer,
double elapsed)
{
VelloRenderer renderer = VelloRenderer(raw_renderer);
static_cast<ViewerContent*>(viewer_content)->handleDraw(&renderer, elapsed);
}
void viewer_content_handle_pointer_move(const RawViewerContent viewer_content, float x, float y)
{
static_cast<ViewerContent*>(viewer_content)->handlePointerMove(x, y);
}
void viewer_content_handle_pointer_down(const RawViewerContent viewer_content, float x, float y)
{
static_cast<ViewerContent*>(viewer_content)->handlePointerDown(x, y);
}
void viewer_content_handle_pointer_up(const RawViewerContent viewer_content, float x, float y)
{
static_cast<ViewerContent*>(viewer_content)->handlePointerUp(x, y);
}
}