// // GUI.h // PAC 2 // // Created by Samuel Thomasset on 28/10/2018. // // #ifndef GUI_h #define GUI_h class source : public Component { public : source(){}; ~source(){}; void paint (Graphics&g) override { g.setColour (Colours::darkcyan); auto lineThickness = 2.2f; g.drawEllipse (lineThickness * 9.5f, lineThickness * 0.5f, 12 - lineThickness, 12 - lineThickness, lineThickness); } }; //============================================================================== //============================================================================== class piece : public Component, private Timer { public : piece() { addAndMakeVisible(source); sourcePos.setXY(30, 20); addAndMakeVisible(sourceLabel); sourceLabel.setText("source 1", dontSendNotification); sourceLabel.attachToComponent(&source, false); sourceLabel.setColour(Label::textColourId, juce::Colours::darkcyan); startTimerHz(60); //setSize(1000, 800); }; ~piece(){}; void paint (Graphics&g) override { g.setColour(juce::Colours::grey); g.setOpacity(0.2); g.fillRect(getLocalBounds()); } void mouseDown(const MouseEvent& e) override { originalPos = e.getPosition(); mouseDrag (e); dragging = true; std::cout<<"mouseDown appelé"<(e.getDistanceFromDragStartX(), e.getDistanceFromDragStartY()); std::cout<<"mouseDrag appelé"< sourcePos; Point originalPos; Point pos; bool dragging = false; }; #endif /* GUI_h */