mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2024-11-23 11:31:33 +01:00
Fix auto-scrolling of the move list
It did not work correctly when figurine notation was used.
This commit is contained in:
parent
951c67dcb3
commit
3ae05affb0
|
@ -41,6 +41,7 @@ public class MoveListView extends View {
|
|||
private int layoutWidth = -1;
|
||||
private TextPaint textPaint;
|
||||
private Typeface defaultTypeface;
|
||||
private float extraSpacing = 0.0f;
|
||||
|
||||
/** Constructor. */
|
||||
public MoveListView(Context context, AttributeSet attrs) {
|
||||
|
@ -63,9 +64,14 @@ public class MoveListView extends View {
|
|||
|
||||
/** Set typeface and text size. If tf is null the default typeface is used. */
|
||||
public void setTypeface(Typeface tf, float size) {
|
||||
boolean modified = false;
|
||||
float spacing = tf == null ? 0.0f : 1.0f; // Figurine font looks better with extra spacing
|
||||
if (spacing != extraSpacing) {
|
||||
extraSpacing = spacing;
|
||||
modified = true;
|
||||
}
|
||||
if (tf == null)
|
||||
tf = defaultTypeface;
|
||||
boolean modified = false;
|
||||
if (tf != textPaint.getTypeface()) {
|
||||
textPaint.setTypeface(tf);
|
||||
modified = true;
|
||||
|
@ -107,12 +113,8 @@ public class MoveListView extends View {
|
|||
public int getLineStartY(int lineNo) {
|
||||
if (lineNo < 0)
|
||||
return 0;
|
||||
Paint.FontMetricsInt fmi = new Paint.FontMetricsInt();
|
||||
int lineHeight = textPaint.getFontMetricsInt(fmi);
|
||||
int y = lineHeight * lineNo;
|
||||
if (lineNo > 0 && fmi.bottom > 0)
|
||||
y += fmi.bottom - 1;
|
||||
return y;
|
||||
lineNo = Math.min(lineNo, layout.getLineCount());
|
||||
return layout.getLineTop(lineNo);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -207,7 +209,7 @@ public class MoveListView extends View {
|
|||
layoutWidth = -1;
|
||||
} else {
|
||||
layout = new StaticLayout(text, textPaint, width,
|
||||
Alignment.ALIGN_NORMAL, 1.0f, 0.0f, true);
|
||||
Alignment.ALIGN_NORMAL, 1.0f, extraSpacing, true);
|
||||
layoutWidth = width;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user