public touchScreen this[touchScreenOrientation o] //index access to a particular touch screen
 {
     get
     {
         return(getPanel(o));
     }
 }
        public touchScreen getPanel(touchScreenOrientation p)
        {
            int intP = (int)p;

            if (intP < 0 || intP >= touchScreens.Length)
            {
                return(null);
            }

            return(touchScreens[intP]);
        }
        public touchScreen(touchScreenOrientation _orientation)
        {
            touches           = new touch[0];
            touchCount        = 0;
            pinch             = 1f;
            twist             = 0f;
            screenOrientation = _orientation;

            active = false; //the first input causes it to activate.

            for (int i = 0; i < touchPool.Length; i++)
            {
                touchPool[i] = new touch();
            }
            for (int i = 0; i < interfaces.Length; i++)
            {
                interfaces[i]             = new touchInterface();
                interfaces[i].orientation = _orientation;
            }
            for (int i = 0; i < touchIdMap.Length; i++)
            {
                touchIdMap[i] = 0;
            }
        }