Add pen pressure to config
This commit is contained in:
@@ -68,9 +68,17 @@ class Config {
|
||||
#if (krom_android || krom_ios)
|
||||
raw.window_scale = 2.0;
|
||||
#end
|
||||
|
||||
#if arm_painter
|
||||
raw.undo_steps = 4;
|
||||
raw.bookmarks = [];
|
||||
raw.plugins = [];
|
||||
raw.keymap = "default.json";
|
||||
raw.undo_steps = 4;
|
||||
raw.pressure_radius = true;
|
||||
raw.pressure_hardness = true;
|
||||
raw.pressure_angle = false;
|
||||
raw.pressure_opacity = false;
|
||||
raw.pressure_sensitivity = 1.0;
|
||||
#end
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -24,8 +24,13 @@ typedef TConfig = {
|
||||
@:optional var rp_gi: Null<Bool>;
|
||||
// Application
|
||||
@:optional var version: String; // ArmorPaint version
|
||||
@:optional var plugins: Array<String>; // List of enabled plugins
|
||||
@:optional var bookmarks: Array<String>; // Bookmarked folders in browser
|
||||
@:optional var undo_steps: Null<Int>; // Number of undo steps to preserve
|
||||
@:optional var plugins: Array<String>; // List of enabled plugins
|
||||
@:optional var keymap: String; // Link to keymap file
|
||||
@:optional var undo_steps: Null<Int>; // Number of undo steps to preserve
|
||||
@:optional var pressure_radius: Null<Bool>; // Pen pressure controls
|
||||
@:optional var pressure_hardness: Null<Bool>;
|
||||
@:optional var pressure_angle: Null<Bool>;
|
||||
@:optional var pressure_opacity: Null<Bool>;
|
||||
@:optional var pressure_sensitivity: Null<Float>;
|
||||
}
|
||||
|
||||
@@ -43,12 +43,6 @@ class Context {
|
||||
public static var layerPreviewDirty = true;
|
||||
public static var layersPreviewDirty = false;
|
||||
|
||||
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;
|
||||
|
||||
public static var colorIdPicked = false;
|
||||
public static var splitView = false;
|
||||
public static var viewIndex = -1;
|
||||
|
||||
@@ -29,8 +29,8 @@ class Uniforms {
|
||||
if (link == "_brushRadius") {
|
||||
var val = (Context.brushRadius * Context.brushNodesRadius) / 15.0;
|
||||
var pen = Input.getPen();
|
||||
if (Context.penPressureRadius && pen.down()) {
|
||||
val *= pen.pressure * Context.penPressureSensitivity;
|
||||
if (Config.raw.pressure_radius && pen.down()) {
|
||||
val *= pen.pressure * Config.raw.pressure_sensitivity;
|
||||
}
|
||||
var decal = Context.tool == ToolDecal || Context.tool == ToolText;
|
||||
if (Context.brush3d && !decal) {
|
||||
@@ -45,8 +45,8 @@ class Uniforms {
|
||||
if (link == "_brushOpacity") {
|
||||
var val = Context.brushOpacity * Context.brushNodesOpacity;
|
||||
var pen = Input.getPen();
|
||||
if (Context.penPressureOpacity && pen.down()) {
|
||||
val *= pen.pressure * Context.penPressureSensitivity;
|
||||
if (Config.raw.pressure_opacity && pen.down()) {
|
||||
val *= pen.pressure * Config.raw.pressure_sensitivity;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
@@ -54,8 +54,8 @@ class Uniforms {
|
||||
if (Context.tool != ToolBrush && Context.tool != ToolEraser) return 1.0;
|
||||
var val = Context.brushHardness * Context.brushNodesHardness;
|
||||
var pen = Input.getPen();
|
||||
if (Context.penPressureHardness && pen.down()) {
|
||||
val *= pen.pressure * Context.penPressureSensitivity;
|
||||
if (Config.raw.pressure_hardness && pen.down()) {
|
||||
val *= pen.pressure * Config.raw.pressure_sensitivity;
|
||||
}
|
||||
if (Context.brush3d && !Context.paint2d) {
|
||||
val *= val;
|
||||
@@ -141,8 +141,8 @@ class Uniforms {
|
||||
var angle = Context.layer.material_mask != null ? Context.layer.angle : brushAngle;
|
||||
angle *= (Math.PI / 180);
|
||||
var pen = Input.getPen();
|
||||
if (Context.penPressureAngle && pen.down()) {
|
||||
angle *= pen.pressure * Context.penPressureSensitivity;
|
||||
if (Config.raw.pressure_angle && pen.down()) {
|
||||
angle *= pen.pressure * Config.raw.pressure_sensitivity;
|
||||
}
|
||||
vec.set(Math.cos(angle), Math.sin(angle), 0);
|
||||
return vec;
|
||||
|
||||
@@ -155,11 +155,11 @@ class BoxPreferences {
|
||||
}
|
||||
if (ui.tab(htab, tr("Pen"), true)) {
|
||||
ui.text(tr("Pressure controls"));
|
||||
Context.penPressureRadius = ui.check(Id.handle({selected: Context.penPressureRadius}), tr("Brush Radius"));
|
||||
Context.penPressureHardness = ui.check(Id.handle({selected: Context.penPressureHardness}), tr("Brush Hardness"));
|
||||
Context.penPressureOpacity = ui.check(Id.handle({selected: Context.penPressureOpacity}), tr("Brush Opacity"));
|
||||
Context.penPressureAngle = ui.check(Id.handle({selected: Context.penPressureAngle}), tr("Brush Angle"));
|
||||
Context.penPressureSensitivity = ui.slider(Id.handle({value: Context.penPressureSensitivity}), tr("Sensitivity"), 0.0, 2.0, true);
|
||||
Config.raw.pressure_radius = ui.check(Id.handle({selected: Config.raw.pressure_radius}), tr("Brush Radius"));
|
||||
Config.raw.pressure_hardness = ui.check(Id.handle({selected: Config.raw.pressure_hardness}), tr("Brush Hardness"));
|
||||
Config.raw.pressure_opacity = ui.check(Id.handle({selected: Config.raw.pressure_opacity}), tr("Brush Opacity"));
|
||||
Config.raw.pressure_angle = ui.check(Id.handle({selected: Config.raw.pressure_angle}), tr("Brush Angle"));
|
||||
Config.raw.pressure_sensitivity = ui.slider(Id.handle({value: Config.raw.pressure_sensitivity}), tr("Sensitivity"), 0.0, 2.0, true);
|
||||
}
|
||||
|
||||
Context.hssgi = Id.handle({selected: Config.raw.rp_ssgi});
|
||||
|
||||
Reference in New Issue
Block a user