So today I'd like to announce the availability of my Caffeine user interface library. It's something I've actively been working on in my free time for over a year now, and I'm even still somewhat reluctant to set it free because I still consider it alpha software, however I know I could use some feedback and help tracking bugs.
Distribution:
http://jackkern.com/caffeineSource:
http://github.com/ElectricJack/caffeineSome highlights:
- Nestable windows and controls
- Ability to have an infinite scrollable desktop
- The infinite desktop can be zoomed with the scroll wheel
- Windows can be scaled and rotated
- Controls receive input coordinates in their local space, so it's easy to port processing apps into controls
- File menus
- Integrated command system (Still work in progress)
- Skinnable Windows/Frames
- Very robust Vector2 and Vector3 classes, as well as several other nice geometric classes (Line2, AABounds2 etc..)
My goal with this library is to make something that really empowers processing users to take their apps to the next level, especially for multi-touch apps that processing seems so well suited for.
Some downsides I hope to fix eventually:
- Some elements of this library rely on using the OpenGL renderer (like the skinning support)
- I'm still in active development on the library so I expect interfaces to change, which will probably break your programs with future updates. I am not planning on maintaining backwards compatibility because I think it will limit future good solutions. YOU HAVE BEEN WARNED! =)
Otherwise, I think it's a pretty fun bit of code to work with, and I hope others find some use as well! I'll leave you all with a screen shot.
http://jackkern.com/caffeine/images/screenshot.pngJack