octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Plotting status in Octave


From: John Swensen
Subject: Re: Plotting status in Octave
Date: Thu, 23 Oct 2008 14:54:35 -0400


On Oct 23, 2008, at 1:14 PM, Shai Ayal wrote:

So, uhm... I know talk is cheap without me coding for it, but... why
fltk? It produces ugly widgets, while Qt produces native-looking
widgets. I can just imagine the Mac users complaining about plotting
in Octave because the widgets look ugly. :-/ Qt does have a huge set
of dependencies, though, plus all that weird macro hackery. Did you
choose fltk because it's lightweight, or because it integrates nicely
with OpenGL, or why?

I agree fltk is a bit ugly. However, I chose it (historically in 2003
for octplot) because it's lightweight, and I like lightweight,
especially considering the the toolkit in this context (plotting
window) is really unimportant and not very visible. The interesting
stuff is happening on the canvas. It seemed to me that using some big
toolkit like gtk/qt/wx just so that we can open a window is silly.
Somewwhat more objective reasons for choosing fltk:
at that time, gtk support for windows was very shody (I am not sure
what the status is now)
QT licensing also seemed problematic

Shai

A while back Michael Goffioul had sent me his work on a GTK/OpenGL backend. I agree that the OpenGL method is nice since it makes all the drawing stuff independent from the toolkit as long as there is a OpenGL canvas widget. I intend to make this a library for use as a standalone backend or incorporated into OctaveDE. You can see a quick little PNG of it at http://glacier.lcsr.jhu.edu/~jpswensen/gtkmmhandles.png

I finally have zooming working and am trying to figure out the right way of doing rotations from the GTK window. If any of you who know the graphics stuff well want to expand on how the interaction between a backend and the whole handle tree, I would greatly appreciate it.

John Swensen


reply via email to

[Prev in Thread] Current Thread [Next in Thread]