Skip to content

Commit 6e6b443

Browse files
committed
fix drawing circle unintentionally drawing only points
1 parent 60b2297 commit 6e6b443

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

geometer.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -802,7 +802,6 @@ UPDATE_AND_RENDER(UpdateAndRender)
802802

803803
if(!Memory->IsInitialized)
804804
{
805-
/* Reset(State); */
806805
InitArena(&Arena, (u8 *)Memory->PermanentStorage + sizeof(state), Memory->PermanentStorageSize - sizeof(state));
807806

808807
// NOTE: need initial save state to undo to
@@ -1272,7 +1271,7 @@ UPDATE_AND_RENDER(UpdateAndRender)
12721271
Assert(State->ipoSelect);
12731272
poAtDist = ChooseCirclePoint(State, CanvasMouseP, SnapMouseP, C_ShapeLock.EndedDown);
12741273

1275-
if(DEBUGClick(C_Arc))
1274+
if(DEBUGClick(C_FullShape))
12761275
{ // start drawing arc/circle
12771276
v2 poFocus = POINTS(State->ipoSelect);
12781277
f32 Radius = State->Length;
@@ -1300,6 +1299,7 @@ UPDATE_AND_RENDER(UpdateAndRender)
13001299

13011300
case MODE_ExtendArc:
13021301
{
1302+
Assert(State->ipoSelect);
13031303
Assert(State->ipoArcStart);
13041304
poAtDist = ChooseCirclePoint(State, CanvasMouseP, SnapMouseP, C_ShapeLock.EndedDown);
13051305

@@ -1308,8 +1308,9 @@ UPDATE_AND_RENDER(UpdateAndRender)
13081308
if(!C_Arc.EndedDown)
13091309
{ // finish drawing arc/circle
13101310
v2 poFocus = POINTS(State->ipoSelect);
1311+
v2 poExtend = ClosestPtOnCircle(SnapMouseP, poFocus, State->Length);
13111312
if(V2WithinEpsilon(SnapMouseP, poFocus, POINT_EPSILON) ||
1312-
V2WithinEpsilon(SnapMouseP, POINTS(State->ipoArcStart), POINT_EPSILON))
1313+
V2WithinEpsilon(poExtend, POINTS(State->ipoArcStart), POINT_EPSILON))
13131314
{ // Same angle -> full circle
13141315
AddCircle(State, State->ipoSelect, State->ipoArcStart);
13151316
}

0 commit comments

Comments
 (0)