score-plugin-gfx/Gfx/Video/View.hpp
1 #pragma once
2 #include <Process/LayerView.hpp>
3 #include <Process/ZoomHelper.hpp>
4 
5 #include <ossia/detail/flat_map.hpp>
6 
7 namespace Video
8 {
9 class VideoThumbnailer;
10 }
11 namespace Gfx::Video
12 {
13 class Model;
14 class View final : public Process::LayerView
15 {
16 public:
17  explicit View(const Model&, QGraphicsItem* parent);
18  ~View() override;
19 
20  void setZoom(ZoomRatio r);
21 
22 private:
23  void onPathChanged(const QString& str);
24  void widthChanged(qreal) override;
25 
26  void dropEvent(QGraphicsSceneDragDropEvent* event) override;
27  void paint_impl(QPainter*) const override;
28 
29  ::Video::VideoThumbnailer* m_thumb{};
30  ossia::flat_map<int64_t, QImage> m_images;
31  double m_zoom{1.};
32  int64_t m_lastRequestIndex{};
33 };
34 }
Definition: score-plugin-gfx/Gfx/Video/Process.hpp:17
Definition: score-plugin-gfx/Gfx/Video/View.hpp:15
Definition: LayerView.hpp:21
Definition: Thumbnailer.hpp:25