griditemcontainer.h (701B)
1 #pragma once 2 3 #include "juce_gui_basics/juce_gui_basics.h" 4 5 namespace jucePluginEditorLib::patchManager 6 { 7 class Grid; 8 9 class GridItemContainer : public juce::Component 10 { 11 public: 12 static constexpr uint32_t InvalidItem = ~0; 13 14 GridItemContainer(Grid& _grid); 15 16 void mouseDown(const juce::MouseEvent& _e) override; 17 juce::ScaledImage createSnapshotOfRows(const juce::SparseSet<int>& _rows, int& _x, int& _y) const; 18 void mouseDrag(const juce::MouseEvent& _e) override; 19 void mouseUp(const juce::MouseEvent& _e) override; 20 21 private: 22 uint32_t mouseToItemIndex(const juce::MouseEvent& _e) const; 23 24 Grid& m_grid; 25 uint32_t m_itemIndexMouseDown = InvalidItem; 26 bool m_isDragging = false; 27 }; 28 }