From f3286b36bab9a4bbece29f1756213ade93ddc18a Mon Sep 17 00:00:00 2001 From: Miguel Del Castillo Date: Thu, 27 Apr 2023 07:53:49 -0600 Subject: [PATCH 1/8] Added configuration for WorldWind logo placement --- src/WorldWind.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/WorldWind.js b/src/WorldWind.js index 46c0059a4..6866b2ffa 100644 --- a/src/WorldWind.js +++ b/src/WorldWind.js @@ -1116,6 +1116,8 @@ define([ // PLEASE KEEP ALL THIS IN ALPHABETICAL ORDER BY MODULE NAME (not direc baseUrl: (WWUtil.worldwindlibLocation()) || (WWUtil.currentUrlSansFilePart() + '/../'), layerRetrievalQueueSize: 16, coverageRetrievalQueueSize: 16, + worldWindLogoPlacement: new Offset(WorldWind.OFFSET_PIXELS, 7, WorldWind.OFFSET_INSET_PIXELS, 7), + worldWindLogoAlignment: new Offset(WorldWind.OFFSET_FRACTION, 0, WorldWind.OFFSET_FRACTION, 1), bingLogoPlacement: new Offset(WorldWind.OFFSET_INSET_PIXELS, 7, WorldWind.OFFSET_PIXELS, 7), bingLogoAlignment: new Offset(WorldWind.OFFSET_FRACTION, 1, WorldWind.OFFSET_FRACTION, 0) }; From f6287609adf06af5c5b408405103c82cdcc72cd1 Mon Sep 17 00:00:00 2001 From: Miguel Del Castillo Date: Thu, 27 Apr 2023 09:12:22 -0600 Subject: [PATCH 2/8] Completed class templates for logo display --- examples/BasicExample.js | 3 +- images/worldwind-logo.png | Bin 0 -> 20429 bytes src/WorldWind.js | 12 ++++- src/layer/WorldWindLogoLayer.js | 78 ++++++++++++++++++++++++++++ src/shapes/WorldWindLogo.js | 88 ++++++++++++++++++++++++++++++++ 5 files changed, 178 insertions(+), 3 deletions(-) create mode 100644 images/worldwind-logo.png create mode 100644 src/layer/WorldWindLogoLayer.js create mode 100644 src/shapes/WorldWindLogo.js diff --git a/examples/BasicExample.js b/examples/BasicExample.js index d4f2df7f2..81474d470 100644 --- a/examples/BasicExample.js +++ b/examples/BasicExample.js @@ -54,7 +54,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/images/worldwind-logo.png b/images/worldwind-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a9646944a717da47e8d70cebf1b71794c2da771b GIT binary patch literal 20429 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 literal 0 HcmV?d00001 diff --git a/src/WorldWind.js b/src/WorldWind.js index 6866b2ffa..3d8d2d1d3 100644 --- a/src/WorldWind.js +++ b/src/WorldWind.js @@ -298,6 +298,8 @@ define([ // PLEASE KEEP ALL THIS IN ALPHABETICAL ORDER BY MODULE NAME (not direc './ogc/wmts/WmtsCapabilities', './layer/WmtsLayer', './ogc/wmts/WmtsLayerCapabilities', + './shapes/WorldWindLogo', + './layer/WorldWindLogoLayer', './WorldWindow', './WorldWindowController', './util/WWMath', @@ -576,6 +578,8 @@ define([ // PLEASE KEEP ALL THIS IN ALPHABETICAL ORDER BY MODULE NAME (not direc WmtsCapabilities, WmtsLayer, WmtsLayerCapabilities, + WorldWindLogo, + WorldWindLogoLayer, WorldWindow, WorldWindowController, WWMath, @@ -592,10 +596,10 @@ define([ // PLEASE KEEP ALL THIS IN ALPHABETICAL ORDER BY MODULE NAME (not direc var WorldWind = { /** * The WorldWind version number. - * @default "0.9.0" + * @default "0.11.0" * @constant */ - VERSION: "0.9.0", + VERSION: "0.11.0", // PLEASE KEEP THE ENTRIES BELOW IN ALPHABETICAL ORDER /** @@ -1094,6 +1098,8 @@ define([ // PLEASE KEEP ALL THIS IN ALPHABETICAL ORDER BY MODULE NAME (not direc WorldWind['WWMath'] = WWMath; WorldWind['WWMessage'] = WWMessage; WorldWind['WWUtil'] = WWUtil; + WorldWind['WorldWindLogo'] = WorldWindLogo; + WorldWind['WorldWindLogoLayer'] = WorldWindLogoLayer; WorldWind['WorldWindow'] = WorldWindow; WorldWind['WorldWindowController'] = WorldWindowController; @@ -1106,6 +1112,8 @@ define([ // PLEASE KEEP ALL THIS IN ALPHABETICAL ORDER BY MODULE NAME (not direc *
  • baseUrl: The URL of the directory containing the WorldWind Library and its resources.
  • *
  • layerRetrievalQueueSize: The number of concurrent tile requests allowed per layer. The default is 16.
  • *
  • coverageRetrievalQueueSize: The number of concurrent tile requests allowed per elevation coverage. The default is 16.
  • + *
  • worldWindLogoPlacement: An {@link Offset} to place the official WorldWind logo. The default is a 7px margin inset from the upper left corner of the screen.
  • + *
  • worldWindLogoAlignment: An {@link Offset} to align the WorldWind logo relative to its placement position. The default is the upper left corner of the logo.
  • *
  • bingLogoPlacement: An {@link Offset} to place a Bing logo attribution. The default is a 7px margin inset from the lower right corner of the screen.
  • *
  • bingLogoAlignment: An {@link Offset} to align the Bing logo relative to its placement position. The default is the lower right corner of the logo.
  • * diff --git a/src/layer/WorldWindLogoLayer.js b/src/layer/WorldWindLogoLayer.js new file mode 100644 index 000000000..b43907c57 --- /dev/null +++ b/src/layer/WorldWindLogoLayer.js @@ -0,0 +1,78 @@ +/* + * Copyright 2003-2006, 2009, 2017, 2020 United States Government, as represented + * by the Administrator of the National Aeronautics and Space Administration. + * All rights reserved. + * + * The NASAWorldWind/WebWorldWind platform is licensed under the Apache License, + * Version 2.0 (the "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License + * at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * NASAWorldWind/WebWorldWind also contains the following 3rd party Open Source + * software: + * + * ES6-Promise – under MIT License + * libtess.js – SGI Free Software License B + * Proj4 – under MIT License + * JSZip – under MIT License + * + * A complete listing of 3rd Party software notices and licenses included in + * WebWorldWind can be found in the WebWorldWind 3rd-party notices and licenses + * PDF found in code directory. + */ +/** + * @exports WorldWindLogoLayer + */ +define([ + '../shapes/WorldWindLogo', + '../layer/RenderableLayer' +], +function (WorldWindLogo, + RenderableLayer) { + "use strict"; + + /** + * Constructs a WorldWind logo layer. + * @alias WorldWindLogoLayer + * @constructor + * @augments RenderableLayer + * @classdesc Displays the WorldWind Logo. + */ + var WorldWindLogoLayer = function () { + RenderableLayer.call(this, "WorldWindLogo"); + + this._worldWindLogo = new WorldWindLogo(null, null); + + this.addRenderable(this._worldWindLogo); + }; + + WorldWindLogoLayer.prototype = Object.create(RenderableLayer.prototype); + + Object.defineProperties(WorldWindLogoLayer.prototype, { + /** + * The logo to display. + * @type {WorldWindLogo} + * @default {@link WorldWindLogo} + * @memberof WorldWindLogoLayer.prototype + */ + worldWindLogo: { + get: function () { + return this._worldWindLogo; + }, + set: function (worldWindLogo) { + if (worldWindLogo && worldWindLogo instanceof WorldWindLogo) { + this.removeAllRenderables(); + this.addRenderable(worldWindLogo); + this._worldWindLogo = worldWindLogo; + } + } + } + }); + + return WorldWindLogoLayer; +}); \ No newline at end of file diff --git a/src/shapes/WorldWindLogo.js b/src/shapes/WorldWindLogo.js new file mode 100644 index 000000000..c36f6d9af --- /dev/null +++ b/src/shapes/WorldWindLogo.js @@ -0,0 +1,88 @@ +/* + * Copyright 2003-2006, 2009, 2017, 2020 United States Government, as represented + * by the Administrator of the National Aeronautics and Space Administration. + * All rights reserved. + * + * The NASAWorldWind/WebWorldWind platform is licensed under the Apache License, + * Version 2.0 (the "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License + * at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * NASAWorldWind/WebWorldWind also contains the following 3rd party Open Source + * software: + * + * ES6-Promise – under MIT License + * libtess.js – SGI Free Software License B + * Proj4 – under MIT License + * JSZip – under MIT License + * + * A complete listing of 3rd Party software notices and licenses included in + * WebWorldWind can be found in the WebWorldWind 3rd-party notices and licenses + * PDF found in code directory. + */ +/** + * @exports Compass + */ +define([ + '../error/ArgumentError', + '../util/Logger', + '../util/Offset', + '../shapes/ScreenImage' +], +function (ArgumentError, + Logger, + Offset, + ScreenImage) { + "use strict"; + + /** + * Constructs a WorldWind logo attribution. + * @alias WorldWindLogo + * @constructor + * @augments ScreenImage + * @classdesc Displays the official WorldWind logo in the WorldWindow. Its position is specified in WorldWind's configuration. + * @param {Offset} screenOffset The offset indicating the image's placement on the screen. If null or undefined + * the compass is placed at the position stated in WorldWind's configuration. + * Use [the image offset property]{@link ScreenImage#imageOffset} to position the image relative to the + * screen point. + * @param {String} imagePath The URL of the image to display. If null or undefined, a default logo image is used. + */ + var WorldWindLogo = function (screenOffset, imagePath) { + + var sOffset = screenOffset ? screenOffset + : new Offset(WorldWind.configuration.worldWindLogoAlignment), + iPath = imagePath ? imagePath : WorldWind.configuration.baseUrl + "images/worldwind-logo.png"; + + ScreenImage.call(this, sOffset, iPath); + + // Must set the configured image offset after calling the constructor above. + + if (!screenOffset) { + this.imageOffset = new Offset(WorldWind.configuration.worldWindLogoAlignment); + } + }; + + WorldWindLogo.prototype = Object.create(ScreenImage.prototype); + + WorldWindLogo.prototype.render = function (dc) { + + // // Capture the navigator's heading and tilt and apply it to the compass' screen image. + // this.imageRotation = dc.navigator.heading; + // this.imageTilt = dc.navigator.tilt; + + // var t = this.getActiveTexture(dc); + // if (t) { + // this.imageScale = this.size * dc.currentGlContext.drawingBufferWidth / t.imageWidth; + // } + + ScreenImage.prototype.render.call(this, dc); + }; + + return WorldWindLogo; +}) +; \ No newline at end of file From c9756e312a55955acafb9207eb9cd7b49d1db688 Mon Sep 17 00:00:00 2001 From: Miguel Del Castillo Date: Thu, 27 Apr 2023 10:07:20 -0600 Subject: [PATCH 3/8] Completed implementation of logo display. Modified CoordinatesDisplayLayer to accomodate logo --- src/WorldWind.js | 4 ---- src/layer/CoordinatesDisplayLayer.js | 12 ++++++------ src/shapes/WorldWindLogo.js | 19 ++++++++++--------- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/WorldWind.js b/src/WorldWind.js index 3d8d2d1d3..a9115eb18 100644 --- a/src/WorldWind.js +++ b/src/WorldWind.js @@ -1112,8 +1112,6 @@ define([ // PLEASE KEEP ALL THIS IN ALPHABETICAL ORDER BY MODULE NAME (not direc *
  • baseUrl: The URL of the directory containing the WorldWind Library and its resources.
  • *
  • layerRetrievalQueueSize: The number of concurrent tile requests allowed per layer. The default is 16.
  • *
  • coverageRetrievalQueueSize: The number of concurrent tile requests allowed per elevation coverage. The default is 16.
  • - *
  • worldWindLogoPlacement: An {@link Offset} to place the official WorldWind logo. The default is a 7px margin inset from the upper left corner of the screen.
  • - *
  • worldWindLogoAlignment: An {@link Offset} to align the WorldWind logo relative to its placement position. The default is the upper left corner of the logo.
  • *
  • bingLogoPlacement: An {@link Offset} to place a Bing logo attribution. The default is a 7px margin inset from the lower right corner of the screen.
  • *
  • bingLogoAlignment: An {@link Offset} to align the Bing logo relative to its placement position. The default is the lower right corner of the logo.
  • * @@ -1124,8 +1122,6 @@ define([ // PLEASE KEEP ALL THIS IN ALPHABETICAL ORDER BY MODULE NAME (not direc baseUrl: (WWUtil.worldwindlibLocation()) || (WWUtil.currentUrlSansFilePart() + '/../'), layerRetrievalQueueSize: 16, coverageRetrievalQueueSize: 16, - worldWindLogoPlacement: new Offset(WorldWind.OFFSET_PIXELS, 7, WorldWind.OFFSET_INSET_PIXELS, 7), - worldWindLogoAlignment: new Offset(WorldWind.OFFSET_FRACTION, 0, WorldWind.OFFSET_FRACTION, 1), bingLogoPlacement: new Offset(WorldWind.OFFSET_INSET_PIXELS, 7, WorldWind.OFFSET_PIXELS, 7), bingLogoAlignment: new Offset(WorldWind.OFFSET_FRACTION, 1, WorldWind.OFFSET_FRACTION, 0) }; diff --git a/src/layer/CoordinatesDisplayLayer.js b/src/layer/CoordinatesDisplayLayer.js index 6df887996..eb791d1fd 100644 --- a/src/layer/CoordinatesDisplayLayer.js +++ b/src/layer/CoordinatesDisplayLayer.js @@ -163,14 +163,14 @@ define([ y = 11; yUnitsScreen = WorldWind.OFFSET_PIXELS; yUnitsText = 0; - } else if (canvasWidth > 400) { // medium canvas, align the text in the top left - x = 60; - y = 5; + } else if (canvasWidth > 400) { // medium canvas, align the text in the top left, below the logo + x = 64; + y = 33; yUnitsScreen = WorldWind.OFFSET_INSET_PIXELS; yUnitsText = 1; - } else { // small canvas, suppress the eye altitude, align the text in the top left and suppress eye alt - x = 60; - y = 5; + } else { // small canvas, suppress the eye altitude, align the text in the top left, below the logo, and suppress eye alt + x = 64; + y = 33; yUnitsScreen = WorldWind.OFFSET_INSET_PIXELS; yUnitsText = 1; hideEyeAlt = true; diff --git a/src/shapes/WorldWindLogo.js b/src/shapes/WorldWindLogo.js index c36f6d9af..e42aeed7b 100644 --- a/src/shapes/WorldWindLogo.js +++ b/src/shapes/WorldWindLogo.js @@ -55,15 +55,16 @@ function (ArgumentError, var WorldWindLogo = function (screenOffset, imagePath) { var sOffset = screenOffset ? screenOffset - : new Offset(WorldWind.configuration.worldWindLogoAlignment), + : new Offset(WorldWind.OFFSET_FRACTION, 0, WorldWind.OFFSET_FRACTION, 1), iPath = imagePath ? imagePath : WorldWind.configuration.baseUrl + "images/worldwind-logo.png"; + console.log(WorldWind.configuration.worldWindLogoPlacement); ScreenImage.call(this, sOffset, iPath); // Must set the configured image offset after calling the constructor above. if (!screenOffset) { - this.imageOffset = new Offset(WorldWind.configuration.worldWindLogoAlignment); + this.imageOffset = new Offset(WorldWind.OFFSET_PIXELS, -7, WorldWind.OFFSET_INSET_PIXELS, -7); } }; @@ -71,14 +72,14 @@ function (ArgumentError, WorldWindLogo.prototype.render = function (dc) { - // // Capture the navigator's heading and tilt and apply it to the compass' screen image. - // this.imageRotation = dc.navigator.heading; - // this.imageTilt = dc.navigator.tilt; + // Capture the navigator's heading and tilt and apply it to the compass' screen image. + this.imageRotation = dc.navigator.heading; + this.imageTilt = dc.navigator.tilt; - // var t = this.getActiveTexture(dc); - // if (t) { - // this.imageScale = this.size * dc.currentGlContext.drawingBufferWidth / t.imageWidth; - // } + var t = this.getActiveTexture(dc); + if (t) { + this.imageScale = 1.0; + } ScreenImage.prototype.render.call(this, dc); }; From 67750669b3b69aa91ec1ae8d4018294d2aeab879 Mon Sep 17 00:00:00 2001 From: Miguel Del Castillo Date: Thu, 27 Apr 2023 10:29:54 -0600 Subject: [PATCH 4/8] Added logo to examples --- examples/Annotations.js | 3 ++- examples/BlueMarbleTimeSeries.js | 1 + examples/Collada.js | 3 ++- examples/Configuration.js | 3 ++- examples/CustomPlacemark.js | 3 ++- examples/DeepPicking.js | 3 ++- examples/DigitalGlobe.js | 3 ++- examples/GeoJSON.js | 3 ++- examples/GeoJSONExporter.js | 3 ++- examples/GeoTiff.js | 3 ++- examples/GeographicMeshes.js | 3 ++- examples/GeographicText.js | 3 ++- examples/GoToLocation.js | 3 ++- examples/HeatMap.js | 3 ++- examples/KML.js | 3 ++- examples/Measurements.js | 2 ++ examples/MultiWindow.js | 8 ++++++-- examples/ParseUrlArguments.js | 3 ++- examples/Paths.js | 3 ++- examples/PickAllShapesInRegion.js | 3 ++- examples/PlacemarksAndPicking.js | 3 ++- examples/Polygons.js | 3 ++- examples/RefreshImagery.js | 3 ++- examples/ScreenImage.js | 3 ++- examples/ScreenText.js | 3 ++- examples/Shapefiles.js | 3 ++- examples/SimplestExample.html | 3 ++- examples/SurfaceImage.js | 3 ++- examples/SurfaceShapes.js | 3 ++- examples/TestMovingSurfaceShapes.js | 3 ++- examples/TriangleMeshes.js | 3 ++- examples/WKT.js | 3 ++- examples/WMS.js | 3 ++- examples/WMTS.js | 3 ++- examples/WktExporter.js | 3 ++- src/layer/WorldWindLogoLayer.js | 2 +- src/shapes/WorldWindLogo.js | 1 - 37 files changed, 74 insertions(+), 36 deletions(-) diff --git a/examples/Annotations.js b/examples/Annotations.js index a48b4ffa7..b2a179e0c 100644 --- a/examples/Annotations.js +++ b/examples/Annotations.js @@ -50,7 +50,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/BlueMarbleTimeSeries.js b/examples/BlueMarbleTimeSeries.js index f55715561..d653e5d4f 100644 --- a/examples/BlueMarbleTimeSeries.js +++ b/examples/BlueMarbleTimeSeries.js @@ -45,6 +45,7 @@ requirejs(['./WorldWindShim', wwd.addLayer(new WorldWind.CompassLayer()); wwd.addLayer(new WorldWind.CoordinatesDisplayLayer(wwd)); wwd.addLayer(new WorldWind.ViewControlsLayer(wwd)); + wwd.addLayer(new WorldWind.WorldWindLogoLayer()); // Create a background layer. var backgroundLayer = new WorldWind.BMNGOneImageLayer(); diff --git a/examples/Collada.js b/examples/Collada.js index fe1064297..9d45211e4 100644 --- a/examples/Collada.js +++ b/examples/Collada.js @@ -54,7 +54,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/Configuration.js b/examples/Configuration.js index cb9e87bb7..a57faa06a 100644 --- a/examples/Configuration.js +++ b/examples/Configuration.js @@ -56,7 +56,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/CustomPlacemark.js b/examples/CustomPlacemark.js index fa91e5609..4b3090cef 100644 --- a/examples/CustomPlacemark.js +++ b/examples/CustomPlacemark.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/DeepPicking.js b/examples/DeepPicking.js index 90f8921b3..8d661ea1e 100644 --- a/examples/DeepPicking.js +++ b/examples/DeepPicking.js @@ -49,7 +49,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/DigitalGlobe.js b/examples/DigitalGlobe.js index af34f1bcb..218fe34d6 100644 --- a/examples/DigitalGlobe.js +++ b/examples/DigitalGlobe.js @@ -56,7 +56,8 @@ requirejs(['./WorldWindShim', // WorldWind UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/GeoJSON.js b/examples/GeoJSON.js index 64d299801..d64311902 100644 --- a/examples/GeoJSON.js +++ b/examples/GeoJSON.js @@ -50,7 +50,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/GeoJSONExporter.js b/examples/GeoJSONExporter.js index b30ecba6d..02f8273df 100644 --- a/examples/GeoJSONExporter.js +++ b/examples/GeoJSONExporter.js @@ -54,7 +54,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/GeoTiff.js b/examples/GeoTiff.js index 2277a46a0..93dbadd39 100644 --- a/examples/GeoTiff.js +++ b/examples/GeoTiff.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/GeographicMeshes.js b/examples/GeographicMeshes.js index 11fc9b2c2..996862f67 100644 --- a/examples/GeographicMeshes.js +++ b/examples/GeographicMeshes.js @@ -50,7 +50,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/GeographicText.js b/examples/GeographicText.js index 4271d9b02..8ee0e3b50 100644 --- a/examples/GeographicText.js +++ b/examples/GeographicText.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/GoToLocation.js b/examples/GoToLocation.js index cbb990e5e..60e15b960 100644 --- a/examples/GoToLocation.js +++ b/examples/GoToLocation.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/HeatMap.js b/examples/HeatMap.js index eedbb3ec6..e7201121b 100644 --- a/examples/HeatMap.js +++ b/examples/HeatMap.js @@ -46,7 +46,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/KML.js b/examples/KML.js index b8527d0a1..0842b09ec 100644 --- a/examples/KML.js +++ b/examples/KML.js @@ -49,7 +49,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/Measurements.js b/examples/Measurements.js index 6f7fb9641..599c60af8 100644 --- a/examples/Measurements.js +++ b/examples/Measurements.js @@ -51,11 +51,13 @@ requirejs([ var pathLayer = new WorldWind.RenderableLayer('Path'); // WorldWindow UI layer. var CoordinatesDisplayLayer = new WorldWind.CoordinatesDisplayLayer(wwd); + var WorldWindLogoLayer = new WorldWind.WorldWindLogoLayer(); wwd.addLayer(BNMGLayer); // Add atmosphere layer on top of base imagery layer. wwd.addLayer(AtmosphereLayer); wwd.addLayer(pathLayer); wwd.addLayer(CoordinatesDisplayLayer); + wwd.addLayer(WorldWindLogoLayer); // Bind our DOM elements where we will display the results. var geoDistSpan = document.getElementById('geo-dist'); diff --git a/examples/MultiWindow.js b/examples/MultiWindow.js index 013db63ff..cbb992f90 100644 --- a/examples/MultiWindow.js +++ b/examples/MultiWindow.js @@ -56,15 +56,17 @@ requirejs(['./WorldWindShim'], function () { return pathLayer; }; - // Create the shared shape layer and imagery layer + // Create the shared shape layer and imagery layer, as well as the logo layer. var pathLayer = makePathLayer(), imageryLayer = new WorldWind.BingAerialWithLabelsLayer(null), - atmosphereLayer = new WorldWind.AtmosphereLayer(); + atmosphereLayer = new WorldWind.AtmosphereLayer(), + logoLayer = new WorldWind.WorldWindLogoLayer(); var wwd1 = new WorldWind.WorldWindow("canvasOne"); wwd1.addLayer(imageryLayer); wwd1.addLayer(atmosphereLayer); wwd1.addLayer(pathLayer); + wwd1.addLayer(logoLayer); // Add a compass layer, view controls layer, and coordinates display layer. Each WorldWindow must have its own. wwd1.addLayer(new WorldWind.CompassLayer()); wwd1.addLayer(new WorldWind.CoordinatesDisplayLayer(wwd1)); @@ -74,6 +76,7 @@ requirejs(['./WorldWindShim'], function () { wwd2.addLayer(imageryLayer); wwd2.addLayer(atmosphereLayer); wwd2.addLayer(pathLayer); + wwd2.addLayer(logoLayer); wwd2.addLayer(new WorldWind.CompassLayer()); wwd2.addLayer(new WorldWind.CoordinatesDisplayLayer(wwd2)); wwd2.addLayer(new WorldWind.ViewControlsLayer(wwd2)); @@ -82,6 +85,7 @@ requirejs(['./WorldWindShim'], function () { wwd3.addLayer(imageryLayer); wwd3.addLayer(atmosphereLayer); wwd3.addLayer(pathLayer); + wwd3.addLayer(logoLayer); wwd3.addLayer(new WorldWind.CompassLayer()); wwd3.addLayer(new WorldWind.CoordinatesDisplayLayer(wwd3)); wwd3.addLayer(new WorldWind.ViewControlsLayer(wwd3)); diff --git a/examples/ParseUrlArguments.js b/examples/ParseUrlArguments.js index 177429d76..5ddcbe3ee 100644 --- a/examples/ParseUrlArguments.js +++ b/examples/ParseUrlArguments.js @@ -53,7 +53,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/Paths.js b/examples/Paths.js index 89ab11f14..9668fb392 100644 --- a/examples/Paths.js +++ b/examples/Paths.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/PickAllShapesInRegion.js b/examples/PickAllShapesInRegion.js index 00ce463bf..c0befb753 100644 --- a/examples/PickAllShapesInRegion.js +++ b/examples/PickAllShapesInRegion.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/PlacemarksAndPicking.js b/examples/PlacemarksAndPicking.js index 62ddb0935..3c85443f2 100644 --- a/examples/PlacemarksAndPicking.js +++ b/examples/PlacemarksAndPicking.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. { layer: new WorldWind.CompassLayer(), enabled: true }, { layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true }, - { layer: new WorldWind.ViewControlsLayer(wwd), enabled: true } + { layer: new WorldWind.ViewControlsLayer(wwd), enabled: true }, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/Polygons.js b/examples/Polygons.js index 949cceb92..425f0c7fe 100644 --- a/examples/Polygons.js +++ b/examples/Polygons.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/RefreshImagery.js b/examples/RefreshImagery.js index 43754b1b5..7d2a2fdb6 100644 --- a/examples/RefreshImagery.js +++ b/examples/RefreshImagery.js @@ -52,7 +52,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/ScreenImage.js b/examples/ScreenImage.js index d1cba2445..07ab38819 100644 --- a/examples/ScreenImage.js +++ b/examples/ScreenImage.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/ScreenText.js b/examples/ScreenText.js index c1f184aab..a94cf08f4 100644 --- a/examples/ScreenText.js +++ b/examples/ScreenText.js @@ -50,7 +50,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/Shapefiles.js b/examples/Shapefiles.js index b858d7d42..3a64a3820 100644 --- a/examples/Shapefiles.js +++ b/examples/Shapefiles.js @@ -50,7 +50,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/SimplestExample.html b/examples/SimplestExample.html index c30c8702b..35433ea72 100644 --- a/examples/SimplestExample.html +++ b/examples/SimplestExample.html @@ -27,10 +27,11 @@ wwd.addLayer(new WorldWind.BMNGOneImageLayer()); wwd.addLayer(new WorldWind.BingAerialWithLabelsLayer()); - // Add a compass, a coordinates display and some view controls to the WorldWindow. + // Add a compass, a coordinates display, some view controls, and the WorldWind logo to the WorldWindow. wwd.addLayer(new WorldWind.CompassLayer()); wwd.addLayer(new WorldWind.CoordinatesDisplayLayer(wwd)); wwd.addLayer(new WorldWind.ViewControlsLayer(wwd)); + wwd.addLayer(new WorldWind.WorldWindLogoLayer()); } diff --git a/examples/SurfaceImage.js b/examples/SurfaceImage.js index 342be5998..3339c88e4 100644 --- a/examples/SurfaceImage.js +++ b/examples/SurfaceImage.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/SurfaceShapes.js b/examples/SurfaceShapes.js index 563ae9635..259db4074 100644 --- a/examples/SurfaceShapes.js +++ b/examples/SurfaceShapes.js @@ -51,7 +51,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/TestMovingSurfaceShapes.js b/examples/TestMovingSurfaceShapes.js index 760c1349f..e96172411 100644 --- a/examples/TestMovingSurfaceShapes.js +++ b/examples/TestMovingSurfaceShapes.js @@ -52,7 +52,8 @@ requirejs(['./WorldWindShim', {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, - {layer: new WorldWind.FrameStatisticsLayer(wwd), enabled: true} + {layer: new WorldWind.FrameStatisticsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/TriangleMeshes.js b/examples/TriangleMeshes.js index f949c75cf..da7f51bf8 100644 --- a/examples/TriangleMeshes.js +++ b/examples/TriangleMeshes.js @@ -50,7 +50,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/WKT.js b/examples/WKT.js index 4b90dad91..516fe06d2 100644 --- a/examples/WKT.js +++ b/examples/WKT.js @@ -49,7 +49,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/WMS.js b/examples/WMS.js index 72a0af3a8..3c7a329a6 100644 --- a/examples/WMS.js +++ b/examples/WMS.js @@ -53,7 +53,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/WMTS.js b/examples/WMTS.js index 0aaac5469..1fcd60967 100644 --- a/examples/WMTS.js +++ b/examples/WMTS.js @@ -55,7 +55,8 @@ requirejs([ // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/examples/WktExporter.js b/examples/WktExporter.js index 914241181..75036ab20 100644 --- a/examples/WktExporter.js +++ b/examples/WktExporter.js @@ -53,7 +53,8 @@ requirejs(['./WorldWindShim', // WorldWindow UI layers. {layer: new WorldWind.CompassLayer(), enabled: true}, {layer: new WorldWind.CoordinatesDisplayLayer(wwd), enabled: true}, - {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true} + {layer: new WorldWind.ViewControlsLayer(wwd), enabled: true}, + {layer: new WorldWind.WorldWindLogoLayer(), enabled: true} ]; for (var l = 0; l < layers.length; l++) { diff --git a/src/layer/WorldWindLogoLayer.js b/src/layer/WorldWindLogoLayer.js index b43907c57..112100fd6 100644 --- a/src/layer/WorldWindLogoLayer.js +++ b/src/layer/WorldWindLogoLayer.js @@ -44,7 +44,7 @@ function (WorldWindLogo, * @classdesc Displays the WorldWind Logo. */ var WorldWindLogoLayer = function () { - RenderableLayer.call(this, "WorldWindLogo"); + RenderableLayer.call(this, "WorldWind Logo"); this._worldWindLogo = new WorldWindLogo(null, null); diff --git a/src/shapes/WorldWindLogo.js b/src/shapes/WorldWindLogo.js index e42aeed7b..87298c1c4 100644 --- a/src/shapes/WorldWindLogo.js +++ b/src/shapes/WorldWindLogo.js @@ -57,7 +57,6 @@ function (ArgumentError, var sOffset = screenOffset ? screenOffset : new Offset(WorldWind.OFFSET_FRACTION, 0, WorldWind.OFFSET_FRACTION, 1), iPath = imagePath ? imagePath : WorldWind.configuration.baseUrl + "images/worldwind-logo.png"; - console.log(WorldWind.configuration.worldWindLogoPlacement); ScreenImage.call(this, sOffset, iPath); From d1bece1081af435536102c8c75abd1dbff15113f Mon Sep 17 00:00:00 2001 From: Miguel Del Castillo Date: Thu, 27 Apr 2023 10:56:17 -0600 Subject: [PATCH 5/8] Reverted version number --- src/WorldWind.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/WorldWind.js b/src/WorldWind.js index a9115eb18..745838a21 100644 --- a/src/WorldWind.js +++ b/src/WorldWind.js @@ -596,10 +596,10 @@ define([ // PLEASE KEEP ALL THIS IN ALPHABETICAL ORDER BY MODULE NAME (not direc var WorldWind = { /** * The WorldWind version number. - * @default "0.11.0" + * @default "0.9.0" * @constant */ - VERSION: "0.11.0", + VERSION: "0.9.0", // PLEASE KEEP THE ENTRIES BELOW IN ALPHABETICAL ORDER /** From d9917aed6398c7c2ee1204b021a41ad7071f4c40 Mon Sep 17 00:00:00 2001 From: Miguel Del Castillo Date: Thu, 25 May 2023 11:39:54 -0600 Subject: [PATCH 6/8] Fixed logo placement --- src/shapes/WorldWindLogo.js | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/shapes/WorldWindLogo.js b/src/shapes/WorldWindLogo.js index 87298c1c4..efca5f28d 100644 --- a/src/shapes/WorldWindLogo.js +++ b/src/shapes/WorldWindLogo.js @@ -70,15 +70,6 @@ function (ArgumentError, WorldWindLogo.prototype = Object.create(ScreenImage.prototype); WorldWindLogo.prototype.render = function (dc) { - - // Capture the navigator's heading and tilt and apply it to the compass' screen image. - this.imageRotation = dc.navigator.heading; - this.imageTilt = dc.navigator.tilt; - - var t = this.getActiveTexture(dc); - if (t) { - this.imageScale = 1.0; - } ScreenImage.prototype.render.call(this, dc); }; From 235d998915910caa143d2853a2ca1ef916e09f5d Mon Sep 17 00:00:00 2001 From: Miguel Del Castillo Date: Tue, 13 Jun 2023 12:15:29 -0600 Subject: [PATCH 7/8] Added version number display to the logo. --- src/shapes/WorldWindLogo.js | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/src/shapes/WorldWindLogo.js b/src/shapes/WorldWindLogo.js index efca5f28d..c212a8fc0 100644 --- a/src/shapes/WorldWindLogo.js +++ b/src/shapes/WorldWindLogo.js @@ -30,14 +30,20 @@ */ define([ '../error/ArgumentError', + '../util/Color', '../util/Logger', '../util/Offset', - '../shapes/ScreenImage' + '../shapes/ScreenImage', + '../shapes/ScreenText', + '../shapes/TextAttributes' ], function (ArgumentError, + Color, Logger, Offset, - ScreenImage) { + ScreenImage, + ScreenText, + TextAttributes) { "use strict"; /** @@ -46,15 +52,15 @@ function (ArgumentError, * @constructor * @augments ScreenImage * @classdesc Displays the official WorldWind logo in the WorldWindow. Its position is specified in WorldWind's configuration. - * @param {Offset} screenOffset The offset indicating the image's placement on the screen. If null or undefined + * @param {Offset} logoScreenOffset The offset indicating the image's placement on the screen. If null or undefined * the compass is placed at the position stated in WorldWind's configuration. * Use [the image offset property]{@link ScreenImage#imageOffset} to position the image relative to the * screen point. * @param {String} imagePath The URL of the image to display. If null or undefined, a default logo image is used. */ - var WorldWindLogo = function (screenOffset, imagePath) { + var WorldWindLogo = function (logoScreenOffset, imagePath) { - var sOffset = screenOffset ? screenOffset + var sOffset = logoScreenOffset ? logoScreenOffset : new Offset(WorldWind.OFFSET_FRACTION, 0, WorldWind.OFFSET_FRACTION, 1), iPath = imagePath ? imagePath : WorldWind.configuration.baseUrl + "images/worldwind-logo.png"; @@ -62,9 +68,25 @@ function (ArgumentError, // Must set the configured image offset after calling the constructor above. - if (!screenOffset) { + if (!logoScreenOffset) { this.imageOffset = new Offset(WorldWind.OFFSET_PIXELS, -7, WorldWind.OFFSET_INSET_PIXELS, -7); } + + // Create version number ScreenText to display it to the right of the logo. + var versionNumber = WorldWind.VERSION; + + this.versionTextScreenOffset = new Offset(WorldWind.OFFSET_FRACTION, 0, WorldWind.OFFSET_FRACTION, 1); + this.versionText = new ScreenText(this.versionTextScreenOffset, versionNumber); + + this.versionText.attributes = new TextAttributes(null); + this.versionText.attributes.color = new Color(0, 0, 0, 0.5); + this.versionText.attributes.outlineColor = new Color(1, 1, 1, 0.5); + this.versionText.attributes.outlineWidth = 3; + this.versionText.attributes.scale = 1; + + // TODO Compute version text offset with respect to the logo instead of the hardcoding it, + // taking into account possible scale changes of the version text. + this.versionText.attributes.offset = new Offset(WorldWind.OFFSET_PIXELS, -117, WorldWind.OFFSET_INSET_PIXELS, -10); }; WorldWindLogo.prototype = Object.create(ScreenImage.prototype); @@ -72,6 +94,7 @@ function (ArgumentError, WorldWindLogo.prototype.render = function (dc) { ScreenImage.prototype.render.call(this, dc); + this.versionText.render(dc); }; return WorldWindLogo; From dabd2fa38351b3125694a4b48830b9bf4bef0152 Mon Sep 17 00:00:00 2001 From: Miguel Del Castillo Date: Tue, 13 Jun 2023 12:23:21 -0600 Subject: [PATCH 8/8] Removed unneeded version number variable. Documentation changes --- src/shapes/WorldWindLogo.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/shapes/WorldWindLogo.js b/src/shapes/WorldWindLogo.js index c212a8fc0..73a57be0f 100644 --- a/src/shapes/WorldWindLogo.js +++ b/src/shapes/WorldWindLogo.js @@ -73,19 +73,18 @@ function (ArgumentError, } // Create version number ScreenText to display it to the right of the logo. - var versionNumber = WorldWind.VERSION; this.versionTextScreenOffset = new Offset(WorldWind.OFFSET_FRACTION, 0, WorldWind.OFFSET_FRACTION, 1); - this.versionText = new ScreenText(this.versionTextScreenOffset, versionNumber); + this.versionText = new ScreenText(this.versionTextScreenOffset, WorldWind.VERSION); + // Colors and outline width are configured to match the logo appearance. this.versionText.attributes = new TextAttributes(null); this.versionText.attributes.color = new Color(0, 0, 0, 0.5); this.versionText.attributes.outlineColor = new Color(1, 1, 1, 0.5); this.versionText.attributes.outlineWidth = 3; this.versionText.attributes.scale = 1; - // TODO Compute version text offset with respect to the logo instead of the hardcoding it, - // taking into account possible scale changes of the version text. + // TODO Compute version text offset with respect to the logo instead of the hardcoding it. this.versionText.attributes.offset = new Offset(WorldWind.OFFSET_PIXELS, -117, WorldWind.OFFSET_INSET_PIXELS, -10); };