hide cursor on canvas, add mouse focus event, brush preview solid when small
This commit is contained in:
@@ -16,6 +16,8 @@ void main()
|
||||
|
||||
uniform sampler2D tex;
|
||||
uniform mediump vec4 col;
|
||||
uniform mediump float alpha;
|
||||
uniform bool draw_outline;
|
||||
|
||||
in mediump vec2 uv;
|
||||
out mediump vec4 frag;
|
||||
@@ -23,16 +25,23 @@ out mediump vec4 frag;
|
||||
void main()
|
||||
{
|
||||
mediump float stroke = 1.0 - texture(tex, uv).r;
|
||||
int zero_count = 0;
|
||||
if (textureOffset(tex, uv, ivec2(-1, -1)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2(-1, 0)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2(-1, +1)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2( 0, -1)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2( 0, 0)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2( 0, +1)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2(+1, -1)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2(+1, 0)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2(+1, +1)).r > 0.99) zero_count++;
|
||||
mediump float edge = (zero_count > 1 && zero_count < 9) ? 0.75 : 0.0;
|
||||
frag = vec4(col.rgb, edge * (1.0 - float(zero_count) / 9.f));
|
||||
if (draw_outline)
|
||||
{
|
||||
int zero_count = 0;
|
||||
if (textureOffset(tex, uv, ivec2(-1, -1)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2(-1, 0)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2(-1, +1)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2( 0, -1)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2( 0, 0)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2( 0, +1)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2(+1, -1)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2(+1, 0)).r > 0.99) zero_count++;
|
||||
if (textureOffset(tex, uv, ivec2(+1, +1)).r > 0.99) zero_count++;
|
||||
mediump float edge = (zero_count > 1 && zero_count < 9) ? 0.75 : 0.0;
|
||||
frag = vec4(col.rgb, edge * (1.0 - float(zero_count) / 9.f));
|
||||
}
|
||||
else
|
||||
{
|
||||
frag = vec4(col.rgb, stroke * alpha);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user