abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2
diff options
context:
space:
mode:
authorJules Aguillon2025-03-22 12:25:59 +0100
committerJules Aguillon2025-03-22 12:25:59 +0100
commit6717613b5e308243b2ba263105ca18cfd72a7bd6 (patch)
treea9fcc2e5a57fba7970a488bd00b19271da1f392b /srcs/juloo.keyboard2
parent35219a458afd8426061b6b451687f7b5bd653122 (diff)
downloadunexpected-keyboard-6717613b5e308243b2ba263105ca18cfd72a7bd6.tar.gz
unexpected-keyboard-6717613b5e308243b2ba263105ca18cfd72a7bd6.zip
Fix label brightness not being applied
This is due to Paint.setColor overriding any alpha value set with Paint.setAlpha. Bug was added in 653c598.
Diffstat (limited to 'srcs/juloo.keyboard2')
-rw-r--r--srcs/juloo.keyboard2/Keyboard2View.java6
-rw-r--r--srcs/juloo.keyboard2/Theme.java9
2 files changed, 8 insertions, 7 deletions
diff --git a/srcs/juloo.keyboard2/Keyboard2View.java b/srcs/juloo.keyboard2/Keyboard2View.java
index ab3e36b..0e1b258 100644
--- a/srcs/juloo.keyboard2/Keyboard2View.java
+++ b/srcs/juloo.keyboard2/Keyboard2View.java
@@ -441,8 +441,7 @@ public class Keyboard2View extends View
if (kv == null)
return;
float textSize = scaleTextSize(kv, _config.labelTextSize, keyH);
- Paint p = tc.label_paint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), textSize);
- p.setColor(labelColor(kv, isKeyDown, false));
+ Paint p = tc.label_paint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), labelColor(kv, isKeyDown, false), textSize);
canvas.drawText(kv.getString(), x, (keyH - p.ascent() - p.descent()) / 2f + y, p);
}
@@ -456,8 +455,7 @@ public class Keyboard2View extends View
if (kv == null)
return;
float textSize = scaleTextSize(kv, _config.sublabelTextSize, keyH);
- Paint p = tc.sublabel_paint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), textSize, a);
- p.setColor(labelColor(kv, isKeyDown, true));
+ Paint p = tc.sublabel_paint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), labelColor(kv, isKeyDown, true), textSize, a);
float subPadding = _config.keyPadding;
if (v == Vertical.CENTER)
y += (keyH - p.ascent() - p.descent()) / 2f;
diff --git a/srcs/juloo.keyboard2/Theme.java b/srcs/juloo.keyboard2/Theme.java
index e896af5..c5f3e20 100644
--- a/srcs/juloo.keyboard2/Theme.java
+++ b/srcs/juloo.keyboard2/Theme.java
@@ -126,6 +126,7 @@ public class Theme
final Paint _special_label_paint;
final Paint _sublabel_paint;
final Paint _special_sublabel_paint;
+ final int _label_alpha_bits;
public Key(Theme theme, Config config, float keyWidth, boolean activated)
{
@@ -149,18 +150,21 @@ public class Theme
_special_label_paint = init_label_paint(config, _key_font);
_sublabel_paint = init_label_paint(config, null);
_special_sublabel_paint = init_label_paint(config, _key_font);
+ _label_alpha_bits = (config.labelBrightness & 0xFF) << 24;
}
- public Paint label_paint(boolean special_font, float text_size)
+ public Paint label_paint(boolean special_font, int color, float text_size)
{
Paint p = special_font ? _special_label_paint : _label_paint;
+ p.setColor((color & 0x00FFFFFF) | _label_alpha_bits);
p.setTextSize(text_size);
return p;
}
- public Paint sublabel_paint(boolean special_font, float text_size, Paint.Align align)
+ public Paint sublabel_paint(boolean special_font, int color, float text_size, Paint.Align align)
{
Paint p = special_font ? _special_sublabel_paint : _sublabel_paint;
+ p.setColor((color & 0x00FFFFFF) | _label_alpha_bits);
p.setTextSize(text_size);
p.setTextAlign(align);
return p;
@@ -181,7 +185,6 @@ public class Theme
{
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
p.setTextAlign(Paint.Align.CENTER);
- p.setAlpha(config.labelBrightness);
if (font != null)
p.setTypeface(font);
return p;