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 |
|