diff --git a/toonz/sources/tnztools/toonzrasterbrushtool.cpp b/toonz/sources/tnztools/toonzrasterbrushtool.cpp index bbe67b1..1bac707 100644 --- a/toonz/sources/tnztools/toonzrasterbrushtool.cpp +++ b/toonz/sources/tnztools/toonzrasterbrushtool.cpp @@ -870,6 +870,8 @@ void SmoothStroke::generatePoints() { ToonzRasterBrushTool::ToonzRasterBrushTool(std::string name, int targetType) : TTool(name) + , m_stroke{} + , m_painting{} , m_rasThickness("Size", 1, 1000, 1, 5) , m_smooth("Smooth:", 0, 50, 0) , m_hardness("Hardness:", 0, 100, 100) @@ -878,18 +880,18 @@ ToonzRasterBrushTool::ToonzRasterBrushTool(std::string name, int targetType) , m_pencil("Pencil", false) , m_pressure("Pressure", true) , m_modifierSize("ModifierSize", -3, 3, 0, true) + , m_modifierLockAlpha("Lock Alpha", false) , m_rasterTrack(0) , m_styleId(0) + , m_targetType(targetType) , m_bluredBrush(0) - , m_active(false) , m_enabled(false) , m_isPrompting(false) , m_firstTime(true) , m_presetsLoaded(false) - , m_targetType(targetType) , m_workingFrameId(TFrameId()) , m_notifier(0) - , m_modifierLockAlpha("Lock Alpha", false) { +{ bind(targetType); m_rasThickness.setNonLinearSlider(); @@ -1209,9 +1211,9 @@ void ToonzRasterBrushTool::onDeactivate() { * ドラッグ中にツールが切り替わった場合に備え、onDeactivateにもMouseReleaseと同じ処理を行う * ---*/ if (m_tileSaver) { - bool isValid = m_enabled && m_active; - m_enabled = false; - m_active = false; + bool isValid = m_enabled && m_painting.active; + m_enabled = false; + m_painting.active = false; if (isValid) { finishRasterBrush(m_mousePos, 1); /*-- 最後のストロークの筆圧は1とする --*/ @@ -1262,9 +1264,9 @@ void ToonzRasterBrushTool::leftButtonDown(const TPointD &pos, // todo: gestire autoenable if (!m_enabled) return; - m_active = !!getImage(true); - if (!m_active) m_active = !!touchImage(); - if (!m_active) return; + m_painting.active = !!getImage(true); + if (!m_painting.active) m_painting.active = !!touchImage(); + if (!m_painting.active) return; // nel caso che il colore corrente sia un cleanup/studiopalette color // oppure il colore di un colorfield @@ -1272,7 +1274,7 @@ void ToonzRasterBrushTool::leftButtonDown(const TPointD &pos, m_styleId = app->getCurrentLevelStyleIndex(); TRasterStyleFx *rfx = cs->getRasterStyleFx(); if (!cs->isStrokeStyle() && (!rfx || !rfx->isInkStyle())) - { m_active = false; return; } + { m_painting.active = false; return; } } else { m_styleId = 1; } @@ -1437,7 +1439,7 @@ void ToonzRasterBrushTool::leftButtonDrag(const TPointD &pos, TRectD invalidateRect; m_lastPoint = pos; - if (!m_enabled || !m_active) { + if (!m_enabled || !m_painting.active) { m_mousePos = pos; m_brushPos = getCenteredCursorPos(pos); return; @@ -1618,9 +1620,9 @@ void ToonzRasterBrushTool::leftButtonDrag(const TPointD &pos, void ToonzRasterBrushTool::leftButtonUp(const TPointD &pos, const TMouseEvent &e) { - bool isValid = m_enabled && m_active; - m_enabled = false; - m_active = false; + bool isValid = m_enabled && m_painting.active; + m_enabled = false; + m_painting.active = false; if (!isValid) { return; } @@ -2033,7 +2035,7 @@ void ToonzRasterBrushTool::onEnter() { Application *app = getApplication(); m_styleId = app->getCurrentLevelStyleIndex(); - m_active = img; + m_painting.active = img; } //---------------------------------------------------------------------------------------------------------- @@ -2274,7 +2276,7 @@ bool ToonzRasterBrushTool::isPencilModeActive() { void ToonzRasterBrushTool::onColorStyleChanged() { // in case the style switched while drawing if (m_tileSaver) { - bool isValid = m_enabled && m_active; + bool isValid = m_enabled && m_painting.active; m_enabled = false; if (isValid) { finishRasterBrush(m_mousePos, 1); diff --git a/toonz/sources/tnztools/toonzrasterbrushtool.h b/toonz/sources/tnztools/toonzrasterbrushtool.h index a749012..ad0e2f9 100644 --- a/toonz/sources/tnztools/toonzrasterbrushtool.h +++ b/toonz/sources/tnztools/toonzrasterbrushtool.h @@ -173,6 +173,13 @@ public: bool isMyPaintStyleSelected() { return m_isMyPaintStyleSelected; } protected: + struct Stroke { + } m_stroke; + + struct Painting { + bool active; + } m_painting; + TPropertyGroup m_prop[2]; TDoublePairProperty m_rasThickness; @@ -211,7 +218,7 @@ protected: BrushPresetManager m_presetsManager; //!< Manager for presets of this tool instance - bool m_active, m_enabled, + bool m_enabled, m_isPrompting, //!< Whether the tool is prompting for spline //! substitution. m_firstTime, m_presetsLoaded;