Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / javax / swing / text / DefaultHighlighter.js
index 402c0b5..0d2d9b0 100644 (file)
-Clazz.declarePackage ("javax.swing.text");\r
-Clazz.load (["javax.swing.text.Highlighter", "$.LayeredHighlighter", "java.util.Vector"], "javax.swing.text.DefaultHighlighter", ["java.awt.Rectangle", "javax.swing.SwingUtilities", "javax.swing.text.LayeredHighlighter.LayerPainter", "javax.swing.text.Position"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.highlights = null;\r
-this.component = null;\r
-this.drawsLayeredHighlights = false;\r
-this.safeDamager = null;\r
-if (!Clazz.isClassDefined ("javax.swing.text.DefaultHighlighter.HighlightInfo")) {\r
-javax.swing.text.DefaultHighlighter.$DefaultHighlighter$HighlightInfo$ ();\r
-}\r
-if (!Clazz.isClassDefined ("javax.swing.text.DefaultHighlighter.LayeredHighlightInfo")) {\r
-javax.swing.text.DefaultHighlighter.$DefaultHighlighter$LayeredHighlightInfo$ ();\r
-}\r
-if (!Clazz.isClassDefined ("javax.swing.text.DefaultHighlighter.SafeDamager")) {\r
-javax.swing.text.DefaultHighlighter.$DefaultHighlighter$SafeDamager$ ();\r
-}\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.text, "DefaultHighlighter", javax.swing.text.LayeredHighlighter);\r
-Clazz.prepareFields (c$, function () {\r
-this.highlights =  new java.util.Vector ();\r
-this.safeDamager = Clazz.innerTypeInstance (javax.swing.text.DefaultHighlighter.SafeDamager, this, null);\r
-});\r
-Clazz.makeConstructor (c$, \r
-function () {\r
-Clazz.superConstructor (this, javax.swing.text.DefaultHighlighter, []);\r
-this.drawsLayeredHighlights = true;\r
-});\r
-Clazz.overrideMethod (c$, "paint", \r
-function (g) {\r
-var len = this.highlights.size ();\r
-for (var i = 0; i < len; i++) {\r
-var info = this.highlights.elementAt (i);\r
-if (!(Clazz.instanceOf (info, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo))) {\r
-var a = this.component.getBounds ();\r
-var insets = this.component.getInsets ();\r
-a.x = insets.left;\r
-a.y = insets.top;\r
-a.width -= insets.left + insets.right;\r
-a.height -= insets.top + insets.bottom;\r
-for (; i < len; i++) {\r
-info = this.highlights.elementAt (i);\r
-if (!(Clazz.instanceOf (info, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo))) {\r
-var p = info.getPainter ();\r
-p.paint (g, info.getStartOffset (), info.getEndOffset (), a, this.component);\r
-}}\r
-}}\r
-}, "java.awt.Graphics");\r
-Clazz.overrideMethod (c$, "install", \r
-function (c) {\r
-this.component = c;\r
-this.removeAllHighlights ();\r
-}, "javax.swing.text.JTextComponent");\r
-Clazz.overrideMethod (c$, "deinstall", \r
-function (c) {\r
-this.component = null;\r
-}, "javax.swing.text.JTextComponent");\r
-Clazz.overrideMethod (c$, "addHighlight", \r
-function (p0, p1, p) {\r
-var doc = this.component.getDocument ();\r
-var i = (this.getDrawsLayeredHighlights () && (Clazz.instanceOf (p, javax.swing.text.LayeredHighlighter.LayerPainter))) ? Clazz.innerTypeInstance (javax.swing.text.DefaultHighlighter.LayeredHighlightInfo, this, null) : Clazz.innerTypeInstance (javax.swing.text.DefaultHighlighter.HighlightInfo, this, null);\r
-i.painter = p;\r
-i.p0 = doc.createPosition (p0);\r
-i.p1 = doc.createPosition (p1);\r
-this.highlights.addElement (i);\r
-this.safeDamageRange (p0, p1);\r
-return i;\r
-}, "~N,~N,javax.swing.text.Highlighter.HighlightPainter");\r
-Clazz.overrideMethod (c$, "removeHighlight", \r
-function (tag) {\r
-if (Clazz.instanceOf (tag, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo)) {\r
-var lhi = tag;\r
-if (lhi.width > 0 && lhi.height > 0) {\r
-this.component.repaint (lhi.x, lhi.y, lhi.width, lhi.height);\r
-}} else {\r
-var info = tag;\r
-this.safeDamageRange (info.p0, info.p1);\r
-}this.highlights.removeElement (tag);\r
-}, "~O");\r
-Clazz.overrideMethod (c$, "removeAllHighlights", \r
-function () {\r
-var mapper = this.component.getUI ();\r
-if (this.getDrawsLayeredHighlights ()) {\r
-var len = this.highlights.size ();\r
-if (len != 0) {\r
-var minX = 0;\r
-var minY = 0;\r
-var maxX = 0;\r
-var maxY = 0;\r
-var p0 = -1;\r
-var p1 = -1;\r
-for (var i = 0; i < len; i++) {\r
-var hi = this.highlights.elementAt (i);\r
-if (Clazz.instanceOf (hi, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo)) {\r
-var info = hi;\r
-minX = Math.min (minX, info.x);\r
-minY = Math.min (minY, info.y);\r
-maxX = Math.max (maxX, info.x + info.width);\r
-maxY = Math.max (maxY, info.y + info.height);\r
-} else {\r
-if (p0 == -1) {\r
-p0 = hi.p0.getOffset ();\r
-p1 = hi.p1.getOffset ();\r
-} else {\r
-p0 = Math.min (p0, hi.p0.getOffset ());\r
-p1 = Math.max (p1, hi.p1.getOffset ());\r
-}}}\r
-if (minX != maxX && minY != maxY) {\r
-this.component.repaint (minX, minY, maxX - minX, maxY - minY);\r
-}if (p0 != -1) {\r
-try {\r
-this.safeDamageRange (p0, p1);\r
-} catch (e) {\r
-if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
-} else {\r
-throw e;\r
-}\r
-}\r
-}this.highlights.removeAllElements ();\r
-}} else if (mapper != null) {\r
-var len = this.highlights.size ();\r
-if (len != 0) {\r
-var p0 = 2147483647;\r
-var p1 = 0;\r
-for (var i = 0; i < len; i++) {\r
-var info = this.highlights.elementAt (i);\r
-p0 = Math.min (p0, info.p0.getOffset ());\r
-p1 = Math.max (p1, info.p1.getOffset ());\r
-}\r
-try {\r
-this.safeDamageRange (p0, p1);\r
-} catch (e) {\r
-if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
-} else {\r
-throw e;\r
-}\r
-}\r
-this.highlights.removeAllElements ();\r
-}}});\r
-Clazz.overrideMethod (c$, "changeHighlight", \r
-function (tag, p0, p1) {\r
-var doc = this.component.getDocument ();\r
-if (Clazz.instanceOf (tag, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo)) {\r
-var lhi = tag;\r
-if (lhi.width > 0 && lhi.height > 0) {\r
-this.component.repaint (lhi.x, lhi.y, lhi.width, lhi.height);\r
-}lhi.width = lhi.height = 0;\r
-lhi.p0 = doc.createPosition (p0);\r
-lhi.p1 = doc.createPosition (p1);\r
-this.safeDamageRange (Math.min (p0, p1), Math.max (p0, p1));\r
-} else {\r
-var info = tag;\r
-var oldP0 = info.p0.getOffset ();\r
-var oldP1 = info.p1.getOffset ();\r
-if (p0 == oldP0) {\r
-this.safeDamageRange (Math.min (oldP1, p1), Math.max (oldP1, p1));\r
-} else if (p1 == oldP1) {\r
-this.safeDamageRange (Math.min (p0, oldP0), Math.max (p0, oldP0));\r
-} else {\r
-this.safeDamageRange (oldP0, oldP1);\r
-this.safeDamageRange (p0, p1);\r
-}info.p0 = doc.createPosition (p0);\r
-info.p1 = doc.createPosition (p1);\r
-}}, "~O,~N,~N");\r
-Clazz.overrideMethod (c$, "getHighlights", \r
-function () {\r
-var size = this.highlights.size ();\r
-if (size == 0) {\r
-return javax.swing.text.DefaultHighlighter.noHighlights;\r
-}var h =  new Array (size);\r
-this.highlights.copyInto (h);\r
-return h;\r
-});\r
-Clazz.overrideMethod (c$, "paintLayeredHighlights", \r
-function (g, p0, p1, viewBounds, editor, view) {\r
-for (var counter = this.highlights.size () - 1; counter >= 0; counter--) {\r
-var tag = this.highlights.elementAt (counter);\r
-if (Clazz.instanceOf (tag, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo)) {\r
-var lhi = tag;\r
-var start = lhi.getStartOffset ();\r
-var end = lhi.getEndOffset ();\r
-if ((p0 < start && p1 > start) || (p0 >= start && p0 < end)) {\r
-lhi.paintLayeredHighlights (g, p0, p1, viewBounds, editor, view);\r
-}}}\r
-}, "java.awt.Graphics,~N,~N,java.awt.Shape,javax.swing.text.JTextComponent,javax.swing.text.View");\r
-Clazz.defineMethod (c$, "safeDamageRange", \r
- function (p0, p1) {\r
-this.safeDamager.damageRange (p0, p1);\r
-}, "javax.swing.text.Position,javax.swing.text.Position");\r
-Clazz.defineMethod (c$, "safeDamageRange", \r
- function (a0, a1) {\r
-var doc = this.component.getDocument ();\r
-this.safeDamageRange (doc.createPosition (a0), doc.createPosition (a1));\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "setDrawsLayeredHighlights", \r
-function (newValue) {\r
-this.drawsLayeredHighlights = newValue;\r
-}, "~B");\r
-Clazz.defineMethod (c$, "getDrawsLayeredHighlights", \r
-function () {\r
-return this.drawsLayeredHighlights;\r
-});\r
-c$.$DefaultHighlighter$HighlightInfo$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.p0 = null;\r
-this.p1 = null;\r
-this.painter = null;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.text.DefaultHighlighter, "HighlightInfo", null, javax.swing.text.Highlighter.Highlight);\r
-Clazz.overrideMethod (c$, "getStartOffset", \r
-function () {\r
-return this.p0.getOffset ();\r
-});\r
-Clazz.overrideMethod (c$, "getEndOffset", \r
-function () {\r
-return this.p1.getOffset ();\r
-});\r
-Clazz.overrideMethod (c$, "getPainter", \r
-function () {\r
-return this.painter;\r
-});\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$DefaultHighlighter$LayeredHighlightInfo$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.x = 0;\r
-this.y = 0;\r
-this.width = 0;\r
-this.height = 0;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.text.DefaultHighlighter, "LayeredHighlightInfo", javax.swing.text.DefaultHighlighter.HighlightInfo, null, Clazz.innerTypeInstance (javax.swing.text.DefaultHighlighter.HighlightInfo, this, null, Clazz.inheritArgs));\r
-Clazz.defineMethod (c$, "union", \r
-function (a) {\r
-if (a == null) return;\r
-var b;\r
-if (Clazz.instanceOf (a, java.awt.Rectangle)) {\r
-b = a;\r
-} else {\r
-b = a.getBounds ();\r
-}if (this.width == 0 || this.height == 0) {\r
-this.x = b.x;\r
-this.y = b.y;\r
-this.width = b.width;\r
-this.height = b.height;\r
-} else {\r
-this.width = Math.max (this.x + this.width, b.x + b.width);\r
-this.height = Math.max (this.y + this.height, b.y + b.height);\r
-this.x = Math.min (this.x, b.x);\r
-this.width -= this.x;\r
-this.y = Math.min (this.y, b.y);\r
-this.height -= this.y;\r
-}}, "java.awt.Shape");\r
-Clazz.defineMethod (c$, "paintLayeredHighlights", \r
-function (a, b, c, d, e, f) {\r
-var g = this.getStartOffset ();\r
-var h = this.getEndOffset ();\r
-b = Math.max (g, b);\r
-c = Math.min (h, c);\r
-this.union ((this.painter).paintLayer (a, b, c, d, e, f));\r
-}, "java.awt.Graphics,~N,~N,java.awt.Shape,javax.swing.text.JTextComponent,javax.swing.text.View");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$DefaultHighlighter$SafeDamager$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.p0 = null;\r
-this.p1 = null;\r
-this.lastDoc = null;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.text.DefaultHighlighter, "SafeDamager", null, Runnable);\r
-Clazz.prepareFields (c$, function () {\r
-this.p0 =  new java.util.Vector (10);\r
-this.p1 =  new java.util.Vector (10);\r
-});\r
-Clazz.overrideMethod (c$, "run", \r
-function () {\r
-if (this.b$["javax.swing.text.DefaultHighlighter"].component != null) {\r
-var a = this.b$["javax.swing.text.DefaultHighlighter"].component.getUI ();\r
-if (a != null && this.lastDoc === this.b$["javax.swing.text.DefaultHighlighter"].component.getDocument ()) {\r
-var b = this.p0.size ();\r
-for (var c = 0; c < b; c++) {\r
-a.damageRange (this.b$["javax.swing.text.DefaultHighlighter"].component, (this.p0.get (c)).getOffset (), (this.p1.get (c)).getOffset ());\r
-}\r
-}}this.p0.clear ();\r
-this.p1.clear ();\r
-this.lastDoc = null;\r
-});\r
-Clazz.defineMethod (c$, "damageRange", \r
-function (a, b) {\r
-if (this.b$["javax.swing.text.DefaultHighlighter"].component == null) {\r
-this.p0.clear ();\r
-this.lastDoc = null;\r
-return;\r
-}var c = this.p0.isEmpty ();\r
-var d = this.b$["javax.swing.text.DefaultHighlighter"].component.getDocument ();\r
-if (d !== this.lastDoc) {\r
-if (!this.p0.isEmpty ()) {\r
-this.p0.clear ();\r
-this.p1.clear ();\r
-}this.lastDoc = d;\r
-}this.p0.add (a);\r
-this.p1.add (b);\r
-if (c) {\r
-javax.swing.SwingUtilities.invokeLater (this);\r
-}}, "javax.swing.text.Position,javax.swing.text.Position");\r
-c$ = Clazz.p0p ();\r
-};\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.color = null;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.text.DefaultHighlighter, "DefaultHighlightPainter", javax.swing.text.LayeredHighlighter.LayerPainter);\r
-Clazz.makeConstructor (c$, \r
-function (a) {\r
-Clazz.superConstructor (this, javax.swing.text.DefaultHighlighter.DefaultHighlightPainter, []);\r
-this.color = a;\r
-}, "java.awt.Color");\r
-Clazz.defineMethod (c$, "getColor", \r
-function () {\r
-return this.color;\r
-});\r
-Clazz.overrideMethod (c$, "paint", \r
-function (a, b, c, d, e) {\r
-var f = d.getBounds ();\r
-try {\r
-var g = e.getUI ();\r
-var h = g.modelToView (e, b);\r
-var i = g.modelToView (e, c);\r
-var j = this.getColor ();\r
-if (j == null) {\r
-a.setColor (e.getSelectionColor ());\r
-} else {\r
-a.setColor (j);\r
-}if (h.y == i.y) {\r
-var k = h.union (i);\r
-a.fillRect (k.x, k.y, k.width, k.height);\r
-} else {\r
-var k = f.x + f.width - h.x;\r
-a.fillRect (h.x, h.y, k, h.height);\r
-if ((h.y + h.height) != i.y) {\r
-a.fillRect (f.x, h.y + h.height, f.width, i.y - (h.y + h.height));\r
-}a.fillRect (f.x, i.y, (i.x - f.x), i.height);\r
-}} catch (e) {\r
-if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
-} else {\r
-throw e;\r
-}\r
-}\r
-}, "java.awt.Graphics,~N,~N,java.awt.Shape,javax.swing.text.JTextComponent");\r
-Clazz.overrideMethod (c$, "paintLayer", \r
-function (a, b, c, d, e, f) {\r
-var g = this.getColor ();\r
-if (g == null) {\r
-a.setColor (e.getSelectionColor ());\r
-} else {\r
-a.setColor (g);\r
-}var h;\r
-if (b == f.getStartOffset () && c == f.getEndOffset ()) {\r
-if (Clazz.instanceOf (d, java.awt.Rectangle)) {\r
-h = d;\r
-} else {\r
-h = d.getBounds ();\r
-}} else {\r
-try {\r
-var i = f.modelToView (b, javax.swing.text.Position.Bias.Forward, c, javax.swing.text.Position.Bias.Backward, d);\r
-h = (Clazz.instanceOf (i, java.awt.Rectangle)) ? i : i.getBounds ();\r
-} catch (e) {\r
-if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {\r
-h = null;\r
-} else {\r
-throw e;\r
-}\r
-}\r
-}if (h != null) {\r
-h.width = Math.max (h.width, 1);\r
-a.fillRect (h.x, h.y, h.width, h.height);\r
-}return h;\r
-}, "java.awt.Graphics,~N,~N,java.awt.Shape,javax.swing.text.JTextComponent,javax.swing.text.View");\r
-c$ = Clazz.p0p ();\r
-c$.noHighlights = c$.prototype.noHighlights =  new Array (0);\r
-c$.DefaultPainter = c$.prototype.DefaultPainter =  new javax.swing.text.DefaultHighlighter.DefaultHighlightPainter (null);\r
-});\r
+Clazz.declarePackage ("javax.swing.text");
+Clazz.load (["javax.swing.text.Highlighter", "$.LayeredHighlighter", "java.util.Vector"], "javax.swing.text.DefaultHighlighter", ["java.awt.Rectangle", "javax.swing.SwingUtilities", "javax.swing.text.LayeredHighlighter.LayerPainter", "javax.swing.text.Position"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.highlights = null;
+this.component = null;
+this.drawsLayeredHighlights = false;
+this.safeDamager = null;
+if (!Clazz.isClassDefined ("javax.swing.text.DefaultHighlighter.HighlightInfo")) {
+javax.swing.text.DefaultHighlighter.$DefaultHighlighter$HighlightInfo$ ();
+}
+if (!Clazz.isClassDefined ("javax.swing.text.DefaultHighlighter.LayeredHighlightInfo")) {
+javax.swing.text.DefaultHighlighter.$DefaultHighlighter$LayeredHighlightInfo$ ();
+}
+if (!Clazz.isClassDefined ("javax.swing.text.DefaultHighlighter.SafeDamager")) {
+javax.swing.text.DefaultHighlighter.$DefaultHighlighter$SafeDamager$ ();
+}
+Clazz.instantialize (this, arguments);
+}, javax.swing.text, "DefaultHighlighter", javax.swing.text.LayeredHighlighter);
+Clazz.prepareFields (c$, function () {
+this.highlights =  new java.util.Vector ();
+this.safeDamager = Clazz.innerTypeInstance (javax.swing.text.DefaultHighlighter.SafeDamager, this, null);
+});
+Clazz.makeConstructor (c$, 
+function () {
+Clazz.superConstructor (this, javax.swing.text.DefaultHighlighter, []);
+this.drawsLayeredHighlights = true;
+});
+Clazz.overrideMethod (c$, "paint", 
+function (g) {
+var len = this.highlights.size ();
+for (var i = 0; i < len; i++) {
+var info = this.highlights.elementAt (i);
+if (!(Clazz.instanceOf (info, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo))) {
+var a = this.component.getBounds ();
+var insets = this.component.getInsets ();
+a.x = insets.left;
+a.y = insets.top;
+a.width -= insets.left + insets.right;
+a.height -= insets.top + insets.bottom;
+for (; i < len; i++) {
+info = this.highlights.elementAt (i);
+if (!(Clazz.instanceOf (info, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo))) {
+var p = info.getPainter ();
+p.paint (g, info.getStartOffset (), info.getEndOffset (), a, this.component);
+}}
+}}
+}, "java.awt.Graphics");
+Clazz.overrideMethod (c$, "install", 
+function (c) {
+this.component = c;
+this.removeAllHighlights ();
+}, "javax.swing.text.JTextComponent");
+Clazz.overrideMethod (c$, "deinstall", 
+function (c) {
+this.component = null;
+}, "javax.swing.text.JTextComponent");
+Clazz.overrideMethod (c$, "addHighlight", 
+function (p0, p1, p) {
+var doc = this.component.getDocument ();
+var i = (this.getDrawsLayeredHighlights () && (Clazz.instanceOf (p, javax.swing.text.LayeredHighlighter.LayerPainter))) ? Clazz.innerTypeInstance (javax.swing.text.DefaultHighlighter.LayeredHighlightInfo, this, null) : Clazz.innerTypeInstance (javax.swing.text.DefaultHighlighter.HighlightInfo, this, null);
+i.painter = p;
+i.p0 = doc.createPosition (p0);
+i.p1 = doc.createPosition (p1);
+this.highlights.addElement (i);
+this.safeDamageRange (p0, p1);
+return i;
+}, "~N,~N,javax.swing.text.Highlighter.HighlightPainter");
+Clazz.overrideMethod (c$, "removeHighlight", 
+function (tag) {
+if (Clazz.instanceOf (tag, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo)) {
+var lhi = tag;
+if (lhi.width > 0 && lhi.height > 0) {
+this.component.repaint (lhi.x, lhi.y, lhi.width, lhi.height);
+}} else {
+var info = tag;
+this.safeDamageRange (info.p0, info.p1);
+}this.highlights.removeElement (tag);
+}, "~O");
+Clazz.overrideMethod (c$, "removeAllHighlights", 
+function () {
+var mapper = this.component.getUI ();
+if (this.getDrawsLayeredHighlights ()) {
+var len = this.highlights.size ();
+if (len != 0) {
+var minX = 0;
+var minY = 0;
+var maxX = 0;
+var maxY = 0;
+var p0 = -1;
+var p1 = -1;
+for (var i = 0; i < len; i++) {
+var hi = this.highlights.elementAt (i);
+if (Clazz.instanceOf (hi, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo)) {
+var info = hi;
+minX = Math.min (minX, info.x);
+minY = Math.min (minY, info.y);
+maxX = Math.max (maxX, info.x + info.width);
+maxY = Math.max (maxY, info.y + info.height);
+} else {
+if (p0 == -1) {
+p0 = hi.p0.getOffset ();
+p1 = hi.p1.getOffset ();
+} else {
+p0 = Math.min (p0, hi.p0.getOffset ());
+p1 = Math.max (p1, hi.p1.getOffset ());
+}}}
+if (minX != maxX && minY != maxY) {
+this.component.repaint (minX, minY, maxX - minX, maxY - minY);
+}if (p0 != -1) {
+try {
+this.safeDamageRange (p0, p1);
+} catch (e) {
+if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {
+} else {
+throw e;
+}
+}
+}this.highlights.removeAllElements ();
+}} else if (mapper != null) {
+var len = this.highlights.size ();
+if (len != 0) {
+var p0 = 2147483647;
+var p1 = 0;
+for (var i = 0; i < len; i++) {
+var info = this.highlights.elementAt (i);
+p0 = Math.min (p0, info.p0.getOffset ());
+p1 = Math.max (p1, info.p1.getOffset ());
+}
+try {
+this.safeDamageRange (p0, p1);
+} catch (e) {
+if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {
+} else {
+throw e;
+}
+}
+this.highlights.removeAllElements ();
+}}});
+Clazz.overrideMethod (c$, "changeHighlight", 
+function (tag, p0, p1) {
+var doc = this.component.getDocument ();
+if (Clazz.instanceOf (tag, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo)) {
+var lhi = tag;
+if (lhi.width > 0 && lhi.height > 0) {
+this.component.repaint (lhi.x, lhi.y, lhi.width, lhi.height);
+}lhi.width = lhi.height = 0;
+lhi.p0 = doc.createPosition (p0);
+lhi.p1 = doc.createPosition (p1);
+this.safeDamageRange (Math.min (p0, p1), Math.max (p0, p1));
+} else {
+var info = tag;
+var oldP0 = info.p0.getOffset ();
+var oldP1 = info.p1.getOffset ();
+if (p0 == oldP0) {
+this.safeDamageRange (Math.min (oldP1, p1), Math.max (oldP1, p1));
+} else if (p1 == oldP1) {
+this.safeDamageRange (Math.min (p0, oldP0), Math.max (p0, oldP0));
+} else {
+this.safeDamageRange (oldP0, oldP1);
+this.safeDamageRange (p0, p1);
+}info.p0 = doc.createPosition (p0);
+info.p1 = doc.createPosition (p1);
+}}, "~O,~N,~N");
+Clazz.overrideMethod (c$, "getHighlights", 
+function () {
+var size = this.highlights.size ();
+if (size == 0) {
+return javax.swing.text.DefaultHighlighter.noHighlights;
+}var h =  new Array (size);
+this.highlights.copyInto (h);
+return h;
+});
+Clazz.overrideMethod (c$, "paintLayeredHighlights", 
+function (g, p0, p1, viewBounds, editor, view) {
+for (var counter = this.highlights.size () - 1; counter >= 0; counter--) {
+var tag = this.highlights.elementAt (counter);
+if (Clazz.instanceOf (tag, javax.swing.text.DefaultHighlighter.LayeredHighlightInfo)) {
+var lhi = tag;
+var start = lhi.getStartOffset ();
+var end = lhi.getEndOffset ();
+if ((p0 < start && p1 > start) || (p0 >= start && p0 < end)) {
+lhi.paintLayeredHighlights (g, p0, p1, viewBounds, editor, view);
+}}}
+}, "java.awt.Graphics,~N,~N,java.awt.Shape,javax.swing.text.JTextComponent,javax.swing.text.View");
+Clazz.defineMethod (c$, "safeDamageRange", 
+ function (p0, p1) {
+this.safeDamager.damageRange (p0, p1);
+}, "javax.swing.text.Position,javax.swing.text.Position");
+Clazz.defineMethod (c$, "safeDamageRange", 
+ function (a0, a1) {
+var doc = this.component.getDocument ();
+this.safeDamageRange (doc.createPosition (a0), doc.createPosition (a1));
+}, "~N,~N");
+Clazz.defineMethod (c$, "setDrawsLayeredHighlights", 
+function (newValue) {
+this.drawsLayeredHighlights = newValue;
+}, "~B");
+Clazz.defineMethod (c$, "getDrawsLayeredHighlights", 
+function () {
+return this.drawsLayeredHighlights;
+});
+c$.$DefaultHighlighter$HighlightInfo$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.p0 = null;
+this.p1 = null;
+this.painter = null;
+Clazz.instantialize (this, arguments);
+}, javax.swing.text.DefaultHighlighter, "HighlightInfo", null, javax.swing.text.Highlighter.Highlight);
+Clazz.overrideMethod (c$, "getStartOffset", 
+function () {
+return this.p0.getOffset ();
+});
+Clazz.overrideMethod (c$, "getEndOffset", 
+function () {
+return this.p1.getOffset ();
+});
+Clazz.overrideMethod (c$, "getPainter", 
+function () {
+return this.painter;
+});
+c$ = Clazz.p0p ();
+};
+c$.$DefaultHighlighter$LayeredHighlightInfo$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.x = 0;
+this.y = 0;
+this.width = 0;
+this.height = 0;
+Clazz.instantialize (this, arguments);
+}, javax.swing.text.DefaultHighlighter, "LayeredHighlightInfo", javax.swing.text.DefaultHighlighter.HighlightInfo, null, Clazz.innerTypeInstance (javax.swing.text.DefaultHighlighter.HighlightInfo, this, null, Clazz.inheritArgs));
+Clazz.defineMethod (c$, "union", 
+function (a) {
+if (a == null) return;
+var b;
+if (Clazz.instanceOf (a, java.awt.Rectangle)) {
+b = a;
+} else {
+b = a.getBounds ();
+}if (this.width == 0 || this.height == 0) {
+this.x = b.x;
+this.y = b.y;
+this.width = b.width;
+this.height = b.height;
+} else {
+this.width = Math.max (this.x + this.width, b.x + b.width);
+this.height = Math.max (this.y + this.height, b.y + b.height);
+this.x = Math.min (this.x, b.x);
+this.width -= this.x;
+this.y = Math.min (this.y, b.y);
+this.height -= this.y;
+}}, "java.awt.Shape");
+Clazz.defineMethod (c$, "paintLayeredHighlights", 
+function (a, b, c, d, e, f) {
+var g = this.getStartOffset ();
+var h = this.getEndOffset ();
+b = Math.max (g, b);
+c = Math.min (h, c);
+this.union ((this.painter).paintLayer (a, b, c, d, e, f));
+}, "java.awt.Graphics,~N,~N,java.awt.Shape,javax.swing.text.JTextComponent,javax.swing.text.View");
+c$ = Clazz.p0p ();
+};
+c$.$DefaultHighlighter$SafeDamager$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.p0 = null;
+this.p1 = null;
+this.lastDoc = null;
+Clazz.instantialize (this, arguments);
+}, javax.swing.text.DefaultHighlighter, "SafeDamager", null, Runnable);
+Clazz.prepareFields (c$, function () {
+this.p0 =  new java.util.Vector (10);
+this.p1 =  new java.util.Vector (10);
+});
+Clazz.overrideMethod (c$, "run", 
+function () {
+if (this.b$["javax.swing.text.DefaultHighlighter"].component != null) {
+var a = this.b$["javax.swing.text.DefaultHighlighter"].component.getUI ();
+if (a != null && this.lastDoc === this.b$["javax.swing.text.DefaultHighlighter"].component.getDocument ()) {
+var b = this.p0.size ();
+for (var c = 0; c < b; c++) {
+a.damageRange (this.b$["javax.swing.text.DefaultHighlighter"].component, (this.p0.get (c)).getOffset (), (this.p1.get (c)).getOffset ());
+}
+}}this.p0.clear ();
+this.p1.clear ();
+this.lastDoc = null;
+});
+Clazz.defineMethod (c$, "damageRange", 
+function (a, b) {
+if (this.b$["javax.swing.text.DefaultHighlighter"].component == null) {
+this.p0.clear ();
+this.lastDoc = null;
+return;
+}var c = this.p0.isEmpty ();
+var d = this.b$["javax.swing.text.DefaultHighlighter"].component.getDocument ();
+if (d !== this.lastDoc) {
+if (!this.p0.isEmpty ()) {
+this.p0.clear ();
+this.p1.clear ();
+}this.lastDoc = d;
+}this.p0.add (a);
+this.p1.add (b);
+if (c) {
+javax.swing.SwingUtilities.invokeLater (this);
+}}, "javax.swing.text.Position,javax.swing.text.Position");
+c$ = Clazz.p0p ();
+};
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+this.color = null;
+Clazz.instantialize (this, arguments);
+}, javax.swing.text.DefaultHighlighter, "DefaultHighlightPainter", javax.swing.text.LayeredHighlighter.LayerPainter);
+Clazz.makeConstructor (c$, 
+function (a) {
+Clazz.superConstructor (this, javax.swing.text.DefaultHighlighter.DefaultHighlightPainter, []);
+this.color = a;
+}, "java.awt.Color");
+Clazz.defineMethod (c$, "getColor", 
+function () {
+return this.color;
+});
+Clazz.overrideMethod (c$, "paint", 
+function (a, b, c, d, e) {
+var f = d.getBounds ();
+try {
+var g = e.getUI ();
+var h = g.modelToView (e, b);
+var i = g.modelToView (e, c);
+var j = this.getColor ();
+if (j == null) {
+a.setColor (e.getSelectionColor ());
+} else {
+a.setColor (j);
+}if (h.y == i.y) {
+var k = h.union (i);
+a.fillRect (k.x, k.y, k.width, k.height);
+} else {
+var k = f.x + f.width - h.x;
+a.fillRect (h.x, h.y, k, h.height);
+if ((h.y + h.height) != i.y) {
+a.fillRect (f.x, h.y + h.height, f.width, i.y - (h.y + h.height));
+}a.fillRect (f.x, i.y, (i.x - f.x), i.height);
+}} catch (e) {
+if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {
+} else {
+throw e;
+}
+}
+}, "java.awt.Graphics,~N,~N,java.awt.Shape,javax.swing.text.JTextComponent");
+Clazz.overrideMethod (c$, "paintLayer", 
+function (a, b, c, d, e, f) {
+var g = this.getColor ();
+if (g == null) {
+a.setColor (e.getSelectionColor ());
+} else {
+a.setColor (g);
+}var h;
+if (b == f.getStartOffset () && c == f.getEndOffset ()) {
+if (Clazz.instanceOf (d, java.awt.Rectangle)) {
+h = d;
+} else {
+h = d.getBounds ();
+}} else {
+try {
+var i = f.modelToView (b, javax.swing.text.Position.Bias.Forward, c, javax.swing.text.Position.Bias.Backward, d);
+h = (Clazz.instanceOf (i, java.awt.Rectangle)) ? i : i.getBounds ();
+} catch (e) {
+if (Clazz.exceptionOf (e, javax.swing.text.BadLocationException)) {
+h = null;
+} else {
+throw e;
+}
+}
+}if (h != null) {
+h.width = Math.max (h.width, 1);
+a.fillRect (h.x, h.y, h.width, h.height);
+}return h;
+}, "java.awt.Graphics,~N,~N,java.awt.Shape,javax.swing.text.JTextComponent,javax.swing.text.View");
+c$ = Clazz.p0p ();
+c$.noHighlights = c$.prototype.noHighlights =  new Array (0);
+c$.DefaultPainter = c$.prototype.DefaultPainter =  new javax.swing.text.DefaultHighlighter.DefaultHighlightPainter (null);
+});