Commit 7b0befe2 authored by wjf's avatar wjf

2.0.34

parent 462a7f10
declare namespace FYGE{export const VERSION = "2.0.32"; declare namespace FYGE{export const VERSION = "2.0.34";
export const osType: "ios" | "android" | "pc"; export const osType: "ios" | "android" | "pc";
...@@ -6665,15 +6665,11 @@ export class TextField extends Sprite { ...@@ -6665,15 +6665,11 @@ export class TextField extends Sprite {
get textHeight(): number; get textHeight(): number;
private _textHeight; private _textHeight;
/** /**
* 行间距 * 行高,不设置就是size的1.4倍
* @property lineSpacing
* @public
* @since 1.0.0
* @param {number} value
*/ */
set lineSpacing(value: number); set lineHeight(value: number);
get lineSpacing(): number; get lineHeight(): number;
private _lineSpacing; private _lineHeight;
/** /**
* 文本类型,单行还是多行 single multi * 文本类型,单行还是多行 single multi
* @property lineType * @property lineType
...@@ -6927,13 +6923,13 @@ export class InputText extends FloatDisplay { ...@@ -6927,13 +6923,13 @@ export class InputText extends FloatDisplay {
*/ */
initInfo(text: string, color: string, align: string, size: number, font: string, textWidth: number, textHeight: number, lineHeight?: number, showBorder?: boolean): void; initInfo(text: string, color: string, align: string, size: number, font: string, textWidth: number, textHeight: number, lineHeight?: number, showBorder?: boolean): void;
/** /**
* @property lineSpacing * @property lineHeight
* @public * @public
* @since 2.0.0 * @since 2.0.0
* @param {number} value * @param {number} value
*/ */
set lineSpacing(value: number); set lineHeight(value: number);
get lineSpacing(): number; get lineHeight(): number;
/** /**
* 设置文本是否为粗体 * 设置文本是否为粗体
* @property bold * @property bold
......
This diff is collapsed.
This diff is collapsed.
export const VERSION = "2.0.32"; export const VERSION = "2.0.34";
export const osType: "ios" | "android" | "pc"; export const osType: "ios" | "android" | "pc";
...@@ -6665,15 +6665,11 @@ export class TextField extends Sprite { ...@@ -6665,15 +6665,11 @@ export class TextField extends Sprite {
get textHeight(): number; get textHeight(): number;
private _textHeight; private _textHeight;
/** /**
* 行间距 * 行高,不设置就是size的1.4倍
* @property lineSpacing
* @public
* @since 1.0.0
* @param {number} value
*/ */
set lineSpacing(value: number); set lineHeight(value: number);
get lineSpacing(): number; get lineHeight(): number;
private _lineSpacing; private _lineHeight;
/** /**
* 文本类型,单行还是多行 single multi * 文本类型,单行还是多行 single multi
* @property lineType * @property lineType
...@@ -6927,13 +6923,13 @@ export class InputText extends FloatDisplay { ...@@ -6927,13 +6923,13 @@ export class InputText extends FloatDisplay {
*/ */
initInfo(text: string, color: string, align: string, size: number, font: string, textWidth: number, textHeight: number, lineHeight?: number, showBorder?: boolean): void; initInfo(text: string, color: string, align: string, size: number, font: string, textWidth: number, textHeight: number, lineHeight?: number, showBorder?: boolean): void;
/** /**
* @property lineSpacing * @property lineHeight
* @public * @public
* @since 2.0.0 * @since 2.0.0
* @param {number} value * @param {number} value
*/ */
set lineSpacing(value: number); set lineHeight(value: number);
get lineSpacing(): number; get lineHeight(): number;
/** /**
* 设置文本是否为粗体 * 设置文本是否为粗体
* @property bold * @property bold
......
{ {
"name": "fyge", "name": "fyge",
"version": "2.0.33", "version": "2.0.34",
"description": "canvas渲染引擎", "description": "canvas渲染引擎",
"main": "./build/fyge.min.js", "main": "./build/fyge.min.js",
"types": "./build/types.d.ts", "types": "./build/types.d.ts",
......
...@@ -410,6 +410,9 @@ ...@@ -410,6 +410,9 @@
2.0.33 Sprite的texture的set方法里加判断,destroyed为true也return; 2.0.33 Sprite的texture的set方法里加判断,destroyed为true也return;
2.0.34 InputText的lineSpacing改成lineHeight,原先就是lineHeight
删除TextField的lineSpacing,新增lineHeight
大尺寸纹理首次传gpu使用时会掉帧,越大耗时越多。考虑如何处理 大尺寸纹理首次传gpu使用时会掉帧,越大耗时越多。考虑如何处理
现在不改,索引数据过大时得用Uint32Array,同时开扩展gl.getExtension( "OES_element_index_uint" )和drawElements改参数类型为gl.UNSIGNED_INT 现在不改,索引数据过大时得用Uint32Array,同时开扩展gl.getExtension( "OES_element_index_uint" )和drawElements改参数类型为gl.UNSIGNED_INT
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* @name VERSION * @name VERSION
* @type {string} * @type {string}
*/ */
export const VERSION = "2.0.33"; export const VERSION = "2.0.34";
/** /**
......
...@@ -134,15 +134,15 @@ export class InputText extends FloatDisplay { ...@@ -134,15 +134,15 @@ export class InputText extends FloatDisplay {
} }
/** /**
* @property lineSpacing * @property lineHeight
* @public * @public
* @since 2.0.0 * @since 2.0.0
* @param {number} value * @param {number} value
*/ */
public set lineSpacing(value: number) { public set lineHeight(value: number) {
this.htmlElement.style.lineHeight = value + "px"; this.htmlElement.style.lineHeight = value + "px";
} }
public get lineSpacing(): number { public get lineHeight(): number {
return parseInt(this.htmlElement.style.lineHeight); return parseInt(this.htmlElement.style.lineHeight);
} }
/** /**
......
...@@ -182,22 +182,36 @@ export class TextField extends Sprite { ...@@ -182,22 +182,36 @@ export class TextField extends Sprite {
private _textHeight: number = 0; private _textHeight: number = 0;
/** /**
* 行间距 * 行高,不设置就是size的1.4倍
* @property lineSpacing
* @public
* @since 1.0.0
* @param {number} value
*/ */
public set lineSpacing(value: number) { set lineHeight(value: number) {
if (this._lineSpacing != value) { if (this._lineHeight != value) {
this._lineSpacing = value; this._lineHeight = value;
this.dirty = true; this.dirty = true;
}; };
} }
public get lineSpacing(): number { get lineHeight(): number {
return this._lineSpacing; return this._lineHeight || Math.round(this.size * 1.4);
} }
private _lineSpacing: number = 14; private _lineHeight: number;
// /**
// * 行间距
// * @property lineSpacing
// * @public
// * @since 1.0.0
// * @param {number} value
// */
// public set lineSpacing(value: number) {
// if (this._lineSpacing != value) {
// this._lineSpacing = value;
// this.dirty = true;
// };
// }
// public get lineSpacing(): number {
// return this._lineSpacing;
// }
// private _lineSpacing: number = 14;
/** /**
* 文本类型,单行还是多行 single multi * 文本类型,单行还是多行 single multi
...@@ -571,8 +585,8 @@ export class TextField extends Sprite { ...@@ -571,8 +585,8 @@ export class TextField extends Sprite {
realLines[realLines.length] = lineStr; realLines[realLines.length] = lineStr;
} }
} }
// let maxH = lineH * realLines.length; let lineH = this.lineHeight;
var trueHeight: number = s.size * realLines.length + s._lineSpacing * (realLines.length - 1); var trueHeight: number = lineH * realLines.length;
let maxH = s._textHeight || trueHeight; let maxH = s._textHeight || trueHeight;
let maxW = textWidth; let maxW = textWidth;
let tx = 0; let tx = 0;
...@@ -596,7 +610,7 @@ export class TextField extends Sprite { ...@@ -596,7 +610,7 @@ export class TextField extends Sprite {
} }
ctx.setTransform(1, 0, 0, 1, tx + padding, padding/* - 10*/); ctx.setTransform(1, 0, 0, 1, tx + padding, padding/* - 10*/);
s._prepContext(ctx); s._prepContext(ctx);
let lineH = s._lineSpacing + s.size; // let lineH = s._lineSpacing + s.size;
//如果有_textHeight,就需要应用竖直对齐 //如果有_textHeight,就需要应用竖直对齐
var upY: number = 0; var upY: number = 0;
if (s._textHeight) { if (s._textHeight) {
...@@ -610,15 +624,16 @@ export class TextField extends Sprite { ...@@ -610,15 +624,16 @@ export class TextField extends Sprite {
// //
getEnv() == "tb" && (upY -= 4); getEnv() == "tb" && (upY -= 4);
for (let i = 0; i < realLines.length; i++) { for (let i = 0; i < realLines.length; i++) {
let oy = (lineH - s.size) / 2;
let ox = 0; let ox = 0;
//@ts-ignore 现在貌似小程序的textAlign有点问题,如果修复了再说 //@ts-ignore 现在貌似小程序的textAlign有点问题,如果修复了再说
// if (my) ox = - tx;//移回去,已经修复,注释掉吧 // if (my) ox = - tx;//移回去,已经修复,注释掉吧
if (s.stroke) { if (s.stroke) {
ctx.strokeStyle = s.strokeColor; ctx.strokeStyle = s.strokeColor;
ctx.lineWidth = s.stroke * 2; ctx.lineWidth = s.stroke * 2;
ctx.strokeText(realLines[i], ox, upY + i * lineH/*, maxW*/); ctx.strokeText(realLines[i], ox, upY + i * lineH + oy/*, maxW*/);
} }
ctx.fillText(realLines[i], ox, upY + i * lineH/*, maxW*/);//考虑去掉这个maxW ctx.fillText(realLines[i], ox, upY + i * lineH + oy/*, maxW*/);//考虑去掉这个maxW
} }
//offset用_anchorTexture代替 //offset用_anchorTexture代替
s.offsetX = -padding; s.offsetX = -padding;
...@@ -628,6 +643,7 @@ export class TextField extends Sprite { ...@@ -628,6 +643,7 @@ export class TextField extends Sprite {
// if (osType == "ios") { // if (osType == "ios") {
s.texture.update(); s.texture.update();
s._onTextureUpdate(); s._onTextureUpdate();
// document.body.appendChild(s.canvas)
// } else { // } else {
// var imgData = ctx.getImageData(0, 0, canWidth, canHeight) // var imgData = ctx.getImageData(0, 0, canWidth, canHeight)
// var data = { // var data = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment