| 90 | return commitId, commitMessage, commit, hide_refs |
| 91 | |
| 92 | def setup_and_draw_revert_commit(self): |
| 93 | circle = m.Circle( |
| 94 | stroke_color=m.RED, |
| 95 | stroke_width=self.commit_stroke_width, |
| 96 | fill_color=m.RED, |
| 97 | fill_opacity=0.25, |
| 98 | ) |
| 99 | circle.height = 1 |
| 100 | circle.next_to( |
| 101 | self.drawnCommits[self.get_commit().hexsha], |
| 102 | m.LEFT if settings.reverse else m.RIGHT, |
| 103 | buff=1.5, |
| 104 | ) |
| 105 | |
| 106 | start = circle.get_center() |
| 107 | end = self.drawnCommits[self.get_commit().hexsha].get_center() |
| 108 | arrow = m.Arrow( |
| 109 | start, |
| 110 | end, |
| 111 | color=self.fontColor, |
| 112 | stroke_width=self.arrow_stroke_width, |
| 113 | tip_shape=self.arrow_tip_shape, |
| 114 | max_stroke_width_to_length_ratio=1000, |
| 115 | ) |
| 116 | length = numpy.linalg.norm(start - end) - (1.5 if start[1] == end[1] else 3) |
| 117 | arrow.set_length(length) |
| 118 | |
| 119 | commitId = m.Text( |
| 120 | "abcdef", font=self.font, font_size=20, color=self.fontColor |
| 121 | ).next_to(circle, m.UP) |
| 122 | self.toFadeOut.add(commitId) |
| 123 | |
| 124 | commitMessage = "Revert " + self.revert.hexsha[0:6] |
| 125 | commitMessage = commitMessage[:40].replace("\n", " ") |
| 126 | message = m.Text( |
| 127 | "\n".join( |
| 128 | commitMessage[j : j + 20] for j in range(0, len(commitMessage), 20) |
| 129 | )[:100], |
| 130 | font=self.font, |
| 131 | font_size=14, |
| 132 | color=self.fontColor, |
| 133 | ).next_to(circle, m.DOWN) |
| 134 | self.toFadeOut.add(message) |
| 135 | |
| 136 | if settings.animate: |
| 137 | self.play( |
| 138 | self.camera.frame.animate.move_to(circle.get_center()), |
| 139 | m.Create(circle), |
| 140 | m.AddTextLetterByLetter(commitId), |
| 141 | m.AddTextLetterByLetter(message), |
| 142 | run_time=1 / settings.speed, |
| 143 | ) |
| 144 | else: |
| 145 | self.camera.frame.move_to(circle.get_center()) |
| 146 | self.add(circle, commitId, message) |
| 147 | |
| 148 | self.drawnCommits["abcdef"] = circle |
| 149 | self.toFadeOut.add(circle) |