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 }
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); }
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); }
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()); }
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); }
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; }
public TextTool() { cursor_hand = new Gdk.Cursor (PintaCore.Chrome.Canvas.Display, PintaCore.Resources.GetIcon ("Tools.Pan.png"), 0, 0); engine = new TextEngine (); }
// Use this for initialization void Start() { instance = this; bgImage.enabled = false; }
public Size Measure() { return(TextEngine.Measure(this)); }
/// <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); }