def normal_mode_draw(self):
        """Draw operations for the normal mode."""
        ### reference objects/data locally for quick access

        image = self.image
        offset = self.offset
        rect = self.rect.inflate(-2, -2)

        ### clean the widget surface
        image.blit(self.clean_bg, (0, 0))

        ### draw buttons on the widget surface

        for button in self.buttons:

            image.blit(button.image, button.rect.move(offset))

        ### iterate over the lists of items, drawing the
        ### items on the widget surface

        for a_list in (self.items, self.available_items):

            for item in a_list.get_colliding(rect):

                image.blit(item.image, item.rect.move(offset))

        ### draw a border around the widget surface
        draw_border(image, thickness=2)

        ### draw the widget's surface on the screen
        super().draw()

        ### finally update the screen
        SERVICES_NS.update_screen()
Draw operations for the normal mode.
nodezator/our3rdlibs/sortingeditor/modes.py