start of Tool Commentary

This commit is contained in:
Sonaion
2019-12-19 09:44:48 +01:00
parent 486f1a0815
commit 559f229b7b
4 changed files with 123 additions and 6 deletions

View File

@@ -37,21 +37,73 @@ protected:
*/
IntelliColorPicker* colorPicker;
/*!
* \brief A pointer to the underlying active Layer, do not work on this. This is used for data grabbing or previews.
*/
LayerObject* Active;
/*!
* \brief A pointer to the drawing canvas of the tool, work on this.
*/
LayerObject* Canvas;
/*!
* \brief A flag checking if the user is currently drawing or not.
*/
bool drawing = false;
public:
/*!
* \brief A constructor setting the general Painting Area and colorPicker.
* \param Area - The general PaintingArea used by the project.
* \param colorPicker - The general colorPicker used by the project
*/
IntelliTool(PaintingArea* Area, IntelliColorPicker* colorPicker);
/*!
* \brief An abstract Destructor.
*/
virtual ~IntelliTool() = 0;
/*!
* \brief A function managing the right click Pressed of a Mouse. Constructing the Canvas to draw on. Call this in child classes!
* \param x - The x coordinate relative to the Active/Canvas Layer.
* \param y - The y coordinate relative to the Active/Canvas Layer.
*/
virtual void onMouseRightPressed(int x, int y);
/*!
* \brief A function managing the right click Released of a Mouse. Merging the Canvas to Active. Call this in child classes!
* \param x - The x coordinate relative to the Active/Canvas Layer.
* \param y - The y coordinate relative to the Active/Canvas Layer.
*/
virtual void onMouseRightReleased(int x, int y);
/*!
* \brief A function managing the left click Pressed of a Mouse. Resetting the current draw. Call this in child classes!
* \param x - The x coordinate relative to the Active/Canvas Layer.
* \param y - The y coordinate relative to the Active/Canvas Layer.
*/
virtual void onMouseLeftPressed(int x, int y);
/*!
* \brief A function managing the left click Released of a Mouse. Call this in child classes!
* \param x - The x coordinate relative to the Active/Canvas Layer.
* \param y - The y coordinate relative to the Active/Canvas Layer.
*/
virtual void onMouseLeftReleased(int x, int y);
/*!
* \brief A function managing the scroll event. A Positive Value means scrolling outwards. Call this in child classes!
* \param value - The absolute the scroll has changed.
*/
virtual void onWheelScrolled(int value);
/*!
* \brief A function managing the mouse moved event. Call this in child classes!
* \param x - The x coordinate of the new Mouse Position.
* \param y - The y coordinate of the new Mouse Position.
*/
virtual void onMouseMoved(int x, int y);