FG1000: Support custom SVG Path
This commit is contained in:
parent
1cee9485c6
commit
747cb73ca8
3 changed files with 25 additions and 15 deletions
|
@ -38,15 +38,15 @@ var FG1000 = {
|
|||
_instance : nil,
|
||||
|
||||
# Factory method
|
||||
getOrCreateInstance : func(EIS_Class = nil, EIS_SVG = nil) {
|
||||
getOrCreateInstance : func(EIS_Class = nil, EIS_SVG = nil, SVG_Path = nil) {
|
||||
if (FG1000._instance == nil) {
|
||||
FG1000._instance = FG1000.new(EIS_Class, EIS_SVG);
|
||||
FG1000._instance = FG1000.new(EIS_Class, EIS_SVG, SVG_Path);
|
||||
}
|
||||
|
||||
return FG1000._instance;
|
||||
},
|
||||
|
||||
new : func(EIS_Class = nil, EIS_SVG = nil) {
|
||||
new : func(EIS_Class = nil, EIS_SVG = nil, SVG_Path = nil) {
|
||||
var obj = {
|
||||
parents : [FG1000],
|
||||
displays : {}
|
||||
|
@ -70,11 +70,21 @@ new : func(EIS_Class = nil, EIS_SVG = nil) {
|
|||
obj.EIS_SVG = EIS_SVG;
|
||||
}
|
||||
|
||||
if (SVG_Path == nil) {
|
||||
obj.SVG_Path = "/Aircraft/Instruments-3d/FG1000/MFDPages/";
|
||||
} else {
|
||||
obj.SVG_Path = SVG_Path;
|
||||
}
|
||||
|
||||
obj.ConfigStore = fg1000.ConfigStore.new();
|
||||
|
||||
return obj;
|
||||
},
|
||||
|
||||
setSVGPath : func(SVG_Path) {
|
||||
me.SVG_Path = SVG_Path;
|
||||
},
|
||||
|
||||
setEIS : func(EIS_Class, EIS_SVG) {
|
||||
me.EIS_Class = EIS_Class;
|
||||
me.EIS_SVG = EIS.SVG;
|
||||
|
@ -105,7 +115,7 @@ addMFD : func(index=nil, targetcanvas=nil) {
|
|||
|
||||
targetcanvas.set("visible", 0);
|
||||
|
||||
var mfd = fg1000.MFDDisplay.new(me, me.EIS_Class, me.EIS_SVG, targetcanvas, index);
|
||||
var mfd = fg1000.MFDDisplay.new(me, me.EIS_Class, me.EIS_SVG, me.SVG_Path, targetcanvas, index);
|
||||
me.displays[index] = mfd;
|
||||
return index;
|
||||
},
|
||||
|
@ -131,7 +141,7 @@ addPFD : func(index=nil, targetcanvas=nil) {
|
|||
|
||||
targetcanvas.set("visible", 0);
|
||||
|
||||
var pfd = fg1000.PFDDisplay.new(me, me.EIS_Class, me.EIS_SVG, targetcanvas, index);
|
||||
var pfd = fg1000.PFDDisplay.new(me, me.EIS_Class, me.EIS_SVG, me.SVG_Path, targetcanvas, index);
|
||||
me.displays[index] = pfd;
|
||||
return index;
|
||||
},
|
||||
|
|
|
@ -66,7 +66,7 @@ foreach (var page; MFDPages) {
|
|||
|
||||
var MFDDisplay =
|
||||
{
|
||||
new : func (fg1000instance, EIS_Class, EIS_SVG, myCanvas, device_id=1)
|
||||
new : func (fg1000instance, EIS_Class, EIS_SVG, SVG_Path, myCanvas, device_id=1)
|
||||
{
|
||||
var obj = {
|
||||
parents : [ MFDDisplay ],
|
||||
|
@ -93,9 +93,9 @@ var MFDDisplay =
|
|||
|
||||
|
||||
foreach (var page; MFDPages) {
|
||||
var svg_file ='/Aircraft/Instruments-3d/FG1000/MFDPages/' ~ page ~ '.svg';
|
||||
if (resolvepath(svg_file) != "") {
|
||||
var svg_file = SVG_Path ~ page ~ '.svg';
|
||||
# Load an SVG file if available.
|
||||
if (resolvepath(svg_file) != "") {
|
||||
canvas.parsesvg(obj._svg,
|
||||
svg_file,
|
||||
{'font-mapper': fontmapper});
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
var PFDDisplay =
|
||||
{
|
||||
new : func (fg1000instance, EIS_Class, EIS_SVG, myCanvas, device_id=1)
|
||||
new : func (fg1000instance, EIS_Class, EIS_SVG, SVG_Path, myCanvas, device_id=1)
|
||||
{
|
||||
var obj = {
|
||||
parents : [ PFDDisplay ],
|
||||
|
@ -64,28 +64,28 @@ var PFDDisplay =
|
|||
|
||||
|
||||
canvas.parsesvg(obj._svg,
|
||||
'/Aircraft/Instruments-3d/FG1000/MFDPages/PFDInstruments.svg',
|
||||
SVG_Path ~ '/PFDInstruments.svg',
|
||||
{'font-mapper': fontmapper});
|
||||
|
||||
canvas.parsesvg(obj._svg,
|
||||
'/Aircraft/Instruments-3d/FG1000/MFDPages/FlightPlanPFD.svg',
|
||||
SVG_Path ~ '/FlightPlanPFD.svg',
|
||||
{'font-mapper': fontmapper});
|
||||
|
||||
|
||||
canvas.parsesvg(obj._svg,
|
||||
'/Aircraft/Instruments-3d/FG1000/MFDPages/DirectToPFD.svg',
|
||||
SVG_Path ~ '/DirectToPFD.svg',
|
||||
{'font-mapper': fontmapper});
|
||||
|
||||
canvas.parsesvg(obj._svg,
|
||||
'/Aircraft/Instruments-3d/FG1000/MFDPages/NearestAirportsPFD.svg',
|
||||
SVG_Path ~ '/NearestAirportsPFD.svg',
|
||||
{'font-mapper': fontmapper});
|
||||
|
||||
canvas.parsesvg(obj._svg,
|
||||
'/Aircraft/Instruments-3d/FG1000/MFDPages/NearestAirportsInfoPFD.svg',
|
||||
SVG_Path ~ '/NearestAirportsInfoPFD.svg',
|
||||
{'font-mapper': fontmapper});
|
||||
|
||||
canvas.parsesvg(obj._svg,
|
||||
'/Aircraft/Instruments-3d/FG1000/MFDPages/SurroundPFD.svg',
|
||||
SVG_Path ~ '/SurroundPFD.svg',
|
||||
{'font-mapper': fontmapper});
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue