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; } }
/// <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); }