docs: def _draw_simple_state_port(self, context, direction, color, transparency):
          """Draw the port of a simple state (ExecutionState, LibraryState)
  
          Connector for execution states can only be connected to the outside. Thus the connector fills the whole
          border of the state.
  
          :param context: Cairo context
          :param direction: The direction the port is pointing to
          :param color: Desired color of the port
          :param transparency: The level of transparency
          """
          c = context
  
          width, height = self.port_size
          c.set_line_width(self.port_side_size * 0.03 * self._port_image_cache.multiplicator)
  
          # Save/restore context, as we move and rotate the connector to the desired pose
          c.save()
          c.rel_move_to(self.port_side_size / 2., self.port_side_size / 2.)
          PortView._rotate_context(c, direction)
          PortView._draw_single_connector(c, width, height)
          c.restore()
  
          # Colorize the generated connector path
          if self.connected:
              c.set_source_rgba(*gap_draw_helper.get_col_rgba(color, transparency))
          else:
              c.set_source_rgb(*gui_config.gtk_colors['PORT_UNCONNECTED'].to_floats())
          c.fill_preserve()
          c.set_source_rgba(*gap_draw_helper.get_col_rgba(color, transparency))
          c.stroke()