Thomas Geymayer [Thu, 23 Aug 2012 17:52:36 +0000 (19:52 +0200)]
Canvas: CSS like property value inheritance.
- Groups store property nodes for different styles and pass them
to child elements on creation (No dynamic updates yet)
- Use StyleSetter map instead of loads of if/else if statements
for setting element styles.
- Unify element style properties (Only use one property, instead
of multiple like it has been with colors)
- Fix: Create only one element per property node (Was two)
James Turner [Tue, 21 Aug 2012 17:12:25 +0000 (18:12 +0100)]
Fix a crash encountered with ATC.
This might need to be back-ported to 2.8 (to make a 2.8.1), unless it's been exposed by some of my other changes. Which I think is unlikely but not impossible.
ThorstenB [Sat, 18 Aug 2012 12:11:31 +0000 (14:11 +0200)]
Make web browser app configurable through CMake (for Linux)
so package builders don't need local patches.
Also, instead of hardcoded firefox, use "xdg-open" or "sensible-browser"
launchers on Linux, to auto-detect user's preferred browser.
Override with cmake switch -DWEB_BROWSER=...
(Not affecting Mac/Win which are hard-coded anyway).
ThorstenB [Fri, 17 Aug 2012 21:58:30 +0000 (23:58 +0200)]
Christoph Korn/PlayDeb.net: man page fixes with "-" vs hyphen
This manual page seems to contain a hyphen where a minus sign was
intended. By default, "-" chars are interpreted as hyphens (U+2010) by
groff, not as minus signs (U+002D). Since options to programs use minus
signs (U+002D), this means for example in UTF-8 locales that you cannot
cut and paste options, nor search for them easily. The Debian groff
package currently forces "-" to be interpreted as a minus sign due to
the number of manual pages with this problem, but this is a
Debian-specific modification and hopefully eventually can be removed.
"-" must be escaped ("\-") to be interpreted as minus. If you really
intend a hyphen (normally you don't), write it as "\(hy" to emphasise
that fact. See groff(7) and especially groff_char(7) for details.
Thomas Geymayer [Fri, 10 Aug 2012 11:11:06 +0000 (13:11 +0200)]
Canvas: Forward mouse events to elements.
- Use bounding box intersections to determine which element is
hit.
- Transform mouse coordinates to local coordinates.
- Try to get osgText bounding box correct (or at least better)
Thomas Geymayer [Thu, 9 Aug 2012 12:50:20 +0000 (14:50 +0200)]
Canvas: Image/Window unifying and allow using canvas inside canvas.
- Refactor and unify common functionality of canvas::Window and
canvas::Image
- Make canvas::Image actually work
- Allow using canvases inside canvas::Image
* Use new canvas:// "protocol" to allow using canvases in
place of images
- Prepare for categorizing canvases:
* Move canvases to /canvas/by-index
* Later support linking to other nodes in subbranches of
/canvas
James Turner [Tue, 7 Aug 2012 13:03:29 +0000 (14:03 +0100)]
Mac nightly packaging updates
Add FGCom, use Mac-launcher build exports, and ground-work for copying Subversion client libraries. Also runs code sign, though without a valid signing identity.
Thomas Geymayer [Fri, 3 Aug 2012 22:24:26 +0000 (00:24 +0200)]
Basic clipboard access from Nasal.
- Add platform independent clipboard layer for Nasal access
to clipboard (thanks to Hooray for basic code)
- Add Windows clipboard access
- Add partial X11 clipboard access (only reading from clipboard)
- Add fallback clipboard for application internal clipboard if
platform not supported
- Add some helper functions to FGNasalSys
James Turner [Thu, 2 Aug 2012 11:18:38 +0000 (12:18 +0100)]
Skeleton Nasal-Canvas integration.
This code is non-functional, but contains most of the stubs to show what's required to add property get/set access, convert to from ghost & C++ types, and manage ownership. Element derived classes & inheritance (e.g., methods on image/path/map elements) will follow, along with some actual functionality!
Thomas Geymayer [Fri, 27 Jul 2012 11:17:42 +0000 (13:17 +0200)]
Canvas: First version of new Canvas GUI system.
- Refactor CanvasMgr into PropertyBasedMgr to be also used
for the Canvas GUI system.
- Get rid of tied properties in the Canvas system.
- Add new placement type 'window' for placing canvases onto
windows
- Pass mouse events to Window class (only if cursor is over
window)
- Refactor canvas placement clean up
Thomas Geymayer [Mon, 16 Jul 2012 23:02:03 +0000 (01:02 +0200)]
Canvas: UTF-8 support and more settings exposed.
- Allow hiding objects
- Use UTF-8 encoding for text elements
- Add paramter max-width to text elements
- Support stroke-linecap for path elements
- Fix mouse coords
- Set better mipmap filter
Thomas Geymayer [Wed, 11 Jul 2012 22:23:29 +0000 (00:23 +0200)]
Canvas: Add new element type map for geo mapping.
- The new map element automatically transforms geo coordinates
(lat, lon) to the according screen coordinates.
- Currently one type of projection is supported
(Sanson-Flamsteed projection)
Stuart Buchanan [Thu, 19 Jul 2012 21:06:08 +0000 (22:06 +0100)]
Add command to reload materials definitions. Note that this explicitly
does not attempt to delete the old materials definitions, as they
may be in use at the time.
ATISMgr clean-up / improvements
Adds serviceable/operable properties to comm radio.
Obey comm radio power source (no power => no radio => no ATIS).
Also further clean-up to stuff belonging to former ATCmgr module.
ADF: add "operable" property
Add same property as for nav radio, to provide a property to cockpit models
whether the ADF is active (serviceable/switched on/power ok/...). Useful
to enable/disable displays (i.e. KR87).
Restore ATIS reception with nav receivers.
nav radios can be used for comm reception - mainly to receive ATIS. This
had worked with FG 2.6, but was lost in the ATCMgr->ATISMgr conversion.
Option to restore defaults and enable/disable random buildings+vegetation
fgfs can fail to start when random buildings is set to an excessive level,
so you can't even reach the GUI setting to reduce/disable again.
Rembrandt: Add debugging properties and fix transparency issues. Side effect: light are not fogged (may be added in the light shader later) and depth buffer precision issues on light are more visible due to near plane really near (0.1m)
Thomas Geymayer [Thu, 12 Jul 2012 22:38:17 +0000 (00:38 +0200)]
Canvas: Calculate bounding box for path elements.
- Add an update callback to calculate a bounding box for every
path to ensure correct culling of paths.
- Ensure OpenVG get's initialized even if elements are subject to
culling.
#798: climb rate cannot be higher than the true speed
Don't set vertical-speed on sim reset, unless the user intentionally
requested this as a start-up property.
James Turner [Mon, 2 Jul 2012 10:44:34 +0000 (11:44 +0100)]
Disable panel-extent drawing in hot-spots mode.
To keep the tutorial looking nice, switch off the panel extent outlines for the 2.8 release. Longer-term I should remove the code, or add a separate property if this feature is actually useful.