code: def viewport_changed(self, screen_id, x, y, width, height):
          
          if not isinstance(screen_id, baseinteger):
              raise TypeError("screen_id can only be an instance of type baseinteger")
          if not isinstance(x, baseinteger):
              raise TypeError("x can only be an instance of type baseinteger")
          if not isinstance(y, baseinteger):
              raise TypeError("y can only be an instance of type baseinteger")
          if not isinstance(width, baseinteger):
              raise TypeError("width can only be an instance of type baseinteger")
          if not isinstance(height, baseinteger):
              raise TypeError("height can only be an instance of type baseinteger")
          self._call("viewportChanged",
                       in_p=[screen_id, x, y, width, height])
docs: Signals that framebuffer window viewport has changed.
  
          in screen_id of type int
              Monitor to take the screenshot from.
  
          in x of type int
              Framebuffer x offset.
  
          in y of type int
              Framebuffer y offset.
  
          in width of type int
              Viewport width.
  
          in height of type int
              Viewport height.
  
          raises :class:`OleErrorInvalidarg`
              The specified viewport data is invalid.