how to a make a touch button open a menu while finger is down?

Hey every body! i have a Touch Gui Question.

basicly i want to have 3 buttons on my screen. then when i hold my finger on one it opens another menu then with out taking my finger off i slide it to the option i want to select then release thus selecting the option. i’ve made a very rough idea of what im after below.

so im looking for someone to point me in the right direction of how to do this. an example would be great (i use JS) but i would be more than happy just to be told "hey look into menu.hold.GUIbutton " (i know thats not real but if i knew the real one this question would be shorter.)

thanks in advance for all your help guys! you are the best!

-Mike

[13302-screen+shot+2013-07-19+at+3.41.47+pm.png|13302]

[13303-screen+shot+2013-07-19+at+3.41.57+pm.png|13303]

With GUI you can use Rect.Contains():

#pragma strict

private var rectControl = Rect(0,50,100,50);
private var rectSlave1  = Rect(125,25,100,50);
private var rectSlave2  = Rect(125,100,100,50);

private var display = false;

function OnGUI() {

	GUI.Box(rectControl, "master");
	
	var e = Event.current;
	
	if (e.type == EventType.MouseDown && rectControl.Contains(e.mousePosition))
	  display = true;
	
	if (display) {
		GUI.Box(rectSlave1, "slave1");
		GUI.Box(rectSlave2, "slave2");
	}

   if (e.type == EventType.MouseUp) {
       if (display) {
          if (rectSlave1.Contains(e.mousePosition)) {
              Debug.Log("Selected button 1");
          }
          else if (rectSlave2.Contains(e.mousePosition)) {
              Debug.Log("Selected button 2");
          }
       }
       display = false;
   }
}

You can replace the GUI.Box() calls with GUI.DrawTexture() to get the textures like you have in your drawing.