Пример #1
0
        private Info CreateInfo(string text)
        {
            Info info = new Info();
            info.Text = text;

            //int count = 1;
            //int start = 0;
            //while ((start = text.IndexOf('\n', start)) != -1)
            //{
            //    count++;
            //    start++;
            //}
            //info.Rows = count;
            return info;
        }
Пример #2
0
        private void DrawTextInfo(Graphics g)
        {
            if (SelectedGame == null)
                return;

            string gameName = SelectedGame.IsParent ? SelectedGame.Name : SelectedGame.ParentSet;

            int maxRows = 0;
            int chars;
            Info info = new Info();
            string text = "";
            StringFormat stringFormat = new StringFormat();

            //Calculate the Area to draw the text in.
            SizeF size = new SizeF((float) ClientRectangle.Width/2, 100000);
            ;
            RectangleF rectangleF = new RectangleF(((float) ClientRectangle.Width/2), ArtOffset,
                                                   ((float) ClientRectangle.Width/2) - ArtOffset,
                                                   ClientRectangle.Height - ArtOffset*2);

            //Find out if we are reading MameInfo or History
            string textType = Path.GetFileNameWithoutExtension(SettingsManager.ArtPaths[ArtType]);
            if (textType.Equals("mameinfo", StringComparison.InvariantCultureIgnoreCase))
            {
                if (MameInfo == null)
                    MameInfo = new InfoParser(SettingsManager.ArtPaths[ArtType]);

                if (!MameInfo.Contains(gameName.Replace("fav_", "")))
                    return;

                info = MameInfo[gameName.Replace("fav_", "")];
            }
            else if (textType.Equals("history", StringComparison.InvariantCultureIgnoreCase))
            {
                if (History == null)
                    History = new InfoParser(SettingsManager.ArtPaths[ArtType]);

                if (!History.Contains(gameName.Replace("fav_", "")))
                    return;

                info = History[gameName.Replace("fav_", "")];
            }
            else
                return;

            _currentInfo = info;

            text = GetShortInfoText();
            _currentInfoText = text;

            g.MeasureString(text, Settings.Default.info_font, size, stringFormat, out chars, out maxRows);

            g.DrawString(text, Settings.Default.info_font, new SolidBrush(Settings.Default.info_font_color), rectangleF,
                         stringFormat);

            _imageArea = new Rectangle((int) rectangleF.X, (int) rectangleF.Y, (int) rectangleF.Width,
                                       (int) rectangleF.Height);

            info.TotalRows = maxRows;
            info.VisibleRows = GetVisibleRows(_currentInfoText);
        }