feat: adaptive list style during page scaling

pr675
Hufe921 3 years ago
parent 3ec7d71f2e
commit e53c0c5d3b

@ -52,10 +52,11 @@ export class ListParticle {
}
public getListStyleWidth(ctx: CanvasRenderingContext2D, listElementList: IElement[]): number {
const { scale } = this.options
const startElement = listElementList[0]
// 非递增样式返回固定值
if (startElement.listStyle && startElement.listStyle !== ListStyle.DECIMAL) {
return this.UN_COUNT_STYLE_WIDTH
return this.UN_COUNT_STYLE_WIDTH * scale
}
// 计算列表数量
const count = listElementList.reduce((pre, cur) => {
@ -68,7 +69,7 @@ export class ListParticle {
// 以递增样式最大宽度为准
const text = `${this.MEASURE_BASE_TEXT.repeat(String(count).length)}${KeyMap.PERIOD}`
const textMetrics = ctx.measureText(text)
return Math.ceil(textMetrics.width + this.LIST_GAP)
return Math.ceil((textMetrics.width + this.LIST_GAP) * scale)
}
public drawListStyle(ctx: CanvasRenderingContext2D, row: IRow, position: IElementPosition) {

Loading…
Cancel
Save