{ "type": "class",
  "qname": "org.apache.royale.textLayout.events.FlowElementMouseEvent",
  "baseClassname": "org.apache.royale.events.Event"
  ,
    "description": "A link element dispatches this event when it detects mouse activity. The Text Layout Framework includes this special version of mouse events because mouse events are generally unwanted when a flow element is embedded in an editable text flow, and because link elements are not in the display list (they are not DisplayObjects). <p>You can add an event listener to a link element to listen for this type of event. If you choose to cancel the event by calling <code>Event.preventDefault()</code>, the default behavior associated with the event will not occur. </p> <p>If you choose not to add an event listener to the link element, or your event listener function does not cancel the behavior, the event is again dispatched, but this time by the link element's associated TextFlow instance rather than by the link element itself. This provides a second opportunity to listen for this event with an event listener attached to the TextFlow. </p> <p>FlowElementMouseEvents are dispatched only when the text cannot be edited or when the control key is pressed concurrently with the mouse activity.</p> <p> The following six event types are dispatched only when the text cannot be edited or when the control key is pressed: <ul> <li><code>FlowElementMouseEvent.CLICK</code></li> <li><code>FlowElementMouseEvent.MOUSE_DOWN</code></li> <li><code>FlowElementMouseEvent.MOUSE_UP</code></li> <li><code>FlowElementMouseEvent.MOUSE_MOVE</code></li> <li><code>FlowElementMouseEvent.ROLL_OVER</code></li> <li><code>FlowElementMouseEvent.ROLL_OUT</code></li> </ul> </p>",
  "tags": [
  {  "tagName": "see",
         "values": ["org.apache.royale.textLayout.elements.LinkElement", "org.apache.royale.events.MouseEvent"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "field",
        "qname": "MOUSE_DOWN",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Defines the value of the <code>type</code> property of a <code>mouseDown</code> event object.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#MOUSE_DOWN"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "MOUSE_UP",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Defines the value of the <code>type</code> property of a <code>mouseUp</code> event object.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#MOUSE_UP"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "MOUSE_MOVE",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Defines the value of the <code>type</code> property of a <code>mouseMove</code> event object.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#MOUSE_MOVE"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "ROLL_OVER",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Defines the value of the <code>type</code> property of a <code>rollOver</code> event object.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#ROLL_OVER"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "ROLL_OUT",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Defines the value of the <code>type</code> property of a <code>rollOut</code> event object.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#ROLL_OUT"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "CLICK",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Defines the value of the <code>type</code> property of a <code>click</code> event object.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#CLICK"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.textLayout.elements.IFlowElement",
        "qname": "flowElement",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The FlowElement that dispatched the event.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.elements.FlowElement"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.events.MouseEvent",
        "qname": "originalEvent",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The original mouse event generated by the mouse activity. This property can contain any of the following values: <ul> <li><code>MouseEvent.CLICK</code></li> <li><code>MouseEvent.MOUSE_DOWN</code></li> <li><code>MouseEvent.MOUSE_UP</code></li> <li><code>MouseEvent.MOUSE_MOVE</code></li> <li><code>MouseEvent.MOUSE_OVER</code></li> <li><code>MouseEvent.MOUSE_OUT</code></li> </ul> <p> In most cases the original event matches the event that the link element dispatches. The events match for the <code>click</code>, <code>mouseDown</code>, <code>mouseOut</code>, and <code>mouseOver</code> events. There are two cases, however, in which the original event is converted by the link element to a related event. If a link element detects a <code>mouseOver</code> event, it dispatches a <code>rollOver</code> event. Likewise, if a link element detects a <code>mouseOut</code> event, it dispatches a <code>rollOut</code> event. Usually, the event target and the mouse coordinates are related to the TextLine instance containing the link element. </p>",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "org.apache.royale.textLayout.events.FlowElementMouseEvent",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates an event object that contains information about mouse activity. Event objects are passed as parameters to event listeners. Use the constructor if you plan to manually dispatch an event. You do not need to use the constructor to listen for FlowElementMouseEvent objects generated by a FlowElement. inherited <code>type</code> property. There are six types: <code>FlowElementMouseEvent.CLICK</code>; <code>FlowElementMouseEvent.MOUSE_DOWN</code>; <code>FlowElementMouseEvent.MOUSE_MOVE</code>; <code>FlowElementMouseEvent.MOUSE_UP</code>; <code>FlowElementMouseEvent.ROLL_OVER</code>; and <code>FlowElementMouseEvent.ROLL_OUT</code>. event flow. FlowElementMouseEvent objects do not bubble. access this information through the inherited <code>cancelable</code> property. FlowElementMouseEvent objects can be cancelled. You can cancel the default behavior associated with this event by calling the <code>preventDefault()</code> method in your event listener. event. Event listeners can access this information through the <code>flowElement</code> property. access this information through the <code>originalEvent</code> property.",
        "tags": [
        {  "tagName": "param",
               "values": ["type  The type of the event. Event listeners can access this information through the", "bubbles Determines whether the Event object participates in the bubbling phase of the", "cancelable Determines whether the Event object can be canceled. Event listeners can", "flowElement The instance of FlowElement, currently a LinkElement, associated with this", "originalEvent The original mouse event that occurred on the flowElement. Event listeners can"]},
            {  "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": "flowElement", "type": "org.apache.royale.textLayout.elements.IFlowElement"},
        { "name": "originalEvent", "type": "org.apache.royale.events.MouseEvent"}]}
      ]
  }
