コード例 #1
0
ファイル: DrawingText.cs プロジェクト: sandeepbeniwal/Kinovea
        public override int HitTest(PointF point, long currentTimestamp, DistortionHelper distorter, IImageToViewportTransformer transformer, bool zooming)
        {
            double opacity = infosFading.GetOpacityFactor(currentTimestamp);

            if (opacity <= 0)
            {
                return(-1);
            }

            // Background label: 0, hidden resizer: 1, arrow end: 2.
            if (showArrow)
            {
                if (HitTester.HitTest(arrowEnd, point, transformer))
                {
                    return(2);
                }

                if (IsPointOnSegment(point, background.Rectangle.Center(), arrowEnd, transformer))
                {
                    return(0);
                }
            }

            // Compute the size of the hidden handle zone based on the font size.
            using (Font fontText = styleHelper.GetFont(1.0f))
            {
                int roundingRadius = fontText.Height / 4;
                return(background.HitTest(point, true, (int)(roundingRadius * 1.8f), transformer));
            }
        }
コード例 #2
0
        public override int HitTest(PointF point, long currentTimestamp, DistortionHelper distorter, IImageToViewportTransformer transformer, bool zooming)
        {
            // Convention: miss = -1, object = 0, handle = n.
            int  result           = -1;
            long maxHitTimeStamps = invisibleTimestamp;

            if (maxHitTimeStamps != long.MaxValue)
            {
                maxHitTimeStamps += (allowedFramesOver * parentMetadata.AverageTimeStampsPerFrame);
            }

            if (currentTimestamp >= visibleTimestamp && currentTimestamp <= maxHitTimeStamps)
            {
                using (Font fontText = styleHelper.GetFont(1.0f))
                {
                    int roundingRadius = fontText.Height / 4;
                    result = mainBackground.HitTest(point, true, (int)(roundingRadius * 1.8f), transformer);
                }

                if (result < 0)
                {
                    result = lblBackground.HitTest(point, false, 0, transformer);
                }
            }

            return(result);
        }
コード例 #3
0
        public int HitTest(PointF point, long currentTimeStamp, IImageToViewportTransformer transformer)
        {
            int    result  = -1;
            double opacity = infosFading.GetOpacityFactor(currentTimeStamp);

            if (opacity > 0)
            {
                return(background.HitTest(point, false, 0, transformer));
            }

            return(result);
        }
コード例 #4
0
ファイル: DrawingText.cs プロジェクト: jfpk/kinoveaIDS
        public override int HitTest(PointF point, long currentTimestamp, DistortionHelper distorter, IImageToViewportTransformer transformer, bool zooming)
        {
            int    result  = -1;
            double opacity = infosFading.GetOpacityFactor(currentTimestamp);

            if (opacity > 0)
            {
                result = background.HitTest(point, true, transformer);
            }

            return(result);
        }
コード例 #5
0
        public override int HitTest(Point _point, long _iCurrentTimestamp)
        {
            int    iHitResult     = -1;
            double fOpacityFactor = m_InfosFading.GetOpacityFactor(_iCurrentTimestamp);

            if (fOpacityFactor > 0)
            {
                iHitResult = m_Background.HitTest(_point, true);
            }

            return(iHitResult);
        }
コード例 #6
0
ファイル: DrawingChrono.cs プロジェクト: jfpk/kinoveaIDS
        public override int HitTest(PointF point, long currentTimestamp, DistortionHelper distorter, IImageToViewportTransformer transformer, bool zooming)
        {
            // Convention: miss = -1, object = 0, handle = n.
            int  result           = -1;
            long maxHitTimeStamps = invisibleTimestamp;

            if (maxHitTimeStamps != long.MaxValue)
            {
                maxHitTimeStamps += (allowedFramesOver * parentMetadata.AverageTimeStampsPerFrame);
            }

            if (currentTimestamp >= visibleTimestamp && currentTimestamp <= maxHitTimeStamps)
            {
                result = mainBackground.HitTest(point, true, transformer);
                if (result < 0)
                {
                    result = lblBackground.HitTest(point, false, transformer);
                }
            }

            return(result);
        }
コード例 #7
0
        public override int HitTest(Point _point, long _iCurrentTimestamp)
        {
            // Convention: miss = -1, object = 0, handle = n.
            int  iHitResult        = -1;
            long iMaxHitTimeStamps = m_iInvisibleTimestamp;

            if (iMaxHitTimeStamps != long.MaxValue)
            {
                iMaxHitTimeStamps += (m_iAllowedFramesOver * m_ParentMetadata.AverageTimeStampsPerFrame);
            }

            if (_iCurrentTimestamp >= m_iVisibleTimestamp && _iCurrentTimestamp <= iMaxHitTimeStamps)
            {
                iHitResult = m_MainBackground.HitTest(_point, true);
                if (iHitResult < 0)
                {
                    iHitResult = m_lblBackground.HitTest(_point, false);
                }
            }

            return(iHitResult);
        }
コード例 #8
0
ファイル: KeyframeLabel.cs プロジェクト: jfpk/kinoveaIDS
 public bool HitTest(PointF point, IImageToViewportTransformer transformer)
 {
     return(background.HitTest(point, false, transformer) > -1);
 }
コード例 #9
0
ファイル: KeyframeLabel.cs プロジェクト: robwahl/watchalerts
 public bool HitTest(Point _point)
 {
     return(m_Background.HitTest(_point, false) > -1);
 }