public override void Render(GraphicsDevice device, Renderer Renderer, int X, int Y) { this.Height = this.Margin.Y + this.Margin.Height + (int)(this.TextDisplay.RenderText.Lines.Count * this.TextDisplay.LineHeight); Renderer.Slice9 slice = new Renderer.Slice9(0, 80, 48, 48, 5, 5, 5, 5); Renderer.RenderFrame(device, this.X, this.Y, this.Width, this.Height, slice); foreach (Control c in this.Controls) { c.Render(device, Renderer, this.X + X + this.Margin.X, this.Y + Y + this.Margin.Y); } }
public static VertexPositionTexture[] SlicedQuad(GraphicsDevice device, float X, float Y, float Width, float Height, Renderer.Slice9 TexMap, Texture2D WindowSkin) { VertexPositionTexture[] f = new VertexPositionTexture[54]; int ML = TexMap.Left; int MR = TexMap.Right; int MT = TexMap.Top; int MB = TexMap.Bottom; Vector3 AA = PixelToScreen(device, X, Y); Vector3 AB = PixelToScreen(device, X + ML, Y); Vector3 AC = PixelToScreen(device, X + Width - MR, Y); Vector3 AD = PixelToScreen(device, X + Width, Y); Vector3 BA = PixelToScreen(device, X, Y + MT); Vector3 BB = PixelToScreen(device, X + ML, Y + MT); Vector3 BC = PixelToScreen(device, X + Width - MR, Y + MT); Vector3 BD = PixelToScreen(device, X + Width, Y + MT); Vector3 CA = PixelToScreen(device, X, Y + Height - MB); Vector3 CB = PixelToScreen(device, X + ML, Y + Height - MB); Vector3 CC = PixelToScreen(device, X + Width - MR, Y + Height - MB); Vector3 CD = PixelToScreen(device, X + Width, Y + Height - MB); Vector3 DA = PixelToScreen(device, X, Y + Height); Vector3 DB = PixelToScreen(device, X + ML, Y + Height); Vector3 DC = PixelToScreen(device, X + Width - MR, Y + Height); Vector3 DD = PixelToScreen(device, X + Width, Y + Height); //top left corner //Vector2 TTLC = Renderer.TexelToCoord(64, 0, WindowSkin); VertexPositionTexture VAA = new VertexPositionTexture(AA, Renderer.TexelToCoord(TexMap.AA, WindowSkin)); VertexPositionTexture VAB = new VertexPositionTexture(AB, Renderer.TexelToCoord(TexMap.AB, WindowSkin)); VertexPositionTexture VAC = new VertexPositionTexture(AC, Renderer.TexelToCoord(TexMap.AC, WindowSkin)); VertexPositionTexture VAD = new VertexPositionTexture(AD, Renderer.TexelToCoord(TexMap.AD, WindowSkin)); VertexPositionTexture VBA = new VertexPositionTexture(BA, Renderer.TexelToCoord(TexMap.BA, WindowSkin)); VertexPositionTexture VBB = new VertexPositionTexture(BB, Renderer.TexelToCoord(TexMap.BB, WindowSkin)); VertexPositionTexture VBC = new VertexPositionTexture(BC, Renderer.TexelToCoord(TexMap.BC, WindowSkin)); VertexPositionTexture VBD = new VertexPositionTexture(BD, Renderer.TexelToCoord(TexMap.BD, WindowSkin)); VertexPositionTexture VCA = new VertexPositionTexture(CA, Renderer.TexelToCoord(TexMap.CA, WindowSkin)); VertexPositionTexture VCB = new VertexPositionTexture(CB, Renderer.TexelToCoord(TexMap.CB, WindowSkin)); VertexPositionTexture VCC = new VertexPositionTexture(CC, Renderer.TexelToCoord(TexMap.CC, WindowSkin)); VertexPositionTexture VCD = new VertexPositionTexture(CD, Renderer.TexelToCoord(TexMap.CD, WindowSkin)); VertexPositionTexture VDA = new VertexPositionTexture(DA, Renderer.TexelToCoord(TexMap.DA, WindowSkin)); VertexPositionTexture VDB = new VertexPositionTexture(DB, Renderer.TexelToCoord(TexMap.DB, WindowSkin)); VertexPositionTexture VDC = new VertexPositionTexture(DC, Renderer.TexelToCoord(TexMap.DC, WindowSkin)); VertexPositionTexture VDD = new VertexPositionTexture(DD, Renderer.TexelToCoord(TexMap.DD, WindowSkin)); f[0] = VAA; f[1] = VAB; f[2] = VBA; f[3] = VAB; f[4] = VBB; f[5] = VBA; //top f[6] = VAB; // new VertexPositionTexture(TLM, new Vector2(buttonoffset + qt, 0 + delta)); f[7] = VAC; // new VertexPositionTexture(TRM, new Vector2(buttonoffset + qt * 2, 0 + delta)); f[8] = VBB; // new VertexPositionTexture(TMLM, new Vector2(buttonoffset + qt, qt + delta)); //* f[9] = VAC; // new VertexPositionTexture(TRM, new Vector2(buttonoffset + qt * 2, 0 + delta)); f[10] = VBC; // new VertexPositionTexture(TMRM, new Vector2(buttonoffset + qt * 2, qt + delta)); f[11] = VBB; // new VertexPositionTexture(TMLM, new Vector2(buttonoffset + qt, qt + delta)); //*/ //top right corner f[12] = VAC; // new VertexPositionTexture(TRM, new Vector2(buttonoffset + qt * 2, 0 + delta)); f[13] = VAD; // new VertexPositionTexture(TRC, new Vector2(buttonoffset + qt * 3, 0 + delta)); f[14] = VBC; // new VertexPositionTexture(TMRM, new Vector2(buttonoffset + qt * 2, qt + delta)); f[15] = VAD; // new VertexPositionTexture(TRC, new Vector2(buttonoffset + qt * 3, 0 + delta)); f[16] = VBD; // new VertexPositionTexture(TMRC, new Vector2(buttonoffset + qt * 3, qt + delta)); f[17] = VBC; // new VertexPositionTexture(TMRM, new Vector2(buttonoffset + qt * 2, qt + delta)); //middle left f[18] = VBA; // new VertexPositionTexture(TMLC, new Vector2(buttonoffset + 0, qt + delta)); f[19] = VBB; // new VertexPositionTexture(TMLM, new Vector2(buttonoffset + qt, qt + delta)); f[20] = VCA; // new VertexPositionTexture(BMLC, new Vector2(buttonoffset + 0, qt * 2 + delta)); f[21] = VBB; // new VertexPositionTexture(TMLM, new Vector2(buttonoffset + qt, qt + delta)); f[22] = VCB; // new VertexPositionTexture(BMLM, new Vector2(buttonoffset + qt, qt * 2 + delta)); f[23] = VCA; // new VertexPositionTexture(BMLC, new Vector2(buttonoffset + 0, qt * 2 + delta)); //*/ //middle f[24] = VBB; // new VertexPositionTexture(TMLM, new Vector2(buttonoffset + 0 + qt, qt + delta)); f[25] = VBC; // new VertexPositionTexture(TMRM, new Vector2(buttonoffset + 0 + qt * 2, qt + delta)); f[26] = VCB; // new VertexPositionTexture(BMLM, new Vector2(buttonoffset + 0 + qt, qt * 2 + delta)); f[27] = VBC; // new VertexPositionTexture(TMRM, new Vector2(buttonoffset + 0 + qt * 2, qt + delta)); f[28] = VCC; // VertexPositionTexture(BMRM, new Vector2(buttonoffset + 0 + qt * 2, qt * 2 + delta)); f[29] = VCB; // VertexPositionTexture(BMLM, new Vector2(buttonoffset + 0 + qt, qt * 2 + delta)); //middle right f[30] = VBC; // new VertexPositionTexture(TMRM, new Vector2(buttonoffset + qt * 2, qt + delta)); f[31] = VBD; // new VertexPositionTexture(TMRC, new Vector2(buttonoffset + qt * 3, qt + delta)); f[32] = VCC; // new VertexPositionTexture(BMRM, new Vector2(buttonoffset + qt * 2, qt * 2 + delta)); f[33] = VBD; // new VertexPositionTexture(TMRC, new Vector2(buttonoffset + qt * 3, qt + delta)); f[34] = VCD; // VertexPositionTexture(BMRC, new Vector2(buttonoffset + qt * 3, qt * 2 + delta)); f[35] = VCC; // VertexPositionTexture(BMRM, new Vector2(buttonoffset + qt * 2, qt * 2 + delta)); //bottom left f[36] = VCA; // new VertexPositionTexture(BMLC, new Vector2(buttonoffset + 0, qt * 2 + delta)); f[37] = VCB; // VertexPositionTexture(BMLM, new Vector2(buttonoffset + qt, qt * 2 + delta)); f[38] = VDA; // VertexPositionTexture(BLC, new Vector2(buttonoffset + 0, qt * 3 + delta)); f[39] = VCB; // VertexPositionTexture(BMLM, new Vector2(buttonoffset + qt, qt * 2 + delta)); f[40] = VDB; // VertexPositionTexture(BLM, new Vector2(buttonoffset + qt, qt * 3 + delta)); f[41] = VDA; // VertexPositionTexture(BLC, new Vector2(buttonoffset + 0, qt * 3 + delta)); //bottom f[42] = VCB; // new VertexPositionTexture(BMLM, new Vector2(buttonoffset + qt, qt * 2 + delta)); f[43] = VCC; // new VertexPositionTexture(BMRM, new Vector2(buttonoffset + qt * 2, qt * 2 + delta)); f[44] = VDB; // new VertexPositionTexture(BLM, new Vector2(buttonoffset + qt, qt * 3 + delta)); f[45] = VCC; // new VertexPositionTexture(BMRM, new Vector2(buttonoffset + qt * 2, qt * 2 + delta)); f[46] = VDC; // new VertexPositionTexture(BRM, new Vector2(buttonoffset + qt * 2, qt * 3 + delta)); f[47] = VDB; // new VertexPositionTexture(BLM, new Vector2(buttonoffset + qt, qt * 3 + delta)); //bottom right f[48] = VCC; // new VertexPositionTexture(BMRM, new Vector2(buttonoffset + qt * 2, qt * 2 + delta)); f[49] = VCD; // new VertexPositionTexture(BMRC, new Vector2(buttonoffset + qt * 3, qt * 2 + delta)); f[50] = VDC; // new VertexPositionTexture(BRM, new Vector2(buttonoffset + qt * 2, qt * 3 + delta)); f[51] = VCD; // new VertexPositionTexture(BMRC, new Vector2(buttonoffset + qt * 3, qt * 2 + delta)); f[52] = VDD; // new VertexPositionTexture(BRC, new Vector2(buttonoffset + qt * 3, qt * 3 + delta)); f[53] = VDC; // new VertexPositionTexture(BRM, new Vector2(buttonoffset + qt * 2, qt * 3 + delta)); //eventually return(f); }