| 876 | } |
| 877 | |
| 878 | void DrawingProgramSelection::draw_gui(SkCanvas* canvas, const DrawData& drawData) { |
| 879 | if(is_something_selected() && !camSpaceSelection.triangle.empty()) { |
| 880 | SkPathBuilder selectionRectPath; |
| 881 | selectionRectPath.moveTo(convert_vec2<SkPoint>(camSpaceSelection.triangle[0].p[0])); |
| 882 | selectionRectPath.lineTo(convert_vec2<SkPoint>(camSpaceSelection.triangle[0].p[1])); |
| 883 | selectionRectPath.lineTo(convert_vec2<SkPoint>(camSpaceSelection.triangle[0].p[2])); |
| 884 | selectionRectPath.lineTo(convert_vec2<SkPoint>(camSpaceSelection.triangle[1].p[2])); |
| 885 | selectionRectPath.close(); |
| 886 | SkPaint p{SkColor4f{0.3f, 0.6f, 0.9f, 0.4f}}; |
| 887 | canvas->drawPath(selectionRectPath.detach(), p); |
| 888 | |
| 889 | if(drawP.is_actual_selection_tool(drawP.drawTool->get_type())) { |
| 890 | if(transformOpHappening == TransformOperation::NONE || transformOpHappening == TransformOperation::ROTATE || transformOpHappening == TransformOperation::ROTATE_RELOCATE_CENTER) |
| 891 | drawP.draw_drag_circle(canvas, rotateData.centerHandlePoint, {0.9f, 0.5f, 0.1f, 1.0f}, drawData); |
| 892 | if(transformOpHappening == TransformOperation::NONE || transformOpHappening == TransformOperation::ROTATE) |
| 893 | drawP.draw_drag_circle(canvas, rotateData.handlePoint, {0.9f, 0.5f, 0.1f, 1.0f}, drawData, ROTATION_POINT_RADIUS_MULTIPLIER); |
| 894 | if(transformOpHappening == TransformOperation::NONE || transformOpHappening == TransformOperation::SCALE) |
| 895 | drawP.draw_drag_circle(canvas, scaleData.handlePoint, {0.1f, 0.9f, 0.9f, 1.0f}, drawData); |
| 896 | } |
| 897 | } |
| 898 | } |
no test coverage detected