Merge pull request #30521 from Calinou/improve-2d-editor-line-drawing
Improve line drawing in the 2D editor
This commit is contained in:
commit
5a8e94a1a2
|
@ -349,7 +349,6 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
|
||||
Vector<Vector2> vertices2 = _get_polygon(insert.polygon);
|
||||
pre_move_edit = vertices2;
|
||||
printf("setting pre_move_edit\n");
|
||||
edited_point = PosVertex(insert.polygon, insert.vertex + 1, xform.affine_inverse().xform(insert.pos));
|
||||
vertices2.insert(edited_point.vertex, edited_point.pos);
|
||||
selected_point = edited_point;
|
||||
|
@ -367,7 +366,6 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
|
||||
if (closest.valid()) {
|
||||
|
||||
printf("setting pre_move_edit\n");
|
||||
pre_move_edit = _get_polygon(closest.polygon);
|
||||
edited_point = PosVertex(closest, xform.affine_inverse().xform(closest.pos));
|
||||
selected_point = closest;
|
||||
|
@ -612,7 +610,7 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl
|
|||
Vector2 point = xform.xform(p);
|
||||
Vector2 next_point = xform.xform(p2);
|
||||
|
||||
p_overlay->draw_line(point, next_point, col, 2 * EDSCALE);
|
||||
p_overlay->draw_line(point, next_point, col, Math::round(2 * EDSCALE), true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -636,7 +634,7 @@ void AbstractPolygon2DEditor::forward_canvas_draw_over_viewport(Control *p_overl
|
|||
p2 = points[(i + 1) % n_points] + offset;
|
||||
|
||||
const Vector2 next_point = xform.xform(p2);
|
||||
p_overlay->draw_line(point, next_point, col, 2 * EDSCALE);
|
||||
p_overlay->draw_line(point, next_point, col, Math::round(2 * EDSCALE), true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2351,7 +2351,7 @@ void CanvasItemEditor::_draw_guides() {
|
|||
if (drag_type == DRAG_V_GUIDE && i == dragged_guide_index)
|
||||
continue;
|
||||
float x = xform.xform(Point2(vguides[i], 0)).x;
|
||||
viewport->draw_line(Point2(x, 0), Point2(x, viewport->get_size().y), guide_color);
|
||||
viewport->draw_line(Point2(x, 0), Point2(x, viewport->get_size().y), guide_color, Math::round(EDSCALE));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2361,7 +2361,7 @@ void CanvasItemEditor::_draw_guides() {
|
|||
if (drag_type == DRAG_H_GUIDE && i == dragged_guide_index)
|
||||
continue;
|
||||
float y = xform.xform(Point2(0, hguides[i])).y;
|
||||
viewport->draw_line(Point2(0, y), Point2(viewport->get_size().x, y), guide_color);
|
||||
viewport->draw_line(Point2(0, y), Point2(viewport->get_size().x, y), guide_color, Math::round(EDSCALE));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2373,14 +2373,14 @@ void CanvasItemEditor::_draw_guides() {
|
|||
Ref<Font> font = get_font("font", "Label");
|
||||
Size2 text_size = font->get_string_size(str);
|
||||
viewport->draw_string(font, Point2(dragged_guide_pos.x + 10, RULER_WIDTH + text_size.y / 2 + 10), str, text_color);
|
||||
viewport->draw_line(Point2(dragged_guide_pos.x, 0), Point2(dragged_guide_pos.x, viewport->get_size().y), guide_color);
|
||||
viewport->draw_line(Point2(dragged_guide_pos.x, 0), Point2(dragged_guide_pos.x, viewport->get_size().y), guide_color, Math::round(EDSCALE));
|
||||
}
|
||||
if (drag_type == DRAG_DOUBLE_GUIDE || drag_type == DRAG_H_GUIDE) {
|
||||
String str = vformat("%d px", xform.affine_inverse().xform(dragged_guide_pos).y);
|
||||
Ref<Font> font = get_font("font", "Label");
|
||||
Size2 text_size = font->get_string_size(str);
|
||||
viewport->draw_string(font, Point2(RULER_WIDTH + 10, dragged_guide_pos.y + text_size.y / 2 + 10), str, text_color);
|
||||
viewport->draw_line(Point2(0, dragged_guide_pos.y), Point2(viewport->get_size().x, dragged_guide_pos.y), guide_color);
|
||||
viewport->draw_line(Point2(0, dragged_guide_pos.y), Point2(viewport->get_size().x, dragged_guide_pos.y), guide_color, Math::round(EDSCALE));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2435,14 +2435,14 @@ void CanvasItemEditor::_draw_rulers() {
|
|||
for (int i = Math::ceil(first.x); i < last.x; i++) {
|
||||
Point2 position = (transform * ruler_transform * major_subdivide * minor_subdivide).xform(Point2(i, 0));
|
||||
if (i % (major_subdivision * minor_subdivision) == 0) {
|
||||
viewport->draw_line(Point2(position.x, 0), Point2(position.x, RULER_WIDTH), graduation_color);
|
||||
viewport->draw_line(Point2(position.x, 0), Point2(position.x, RULER_WIDTH), graduation_color, Math::round(EDSCALE));
|
||||
float val = (ruler_transform * major_subdivide * minor_subdivide).xform(Point2(i, 0)).x;
|
||||
viewport->draw_string(font, Point2(position.x + 2, font->get_height()), vformat(((int)val == val) ? "%d" : "%.1f", val), font_color);
|
||||
} else {
|
||||
if (i % minor_subdivision == 0) {
|
||||
viewport->draw_line(Point2(position.x, RULER_WIDTH * 0.33), Point2(position.x, RULER_WIDTH), graduation_color);
|
||||
viewport->draw_line(Point2(position.x, RULER_WIDTH * 0.33), Point2(position.x, RULER_WIDTH), graduation_color, Math::round(EDSCALE));
|
||||
} else {
|
||||
viewport->draw_line(Point2(position.x, RULER_WIDTH * 0.75), Point2(position.x, RULER_WIDTH), graduation_color);
|
||||
viewport->draw_line(Point2(position.x, RULER_WIDTH * 0.75), Point2(position.x, RULER_WIDTH), graduation_color, Math::round(EDSCALE));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2452,7 +2452,7 @@ void CanvasItemEditor::_draw_rulers() {
|
|||
for (int i = Math::ceil(first.y); i < last.y; i++) {
|
||||
Point2 position = (transform * ruler_transform * major_subdivide * minor_subdivide).xform(Point2(0, i));
|
||||
if (i % (major_subdivision * minor_subdivision) == 0) {
|
||||
viewport->draw_line(Point2(0, position.y), Point2(RULER_WIDTH, position.y), graduation_color);
|
||||
viewport->draw_line(Point2(0, position.y), Point2(RULER_WIDTH, position.y), graduation_color, Math::round(EDSCALE));
|
||||
float val = (ruler_transform * major_subdivide * minor_subdivide).xform(Point2(0, i)).y;
|
||||
|
||||
Transform2D text_xform = Transform2D(-Math_PI / 2.0, Point2(font->get_height(), position.y - 2));
|
||||
|
@ -2462,9 +2462,9 @@ void CanvasItemEditor::_draw_rulers() {
|
|||
|
||||
} else {
|
||||
if (i % minor_subdivision == 0) {
|
||||
viewport->draw_line(Point2(RULER_WIDTH * 0.33, position.y), Point2(RULER_WIDTH, position.y), graduation_color);
|
||||
viewport->draw_line(Point2(RULER_WIDTH * 0.33, position.y), Point2(RULER_WIDTH, position.y), graduation_color, Math::round(EDSCALE));
|
||||
} else {
|
||||
viewport->draw_line(Point2(RULER_WIDTH * 0.75, position.y), Point2(RULER_WIDTH, position.y), graduation_color);
|
||||
viewport->draw_line(Point2(RULER_WIDTH * 0.75, position.y), Point2(RULER_WIDTH, position.y), graduation_color, Math::round(EDSCALE));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2495,7 +2495,7 @@ void CanvasItemEditor::_draw_grid() {
|
|||
if (i == 0)
|
||||
last_cell = cell;
|
||||
if (last_cell != cell)
|
||||
viewport->draw_line(Point2(i, 0), Point2(i, s.height), grid_color);
|
||||
viewport->draw_line(Point2(i, 0), Point2(i, s.height), grid_color, Math::round(EDSCALE));
|
||||
last_cell = cell;
|
||||
}
|
||||
}
|
||||
|
@ -2506,7 +2506,7 @@ void CanvasItemEditor::_draw_grid() {
|
|||
if (i == 0)
|
||||
last_cell = cell;
|
||||
if (last_cell != cell)
|
||||
viewport->draw_line(Point2(0, i), Point2(s.width, i), grid_color);
|
||||
viewport->draw_line(Point2(0, i), Point2(s.width, i), grid_color, Math::round(EDSCALE));
|
||||
last_cell = cell;
|
||||
}
|
||||
}
|
||||
|
@ -2601,7 +2601,13 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) {
|
|||
line_starts[i] = Vector2::linear_interpolate(corners_pos[i], corners_pos[(i + 1) % 4], anchor_val);
|
||||
line_ends[i] = Vector2::linear_interpolate(corners_pos[(i + 3) % 4], corners_pos[(i + 2) % 4], anchor_val);
|
||||
snapped = anchors_values[i] == 0.0 || anchors_values[i] == 0.5 || anchors_values[i] == 1.0;
|
||||
viewport->draw_line(line_starts[i], line_ends[i], snapped ? color_snapped : color_base, (i == dragged_anchor || (i + 3) % 4 == dragged_anchor) ? 2 : 1);
|
||||
int line_width;
|
||||
if (i == dragged_anchor || (i + 3) % 4 == dragged_anchor) {
|
||||
line_width = 2;
|
||||
} else {
|
||||
line_width = 1;
|
||||
}
|
||||
viewport->draw_line(line_starts[i], line_ends[i], snapped ? color_snapped : color_base, Math::round(line_width * EDSCALE));
|
||||
}
|
||||
|
||||
// Display the percentages next to the lines
|
||||
|
@ -2646,7 +2652,7 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) {
|
|||
start = Vector2(node_pos_in_parent[0], Math::lerp(node_pos_in_parent[1], node_pos_in_parent[3], ratio));
|
||||
end = start - Vector2(control->get_margin(MARGIN_LEFT), 0);
|
||||
_draw_margin_at_position(control->get_margin(MARGIN_LEFT), parent_transform.xform((start + end) / 2), MARGIN_TOP);
|
||||
viewport->draw_line(parent_transform.xform(start), parent_transform.xform(end), color_base, 1);
|
||||
viewport->draw_line(parent_transform.xform(start), parent_transform.xform(end), color_base, Math::round(EDSCALE));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -2661,7 +2667,7 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) {
|
|||
start = Vector2(node_pos_in_parent[2], Math::lerp(node_pos_in_parent[3], node_pos_in_parent[1], ratio));
|
||||
end = start - Vector2(control->get_margin(MARGIN_RIGHT), 0);
|
||||
_draw_margin_at_position(control->get_margin(MARGIN_RIGHT), parent_transform.xform((start + end) / 2), MARGIN_BOTTOM);
|
||||
viewport->draw_line(parent_transform.xform(start), parent_transform.xform(end), color_base, 1);
|
||||
viewport->draw_line(parent_transform.xform(start), parent_transform.xform(end), color_base, Math::round(EDSCALE));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -2676,7 +2682,7 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) {
|
|||
start = Vector2(Math::lerp(node_pos_in_parent[0], node_pos_in_parent[2], ratio), node_pos_in_parent[1]);
|
||||
end = start - Vector2(0, control->get_margin(MARGIN_TOP));
|
||||
_draw_margin_at_position(control->get_margin(MARGIN_TOP), parent_transform.xform((start + end) / 2), MARGIN_LEFT);
|
||||
viewport->draw_line(parent_transform.xform(start), parent_transform.xform(end), color_base, 1);
|
||||
viewport->draw_line(parent_transform.xform(start), parent_transform.xform(end), color_base, Math::round(EDSCALE));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -2691,7 +2697,7 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) {
|
|||
start = Vector2(Math::lerp(node_pos_in_parent[2], node_pos_in_parent[0], ratio), node_pos_in_parent[3]);
|
||||
end = start - Vector2(0, control->get_margin(MARGIN_BOTTOM));
|
||||
_draw_margin_at_position(control->get_margin(MARGIN_BOTTOM), parent_transform.xform((start + end) / 2), MARGIN_RIGHT);
|
||||
viewport->draw_line(parent_transform.xform(start), parent_transform.xform(end), color_base, 1);
|
||||
viewport->draw_line(parent_transform.xform(start), parent_transform.xform(end), color_base, Math::round(EDSCALE));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -2710,7 +2716,7 @@ void CanvasItemEditor::_draw_control_helpers(Control *control) {
|
|||
case DRAG_MOVE:
|
||||
if (control->get_rotation() != 0.0 || control->get_scale() != Vector2(1, 1)) {
|
||||
Rect2 rect = Rect2(Vector2(node_pos_in_parent[0], node_pos_in_parent[1]), control->get_size());
|
||||
viewport->draw_rect(parent_transform.xform(rect), color_base, false);
|
||||
viewport->draw_rect(parent_transform.xform(rect), color_base, false, Math::round(EDSCALE));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -2751,7 +2757,7 @@ void CanvasItemEditor::_draw_selection() {
|
|||
};
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
viewport->draw_line(pre_drag_endpoints[i], pre_drag_endpoints[(i + 1) % 4], pre_drag_color, 2);
|
||||
viewport->draw_line(pre_drag_endpoints[i], pre_drag_endpoints[(i + 1) % 4], pre_drag_color, Math::round(2 * EDSCALE), true);
|
||||
}
|
||||
} else {
|
||||
viewport->draw_texture(previous_position_icon, (pre_drag_xform.xform(Point2()) - (previous_position_icon->get_size() / 2)).floor());
|
||||
|
@ -2773,7 +2779,7 @@ void CanvasItemEditor::_draw_selection() {
|
|||
Color c = Color(1, 0.6, 0.4, 0.7);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
viewport->draw_line(endpoints[i], endpoints[(i + 1) % 4], c, 2);
|
||||
viewport->draw_line(endpoints[i], endpoints[(i + 1) % 4], c, Math::round(2 * EDSCALE), true);
|
||||
}
|
||||
} else {
|
||||
|
||||
|
@ -2853,18 +2859,16 @@ void CanvasItemEditor::_draw_selection() {
|
|||
}
|
||||
}
|
||||
|
||||
//scale_factor *= zoom;
|
||||
|
||||
viewport->draw_set_transform_matrix(simple_xform);
|
||||
Rect2 x_handle_rect = Rect2(scale_factor.x * EDSCALE, -5 * EDSCALE, 10 * EDSCALE, 10 * EDSCALE);
|
||||
Color x_axis_color(1.0, 0.4, 0.4, 0.6);
|
||||
viewport->draw_rect(x_handle_rect, x_axis_color);
|
||||
viewport->draw_line(Point2(), Point2(scale_factor.x * EDSCALE, 0), x_axis_color);
|
||||
viewport->draw_line(Point2(), Point2(scale_factor.x * EDSCALE, 0), x_axis_color, Math::round(EDSCALE), true);
|
||||
|
||||
Rect2 y_handle_rect = Rect2(-5 * EDSCALE, -(scale_factor.y + 10) * EDSCALE, 10 * EDSCALE, 10 * EDSCALE);
|
||||
Color y_axis_color(0.4, 1.0, 0.4, 0.6);
|
||||
viewport->draw_rect(y_handle_rect, y_axis_color);
|
||||
viewport->draw_line(Point2(), Point2(0, -scale_factor.y * EDSCALE), y_axis_color);
|
||||
viewport->draw_line(Point2(), Point2(0, -scale_factor.y * EDSCALE), y_axis_color, Math::round(EDSCALE), true);
|
||||
|
||||
viewport->draw_set_transform_matrix(viewport->get_transform());
|
||||
}
|
||||
|
|
|
@ -1001,7 +1001,7 @@ void Polygon2DEditor::_uv_draw() {
|
|||
if (i == 0)
|
||||
last_cell = cell;
|
||||
if (last_cell != cell)
|
||||
uv_edit_draw->draw_line(Point2(i, 0), Point2(i, s.height), grid_color);
|
||||
uv_edit_draw->draw_line(Point2(i, 0), Point2(i, s.height), grid_color, Math::round(EDSCALE));
|
||||
last_cell = cell;
|
||||
}
|
||||
}
|
||||
|
@ -1012,7 +1012,7 @@ void Polygon2DEditor::_uv_draw() {
|
|||
if (i == 0)
|
||||
last_cell = cell;
|
||||
if (last_cell != cell)
|
||||
uv_edit_draw->draw_line(Point2(0, i), Point2(s.width, i), grid_color);
|
||||
uv_edit_draw->draw_line(Point2(0, i), Point2(s.width, i), grid_color, Math::round(EDSCALE));
|
||||
last_cell = cell;
|
||||
}
|
||||
}
|
||||
|
@ -1074,7 +1074,7 @@ void Polygon2DEditor::_uv_draw() {
|
|||
int next = uv_draw_max > 0 ? (i + 1) % uv_draw_max : 0;
|
||||
|
||||
if (i < uv_draw_max && uv_drag && uv_move_current == UV_MODE_EDIT_POINT && EDITOR_DEF("editors/poly_editor/show_previous_outline", true)) {
|
||||
uv_edit_draw->draw_line(mtx.xform(points_prev[i]), mtx.xform(points_prev[next]), prev_color, 2 * EDSCALE);
|
||||
uv_edit_draw->draw_line(mtx.xform(points_prev[i]), mtx.xform(points_prev[next]), prev_color, Math::round(EDSCALE), true);
|
||||
}
|
||||
|
||||
Vector2 next_point = uvs[next];
|
||||
|
@ -1082,7 +1082,7 @@ void Polygon2DEditor::_uv_draw() {
|
|||
next_point = uv_create_to;
|
||||
}
|
||||
if (i < uv_draw_max /*&& polygons.size() == 0 && polygon_create.size() == 0*/) { //if using or creating polygons, do not show outline (will show polygons instead)
|
||||
uv_edit_draw->draw_line(mtx.xform(uvs[i]), mtx.xform(next_point), poly_line_color, 2 * EDSCALE);
|
||||
uv_edit_draw->draw_line(mtx.xform(uvs[i]), mtx.xform(next_point), poly_line_color, Math::round(EDSCALE), true);
|
||||
}
|
||||
|
||||
rect.expand_to(mtx.basis_xform(uvs[i]));
|
||||
|
@ -1103,7 +1103,7 @@ void Polygon2DEditor::_uv_draw() {
|
|||
|
||||
if (idx_next < 0 || idx_next >= uvs.size())
|
||||
continue;
|
||||
uv_edit_draw->draw_line(mtx.xform(uvs[idx]), mtx.xform(uvs[idx_next]), polygon_line_color, 2 * EDSCALE);
|
||||
uv_edit_draw->draw_line(mtx.xform(uvs[idx]), mtx.xform(uvs[idx_next]), polygon_line_color, Math::round(EDSCALE), true);
|
||||
}
|
||||
if (points.size() >= 3) {
|
||||
uv_edit_draw->draw_polygon(polypoints, polygon_fill_color);
|
||||
|
@ -1115,7 +1115,7 @@ void Polygon2DEditor::_uv_draw() {
|
|||
if (weight_r.ptr()) {
|
||||
Vector2 draw_pos = mtx.xform(uvs[i]);
|
||||
float weight = weight_r[i];
|
||||
uv_edit_draw->draw_rect(Rect2(draw_pos - Vector2(2, 2) * EDSCALE, Vector2(5, 5) * EDSCALE), Color(weight, weight, weight, 1.0));
|
||||
uv_edit_draw->draw_rect(Rect2(draw_pos - Vector2(2, 2) * EDSCALE, Vector2(5, 5) * EDSCALE), Color(weight, weight, weight, 1.0), Math::round(EDSCALE));
|
||||
} else {
|
||||
if (i < uv_draw_max) {
|
||||
uv_edit_draw->draw_texture(handle, mtx.xform(uvs[i]) - handle->get_size() * 0.5);
|
||||
|
@ -1129,21 +1129,10 @@ void Polygon2DEditor::_uv_draw() {
|
|||
for (int i = 0; i < polygon_create.size(); i++) {
|
||||
Vector2 from = uvs[polygon_create[i]];
|
||||
Vector2 to = (i + 1) < polygon_create.size() ? uvs[polygon_create[i + 1]] : uv_create_to;
|
||||
uv_edit_draw->draw_line(mtx.xform(from), mtx.xform(to), polygon_line_color, 2);
|
||||
uv_edit_draw->draw_line(mtx.xform(from), mtx.xform(to), polygon_line_color, Math::round(EDSCALE), true);
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
PoolVector<int> splits = node->get_splits();
|
||||
|
||||
for (int i = 0; i < splits.size(); i += 2) {
|
||||
int idx_from = splits[i];
|
||||
int idx_to = splits[i + 1];
|
||||
if (idx_from < 0 || idx_to >= uvs.size())
|
||||
continue;
|
||||
uv_edit_draw->draw_line(mtx.xform(uvs[idx_from]), mtx.xform(uvs[idx_to]), poly_line_color, 2);
|
||||
}
|
||||
#endif
|
||||
if (uv_mode == UV_MODE_PAINT_WEIGHT || uv_mode == UV_MODE_CLEAR_WEIGHT) {
|
||||
|
||||
NodePath bone_path;
|
||||
|
@ -1182,8 +1171,8 @@ void Polygon2DEditor::_uv_draw() {
|
|||
Transform2D endpoint_xform = bone_xform * n->get_transform();
|
||||
|
||||
Color color = current ? Color(1, 1, 1) : Color(0.5, 0.5, 0.5);
|
||||
uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), Color(0, 0, 0), current ? 5 : 4);
|
||||
uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), color, current ? 3 : 2);
|
||||
uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), Color(0, 0, 0), Math::round((current ? 5 : 4) * EDSCALE));
|
||||
uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), color, Math::round((current ? 3 : 2) * EDSCALE));
|
||||
}
|
||||
|
||||
if (!found_child) {
|
||||
|
@ -1192,8 +1181,8 @@ void Polygon2DEditor::_uv_draw() {
|
|||
Transform2D endpoint_xform = bone_xform * Transform2D(0, Vector2(bone->get_default_length(), 0));
|
||||
|
||||
Color color = current ? Color(1, 1, 1) : Color(0.5, 0.5, 0.5);
|
||||
uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), Color(0, 0, 0), current ? 5 : 4);
|
||||
uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), color, current ? 3 : 2);
|
||||
uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), Color(0, 0, 0), Math::round((current ? 5 : 4) * EDSCALE));
|
||||
uv_edit_draw->draw_line(mtx.xform(bone_xform.get_origin()), mtx.xform(endpoint_xform.get_origin()), color, Math::round((current ? 3 : 2) * EDSCALE));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue