diff --git a/htdocs/css/openwebrx.css b/htdocs/css/openwebrx.css index 516facd..26941f0 100644 --- a/htdocs/css/openwebrx.css +++ b/htdocs/css/openwebrx.css @@ -870,6 +870,25 @@ img.openwebrx-mirror-img text-align: center; } +.aprs-symbol { + display: inline-block; + width: 15px; + height: 15px; + background-size: 240px 90px; +} + +.aprs-symboltable-normal { + background-image: url(../../aprs-symbols/aprs-symbols-24-0.png) +} + +.aprs-symboltable-alternate { + background-image: url(../../aprs-symbols/aprs-symbols-24-1.png) +} + +.aprs-symboltable-overlay { + background-image: url(../../aprs-symbols/aprs-symbols-24-2.png) +} + #openwebrx-panel-digimodes[data-mode="ft8"] #openwebrx-digimode-content-container, #openwebrx-panel-digimodes[data-mode="wspr"] #openwebrx-digimode-content-container, #openwebrx-panel-digimodes[data-mode="jt65"] #openwebrx-digimode-content-container, diff --git a/htdocs/openwebrx.js b/htdocs/openwebrx.js index 4c62590..ea1cbbb 100644 --- a/htdocs/openwebrx.js +++ b/htdocs/openwebrx.js @@ -1482,8 +1482,34 @@ function update_packet_panel(msg) { } var link = ''; + var classes = []; + var styles = {}; + var overlay = ''; + var stylesToString = function(s) { + return $.map(s, function(value, key){ return key + ':' + value + ';'}).join('') + } + if (msg.symbol) { + classes.push('aprs-symbol'); + classes.push('aprs-symboltable-' + (msg.symbol.table == '/' ? 'normal' : 'alternate')); + styles['background-position-x'] = -(msg.symbol.index % 16) * 15 + 'px'; + styles['background-position-y'] = -Math.floor(msg.symbol.index / 16) * 15 + 'px'; + if (msg.symbol.table != '/' && msg.symbol.table != '\\') { + s = {} + s['background-position-x'] = -(msg.symbol.tableindex % 16) * 15 + 'px'; + s['background-position-y'] = -Math.floor(msg.symbol.tableindex / 16) * 15 + 'px'; + overlay='
'; + } + } else if (msg.lat && msg.lon) { + classes.push('openwebrx-maps-pin'); + } + var attrs = [ + 'class="' + classes.join(' ') + '"', + 'style="' + stylesToString(styles) + '"', + ].join(' '); if (msg.lat && msg.lon) { - link = ''; + link = '' + overlay + ''; + } else { + link = '