MCPcopy Create free account
hub / github.com/ErrorAtLine0/infinipaint / draw_gui

Method draw_gui

src/DrawingProgram/DrawingProgramSelection.cpp:878–898  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

876}
877
878void 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}

Callers 1

drawMethod · 0.80

Calls 5

draw_drag_circleMethod · 0.80
closeMethod · 0.65
emptyMethod · 0.45
get_typeMethod · 0.45

Tested by

no test coverage detected