Llama 0.60 Released

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

I've sent Robert the latest and greatest version of Llama. Features include:

  - Emulated controls
  - Graphic support
  - Less Win32Lib compatibility

Sorry about the last bit, but it's only temporary. MenuBars and Menus don't
currently work, along with a number of functions which as missing or broken.
Before sending me an e-mail which says "this doesn't work", first take a
look at the documentation, which probably agrees with you, and might
actually tell you why it's broken. The division by zero is a feature - it
allows me to trace my code back when I trap an error.

Graphics have been implemented in the Drawable class, which replaces the
prior Canvas class. It uses the Font, Pen and Brush classes to access GDI
controls. The Drawable class is inherited by the Window and Pixmap classes,
which implement the appropriate getDC/releaseDC routines for their
respective classes.

The demos have been modified to show off the emulated controls. Take a look
at the documentation for an explanation of what is real, what is simulated,
and what just plain doesn't work.

If you want to know how the native controls are implemented (and who
doesn't?), it's easiest if you walk through the class structure backwards.
For example, a radio button is derived from the classes:

  Radio --> Control --> Generic

The Generic class implements many of the Win32 functions, and trapEvent()
shows how Windows events are trapped. Note that the trapEvent code is now
implemented in SYSTRAP.EW module, making the class portable. The Win32Lib
interface to these routines can be found in WRAPPERS.E.

If you want to know how the emulated controls work, follow the same chain
down from the top level to the bottom of the emulated class:

   QRadio --> QControl
              Pixmap --> Drawable --> Generic
                         Pen
                         Brush
                         Font

Also take a look at QWindow, which translates Win32 mouse events into method
calls to emulated controls.

Finally, there have been quite a number of changes to the class library.
I've gotten rid of a lot of the overhead, and it's a lot safer to use. In
addition, I think the classes are a lot easier to read.

Comments?

-- David Cuny

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

Search



Quick Links

User menu

Not signed in.

Misc Menu