Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / javax / swing / text / BoxView.js
index e9f6146..d8c0d9a 100644 (file)
-Clazz.declarePackage ("javax.swing.text");\r
-Clazz.load (["javax.swing.text.CompositeView"], "javax.swing.text.BoxView", ["java.lang.IllegalArgumentException", "java.awt.Rectangle", "javax.swing.SizeRequirements", "javax.swing.text.Position"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.majorAxis = 0;\r
-this.majorSpan = 0;\r
-this.minorSpan = 0;\r
-this.majorReqValid = false;\r
-this.minorReqValid = false;\r
-this.majorRequest = null;\r
-this.minorRequest = null;\r
-this.majorAllocValid = false;\r
-this.majorOffsets = null;\r
-this.majorSpans = null;\r
-this.minorAllocValid = false;\r
-this.minorOffsets = null;\r
-this.minorSpans = null;\r
-this.tempRect = null;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.text, "BoxView", javax.swing.text.CompositeView);\r
-Clazz.makeConstructor (c$, \r
-function (elem, axis) {\r
-Clazz.superConstructor (this, javax.swing.text.BoxView, [elem]);\r
-this.tempRect =  new java.awt.Rectangle ();\r
-this.majorAxis = axis;\r
-this.majorOffsets =  Clazz.newIntArray (0, 0);\r
-this.majorSpans =  Clazz.newIntArray (0, 0);\r
-this.majorReqValid = false;\r
-this.majorAllocValid = false;\r
-this.minorOffsets =  Clazz.newIntArray (0, 0);\r
-this.minorSpans =  Clazz.newIntArray (0, 0);\r
-this.minorReqValid = false;\r
-this.minorAllocValid = false;\r
-}, "javax.swing.text.Element,~N");\r
-Clazz.defineMethod (c$, "getAxis", \r
-function () {\r
-return this.majorAxis;\r
-});\r
-Clazz.defineMethod (c$, "setAxis", \r
-function (axis) {\r
-var axisChanged = (axis != this.majorAxis);\r
-this.majorAxis = axis;\r
-if (axisChanged) {\r
-this.preferenceChanged (null, true, true);\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "layoutChanged", \r
-function (axis) {\r
-if (axis == this.majorAxis) {\r
-this.majorAllocValid = false;\r
-} else {\r
-this.minorAllocValid = false;\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "isLayoutValid", \r
-function (axis) {\r
-if (axis == this.majorAxis) {\r
-return this.majorAllocValid;\r
-} else {\r
-return this.minorAllocValid;\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "paintChild", \r
-function (g, alloc, index) {\r
-var child = this.getView (index);\r
-child.paint (g, alloc);\r
-}, "java.awt.Graphics,java.awt.Rectangle,~N");\r
-Clazz.defineMethod (c$, "replace", \r
-function (index, length, elems) {\r
-Clazz.superCall (this, javax.swing.text.BoxView, "replace", [index, length, elems]);\r
-var nInserted = (elems != null) ? elems.length : 0;\r
-this.majorOffsets = this.updateLayoutArray (this.majorOffsets, index, nInserted);\r
-this.majorSpans = this.updateLayoutArray (this.majorSpans, index, nInserted);\r
-this.majorReqValid = false;\r
-this.majorAllocValid = false;\r
-this.minorOffsets = this.updateLayoutArray (this.minorOffsets, index, nInserted);\r
-this.minorSpans = this.updateLayoutArray (this.minorSpans, index, nInserted);\r
-this.minorReqValid = false;\r
-this.minorAllocValid = false;\r
-}, "~N,~N,~A");\r
-Clazz.defineMethod (c$, "updateLayoutArray", \r
-function (oldArray, offset, nInserted) {\r
-var n = this.getViewCount ();\r
-var newArray =  Clazz.newIntArray (n, 0);\r
-System.arraycopy (oldArray, 0, newArray, 0, offset);\r
-System.arraycopy (oldArray, offset, newArray, offset + nInserted, n - nInserted - offset);\r
-return newArray;\r
-}, "~A,~N,~N");\r
-Clazz.defineMethod (c$, "forwardUpdate", \r
-function (ec, e, a, f) {\r
-var wasValid = this.isLayoutValid (this.majorAxis);\r
-Clazz.superCall (this, javax.swing.text.BoxView, "forwardUpdate", [ec, e, a, f]);\r
-if (wasValid && (!this.isLayoutValid (this.majorAxis))) {\r
-var c = this.getContainer ();\r
-if ((a != null) && (c != null)) {\r
-var pos = e.getOffset ();\r
-var index = this.getViewIndexAtPosition (pos);\r
-var alloc = this.getInsideAllocation (a);\r
-if (this.majorAxis == 0) {\r
-alloc.x += this.majorOffsets[index];\r
-alloc.width -= this.majorOffsets[index];\r
-} else {\r
-alloc.y += this.minorOffsets[index];\r
-alloc.height -= this.minorOffsets[index];\r
-}c.repaint (alloc.x, alloc.y, alloc.width, alloc.height);\r
-}}}, "javax.swing.event.DocumentEvent.ElementChange,javax.swing.event.DocumentEvent,java.awt.Shape,javax.swing.text.ViewFactory");\r
-Clazz.defineMethod (c$, "preferenceChanged", \r
-function (child, width, height) {\r
-var majorChanged = (this.majorAxis == 0) ? width : height;\r
-var minorChanged = (this.majorAxis == 0) ? height : width;\r
-if (majorChanged) {\r
-this.majorReqValid = false;\r
-this.majorAllocValid = false;\r
-}if (minorChanged) {\r
-this.minorReqValid = false;\r
-this.minorAllocValid = false;\r
-}Clazz.superCall (this, javax.swing.text.BoxView, "preferenceChanged", [child, width, height]);\r
-}, "javax.swing.text.View,~B,~B");\r
-Clazz.defineMethod (c$, "getResizeWeight", \r
-function (axis) {\r
-this.checkRequests (axis);\r
-if (axis == this.majorAxis) {\r
-if ((this.majorRequest.preferred != this.majorRequest.minimum) || (this.majorRequest.preferred != this.majorRequest.maximum)) {\r
-return 1;\r
-}} else {\r
-if ((this.minorRequest.preferred != this.minorRequest.minimum) || (this.minorRequest.preferred != this.minorRequest.maximum)) {\r
-return 1;\r
-}}return 0;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "setSpanOnAxis", \r
-function (axis, span) {\r
-if (axis == this.majorAxis) {\r
-if (this.majorSpan != Clazz.floatToInt (span)) {\r
-this.majorAllocValid = false;\r
-}if (!this.majorAllocValid) {\r
-this.majorSpan = Clazz.floatToInt (span);\r
-this.checkRequests (this.majorAxis);\r
-this.layoutMajorAxis (this.majorSpan, axis, this.majorOffsets, this.majorSpans);\r
-this.majorAllocValid = true;\r
-this.updateChildSizes ();\r
-}} else {\r
-if ((Clazz.floatToInt (span)) != this.minorSpan) {\r
-this.minorAllocValid = false;\r
-}if (!this.minorAllocValid) {\r
-this.minorSpan = Clazz.floatToInt (span);\r
-this.checkRequests (axis);\r
-this.layoutMinorAxis (this.minorSpan, axis, this.minorOffsets, this.minorSpans);\r
-this.minorAllocValid = true;\r
-this.updateChildSizes ();\r
-}}}, "~N,~N");\r
-Clazz.defineMethod (c$, "updateChildSizes", \r
-function () {\r
-var n = this.getViewCount ();\r
-if (this.majorAxis == 0) {\r
-for (var i = 0; i < n; i++) {\r
-var v = this.getView (i);\r
-v.setSize (this.majorSpans[i], this.minorSpans[i]);\r
-}\r
-} else {\r
-for (var i = 0; i < n; i++) {\r
-var v = this.getView (i);\r
-v.setSize (this.minorSpans[i], this.majorSpans[i]);\r
-}\r
-}});\r
-Clazz.defineMethod (c$, "getSpanOnAxis", \r
-function (axis) {\r
-if (axis == this.majorAxis) {\r
-return this.majorSpan;\r
-} else {\r
-return this.minorSpan;\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "setSize", \r
-function (width, height) {\r
-this.layout (Math.max (0, Clazz.floatToInt (width - this.getLeftInset () - this.getRightInset ())), Math.max (0, Clazz.floatToInt (height - this.getTopInset () - this.getBottomInset ())));\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "paint", \r
-function (g, allocation) {\r
-var alloc = (Clazz.instanceOf (allocation, java.awt.Rectangle)) ? allocation : allocation.getBounds ();\r
-var n = this.getViewCount ();\r
-var x = alloc.x + this.getLeftInset ();\r
-var y = alloc.y + this.getTopInset ();\r
-var clip = g.getClipBounds ();\r
-for (var i = 0; i < n; i++) {\r
-this.tempRect.x = x + this.getOffset (0, i);\r
-this.tempRect.y = y + this.getOffset (1, i);\r
-this.tempRect.width = this.getSpan (0, i);\r
-this.tempRect.height = this.getSpan (1, i);\r
-var trx0 = this.tempRect.x;\r
-var trx1 = trx0 + this.tempRect.width;\r
-var try0 = this.tempRect.y;\r
-var try1 = try0 + this.tempRect.height;\r
-var crx0 = clip.x;\r
-var crx1 = crx0 + clip.width;\r
-var cry0 = clip.y;\r
-var cry1 = cry0 + clip.height;\r
-if ((trx1 >= crx0) && (try1 >= cry0) && (crx1 >= trx0) && (cry1 >= try0)) {\r
-this.paintChild (g, this.tempRect, i);\r
-}}\r
-}, "java.awt.Graphics,java.awt.Shape");\r
-Clazz.defineMethod (c$, "getChildAllocation", \r
-function (index, a) {\r
-if (a != null) {\r
-var ca = Clazz.superCall (this, javax.swing.text.BoxView, "getChildAllocation", [index, a]);\r
-if ((ca != null) && (!this.isAllocationValid ())) {\r
-var r = (Clazz.instanceOf (ca, java.awt.Rectangle)) ? ca : ca.getBounds ();\r
-if ((r.width == 0) && (r.height == 0)) {\r
-return null;\r
-}}return ca;\r
-}return null;\r
-}, "~N,java.awt.Shape");\r
-Clazz.defineMethod (c$, "modelToView", \r
-function (pos, a, b) {\r
-if (!this.isAllocationValid ()) {\r
-var alloc = a.getBounds ();\r
-this.setSize (alloc.width, alloc.height);\r
-}return Clazz.superCall (this, javax.swing.text.BoxView, "modelToView", [pos, a, b]);\r
-}, "~N,java.awt.Shape,javax.swing.text.Position.Bias");\r
-Clazz.defineMethod (c$, "viewToModel", \r
-function (x, y, a, bias) {\r
-if (!this.isAllocationValid ()) {\r
-var alloc = a.getBounds ();\r
-this.setSize (alloc.width, alloc.height);\r
-}return Clazz.superCall (this, javax.swing.text.BoxView, "viewToModel", [x, y, a, bias]);\r
-}, "~N,~N,java.awt.Shape,~A");\r
-Clazz.defineMethod (c$, "getAlignment", \r
-function (axis) {\r
-this.checkRequests (axis);\r
-if (axis == this.majorAxis) {\r
-return this.majorRequest.alignment;\r
-} else {\r
-return this.minorRequest.alignment;\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "getPreferredSpan", \r
-function (axis) {\r
-this.checkRequests (axis);\r
-var marginSpan = (axis == 0) ? this.getLeftInset () + this.getRightInset () : this.getTopInset () + this.getBottomInset ();\r
-if (axis == this.majorAxis) {\r
-return (this.majorRequest.preferred) + marginSpan;\r
-} else {\r
-return (this.minorRequest.preferred) + marginSpan;\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "getMinimumSpan", \r
-function (axis) {\r
-this.checkRequests (axis);\r
-var marginSpan = (axis == 0) ? this.getLeftInset () + this.getRightInset () : this.getTopInset () + this.getBottomInset ();\r
-if (axis == this.majorAxis) {\r
-return (this.majorRequest.minimum) + marginSpan;\r
-} else {\r
-return (this.minorRequest.minimum) + marginSpan;\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "getMaximumSpan", \r
-function (axis) {\r
-this.checkRequests (axis);\r
-var marginSpan = (axis == 0) ? this.getLeftInset () + this.getRightInset () : this.getTopInset () + this.getBottomInset ();\r
-if (axis == this.majorAxis) {\r
-return (this.majorRequest.maximum) + marginSpan;\r
-} else {\r
-return (this.minorRequest.maximum) + marginSpan;\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "isAllocationValid", \r
-function () {\r
-return (this.majorAllocValid && this.minorAllocValid);\r
-});\r
-Clazz.overrideMethod (c$, "isBefore", \r
-function (x, y, innerAlloc) {\r
-if (this.majorAxis == 0) {\r
-return (x < innerAlloc.x);\r
-} else {\r
-return (y < innerAlloc.y);\r
-}}, "~N,~N,java.awt.Rectangle");\r
-Clazz.overrideMethod (c$, "isAfter", \r
-function (x, y, innerAlloc) {\r
-if (this.majorAxis == 0) {\r
-return (x > (innerAlloc.width + innerAlloc.x));\r
-} else {\r
-return (y > (innerAlloc.height + innerAlloc.y));\r
-}}, "~N,~N,java.awt.Rectangle");\r
-Clazz.overrideMethod (c$, "getViewAtPoint", \r
-function (x, y, alloc) {\r
-var n = this.getViewCount ();\r
-if (this.majorAxis == 0) {\r
-if (x < (alloc.x + this.majorOffsets[0])) {\r
-this.childAllocation (0, alloc);\r
-return this.getView (0);\r
-}for (var i = 0; i < n; i++) {\r
-if (x < (alloc.x + this.majorOffsets[i])) {\r
-this.childAllocation (i - 1, alloc);\r
-return this.getView (i - 1);\r
-}}\r
-this.childAllocation (n - 1, alloc);\r
-return this.getView (n - 1);\r
-} else {\r
-if (y < (alloc.y + this.majorOffsets[0])) {\r
-this.childAllocation (0, alloc);\r
-return this.getView (0);\r
-}for (var i = 0; i < n; i++) {\r
-if (y < (alloc.y + this.majorOffsets[i])) {\r
-this.childAllocation (i - 1, alloc);\r
-return this.getView (i - 1);\r
-}}\r
-this.childAllocation (n - 1, alloc);\r
-return this.getView (n - 1);\r
-}}, "~N,~N,java.awt.Rectangle");\r
-Clazz.overrideMethod (c$, "childAllocation", \r
-function (index, alloc) {\r
-alloc.x += this.getOffset (0, index);\r
-alloc.y += this.getOffset (1, index);\r
-alloc.width = this.getSpan (0, index);\r
-alloc.height = this.getSpan (1, index);\r
-}, "~N,java.awt.Rectangle");\r
-Clazz.defineMethod (c$, "layout", \r
-function (width, height) {\r
-this.setSpanOnAxis (0, width);\r
-this.setSpanOnAxis (1, height);\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "getWidth", \r
-function () {\r
-var span;\r
-if (this.majorAxis == 0) {\r
-span = this.majorSpan;\r
-} else {\r
-span = this.minorSpan;\r
-}span += this.getLeftInset () - this.getRightInset ();\r
-return span;\r
-});\r
-Clazz.defineMethod (c$, "getHeight", \r
-function () {\r
-var span;\r
-if (this.majorAxis == 1) {\r
-span = this.majorSpan;\r
-} else {\r
-span = this.minorSpan;\r
-}span += this.getTopInset () - this.getBottomInset ();\r
-return span;\r
-});\r
-Clazz.defineMethod (c$, "layoutMajorAxis", \r
-function (targetSpan, axis, offsets, spans) {\r
-var preferred = 0;\r
-var n = this.getViewCount ();\r
-for (var i = 0; i < n; i++) {\r
-var v = this.getView (i);\r
-spans[i] = Clazz.floatToInt (v.getPreferredSpan (axis));\r
-preferred += spans[i];\r
-}\r
-var desiredAdjustment = targetSpan - preferred;\r
-var adjustmentFactor = 0.0;\r
-var diffs = null;\r
-if (desiredAdjustment != 0) {\r
-var totalSpan = 0;\r
-diffs =  Clazz.newIntArray (n, 0);\r
-for (var i = 0; i < n; i++) {\r
-var v = this.getView (i);\r
-var tmp;\r
-if (desiredAdjustment < 0) {\r
-tmp = Clazz.floatToInt (v.getMinimumSpan (axis));\r
-diffs[i] = spans[i] - tmp;\r
-} else {\r
-tmp = Clazz.floatToInt (v.getMaximumSpan (axis));\r
-diffs[i] = tmp - spans[i];\r
-}totalSpan += tmp;\r
-}\r
-var maximumAdjustment = Math.abs (totalSpan - preferred);\r
-adjustmentFactor = desiredAdjustment / maximumAdjustment;\r
-adjustmentFactor = Math.min (adjustmentFactor, 1.0);\r
-adjustmentFactor = Math.max (adjustmentFactor, -1.0);\r
-}var totalOffset = 0;\r
-for (var i = 0; i < n; i++) {\r
-offsets[i] = totalOffset;\r
-if (desiredAdjustment != 0) {\r
-var adjF = adjustmentFactor * diffs[i];\r
-spans[i] += Math.round (adjF);\r
-}totalOffset = Math.min (totalOffset + spans[i], 2147483647);\r
-}\r
-}, "~N,~N,~A,~A");\r
-Clazz.defineMethod (c$, "layoutMinorAxis", \r
-function (targetSpan, axis, offsets, spans) {\r
-var n = this.getViewCount ();\r
-for (var i = 0; i < n; i++) {\r
-var v = this.getView (i);\r
-var max = Clazz.floatToInt (v.getMaximumSpan (axis));\r
-if (max < targetSpan) {\r
-var align = v.getAlignment (axis);\r
-offsets[i] = Clazz.floatToInt ((targetSpan - max) * align);\r
-spans[i] = max;\r
-} else {\r
-var min = Clazz.floatToInt (v.getMinimumSpan (axis));\r
-offsets[i] = 0;\r
-spans[i] = Math.max (min, targetSpan);\r
-}}\r
-}, "~N,~N,~A,~A");\r
-Clazz.defineMethod (c$, "calculateMajorAxisRequirements", \r
-function (axis, r) {\r
-var min = 0;\r
-var pref = 0;\r
-var max = 0;\r
-var n = this.getViewCount ();\r
-for (var i = 0; i < n; i++) {\r
-var v = this.getView (i);\r
-min += v.getMinimumSpan (axis);\r
-pref += v.getPreferredSpan (axis);\r
-max += v.getMaximumSpan (axis);\r
-}\r
-if (r == null) {\r
-r =  new javax.swing.SizeRequirements ();\r
-}r.alignment = 0.5;\r
-r.minimum = Clazz.floatToInt (min);\r
-r.preferred = Clazz.floatToInt (pref);\r
-r.maximum = Clazz.floatToInt (max);\r
-return r;\r
-}, "~N,javax.swing.SizeRequirements");\r
-Clazz.defineMethod (c$, "calculateMinorAxisRequirements", \r
-function (axis, r) {\r
-var min = 0;\r
-var pref = 0;\r
-var max = 2147483647;\r
-var n = this.getViewCount ();\r
-for (var i = 0; i < n; i++) {\r
-var v = this.getView (i);\r
-min = Math.max (Clazz.floatToInt (v.getMinimumSpan (axis)), min);\r
-pref = Math.max (Clazz.floatToInt (v.getPreferredSpan (axis)), pref);\r
-max = Math.max (Clazz.floatToInt (v.getMaximumSpan (axis)), max);\r
-}\r
-if (r == null) {\r
-r =  new javax.swing.SizeRequirements ();\r
-r.alignment = 0.5;\r
-}r.preferred = pref;\r
-r.minimum = min;\r
-r.maximum = max;\r
-return r;\r
-}, "~N,javax.swing.SizeRequirements");\r
-Clazz.defineMethod (c$, "checkRequests", \r
-function (axis) {\r
-if ((axis != 0) && (axis != 1)) {\r
-throw  new IllegalArgumentException ("Invalid axis: " + axis);\r
-}if (axis == this.majorAxis) {\r
-if (!this.majorReqValid) {\r
-this.majorRequest = this.calculateMajorAxisRequirements (axis, this.majorRequest);\r
-this.majorReqValid = true;\r
-}} else if (!this.minorReqValid) {\r
-this.minorRequest = this.calculateMinorAxisRequirements (axis, this.minorRequest);\r
-this.minorReqValid = true;\r
-}}, "~N");\r
-Clazz.defineMethod (c$, "baselineLayout", \r
-function (targetSpan, axis, offsets, spans) {\r
-var totalAscent = Clazz.floatToInt (targetSpan * this.getAlignment (axis));\r
-var totalDescent = targetSpan - totalAscent;\r
-var n = this.getViewCount ();\r
-for (var i = 0; i < n; i++) {\r
-var v = this.getView (i);\r
-var align = v.getAlignment (axis);\r
-var viewSpan;\r
-if (v.getResizeWeight (axis) > 0) {\r
-var minSpan = v.getMinimumSpan (axis);\r
-var maxSpan = v.getMaximumSpan (axis);\r
-if (align == 0.0) {\r
-viewSpan = Math.max (Math.min (maxSpan, totalDescent), minSpan);\r
-} else if (align == 1.0) {\r
-viewSpan = Math.max (Math.min (maxSpan, totalAscent), minSpan);\r
-} else {\r
-var fitSpan = Math.min (totalAscent / align, totalDescent / (1.0 - align));\r
-viewSpan = Math.max (Math.min (maxSpan, fitSpan), minSpan);\r
-}} else {\r
-viewSpan = v.getPreferredSpan (axis);\r
-}offsets[i] = totalAscent - Clazz.floatToInt (viewSpan * align);\r
-spans[i] = Clazz.floatToInt (viewSpan);\r
-}\r
-}, "~N,~N,~A,~A");\r
-Clazz.defineMethod (c$, "baselineRequirements", \r
-function (axis, r) {\r
-var totalAscent =  new javax.swing.SizeRequirements ();\r
-var totalDescent =  new javax.swing.SizeRequirements ();\r
-if (r == null) {\r
-r =  new javax.swing.SizeRequirements ();\r
-}r.alignment = 0.5;\r
-var n = this.getViewCount ();\r
-for (var i = 0; i < n; i++) {\r
-var v = this.getView (i);\r
-var align = v.getAlignment (axis);\r
-var span;\r
-var ascent;\r
-var descent;\r
-span = v.getPreferredSpan (axis);\r
-ascent = Clazz.floatToInt (align * span);\r
-descent = Clazz.floatToInt (span - ascent);\r
-totalAscent.preferred = Math.max (ascent, totalAscent.preferred);\r
-totalDescent.preferred = Math.max (descent, totalDescent.preferred);\r
-if (v.getResizeWeight (axis) > 0) {\r
-span = v.getMinimumSpan (axis);\r
-ascent = Clazz.floatToInt (align * span);\r
-descent = Clazz.floatToInt (span - ascent);\r
-totalAscent.minimum = Math.max (ascent, totalAscent.minimum);\r
-totalDescent.minimum = Math.max (descent, totalDescent.minimum);\r
-span = v.getMaximumSpan (axis);\r
-ascent = Clazz.floatToInt (align * span);\r
-descent = Clazz.floatToInt (span - ascent);\r
-totalAscent.maximum = Math.max (ascent, totalAscent.maximum);\r
-totalDescent.maximum = Math.max (descent, totalDescent.maximum);\r
-} else {\r
-totalAscent.minimum = Math.max (ascent, totalAscent.minimum);\r
-totalDescent.minimum = Math.max (descent, totalDescent.minimum);\r
-totalAscent.maximum = Math.max (ascent, totalAscent.maximum);\r
-totalDescent.maximum = Math.max (descent, totalDescent.maximum);\r
-}}\r
-r.preferred = Math.min (totalAscent.preferred + totalDescent.preferred, 2147483647);\r
-if (r.preferred > 0) {\r
-r.alignment = totalAscent.preferred / r.preferred;\r
-}if (r.alignment == 0.0) {\r
-r.minimum = totalDescent.minimum;\r
-r.maximum = totalDescent.maximum;\r
-} else if (r.alignment == 1.0) {\r
-r.minimum = totalAscent.minimum;\r
-r.maximum = totalAscent.maximum;\r
-} else {\r
-r.minimum = Math.round (Math.max (totalAscent.minimum / r.alignment, totalDescent.minimum / (1.0 - r.alignment)));\r
-r.maximum = Math.round (Math.min (totalAscent.maximum / r.alignment, totalDescent.maximum / (1.0 - r.alignment)));\r
-}return r;\r
-}, "~N,javax.swing.SizeRequirements");\r
-Clazz.defineMethod (c$, "getOffset", \r
-function (axis, childIndex) {\r
-var offsets = (axis == this.majorAxis) ? this.majorOffsets : this.minorOffsets;\r
-return offsets[childIndex];\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "getSpan", \r
-function (axis, childIndex) {\r
-var spans = (axis == this.majorAxis) ? this.majorSpans : this.minorSpans;\r
-return spans[childIndex];\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "flipEastAndWestAtEnds", \r
-function (position, bias) {\r
-if (this.majorAxis == 1) {\r
-var testPos = (bias === javax.swing.text.Position.Bias.Backward) ? Math.max (0, position - 1) : position;\r
-var index = this.getViewIndexAtPosition (testPos);\r
-if (index != -1) {\r
-var v = this.getView (index);\r
-if (v != null && Clazz.instanceOf (v, javax.swing.text.CompositeView)) {\r
-return (v).flipEastAndWestAtEnds (position, bias);\r
-}}}return false;\r
-}, "~N,javax.swing.text.Position.Bias");\r
-});\r
+Clazz.declarePackage ("javax.swing.text");
+Clazz.load (["javax.swing.text.CompositeView"], "javax.swing.text.BoxView", ["java.lang.IllegalArgumentException", "java.awt.Rectangle", "javax.swing.SizeRequirements", "javax.swing.text.Position"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.majorAxis = 0;
+this.majorSpan = 0;
+this.minorSpan = 0;
+this.majorReqValid = false;
+this.minorReqValid = false;
+this.majorRequest = null;
+this.minorRequest = null;
+this.majorAllocValid = false;
+this.majorOffsets = null;
+this.majorSpans = null;
+this.minorAllocValid = false;
+this.minorOffsets = null;
+this.minorSpans = null;
+this.tempRect = null;
+Clazz.instantialize (this, arguments);
+}, javax.swing.text, "BoxView", javax.swing.text.CompositeView);
+Clazz.makeConstructor (c$, 
+function (elem, axis) {
+Clazz.superConstructor (this, javax.swing.text.BoxView, [elem]);
+this.tempRect =  new java.awt.Rectangle ();
+this.majorAxis = axis;
+this.majorOffsets =  Clazz.newIntArray (0, 0);
+this.majorSpans =  Clazz.newIntArray (0, 0);
+this.majorReqValid = false;
+this.majorAllocValid = false;
+this.minorOffsets =  Clazz.newIntArray (0, 0);
+this.minorSpans =  Clazz.newIntArray (0, 0);
+this.minorReqValid = false;
+this.minorAllocValid = false;
+}, "javax.swing.text.Element,~N");
+Clazz.defineMethod (c$, "getAxis", 
+function () {
+return this.majorAxis;
+});
+Clazz.defineMethod (c$, "setAxis", 
+function (axis) {
+var axisChanged = (axis != this.majorAxis);
+this.majorAxis = axis;
+if (axisChanged) {
+this.preferenceChanged (null, true, true);
+}}, "~N");
+Clazz.defineMethod (c$, "layoutChanged", 
+function (axis) {
+if (axis == this.majorAxis) {
+this.majorAllocValid = false;
+} else {
+this.minorAllocValid = false;
+}}, "~N");
+Clazz.defineMethod (c$, "isLayoutValid", 
+function (axis) {
+if (axis == this.majorAxis) {
+return this.majorAllocValid;
+} else {
+return this.minorAllocValid;
+}}, "~N");
+Clazz.defineMethod (c$, "paintChild", 
+function (g, alloc, index) {
+var child = this.getView (index);
+child.paint (g, alloc);
+}, "java.awt.Graphics,java.awt.Rectangle,~N");
+Clazz.defineMethod (c$, "replace", 
+function (index, length, elems) {
+Clazz.superCall (this, javax.swing.text.BoxView, "replace", [index, length, elems]);
+var nInserted = (elems != null) ? elems.length : 0;
+this.majorOffsets = this.updateLayoutArray (this.majorOffsets, index, nInserted);
+this.majorSpans = this.updateLayoutArray (this.majorSpans, index, nInserted);
+this.majorReqValid = false;
+this.majorAllocValid = false;
+this.minorOffsets = this.updateLayoutArray (this.minorOffsets, index, nInserted);
+this.minorSpans = this.updateLayoutArray (this.minorSpans, index, nInserted);
+this.minorReqValid = false;
+this.minorAllocValid = false;
+}, "~N,~N,~A");
+Clazz.defineMethod (c$, "updateLayoutArray", 
+function (oldArray, offset, nInserted) {
+var n = this.getViewCount ();
+var newArray =  Clazz.newIntArray (n, 0);
+System.arraycopy (oldArray, 0, newArray, 0, offset);
+System.arraycopy (oldArray, offset, newArray, offset + nInserted, n - nInserted - offset);
+return newArray;
+}, "~A,~N,~N");
+Clazz.defineMethod (c$, "forwardUpdate", 
+function (ec, e, a, f) {
+var wasValid = this.isLayoutValid (this.majorAxis);
+Clazz.superCall (this, javax.swing.text.BoxView, "forwardUpdate", [ec, e, a, f]);
+if (wasValid && (!this.isLayoutValid (this.majorAxis))) {
+var c = this.getContainer ();
+if ((a != null) && (c != null)) {
+var pos = e.getOffset ();
+var index = this.getViewIndexAtPosition (pos);
+var alloc = this.getInsideAllocation (a);
+if (this.majorAxis == 0) {
+alloc.x += this.majorOffsets[index];
+alloc.width -= this.majorOffsets[index];
+} else {
+alloc.y += this.minorOffsets[index];
+alloc.height -= this.minorOffsets[index];
+}c.repaint (alloc.x, alloc.y, alloc.width, alloc.height);
+}}}, "javax.swing.event.DocumentEvent.ElementChange,javax.swing.event.DocumentEvent,java.awt.Shape,javax.swing.text.ViewFactory");
+Clazz.defineMethod (c$, "preferenceChanged", 
+function (child, width, height) {
+var majorChanged = (this.majorAxis == 0) ? width : height;
+var minorChanged = (this.majorAxis == 0) ? height : width;
+if (majorChanged) {
+this.majorReqValid = false;
+this.majorAllocValid = false;
+}if (minorChanged) {
+this.minorReqValid = false;
+this.minorAllocValid = false;
+}Clazz.superCall (this, javax.swing.text.BoxView, "preferenceChanged", [child, width, height]);
+}, "javax.swing.text.View,~B,~B");
+Clazz.defineMethod (c$, "getResizeWeight", 
+function (axis) {
+this.checkRequests (axis);
+if (axis == this.majorAxis) {
+if ((this.majorRequest.preferred != this.majorRequest.minimum) || (this.majorRequest.preferred != this.majorRequest.maximum)) {
+return 1;
+}} else {
+if ((this.minorRequest.preferred != this.minorRequest.minimum) || (this.minorRequest.preferred != this.minorRequest.maximum)) {
+return 1;
+}}return 0;
+}, "~N");
+Clazz.defineMethod (c$, "setSpanOnAxis", 
+function (axis, span) {
+if (axis == this.majorAxis) {
+if (this.majorSpan != Clazz.floatToInt (span)) {
+this.majorAllocValid = false;
+}if (!this.majorAllocValid) {
+this.majorSpan = Clazz.floatToInt (span);
+this.checkRequests (this.majorAxis);
+this.layoutMajorAxis (this.majorSpan, axis, this.majorOffsets, this.majorSpans);
+this.majorAllocValid = true;
+this.updateChildSizes ();
+}} else {
+if ((Clazz.floatToInt (span)) != this.minorSpan) {
+this.minorAllocValid = false;
+}if (!this.minorAllocValid) {
+this.minorSpan = Clazz.floatToInt (span);
+this.checkRequests (axis);
+this.layoutMinorAxis (this.minorSpan, axis, this.minorOffsets, this.minorSpans);
+this.minorAllocValid = true;
+this.updateChildSizes ();
+}}}, "~N,~N");
+Clazz.defineMethod (c$, "updateChildSizes", 
+function () {
+var n = this.getViewCount ();
+if (this.majorAxis == 0) {
+for (var i = 0; i < n; i++) {
+var v = this.getView (i);
+v.setSize (this.majorSpans[i], this.minorSpans[i]);
+}
+} else {
+for (var i = 0; i < n; i++) {
+var v = this.getView (i);
+v.setSize (this.minorSpans[i], this.majorSpans[i]);
+}
+}});
+Clazz.defineMethod (c$, "getSpanOnAxis", 
+function (axis) {
+if (axis == this.majorAxis) {
+return this.majorSpan;
+} else {
+return this.minorSpan;
+}}, "~N");
+Clazz.defineMethod (c$, "setSize", 
+function (width, height) {
+this.layout (Math.max (0, Clazz.floatToInt (width - this.getLeftInset () - this.getRightInset ())), Math.max (0, Clazz.floatToInt (height - this.getTopInset () - this.getBottomInset ())));
+}, "~N,~N");
+Clazz.defineMethod (c$, "paint", 
+function (g, allocation) {
+var alloc = (Clazz.instanceOf (allocation, java.awt.Rectangle)) ? allocation : allocation.getBounds ();
+var n = this.getViewCount ();
+var x = alloc.x + this.getLeftInset ();
+var y = alloc.y + this.getTopInset ();
+var clip = g.getClipBounds ();
+for (var i = 0; i < n; i++) {
+this.tempRect.x = x + this.getOffset (0, i);
+this.tempRect.y = y + this.getOffset (1, i);
+this.tempRect.width = this.getSpan (0, i);
+this.tempRect.height = this.getSpan (1, i);
+var trx0 = this.tempRect.x;
+var trx1 = trx0 + this.tempRect.width;
+var try0 = this.tempRect.y;
+var try1 = try0 + this.tempRect.height;
+var crx0 = clip.x;
+var crx1 = crx0 + clip.width;
+var cry0 = clip.y;
+var cry1 = cry0 + clip.height;
+if ((trx1 >= crx0) && (try1 >= cry0) && (crx1 >= trx0) && (cry1 >= try0)) {
+this.paintChild (g, this.tempRect, i);
+}}
+}, "java.awt.Graphics,java.awt.Shape");
+Clazz.defineMethod (c$, "getChildAllocation", 
+function (index, a) {
+if (a != null) {
+var ca = Clazz.superCall (this, javax.swing.text.BoxView, "getChildAllocation", [index, a]);
+if ((ca != null) && (!this.isAllocationValid ())) {
+var r = (Clazz.instanceOf (ca, java.awt.Rectangle)) ? ca : ca.getBounds ();
+if ((r.width == 0) && (r.height == 0)) {
+return null;
+}}return ca;
+}return null;
+}, "~N,java.awt.Shape");
+Clazz.defineMethod (c$, "modelToView", 
+function (pos, a, b) {
+if (!this.isAllocationValid ()) {
+var alloc = a.getBounds ();
+this.setSize (alloc.width, alloc.height);
+}return Clazz.superCall (this, javax.swing.text.BoxView, "modelToView", [pos, a, b]);
+}, "~N,java.awt.Shape,javax.swing.text.Position.Bias");
+Clazz.defineMethod (c$, "viewToModel", 
+function (x, y, a, bias) {
+if (!this.isAllocationValid ()) {
+var alloc = a.getBounds ();
+this.setSize (alloc.width, alloc.height);
+}return Clazz.superCall (this, javax.swing.text.BoxView, "viewToModel", [x, y, a, bias]);
+}, "~N,~N,java.awt.Shape,~A");
+Clazz.defineMethod (c$, "getAlignment", 
+function (axis) {
+this.checkRequests (axis);
+if (axis == this.majorAxis) {
+return this.majorRequest.alignment;
+} else {
+return this.minorRequest.alignment;
+}}, "~N");
+Clazz.defineMethod (c$, "getPreferredSpan", 
+function (axis) {
+this.checkRequests (axis);
+var marginSpan = (axis == 0) ? this.getLeftInset () + this.getRightInset () : this.getTopInset () + this.getBottomInset ();
+if (axis == this.majorAxis) {
+return (this.majorRequest.preferred) + marginSpan;
+} else {
+return (this.minorRequest.preferred) + marginSpan;
+}}, "~N");
+Clazz.defineMethod (c$, "getMinimumSpan", 
+function (axis) {
+this.checkRequests (axis);
+var marginSpan = (axis == 0) ? this.getLeftInset () + this.getRightInset () : this.getTopInset () + this.getBottomInset ();
+if (axis == this.majorAxis) {
+return (this.majorRequest.minimum) + marginSpan;
+} else {
+return (this.minorRequest.minimum) + marginSpan;
+}}, "~N");
+Clazz.defineMethod (c$, "getMaximumSpan", 
+function (axis) {
+this.checkRequests (axis);
+var marginSpan = (axis == 0) ? this.getLeftInset () + this.getRightInset () : this.getTopInset () + this.getBottomInset ();
+if (axis == this.majorAxis) {
+return (this.majorRequest.maximum) + marginSpan;
+} else {
+return (this.minorRequest.maximum) + marginSpan;
+}}, "~N");
+Clazz.defineMethod (c$, "isAllocationValid", 
+function () {
+return (this.majorAllocValid && this.minorAllocValid);
+});
+Clazz.overrideMethod (c$, "isBefore", 
+function (x, y, innerAlloc) {
+if (this.majorAxis == 0) {
+return (x < innerAlloc.x);
+} else {
+return (y < innerAlloc.y);
+}}, "~N,~N,java.awt.Rectangle");
+Clazz.overrideMethod (c$, "isAfter", 
+function (x, y, innerAlloc) {
+if (this.majorAxis == 0) {
+return (x > (innerAlloc.width + innerAlloc.x));
+} else {
+return (y > (innerAlloc.height + innerAlloc.y));
+}}, "~N,~N,java.awt.Rectangle");
+Clazz.overrideMethod (c$, "getViewAtPoint", 
+function (x, y, alloc) {
+var n = this.getViewCount ();
+if (this.majorAxis == 0) {
+if (x < (alloc.x + this.majorOffsets[0])) {
+this.childAllocation (0, alloc);
+return this.getView (0);
+}for (var i = 0; i < n; i++) {
+if (x < (alloc.x + this.majorOffsets[i])) {
+this.childAllocation (i - 1, alloc);
+return this.getView (i - 1);
+}}
+this.childAllocation (n - 1, alloc);
+return this.getView (n - 1);
+} else {
+if (y < (alloc.y + this.majorOffsets[0])) {
+this.childAllocation (0, alloc);
+return this.getView (0);
+}for (var i = 0; i < n; i++) {
+if (y < (alloc.y + this.majorOffsets[i])) {
+this.childAllocation (i - 1, alloc);
+return this.getView (i - 1);
+}}
+this.childAllocation (n - 1, alloc);
+return this.getView (n - 1);
+}}, "~N,~N,java.awt.Rectangle");
+Clazz.overrideMethod (c$, "childAllocation", 
+function (index, alloc) {
+alloc.x += this.getOffset (0, index);
+alloc.y += this.getOffset (1, index);
+alloc.width = this.getSpan (0, index);
+alloc.height = this.getSpan (1, index);
+}, "~N,java.awt.Rectangle");
+Clazz.defineMethod (c$, "layout", 
+function (width, height) {
+this.setSpanOnAxis (0, width);
+this.setSpanOnAxis (1, height);
+}, "~N,~N");
+Clazz.defineMethod (c$, "getWidth", 
+function () {
+var span;
+if (this.majorAxis == 0) {
+span = this.majorSpan;
+} else {
+span = this.minorSpan;
+}span += this.getLeftInset () - this.getRightInset ();
+return span;
+});
+Clazz.defineMethod (c$, "getHeight", 
+function () {
+var span;
+if (this.majorAxis == 1) {
+span = this.majorSpan;
+} else {
+span = this.minorSpan;
+}span += this.getTopInset () - this.getBottomInset ();
+return span;
+});
+Clazz.defineMethod (c$, "layoutMajorAxis", 
+function (targetSpan, axis, offsets, spans) {
+var preferred = 0;
+var n = this.getViewCount ();
+for (var i = 0; i < n; i++) {
+var v = this.getView (i);
+spans[i] = Clazz.floatToInt (v.getPreferredSpan (axis));
+preferred += spans[i];
+}
+var desiredAdjustment = targetSpan - preferred;
+var adjustmentFactor = 0.0;
+var diffs = null;
+if (desiredAdjustment != 0) {
+var totalSpan = 0;
+diffs =  Clazz.newIntArray (n, 0);
+for (var i = 0; i < n; i++) {
+var v = this.getView (i);
+var tmp;
+if (desiredAdjustment < 0) {
+tmp = Clazz.floatToInt (v.getMinimumSpan (axis));
+diffs[i] = spans[i] - tmp;
+} else {
+tmp = Clazz.floatToInt (v.getMaximumSpan (axis));
+diffs[i] = tmp - spans[i];
+}totalSpan += tmp;
+}
+var maximumAdjustment = Math.abs (totalSpan - preferred);
+adjustmentFactor = desiredAdjustment / maximumAdjustment;
+adjustmentFactor = Math.min (adjustmentFactor, 1.0);
+adjustmentFactor = Math.max (adjustmentFactor, -1.0);
+}var totalOffset = 0;
+for (var i = 0; i < n; i++) {
+offsets[i] = totalOffset;
+if (desiredAdjustment != 0) {
+var adjF = adjustmentFactor * diffs[i];
+spans[i] += Math.round (adjF);
+}totalOffset = Math.min (totalOffset + spans[i], 2147483647);
+}
+}, "~N,~N,~A,~A");
+Clazz.defineMethod (c$, "layoutMinorAxis", 
+function (targetSpan, axis, offsets, spans) {
+var n = this.getViewCount ();
+for (var i = 0; i < n; i++) {
+var v = this.getView (i);
+var max = Clazz.floatToInt (v.getMaximumSpan (axis));
+if (max < targetSpan) {
+var align = v.getAlignment (axis);
+offsets[i] = Clazz.floatToInt ((targetSpan - max) * align);
+spans[i] = max;
+} else {
+var min = Clazz.floatToInt (v.getMinimumSpan (axis));
+offsets[i] = 0;
+spans[i] = Math.max (min, targetSpan);
+}}
+}, "~N,~N,~A,~A");
+Clazz.defineMethod (c$, "calculateMajorAxisRequirements", 
+function (axis, r) {
+var min = 0;
+var pref = 0;
+var max = 0;
+var n = this.getViewCount ();
+for (var i = 0; i < n; i++) {
+var v = this.getView (i);
+min += v.getMinimumSpan (axis);
+pref += v.getPreferredSpan (axis);
+max += v.getMaximumSpan (axis);
+}
+if (r == null) {
+r =  new javax.swing.SizeRequirements ();
+}r.alignment = 0.5;
+r.minimum = Clazz.floatToInt (min);
+r.preferred = Clazz.floatToInt (pref);
+r.maximum = Clazz.floatToInt (max);
+return r;
+}, "~N,javax.swing.SizeRequirements");
+Clazz.defineMethod (c$, "calculateMinorAxisRequirements", 
+function (axis, r) {
+var min = 0;
+var pref = 0;
+var max = 2147483647;
+var n = this.getViewCount ();
+for (var i = 0; i < n; i++) {
+var v = this.getView (i);
+min = Math.max (Clazz.floatToInt (v.getMinimumSpan (axis)), min);
+pref = Math.max (Clazz.floatToInt (v.getPreferredSpan (axis)), pref);
+max = Math.max (Clazz.floatToInt (v.getMaximumSpan (axis)), max);
+}
+if (r == null) {
+r =  new javax.swing.SizeRequirements ();
+r.alignment = 0.5;
+}r.preferred = pref;
+r.minimum = min;
+r.maximum = max;
+return r;
+}, "~N,javax.swing.SizeRequirements");
+Clazz.defineMethod (c$, "checkRequests", 
+function (axis) {
+if ((axis != 0) && (axis != 1)) {
+throw  new IllegalArgumentException ("Invalid axis: " + axis);
+}if (axis == this.majorAxis) {
+if (!this.majorReqValid) {
+this.majorRequest = this.calculateMajorAxisRequirements (axis, this.majorRequest);
+this.majorReqValid = true;
+}} else if (!this.minorReqValid) {
+this.minorRequest = this.calculateMinorAxisRequirements (axis, this.minorRequest);
+this.minorReqValid = true;
+}}, "~N");
+Clazz.defineMethod (c$, "baselineLayout", 
+function (targetSpan, axis, offsets, spans) {
+var totalAscent = Clazz.floatToInt (targetSpan * this.getAlignment (axis));
+var totalDescent = targetSpan - totalAscent;
+var n = this.getViewCount ();
+for (var i = 0; i < n; i++) {
+var v = this.getView (i);
+var align = v.getAlignment (axis);
+var viewSpan;
+if (v.getResizeWeight (axis) > 0) {
+var minSpan = v.getMinimumSpan (axis);
+var maxSpan = v.getMaximumSpan (axis);
+if (align == 0.0) {
+viewSpan = Math.max (Math.min (maxSpan, totalDescent), minSpan);
+} else if (align == 1.0) {
+viewSpan = Math.max (Math.min (maxSpan, totalAscent), minSpan);
+} else {
+var fitSpan = Math.min (totalAscent / align, totalDescent / (1.0 - align));
+viewSpan = Math.max (Math.min (maxSpan, fitSpan), minSpan);
+}} else {
+viewSpan = v.getPreferredSpan (axis);
+}offsets[i] = totalAscent - Clazz.floatToInt (viewSpan * align);
+spans[i] = Clazz.floatToInt (viewSpan);
+}
+}, "~N,~N,~A,~A");
+Clazz.defineMethod (c$, "baselineRequirements", 
+function (axis, r) {
+var totalAscent =  new javax.swing.SizeRequirements ();
+var totalDescent =  new javax.swing.SizeRequirements ();
+if (r == null) {
+r =  new javax.swing.SizeRequirements ();
+}r.alignment = 0.5;
+var n = this.getViewCount ();
+for (var i = 0; i < n; i++) {
+var v = this.getView (i);
+var align = v.getAlignment (axis);
+var span;
+var ascent;
+var descent;
+span = v.getPreferredSpan (axis);
+ascent = Clazz.floatToInt (align * span);
+descent = Clazz.floatToInt (span - ascent);
+totalAscent.preferred = Math.max (ascent, totalAscent.preferred);
+totalDescent.preferred = Math.max (descent, totalDescent.preferred);
+if (v.getResizeWeight (axis) > 0) {
+span = v.getMinimumSpan (axis);
+ascent = Clazz.floatToInt (align * span);
+descent = Clazz.floatToInt (span - ascent);
+totalAscent.minimum = Math.max (ascent, totalAscent.minimum);
+totalDescent.minimum = Math.max (descent, totalDescent.minimum);
+span = v.getMaximumSpan (axis);
+ascent = Clazz.floatToInt (align * span);
+descent = Clazz.floatToInt (span - ascent);
+totalAscent.maximum = Math.max (ascent, totalAscent.maximum);
+totalDescent.maximum = Math.max (descent, totalDescent.maximum);
+} else {
+totalAscent.minimum = Math.max (ascent, totalAscent.minimum);
+totalDescent.minimum = Math.max (descent, totalDescent.minimum);
+totalAscent.maximum = Math.max (ascent, totalAscent.maximum);
+totalDescent.maximum = Math.max (descent, totalDescent.maximum);
+}}
+r.preferred = Math.min (totalAscent.preferred + totalDescent.preferred, 2147483647);
+if (r.preferred > 0) {
+r.alignment = totalAscent.preferred / r.preferred;
+}if (r.alignment == 0.0) {
+r.minimum = totalDescent.minimum;
+r.maximum = totalDescent.maximum;
+} else if (r.alignment == 1.0) {
+r.minimum = totalAscent.minimum;
+r.maximum = totalAscent.maximum;
+} else {
+r.minimum = Math.round (Math.max (totalAscent.minimum / r.alignment, totalDescent.minimum / (1.0 - r.alignment)));
+r.maximum = Math.round (Math.min (totalAscent.maximum / r.alignment, totalDescent.maximum / (1.0 - r.alignment)));
+}return r;
+}, "~N,javax.swing.SizeRequirements");
+Clazz.defineMethod (c$, "getOffset", 
+function (axis, childIndex) {
+var offsets = (axis == this.majorAxis) ? this.majorOffsets : this.minorOffsets;
+return offsets[childIndex];
+}, "~N,~N");
+Clazz.defineMethod (c$, "getSpan", 
+function (axis, childIndex) {
+var spans = (axis == this.majorAxis) ? this.majorSpans : this.minorSpans;
+return spans[childIndex];
+}, "~N,~N");
+Clazz.defineMethod (c$, "flipEastAndWestAtEnds", 
+function (position, bias) {
+if (this.majorAxis == 1) {
+var testPos = (bias === javax.swing.text.Position.Bias.Backward) ? Math.max (0, position - 1) : position;
+var index = this.getViewIndexAtPosition (testPos);
+if (index != -1) {
+var v = this.getView (index);
+if (v != null && Clazz.instanceOf (v, javax.swing.text.CompositeView)) {
+return (v).flipEastAndWestAtEnds (position, bias);
+}}}return false;
+}, "~N,javax.swing.text.Position.Bias");
+});