mirror of
https://github.com/lospec/pixel-editor.git
synced 2023-08-10 21:12:51 +03:00
Fixed palette block css
Implemented colour adding and removing,must debug
This commit is contained in:
parent
8fb965ed5c
commit
88a8179d9d
@ -1468,13 +1468,13 @@ div#palette-block {
|
|||||||
|
|
||||||
div#palette-container {
|
div#palette-container {
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
background-color:black;
|
background-color: #232125;
|
||||||
position:absolute;
|
position:absolute;
|
||||||
scrollbar-color: #332f35 #232125;
|
scrollbar-color: #332f35 #232125;
|
||||||
scroll-behavior: smooth;
|
scroll-behavior: smooth;
|
||||||
left:300px;
|
left:300px;
|
||||||
width:300px;
|
width:300px;
|
||||||
height:280px;
|
height:320px;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
&::-webkit-scrollbar {
|
||||||
@ -1518,17 +1518,22 @@ ul#palette-list {
|
|||||||
|
|
||||||
div#pb-options {
|
div#pb-options {
|
||||||
position:relative;
|
position:relative;
|
||||||
left:300px;
|
left:280px;
|
||||||
height:100px;
|
height:30px;
|
||||||
width:300px;
|
width:300px;
|
||||||
top:280px;
|
top:300px;
|
||||||
|
|
||||||
button {
|
button {
|
||||||
|
border-radius:none;
|
||||||
position:relative;
|
position:relative;
|
||||||
|
float:left;
|
||||||
width:50%;
|
width:50%;
|
||||||
height:100%;
|
height:100%;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
font-size:16px;
|
||||||
|
background-color:$baseicon;
|
||||||
|
border:none;
|
||||||
}
|
}
|
||||||
|
|
||||||
button:hover {
|
button:hover {
|
||||||
|
@ -15,8 +15,10 @@ function showDialogue (dialogueName, trackEvent) {
|
|||||||
document.getElementById(dialogueName).style.display = 'block';
|
document.getElementById(dialogueName).style.display = 'block';
|
||||||
|
|
||||||
// If I'm opening the palette window, I initialize the colour picker
|
// If I'm opening the palette window, I initialize the colour picker
|
||||||
if (dialogueName == 'palette-block')
|
if (dialogueName == 'palette-block' && documentCreated) {
|
||||||
cpInit();
|
cpInit();
|
||||||
|
pbInit();
|
||||||
|
}
|
||||||
|
|
||||||
//track google event
|
//track google event
|
||||||
if (trackEvent)
|
if (trackEvent)
|
||||||
@ -32,6 +34,10 @@ function closeDialogue () {
|
|||||||
var popups = popUpContainer.children;
|
var popups = popUpContainer.children;
|
||||||
for (var i = 0; i < popups.length; i++) {
|
for (var i = 0; i < popups.length; i++) {
|
||||||
popups[i].style.display = 'none';
|
popups[i].style.display = 'none';
|
||||||
|
|
||||||
|
if (popups[i].id == "palette-block") {
|
||||||
|
pbAddToSimplePalette();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dialogueOpen = false;
|
dialogueOpen = false;
|
||||||
@ -49,6 +55,6 @@ popUpContainer.addEventListener('click', function (e) {
|
|||||||
var cancelButtons = popUpContainer.getElementsByClassName('close-button');
|
var cancelButtons = popUpContainer.getElementsByClassName('close-button');
|
||||||
for (var i = 0; i < cancelButtons.length; i++) {
|
for (var i = 0; i < cancelButtons.length; i++) {
|
||||||
cancelButtons[i].addEventListener('click', function () {
|
cancelButtons[i].addEventListener('click', function () {
|
||||||
closeDialogue();
|
closeDialogue();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ let rampMenu = document.getElementById("pb-ramp-options");
|
|||||||
let pbRampDialogue = document.getElementById("pb-ramp-dialogue");
|
let pbRampDialogue = document.getElementById("pb-ramp-dialogue");
|
||||||
|
|
||||||
let currentSquareSize = coloursList.children[0].clientWidth;
|
let currentSquareSize = coloursList.children[0].clientWidth;
|
||||||
let blockData = {blockWidth: 500, blockHeight: 200, squareSize: 50};
|
let blockData = {blockWidth: 300, blockHeight: 320, squareSize: 40};
|
||||||
let isRampSelecting = false;
|
let isRampSelecting = false;
|
||||||
let ramps = [];
|
let ramps = [];
|
||||||
let currentSelection = {startIndex:0, endIndex:0, startCoords:[], endCoords: [], name: "", colour: "", label: null};
|
let currentSelection = {startIndex:0, endIndex:0, startCoords:[], endCoords: [], name: "", colour: "", label: null};
|
||||||
@ -18,6 +18,24 @@ new Sortable(document.getElementById("palette-list"), {
|
|||||||
// Listening for the palette block resize
|
// Listening for the palette block resize
|
||||||
new ResizeObserver(updateSizeData).observe(coloursList.parentElement);
|
new ResizeObserver(updateSizeData).observe(coloursList.parentElement);
|
||||||
|
|
||||||
|
// Initializes the palette block
|
||||||
|
function pbInit() {
|
||||||
|
let simplePalette = document.getElementById("colors-menu");
|
||||||
|
|
||||||
|
currentSquareSize = coloursList.children[0].clientWidth;
|
||||||
|
coloursList = document.getElementById("palette-list");
|
||||||
|
|
||||||
|
// Remove all the colours
|
||||||
|
for (let i=0; i<coloursList.childElementCount; i++) {
|
||||||
|
coloursList.children[0].remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add all the colours in the simplepalette
|
||||||
|
for (let i=0; i<simplePalette.childElementCount; i++) {
|
||||||
|
addSingleColour(cssToHex(simplePalette.children[i].children[0].style.backgroundColor));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Listens for the mouse wheel, used to change the size of the squares in the palette list
|
/** Listens for the mouse wheel, used to change the size of the squares in the palette list
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -129,7 +147,7 @@ function updateRampSelection(mouseEvent) {
|
|||||||
|
|
||||||
let startIndex = currentSelection.startIndex;
|
let startIndex = currentSelection.startIndex;
|
||||||
let endIndex = currentSelection.endIndex;
|
let endIndex = currentSelection.endIndex;
|
||||||
|
|
||||||
if (currentSelection.startIndex > endIndex) {
|
if (currentSelection.startIndex > endIndex) {
|
||||||
let tmp = startIndex;
|
let tmp = startIndex;
|
||||||
startIndex = endIndex;
|
startIndex = endIndex;
|
||||||
@ -145,7 +163,7 @@ function updateRampSelection(mouseEvent) {
|
|||||||
for (let i=startIndex; i<=endIndex; i++) {
|
for (let i=startIndex; i<=endIndex; i++) {
|
||||||
let currentSquare = coloursList.children[i];
|
let currentSquare = coloursList.children[i];
|
||||||
let currentCoords = getColourCoordinates(i);
|
let currentCoords = getColourCoordinates(i);
|
||||||
let borderStyle = "4px solid white";
|
let borderStyle = "3px solid white";
|
||||||
let bordersToSet = [];
|
let bordersToSet = [];
|
||||||
|
|
||||||
// Deciding which borders to use to make the outline
|
// Deciding which borders to use to make the outline
|
||||||
@ -163,7 +181,6 @@ function updateRampSelection(mouseEvent) {
|
|||||||
bordersToSet.push("border-right");
|
bordersToSet.push("border-right");
|
||||||
}
|
}
|
||||||
if (bordersToSet != []) {
|
if (bordersToSet != []) {
|
||||||
console.log("qui");
|
|
||||||
currentSquare.style["box-sizing"] = "border-box";
|
currentSquare.style["box-sizing"] = "border-box";
|
||||||
|
|
||||||
for (let i=0; i<bordersToSet.length; i++) {
|
for (let i=0; i<bordersToSet.length; i++) {
|
||||||
@ -173,19 +190,17 @@ function updateRampSelection(mouseEvent) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Removes all the borders from all the squares. The borders are cleared only for the
|
/** Removes all the borders from all the squares. The borders are cleared only for the
|
||||||
* current selection, so every border that is not white is kept.
|
* current selection, so every border that is not white is kept.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function clearBorders() {
|
function clearBorders() {
|
||||||
for (let i=0; i<coloursList.childElementCount; i++) {
|
for (let i=0; i<coloursList.childElementCount; i++) {
|
||||||
// Resetting borders
|
coloursList.children[i].style["border-top"] = "none";
|
||||||
if (coloursList.children[i].style["border-top"].includes("white")) {
|
coloursList.children[i].style["border-left"] = "none";
|
||||||
coloursList.children[i].style["border-top"] = "none";
|
coloursList.children[i].style["border-right"] = "none";
|
||||||
coloursList.children[i].style["border-left"] = "none";
|
coloursList.children[i].style["border-bottom"] = "none";
|
||||||
coloursList.children[i].style["border-right"] = "none";
|
|
||||||
coloursList.children[i].style["border-bottom"] = "none";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -278,4 +293,18 @@ function cssToHex(rgb) {
|
|||||||
return ("0" + parseInt(x).toString(16)).slice(-2);
|
return ("0" + parseInt(x).toString(16)).slice(-2);
|
||||||
}
|
}
|
||||||
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
|
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function pbAddToSimplePalette() {
|
||||||
|
let simplePalette = document.getElementById("colors-menu");
|
||||||
|
|
||||||
|
// Removing all the colours
|
||||||
|
for (let i=0; i<simplePalette.childElementCount; i++) {
|
||||||
|
simplePalette.children[0].remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Adding the new ones
|
||||||
|
for (let i=0; i<coloursList.childElementCount; i++) {
|
||||||
|
addColor(cssToHex(coloursList.children[i].style.backgroundColor));
|
||||||
|
}
|
||||||
}
|
}
|
@ -414,25 +414,25 @@
|
|||||||
|
|
||||||
<div id = "cp-colour-picking-modes">
|
<div id = "cp-colour-picking-modes">
|
||||||
<button class="cp-selected-mode" onclick="changePickingMode(event,'mono')">Mono</button>
|
<button class="cp-selected-mode" onclick="changePickingMode(event,'mono')">Mono</button>
|
||||||
<button onclick="changePickingMode(event,'analog')">Anlgs</button>
|
<button onclick="changePickingMode(event,'analog')">Nlgs</button>
|
||||||
<button onclick="changePickingMode(event,'cmpt')">Cmpt</button>
|
<button onclick="changePickingMode(event,'cmpt')">Cmpt</button>
|
||||||
<button onclick="changePickingMode(event,'tri')">Tri</button>
|
<button onclick="changePickingMode(event,'tri')">Tri</button>
|
||||||
<button onclick="changePickingMode(event,'scmpt')">Scmpt</button>
|
<button onclick="changePickingMode(event,'scmpt')">Scm</button>
|
||||||
<button onclick="changePickingMode(event,'tetra')">Tetra</button>
|
<button onclick="changePickingMode(event,'tetra')">Tetra</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id = "palette-container" onresize="updateSizeData()">
|
<div id = "palette-container">
|
||||||
<ul id = "palette-list">
|
<ul id = "palette-list">
|
||||||
<li style = "background-color:rgb(255,0,0);width:50px;height:50px;" onmousedown="startRampSelection(event)"
|
<li style = "background-color:rgb(255,0,0);width:40px;height:40px;" onmousedown="startRampSelection(event)"
|
||||||
onmousemove="updateRampSelection(event)" onmouseup="endRampSelection(event)"></li>
|
onmousemove="updateRampSelection(event)" onmouseup="endRampSelection(event)"></li>
|
||||||
<li style = "background-color:rgb(0,255,0);width:50px;height:50px;"onmousedown="startRampSelection(event)"
|
<li style = "background-color:rgb(0,255,0);width:40px;height:40px;"onmousedown="startRampSelection(event)"
|
||||||
onmousemove="updateRampSelection(event)" onmouseup="endRampSelection(event)"></li>
|
onmousemove="updateRampSelection(event)" onmouseup="endRampSelection(event)"></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="pb-options" class="update">
|
<div id="pb-options">
|
||||||
<button title="Add colours to palette" onclick="pbAddColours()">Add colours</button>
|
<button title="Add colours to palette" onclick="pbAddColours()">Add colours</button>
|
||||||
<button title="Remove colours from palette" onclick="pbRemoveColours()">Remove colours</button>
|
<button title="Remove colours from palette" onclick="pbRemoveColours()">Remove colours</button>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user