Olive
transformeffect.h
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef TRANSFORMEFFECT_H
22 #define TRANSFORMEFFECT_H
23 
24 #include "project/effect.h"
25 
26 class TransformEffect : public Effect {
27  Q_OBJECT
28 public:
29  TransformEffect(Clip* c, const EffectMeta* em);
30  void refresh();
31  void process_coords(double timecode, GLTextureCoords& coords, int data);
32 
33  void gizmo_draw(double timecode, GLTextureCoords& coords);
34 public slots:
35  void toggle_uniform_scale(bool enabled);
36 private:
37  EffectField* position_x;
38  EffectField* position_y;
39  EffectField* scale_x;
40  EffectField* scale_y;
41  EffectField* uniform_scale_field;
42  EffectField* rotation;
43  EffectField* anchor_x_box;
44  EffectField* anchor_y_box;
45  EffectField* opacity;
46  EffectField* blend_mode_box;
47 
48  EffectGizmo* top_left_gizmo;
49  EffectGizmo* top_center_gizmo;
50  EffectGizmo* top_right_gizmo;
51  EffectGizmo* bottom_left_gizmo;
52  EffectGizmo* bottom_center_gizmo;
53  EffectGizmo* bottom_right_gizmo;
54  EffectGizmo* left_center_gizmo;
55  EffectGizmo* right_center_gizmo;
56  EffectGizmo* anchor_gizmo;
57  EffectGizmo* rotate_gizmo;
58  EffectGizmo* rect_gizmo;
59 
60  bool set;
61 };
62 
63 #endif // TRANSFORMEFFECT_H
Definition: effect.h:125
Definition: effect.h:166
Definition: effect.h:47
Definition: transformeffect.h:26
Definition: effectgizmo.h:41
Definition: clip.h:53
Definition: effectfield.h:43