1
0
Fork 0
Commit graph

112 commits

Author SHA1 Message Date
James Turner
2eab935dff Canvas proxy for QtQuick rendering
Has zero testing so far, still a work in progress.
2017-10-05 12:37:43 +01:00
Richard Harrison
0c4eaa8b29 Canvas exception during re-init.
Add defensive logic to ensure that a null pointer isn't dereferenced. This happened to me once or twice during a reinit (Location/Position In Air to the current position). It may be related to the model, but in any case the code needs to ensure that the static cast failure is handled correctly.
2017-05-20 13:40:02 +02:00
James Turner
df2ab15e6c Quiet Canvas font-loading. 2016-11-30 12:15:54 +00:00
James Turner
8e875b22f5 fgValidatePath uses SGPath 2016-07-03 23:59:40 +01:00
James Turner
6d0c2070fd Use future-proof SGPath APIs.
Remove uses of .str(), .c_str() and some other methods of SGPath.
Pass SGPath directly where possible, or explicitly convert to the
appropriate 8-bit encoding.
2016-06-28 10:08:38 +01:00
James Turner
03ecac9dbc Work with new SGPath API. 2016-06-22 17:36:05 +01:00
James Turner
c29fa35840 Updated Canvas adaptor getImage API
Return the Image by ref ptr instead of raw pointer.
2016-03-26 20:25:31 +00:00
James Turner
733e3b3f0c HTTP subsystem has a default name.
Switch to using type-safe accessors now.
2016-03-24 15:08:38 +00:00
Rebecca N. Palmer
9002696195 Make fgValidatePath always return std::string, not char * 2015-03-13 18:07:24 +00:00
Thomas Geymayer
45ab3a20a2 Canvas: generate keypress event for text input. 2014-08-11 00:30:55 +02:00
Thomas Geymayer
271cf1420d Canvas: support for pointer grab. 2014-08-11 00:25:26 +02:00
Thomas Geymayer
4f2032a9c2 Canvas: export preventDefault to Nasal and use to stop events on DesktopGroup. 2014-07-30 17:17:24 +02:00
Thomas Geymayer
49df413444 Canvas: Keyboard events and input focus.
Also allow events on desktop group if no window is receiving
events. Currently it is not possible to prevent events handled
by the desktop group to further propagate (eg. to normal
control input).
2014-07-30 00:00:03 +02:00
Thomas Geymayer
c13612b1fa GUIMgr: prevent double init/shutdown 2014-06-16 23:47:05 +02:00
Thomas Geymayer
bd29974683 Canvas: move Window class to simgear. 2014-05-09 16:42:54 +02:00
Thomas Geymayer
c6371c4152 Canvas: update for SimGear changes. 2014-05-06 18:15:29 +02:00
Thomas Geymayer
58c01b112e Canvas: update for 'file'->'src' rename 2014-03-20 11:43:12 +01:00
Thomas Geymayer
f0ef2b9576 Expose HTTP client to Canvas. 2014-03-18 18:35:35 +01:00
James Turner
86ba2a1628 Throw the reset switch.
- fix up CanvasMgr so canvas works after new reset.
2014-03-07 12:40:14 +00:00
Thomas Geymayer
5fb7b2e12c Canvas: Now only one global SystemAdapter is used... 2013-12-09 23:13:45 +01:00
Thomas Geymayer
e8f4e25c8c CanvasWidget: get new GUI camera on reset. 2013-12-01 12:58:17 +01:00
Thomas Geymayer
bf477ba678 Canvas GUI: completely reset on reinit 2013-12-01 01:35:30 +01:00
Thomas Geymayer
42ab4fd222 Canvas/GUI: add/remove placement factories on init/shutdown. 2013-11-24 15:50:44 +01:00
Thomas Geymayer
26a3573aea Update/simplify for SimGear changes. 2013-10-15 17:48:13 +02:00
Thomas Geymayer
5c42071fbb Scripting: get rid of gcHash and use new SimGear/Nasal functions. 2013-10-15 00:58:21 +02:00
Thomas Geymayer
5b17a6c33f Canvas GUI: don't crash if enable decoration on window without content canvas 2013-07-27 22:16:00 +02:00
Thomas Geymayer
d2524d8fe6 Canvas window: separate handling of content-size and overall size. 2013-07-27 00:01:50 +02:00
Thomas Geymayer
e79e70062e Canvas window: increase drag accuracy. 2013-07-27 00:01:44 +02:00
Thomas Geymayer
02e66fd034 Canvas GUI: fix updating canvas on window with decoration. 2013-07-27 00:00:33 +02:00
Thomas Geymayer
c3a87f75cd Canvas GUI: check for window on handling mouse events. 2013-07-25 01:14:23 +02:00
Thomas Geymayer
a75b9e5de9 Expose canvas GUI "desktop" to Nasal.
- Restructure GUIMgr and move most parts to implementation class.
 - Expose new (simgear::canvas::Group based) DesktopGroup class
   to Nasal.
