In the vector clip tool, draw the line to be inserted between the right points when there are multiple paths in the clip
Originally committed to SVN as r4547.
This commit is contained in:
parent
6830fbe1ba
commit
227f6b1d69
1 changed files with 5 additions and 2 deletions
|
@ -118,12 +118,15 @@ static void APIENTRY glMultiDrawArraysFallback(GLenum mode, GLint *first, GLsize
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool is_move(SplineCurve const& c) {
|
||||||
|
return c.type == CURVE_POINT;
|
||||||
|
}
|
||||||
|
|
||||||
void VisualToolVectorClip::Draw() {
|
void VisualToolVectorClip::Draw() {
|
||||||
if (spline.empty()) return;
|
if (spline.empty()) return;
|
||||||
|
|
||||||
GL_EXT(PFNGLMULTIDRAWARRAYSPROC, glMultiDrawArrays);
|
GL_EXT(PFNGLMULTIDRAWARRAYSPROC, glMultiDrawArrays);
|
||||||
|
|
||||||
// Get line
|
|
||||||
AssDialogue *line = GetActiveDialogueLine();
|
AssDialogue *line = GetActiveDialogueLine();
|
||||||
if (!line) return;
|
if (!line) return;
|
||||||
|
|
||||||
|
@ -215,7 +218,7 @@ void VisualToolVectorClip::Draw() {
|
||||||
// Draw preview of inserted line
|
// Draw preview of inserted line
|
||||||
if (mode == 1 || mode == 2) {
|
if (mode == 1 || mode == 2) {
|
||||||
if (spline.size() && video.x > INT_MIN && video.y > INT_MIN) {
|
if (spline.size() && video.x > INT_MIN && video.y > INT_MIN) {
|
||||||
SplineCurve *c0 = &spline.front();
|
Spline::reverse_iterator c0 = std::find_if(spline.rbegin(), spline.rend(), is_move);
|
||||||
SplineCurve *c1 = &spline.back();
|
SplineCurve *c1 = &spline.back();
|
||||||
DrawDashedLine(video.x,video.y,c0->p1.x,c0->p1.y,6);
|
DrawDashedLine(video.x,video.y,c0->p1.x,c0->p1.y,6);
|
||||||
DrawDashedLine(video.x,video.y,c1->EndPoint().x,c1->EndPoint().y,6);
|
DrawDashedLine(video.x,video.y,c1->EndPoint().x,c1->EndPoint().y,6);
|
||||||
|
|
Loading…
Reference in a new issue