gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

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 }