protected virtual int CreateAndAddMarker(object dataItem, int actualChildIndex)
        {
            FrameworkElement marker = null;

            marker = markerGenerator.CreateMarker(dataItem);

            SetIndex(marker, actualChildIndex);

            if (MarkerStyle != null)
            {
                marker.Style = MarkerStyle;
            }

            AddCommonBindings(marker);
            AddNamedBindings(marker);

            if (actualChildIndex >= CurrentItemsPanel.Children.Count)
            {
                CurrentItemsPanel.Children.Add(marker);
            }
            else
            {
                CurrentItemsPanel.Children.Insert(actualChildIndex, marker);
            }

            return(1);
        }
        protected virtual void CreateAndAddMarker(object dataItem, int index)
        {
            FrameworkElement marker = null;
            int indexInData         = index;

            if (dataItem is IndexWrapper <Point> )
            {
                IndexWrapper <Point> indexWrapper = (IndexWrapper <Point>)dataItem;
                dataItem    = indexWrapper.Data;
                indexInData = indexWrapper.Index;
            }

            marker = markerGenerator.CreateMarker(dataItem);

            SetIndex(marker, indexInData);

            if (MarkerStyle != null)
            {
                marker.Style = MarkerStyle;
            }

            SetCommonBindings(marker);
            SetNamedBindings(marker);

            CurrentItemsPanel.Children.Insert(index, marker);
        }
Example #3
0
        public APIModule()
        {
            Post["/api/v1/id"] = Get["/api/v1/id"] = parameters =>
            {
                return(Response.AsJson(mg.GenerateRandomID()));
            };

            Post["/api/v1/generate"] = Get["/api/v1/generate"] = parameters =>
            {
                GenerateRequestModelV1 req = this.Bind <GenerateRequestModelV1>();

                if (req.Size > 2048)
                {
                    req.Size = 2048;
                }

                MarkerData m = mg.CreateMarker(req.Id, req.Size, req.Label, req.Type);

                using (Bitmap bmp = m.MarkerImage)
                {
                    MemoryStream ms = new MemoryStream();

                    bmp.Save(ms, ImageFormat.Jpeg);

                    ms.Flush();
                    ms.Seek(0, SeekOrigin.Begin);

                    var res = Response.FromStream(ms, "image/jpeg");

                    if (req.Download)
                    {
                        res.Headers.Add("Content-Disposition", "attachment; filename=ar_marker.jpg");
                    }

                    return(res);
                }
            };
        }