Pen pressure sensitivity option

This commit is contained in:
luboslenco
2020-03-25 18:25:31 +01:00
parent 6b2b941859
commit 01e56beea7
3 changed files with 14 additions and 4 deletions
+12 -4
View File
@@ -27,7 +27,9 @@ class Uniforms {
if (link == "_brushRadius") {
var val = (UISidebar.inst.brushRadius * UISidebar.inst.brushNodesRadius) / 15.0;
var pen = Input.getPen();
if (UISidebar.penPressureRadius && pen.down()) val *= pen.pressure;
if (UISidebar.penPressureRadius && pen.down()) {
val *= pen.pressure * UISidebar.penPressureSensitivity;
}
var decal = Context.tool == ToolDecal || Context.tool == ToolText;
if (UISidebar.inst.brush3d && !decal) {
val *= UISidebar.inst.paint2d ? 0.6 : 2;
@@ -41,15 +43,21 @@ class Uniforms {
if (link == "_brushOpacity") {
var val = UISidebar.inst.brushOpacity * UISidebar.inst.brushNodesOpacity;
var pen = Input.getPen();
if (UISidebar.penPressureOpacity && pen.down()) val *= pen.pressure;
if (UISidebar.penPressureOpacity && pen.down()) {
val *= pen.pressure * UISidebar.penPressureSensitivity;
}
return val;
}
if (link == "_brushHardness") {
if (Context.tool != ToolBrush && Context.tool != ToolEraser) return 1.0;
var val = UISidebar.inst.brushHardness * UISidebar.inst.brushNodesHardness;
var pen = Input.getPen();
if (UISidebar.penPressureHardness && pen.down()) val *= pen.pressure;
if (UISidebar.inst.brush3d && !UISidebar.inst.paint2d) val *= val;
if (UISidebar.penPressureHardness && pen.down()) {
val *= pen.pressure * UISidebar.penPressureSensitivity;
}
if (UISidebar.inst.brush3d && !UISidebar.inst.paint2d) {
val *= val;
}
return val;
}
if (link == "_brushScale") {
+1
View File
@@ -157,6 +157,7 @@ class BoxPreferences {
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.penPressureSensitivity = ui.slider(Id.handle({value: UISidebar.penPressureSensitivity}), tr("Sensitivity"), 0.0, 2.0, true);
}
UISidebar.inst.hssgi = Id.handle({selected: Config.raw.rp_ssgi});
+1
View File
@@ -37,6 +37,7 @@ class UISidebar {
public static var penPressureRadius = true;
public static var penPressureHardness = true;
public static var penPressureOpacity = false;
public static var penPressureSensitivity = 1.0;
public var windowW = 280; // Panel width
public var tabx = 0;