#pragma once

#include "node_canvas.h"

namespace pp::panopainter {

void restore_legacy_node_canvas_context(NodeCanvas& node_canvas);
void clear_legacy_node_canvas_context(NodeCanvas& node_canvas);
void handle_legacy_node_canvas_resize(NodeCanvas& node_canvas, glm::vec2 old_size, glm::vec2 new_size, float zoom);
void reset_legacy_node_canvas_camera(NodeCanvas& node_canvas);
void create_legacy_node_canvas_buffers(NodeCanvas& node_canvas);
void set_legacy_node_canvas_density(NodeCanvas& node_canvas, float density);
void set_legacy_node_canvas_cursor_visibility(NodeCanvas& node_canvas, NodeCanvas::kCursorVisibility mode);
void update_legacy_node_canvas_cursor(NodeCanvas& node_canvas);
void tick_legacy_node_canvas_state(NodeCanvas& node_canvas, float dt);
void destroy_legacy_node_canvas_state(NodeCanvas& node_canvas);

} // namespace pp::panopainter
