Commit Graph

4264 Commits

Author SHA1 Message Date
Thomas Geymayer
36fd005bb9 cppbind: check if ghost is of wrong type.
- Throw an exception if converting an object
   from Nasal fails due to a wrong type (nil
   does not throw).
 - Update cppbind test cases accordingly (and
   refactor another test suite to use Boost.
   Test).
2014-09-15 23:42:12 +02:00
Thomas Geymayer
85090180d0 canvas::Text: fix global StateSet and line start cursor pos with empty line. 2014-08-31 19:24:58 +02:00
Torsten Dreyer
f33ad357e9 Partial fix for crash in SGPropertyNode::fireValueChanged
The effect system used Listeners on property nodes to get the values
for shader uniforms. These listeners get deleted by an osg thread
causing access to freed memory when this happens while the main thread
calls fireValueChanged.

This patch changes the update method to polling for scalar properties.
This isn't 100% threadsafe, too. But at least it does not crash anymore.
2014-08-29 15:30:25 +02:00
Clément de l'Hamaide
c30ce67e16 Remove Textures.high logic 2014-08-27 22:08:20 +02:00
Torsten Dreyer
3ca7369fb2 Canvas: add stroke-linejoin handling for path elements 2014-08-26 00:08:35 +02:00
Thomas Geymayer
088ce31f7c canvas::KeyboardEvent: C0/C1 control characters are not printable. 2014-08-25 21:49:44 +02:00
Thomas Geymayer
4f94c22241 Canvas: add method clearFocusElement. 2014-08-25 21:49:21 +02:00
Thomas Geymayer
e1791b3006 canvas::Text: clean up and expose character/cursor positions. 2014-08-23 15:54:07 +02:00
Stuart Buchanan
e608ed5a01 Use surface-lights effect for random tile lights. 2014-08-10 20:20:42 +01:00
Thomas Geymayer
35ebb16215 Canvas: prepare for keypress events. 2014-08-10 19:39:18 +02:00
Thomas Geymayer
68d0891665 Canvas: fix element mouse hit detection with OSG 3.3.2. 2014-08-10 15:37:43 +02:00
Stuart Buchanan
b11ff19a0f Fix VS2010 lack of fminf 2014-08-10 12:54:58 +01:00
Stuart Buchanan
e7e616e07c New materials.xml format 2014-08-09 20:34:08 +01:00
bcoconni
14f2f9e917 Added some OSG headers for the correct evaluation of the OSG_VERSION_LESS_THAN macro. 2014-08-09 19:53:19 +02:00
Thomas Geymayer
791273c61d Update for OpenSceneGraph 3.3.2 API changes. 2014-08-09 18:13:45 +02:00
Thomas Geymayer
519326f751 Add simple keyboard event demo application. 2014-08-08 00:59:06 +02:00
Thomas Geymayer
d1f5d92a7b Move canvas::AlignmentFlag to separate file.
Mapping in a separate file allows easier exposing of
values and string representation to Nasal.
2014-08-03 16:39:26 +02:00
Christian Schmitt
f448898531 Fix lights appearing three times.
The 3 lights showing up are fixed by my patch. It's the old way of
calculating a normal (PLIB-style) that makes them show up.
2014-08-03 13:13:59 +02:00
Thomas Geymayer
d9b66fc0ef canvas::Layout: support for alignment.
Set alignment inside layouts, taking care of where
excess space is distributed.
2014-08-03 12:02:39 +02:00
Thomas Geymayer
3bcd0bafd5 Lots of (mostly) doxygen fixes/cleanup. 2014-08-01 00:13:25 +02:00
Thomas Geymayer
942181c8ae Canvas: Support for preventDefault() on Events. 2014-07-30 17:16:26 +02:00
Thomas Geymayer
7df39b9fc8 Fallback for old Boost (also with UTF8-CPP library). 2014-07-30 12:44:21 +02:00
Thomas Geymayer
f41b18f064 Improve (mostly Canvas event related) documentation. 2014-07-29 23:57:59 +02:00
Thomas Geymayer
c5d649aa0b Canvas: basic Keyboard event support (with input focus). 2014-07-29 22:22:20 +02:00
Thomas Geymayer
64ac22f50c Canvas: warn for missing tff and png plugins. 2014-07-27 12:11:09 +02:00
Thomas Geymayer
719ee36f5c Canvas: backdrop/stroke option for text (based on Gijs patch). 2014-07-27 11:05:49 +02:00
Thomas Geymayer
92851135d4 Doxygen: disable (not working) latex output and update version. 2014-07-22 12:51:01 +02:00
Thomas Geymayer
76fc47b24b canvas::Layout: support for contents margins. 2014-07-22 12:00:24 +02:00
Thomas Geymayer
f25abad9d7 Move overflow protected add helpers to math. 2014-07-22 11:45:28 +02:00
Thomas Geymayer
23413b4781 canvas::Layout: clear parent/canvas after calling onRemove. 2014-07-21 23:56:41 +02:00
Thomas Geymayer
e036dfc5bf Hopefully final fix for old gcc... 2014-07-21 13:26:09 +02:00
Thomas Geymayer
9260bea850 One more fix for old gcc. 2014-07-21 12:22:33 +02:00
Thomas Geymayer
c1f09034e0 Trying to make old gcc on Jenkins happy. 2014-07-21 10:54:31 +02:00
Thomas Geymayer
557e4f75b5 canvas::Layout: support for hiding items. 2014-07-21 00:25:59 +02:00
Thomas Geymayer
e71d6b24d7 cppbind: helper to call Nasal methods on NasalWidget. 2014-07-21 00:22:15 +02:00
Thomas Geymayer
726a4c6d10 canvas::NasalWidget: check for empty setGeometry callback. 2014-07-20 23:31:32 +02:00
Thomas Geymayer
6af8d32078 cppbind: fix Ghost casting/storage in polymorphic class hierarchies. 2014-07-20 23:17:33 +02:00
Thomas Geymayer
f6b16e2ba8 canvas::Element: floating point scissor coordinates.
GL_SCISSOR itself only supports integer coordinates, but
with reference frames different from GLOBAL transforms
influence the position of the clipping frame, possibly
resulting in wrong positions due to too low precision.
2014-07-19 20:52:17 +02:00
Thomas Geymayer
e415b08da4 canvas::BoxLayout: fix parent ref on add/remove. 2014-07-17 15:10:35 +02:00
Torsten Dreyer
1d93e8d61e New Version: 3.3.0 2014-07-17 14:54:35 +02:00
Torsten Dreyer
4bd34991e9 New Version: 3.2.0 2014-07-16 14:56:49 +02:00
Thomas Geymayer
9709cfe20d canvas::BoxLayout: set stretch factor by item. 2014-07-16 19:24:41 +02:00
Thomas Geymayer
a5e99ea996 Nasal: require 0o as prefix for octal numbers.
Using just 0 as prefix for octal number can lead to confusion
where numbers could be interpreted the wrong way (oct instead of
dec).
Lets follow the same convention as Python 3 and Ecma 262 level 6
and use '0o' as prefix which can not be confused inadvertently.
2014-07-14 18:51:11 +02:00
Thomas Geymayer
d9df10fe10 canvas::Layout: keep user provided size hints.
Don't let size hints layouted or calculated by Nasal widgets
override user provided hints.
2014-07-12 17:30:33 +02:00
Thomas Geymayer
f1677f5546 SGTrackToAnimation: supress wrong warnings. 2014-07-12 11:55:38 +02:00
Thomas Geymayer
cb796e374a SGPropertyNode: add InterpolationMgr getter. 2014-07-12 01:07:28 +02:00
Thomas Geymayer
7c3491c679 Don't restore old canvasses on reset.
No need for this anymore as PRESERVE now works as expected.
Otherwise old canvasses are restored and do not work anymore
as the placements of the new canvasses do not apply.
2014-07-11 19:07:53 +02:00
Thomas Geymayer
6200b160ec canvas::Element: fix cleanup (and hopefully crash) 2014-07-01 12:09:55 +02:00
Thomas Geymayer
9868fb03a2 pkg::Package: callback for installation start.
Allow eg. Aircraft Center to add listeners to packages to
be called if installation starts.
2014-06-30 18:36:15 +02:00
Thomas Geymayer
a69130ff10 pkg: Remove Install from list after uninstall. 2014-06-30 18:34:41 +02:00