Blame c++/perspective/src/mainwindow.h

Ivan Mahonin 538bb7
#ifndef MAINWINDOW_H
Ivan Mahonin 538bb7
#define MAINWINDOW_H
Ivan Mahonin 538bb7
Ivan Mahonin 538bb7
Ivan Mahonin 538bb7
#include <gtkmm/window.h>
Ivan Mahonin 538bb7
Ivan Mahonin 538bb7
#include "view.h"
Ivan Mahonin a1942e
#include "surface.h"
Ivan Mahonin a1942e
#include "generator.h"
Ivan Mahonin 538bb7
Ivan Mahonin 538bb7
Ivan Mahonin 538bb7
class MainWindow: public Gtk::Window {
Ivan Mahonin 538bb7
public:
Ivan Mahonin a1942e
	Generator generator;
Ivan Mahonin a1942e
Ivan Mahonin 538bb7
	View src_view;
Ivan Mahonin 538bb7
	View dst_view;
Ivan Mahonin 538bb7
	
Ivan Mahonin 538bb7
	View::PointPtr
Ivan Mahonin 538bb7
		src_rect0, src_rect1,
Ivan Mahonin 538bb7
		dst_rect0, dst_rect1, dst_rect2, dst_rect3,
Ivan Mahonin 538bb7
		dst_bounds0, dst_bounds1;
Ivan Mahonin 538bb7
	
Ivan Mahonin a1942e
	Vector2 view_surface_rect0;
Ivan Mahonin a1942e
	Vector2 view_surface_rect1;
Ivan Mahonin a1942e
	Cairo::RefPtr<Cairo::ImageSurface> view_surface;
Ivan Mahonin a1942e
	
Ivan Mahonin 538bb7
	MainWindow();
Ivan Mahonin 538bb7
	
Ivan Mahonin 538bb7
	Gtk::Widget* generator_demo();
Ivan Mahonin 538bb7
	
Ivan Mahonin a1942e
	void update_view_surface();
Ivan Mahonin a1942e
	
Ivan Mahonin 538bb7
	void on_point_motion(const View::PointPtr &point);
Ivan Mahonin 538bb7
	void on_point_changed(const View::PointPtr &point);
Ivan Mahonin a1942e
	void on_view_transform_changed(View *view);
Ivan Mahonin 538bb7
	void on_draw_src_view(const Cairo::RefPtr<Cairo::Context> &context);
Ivan Mahonin 538bb7
	void on_draw_dst_view(const Cairo::RefPtr<Cairo::Context> &context);
Ivan Mahonin 538bb7
};
Ivan Mahonin 538bb7
Ivan Mahonin 538bb7
Ivan Mahonin 538bb7
#endif
Ivan Mahonin 538bb7