Exemple #1
0
        public CodeUIEdgeItem(string srcName, string tarName, DataDict edgeData)
        {
            m_srcUniqueName = srcName;
            m_tarUniqueName = tarName;

            if (edgeData != null)
            {
                if (edgeData.ContainsKey("dbRef"))
                {
                    var dbRef = edgeData["dbRef"] as DoxygenDB.Reference;
                    if (dbRef != null)
                    {
                        m_file   = dbRef.File().Longname();
                        m_line   = dbRef.Line();
                        m_column = dbRef.Column();
                    }
                }
                if (edgeData.ContainsKey("customEdge"))
                {
                    m_customEdge = (int)edgeData["customEdge"] != 0;
                }
            }

            var    scene   = UIManager.Instance().GetScene();
            var    srcItem = scene.GetItemDict()[srcName];
            string srcItemFile;
            int    srcItemLine, srcItemColumn;

            srcItem.GetDefinitionPosition(out srcItemFile, out srcItemLine, out srcItemColumn);
            if (srcItemFile != "" && m_file != srcItemFile)
            {
                m_file   = srcItemFile;
                m_line   = srcItemLine;
                m_column = srcItemColumn;
            }

            this.MouseDown  += new MouseButtonEventHandler(MouseDownCallback);
            this.MouseUp    += new MouseButtonEventHandler(MouseUpCallback);
            this.MouseMove  += new MouseEventHandler(MouseMoveCallback);
            this.MouseEnter += new MouseEventHandler(MouseEnterCallback);
            this.MouseLeave += new MouseEventHandler(MouseLeaveCallback);
            this.Cursor      = Cursors.Arrow;

            SolidColorBrush brush = new SolidColorBrush(Color.FromArgb(100, 150, 150, 150));

            this.Fill            = Brushes.Transparent;
            this.Stroke          = brush;
            this.StrokeThickness = 2.0;
            this.StrokeLineJoin  = PenLineJoin.Bevel;
            BuildGeometry();

            Canvas.SetZIndex(this, -1);
        }
        public override Dictionary <string, Rect> ParseData(string name, string data)
        {
            if (!DataDict.ContainsKey(name))
            {
                DataDict.Add(name, new Dictionary <string, Rect>());

                JsonReader    reader   = new JsonReader();
                UnityJsonData jsonData = reader.Read <UnityJsonData>(data);

                DualSize texSize = jsonData.meta.size;

                foreach (KeyValuePair <string, Frame> item in jsonData.frames)
                {
                    string frameName = item.Key;
                    Frame  frameData = item.Value;

                    // Calculate
                    Vector2 scale  = new Vector2(frameData.frame.w / texSize.w, frameData.frame.h / texSize.h);
                    Vector2 offset = new Vector2(frameData.frame.x / texSize.w, (texSize.h - frameData.frame.y - frameData.sourceSize.h) / texSize.h);
                    Rect    rect   = new Rect(offset.x, offset.y, scale.x, scale.y);
                    DataDict[name].Add(frameName, rect);
                }
            }

            return(DataDict[name]);
        }
Exemple #3
0
 public bool HasKey(string key)
 {
     return(DataDict.ContainsKey(key));
 }