{ "type": "class",
  "qname": "org.apache.royale.text.ime.CompositionAttributeRange",
  "baseClassname": ""
  ,
    "description": "The CompositionAttributeRange class represents a range of composition attributes for use with IME events. For example, when editing text in the IME, the text is divided by the IME into composition ranges. These composition ranges are flagged as selected (i.e. currently being lengthened, shortened, or edited), and/or converted (i.e. they have made one pass through the IME dictionary lookup already).  <p>By convention, the client should adorn these composition ranges with underlining or hiliting according to the flags.</p>  <p>For example:</p> <listing> !converted              = thick gray underline (raw text) !selected &#38;&#38; converted  = thin black underline selected &#38;&#38; converted  = thick black underline </listing>",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10.1", "AIR 1.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "field",
        "qname": "relativeStart",
        "return": "int",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The relative start from the beginning of the inline edit session i.e. 0 = the start of the text the IME can see (there may be text before that in the edit field)",
        "tags": [
        {  "tagName": "helpid",
               "values": [""]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.1"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "relativeEnd",
        "return": "int",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The relative end of the composition clause, relative to the beginning of the inline edit session. i.e. 0 = the start of the text the IME can see (there may be text before that in the edit field)",
        "tags": [
        {  "tagName": "helpid",
               "values": [""]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.1"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "selected",
        "return": "Boolean",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The selected flag, meaning this composition clause is active and being lengthened or shortened or edited with the IME, and the neighboring clauses are not.",
        "tags": [
        {  "tagName": "helpid",
               "values": [""]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.1"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "converted",
        "return": "Boolean",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The converted flag, meaning this clause has been processed by the IME and is awaiting acceptance/confirmation by the user",
        "tags": [
        {  "tagName": "helpid",
               "values": [""]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.1"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "org.apache.royale.text.ime.CompositionAttributeRange",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates a CompositionAttributeRange object.",
        "tags": [
        {  "tagName": "param",
               "values": ["relativeStart  The zero based index of the first character included in the character range.", "relativeEnd  The zero based index of the last character included in the character range.", "selected  The selected flag", "converted  The converted flag"]},
            {  "tagName": "tiptext",
               "values": ["Constructor for CompositionAttributeRange objects."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.1"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "relativeStart", "type": "int"},
        { "name": "relativeEnd", "type": "int"},
        { "name": "selected", "type": "Boolean"},
        { "name": "converted", "type": "Boolean"}]}
      ]
  }
