Jexi设计 (5) 页面样式

仿照Microsoft Word,PageStyle的基本属性:

float width; // 总宽度
float height; // 总高度
float leftMargin; // 左边距
float rightMargin; // 右边距

float topMargin; // 上边距
float bottomMargin; // 下边距

float bindingMargin; // 装订线宽度
int bindingPosition; // 装订位置

设计页面样式如下:

Page的有效显示区域为scaleWidth和scaleHeight:

public float scaleWidth() {
??? return width - leftMargin - rightMargin -
??????? ( bindingPosition==BINDING_LEFT ? bindingMargin : 0.0f );
}
public float scaleHeight() {
??? return height - topMargin - bottomMargin -
??????? ( bindingPosition==BINDING_TOP ? bindingMargin : 0.0f );
}

类似的,段落样式如下:

int alignment; // 对齐方式
float firstIndent; // 首行缩进
float leftIndent; // 左缩进
float rightIndent; // 右缩进
float rowSpace; // 行距

如图:

行高是由所在行的最高的一个Glyph决定的,如上图第三行的高度就是图片的高度。

行距是预设的常数。

Paragraph的总宽度由页面属性scaleWidth决定,总高度无限制,也不必计算。分页是按照行高而不是Paragraph的高度计算的。

Paragraph的有效宽度scaleWidth的计算:

public float scaleWidth(boolean firstRow) {
??? return this.pstyle.scaleWidth(firstRow);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值