views:

199

answers:

3

We have a set of applications that basically display a bunch of bitmaps and text, then allow user to press "buttons" (certain bitmaps) that cause actions to occur.

We currently have these implemented using DirectX and a bunch of code to place the bitmaps and handle the button-presses. But we'd like to have the following features:

  • portable to Linux
  • some sort of "editor" that would allow us to lay out screens without hard-coding locations of elements in code
  • animation
  • we need to be able to overlay video
  • not resource intensive (these terminals don't have a lot of memory or CPU)
  • we're currently using C++, so management would prefer that, but other languages would be considered
  • We'd prefer a free, open-source solution, but would be willing to buy something if it is not too expensive. (We have a couple dozen developers, and tens of thousands of terminals deployed.)

We don't like the common GUI toolkits or widgets. We want something that has more of the look of a game than of a dialog box.

Any suggestions for off-the-shelf stuff we could use?

+1  A: 

Maybe the way to go is something like Clutter or Allegro. If you check in this article at ArsTechnica what they are using Clutter for, you might get an idea how to use it. I don't know for sure if it works on Windows, but I'm pretty sure it does, considering it only depends on libraries that are supported under Windows.

dguaraglia
A: 

You could try wxWidgets (it has wxBitmapButton) or try to implement your own solution using SDL for all of the graphics.

Michał Piaskowski
A: 

"We don't like the common GUI toolkits or widgets. We want something that has more of the look of a game than of a dialog box."

You realize that Trolltech's QT has a style sheet language for widgets? Take a look at their white paper, specifically page 60

http://trolltech.com/pdf/qt43-whitepaper-us.pdf

Going over your other requirements:

  • portable to Linux

Yes. Also supports Windows, Mac, and embedded environments.

  • some sort of "editor" that would allow us to lay out screens without hard-coding locations of elements in code

Qt's Designer is a very nice tool. I use it all the time.

  • animation

Qt supports this.

  • we need to be able to overlay video

Qt supports this.

  • not resource intensive (these terminals don't have a lot of memory or CPU)

This might be the fly in the ointment. You could check out Qt's embedded option. I've never used that myself.

  • we're currently using C++, so management would prefer that, but other languages would be considered

Qt is for C++ and works with all major compilers.

  • We'd prefer a free, open-source solution, but would be willing to buy something if it is not too expensive. (We have a couple dozen developers, and tens of thousands of terminals deployed.)

Qt has both open-source and closed source options.

nsanders