Add pressure control for brush angle

This commit is contained in:
luboslenco
2020-03-25 18:37:36 +01:00
parent 01e56beea7
commit dae13a8e9a
3 changed files with 7 additions and 0 deletions
+4
View File
@@ -139,6 +139,10 @@ class Uniforms {
var brushAngle = UISidebar.inst.brushAngle + UISidebar.inst.brushNodesAngle;
var angle = Context.layer.material_mask != null ? Context.layer.angle : brushAngle;
angle *= (Math.PI / 180);
var pen = Input.getPen();
if (UISidebar.penPressureAngle && pen.down()) {
angle *= pen.pressure * UISidebar.penPressureSensitivity;
}
vec2.set(Math.cos(angle), Math.sin(angle), 0);
return vec2;
}
+2
View File
@@ -154,9 +154,11 @@ class BoxPreferences {
ui.enabled = true;
}
if (ui.tab(htab, tr("Pen"), true)) {
ui.text(tr("Pressure controls"));
UISidebar.penPressureRadius = ui.check(Id.handle({selected: UISidebar.penPressureRadius}), tr("Brush Radius"));
UISidebar.penPressureHardness = ui.check(Id.handle({selected: UISidebar.penPressureHardness}), tr("Brush Hardness"));
UISidebar.penPressureOpacity = ui.check(Id.handle({selected: UISidebar.penPressureOpacity}), tr("Brush Opacity"));
UISidebar.penPressureAngle = ui.check(Id.handle({selected: UISidebar.penPressureAngle}), tr("Brush Angle"));
UISidebar.penPressureSensitivity = ui.slider(Id.handle({value: UISidebar.penPressureSensitivity}), tr("Sensitivity"), 0.0, 2.0, true);
}
+1
View File
@@ -36,6 +36,7 @@ class UISidebar {
public static var penPressureRadius = true;
public static var penPressureHardness = true;
public static var penPressureAngle = false;
public static var penPressureOpacity = false;
public static var penPressureSensitivity = 1.0;