<p>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.</p>

<p>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:</p>

<ul>
<li>portable to Linux</li>
<li>some sort of "editor" that would allow us to lay out screens without hard-coding locations of elements in code</li>
<li>animation</li>
<li>we need to be able to overlay video</li>
<li>not resource intensive (these terminals don't have a lot of memory or CPU)</li>
<li>we're currently using C++, so management would prefer that, but other languages would be considered</li>
<li>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.)</li>
</ul>

<p>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.</p>

<p>Any suggestions for off-the-shelf stuff we could use?</p>

[{'answer_id': 24223, 'author': 'dguaraglia', 'author_id': 2384, 'author_profile': 'https://Stackoverflow.com/users/2384', 'pm_score': 2, 'selected': True, 'text': '<p>Maybe the way to go is something like <a href="http://clutter-project.org/" rel="nofollow noreferrer">Clutter</a> or <a href="http://www.allegro.cc/" rel="nofollow noreferrer">Allegro</a>. If you check in this <a href="http://arstechnica.com/news.ars/post/20080604-hands-on-with-the-ubuntu-netbook-remix.html" rel="nofollow noreferrer">article</a> 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.</p>\n'}, {'answer_id': 24225, 'author': 'Michał Piaskowski', 'author_id': 1534, 'author_profile': 'https://Stackoverflow.com/users/1534', 'pm_score': 0, 'selected': False, 'text': '<p>You could try <a href="http://www.wxwidgets.org/" rel="nofollow noreferrer">wxWidgets</a> (it has wxBitmapButton) or try to implement your own solution using <a href="http://www.libsdl.org/" rel="nofollow noreferrer">SDL</a> for all of the graphics.</p>\n'}, {'answer_id': 35295, 'author': 'nsanders', 'author_id': 1244, 'author_profile': 'https://Stackoverflow.com/users/1244', 'pm_score': 0, 'selected': False, 'text': '<p>"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."</p>\n\n<p>You realize that Trolltech\'s QT has a style sheet language for widgets?  Take a look at their white paper, specifically page 60</p>\n\n<p><a href="http://trolltech.com/pdf/qt43-whitepaper-us.pdf" rel="nofollow noreferrer">http://trolltech.com/pdf/qt43-whitepaper-us.pdf</a></p>\n\n<p>Going over your other requirements:</p>\n\n<ul>\n<li>portable to Linux</li>\n</ul>\n\n<p>Yes.  Also supports Windows, Mac, and embedded environments.</p>\n\n<ul>\n<li>some sort of "editor" that would allow us to lay out screens without hard-coding locations of elements in code</li>\n</ul>\n\n<p>Qt\'s Designer is a very nice tool.  I use it all the time.</p>\n\n<ul>\n<li>animation</li>\n</ul>\n\n<p>Qt supports this.</p>\n\n<ul>\n<li>we need to be able to overlay video</li>\n</ul>\n\n<p>Qt supports this.</p>\n\n<ul>\n<li>not resource intensive (these terminals don\'t have a lot of memory or CPU)</li>\n</ul>\n\n<p>This might be the fly in the ointment.  You could check out Qt\'s embedded option.  I\'ve never used that myself.</p>\n\n<ul>\n<li>we\'re currently using C++, so management would prefer that, but other languages would be considered</li>\n</ul>\n\n<p>Qt is for C++ and works with all major compilers.</p>\n\n<ul>\n<li>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.)</li>\n</ul>\n\n<p>Qt has both open-source and closed source options.</p>\n'}]
['https://Stackoverflow.com/questions/24196', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1175/']