/* ============================================================================== This is an automatically generated GUI class created by the Introjucer! Be careful when adding custom code to these files, as only the code within the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded and re-saved. Created with Introjucer version: 3.1.0 ------------------------------------------------------------------------------ The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions" Copyright 2004-13 by Raw Material Software Ltd. ============================================================================== */ #ifndef __JUCE_HEADER_7594B61AA9F7A49E__ #define __JUCE_HEADER_7594B61AA9F7A49E__ //[Headers] -- You can add your own extra header files here -- #include #include class DrawComponent; class DrawListener { public: DrawListener() {} virtual ~DrawListener() {} virtual void onDraw(DrawComponent &obj) = 0; }; //[/Headers] //============================================================================== /** //[Comments] An auto-generated component, created by the Introjucer. Describe your class and how it works here! //[/Comments] */ class DrawComponent : public Component, public SettableTooltipClient { public: //============================================================================== DrawComponent (int width, int height, float offset=0.0, float scale=1.0); ~DrawComponent(); //============================================================================== //[UserMethods] -- You can add your own custom methods in this section. void setListener(DrawListener *pListener); void drawAt(int x, int y, bool setColor); arma::mat& getData(); void clear(); void DrawData(); //[/UserMethods] void paint (Graphics& g); void resized(); void mouseMove (const MouseEvent& e); void mouseEnter (const MouseEvent& e); void mouseExit (const MouseEvent& e); void mouseDown (const MouseEvent& e); void mouseDrag (const MouseEvent& e); void mouseUp (const MouseEvent& e); void mouseDoubleClick (const MouseEvent& e); void mouseWheelMove (const MouseEvent& e, const MouseWheelDetails& wheel); private: //[UserVariables] -- You can add your own custom variables in this section. DrawListener *m_pListener; int m_width; int m_height; float m_offset; float m_scale; float m_scaleX; float m_scaleY; ScopedPointerm_pG; arma::mat m_data; Image m_image; double m_currData; Colour m_currColor; //[/UserVariables] //============================================================================== //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DrawComponent) }; //[EndFile] You can add extra defines here... //[/EndFile] #endif // __JUCE_HEADER_7594B61AA9F7A49E__