{
  "name": "Responder",
  "component": "gui",
  "header": "nativeui/responder.h",
  "type": "Class",
  "namespace": "nu",
  "description": "Base class of Window and View for event processing.",
  "methods": [
    {
      "signature": {
        "name": "setCapture",
        "parameters": [],
        "shortStr": "setCapture()",
        "str": "setCapture()"
      },
      "description": "Set mouse capture to the responder.",
      "id": "setcapture"
    },
    {
      "signature": {
        "name": "releaseCapture",
        "parameters": [],
        "shortStr": "releaseCapture()",
        "str": "releaseCapture()"
      },
      "description": "Release mouse capture if the responder has mouse capture.",
      "id": "releasecapture"
    },
    {
      "signature": {
        "returnType": {
          "name": "Boolean"
        },
        "name": "hasCapture",
        "parameters": [],
        "shortStr": "hasCapture()",
        "str": "hasCapture()"
      },
      "description": "Return whether the responder has mouse capture.",
      "id": "hascapture"
    }
  ],
  "events": [
    {
      "signature": {
        "returnType": {
          "name": "Boolean"
        },
        "name": "onMouseDown",
        "parameters": [
          {
            "type": {
              "name": "Responder",
              "id": "responder"
            },
            "name": "self"
          },
          {
            "type": {
              "name": "MouseEvent",
              "id": "mouseevent"
            },
            "name": "event"
          }
        ],
        "shortStr": "onMouseDown(self, event)",
        "str": "onMouseDown(self, event)"
      },
      "description": "Emitted when pressing mouse buttons.",
      "id": "onmousedown-self-event"
    },
    {
      "signature": {
        "returnType": {
          "name": "Boolean"
        },
        "name": "onMouseUp",
        "parameters": [
          {
            "type": {
              "name": "Responder",
              "id": "responder"
            },
            "name": "self"
          },
          {
            "type": {
              "name": "MouseEvent",
              "id": "mouseevent"
            },
            "name": "event"
          }
        ],
        "shortStr": "onMouseUp(self, event)",
        "str": "onMouseUp(self, event)"
      },
      "description": "Emitted when releasing mouse buttons.",
      "id": "onmouseup-self-event"
    },
    {
      "signature": {
        "name": "onMouseMove",
        "parameters": [
          {
            "type": {
              "name": "Responder",
              "id": "responder"
            },
            "name": "self"
          },
          {
            "type": {
              "name": "MouseEvent",
              "id": "mouseevent"
            },
            "name": "event"
          }
        ],
        "shortStr": "onMouseMove(self, event)",
        "str": "onMouseMove(self, event)"
      },
      "description": "Emitted when user moves mouse in the responder.",
      "id": "onmousemove-self-event"
    },
    {
      "signature": {
        "name": "onMouseEnter",
        "parameters": [
          {
            "type": {
              "name": "Responder",
              "id": "responder"
            },
            "name": "self"
          },
          {
            "type": {
              "name": "MouseEvent",
              "id": "mouseevent"
            },
            "name": "event"
          }
        ],
        "shortStr": "onMouseEnter(self, event)",
        "str": "onMouseEnter(self, event)"
      },
      "description": "Emitted when mouse enters the responder.",
      "id": "onmouseenter-self-event"
    },
    {
      "signature": {
        "name": "onMouseLeave",
        "parameters": [
          {
            "type": {
              "name": "Responder",
              "id": "responder"
            },
            "name": "self"
          },
          {
            "type": {
              "name": "MouseEvent",
              "id": "mouseevent"
            },
            "name": "event"
          }
        ],
        "shortStr": "onMouseLeave(self, event)",
        "str": "onMouseLeave(self, event)"
      },
      "description": "Emitted when mouse leaves the responder.",
      "id": "onmouseleave-self-event"
    },
    {
      "signature": {
        "returnType": {
          "name": "Boolean"
        },
        "name": "onKeyDown",
        "parameters": [
          {
            "type": {
              "name": "Responder",
              "id": "responder"
            },
            "name": "self"
          },
          {
            "type": {
              "name": "KeyEvent",
              "id": "keyevent"
            },
            "name": "event"
          }
        ],
        "shortStr": "onKeyDown(self, event)",
        "str": "onKeyDown(self, event)"
      },
      "description": "Emitted when pressing keyboard.",
      "id": "onkeydown-self-event"
    },
    {
      "signature": {
        "returnType": {
          "name": "Boolean"
        },
        "name": "onKeyUp",
        "parameters": [
          {
            "type": {
              "name": "Responder",
              "id": "responder"
            },
            "name": "self"
          },
          {
            "type": {
              "name": "KeyEvent",
              "id": "keyevent"
            },
            "name": "event"
          }
        ],
        "shortStr": "onKeyUp(self, event)",
        "str": "onKeyUp(self, event)"
      },
      "description": "Emitted when releasing keyboard.",
      "id": "onkeyup-self-event"
    },
    {
      "signature": {
        "name": "onCaptureLost",
        "parameters": [
          {
            "type": {
              "name": "Responder",
              "id": "responder"
            },
            "name": "self"
          }
        ],
        "shortStr": "onCaptureLost(self)",
        "str": "onCaptureLost(self)"
      },
      "description": "Emitted when the mouse capture on responder has been released.",
      "id": "oncapturelost-self"
    }
  ],
  "module": "gui",
  "id": "responder"
}