コード例 #1
0
        public bool AnalyserHasFinished(int Left, int Top, int width, int height)
        {
            IComparer myLineSorter = new LineSorter();

            bool BulletLines = false;
            // int LineNumber = 1;
            int BulletLineNumber = 0;
            int Bullet_Y_Limit   = 0;

            //foreach (LineLayout actualLine in AnalysedPage)
            for (int LineNumber = 0; LineNumber < AnalysedPage.Length; LineNumber++)
            {
                // LineLayout actualLine = AnalysedPage[LineNumber];
                if (AnalysedPage[LineNumber].Status != LineStatus.Empty)
                {
                    /* Test for Sort Function
                     *  TextLayout TestSort = (TextLayout)AnalysedPage[LineNumber].LineContents[0];
                     *  TestSort.TextStart.X = TestSort.TextStart.X + 2;
                     *  // TestSort.TextStart.Y = TestSort.TextStart.Y + 2;
                     *  AnalysedPage[LineNumber].LineContents.Add(TestSort);
                     */
                    AnalysedPage[LineNumber].LineContents.Sort(myLineSorter);
                    if (AnalysedPage[LineNumber].Status == LineStatus.BulletStart)
                    {
                        BulletLines      = true;
                        Bullet_Y_Limit   = (AnalysedPage[LineNumber].BulletPosition.Left + AnalysedPage[LineNumber].BulletPosition.Right) / 2;
                        BulletLineNumber = LineNumber;
                    }
                    else
                    {
                        if (BulletLines)
                        {
                            if ((LineNumber - BulletLineNumber) > 8)
                            {
                                BulletLines = false;
                            }
                            if (((TextLayout)AnalysedPage[LineNumber].LineContents[0]).TextStart.X < Bullet_Y_Limit)
                            {
                                BulletLines = false;
                            }
                            else
                            {
                                AnalysedPage[LineNumber].Status = LineStatus.BulletContinue;
                            }
                        }
                    }
                }
            }
            if (richRecognizedTextBox.InvokeRequired)
            {
                SetBoxTextCallback d = new SetBoxTextCallback(DisplayAnalysedText);
                richRecognizedTextBox.Invoke(d, new object[] { });
            }
            else
            {
                DisplayAnalysedText();
            }
            return(false);
        }
コード例 #2
0
ファイル: PaperInkPage.cs プロジェクト: n8willis/inklonvert
        public bool AnalyserHasFinished(int Left, int Top, int width, int height)
        {
            IComparer myLineSorter = new LineSorter();

            bool BulletLines = false;
            // int LineNumber = 1;
            int BulletLineNumber = 0;
            int Bullet_Y_Limit = 0;
            //foreach (LineLayout actualLine in AnalysedPage)
            for (int LineNumber = 0; LineNumber < AnalysedPage.Length; LineNumber++)
            {
                 // LineLayout actualLine = AnalysedPage[LineNumber];
                if (AnalysedPage[LineNumber].Status != LineStatus.Empty)
                {
                                                         /* Test for Sort Function
                                                             TextLayout TestSort = (TextLayout)AnalysedPage[LineNumber].LineContents[0];
                                                             TestSort.TextStart.X = TestSort.TextStart.X + 2;
                                                             // TestSort.TextStart.Y = TestSort.TextStart.Y + 2;
                                                             AnalysedPage[LineNumber].LineContents.Add(TestSort);
                                                         */
                   AnalysedPage[LineNumber].LineContents.Sort(myLineSorter);
                   if (AnalysedPage[LineNumber].Status == LineStatus.BulletStart)
                   {
                        BulletLines = true;
                        Bullet_Y_Limit = (AnalysedPage[LineNumber].BulletPosition.Left + AnalysedPage[LineNumber].BulletPosition.Right) / 2;
                        BulletLineNumber = LineNumber;
                    }
                    else
                    {
                        if (BulletLines)
                        {
                            if ((LineNumber - BulletLineNumber) > 8)
                            {
                                BulletLines = false;
                            }
                            if (((TextLayout)AnalysedPage[LineNumber].LineContents[0]).TextStart.X < Bullet_Y_Limit)
                            {
                                BulletLines = false;
                            }
                            else
                            {
                                AnalysedPage[LineNumber].Status = LineStatus.BulletContinue;
                            }
                        }
                    }
                }
            }
            if (richRecognizedTextBox.InvokeRequired)
            {
                SetBoxTextCallback d = new SetBoxTextCallback(DisplayAnalysedText);
                richRecognizedTextBox.Invoke(d, new object[] { });

            }
            else
            {
                DisplayAnalysedText();
            }
            return false;
        }