fix direction for line tool
This commit is contained in:
@@ -189,9 +189,10 @@ std::vector<StrokeSample> Stroke::compute_samples()
|
||||
auto pos = glm::lerp(A.pos, B.pos, t);
|
||||
float pressure = glm::lerp(A.pressure, B.pressure, t);
|
||||
|
||||
if (m_dir_dist > m_dir_step && m_last_kp != m_dir_kp)
|
||||
if (m_dir_dist > m_dir_step)
|
||||
{
|
||||
glm::vec2 v = glm::normalize(m_keypoints[m_last_kp].pos - m_keypoints[m_dir_kp].pos);
|
||||
int next_kp = m_last_kp == m_dir_kp ? m_last_kp + 1 : m_dir_kp;
|
||||
glm::vec2 v = glm::normalize(m_keypoints[m_last_kp].pos - m_keypoints[next_kp].pos);
|
||||
m_dir_angle = -glm::orientedAngle(v, m_dir_ref);
|
||||
if (m_brush->m_tip_angle_smooth > 0 && (glm::abs(m_dir_angle) > glm::radians(30.f) || !m_dir_valid))
|
||||
{
|
||||
|
||||
@@ -291,6 +291,7 @@ void CanvasModeLine::on_MouseEvent(MouseEvent* me, glm::vec2& loc)
|
||||
{
|
||||
Canvas::I->stroke_start({ m_drag_start, 0 }, 1.f);
|
||||
Canvas::I->stroke_update({ m_drag_pos, 0 }, 1.f);
|
||||
Canvas::I->stroke_draw();
|
||||
Canvas::I->stroke_end();
|
||||
}
|
||||
m_dragging = false;
|
||||
|
||||
Reference in New Issue
Block a user