Exemplo n.º 1
0
        private Polygon GetPolygon(Contoso.NoteTaker.JSON.Format.Rectangle obj, Color color)
        {
            var          inchToMillimeterFactor = 25.4f;
            List <Point> points   = new List <Point>();
            var          scalingX = DpiX / inchToMillimeterFactor;
            var          scalingY = DpiY / inchToMillimeterFactor;

            points.Add(new Point(obj.TopX * scalingX, obj.TopY * scalingY));
            points.Add(new Point((obj.TopX + obj.Width) * scalingX, obj.TopY * scalingY));
            points.Add(new Point((obj.TopX + obj.Width) * scalingX, (obj.TopY + obj.Height) * scalingY));
            points.Add(new Point(obj.TopX * scalingX, (obj.TopY + obj.Height) * scalingY));

            Polygon polygon = new Polygon();

            foreach (Point point in points)
            {
                polygon.Points.Add(point);
            }

            var brush = new SolidColorBrush(color);

            polygon.Stroke          = brush;
            polygon.StrokeThickness = 1;

            return(polygon);
        }
Exemplo n.º 2
0
        private Contoso.NoteTaker.JSON.Format.Rectangle GetRectangle(Windows.UI.Input.Inking.InkPoint p, float size = 2.0f)
        {
            var res = new Contoso.NoteTaker.JSON.Format.Rectangle();

            res.TopX   = (float)(p.Position.X - size / 2);
            res.TopY   = (float)(p.Position.Y - size / 2);
            res.Width  = size;
            res.Height = size;
            return(res);
        }
Exemplo n.º 3
0
        private ComposerStep GetRelatedStep(float x, float y, float size = 10)
        {
            var rect = new Contoso.NoteTaker.JSON.Format.Rectangle();

            rect.TopX   = x - size / 2;
            rect.TopY   = y - size / 2;
            rect.Width  = size;
            rect.Height = size;
            if (botInstance != null)
            {
                return(FindStepInBotInstance(botInstance.Steps, rect));
            }
            return(null);
        }
Exemplo n.º 4
0
 private ComposerStep FindStepInBotInstance(List <ComposerStep> steps, Contoso.NoteTaker.JSON.Format.Rectangle rect)
 {
     foreach (var step in steps)
     {
         if (step.RelatedShape.RecogUnit.BoundingRect.OverlapSize(rect) > 10)
         {
             return(step);
         }
         else if (step is IfCondition)
         {
             return(FindStepInBotInstance((step as IfCondition).Steps, rect) ?? FindStepInBotInstance((step as IfCondition).ElseSteps, rect));
         }
     }
     return(null);
 }