Releases: iseahound/TextRender
v2.1.8
The following event triggers have now been added:
- OnMouseScrollUp
- OnMouseScrollDown
- OnMouseScrollLeft
- OnMouseScrollRight
- OnX1MouseDown
- OnX1MouseUp
- OnX1MouseDoubleClick
- OnX2MouseDown
- OnX2MouseUp
- OnX2MouseDoubleClick
The following new built-in event has been added:
- EventMoveWindowStorePositionAndRender - Renders after the user drags and releases
Additional fixes to prevent "jumpiness" while the user is dragging and rendering with EventMoveWindowStorePosition
Check out the new showcase for a working scrolling example!

v2.1.7
v2.1.6
v2.1.5
v2.1.4
- (v1) Fixed a bug where the viewport coordinates weren't initialized.
- Fixed a bug where redrawing due to condensed text would remove viewport offsets
- For compatibility with ImagePut, TextRender objects now have a .wdith and ,height property which are the same as BitmapWidth and BitmapHeight.
- NoEvents() and DefaultEvents() properly remove all other events
- RenderOnScreen() will render correctly at negative x coordinates
- Synced functions to ImagePut
v2.1.3
v2.1.2
Fixes multi-monitor setups. A lot of people don't know about this but using the s parameter in the text styles allows one to specify the monitor it should be drawn on. For example, TextRender("hello", "screen:2 time:3seconds") will always draw on monitor 2 using its DPI scaling, width, and height. It's also possible to input an hMonitor value instead of the monitor number for compatibility with the Windows API. Somehow this behavior broke during the upgrade from TextRender v1 → v2, so this update addresses that.
v2.1.1
- Fixes scaling on display change (broken by v2.1)
- Add Restart() as a combination of Stop() and Start() to restart the timer
- Fix middle click coordinates dissappearing after the first launch
- Fix OnReallocate and OnUpdateLayered
- Removed try blocks in event processing, allowing the user to diagnose failures
v2.1
Breaking Changes
OnEvent("CanvasChange", callback) has been removed. Replace it with a combination of OnDraw(callback) and OnErase(callback)
Revamped the event system. 36 new event triggers are defined. Except for __Delete → OnDelete, all event triggers have identical names to their respective methods.
New Event
EventMoveWindowStorePosition - Saves the window position when the user drags it around (jsong55)
Shorthand
Shorthand syntax for OnEvent("MiddleMouseDown", callback) now becomes OnMiddleMouseDown(callback). Every event can now be called using shorthand syntax.
New Event Triggers
- OnDelete - Called when the object is garbage collected
- OnRemember
- OnForget
- OnDestroy - Called when
TimeOut()andDestroy()is called - OnCreate - Called when the window is created or recreated after being destroyed
- OnInvalidate
- OnValidate
- OnStop
- OnStart
- OnResume
- OnUpdateLayered
- OnHide
- OnShow
- OnScreenshot
- OnFree
- OnAllocate
- OnErase
- OnFill
- OnRecycle
- OnResolve
- OnSave
- OnClear
- OnTimeout - Called when
timeis set in the styles causing the window to expire - OnFlush
- OnPaint
- OnDraw
- OnRender - Called whenever the
.Render()method is called - OnReallocate
- OnRedraw
- OnRerender - Called when the screen size, resolution, dpi, or orientation changes
- OnWait
- OnCooldown
- OnSuspend
- OnAnimate - Called whenever an animation happens, including
FadeInandFadeOut - OnFadeIn
- OnFadeOut
Cooldowns and Animations have been modified to be more consistent.
- FadeOut() can now be called before FadeIn()
- Setting the
timein the styles followed by Cooldown is now the same thing as Suspend(time)TextRender().Draw("test 1", "m:10vmin c:Random t:2400").FadeIn(800).Cooldown().FadeOut(800)TextRender().Draw("test 2", "m:10vmin c:Random").FadeIn(800).Suspend(2400).FadeOut(800)
- Set the timestamp when the animation finishes enabling multiple Cooldown() or Wait()
TextRender().Draw("apple", "t:1000").FadeIn().Cooldown().FadeOut().Cooldown().FadeIn().Cooldown()
v2.0.1
Updated examples and fixed incorrect proof of Reallocate()
For breaking changes see: https://github.com/iseahound/TextRender/releases/tag/v2.0
