@famibee/skynovel 1.64.20 → 1.64.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/Button.js +59 -57
  2. package/dist/Button.js.map +1 -1
  3. package/dist/EventMng.js +217 -215
  4. package/dist/EventMng.js.map +1 -1
  5. package/dist/GrpLayer.js +9 -10
  6. package/dist/GrpLayer.js.map +1 -1
  7. package/dist/LayerMng.js.map +1 -1
  8. package/dist/SpritesMng.js +50 -46
  9. package/dist/SpritesMng.js.map +1 -1
  10. package/dist/TxtLayer.js +404 -388
  11. package/dist/TxtLayer.js.map +1 -1
  12. package/dist/sn/Button.d.ts.map +1 -1
  13. package/dist/sn/FocusMng.d.ts +2 -2
  14. package/dist/sn/FocusMng.d.ts.map +1 -1
  15. package/dist/sn/FrameMng.d.ts.map +1 -1
  16. package/dist/sn/GrpLayer.d.ts.map +1 -1
  17. package/dist/sn/SpritesMng.d.ts.map +1 -1
  18. package/dist/sn/SysBase.d.ts.map +1 -1
  19. package/dist/sn/TxtLayer.d.ts.map +1 -1
  20. package/dist/sn/TxtStage.d.ts.map +1 -1
  21. package/dist/web2.js.map +1 -1
  22. package/dist_app/Button.js +59 -57
  23. package/dist_app/Button.js.map +1 -1
  24. package/dist_app/EventMng.js +217 -215
  25. package/dist_app/EventMng.js.map +1 -1
  26. package/dist_app/GrpLayer.js +9 -10
  27. package/dist_app/GrpLayer.js.map +1 -1
  28. package/dist_app/LayerMng.js.map +1 -1
  29. package/dist_app/SpritesMng.js +46 -42
  30. package/dist_app/SpritesMng.js.map +1 -1
  31. package/dist_app/TxtLayer.js +404 -388
  32. package/dist_app/TxtLayer.js.map +1 -1
  33. package/dist_app/app2.js.map +1 -1
  34. package/dist_app/sn/Button.d.ts.map +1 -1
  35. package/dist_app/sn/FocusMng.d.ts +2 -2
  36. package/dist_app/sn/FocusMng.d.ts.map +1 -1
  37. package/dist_app/sn/FrameMng.d.ts.map +1 -1
  38. package/dist_app/sn/GrpLayer.d.ts.map +1 -1
  39. package/dist_app/sn/SpritesMng.d.ts.map +1 -1
  40. package/dist_app/sn/SysBase.d.ts.map +1 -1
  41. package/dist_app/sn/TxtLayer.d.ts.map +1 -1
  42. package/dist_app/sn/TxtStage.d.ts.map +1 -1
  43. package/package.json +3 -3
package/dist/Button.js CHANGED
@@ -1,8 +1,8 @@
1
- import { q as b, l as n, u as f, e as v, O as k, K as m, P as C, z as g, G as S, M as p, y as u } from "./web2.js";
1
+ import { q as S, l as n, u as f, e as v, O as k, K as m, P as C, z as b, G as g, M as p, y as u } from "./web2.js";
2
2
  import { S as _ } from "./SpritesMng.js";
