#include <lib_ca.h>
Lets implement custom CA brushes. Normally it is only needed to implement MouseInputStart(), MouseInputDrag() and MouseInputEnd() functions, since the rest have default implementations in BrushBase.
There are other helper functions in BrushBase as well, available through the m_pBrushBase pointer.
Public Attributes | |
BrushBase * | m_pBrushBase |
Mouse Input | |
virtual Bool | MouseInputStart (BaseDocument *doc, BaseContainer &data, BaseDraw *bd, EditorWindow *win, const BaseContainer &msg, Int32 &flags) |
virtual Bool | MouseInputDrag (BaseDocument *doc, BaseContainer &data, BaseDraw *bd, EditorWindow *win, const BaseContainer &msg, BrushVertexData *vdata, Int32 vcnt, Float x, Float y, Int32 &flags) |
virtual Bool | MouseInputEnd (BaseDocument *doc, BaseContainer &data, BaseDraw *bd, EditorWindow *win, const BaseContainer &msg) |
Additional Inherited Members | |
![]() | |
static constexpr Int32 | MSG_TOOL_SYSTEM_HOOK_INIT |
static constexpr Int32 | MSG_TOOL_SYSTEM_HOOK_FREE |
![]() | |
Bool | modeChanged |
Bool | firstaction |
Int32 | last_dirty |
BrushToolData | ( | ) |
~BrushToolData | ( | ) |
|
virtual |
Implemented by BrushBase. Normally there is no need to overload this function.
Reimplemented from DescriptionToolData.
|
virtual |
Implemented by BrushBase. Normally there is no need to overload this function.
Reimplemented from DescriptionToolData.
|
virtual |
Implemented by BrushBase. Normally there is no need to overload this function.
Reimplemented from DescriptionToolData.
|
virtual |
Implemented by BrushBase. Normally there is no need to overload this function.
Reimplemented from DescriptionToolData.
|
virtual |
|
virtual |
Implemented by BrushBase. Normally there is no need to overload this function.
Reimplemented from DescriptionToolData.
|
virtual |
Implemented by BrushBase. Normally there is no need to overload this function.
Reimplemented from DescriptionToolData.
|
virtual |
|
virtual |
|
virtual |
Called at the start of mouse input. Initialize any data needed for the drag and set any flags needed.
[in] | doc | The document. |
[in] | data | The data. |
[in] | bd | The base draw. |
[in] | win | The editor window. |
[in] | msg | The input message. |
[in] | flags | The flags. Add the flags needed with the |= operator: BRUSHBASE_MOUSE_FLAG |
|
virtual |
Called during mouse drag.
[in] | doc | The document. |
[in] | data | The data. |
[in] | bd | The base draw. |
[in] | win | The editor window. |
[in] | msg | The input message. |
[in] | vdata | The brush vertex data. |
[in] | vcnt | The brush vertex count. |
[in] | x | The mouse X position. |
[in] | y | The mouse Y position. |
[in] | flags | The flags. Add the flags needed with the |= operator: BRUSHBASE_MOUSE_FLAG |
|
virtual |
Called after mouse drag. Free any data no longer needed.
[in] | doc | The document. |
[in] | data | The data. |
[in] | bd | The base draw. |
[in] | win | The editor window. |
[in] | msg | The input message. |
BrushBase* m_pBrushBase |