Ramblings...

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

Just a few thoughts...

[Llama Status]

I'll try to post the latest version of Llama some time this week. The major
change has been to create an explicit class initialization routine. I also
found (and fixed) some major bugs, and got some additional Win32Lib demos to
run.

I spent some time on the Canvas class trying to get graphics up and running,
but it's not working yet.


[Portable Bitmap Graphic Support in Llama]

One of the questions I've been kicking around is how much Win32 specific
graphic support to add to Llama. I want the base code to be portable, and if
the code is too Win32 specific, it obviously can't be moved to other
platforms.

I've decided to support BitBlt and StretchBlt as the "core" bitmap graphic
routines. Transparent bitmaps (sprites) can be emulated with these
functions. Pete's already got these built into Neil, which will probably
serve as the basis for the Dos32 port of Llama. And I've got them written up
in "pure" Euphoria, just in case some target OS doesn't support them.

What kind of bitmap graphics will you be able to do in Llama? I'm expecting
that you could code something as simple as a "classic" video game (PacMan or
DgDug come to mind); Doom-style 3D rendering is out of the question.


[Themes]

I'm writing a toolkit that read WindowBlinds UIS files. These files contain
bitmaps and parameters which allow Windows to adopt the look and feel of a
different operating system. I picked WindowBlids because their file format
is well documented, and a number of different styles are available.

The code (mostly) is up and running, and I can render a number of different
UIS styles - Mac, KDE, WebOS, etc. The key word here is 'render' - you can't
actually manipulate the windows or controls yet, although that's planned,
too. I'm in the process of rewriting the code to use BitBlt routines, which
should make it screamingly fast if it gets ported to Neil.

The Theme toolkit makes use of a number of small (unreleased) libraries of
mine; I plan on releasing some of them in the near future as stand-alone
kits:

INI: A couple of routines that make it easy to read INI files.

XPM: Read and write XPM (X Pixmaps), a text bitmap format that can be
embedded in code.

Sprite: Routines to support "transparent" bitmaps in DOS. Coded in "pure"
Euphoria, relatively slow.

BitBlt: Emulation of Win32's BitBlt and StretchBlt routines.


[GTK+]

I've mentioned before that I plan to try supporting an X Window port of
Llama using only XLib, the lowest interface to the X Windows system.
However, I've continued to look at various X Windows libraries to see if any
might be especially well suited for Euphoria/Linux.

Most libraries have the initial strike against them of being written in C++.
This makes them a bit more difficult to link into Euphoria. In addition,
many good libraries (Qt/KDE, for example) are under GPL-style licenses,
which require that the source code using the libraries be made public, and
ruling them out entirely from consideration.

There is one strong contender for an acceptable toolkit, however: GTK+. It's
written in C, is stable, complete, and has no licensing restrictions. It's
well documented - I even did the unthinkable and shelled out $35 for the
"Developing Linux Applications" text, available at my local bookstore.

At this point, GTK+ looks to me like the best toolkit that Robert could link
Euphoria/Linux to, although the Linux world seems to be changing almost
daily.

-- David Cuny

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

Search



Quick Links

User menu

Not signed in.

Misc Menu