Files
vimix/TextureView.h
Bruno 2392d844d9 Making classes non-assignable
Following CppCheck recomendation, all classes that should not be manipulated by value are made non-assignable to ensure no mistake is made.
2021-04-18 13:04:16 +02:00

74 lines
1.9 KiB
C++

#ifndef TEXTUREVIEW_H
#define TEXTUREVIEW_H
#include "View.h"
class TextureView : public View
{
public:
TextureView();
// non assignable class
TextureView(TextureView const&) = delete;
TextureView& operator=(TextureView const&) = delete;
void draw () override;
void update (float dt) override;
void resize (int) override;
int size () override;
bool canSelect(Source *) override;
void select(glm::vec2 A, glm::vec2 B) override;
std::pair<Node *, glm::vec2> pick(glm::vec2 P) override;
Cursor grab (Source *s, glm::vec2 from, glm::vec2 to, std::pair<Node *, glm::vec2> pick) override;
Cursor over (glm::vec2) override;
void arrow (glm::vec2) override;
void initiate() override;
void terminate() override;
private:
Source *edit_source_;
bool need_edit_update_;
Source *getEditOrCurrentSource();
void adjustBackground();
Surface *preview_surface_;
class ImageShader *preview_shader_;
Surface *preview_checker_;
Frame *preview_frame_;
Surface *background_surface_;
Frame *background_frame_;
Mesh *horizontal_mark_;
Mesh *vertical_mark_;
bool show_scale_;
Group *mask_node_;
Frame *mask_square_;
Mesh *mask_circle_;
Mesh *mask_horizontal_;
Group *mask_vertical_;
Symbol *overlay_position_;
Symbol *overlay_position_cross_;
Symbol *overlay_scaling_;
Symbol *overlay_scaling_cross_;
Node *overlay_scaling_grid_;
Symbol *overlay_rotation_;
Symbol *overlay_rotation_fix_;
Node *overlay_rotation_clock_;
Symbol *overlay_rotation_clock_hand_;
// for mask shader draw: 0=cursor, 1=brush, 2=eraser, 3=crop_shape
int mask_cursor_paint_;
int mask_cursor_shape_;
Mesh *mask_cursor_circle_;
Mesh *mask_cursor_square_;
Mesh *mask_cursor_crop_;
glm::vec3 stored_mask_size_;
bool show_cursor_forced_;
};
#endif // TEXTUREVIEW_H