#541·libui

Geometric Algorithms

Author: AndyObtivaCreated Nov 22, 2021Updated Feb 14, 2022

In order to do anything of any worth with vector graphics (drawn on an area), such as drag and drop, there is a need to calculate the following:

  • If a point (like a mouse click) is inside a shape whether it is a filled arc, polygon, or closed figure with bezier curves.
  • If a point (like a mouse click) lies at the edge of a shape whether it is a stroked arc, a polyline, or an open figure with bezier curves

As such, it only makes sense that the GUI library would provide such algorithms just like Java AWT does; it includes algorithms for testing if a shape contains a point in all shapes. I already make great use of it in Glimmer DSL for SWT.

Since you already make use of such algorithms to render the vector graphics in the GUI, I would imagine that exposing them as part of libui would be a small step from there.

I would greatly appreciate you making such algorithms available.

Thank you again for libui. I have been able to build apps very productively with it using Glimmer DSL for LibUI in Ruby.