2013-07-25 00:59:59 +02:00
Thomas Geymayer
73456b05b4 Canvas GUI: send mouseleave after mouseup outside original window 2013-06-29 14:36:32 +02:00
Thomas Geymayer
0239e9c8c8 Fix cursor hide timeout if hovering on canvas windows 2013-06-21 22:00:09 +02:00
Thomas Geymayer
9e2625d575 Canvas GUI: preserve window size on reinit 2013-06-21 17:42:16 +02:00
Thomas Geymayer
4f129a283b Canvas GUI: refactor and simplify based on canvas::Group 2013-06-14 20:20:17 +02:00
Thomas Geymayer
2dee846930 Base canvas::Window on simgear::canvas::Image 2013-06-08 11:33:53 +02:00
Thomas Geymayer
1c24acf41e canvas::Window: make shadow part of decoration canvas 2013-06-08 11:32:53 +02:00
Thomas Geymayer
326ee0c5cf Add window decoration support to Canvas GUI.
canvas::Window now optionally creates a second canvas for showing
window decoration. After setting its dimensions with the property
"decoration-border" a Nasal based window decorator should add the
required elements to the decoration canvas.

Using the properties "shadow-radius" and "shadow-inset" a drop
shadow can be added to the window.
2013-06-06 22:37:16 +02:00
Thomas Geymayer
53c3033135 Expose canvas::Window ghost to Nasal. 2013-06-03 23:46:34 +02:00
Thomas Geymayer
351f1f4565 Canvas window: Update for SimGear MouseEvent changes. 2013-05-13 00:37:13 +02:00
Thomas Geymayer
d9881aecf8 Allow Canvas placed on 3D objects receiving mouse events.
- Add option 'capture-events' to canvas aircraft and scenery
   placements to allow events being forwarded to the respective
   canvas.
 - Clean up and restructure parts of the mouse event/picking
   handling to support forwarding events to canvasses.
2013-05-09 21:38:40 +02:00
Thomas Geymayer
952a61424a Allow Canvas to also read images with absolute paths (if allowed by IOrules) 2013-04-29 22:17:09 +02:00
Thomas Geymayer
eba03b5e46 Allow placing canvas on scenery objects. 2013-03-21 01:16:47 +01:00
Thomas Geymayer
0bc5a813a8 Revert "Ensure immediate canvas update inside GUI windows."
This reverts commit 07f01bd734.

We don't need this anymore as there is now a proper fix
in SimGear.
2013-03-11 21:24:40 +01:00
Thomas Geymayer
07f01bd734 Ensure immediate canvas update inside GUI windows.
Ensure canvas displayed inside GUI windows are updated in the same
frame as the according window is made visible. This prevents
showing previous contents for the first frame.
2013-03-10 20:43:14 +01:00
Thomas Geymayer
1c905e5881 Typos, license headers... 2013-03-06 01:04:52 +01:00
Thomas Geymayer
1b49f5cc78 Canvas Window: use new CanvasImage method to handle events 2013-02-28 01:15:59 +01:00
Thomas Geymayer
38ca30cbd5 Ignore events if canvas::Window is not visible 2013-02-13 12:10:25 +01:00
Thomas Geymayer
c0173cf2b5 Improve mouse event capturing with Canvas windows.
- Don't capture mouse events if mouse mode has
   pass-through disabled. This behaviour is
   consistent with the PUI dialogs and allows
   changing moving view and controls while above
   any GUI dialog.
 - Add option to canvas windows to ignore all
   events and let them pass through
   ("capture-events").
2013-02-07 23:08:53 +01:00
Thomas Geymayer
7ce1e100d7 Reapply canvas placements upon aircraft-model reinit 2013-02-06 01:23:06 +01:00