Paint Stroke: Fix strokes drawing.

This commit is contained in:
Germano
2018-05-10 16:29:14 -03:00
parent 3f3326af1c
commit 15580470fd

View File

@@ -149,13 +149,18 @@ static void paint_draw_smooth_cursor(bContext *C, int x, int y, void *customdata
glEnable(GL_LINE_SMOOTH);
glEnable(GL_BLEND);
ARegion *ar = stroke->vc.ar;
unsigned int pos = GWN_vertformat_attr_add(immVertexFormat(), "pos", GWN_COMP_F32, 2, GWN_FETCH_FLOAT);
immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
immUniformColor4ubv(paint->paint_cursor_col);
immBegin(GWN_PRIM_LINES, 2);
immVertex2f(pos, x, y);
immVertex2f(pos, stroke->last_mouse_position[0], stroke->last_mouse_position[1]);
immVertex2f(pos,
stroke->last_mouse_position[0] + ar->winrct.xmin,
stroke->last_mouse_position[1] + ar->winrct.ymin);
immEnd();
immUnbindProgram();
@@ -187,12 +192,22 @@ static void paint_draw_line_cursor(bContext *C, int x, int y, void *customdata)
immBegin(GWN_PRIM_LINES, 2);
ARegion *ar = stroke->vc.ar;
if (stroke->constrain_line) {
immVertex2f(shdr_pos, stroke->last_mouse_position[0], stroke->last_mouse_position[1]);
immVertex2f(shdr_pos, stroke->constrained_pos[0], stroke->constrained_pos[1]);
immVertex2f(shdr_pos,
stroke->last_mouse_position[0] + ar->winrct.xmin,
stroke->last_mouse_position[1] + ar->winrct.ymin);
immVertex2f(shdr_pos,
stroke->constrained_pos[0] + ar->winrct.xmin,
stroke->constrained_pos[1] + ar->winrct.ymin);
}
else {
immVertex2f(shdr_pos, stroke->last_mouse_position[0], stroke->last_mouse_position[1]);
immVertex2f(shdr_pos,
stroke->last_mouse_position[0] + ar->winrct.xmin,
stroke->last_mouse_position[1] + ar->winrct.ymin);
immVertex2f(shdr_pos, x, y);
}