Blob Blame Raw
#ifndef __SYNFIG_TEST_VISULIZATION_WINDOW_H
#define __SYNFIG_TEST_VISULIZATION_WINDOW_H


#include <gtkmm/window.h>

#include <synfig/canvas.h>
#include <synfig/renddesc.h>
#include <synfig/rendering/renderer.h>
#include <synfig/rendering/surface.h>


class VisualizationWindow: public Gtk::Window {
private:
	synfig::Canvas::Handle canvas;
	synfig::rendering::Renderer::Handle renderer;
	
	synfig::RendDesc rend_desc;
	bool transform;
	synfig::Matrix matrix;
	int frame;
	int frames_count;
	synfig::Time frame_duration;
	
	synfig::PixelFormat pixel_format;
	Cairo::RefPtr<Cairo::ImageSurface> cairo_surface;
	synfig::rendering::SurfaceResource::Handle surface_resource;
	
public:
	VisualizationWindow(
		const synfig::Canvas::Handle &canvas,
		const synfig::rendering::Renderer::Handle &renderer );
	
	bool convert(const synfig::rendering::SurfaceResource::Handle &surface);
	
	bool on_content_draw(const Cairo::RefPtr<Cairo::Context> &context);

	bool on_idle();
};

#endif