Revision: 3345
http://vexi.svn.sourceforge.net/vexi/?rev=3345&view=rev
Author: clrg
Date: 2009-01-08 02:40:15 +0000 (Thu, 08 Jan 2009)
Log Message:
-----------
Make layout consistent
- place clips all content (previously was constraining to texture/text)
- layer and pack constrain content (same as before)
- fix probable issue; HAS_WIDTH_SLACK not set when texture larger than
constrained children
Modified Paths:
--------------
trunk/core/org.vexi.core/src/org/vexi/core/Box.jpp
Modified: trunk/core/org.vexi.core/src/org/vexi/core/Box.jpp
===================================================================
--- trunk/core/org.vexi.core/src/org/vexi/core/Box.jpp 2009-01-08 02:34:35 UTC
(rev 3344)
+++ trunk/core/org.vexi.core/src/org/vexi/core/Box.jpp 2009-01-08 02:40:15 UTC
(rev 3345)
@@ -192,7 +192,7 @@
private Box parent = null;
private Box redirect = this;
- private int flags = DISPLAY | REFLOW | ORIENT | TILE_IMAGE | PACK | CLIP |
PLACE_CLEAN;
+ private int flags = DISPLAY | REFLOW | ORIENT | TILE_IMAGE | PACK |
PLACE_CLEAN;
private short trapflags = 0;
private BasicTree bt = null;
// rendering properties
@@ -427,13 +427,19 @@
//if (lock) clear(LOCK_CHILDREN);
//#repeat width/height WIDTH/HEIGHT
- if (newwidth < minwidth || newwidth < text.width)
- set(HAS_WIDTH_SLACK);
- else clear(HAS_WIDTH_SLACK);
- // constrain contentwidth
- if (texture != null)
- newwidth = max(newwidth, texture.width);
- newwidth = max(newwidth, text.width);
+ if (test(CLIP)) {
+ if (newwidth < minwidth)
+ set(HAS_WIDTH_SLACK);
+ else clear(HAS_WIDTH_SLACK);
+ } else {
+ if (newwidth < minwidth || newwidth < text.width || (texture!=null
&& newwidth < texture.width))
+ set(HAS_WIDTH_SLACK);
+ else clear(HAS_WIDTH_SLACK);
+ // constrain contentwidth
+ if (texture != null)
+ newwidth = max(newwidth, texture.width);
+ newwidth = max(newwidth, text.width);
+ }
newwidth = min(maxwidth, max(minwidth, newwidth));
// mark
@@ -1382,16 +1388,15 @@
if (JSU.toString(value).equals("place")) {
if (test(PACK) || !test(CLIP)) {
clear(PACK); set(CLIP);
- }
- else return;
+ } else return;
} else if (JSU.toString(value).equals("layer")) {
if (test(PACK) || test(CLIP)) {
clear(PACK); clear(CLIP);
- }
- else return;
+ } else return;
} else if (JSU.toString(value).equals("pack")) {
if (test(PACK)) return;
- else set(PACK);
+ set(PACK);
+ clear(CLIP);
} else throw new JSExn("Attempt to set Box property 'layout' to
unsupported value '"+JSU.toString(value)+"'");
setConstrain();
setPlace();
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It is the best place to buy or sell services for
just about anything Open Source.
http://p.sf.net/sfu/Xq1LFB
_______________________________________________
Vexi-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn