Ejemplo n.º 1
0
 void OnEnable()
 {
     engine = gameObject.GetComponent <TextEngine>();
     if (TextEventHandler != null)
     {
         TextEventHandler.onLinkSelection.AddListener(OnLinkSelection);
     }
 }
        /// <summary>
        /// GUI constructor initiates a List of containers and assigns currently hovered elements. Also makes GUI visible/hidden
        /// </summary>
        public GraphicInterface(Engine engine)
        {
            containers         = new List <Container>();
            hovered_container  = null;
            hovered_unit       = null;
            visible            = true;
            locked             = false;
            outline_containers = false;
            this.engine        = engine;

            textengine = new TextEngine(engine.get_UI_font(), Rectangle.Empty, Vector2.Zero, Color.White); // creating a textengine inside GUI
        }
Ejemplo n.º 3
0
        public void PerformEnter()
        {
            var engine = new TextEngine(new List <string> ()
            {
                "foo", "bar"
            });

            engine.SetCursorPosition(new TextPosition(1, 1), true);
            engine.PerformEnter();

            Assert.AreEqual(3, engine.LineCount);
            Assert.AreEqual(LinesToString(new string[] { "foo", "b", "ar" }),
                            engine.ToString());
            Assert.AreEqual(new TextPosition(2, 0), engine.CurrentPosition);
        }
Ejemplo n.º 4
0
        public void DeleteSelection()
        {
            var engine = new TextEngine(new List <string> ()
            {
                "это тест", "это еще один тест"
            });

            engine.SetCursorPosition(new TextPosition(0, 2), true);
            engine.PerformDown(true);
            engine.PerformDelete();

            Assert.AreEqual(1, engine.LineCount);
            Assert.AreEqual(LinesToString(new string[] { "это еще один тест" }),
                            engine.ToString());
            Assert.AreEqual(new TextPosition(0, 2), engine.CurrentPosition);
        }
Ejemplo n.º 5
0
        public void DeleteMultiLineSelection()
        {
            var engine = new TextEngine(new List <string> ()
            {
                "line 1", "line 2", "line 3"
            });

            engine.SetCursorPosition(new TextPosition(0, 2), true);
            engine.PerformDown(true);
            engine.PerformDown(true);
            engine.PerformDelete();

            Assert.AreEqual(1, engine.LineCount);
            Assert.AreEqual(LinesToString(new string[] { "line 3" }),
                            engine.ToString());
        }
Ejemplo n.º 6
0
        public void PerformLeft()
        {
            var engine = new TextEngine(new List <string> ()
            {
                "foo", "bar"
            });

            engine.SetCursorPosition(new TextPosition(1, 0), true);
            engine.PerformLeft(false, false);
            Assert.AreEqual(new TextPosition(0, 3), engine.CurrentPosition);

            engine.SetCursorPosition(new TextPosition(0, 1), true);
            engine.PerformLeft(false, false);
            Assert.AreEqual(new TextPosition(0, 0), engine.CurrentPosition);

            engine.PerformLeft(false, false);
            Assert.AreEqual(new TextPosition(0, 0), engine.CurrentPosition);
        }
Ejemplo n.º 7
0
        private void StartEditing()
        {
            is_editing = true;

            //Start ignoring any Surface.Clone calls from this point on (so that it doesn't start to loop).
            ignoreCloneFinalizations = true;

            //Store the previous state of the current UserLayer's and TextLayer's ImageSurfaces.
            user_undo_surface = PintaCore.Workspace.ActiveDocument.CurrentUserLayer.Surface.Clone();
            text_undo_surface = PintaCore.Workspace.ActiveDocument.CurrentUserLayer.TextLayer.Surface.Clone();
            undo_engine = CurrentTextEngine.Clone();

            //Stop ignoring any Surface.Clone calls from this point on.
            ignoreCloneFinalizations = false;
        }
Ejemplo n.º 8
0
 public TextTool()
 {
     cursor_hand = new Gdk.Cursor (PintaCore.Chrome.Canvas.Display, PintaCore.Resources.GetIcon ("Tools.Pan.png"), 0, 0);
     engine = new TextEngine ();
 }
Ejemplo n.º 9
0
    // Use this for initialization
    void Start()
    {
        instance = this;

        bgImage.enabled = false;
    }
Ejemplo n.º 10
0
 public Size Measure()
 {
     return(TextEngine.Measure(this));
 }
Ejemplo n.º 11
0
        /// <summary>
        /// Generate the feed object.
        /// </summary>
        /// <returns></returns>
        public SyndicationFeed Feed()
        {
            var items         = this.Items();
            var feedItems     = new List <SyndicationItem>();
            var owners        = items.Select(i => i.Owner).Distinct();
            var authors       = Context.Where <UserProfile>(u => owners.Contains(u.UserName));
            var userUriFormat = App.Get().Context.AppUrl.ToString() + "{0}";

            var feedTitleField = this.FieldRefs.FirstOrDefault(f => !string.IsNullOrEmpty(f.ToFeedItemField) && f.ToFeedItemField.Equals("title"));
            var feedDescField  = this.FieldRefs.FirstOrDefault(f => !string.IsNullOrEmpty(f.ToFeedItemField) && f.ToFeedItemField.Equals("description"));

            var feedThumbField = this.FieldRefs.FirstOrDefault(f => !string.IsNullOrEmpty(f.ToFeedItemField) && f.ToFeedItemField.Equals("image"));
            var feedImageField = this.FieldRefs.FirstOrDefault(f => !string.IsNullOrEmpty(f.ToFeedItemField) && f.ToFeedItemField.Equals("thumbnail"));
            var feedVideoField = this.FieldRefs.FirstOrDefault(f => !string.IsNullOrEmpty(f.ToFeedItemField) && f.ToFeedItemField.Equals("video"));

            var titleFieldName = "title";
            var descFieldName  = "description";
            var thumbFieldName = "";
            var videoFieldName = "";
            var imageFieldName = "";

            if (feedTitleField != null)
            {
                titleFieldName = feedTitleField.Name;
            }

            if (feedDescField != null)
            {
                descFieldName = feedDescField.Name;
            }

            if (feedThumbField != null)
            {
                thumbFieldName = feedThumbField.Name;
            }

            if (feedVideoField != null)
            {
                videoFieldName = feedThumbField.Name;
            }

            if (feedImageField != null)
            {
                imageFieldName = feedThumbField.Name;
            }

            foreach (var item in items)
            {
                var title    = !item.IsNull(titleFieldName) ? (string)item[titleFieldName] : "";
                var desc     = !item.IsNull(descFieldName) ? (string)item[descFieldName] : "";
                var subTitle = "";
                var imgUrl   = !item.IsNull(imageFieldName) ? (string)item[imageFieldName] : "";

                if (string.IsNullOrEmpty(title))
                {
                    continue;
                }

                if (!string.IsNullOrEmpty(desc))
                {
                    desc = TextEngine.Text(desc);
                    if (desc.Length > 300)
                    {
                        subTitle = desc.Substring(0, 300) + "...";
                    }
                }

                var feedItem = new ItunesItem(title, desc, new Uri(item.UrlComponent), item.ID.ToString(), new DateTimeOffset(item.Published));

                if (!object.ReferenceEquals(item.Tags, null) && item.Tags.Length > 0)
                {
                    feedItem.Keywords = string.Join(",", item.Tags);
                }

                if (!string.IsNullOrEmpty(imgUrl))
                {
                    feedItem.ImageUrl = imgUrl;
                }

                //feedItem.ElementExtensions.Add(new SyndicationElementExtension(
                var cats = item.Categories;
                if (cats != null && cats.Length > 0)
                {
                    foreach (var c in cats)
                    {
                        feedItem.Categories.Add(new SyndicationCategory(c));
                    }
                }
                var owner = authors.FirstOrDefault(a => a.UserName.Equals(item.Owner));
                feedItem.Subtitle = subTitle;
                feedItem.Author   = owner.DisplayName;
                feedItem.Authors.Add(new SyndicationPerson(owner.Email, owner.DisplayName, string.Format(userUriFormat, owner.UserName)));
                feedItems.Add(feedItem);
            }

            var feed = new SyndicationFeed(feedItems);

            feed.Title       = new TextSyndicationContent(this.Title);
            feed.Description = new TextSyndicationContent(this.Description);
            feed.BaseUri     = new Uri(this.Url.Replace("~", App.Get().Context.AppUrl.ToString()));
            feed.Generator   = "DotNetAge";
            feed.Language    = this.Parent.Locale;
            if (this.Generated.HasValue)
            {
                feed.LastUpdatedTime = new DateTimeOffset(this.Generated.Value);
            }

            return(feed);
        }