          color = 0 if self._edit_mode == "erase" else 255
          # Reverse action on control click
          color = abs(color - 255) if self._drag_data["control_click"] else color
          if np.array_equal(self._drag_data["starting_location"], location[0]):
              points, scale = self._transform_points(face_idx, location)
              brush_radius = int(round(self._brush_radius * scale))
              cv2.circle(self._meta["mask"][face_idx], tuple(points), brush_radius, color,
                         thickness=-1)
          self._mask_to_alignments(face_idx)
          self._drag_data = dict()
          self._update_cursor(event)
  
      def _mask_to_alignments(self, face_index):
 
</s> remove         color = 0 if self._edit_mode == "erase" else 255
        # Reverse action on control click
        color = abs(color - 255) if self._drag_data["control_click"] else color
 </s> add  </s> remove             self._canvas.create_oval(0, 0, 0, 0, outline="black", state="hidden"), False]
 </s> add             self._get_cursor_shape(), False]
            self._get_cursor_shape_mark(self._meta["mask"][face_idx], location, face_idx)
          color = 0 if self._edit_mode == "erase" else 255
          # Reverse action on control click
          color = abs(color - 255) if self._drag_data["control_click"] else color
          if np.array_equal(self._drag_data["starting_location"], location[0]):
            self._get_cursor_shape_mark(self._meta["mask"][face_idx], location, face_idx)
            self._get_cursor_shape_mark(self._meta["mask"][face_idx], location, face_idx)
            self._get_cursor_shape_mark(self._meta["mask"][face_idx], location, face_idx)
            self._get_cursor_shape_mark(self._meta["mask"][face_idx], location, face_idx)
          self._mask_to_alignments(face_idx)
          self._drag_data = dict()
          self._update_cursor(event)
  
      def _mask_to_alignments(self, face_index):
keep keep keep keep replace replace replace replace keep keep keep keep keep
 feat: add support for rectangle cursor shape for masking (#1189)

* feat: add support for rectangle cursor shape for masking
* formatting update
* fix bug with initial rectangular point

Co-authored-by: markus <markus@helmes.com> 
tools/manual/frameviewer/editor/mask.py