def perform_birdseye_view_checks_and_setups(self):
        """Perform checks and setups as needed.

        In order to reset values, perform specific operations and also
        in order to change the graphical elements when stuff changes.

        For instance: when the whole graph changes, when the graph itself
        was moved or when the screen was resized.
        """

        ### update "birdseye fit area" as needed

        if self.birdseye_fit_area != SCREEN_RECT.inflate(-100, -100):

            self.birdseye_fit_area.update(SCREEN_RECT.inflate(-100, -100))
            self.must_update_birdseye_view_objects = True

        ### update objects of bird's eye view state as needed

        if self.must_update_birdseye_view_objects:

            self.redraw_birdseye_graph_surf()
            self.must_update_birdseye_view_objects = False

        else:

            ## this is also performed within the call to the
            ## redraw_birdseye_graph_surf method in the if block above,
            ## but if that block isn't executed, we must do it here
            ##
            ## this is needed because although the union rect didn't
            ## change dimensions, it may have been moved from its
            ## original place since the last time we visited it
            self.birdseye_union_rect = APP_REFS.gm.rectsman.copy()

        ### reset the attribute used to track the mouse position
        self.birdseye_view_last_mouse_pos = (0, 0)

        ### draw the graphical elements;
        ###
        ### the method is prefixed "_once" because it is only called
        ### once whenever needed, not in every loop
        APP_REFS.wm.birdseye_view_draw_once()
Perform checks and setups as needed.

        In order to reset values, perform specific operations and also
        in order to change the graphical elements when stuff changes.

        For instance: when the whole graph changes, when the graph itself
        was moved or when the screen was resized.
        
nodezator/editing/birdseyeview.py