diff --git a/Aircraft/Instruments-3d/GPSmap196/gpsmap196.nas b/Aircraft/Instruments-3d/GPSmap196/gpsmap196.nas
index 90a765682..33ce7e419 100644
--- a/Aircraft/Instruments-3d/GPSmap196/gpsmap196.nas
+++ b/Aircraft/Instruments-3d/GPSmap196/gpsmap196.nas
@@ -1,7 +1,8 @@
-print("Load Garmin GPSmap196 canvas");
+
var GPSmap196 = {
- new: func {
+ new: func(canvas_group) {
+ print("Load Garmin GPSmap196 canvas");
m = { parents : [GPSmap196] };
m.node = props.globals.initNode("/instrumentation/gps196");
m.rockerUp = m.node.initNode("inputs/rocker-up", 0, "BOOL");
@@ -17,32 +18,32 @@ var GPSmap196 = {
m.buttonPower = m.node.initNode("inputs/button-power", 0, "BOOL");
m.rockerRight = m.node.initNode("inputs/rocker-right", 0, "BOOL");
m.buttonEnter = m.node.initNode("inputs/button-enter", 0, "BOOL");
+
+ m.text = canvas_group.createChild("text", "optional-id-for element")
+ .setFontSize(14)
+ .setColor(1,0,0)
+ .setTranslation(10, 20)
+ .setAlignment("left-center")
+ .setText("This is a text element")
+ .setFont("LiberationFonts/LiberationSans-Regular.ttf");
+
return m;
},
- update: func {
+ update: func() {
+ settimer(func me.update(), 0);
}
};
-var myGPSmap196 = GPSmap196.new();
-
-var myCanvas = canvas.new({
- "name": "GPSmap196-screen", # The name is optional but allow for easier identification
- "size": [512, 512], # Size of the underlying texture (should be a power of 2, required) [Resolution]
- "view": [320, 240], # Virtual resolution (Defines the coordinate system of the canvas [Dimensions]
- # which will be stretched the size of the texture, required)
- "mipmapping": 1 # Enable mipmapping (optional)
+setlistener("sim/signals/fdm-initialized", func() {
+ var gpsmap196Screen = canvas.new({
+ "name": "GPSmap196-screen",
+ "size": [512, 512],
+ "view": [320, 240],
+ "mipmapping": 1
+ });
+ gpsmap196Screen.addPlacement({"node": "gps196.screen"});
+ gpsmap196Canvas = GPSmap196.new(gpsmap196Screen.createGroup());
+ gpsmap196Canvas.update();
});
-myCanvas.addPlacement({"node": "gps196.screen"});
-myCanvas.setColorBackground(0.6,0.64,0.545);
-
-var group = myCanvas.createGroup();
-var text = group.createChild("text", "optional-id-for element")
- .setTranslation(10, 20) # The origin is in the top left corner
- .setAlignment("left-center") # All values from osgText are supported (see $FG_ROOT/Docs/README.osgtext)
- .setFont("LiberationFonts/LiberationSans-Regular.ttf") # Fonts are loaded either from $AIRCRAFT_DIR/Fonts or $FG_DATA/Fonts
- .setFontSize(14) # Set fontsize and optionally character aspect ratio
- .setColor(0,0,0) # Text color
- .setText("This is a text element");
-text.show();
diff --git a/Aircraft/Instruments-3d/GPSmap196/gpsmap196.xml b/Aircraft/Instruments-3d/GPSmap196/gpsmap196.xml
index 0e3c6c11e..9d7252472 100644
--- a/Aircraft/Instruments-3d/GPSmap196/gpsmap196.xml
+++ b/Aircraft/Instruments-3d/GPSmap196/gpsmap196.xml
@@ -292,8 +292,69 @@
nasal
diff --git a/Aircraft/Instruments-3d/GPSmap196/widget/gpsmap196-widget.svg b/Aircraft/Instruments-3d/GPSmap196/widget/gpsmap196-widget.svg
index b4c7eb17b..43171a366 100644
--- a/Aircraft/Instruments-3d/GPSmap196/widget/gpsmap196-widget.svg
+++ b/Aircraft/Instruments-3d/GPSmap196/widget/gpsmap196-widget.svg
@@ -8,10 +8,45 @@
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="1024"
height="512"
- id="svg2">
+ id="svg2"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="gpsmap196-widget.svg">
+
+
+
+
@@ -20,3376 +55,217 @@
image/svg+xml
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+