private string CreateGraph(IImageConsumer imageconsumer, [CallerMemberName] string caller = "")
        {
            string graph = imageconsumer.ToDotString(caller);

            Debug.WriteLine(graph);
            return(graph);
        }
Example #2
0
        protected override MaybeTask <IImageProvider> GetEffectInternalAsync(IImageProvider source, Windows.Foundation.Size sourceSize, Windows.Foundation.Size renderSize)
        {
            IImageConsumer imageConsumer = Effect as IImageConsumer;

            if (imageConsumer != null)
            {
                imageConsumer.Source = source;
            }
            return(new MaybeTask <IImageProvider>(Effect));
        }
            private void Dot(IImageConsumer imageConsumer)
            {
                if (imageConsumer == null)
                {
                    return;
                }

                else if (imageConsumer is LensBlurEffect)
                {
                    Dot(imageConsumer as LensBlurEffect);
                }
                else
                {
                    Node(imageConsumer);
                }
            }
Example #4
0
        public void ReadImageElement(XmlReader xmlReader, IImageConsumer imageConsumer)
        {
            string src         = string.Empty;
            string description = string.Empty;

            xmlReader.Read();

            while (xmlReader.Read() && xmlReader.NodeType != XmlNodeType.EndElement && xmlReader.Name != "image")
            {
                switch (xmlReader.NodeType)
                {
                case XmlNodeType.Element:
                    if (xmlReader.Name == "src")
                    {
                        xmlReader.Read();
                        if (xmlReader.NodeType != XmlNodeType.Text)
                        {
                            throw new InvalidOperationException(string.Format("The source for the image must be populated."));
                        }

                        src = xmlReader.Value;
                        xmlReader.Read();
                    }

                    if (xmlReader.Name == "caption")
                    {
                        xmlReader.Read();

                        //if (xmlReader.NodeType != XmlNodeType.Text)
                        //{
                        //    throw new InvalidOperationException(string.Format("The caption for the image must be populated."));
                        //}

                        description = xmlReader.Value;
                        xmlReader.Read();
                    }

                    break;
                }
            }

            imageConsumer.AddImage(src, description);
        }
 private string CreateGraph(IImageConsumer imageconsumer, [CallerMemberName] string caller = "")
 {
     string graph = imageconsumer.ToDotString(caller);
     Debug.WriteLine(graph);
     return graph;
 }
 internal DotVisualizer(string graphName, IImageConsumer imageConsumer)
 {
     Dot(imageConsumer);
     DotString = String.Format(graphFormatString, graphName, m_dotString);
 }
        // Returns a string that can be used as input to Dot, part of graphviz.
        // Graphviz can be found here: http://www.graphviz.org/Download..php
        // To generate a processing graph in PDF-format, save the returned string to a file graph.dot, and do:
        // C:>dot -Tpdf graph.dot > graph.pdf
        public static string ToDotString(this IImageConsumer imageConsumer, string graphName = "graph")
        {
            var dotGen = new DotVisualizer(graphName, imageConsumer);

            return(dotGen.DotString);
        }
        private void addImageConsumer(IImageConsumer effect)
        {
            if (effect is IImageProvider == false)
                throw new Exception("Add(IImageConsumer) : element should implement IImageProvider interface");

            if (lPipeline.Count > 0)
                effect.Source = lPipeline.Last() as IImageProvider;

            lElement.Add(effect);
            lPipeline.Add(effect);

            updatePipelineBeginEnd();
        }
        protected void SetPipelineBeginEnd(IImageConsumer begin, IImageProvider end)
        {
            IImageProvider source;

            if (begin != null && pipelineSource != null && pipelineSource.TryGetTarget(out source))
            {
                begin.Source = source;
            }

            pipelineBegin = new WeakReference<IImageConsumer>(begin);
            pipelineEnd = new WeakReference<IImageProvider>(end);
        }
 internal DotVisualizer(string graphName, IImageConsumer imageConsumer)
 {
     Dot(imageConsumer);
     DotString = String.Format(graphFormatString, graphName, m_dotString);
 }