private void DrawMoveableText(Graphics g) { Font f = new Font(MhoraGlobalOptions.Instance.GeneralFont.FontFamily, MhoraGlobalOptions.Instance.GeneralFont.SizeInPoints - 2); int[] items = new int[29]; for (int i = 0; i < 29; i++) { items[i] = 0; } foreach (BodyPosition bp in h.positionList) { if (bp.type != BodyType.Name.Graha && bp.type != BodyType.Name.Lagna) { continue; } Nakshatra28 n = bp.longitude.toNakshatra28(); items[(int)n.value]++; Point pxBase = GetCellInRectangle(9, 26, (int)n.value); Point pxOff = GetItemOffset(items[(int)n.value]); Point px = new Point(pxBase.X + pxOff.X, pxBase.Y + pxOff.Y); string s = Body.toShortString(bp.name); g.DrawString(s, f, Brushes.Maroon, px.X, px.Y); } }
private void DrawFixedText(Graphics g) { Font f_sounds = new Font(MhoraGlobalOptions.Instance.GeneralFont.FontFamily, MhoraGlobalOptions.Instance.GeneralFont.SizeInPoints - 2); Font f_sanskrit = new Font("Sanskrit 99", MhoraGlobalOptions.Instance.GeneralFont.SizeInPoints + 5); for (int i = 1; i <= 12; i++) { ZodiacHouse zh = new ZodiacHouse(ZodiacHouse.Name.Ari).add(i); Point pxBase = GetCellInRectangle(5, 11, i); Point pxOff = GetItemOffsetCenter(); Point px = new Point(pxBase.X + pxOff.X, pxBase.Y + pxOff.Y); string s = zh.value.ToString(); SizeF sz = g.MeasureString(s, f); g.DrawString(s, f, Brushes.Purple, px.X - sz.Width / 2, px.Y - sz.Height / 2); } for (int i = 1; i <= 28; i++) { Nakshatra28 na = new Nakshatra28(Nakshatra28.Name.Aswini).add(i); Point pxBase = GetCellInRectangle(9, 26, i); Point pxOff = GetItemOffsetCenter(); Point px = new Point(pxBase.X + pxOff.X, pxBase.Y); string s = na.value.ToString().Substring(0, 3); SizeF sz = g.MeasureString(s, f); g.DrawString(s, f, Brushes.DarkGreen, px.X - sz.Width / 2, px.Y); } { Point pxOff = GetItemOffsetCenter(); Brush b = Brushes.DarkGreen; Point pxBase = GetCell(5, 4); Point px = new Point(pxBase.X + pxOff.X, pxBase.Y); string s = "Nanda"; SizeF sz = g.MeasureString(s, f); g.DrawString(s, f, b, px.X - sz.Width / 2, px.Y); pxBase = GetCell(4, 5); px = new Point(pxBase.X + pxOff.X, pxBase.Y); s = "Rikta"; sz = g.MeasureString(s, f); g.DrawString(s, f, b, px.X - sz.Width / 2, px.Y); pxBase = GetCell(5, 5); px = new Point(pxBase.X + pxOff.X, pxBase.Y); s = "Poorna"; sz = g.MeasureString(s, f); g.DrawString(s, f, b, px.X - sz.Width / 2, px.Y); pxBase = GetCell(6, 5); px = new Point(pxBase.X + pxOff.X, pxBase.Y); s = "Bhadra"; sz = g.MeasureString(s, f); g.DrawString(s, f, b, px.X - sz.Width / 2, px.Y); pxBase = GetCell(5, 6); px = new Point(pxBase.X + pxOff.X, pxBase.Y); s = "Jaya"; sz = g.MeasureString(s, f); g.DrawString(s, f, b, px.X - sz.Width / 2, px.Y); DrawTithiItem(g, 5, 4, 1, "Sun"); DrawTithiItem(g, 5, 4, 6, "Tue"); DrawTithiItem(g, 4, 5, 1, "Fri"); DrawTithiItem(g, 5, 5, 1, "Sat"); DrawTithiItem(g, 6, 5, 1, "Mon"); DrawTithiItem(g, 6, 5, 6, "Wed"); DrawTithiItem(g, 5, 6, 1, "Thu"); DrawTithiItem(g, 5, 4, 4, "1,6,11"); DrawTithiItem(g, 4, 5, 4, "4,9,14"); DrawTithiItem(g, 5, 5, 4, "5,10,15"); DrawTithiItem(g, 5, 6, 4, "3,8,13"); DrawTithiItem(g, 6, 5, 4, "2,7,12"); } string[][] strs = new string[][] { new string[] { "a", "", "", "", "", "", "", "", "aa" }, new string[] { "", "u", "a", "va", "ka", "ha", "da", "uu", "" }, new string[] { "", "la", "lu", "", "", "", "lu", "ma", "" }, new string[] { "", "cha", "", "o", "", "au", "", "Ta", "" }, new string[] { "", "da", "", "", "", "", "", "pa", "" }, new string[] { "", "sa", "", "ah", "", "an", "", "ra", "" }, new string[] { "", "ga", "ai", "", "", "", "e", "ta", "" }, new string[] { "", "r^ii", "kha", "ja", "ba", "ya", "na", "r^i", "" }, new string[] { "ii", "", "", "", "", "", "", "", "i" } }; string[][] strs_san = new string[][] { new string[] { "A", "", "", "", "", "", "", "", "Aa" }, new string[] { "", "%", "A", "v", "k", "h", "d", "^", "" }, new string[] { "", "l", "l&", "", "", "", "l&", "m", "" }, new string[] { "", "c", "", "Aae", "", "AaE", "", "q", "" }, new string[] { "", "d", "", "", "", "", "", "p", "" }, new string[] { "", "s", "", "A>", "", "A<", "", "r", "" }, new string[] { "", "g", "@e", "", "", "", "@", "t", "" }, new string[] { "", "\\", "o", "j", "b", "y", "n", "\\", "" }, new string[] { "$", "", "", "", "", "", "", "", "#" } }; for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { Point pxBase = this.GetCell(j + 1, i + 1); Point pxOff = GetItemOffsetCenter(); Point px = new Point(pxBase.X + pxOff.X, pxBase.Y + pxOff.Y); string s = strs_san[i][j]; SizeF sz = g.MeasureString(s, f); g.DrawString(s, f_sanskrit, Brushes.CadetBlue, px.X - sz.Width / 2, px.Y - sz.Height * (float)1.5); } } }