0.2.7: Added welcome screen

This commit is contained in:
MatCat 2021-02-21 23:29:12 -08:00
parent 779a54269f
commit ab4450e1f7
5 changed files with 109 additions and 2 deletions

View File

@ -12,6 +12,9 @@ To be decided, but at this moment this code is open source and free to use for n
## Changelog
### 0.2.7
* Added welcome screen window
### 0.2.6
* Added background grid
* Logic elements now have proper logic shapes

View File

@ -283,6 +283,56 @@ textarea {
font-size: 2em;
}
#darkout-overlay {
position: absolute;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
background-color: rgba(0,0,0,0.5);
}
#WelcomeWindow {
padding: 0px;
position: absolute;
top: 100px;
left: 100px;
right: 100px;
background-color: rgba(120,120,120,1);
text-align: center;
z-index: 999;
border: 3px solid black;
font-size: 1.5em;
}
#WelcomeWindow h2 {
background-color: rgba(40,40,40,1);
margin-top: 0px;
padding: 10px;
}
#WelcomeWindow p {
padding: 10px;
text-align: justify;
}
#WelcomeWindow a:link {
color: #0000ff;
text-decoration: none;
}
#WelcomeWindow a:visited {
color: #00cccc;
text-decoration: none;
}
#WelcomeWindow a:hover, #WelcomeWindow a:active {
color: #00ffff;
text-decoration: underline;
}
#WelcomeWindow label {
font-size: 0.5em;
}
#PropertiesBox {
display: none;
position: absolute;

View File

@ -23,7 +23,12 @@
<body>
<!-- Add your site or application content here -->
<div id="WelcomeWindow">
<h2>MatCat BrowserLogic Engine</h2>
<p>Welcome to logic.parts, a free to use logic simulator for anyone to use. This is opensource software, you can find the project at <a href="https://www.mygit.space/MatCat.OpenSource/BrowserLogic">https://www.mygit.space/MatCat.OpenSource/BrowserLogic</a>. This is an early development project, so expect bugs and some things to not work :) If you would like to contribute please feel free to find me on IRC on Freenode in channel #LogicParts.</p>
<input type="button" id="btn_CloseWelcome" value="Simulate Some Logic!"><br />
<input type="checkbox" id="chk_dontDisplayWelcome" name="chk_dontDisplayWelcome" value="1">
<label for="chk_dontDisplayWelcome">Don't show welcome window again</label></div>
<script src="js/vendor/modernizr-3.11.2.min.js"></script>
<div id="top-bar">
MatCat BrowserLogic <span id="version"> </span>
@ -52,6 +57,7 @@
Content
</div>
</div>
<div id="darkout-overlay"></div>
<script src="js/logicengine.js"></script>
<script src="js/main.js"></script>

View File

@ -1,6 +1,32 @@
/*
First a few needed global functions
*/
function setCookie(cname, cvalue, exdays) {
let d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
let expires = "expires="+ d.toUTCString();
document.cookie = cname + '="' + cvalue + '";' + expires;
localStorage.setItem(cname,cvalue);
}
function getCookie(cname) {
let name = cname + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return localStorage.getItem(cname);
return "";
}
function getMousePos(canvas, evt) {
let rect = canvas.getBoundingClientRect();
return {

View File

@ -2,7 +2,7 @@
MatCat BrowserLogic Simulator
*/
let Version = "0.2.6";
let Version = "0.2.7";
let spanVersion = document.getElementById("version");
spanVersion.innerText = Version;
// get the canvas and get the engine object going
@ -38,6 +38,18 @@ lCanvasElement.addEventListener('mousemove', function(evt) {
logicEngine.StartEngine();
// Setup interface buttons
let btn_CloseWelcome = document.getElementById("btn_CloseWelcome");
btn_CloseWelcome.addEventListener('click', function(evt) {
let WelcomeScreen = document.getElementById("WelcomeWindow");
let DarkOverlay = document.getElementById("darkout-overlay");
WelcomeScreen.style.display = "none";
DarkOverlay.style.display = "none";
let chk_dontDisplayWelcome = document.getElementById("chk_dontDisplayWelcome");
if (chk_dontDisplayWelcome.checked) {
setCookie("hidewelcomescreen","true",3600);
}
}, false);
let btn_Delete = document.getElementById("btn_Delete");
btn_Delete.addEventListener('click', function(evt) {
logicEngine.Key_Press({key: "Delete"});
@ -115,3 +127,13 @@ btn_AddCLK.addEventListener('click', function(evt) {
logicEngine.Scheduler.addTask(newCLK.Task);
}, false);
function CheckForWelcomeCookie() {
if (getCookie("hidewelcomescreen")) {
let WelcomeScreen = document.getElementById("WelcomeWindow");
let DarkOverlay = document.getElementById("darkout-overlay");
WelcomeScreen.style.display = "none";
DarkOverlay.style.display = "none";
}
}
CheckForWelcomeCookie();