diff --git a/data/layout.xml b/data/layout.xml index 87c47cb..3d7afc6 100644 --- a/data/layout.xml +++ b/data/layout.xml @@ -561,10 +561,10 @@ - + - + diff --git a/src/node_panel_stroke.cpp b/src/node_panel_stroke.cpp index 033b2d8..9ee4350 100644 --- a/src/node_panel_stroke.cpp +++ b/src/node_panel_stroke.cpp @@ -158,7 +158,7 @@ void NodePanelStroke::update_controls() m_tip_noise->m_value.x = b->m_tip_noise; m_jitter_scale->m_value.x = b->m_jitter_scale; m_jitter_angle->m_value.x = b->m_jitter_angle; - m_jitter_scatter->m_value.x = b->m_jitter_scatter; + m_jitter_scatter->m_value.x = m_curves[m_jitter_scatter].to_slider(b->m_jitter_scatter);; m_jitter_flow->m_value.x = b->m_jitter_flow; m_jitter_opacity->m_value.x = b->m_jitter_opacity; m_jitter_hue->m_value.x = b->m_jitter_hue; @@ -488,6 +488,10 @@ void NodePanelStroke::init_controls() [](float v) { return glm::pow(v, 2.f); }, [](float v) { return glm::pow(v, 1.f / 2.f); }, }; + SliderCurve curve_linear1k_perc { + [](float v) { return v * 10.f; }, + [](float v) { return v * 0.1f; }, + }; SliderCurve curve_size1k_perc { [](float v) { float ret = 0; @@ -534,9 +538,10 @@ void NodePanelStroke::init_controls() m_curves[m_tip_flow] = curve_quad; m_curves[m_dual_size] = curve_size1k_perc; m_curves[m_dual_spacing] = curve_size1k_perc; - m_curves[m_dual_scatter] = curve_size1k_perc; + m_curves[m_dual_scatter] = curve_linear1k_perc; m_curves[m_dual_flow] = curve_quad; m_curves[m_pattern_scale] = curve_size1k_perc; + m_curves[m_jitter_scatter] = curve_linear1k_perc; m_tip_aspect_reset = find("tip-aspect-reset"); m_tip_aspect_reset->on_click = [this](Node*) {