예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
                }
            }
        }