mirror of
https://github.com/piskelapp/piskel.git
synced 2023-08-10 21:12:52 +03:00
Adding support for transparent color
This commit is contained in:
parent
700c6ab144
commit
4622cf67a7
@ -159,13 +159,44 @@ ul, li {
|
|||||||
* Tool section:
|
* Tool section:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
.color-tool {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.palette .palette-color {
|
.palette .palette-color {
|
||||||
|
cursor: pointer;
|
||||||
display : inline-block;
|
display : inline-block;
|
||||||
height : 20px;
|
height : 20px;
|
||||||
width : 20px;
|
width : 20px;
|
||||||
margin : 5px;
|
margin : 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.palette .palette-color.transparent-color {
|
||||||
|
background-color: white;
|
||||||
|
height : 16px;
|
||||||
|
width : 16px;
|
||||||
|
border: 2px solid #000;
|
||||||
|
|
||||||
|
background-image: -webkit-gradient(
|
||||||
|
linear,
|
||||||
|
left top,
|
||||||
|
right bottom,
|
||||||
|
color-stop(0, #fff),
|
||||||
|
color-stop(0.45, #fff),
|
||||||
|
color-stop(0.5, #ff0000),
|
||||||
|
color-stop(0.55, #fff),
|
||||||
|
color-stop(1, #fff)
|
||||||
|
);
|
||||||
|
background-image: -moz-linear-gradient(
|
||||||
|
left top,
|
||||||
|
#fff 0%,
|
||||||
|
#fff 45%,
|
||||||
|
#f00 50%,
|
||||||
|
#fff 55%,
|
||||||
|
#fff 100%
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
.tools-container {
|
.tools-container {
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
@ -39,9 +39,13 @@
|
|||||||
<div class="tool-icon tool-paint-bucket" data-tool-id="tool-paint-bucket" title="Bucket tool"></div>
|
<div class="tool-icon tool-paint-bucket" data-tool-id="tool-paint-bucket" title="Bucket tool"></div>
|
||||||
<div class="tool-icon tool-stroke" data-tool-id="tool-stroke" title="Stroke tool"></div>
|
<div class="tool-icon tool-stroke" data-tool-id="tool-stroke" title="Stroke tool"></div>
|
||||||
|
|
||||||
|
<div class="color-tool">
|
||||||
<input id="color-picker" class="color {hash:true}" type="text" value=""/>
|
<input id="color-picker" class="color {hash:true}" type="text" value=""/>
|
||||||
|
|
||||||
<ul id="palette" class="palette" onclick="piskel.onPaletteClick(event)"></ul>
|
<ul id="palette" class="palette" onclick="piskel.onPaletteClick(event)">
|
||||||
|
<span class="palette-color transparent-color" data-color="TRANSPARENT" title="Transparent"></span>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Animation preview: -->
|
<!-- Animation preview: -->
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
var Constants = {
|
var Constants = {
|
||||||
TRANSPARENT_COLOR : "tc"
|
TRANSPARENT_COLOR : "TRANSPARENT"
|
||||||
};
|
};
|
@ -54,6 +54,16 @@
|
|||||||
|
|
||||||
// Drawing current stroke:
|
// Drawing current stroke:
|
||||||
for(var i = 0; i< strokePoints.length; i++) {
|
for(var i = 0; i< strokePoints.length; i++) {
|
||||||
|
|
||||||
|
if(color == Constants.TRANSPARENT_COLOR) {
|
||||||
|
// When mousemoving the stroke tool, we draw in the canvas overlay above the drawing canvas.
|
||||||
|
// If the stroke color is transparent, we won't be
|
||||||
|
// able to see it during the movement.
|
||||||
|
// We set it to a semi-opaque white during the tool mousemove allowing to see colors below the stroke.
|
||||||
|
// When the stroke tool will be released, It will draw a transparent stroke,
|
||||||
|
// eg deleting the equivalent of a stroke.
|
||||||
|
color = "rgba(255, 255, 255, 0.6)";
|
||||||
|
}
|
||||||
this.drawPixelInCanvas(strokePoints[i].col, strokePoints[i].row, this.canvasOverlay, color, dpi);
|
this.drawPixelInCanvas(strokePoints[i].col, strokePoints[i].row, this.canvasOverlay, color, dpi);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
16
js/piskel.js
16
js/piskel.js
@ -467,9 +467,21 @@ $.namespace("pskl");
|
|||||||
|
|
||||||
onPaletteClick : function (event) {
|
onPaletteClick : function (event) {
|
||||||
var color = $(event.target).data("color");
|
var color = $(event.target).data("color");
|
||||||
if (null !== color) {
|
|
||||||
//debugger;
|
|
||||||
var colorPicker = $('#color-picker');
|
var colorPicker = $('#color-picker');
|
||||||
|
if (color == "TRANSPARENT") {
|
||||||
|
// We can set the current palette color to transparent.
|
||||||
|
// You can then combine this transparent color with an advanced
|
||||||
|
// tool for customized deletions.
|
||||||
|
// Eg: bucket + transparent: Delete a colored area
|
||||||
|
// Stroke + transparent: hollow out the equivalent of a stroke
|
||||||
|
penColor = Constants.TRANSPARENT_COLOR;
|
||||||
|
|
||||||
|
// The colorpicker can't be set to a transparent state.
|
||||||
|
// We set its background to white and insert the
|
||||||
|
// string "TRANSPARENT" to mimic this state:
|
||||||
|
colorPicker[0].color.fromString("#fff");
|
||||||
|
colorPicker.val("TRANSPARENT");
|
||||||
|
} else if (null !== color) {
|
||||||
colorPicker[0].color.fromString(color);
|
colorPicker[0].color.fromString(color);
|
||||||
penColor = color;
|
penColor = color;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user