{ "type": "class",
  "qname": "org.apache.royale.textLayout.events.DamageEvent",
  "baseClassname": "org.apache.royale.events.Event"
  ,
    "description": "A TextFlow instance dispatches this each time it is marked as damaged.  Damage can be caused by changes to the model or changes to the layout.",
  "tags": [
  {  "tagName": "see",
         "values": ["org.apache.royale.textLayout.elements.TextFlow"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "field",
        "qname": "DAMAGE",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Event type for DamageEvent"},
      { "type": "method",
        "qname": "org.apache.royale.textLayout.events.DamageEvent",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor",
        "tags": [
        {  "tagName": "param",
               "values": ["damageAbsoluteStart text index of the start of the damage", "damageLength length of text that was damaged"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "type", "type": "String"},
        { "name": "bubbles", "type": "Boolean"},
        { "name": "cancelable", "type": "Boolean"},
        { "name": "textFlow", "type": "org.apache.royale.textLayout.elements.TextFlow"},
        { "name": "damageAbsoluteStart", "type": "int"},
        { "name": "damageLength", "type": "int"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.elements.TextFlow",
        "qname": "textFlow",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "TextFlow owning the damage",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "damageAbsoluteStart",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Absolute start of the damage",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "damageLength",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Length of the damage",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
