[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sc-devel] relative coordinates in SCCompositeView ?



Hi,
thanks for testing, ' will look into the posted issues the coming days.
Jan

On Feb 4, 2008, at 1:13 PM, felix wrote:

I implemented this as a unit test in the CommonTests quark

SCCompositeView.test
passes

I did it also for SCScrollView.test

it doesn't fail, but you can visually see that its incorrect.
I already posted about that (bounds are correct but visual is different)




On Jan 20, 2008 5:01 AM, James Harkins <jamshark70@xxxxxxxxx> wrote:
I see... the problem shows up when you have 3 layers of nesting. It works fine for 2, but breaks for 3.

w = SCWindow.new("test", Rect(50, 50, 500, 500)).front;
f = SCCompositeView(w, Rect(50, 50, 150, 200)).background_(Color.red (alpha: 0.3))
.relativeOrigin_(true);
g = SCCompositeView(f, Rect(10, 10, 100, 100)).background_ (Color.blue(alpha: 0.3))
.relativeOrigin_(true);
h = SCCompositeView(g, Rect(30, 15, 60, 40)).background_ (Color.yellow(alpha: 0.3))
.relativeOrigin_(true);
SCStaticText(h, Rect(10, 10, 40, 20)).background_ (Color.white).string_("hello");
w.refresh;


Since it would be bad to fix it for 3 layers but leave it broken for 4, here's a stress test.

(
var ratio = rrand(1.25, 1.6), x = 0, lastx = 0, lastView;

if(0.5.coin) { ratio = ratio.reciprocal };

w = SCWindow("Albers ad infinitum", Rect(10, 10, 600, 600));
lastView = w;
while { x < 299 } {
lastView = SCCompositeView(lastView,
Rect(x - lastx, (x - lastx) * ratio, 600 - (2*x), 600 - (2*x)))
.background_(Color.rand.alpha_(rrand(0.3, 0.7)))
.relativeOrigin_(true);
lastx = x;
x = x + rrand(12, 36);
};
w.front;
)

For comparison, the same without relative origins. Both should look the same. (Quite pretty... Josef was no fool.)

(
var ratio = rrand(1.25, 1.6), x = 0, lastx = 0, lastView;

if(0.5.coin) { ratio = ratio.reciprocal };

w = SCWindow("Albers ad infinitum", Rect(10, 10, 600, 600));
lastView = w;
while { x < 299 } {
lastView = SCCompositeView(lastView,
Rect(x, x * ratio, 600 - (2*x), 600 - (2*x)))
.background_(Color.rand.alpha_(rrand(0.3, 0.7)))
.relativeOrigin_(false);
lastx = x;
x = x + rrand(12, 36);
};
w.front;
)



hjh

: H. James Harkins
: jamshark70@xxxxxxxxxxxxxxxxx
: http://www.dewdrop-world.net
.::!:.:.......:.::........:..!.::.::...:..:...:.:.:.:..:

"Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal."  -- Whitman


_______________________________________________
Sc-devel mailing list
Sc-devel@xxxxxxxxxxxxxxx
http://lists.create.ucsb.edu/mailman/listinfo/sc-devel




--
chris sattinger
skype: crucialfelix
aim: crucialfelix

_______________________________________________
Sc-devel mailing list
Sc-devel@xxxxxxxxxxxxxxx
http://lists.create.ucsb.edu/mailman/listinfo/sc-devel