Re: llama

new topic     » goto parent     » topic index » view thread      » older message » newer message

=A9koda wrote:

> David, why did you drop the Llama project?
> I think having more files is good thing.

The goal of Llama was to have a cross-platform toolkit. I ran into troubl=
e
trying to make GTK+ work, and finally gave up. I had written a program th=
at
parsed the GTK include files, and built Euphoria wrappers. But the data
structures that it was building were not entirely correct, and I ran into
trouble with some of the functions. Looking back, I should have done what
SWIG does - generate C code to build the wrappers.

Another problem I ran into was reconciling how Windows and GTK+ behaved,
especially toward drawables. My options were to either break Win32Lib cod=
e,
or write code at the X Window level to trap events to GTK+ drawables. I
threw up my hands at this point.

OOP was also a bit problematic - things can get *really* hairy. The
underlying event systems of Windows and GTK+ are different. With Windows,
you need to trap events in an event loop; for GTK+, you set callbacks
directly at a control's events, and skip the event loop altogether.

Finally, the prospect of maintaining the GTK+ wrappers was a bit
overwhelming. GTK+ has a *lot* of files, and even with the automated tool=
s I
had written, the generated code still needed a lot of hand-tweaking. Ever=
y
time GTK+ came out with a new release, I would have to rebuild the wrappe=
rs.
It was just too much work for me to take on.

Since the main point of the project was to create a cross-platform toolki=
t,
and getting the GTK+ side of it working was turning into a real struggle,=
 I
decided to drop the project. Since the library would then only run on
Windows, the cost and complexity of using OOP didn't seem worth the effor=
t,
so I dropped it.

Feel free to take up the library if you like. Personally, I've decided th=
at
there's little point in writing a cross-platform library by hand when the=
re
are so many toolkits that already exist. I'm in the process of trying to =
get
wxWindows working with Euphoria. Well, actually Peuphoria at this point,
since wxWindows does some "magical" things that make it difficult for me
(with my limited C++ skills) to wrap in a DLL.

-- David Cuny

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu