Minara

| No Comments | No TrackBacks

I'm hacking on Minara again. Undo, transformations, and the pan&zoom tools are taking shape.

Undo is a double-linked list of undo/redo actions attached to each buffer. Hopefully it's efficient and robust. I need a way for functions to tell the method calling them to stop without returning a value and without being passed a function to call. Oh, and without using globals. Easy, huh? :-)

Transformations I'm going to cheat and use OpenGL transformation matrices for: other renderers and the export filters can interpret calls to push and pop the transformation stack and do whatever they need to.

Pan & Zoom use transformations, and have their own buffer at the bottom of the buffer stack. The current Pan & Zoom data is stored in buffer variables and the buffer is regenerated as needed. This is a nice example of how Minara's design philosophy gets a simple, transparent implementation of something that would otherwise be entangled with the guts of the system, hidden away from the user.

I think I'm going to use FLTK for the UI basics. It's too much effort for too little reward to write anything myself at the moment. File load/save and CMYK colour dialogs will help make Minara feel much more usable.

One this round of development is done, next it's picking and copy/paste. Then a decent pen tool and Minara is ready for 0.1!

No TrackBacks

TrackBack URL: http://robmyers.org/mt/mt-tb.cgi/3550

Leave a comment

About this Entry

This page contains a single entry by Rob Myers published on August 30, 2005 10:43 PM.

Linkback was the previous entry in this blog.

Idea Generation Methods is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.