def get_image_exporting_settings(self, size):
        """Return settings to export an image."""
        ### set form data to None
        self.form_data = None

        ### store size
        self.size = size

        ### draw screen sized semi-transparent object,
        ### so that screen behind form appears as if
        ### unhighlighted

        blit_on_screen(UNHIGHLIGHT_SURF_MAP[SCREEN_RECT.size], (0, 0))

        ### create and store a label informing the image
        ### size to the user

        text = (t.editing.image_export_form.final_image_size).format(*size)

        bottomleft = self.rect.move(5, -50).bottomleft

        size_label = Object2D.from_surface(
            surface=(render_text(text=text, **TEXT_SETTINGS)),
            coordinates_name="bottomleft",
            coordinates_value=bottomleft,
        )

        self.widgets.append(size_label)

        ### loop until running attribute is set to False

        self.running = True
        self.loop_holder = self

        while True:

            try:

                while self.running:

                    ### perform various checkups for this frame;
                    ###
                    ### stuff like maintaing a constant framerate and more
                    SERVICES_NS.frame_checkups()

                    ### execute the handle_input/update/draw methods
                    ###
                    ### the SwitchLoopException thrown when focusing in and
                    ### out of some widgets is caught in the try clause;

                    self.loop_holder.handle_input()
                    self.loop_holder.update()
                    self.loop_holder.draw()

                ## if we leave the inner loop, also exit the outer one
                break

            except SwitchLoopException as err:

                ## use the loop holder in the err
                ## attribute of same name
                self.loop_holder = err.loop_holder

            ### we don't need to catch the QuitAppException,
            ### since it is caught in the main loop


        ### remove the size label
        self.widgets.remove(size_label)

        ### blit the rect sized semitransparent obj
        ### on the screen so the form appear as if
        ### unhighlighted
        self.rect_size_semitransp_obj.draw()

        ### finally, return the form data
        return self.form_data
Return settings to export an image.
nodezator/editing/imageexport/form.py