Pen pressure sensitivity option
This commit is contained in:
@@ -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") {
|
||||
|
||||
@@ -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});
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user