void DrawFont(TRectF screen) { string txt; uint width, height; TColor4 c; txt = "I'm rotating... +_+"; pFontBold.GetTextDimensions(txt, out width, out height); c = TColor4.ColorWhite(); pFontBold.Draw2D(screen.x + screen.width - width - 10f, 200, txt, ref c, counter % 360); txt = "I'm just right aligned text. -_-"; pFontBold.GetTextDimensions(txt, out width, out height); pFontBold.Draw2D((int)(screen.x + screen.width - width), 10, txt, ref c); txt = "I have a shadow! ;-)"; pFontBold.GetTextDimensions(txt, out width, out height); c = TColor4.ColorBlack(); pFontBold.Draw2D((int)(screen.x + screen.width - width - 7f), 53, txt, ref c); c = TColor4.ColorWhite(); pFontBold.Draw2D((int)(screen.x + screen.width - width - 10f), 50, txt, ref c); txt = "Cool colored me! ^_^"; pFontBold.GetTextDimensions(txt, out width, out height); TColor4 c1 = TColor4.ColorRed(); TColor4 c2 = TColor4.ColorGreen(); pRender2D.SetVerticesColors(ref c1, ref c2, ref c1, ref c2); c = TColor4.ColorWhite(); pFontBold.Draw2D(screen.x + screen.width - width - 10f, 100f, txt, ref c, 0, true); txt = "I'm randomly colored... >_<"; pFont.Draw2D(screen.x + 5f, 10, txt, ref stRandomCol); txt = "I'm per vertex colored! -_0"; TColor4 c3 = TColor4.ColorAqua(); TColor4 c4 = TColor4.ColorOrange(); pRender2D.SetVerticesColors(ref c3, ref c3, ref c4, ref c4); c = TColor4.ColorWhite(); pFontBold.Draw2D(screen.x + 5f, 50f, txt, ref c, 0, true); txt = "А я могу говорить по-русски! [:-|"; c = TColor4.ColorRed(); pFont.Draw2D(screen.x + 5f, 100, txt, ref c); txt = "I'm scaling... o_O"; pFontBold.SetScale((float)Math.Abs(Math.Sin(counter / 50f)) * 2f); c = TColor4.ColorWhite(); pFontBold.Draw2D(screen.x + 5f, 200, txt, ref c); pFontBold.SetScale(1f); txt = "I am just very brutal..!"; pFontHard.GetTextDimensions(txt, out width, out height); c = TColor4.ColorOfficialOrange(); pFontHard.Draw2D((int)(screen.x + (screen.width - width) / 2f), 300f, txt, ref c); }
void DrawPrimitives(TRectF screen) { TColor4 c; TRectF rect; rect = new TRectF(5f, 5f, 170f, 170f); c = TColor4.ColorBlue(); pRender2D.DrawRectangle(ref rect, ref c, E_PRIMITIVE2D_FLAGS.PF_LINE); rect = new TRectF(10f, 10f, 160f, 160f); c = TColor4.ColorGray(); pRender2D.DrawRectangle(ref rect, ref c, E_PRIMITIVE2D_FLAGS.PF_FILL); pRender2D.DrawTriangles(null, ref triangles[0], (uint)triangles.Length, E_PRIMITIVE2D_FLAGS.PF_FILL); for (int i = 0; i <= 12; i++) { TPoint2 p = new TPoint2(screen.x, screen.y) + new TPoint2(15f + 12 * i, 15f + 12 * i); c = TColor4.ColorTeal(); pRender2D.DrawPoint(ref p, ref c, (uint)(1 + i)); } for (int i = 0; i < 15; i++) { pRender2D.SetLineWidth((uint)(1 + i / 2)); TPoint2 p = new TPoint2(screen.width - i * 20, screen.height); TPoint2 p1 = new TPoint2(screen.width, screen.height - i * 20); c = TColor4.ColorOfficialOrange((byte)(255 - i * 17)); pRender2D.DrawLine(ref p, ref p1, ref c); } pRender2D.SetLineWidth(2); TColor4 c1 = TColor4.ColorAqua(), c2 = TColor4.ColorFuchsia(), c3 = new TColor4(), c4 = new TColor4(); pRender2D.SetVerticesColors(ref c1, ref c2, ref c3, ref c4); // override per vertex color for the line c = new TColor4(); TPoint2 p2 = new TPoint2(screen.width, 75f); TPoint2 p3 = new TPoint2(200f, screen.height); pRender2D.DrawLine(ref p2, ref p3, ref c, E_PRIMITIVE2D_FLAGS.PF_VERTICES_COLORS); pRender2D.SetLineWidth(1); c1 = TColor4.ColorGray(); c2 = TColor4.ColorMagenta(); c3 = TColor4.ColorOrange(); c4 = TColor4.ColorViolet(); pRender2D.SetVerticesColors(ref c1, ref c2, ref c3, ref c4); // override per vertex color for the rectangle rect = new TRectF(250f, 25f, 125f, 125f); pRender2D.DrawRectangle(ref rect, ref c, (E_PRIMITIVE2D_FLAGS.PF_LINE | E_PRIMITIVE2D_FLAGS.PF_VERTICES_COLORS)); c1 = TColor4.ColorBlack(0); c2 = TColor4.ColorGreen(); c3 = TColor4.ColorGreen(); c4 = TColor4.ColorBlack(0); pRender2D.SetVerticesColors(ref c1, ref c2, ref c3, ref c4); rect = new TRectF(260f, 35f, 105f, 105f); pRender2D.DrawRectangle(ref rect, ref c, (E_PRIMITIVE2D_FLAGS.PF_FILL | E_PRIMITIVE2D_FLAGS.PF_VERTICES_COLORS)); p2 = new TPoint2(125f, 50f); c = TColor4.ColorOrange(); pRender2D.DrawCircle(ref p2, 40, 32, ref c, E_PRIMITIVE2D_FLAGS.PF_FILL); c = TColor4.ColorWhite(); for (int i = 0; i < 6; i++) { pRender2D.DrawCircle(ref p2, (uint)(10 + i * 5), (uint)(4 + i * 2), ref c, E_PRIMITIVE2D_FLAGS.PF_LINE); } p2 = new TPoint2(200f, 250f); p3 = new TPoint2(110f, 34f); c = TColor4.ColorViolet(); pRender2D.DrawEllipse(ref p2, ref p3, 64, ref c, E_PRIMITIVE2D_FLAGS.PF_FILL); pRender2D.SetLineWidth(3); p3 = new TPoint2(100f, 30f); c = TColor4.ColorWhite(); pRender2D.DrawEllipse(ref p2, ref p3, 32, ref c, E_PRIMITIVE2D_FLAGS.PF_LINE); p3 = new TPoint2(80f, 24f); c = TColor4.ColorFuchsia(); pRender2D.DrawEllipse(ref p2, ref p3, 8, ref c, E_PRIMITIVE2D_FLAGS.PF_FILL); p3 = new TPoint2(30f, 75f); c = TColor4.ColorOrange(100); pRender2D.DrawEllipse(ref p2, ref p3, 64, ref c, E_PRIMITIVE2D_FLAGS.PF_FILL); pRender2D.DrawPolygon(null, ref star_polygon[0], (uint)triangles.Length, E_PRIMITIVE2D_FLAGS.PF_FILL); }