예제 #1
0
 public MultiRenderable(Rectangle boundsZ,
                        RC_RenderableBounded sbb1, RC_RenderableBounded sbb2,
                        RC_RenderableBounded sbb3, RC_RenderableBounded sbb4)
 {
     // set unused ones to null
     bounds = new Rectangle(boundsZ.X, boundsZ.Y, boundsZ.Width, boundsZ.Height);
     sb1    = sbb1;
     sb2    = sbb2;
     sb3    = sbb3;
     sb4    = sbb4;
     if (sb1 != null)
     {
         sb1.bounds = bounds;
     }
     if (sb2 != null)
     {
         sb2.bounds = bounds;
     }
     if (sb3 != null)
     {
         sb3.bounds = bounds;
     }
     if (sb4 != null)
     {
         sb4.bounds = bounds;
     }
 }
        public override bool KeyHitEvent(Keys keyHit)
        {
            if (keyHit == Keys.Down)
            {
                RC_RenderableBounded rb = ((RC_RenderableBounded)(rlist[currentFocusIndex]));
                int i = rlist.IndexOfNext(rb);
                currentFocusIndex = i;
                selectedThisFrame = true;
                return(true);
            }

            if (keyHit == Keys.Up)
            {
                RC_RenderableBounded rb = ((RC_RenderableBounded)(rlist[currentFocusIndex]));
                int i = rlist.IndexOfPrevious(rb);
                currentFocusIndex = i;
                selectedThisFrame = true;
                return(true);
            }

            if (keyHit == Keys.Enter || keyHit == Keys.Space)
            {
                clickedThisFrame = true;
            }

            return(false);
        }
        public void addBeside(RC_RenderableBounded ren, int switchValQ, float valQ, int gapInPixels)
        {
            RC_RenderableBounded lastOne = (RC_RenderableBounded)rlist[rlist.Count() - 1];

            add(ren, switchValQ, valQ);
            // now set bounds
            Rectangle r = lastOne.bounds;

            r.X        = r.X + gapInPixels + r.Width;
            ren.bounds = r;
        }
 public void add(RC_RenderableBounded ren, int switchValQ, float valQ)
 {
     rlist.addToEnd(ren);
     ren.tag    = valQ;
     ren.tagInt = switchValQ;
     if (!initalized)
     {
         val               = valQ;
         switchVal         = switchValQ;
         currentFocusIndex = 0; // the currently selected one
         initalized        = true;
     }
 }
예제 #5
0
 /// <summary>
 /// Importantly this routine sets the bounds of the Renderable to inner rectangle
 /// </summary>
 /// <param name="b"></param>
 public void setBackground(RC_RenderableBounded b) // set null if none
 {
     backGround = b;
     b.bounds   = new Rectangle(innerRectangle.X, innerRectangle.Y, innerRectangle.Width, innerRectangle.Height);
 }