improve update_brush performance
This commit is contained in:
@@ -83,7 +83,7 @@ void CanvasModeBasicCamera::on_MouseEvent(MouseEvent* me, glm::vec2& loc)
|
||||
m_zoom_canvas += me->m_scroll_delta * 0.1f;
|
||||
Canvas::I->m_cam_fov = glm::clamp(Canvas::I->m_cam_fov - me->m_scroll_delta * 2.0f,
|
||||
Canvas::I->m_cam_fov_min, Canvas::I->m_cam_fov_max);
|
||||
App::I->brush_update();
|
||||
App::I->brush_update(true, true);
|
||||
break;
|
||||
case kEventType::MouseCancel:
|
||||
m_draggingR = false;
|
||||
@@ -110,7 +110,7 @@ void CanvasModeBasicCamera::on_GestureEvent(GestureEvent* ge)
|
||||
Canvas::I->m_cam_fov_min, Canvas::I->m_cam_fov_max);
|
||||
auto angle = Canvas::I->m_pan * 0.003f;
|
||||
Canvas::I->m_cam_rot = glm::eulerAngleXY(angle.y, angle.x);
|
||||
App::I->brush_update();
|
||||
App::I->brush_update(true, true);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -154,7 +154,7 @@ void CanvasModePen::on_MouseEvent(MouseEvent* me, glm::vec2& loc)
|
||||
Canvas::I->pick_start();
|
||||
glm::vec4 pix = Canvas::I->pick_get(loc);
|
||||
Canvas::I->m_current_brush->m_tip_color = pix;
|
||||
App::I->brush_update();
|
||||
App::I->brush_update(true, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -181,7 +181,7 @@ void CanvasModePen::on_MouseEvent(MouseEvent* me, glm::vec2& loc)
|
||||
node->mouse_release();
|
||||
glm::vec4 pix = Canvas::I->pick_get(loc);
|
||||
Canvas::I->m_current_brush->m_tip_color = pix;
|
||||
App::I->brush_update();
|
||||
App::I->brush_update(true, false);
|
||||
Canvas::I->pick_end();
|
||||
}
|
||||
m_dragging = false;
|
||||
@@ -218,14 +218,14 @@ void CanvasModePen::on_MouseEvent(MouseEvent* me, glm::vec2& loc)
|
||||
{
|
||||
glm::vec4 pix = Canvas::I->pick_get(loc);
|
||||
Canvas::I->m_current_brush->m_tip_color = pix;
|
||||
App::I->brush_update();
|
||||
App::I->brush_update(true, false);
|
||||
}
|
||||
if (m_dragging && m_resizing)
|
||||
{
|
||||
auto diff = m_cur_pos - m_size_pos_start;
|
||||
auto curve = App::I->stroke->m_curves[App::I->stroke->m_tip_size];
|
||||
Canvas::I->m_current_brush->m_tip_size = glm::max(curve.to_value(m_size_value_start + diff.x * 0.001f), 0.001f);
|
||||
App::I->brush_update();
|
||||
App::I->brush_update(true, true);
|
||||
}
|
||||
m_cur_pos = loc;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user