Discussion:
packing engine now independent of numcols
Adam Megacz
2004-04-07 08:01:50 UTC
Permalink
This is a first. The packing/constraining engine is now totally
independent of the number of columns and depends only on the number of
boxes. The pre-simplex renderer could never do this.

The following template renders just as fast as if you divide all the
col/colspan's by 1,000:

<ui:box fill="blue" id="blue" cols="5000">
<ui:box width="10" id="a" fill="gray" colspan="1000"/>
<ui:box height="10" fill="white" maxwidth="100" colspan="1000"/>
<ui:box height="10" fill="black" minwidth="100" colspan="2000"/>
<ui:box width="10" id="b" fill="gray" colspan="1000"/>
</ui:box>

-
--
"It's lucky," he added, after a pause, "that there are such a lot of
islands in the world. I almost envy you, Mr. Watson."

-- Mustapha Mond
Adam Megacz
2004-04-07 08:04:40 UTC
Permalink
For those of you wondering "why?!", you can now get the core to do
paragraph-text-reflow for you by putting each word (or line-breakable
portion of a word) in a box, setting each box's colspan to its pixel
width, setting all rowspans to 1, and setting the parent's cols to its
pixel width.

You can also control vertical text alignment using the align property.

I'm still pondering how to control horizontal text alignment.
Lemmethinkaboutit.

- a
Post by Adam Megacz
This is a first. The packing/constraining engine is now totally
independent of the number of columns and depends only on the number of
boxes. The pre-simplex renderer could never do this.
The following template renders just as fast as if you divide all the
<ui:box fill="blue" id="blue" cols="5000">
<ui:box width="10" id="a" fill="gray" colspan="1000"/>
<ui:box height="10" fill="white" maxwidth="100" colspan="1000"/>
<ui:box height="10" fill="black" minwidth="100" colspan="2000"/>
<ui:box width="10" id="b" fill="gray" colspan="1000"/>
</ui:box>
-
--
"It's lucky," he added, after a pause, "that there are such a lot of
islands in the world. I almost envy you, Mr. Watson."
-- Mustapha Mond
_______________________________________________
core mailing list
http://lists.xwt.org/listinfo/core
--
"It's lucky," he added, after a pause, "that there are such a lot of
islands in the world. I almost envy you, Mr. Watson."

-- Mustapha Mond
Charles Goodwin
2004-04-07 08:42:22 UTC
Permalink
Post by Adam Megacz
I'm still pondering how to control horizontal text alignment.
Lemmethinkaboutit.
um <box hshrink="true" align="left" /> ?
--
- Charlie

Charles Goodwin <charlie-***@public.gmane.org>
Online @ http://www.charlietech.com
Tupshin Harper
2004-04-07 08:10:27 UTC
Permalink
Post by Adam Megacz
This is a first. The packing/constraining engine is now totally
independent of the number of columns and depends only on the number of
boxes. The pre-simplex renderer could never do this.
The following template renders just as fast as if you divide all the
<ui:box fill="blue" id="blue" cols="5000">
<ui:box width="10" id="a" fill="gray" colspan="1000"/>
<ui:box height="10" fill="white" maxwidth="100" colspan="1000"/>
<ui:box height="10" fill="black" minwidth="100" colspan="2000"/>
<ui:box width="10" id="b" fill="gray" colspan="1000"/>
</ui:box>
-
With those last couple of checkins, my games sampler (which mostly
consists of a reversi board, at the moment), changed from suffering from
bug 518, to having the following symptoms:
1) unless java is called with -Xmx512M (or thereabout, certainly 256M is
not enough) it gives a Java.Lang.OutofmemoryError at startup
2) if called with -Xmx512M, it launches but I get the error below.

Unfortunately, I don't have the time to make a simple test case for the
next couple days, but I thought might as well let you know anyways. My
widgets archive which includes the games sampler is at:
http://darcs.smallmerchant.com/ibex_widgets

The "test cas" is runnable by launching src/games.t in that archive.

-Tupshin
org.ibex.Box: simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
java.lang.Error: not enough rows; this should never happen
at
org.ibex.util.LinearProgramming$Simplex.add_constraint(LinearProgramming.java:373)
at org.ibex.Box.place_children(Box.java:382)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Surface.render(Surface.java:251)
at org.ibex.Surface$DoubleBufferedSurface.render(Surface.java:351)
at org.ibex.plat.AWT$AWTSurface.render(AWT.java:338)
at org.ibex.Scheduler.renderAll(Scheduler.java:35)
at org.ibex.Scheduler.defaultRun(Scheduler.java:79)
at org.ibex.Scheduler.run(Scheduler.java:54)
at org.ibex.Scheduler.init(Scheduler.java:17)
at org.ibex.Main.main(Main.java:101)
Adam Megacz
2004-04-10 04:07:27 UTC
Permalink
I believe this got fixed somewhere along the way. It hasn't crashed
my machine yet ;)

- a
Post by Tupshin Harper
Post by Adam Megacz
This is a first. The packing/constraining engine is now totally
independent of the number of columns and depends only on the number of
boxes. The pre-simplex renderer could never do this.
The following template renders just as fast as if you divide all the
<ui:box fill="blue" id="blue" cols="5000">
<ui:box width="10" id="a" fill="gray" colspan="1000"/>
<ui:box height="10" fill="white" maxwidth="100" colspan="1000"/>
<ui:box height="10" fill="black" minwidth="100" colspan="2000"/>
<ui:box width="10" id="b" fill="gray" colspan="1000"/>
</ui:box>
-
With those last couple of checkins, my games sampler (which mostly
consists of a reversi board, at the moment), changed from suffering
1) unless java is called with -Xmx512M (or thereabout, certainly 256M
is not enough) it gives a Java.Lang.OutofmemoryError at startup
2) if called with -Xmx512M, it launches but I get the error below.
Unfortunately, I don't have the time to make a simple test case for
the next couple days, but I thought might as well let you know
http://darcs.smallmerchant.com/ibex_widgets
The "test cas" is runnable by launching src/games.t in that archive.
-Tupshin
org.ibex.Box: simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
simplex solver claims infeasibility; this should
never happen
java.lang.Error: not enough rows; this should never happen
at
org.ibex.util.LinearProgramming$Simplex.add_constraint(LinearProgramming.java:373)
at org.ibex.Box.place_children(Box.java:382)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Box.place_children(Box.java:461)
at org.ibex.Surface.render(Surface.java:251)
at org.ibex.Surface$DoubleBufferedSurface.render(Surface.java:351)
at org.ibex.plat.AWT$AWTSurface.render(AWT.java:338)
at org.ibex.Scheduler.renderAll(Scheduler.java:35)
at org.ibex.Scheduler.defaultRun(Scheduler.java:79)
at org.ibex.Scheduler.run(Scheduler.java:54)
at org.ibex.Scheduler.init(Scheduler.java:17)
at org.ibex.Main.main(Main.java:101)
_______________________________________________
core mailing list
http://lists.xwt.org/listinfo/core
--
"It's lucky," he added, after a pause, "that there are such a lot of
islands in the world. I almost envy you, Mr. Watson."

-- Mustapha Mond
Loading...