current weather scroll in html
This commit is contained in:
parent
6ad9b86abc
commit
037499dfb1
|
@ -1,4 +1,4 @@
|
||||||
/* globals draw, navigation */
|
/* globals draw, navigation, utils */
|
||||||
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
const currentWeatherScroll = (() => {
|
const currentWeatherScroll = (() => {
|
||||||
|
@ -14,10 +14,8 @@ const currentWeatherScroll = (() => {
|
||||||
// start drawing conditions
|
// start drawing conditions
|
||||||
// reset starts from the first item in the text scroll list
|
// reset starts from the first item in the text scroll list
|
||||||
const start = (_context) => {
|
const start = (_context) => {
|
||||||
// see if there is a context available
|
|
||||||
if (!_context) return;
|
|
||||||
// store see if the context is new
|
// store see if the context is new
|
||||||
if (_context !== context) {
|
if (context && _context !== context) {
|
||||||
// clean the outgoing context
|
// clean the outgoing context
|
||||||
cleanLastContext();
|
cleanLastContext();
|
||||||
// store the new blank context
|
// store the new blank context
|
||||||
|
@ -42,6 +40,7 @@ const currentWeatherScroll = (() => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const cleanLastContext = () => {
|
const cleanLastContext = () => {
|
||||||
|
if (!context) return;
|
||||||
if (blankDrawArea) context.putImageData(blankDrawArea, 0, 405);
|
if (blankDrawArea) context.putImageData(blankDrawArea, 0, 405);
|
||||||
blankDrawArea = undefined;
|
blankDrawArea = undefined;
|
||||||
context = undefined;
|
context = undefined;
|
||||||
|
@ -62,7 +61,7 @@ const currentWeatherScroll = (() => {
|
||||||
if (!data) return;
|
if (!data) return;
|
||||||
|
|
||||||
// clean up any old text
|
// clean up any old text
|
||||||
context.putImageData(blankDrawArea, 0, 405);
|
if (context) context.putImageData(blankDrawArea, 0, 405);
|
||||||
|
|
||||||
drawCondition(screens[screenIndex](data));
|
drawCondition(screens[screenIndex](data));
|
||||||
};
|
};
|
||||||
|
@ -70,7 +69,7 @@ const currentWeatherScroll = (() => {
|
||||||
// the "screens" are stored in an array for easy addition and removal
|
// the "screens" are stored in an array for easy addition and removal
|
||||||
const screens = [
|
const screens = [
|
||||||
// station name
|
// station name
|
||||||
(data) => `Conditions at ${data.station.properties.name.substr(0, 20)}`,
|
(data) => `Conditions at ${utils.string.locationCleanup(data.station.properties.name).substr(0, 20)}`,
|
||||||
|
|
||||||
// temperature
|
// temperature
|
||||||
(data) => {
|
(data) => {
|
||||||
|
@ -109,7 +108,14 @@ const currentWeatherScroll = (() => {
|
||||||
|
|
||||||
// internal draw function with preset parameters
|
// internal draw function with preset parameters
|
||||||
const drawCondition = (text) => {
|
const drawCondition = (text) => {
|
||||||
draw.text(context, 'Star4000', '24pt', '#ffffff', 70, 430, text, 2);
|
if (context) {
|
||||||
|
draw.text(context, 'Star4000', '24pt', '#ffffff', 70, 430, text, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
// update all html scroll elements
|
||||||
|
utils.elem.forEach('.weather-display .scroll .fixed', (elem) => {
|
||||||
|
elem.innerHTML = text;
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// return the api
|
// return the api
|
||||||
|
|
|
@ -169,7 +169,6 @@ class WeatherDisplay {
|
||||||
// if (_ScrollText !== '') OkToDrawCustomScrollText = true;
|
// if (_ScrollText !== '') OkToDrawCustomScrollText = true;
|
||||||
if (this.elemId === 'almanac') OkToDrawNoaaImage = false;
|
if (this.elemId === 'almanac') OkToDrawNoaaImage = false;
|
||||||
if (this.elemId === 'travelForecast') OkToDrawNoaaImage = false;
|
if (this.elemId === 'travelForecast') OkToDrawNoaaImage = false;
|
||||||
if (this.elemId === 'hourly') OkToDrawNoaaImage = false;
|
|
||||||
if (this.elemId === 'regionalForecast') OkToDrawNoaaImage = false;
|
if (this.elemId === 'regionalForecast') OkToDrawNoaaImage = false;
|
||||||
if (this.elemId === 'progress') {
|
if (this.elemId === 'progress') {
|
||||||
OkToDrawCurrentConditions = false;
|
OkToDrawCurrentConditions = false;
|
||||||
|
|
|
@ -89,11 +89,20 @@
|
||||||
width: calc(100% - 128px);
|
width: calc(100% - 128px);
|
||||||
}
|
}
|
||||||
.weather-display .scroll {
|
.weather-display .scroll {
|
||||||
|
/* eventually, when chrome supports paint-order for html elements */
|
||||||
|
/* -webkit-text-stroke: 2px black; */
|
||||||
|
/* paint-order: stroke fill; */
|
||||||
|
text-shadow: 3px 3px 0 black, -1.5px -1.5px 0 black, 0 -1.5px 0 black, 1.5px -1.5px 0 black, 1.5px 0 0 black, 1.5px 1.5px 0 black, 0 1.5px 0 black, -1.5px 1.5px 0 black, -1.5px 0 0 black;
|
||||||
width: 640px;
|
width: 640px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
.weather-display .scroll .fixed {
|
||||||
|
font-family: "Star4000";
|
||||||
|
font-size: 24pt;
|
||||||
|
margin-left: 55px;
|
||||||
|
}
|
||||||
|
|
||||||
.weather-display .main.hourly.main {
|
.weather-display .main.hourly.main {
|
||||||
overflow-y: hidden;
|
overflow-y: hidden;
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"sources":["scss/_weatherdisplay.scss","compiled.css","scss/_colors.scss","scss/_utils.scss","scss/_hourly.scss","scss/_current-weather.scss","scss/_local-forecast.scss","scss/_latest-observations.scss"],"names":[],"mappings":"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","file":"compiled.css"}
|
{"version":3,"sources":["scss/_weatherdisplay.scss","compiled.css","scss/_colors.scss","scss/_utils.scss","scss/_hourly.scss","scss/_current-weather.scss","scss/_local-forecast.scss","scss/_latest-observations.scss"],"names":[],"mappings":"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","file":"compiled.css"}
|
|
@ -107,9 +107,16 @@
|
||||||
|
|
||||||
|
|
||||||
.scroll {
|
.scroll {
|
||||||
|
@include u.text-shadow(3px, 1.5px);
|
||||||
width: 640px;
|
width: 640px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
|
||||||
|
.fixed {
|
||||||
|
font-family: 'Star4000';
|
||||||
|
font-size: 24pt;
|
||||||
|
margin-left: 55px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -93,7 +93,7 @@
|
||||||
<div id="hourly-html" class="weather-display">
|
<div id="hourly-html" class="weather-display">
|
||||||
<%- include('partials/hourly.ejs') %>
|
<%- include('partials/hourly.ejs') %>
|
||||||
</div>
|
</div>
|
||||||
<div id="current-weather-html" class="weather-display">
|
<div id="current-weather-html" class="weather-display show">
|
||||||
<%- include('partials/current-weather.ejs') %>
|
<%- include('partials/current-weather.ejs') %>
|
||||||
</div>
|
</div>
|
||||||
<div id="local-forecast-html" class="weather-display">
|
<div id="local-forecast-html" class="weather-display">
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
<div class="scroll">
|
<div class="scroll">
|
||||||
Scroll
|
<div class="scrolling template"></div>
|
||||||
|
<div class="fixed"></div>
|
||||||
</div>
|
</div>
|
Loading…
Reference in a new issue