XML Feeds

.

[java-dev] Re: JitterGUI Family Documentation

jbmaxwell jbmaxwell at btinternet.com
Sat Jun 2 09:14:59 MDT 2007


okay, so with a little observation I got them to move together (just x, y at the moment, but that's fine for now). Just added some offsets:

	public void nestSlider()
	{
	JitterGuiSliderElement sliderOne = Sliders.get(0);
	float homePositionX = sliderOne.position[0];
	float homePositionY = sliderOne.position[1];
	float homePositionZ = sliderOne.position[2];
	post("home position x: " +homePositionX);
	JitterGuiSliderElement slider = new JitterGuiSliderElement(this, new Callback(this, "out"));
	Atom[] setup = new Atom[]{Atom.newAtom((float)homePositionX + 0.4f),
				Atom.newAtom((float)homePositionY + 0.6f), Atom.newAtom((float)homePositionZ)};
	slider.init(context);
	slider.setUniqueIndex(Sliders.size());
	slider.setPosition(setup);
	Sliders.add(slider);
	// set up offsets for positioning later
	sX = s.position[0];
	sY = s.position[1];
	float sliderX = slider.position[0];
	xoffset = sliderX - sX;
	float sliderY = slider.position[1];
	yoffset = sliderY - sY;
	}

then looped through the children in setPosition():

	public void setPosition(Atom a[]) 
	{
		s.setPosition(a);
		sX = s.position[0];
		sY = s.position[1];
		for(int i=1;i < Sliders.size();i++)
			{
			float sliderZ = Sliders.get(i).position[2];
			JitterGuiSliderElement slider = Sliders.get(i);
			Atom[] shift = new Atom[]{Atom.newAtom((float)sX + xoffset), Atom.newAtom((float)sY + yoffset),
							Atom.newAtom((float)sliderZ)};
			slider.setPosition(shift);
			}
	}

The focus/selection thing is more mysterious to me, though...

J.


More information about the java-dev mailing list