Skip to content

Releases: iseahound/TextRender

v2.1.8

18 Apr 22:55
0d1f426

Choose a tag to compare

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!

image

v2.1.7

31 Mar 00:21
9572ee6

Choose a tag to compare

Old Behavior: Calling Render() a 2nd time with no parameters did nothing.
New Behavior: Calling Render() a 2nd time will render again from either past Draw()s or past Remember()s.

v2.1.6

26 Mar 20:56
78152e3

Choose a tag to compare

Fixes a bug where if Render() was called with no arguments would draw an empty rectangle covering the existing drawing.

v2.1.5

22 Mar 17:46
2d7d95a

Choose a tag to compare

(v2) Fix custom font from filepath.

This feature was present for ages, but no one ever used it :(

2026-03-22 13꞉49꞉40

v2.1.4

22 Mar 14:44
6d055ec

Choose a tag to compare

  • (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

22 Jun 18:33
2d733d7

Choose a tag to compare

Fixes an issue where a static textrender object has the incorrect canvaswidth and canvasheight (caused by v2.1.2)

v2.1.2

22 Jun 14:13
74140c1

Choose a tag to compare

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

10 Jun 13:12
1353179

Choose a tag to compare

  • 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

12 May 04:50
b1515cc

Choose a tag to compare

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 __DeleteOnDelete, 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() and Destroy() 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 time is 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 FadeIn and FadeOut
  • OnFadeIn
  • OnFadeOut

Cooldowns and Animations have been modified to be more consistent.

  • FadeOut() can now be called before FadeIn()
  • Setting the time in 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

07 May 18:52
77324ee

Choose a tag to compare

Updated examples and fixed incorrect proof of Reallocate()

For breaking changes see: https://github.com/iseahound/TextRender/releases/tag/v2.0