3
- class c extends b {
4
- constructor(t, e, h, a) {
5
- if (super(), this.hArg = t, this.evtMng = e, this.resolve = h, this.canFocus = a, this.#t = {
3
+ class r extends S {
4
+ constructor(t, i, h, a) {
5
+ if (super(), this.hArg = t, this.evtMng = i, this.resolve = h, this.canFocus = a, this.#t = {
6
6
  type: "pic",
7
7
  enabled: v(t, "enabled", !0),
8
8
  x: this.x = f(t.left ?? 0),
@@ -19,19 +19,19 @@ class c extends b {
19
19
  b_pic: "",
20
20
  width: 0,
21
21
  height: 0
22
- }, this.getBtnBounds = () => (this.#i.x = this.#t.x, this.#i.y = this.#t.y, this.#i), this.#t.enabled && e.button(t, this, () => this.normal(), () => this.#s(), () => this.#h()), t.pic) {
23
- this.#t.type = "pic", this.#e = new _(
22
+ }, this.getBtnBounds = () => (this.#e.x = this.#t.x, this.#e.y = this.#t.y, this.#e), this.#t.enabled && i.button(t, this, () => this.normal(), () => this.#s(), () => this.#h()), t.pic) {
23
+ this.#t.type = "pic", this.#i = new _(
24
24
  t.pic,
25
25
  this,
26
- (i) => {
27
- this.#l(i), this.#i.width = i.width * this.#t.scale_x, this.#i.height = i.height * this.#t.scale_y;
26
+ (e) => {
27
+ this.#l(e), this.#e.width = e.width * this.#t.scale_x, this.#e.height = e.height * this.#t.scale_y;
28
28
  },
29
- (i) => h()
29
+ (e) => h()
30
30
  );
31
31
  return;
32
32
  }
33
33
  if (!t.text) throw "textまたはpic属性は必須です";
34
- const o = n(t, "height", 30), r = new k({
34
+ const o = n(t, "height", 30), c = new k({
35
35
  align: "center",
36
36
  dropShadow: !0,
37
37
  dropShadowAlpha: 0.7,
@@ -39,20 +39,20 @@ class c extends b {
39
39
  dropShadowBlur: 7,
40
40
  dropShadowDistance: 0,
41
41
  fill: this.#t.enabled ? "black" : "gray",
42
- fontFamily: c.fontFamily,
42
+ fontFamily: r.fontFamily,
43
43
  fontSize: o,
44
44
  padding: 5
45
45
  });
46
46
  if (t.style) try {
47
- const i = JSON.parse(t.style);
48
- for (const [w, y] of Object.entries(i)) r[w] = y;
49
- this.#t = { ...this.#t, ...i };
50
- } catch (i) {
51
- throw i instanceof SyntaxError ? new Error(m(t, "style", i.message)) : "fn:Button.ts style";
47
+ const e = JSON.parse(t.style);
48
+ for (const [w, y] of Object.entries(e)) c[w] = y;
49
+ this.#t = { ...this.#t, ...e };
50
+ } catch (e) {
51
+ throw e instanceof SyntaxError ? new Error(m(t, "style", e.message)) : "fn:Button.ts style";
52
52
  }
53
- const s = new C(t.text ?? "", r);
54
- s.alpha = n(t, "alpha", s.alpha), s.width = n(t, "width", 100), s.height = t.height = o, this.setText = (i) => {
55
- s.text = i;
53
+ const s = new C(t.text ?? "", c);
54
+ s.alpha = n(t, "alpha", s.alpha), s.width = n(t, "width", 100), s.height = t.height = o, this.setText = (e) => {
55
+ s.text = e;
56
56
  }, this.#t = {
57
57
  ...this.#t,
58
58
  type: "text",
@@ -63,63 +63,65 @@ class c extends b {
63
63
  height: s.height
64
64
  };
65
65
  let d = !1;
66
- if (this.#t.width = this.width, this.#t.height = this.height, t.b_pic && (this.#t.b_pic = t.b_pic, this.#e = new _(
66
+ if (this.#t.width = this.width, this.#t.height = this.height, t.b_pic && (this.#t.b_pic = t.b_pic, this.#i = new _(
67
67
  t.b_pic,
68
68
  this,
69
- (i) => {
70
- this.#o(i, s), this.#t.width = this.width, this.#t.height = this.height, s.name = JSON.stringify(this.#t);
69
+ (e) => {
70
+ this.#o(e, s), this.#t.width = this.width, this.#t.height = this.height;
71
71
  },
72
- (i) => {
73
- g.setBlendmode(this, t), i && h();
72
+ (e) => {
73
+ b.setBlendmode(this, t), e && h();
74
74
  }
75
- ), d = this.#e.ret), s.name = JSON.stringify(this.#t), this.addChild(s), this.#i.width = s.width, this.#i.height = s.height, t.b_pic || g.setBlendmode(this, t), c.#a(this, s), !this.#t.enabled) {
75
+ ), d = this.#i.ret), this.addChild(s), this.#e.width = s.width, this.#e.height = s.height, t.b_pic || b.setBlendmode(this, t), r.#a(this, s), !this.#t.enabled) {
76
76
  d || h();
77
77
  return;
78
78
  }
79
- const l = r.clone();
79
+ const l = c.clone();
80
80
  if (t.style_hover) try {
81
- const i = JSON.parse(t.style_hover);
82
- for (const [w, y] of Object.entries(i)) l[w] = y;
83
- } catch (i) {
84
- throw i instanceof SyntaxError ? new Error(m(t, "style_hover", i.message)) : "fn:Button.ts style_hover";
81
+ const e = JSON.parse(t.style_hover);
82
+ for (const [w, y] of Object.entries(e)) l[w] = y;
83
+ } catch (e) {
84
+ throw e instanceof SyntaxError ? new Error(m(t, "style_hover", e.message)) : "fn:Button.ts style_hover";
85
85
  }
86
86
  else l.fill = "white";
87
87
  const x = l.clone();
88
88
  if (t.style_clicked) try {
89
- const i = JSON.parse(t.style_clicked);
90
- for (const [w, y] of Object.entries(i)) x[w] = y;
91
- } catch (i) {
92
- throw i instanceof SyntaxError ? new Error(m(t, "style_clicked", i.message)) : "fn:Button.ts style_clicked";
89
+ const e = JSON.parse(t.style_clicked);
90
+ for (const [w, y] of Object.entries(e)) x[w] = y;
91
+ } catch (e) {
92
+ throw e instanceof SyntaxError ? new Error(m(t, "style_clicked", e.message)) : "fn:Button.ts style_clicked";
93
93
  }
94
94
  else x.dropShadow = !1;
95
95
  this.normal = () => {
96
- s.style = r;
96
+ s.style = c;
97
97
  }, this.#s = () => a() ? (s.style = l, !0) : !1, this.#h = () => {
98
98
  s.style = x;
99
99
  }, d || h();
100
100
  }
101
101
  static fontFamily = "'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', meiryo, sans-serif";
102
- static #a = (t, e) => {
102
+ static #a = (t, i) => {
103
103
  };
104
- static #n = (t, e, h, a) => {
104
+ static #n = (t, i, h, a) => {
105
105
  };
106
106
  static init(t) {
107
- t.oCfg.debug.masume && (c.#a = (e, h) => e.addChild(
108
- new S().beginFill(8926088, 0.2).lineStyle(1, 8926088, 1).drawRect(h.x, h.y, h.width, h.height).endFill()
109
- ), c.#n = (e, h, a, o) => e.addChild(
110
- new S().beginFill(8926088, 0.2).lineStyle(1, 8926088, 1).drawRect(h.x, h.y, a, o).endFill()
107
+ t.oCfg.debug.masume && (r.#a = (i, h) => i.addChild(
108
+ new g().beginFill(8926088, 0.2).lineStyle(1, 8926088, 1).drawRect(h.x, h.y, h.width, h.height).endFill()
109
+ ), r.#n = (i, h, a, o) => i.addChild(
110
+ new g().beginFill(8926088, 0.2).lineStyle(1, 8926088, 1).drawRect(h.x, h.y, a, o).endFill()
111
111
  ));
112
112
  }
113
113
  setText(t) {
114
114
  }
115
- getBtnBounds = () => this.#i;
115
+ getBtnBounds = () => this.#e;
116
116
  // 文字ボタンは背景画像を含まない位置指定なので、その当たり判定用
117
- #i = new p();
118
- #e = new _();
117
+ #e = new p();
118
+ #i = new _();
119
119
  // #idc : DesignCast;
120
120
  #t;
121
121
  destroy() {
122
- this.evtMng.unButton(this), this.#e.destroy(), super.destroy();
122
+ this.normal = () => {
123
+ }, this.#s = () => !1, this.#h = () => {
124
+ }, this.evtMng.unButton(this), this.#i.destroy(), super.destroy();
123
125
  }
124
126
  makeDesignCast(t) {
125
127
  }
@@ -128,18 +130,18 @@ class c extends b {
128
130
  // showDesignCast() {this.#idc.visible = true}
129
131
  cvsResize() {
130
132
  }
131
- #o(t, e) {
132
- this.setChildIndex(t, 0), t.alpha = e.alpha, t.setTransform(
133
- e.x,
134
- e.y,
133
+ #o(t, i) {
134
+ this.setChildIndex(t, 0), t.alpha = i.alpha, t.setTransform(
135
+ i.x,
136
+ i.y,
135
137
  1,
136
138
  1,
137
- e.rotation,
139
+ i.rotation,
138
140
  0,
139
141
  0,
140
- (t.width - e.width) / 2,
141
- (t.height - e.height) / 2
142
- ), t.name = e.name;
142
+ (t.width - i.width) / 2,
143
+ (t.height - i.height) / 2
144
+ ), t.name = i.name;
143
145
  }
144
146
  normal = () => {
145
147
  };
@@ -148,15 +150,15 @@ class c extends b {
148
150
  };
149
151
  #l(t) {
150
152
  this.#t.alpha = t.alpha = n(this.hArg, "alpha", t.alpha);
151
- const e = t.width / 3, h = this.#t.enabled ? e : t.width, a = t.height, o = t.texture.baseTexture, r = new u(o, new p(0, 0, e, a)), s = new u(o, new p(e, 0, e, a)), d = new u(o, new p(e * 2, 0, e, a)), l = () => {
152
- t.texture = r;
153
+ const i = t.width / 3, h = this.#t.enabled ? i : t.width, a = t.height, o = t.texture.baseTexture, c = new u(o, new p(0, 0, i, a)), s = new u(o, new p(i, 0, i, a)), d = new u(o, new p(i * 2, 0, i, a)), l = () => {
154
+ t.texture = c;
153
155
  };
154
156
  this.#t.enabled && l(), this.normal = l, this.#s = () => this.canFocus() ? (t.texture = d, !0) : !1, this.#h = () => {
155
157
  t.texture = s;
156
- }, "width" in this.hArg ? (this.#t.width = f(this.hArg.width), this.scale.x *= this.#t.width / h) : this.#t.width = h, "height" in this.hArg ? (this.#t.height = f(this.hArg.height), this.scale.y *= this.#t.height / a) : this.#t.height = a, t.name = JSON.stringify(this.#t), c.#n(this, t, h, a);
158
+ }, "width" in this.hArg ? (this.#t.width = f(this.hArg.width), this.scale.x *= this.#t.width / h) : this.#t.width = h, "height" in this.hArg ? (this.#t.height = f(this.hArg.height), this.scale.y *= this.#t.height / a) : this.#t.height = a, r.#n(this, t, h, a);
157
159
  }
158
160
  }
159
161
  export {
160
- c as Button
162
+ r as Button
161
163
  };
162
164
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../src/sn/Button.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2018-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {uint, type IEvtMng, argChk_Boolean, argChk_Num, mesErrJSON} from './CmnLib';\nimport type {TArg} from './Grammar';\nimport {SpritesMng} from './SpritesMng';\nimport {Layer} from './Layer';\nimport type {Config} from './Config';\nimport type {IMakeDesignCast} from './LayerMng';\n//import {DesignCast, TxtBtnDesignCast, PicBtnDesignCast} from './DesignCast';\n\nimport {Container, Text, Rectangle, Texture, TextStyle, type Sprite, Graphics} from 'pixi.js';\n\n\nexport class Button extends Container {\n\tstatic\tfontFamily\t= '\\'Hiragino Sans\\', \\'Hiragino Kaku Gothic ProN\\', \\'游ゴシック Medium\\', meiryo, sans-serif';\n\tstatic\t#procMasume4txt = (_me: Button, _txt: Text)=> { /* empty */ };\n\tstatic\t#procMasume4pic = (_me: Button, _sp: Sprite, _w3: number, _h: number)=> { /* empty */ };\n\tstatic\tinit(cfg: Config) {\n\t\tif (! cfg.oCfg.debug.masume) return;\n\n\t\tButton.#procMasume4txt = (me, txt)=> me.addChild(\n\t\t\t(new Graphics)\n\t\t\t.beginFill(0x883388, 0.2)\n\t\t\t.lineStyle(1, 0x883388, 1)\n\t\t\t.drawRect(txt.x, txt.y, txt.width, txt.height)\n\t\t\t.endFill()\n\t\t);\n\t\tButton.#procMasume4pic = (me, sp, w3, h)=> me.addChild(\n\t\t\t(new Graphics)\n\t\t\t.beginFill(0x883388, 0.2)\n\t\t\t.lineStyle(1, 0x883388, 1)\n\t\t\t.drawRect(sp.x, sp.y, w3, h)\n\t\t\t.endFill()\n\t\t);\n\t}\n\n\tsetText(_text: string) { /* empty */ }\n\tgetBtnBounds = ()=> this.#rctBtnTxt;\n\t\t// 文字ボタンは背景画像を含まない位置指定なので、その当たり判定用\n\t#rctBtnTxt\t= new Rectangle;\n\n\t#sps\t\t= new SpritesMng;\n\n//\t#idc\t\t: DesignCast;\n\treadonly\t#o\t: {\n\t\ttype\t: 'pic'|'text';\n\t\tenabled\t: boolean;\n\t\tx\t\t: number;\n\t\ty\t\t: number;\n\t\trotation: number;\n\t\t\t// flash : rotation is in degrees.\n\t\t\t// pixijs: rotation is in radians, angle is in degrees.\n\t\tpivot_x\t: number;\n\t\tpivot_y\t: number;\n\t\tscale_x\t: number;\n\t\tscale_y\t: number;\n\t\talpha\t: number;\n\t\ttext\t: string;\n\t\tb_pic\t: string;\n\t\twidth\t: number;\n\t\theight\t: number;\n\t};\n\n\tconstructor(private readonly hArg: TArg, readonly evtMng: IEvtMng, readonly resolve: ()=> void, private readonly canFocus: ()=> boolean) {\n\t\tsuper();\n/*\n\t\tif (CmnLib.isDbg) {\n\t\t\tthis.makeDesignCast = gdc=> gdc(this.#idc);\n\t\t\tthis.cvsResize = ()=> this.#idc.cvsResize();\n\t\t}\n*/\n\t\tthis.#o = {\n\t\t\ttype\t: 'pic',\n\t\t\tenabled\t: argChk_Boolean(hArg, 'enabled', true),\n\t\t\tx\t\t: this.x = uint(hArg.left ?? 0),\n\t\t\ty\t\t: this.y = uint(hArg.top ?? 0),\n\t\t\trotation: this.angle = argChk_Num(hArg, 'rotation', this.angle),\n\t\t\t\t// flash : rotation is in degrees.\n\t\t\t\t// pixijs: rotation is in radians, angle is in degrees.\n\t\t\tpivot_x\t: this.pivot.x = argChk_Num(hArg, 'pivot_x', this.pivot.x),\n\t\t\tpivot_y\t: this.pivot.y = argChk_Num(hArg, 'pivot_y', this.pivot.y),\n\t\t\tscale_x\t: this.scale.x = argChk_Num(hArg, 'scale_x', this.scale.x),\n\t\t\tscale_y\t: this.scale.y = argChk_Num(hArg, 'scale_y', this.scale.y),\n\t\t\talpha\t: 1,\n\t\t\ttext\t: '',\n\t\t\tb_pic\t: '',\n\t\t\twidth\t: 0,\n\t\t\theight\t: 0,\n\t\t};\n\t\tthis.getBtnBounds = ()=> {\n\t\t\tthis.#rctBtnTxt.x = this.#o.x;\n\t\t\tthis.#rctBtnTxt.y = this.#o.y;\n\t\t\treturn this.#rctBtnTxt;\n\t\t};\n\n\t\tif (this.#o.enabled) evtMng.button(hArg, this, ()=> this.normal(), ()=> this.#hover(), ()=> this.#clicked());\t// あとで差し替えるのでアロー必須\n\n\t\t// == 画像から生成\n\t\tif (hArg.pic) {\n\t\t\tthis.#o.type = 'pic';\t// dump用\n\t\t\t// this.#idc = new PicBtnDesignCast(this, hArg);\n\n\t\t\tthis.#sps = new SpritesMng(\n\t\t\t\thArg.pic,\n\t\t\t\tthis,\n\t\t\t\tsp=> {\n\t\t\t\t\tthis.#loaded_pic(sp);\n\t\t\t\t\tthis.#rctBtnTxt.width = sp.width * this.#o.scale_x;\n\t\t\t\t\tthis.#rctBtnTxt.height = sp.height * this.#o.scale_y;\n\t\t\t\t},\n\t\t\t\t_isStop=> resolve(),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (! hArg.text) throw 'textまたはpic属性は必須です';\n\n\t\t// == 文字列から生成\n\t\tconst height = argChk_Num(hArg, 'height', 30);\n\t\tconst style = new TextStyle({\n\t\t\talign\t\t: 'center',\n\t\t\tdropShadow\t: true,\n\t\t\tdropShadowAlpha\t: 0.7,\n\t\t\tdropShadowColor\t: 'white',\n\t\t\tdropShadowBlur\t: 7,\n\t\t\tdropShadowDistance\t: 0,\n\t\t\tfill\t\t: this.#o.enabled ?'black' :'gray',\n\t\t\tfontFamily\t: Button.fontFamily,\n\t\t\tfontSize\t: height,\n\t\t\tpadding\t\t: 5,\n\t\t});\n\t\tif (hArg.style) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style)[nm] = v;\n\t\t//\tstyle = {...style, ...JSON.parse(hArg.style)};\t// 上手くいかない\n\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tthis.#o = {...this.#o, ...o};\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style', e.message));\n\t\t\telse throw 'fn:Button.ts style';\n\t\t}\n\n\t\tconst txt = new Text(hArg.text ?? '', style);\n\t\ttxt.alpha = argChk_Num(hArg, 'alpha', txt.alpha);\t// 上にまとめない\n\t\ttxt.width = argChk_Num(hArg, 'width', 100);\n\t\ttxt.height = hArg.height = height;\n\t\tthis.setText = text=> {txt.text = text};\n\n\t\tthis.#o = {...this.#o,\n\t\t\ttype\t: 'text',\t// dump用\n\t\t\talpha\t: txt.alpha,\n\t\t\ttext\t: txt.text,\n\t\t\twidth\t: txt.width,\n\t\t\theight\t: txt.height,\n\t\t};\n//\t\tthis.#idc = new TxtBtnDesignCast(this, hArg, txt);\n\n\t\tlet isStop = false;\n\t\tthis.#o.width = this.width;\n\t\tthis.#o.height = this.height;\n\t\tif (hArg.b_pic) {\n\t\t\tthis.#o.b_pic = hArg.b_pic;\n\t\t\tthis.#sps = new SpritesMng(\n\t\t\t\thArg.b_pic,\n\t\t\t\tthis,\n\t\t\t\tsp=> {\n\t\t\t\t\tthis.#loaded_b_pic(sp, txt);\n\t\t\t\t\tthis.#o.width = this.width;\n\t\t\t\t\tthis.#o.height = this.height;\n\t\t\t\t\ttxt.name = JSON.stringify(this.#o);\n\t\t\t\t},\n\t\t\t\tisStop=> {\n\t\t\t\t\tLayer.setBlendmode(this, hArg);\n\t\t\t\t\tif (isStop) resolve();\n\t\t\t\t},\n\t\t\t);\n\t\t\tisStop = this.#sps.ret;\n\t\t}\n\t\ttxt.name = JSON.stringify(this.#o);\n\n\t\tthis.addChild(txt);\n\t\tthis.#rctBtnTxt.width = txt.width;\t// addChild()後に取得すること\n\t\tthis.#rctBtnTxt.height = txt.height;\n\t//x\tthis.#rctBtnTxt = txt.getBounds();\t// 上手くいかない\n\n\t\tif (! hArg.b_pic) Layer.setBlendmode(this, hArg);\t// 重なり順でここ\n\t\tButton.#procMasume4txt(this, txt);\n\t\tif (! this.#o.enabled) {if (! isStop) resolve(); return}\n\n\t\tconst style_hover = style.clone();\n\t\tif (hArg.style_hover) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style_hover);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style_hover)[nm] = v;\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style_hover', e.message));\n\t\t\telse throw 'fn:Button.ts style_hover';\n\t\t}\n\t\telse style_hover.fill = 'white';\n\n\t\tconst style_clicked = style_hover.clone();\n\t\tif (hArg.style_clicked) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style_clicked);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style_clicked)[nm] = v;\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style_clicked', e.message));\n\t\t\telse throw 'fn:Button.ts style_clicked';\n\t\t}\n\t\telse style_clicked.dropShadow = false;\n\n\t\tthis.normal = ()=> {txt.style = style};\n\t\tthis.#hover = ()=> {\n\t\t\tif (! canFocus()) return false;\n\t\t\ttxt.style = style_hover;\n\t\t\treturn true;\n\t\t};\n\t\tthis.#clicked = ()=> {txt.style = style_clicked};\n\n\t\tif (! isStop) resolve();\n\t}\n\n\toverride\tdestroy(): void {\n\t\tthis.evtMng.unButton(this);\n\t\tthis.#sps.destroy();\n\t\tsuper.destroy();\n\t}\n\n\tmakeDesignCast(_gdc: IMakeDesignCast) { /* empty */ }\n\tshowDesignCast() { /* empty */ }\n//\tshowDesignCast() {this.#idc.visible = true}\n\tcvsResize() { /* empty */ }\n\n\t#loaded_b_pic(sp: Sprite, txt: Text) {\n\t\tthis.setChildIndex(sp, 0);\n\t\tsp.alpha = txt.alpha;\n\t\tsp.setTransform(\n\t\t\ttxt.x, txt.y,\n\t\t\t1, 1, txt.rotation, 0, 0,\n\t\t\t(sp.width -txt.width) /2,\n\t\t\t(sp.height -txt.height) /2,\n\t\t);\n\n\t\tsp.name = txt.name;\n\t}\n\n\tnormal\t\t: ()=> void\t\t= ()=> { /* empty */ };\n\t#hover\t\t: ()=> boolean\t= ()=> false;\n\t#clicked\t: ()=> void\t\t= ()=> { /* empty */ };\n\t#loaded_pic(sp: Sprite) {\n\t\tthis.#o.alpha = sp.alpha = argChk_Num(this.hArg, 'alpha', sp.alpha);\n//\t\t(this.#idc as PicBtnDesignCast).setSp(sp);\n\n\t\tconst w_3 = sp.width /3;\n\t\tconst w = this.#o.enabled ?w_3 :sp.width;\n\t\tconst h = sp.height;\n\t\tconst tx = sp.texture.baseTexture;\n\t\tconst txNormal = new Texture(tx, new Rectangle(0, 0, w_3, h));\n\t\tconst txClicked = new Texture(tx, new Rectangle(w_3, 0, w_3, h));\n\t\tconst txHover = new Texture(tx, new Rectangle(w_3 *2, 0, w_3, h));\n\t\tconst normal = ()=> {sp.texture = txNormal};\n\t\tif (this.#o.enabled) normal();\n\n\t\tthis.normal\t= normal;\n\t\tthis.#hover\t\t= ()=> {\n\t\t\tif (! this.canFocus()) return false;\n\t\t\tsp.texture = txHover;\n\t\t\treturn true;\n\t\t};\n\t\tthis.#clicked\t= ()=> {sp.texture = txClicked};\n\n\t\tif ('width' in this.hArg) {\n\t\t\tthis.#o.width = uint(this.hArg.width);\n\t\t\tthis.scale.x *= this.#o.width /w;\n\t\t}\n\t\telse this.#o.width = w;\n\t\tif ('height' in this.hArg) {\n\t\t\tthis.#o.height = uint(this.hArg.height);\n\t\t\tthis.scale.y *= this.#o.height /h;\n\t\t}\n\t\telse this.#o.height = h;\n\t\tsp.name = JSON.stringify(this.#o);\t// dump用\n\n\t\tButton.#procMasume4pic(this, sp, w, h);\n\t}\n\n}\n"],"names":["Button","Container","hArg","evtMng","resolve","canFocus","#o","argChk_Boolean","uint","argChk_Num","#rctBtnTxt","#hover","#clicked","#sps","SpritesMng","sp","#loaded_pic","height","style","TextStyle","o","nm","v","e","mesErrJSON","txt","Text","text","isStop","#loaded_b_pic","Layer","#procMasume4txt","style_hover","style_clicked","_me","_txt","#procMasume4pic","_sp","_w3","_h","cfg","me","Graphics","w3","h","_text","Rectangle","_gdc","w_3","w","tx","txNormal","Texture","txClicked","txHover","normal"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sources":["../src/sn/Button.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2018-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {uint, type IEvtMng, argChk_Boolean, argChk_Num, mesErrJSON} from './CmnLib';\nimport type {TArg} from './Grammar';\nimport {SpritesMng} from './SpritesMng';\nimport {Layer} from './Layer';\nimport type {Config} from './Config';\nimport type {IMakeDesignCast} from './LayerMng';\n//import {DesignCast, TxtBtnDesignCast, PicBtnDesignCast} from './DesignCast';\n\nimport {Container, Text, Rectangle, Texture, TextStyle, type Sprite, Graphics} from 'pixi.js';\n\n\nexport class Button extends Container {\n\tstatic\tfontFamily\t= '\\'Hiragino Sans\\', \\'Hiragino Kaku Gothic ProN\\', \\'游ゴシック Medium\\', meiryo, sans-serif';\n\tstatic\t#procMasume4txt = (_me: Button, _txt: Text)=> { /* empty */ };\n\tstatic\t#procMasume4pic = (_me: Button, _sp: Sprite, _w3: number, _h: number)=> { /* empty */ };\n\tstatic\tinit(cfg: Config) {\n\t\tif (! cfg.oCfg.debug.masume) return;\n\n\t\tButton.#procMasume4txt = (me, txt)=> me.addChild(\n\t\t\t(new Graphics)\n\t\t\t.beginFill(0x883388, 0.2)\n\t\t\t.lineStyle(1, 0x883388, 1)\n\t\t\t.drawRect(txt.x, txt.y, txt.width, txt.height)\n\t\t\t.endFill()\n\t\t);\n\t\tButton.#procMasume4pic = (me, sp, w3, h)=> me.addChild(\n\t\t\t(new Graphics)\n\t\t\t.beginFill(0x883388, 0.2)\n\t\t\t.lineStyle(1, 0x883388, 1)\n\t\t\t.drawRect(sp.x, sp.y, w3, h)\n\t\t\t.endFill()\n\t\t);\n\t}\n\n\tsetText(_text: string) { /* empty */ }\n\tgetBtnBounds = ()=> this.#rctBtnTxt;\n\t\t// 文字ボタンは背景画像を含まない位置指定なので、その当たり判定用\n\t#rctBtnTxt\t= new Rectangle;\n\n\t#sps\t\t= new SpritesMng;\n\n//\t#idc\t\t: DesignCast;\n\treadonly\t#o\t: {\n\t\ttype\t: 'pic'|'text';\n\t\tenabled\t: boolean;\n\t\tx\t\t: number;\n\t\ty\t\t: number;\n\t\trotation: number;\n\t\t\t// flash : rotation is in degrees.\n\t\t\t// pixijs: rotation is in radians, angle is in degrees.\n\t\tpivot_x\t: number;\n\t\tpivot_y\t: number;\n\t\tscale_x\t: number;\n\t\tscale_y\t: number;\n\t\talpha\t: number;\n\t\ttext\t: string;\n\t\tb_pic\t: string;\n\t\twidth\t: number;\n\t\theight\t: number;\n\t};\n\n\tconstructor(private readonly hArg: TArg, readonly evtMng: IEvtMng, readonly resolve: ()=> void, private readonly canFocus: ()=> boolean) {\n\t\tsuper();\n/*\n\t\tif (CmnLib.isDbg) {\n\t\t\tthis.makeDesignCast = gdc=> gdc(this.#idc);\n\t\t\tthis.cvsResize = ()=> this.#idc.cvsResize();\n\t\t}\n*/\n\t\tthis.#o = {\n\t\t\ttype\t: 'pic',\n\t\t\tenabled\t: argChk_Boolean(hArg, 'enabled', true),\n\t\t\tx\t\t: this.x = uint(hArg.left ?? 0),\n\t\t\ty\t\t: this.y = uint(hArg.top ?? 0),\n\t\t\trotation: this.angle = argChk_Num(hArg, 'rotation', this.angle),\n\t\t\t\t// flash : rotation is in degrees.\n\t\t\t\t// pixijs: rotation is in radians, angle is in degrees.\n\t\t\tpivot_x\t: this.pivot.x = argChk_Num(hArg, 'pivot_x', this.pivot.x),\n\t\t\tpivot_y\t: this.pivot.y = argChk_Num(hArg, 'pivot_y', this.pivot.y),\n\t\t\tscale_x\t: this.scale.x = argChk_Num(hArg, 'scale_x', this.scale.x),\n\t\t\tscale_y\t: this.scale.y = argChk_Num(hArg, 'scale_y', this.scale.y),\n\t\t\talpha\t: 1,\n\t\t\ttext\t: '',\n\t\t\tb_pic\t: '',\n\t\t\twidth\t: 0,\n\t\t\theight\t: 0,\n\t\t};\n\t\tthis.getBtnBounds = ()=> {\n\t\t\tthis.#rctBtnTxt.x = this.#o.x;\n\t\t\tthis.#rctBtnTxt.y = this.#o.y;\n\t\t\treturn this.#rctBtnTxt;\n\t\t};\n\n\t\tif (this.#o.enabled) evtMng.button(hArg, this, ()=> this.normal(), ()=> this.#hover(), ()=> this.#clicked());\t// あとで差し替えるのでアロー必須\n\n\t\t// == 画像から生成\n\t\tif (hArg.pic) {\n\t\t\tthis.#o.type = 'pic';\t// dump用\n\t\t\t// this.#idc = new PicBtnDesignCast(this, hArg);\n\n\t\t\tthis.#sps = new SpritesMng(\n\t\t\t\thArg.pic,\n\t\t\t\tthis,\n\t\t\t\tsp=> {\n\t\t\t\t\tthis.#loaded_pic(sp);\n\t\t\t\t\tthis.#rctBtnTxt.width = sp.width * this.#o.scale_x;\n\t\t\t\t\tthis.#rctBtnTxt.height = sp.height * this.#o.scale_y;\n\t\t\t\t},\n\t\t\t\t_isStop=> resolve(),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (! hArg.text) throw 'textまたはpic属性は必須です';\n\n\t\t// == 文字列から生成\n\t\tconst height = argChk_Num(hArg, 'height', 30);\n\t\tconst style = new TextStyle({\n\t\t\talign\t\t: 'center',\n\t\t\tdropShadow\t: true,\n\t\t\tdropShadowAlpha\t: 0.7,\n\t\t\tdropShadowColor\t: 'white',\n\t\t\tdropShadowBlur\t: 7,\n\t\t\tdropShadowDistance\t: 0,\n\t\t\tfill\t\t: this.#o.enabled ?'black' :'gray',\n\t\t\tfontFamily\t: Button.fontFamily,\n\t\t\tfontSize\t: height,\n\t\t\tpadding\t\t: 5,\n\t\t});\n\t\tif (hArg.style) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style)[nm] = v;\n\t\t//\tstyle = {...style, ...JSON.parse(hArg.style)};\t// 上手くいかない\n\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tthis.#o = {...this.#o, ...o};\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style', e.message));\n\t\t\telse throw 'fn:Button.ts style';\n\t\t}\n\n\t\tconst txt = new Text(hArg.text ?? '', style);\n\t\ttxt.alpha = argChk_Num(hArg, 'alpha', txt.alpha);\t// 上にまとめない\n\t\ttxt.width = argChk_Num(hArg, 'width', 100);\n\t\ttxt.height = hArg.height = height;\n\t\tthis.setText = text=> {txt.text = text};\n\n\t\tthis.#o = {...this.#o,\n\t\t\ttype\t: 'text',\t// dump用\n\t\t\talpha\t: txt.alpha,\n\t\t\ttext\t: txt.text,\n\t\t\twidth\t: txt.width,\n\t\t\theight\t: txt.height,\n\t\t};\n//\t\tthis.#idc = new TxtBtnDesignCast(this, hArg, txt);\n\n\t\tlet isStop = false;\n\t\tthis.#o.width = this.width;\n\t\tthis.#o.height = this.height;\n\t\tif (hArg.b_pic) {\n\t\t\tthis.#o.b_pic = hArg.b_pic;\n\t\t\tthis.#sps = new SpritesMng(\n\t\t\t\thArg.b_pic,\n\t\t\t\tthis,\n\t\t\t\tsp=> {\n\t\t\t\t\tthis.#loaded_b_pic(sp, txt);\n\t\t\t\t\tthis.#o.width = this.width;\n\t\t\t\t\tthis.#o.height = this.height;\n\t\t\t\t\t// txt.name = JSON.stringify(this.#o);\n\t\t\t\t\t// DevTools 【メモリ】【重複する文字列】で悪さするので廃止\n\t\t\t\t},\n\t\t\t\tisStop=> {\n\t\t\t\t\tLayer.setBlendmode(this, hArg);\n\t\t\t\t\tif (isStop) resolve();\n\t\t\t\t},\n\t\t\t);\n\t\t\tisStop = this.#sps.ret;\n\t\t}\n\t\t// txt.name = JSON.stringify(this.#o);\n\t\t// DevTools 【メモリ】【重複する文字列】で悪さするので廃止\n\n\t\tthis.addChild(txt);\n\t\tthis.#rctBtnTxt.width = txt.width;\t// addChild()後に取得すること\n\t\tthis.#rctBtnTxt.height = txt.height;\n\t//x\tthis.#rctBtnTxt = txt.getBounds();\t// 上手くいかない\n\n\t\tif (! hArg.b_pic) Layer.setBlendmode(this, hArg);\t// 重なり順でここ\n\t\tButton.#procMasume4txt(this, txt);\n\t\tif (! this.#o.enabled) {if (! isStop) resolve(); return}\n\n\t\tconst style_hover = style.clone();\n\t\tif (hArg.style_hover) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style_hover);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style_hover)[nm] = v;\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style_hover', e.message));\n\t\t\telse throw 'fn:Button.ts style_hover';\n\t\t}\n\t\telse style_hover.fill = 'white';\n\n\t\tconst style_clicked = style_hover.clone();\n\t\tif (hArg.style_clicked) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style_clicked);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style_clicked)[nm] = v;\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style_clicked', e.message));\n\t\t\telse throw 'fn:Button.ts style_clicked';\n\t\t}\n\t\telse style_clicked.dropShadow = false;\n\n\t\tthis.normal = ()=> {txt.style = style};\n\t\tthis.#hover = ()=> {\n\t\t\tif (! canFocus()) return false;\n\t\t\ttxt.style = style_hover;\n\t\t\treturn true;\n\t\t};\n\t\tthis.#clicked = ()=> {txt.style = style_clicked};\n\n\t\tif (! isStop) resolve();\n\t}\n\n\toverride\tdestroy(): void {\n\t\tthis.normal\t\t= ()=> { /* empty */ };\n\t\tthis.#hover\t\t= ()=> false;\n\t\tthis.#clicked\t= ()=> { /* empty */ };\n\n\t\tthis.evtMng.unButton(this);\n\t\tthis.#sps.destroy();\n\t\tsuper.destroy();\n\t}\n\n\tmakeDesignCast(_gdc: IMakeDesignCast) { /* empty */ }\n\tshowDesignCast() { /* empty */ }\n//\tshowDesignCast() {this.#idc.visible = true}\n\tcvsResize() { /* empty */ }\n\n\t#loaded_b_pic(sp: Sprite, txt: Text) {\n\t\tthis.setChildIndex(sp, 0);\n\t\tsp.alpha = txt.alpha;\n\t\tsp.setTransform(\n\t\t\ttxt.x, txt.y,\n\t\t\t1, 1, txt.rotation, 0, 0,\n\t\t\t(sp.width -txt.width) /2,\n\t\t\t(sp.height -txt.height) /2,\n\t\t);\n\n\t\tsp.name = txt.name;\n\t}\n\n\tnormal\t\t: ()=> void\t\t= ()=> { /* empty */ };\n\t#hover\t\t: ()=> boolean\t= ()=> false;\n\t#clicked\t: ()=> void\t\t= ()=> { /* empty */ };\n\t#loaded_pic(sp: Sprite) {\n\t\tthis.#o.alpha = sp.alpha = argChk_Num(this.hArg, 'alpha', sp.alpha);\n//\t\t(this.#idc as PicBtnDesignCast).setSp(sp);\n\n\t\tconst w_3 = sp.width /3;\n\t\tconst w = this.#o.enabled ?w_3 :sp.width;\n\t\tconst h = sp.height;\n\t\tconst tx = sp.texture.baseTexture;\n\t\tconst txNormal = new Texture(tx, new Rectangle(0, 0, w_3, h));\n\t\tconst txClicked = new Texture(tx, new Rectangle(w_3, 0, w_3, h));\n\t\tconst txHover = new Texture(tx, new Rectangle(w_3 *2, 0, w_3, h));\n\t\tconst normal = ()=> {sp.texture = txNormal};\n\t\tif (this.#o.enabled) normal();\n\n\t\tthis.normal\t= normal;\n\t\tthis.#hover\t\t= ()=> {\n\t\t\tif (! this.canFocus()) return false;\n\t\t\tsp.texture = txHover;\n\t\t\treturn true;\n\t\t};\n\t\tthis.#clicked\t= ()=> {sp.texture = txClicked};\n\n\t\tif ('width' in this.hArg) {\n\t\t\tthis.#o.width = uint(this.hArg.width);\n\t\t\tthis.scale.x *= this.#o.width /w;\n\t\t}\n\t\telse this.#o.width = w;\n\t\tif ('height' in this.hArg) {\n\t\t\tthis.#o.height = uint(this.hArg.height);\n\t\t\tthis.scale.y *= this.#o.height /h;\n\t\t}\n\t\telse this.#o.height = h;\n\t\t// sp.name = JSON.stringify(this.#o);\t// dump用\n\t\t// DevTools 【メモリ】【重複する文字列】で悪さするので廃止\n\n\t\tButton.#procMasume4pic(this, sp, w, h);\n\t}\n\n}\n"],"names":["Button","Container","hArg","evtMng","resolve","canFocus","#o","argChk_Boolean","uint","argChk_Num","#rctBtnTxt","#hover","#clicked","#sps","SpritesMng","sp","#loaded_pic","height","style","TextStyle","o","nm","v","mesErrJSON","txt","Text","text","isStop","#loaded_b_pic","Layer","#procMasume4txt","style_hover","style_clicked","_me","_txt","#procMasume4pic","_sp","_w3","_h","cfg","me","Graphics","w3","h","_text","Rectangle","_gdc","w_3","w","tx","txNormal","Texture","txClicked","txHover","normal"],"mappings":"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"}