@thegraid/hexlib 1.1.12 → 1.2.7

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 (53) hide show
  1. package/dist/game-play.d.ts +33 -13
  2. package/dist/game-play.d.ts.map +1 -1
  3. package/dist/game-play.js +53 -36
  4. package/dist/game-play.js.map +1 -1
  5. package/dist/game-setup.d.ts +20 -5
  6. package/dist/game-setup.d.ts.map +1 -1
  7. package/dist/game-setup.js +20 -12
  8. package/dist/game-setup.js.map +1 -1
  9. package/dist/game-state.d.ts +20 -7
  10. package/dist/game-state.d.ts.map +1 -1
  11. package/dist/game-state.js +40 -36
  12. package/dist/game-state.js.map +1 -1
  13. package/dist/hex.d.ts +17 -9
  14. package/dist/hex.d.ts.map +1 -1
  15. package/dist/hex.js +19 -9
  16. package/dist/hex.js.map +1 -1
  17. package/dist/image-loader.d.ts.map +1 -1
  18. package/dist/image-loader.js.map +1 -1
  19. package/dist/meeple.d.ts +6 -8
  20. package/dist/meeple.d.ts.map +1 -1
  21. package/dist/meeple.js +8 -14
  22. package/dist/meeple.js.map +1 -1
  23. package/dist/player-panel.d.ts +3 -7
  24. package/dist/player-panel.d.ts.map +1 -1
  25. package/dist/player-panel.js +50 -38
  26. package/dist/player-panel.js.map +1 -1
  27. package/dist/player.d.ts +5 -2
  28. package/dist/player.d.ts.map +1 -1
  29. package/dist/player.js +10 -6
  30. package/dist/player.js.map +1 -1
  31. package/dist/scenario-parser.d.ts +8 -4
  32. package/dist/scenario-parser.d.ts.map +1 -1
  33. package/dist/scenario-parser.js +10 -4
  34. package/dist/scenario-parser.js.map +1 -1
  35. package/dist/shapes.d.ts +96 -33
  36. package/dist/shapes.d.ts.map +1 -1
  37. package/dist/shapes.js +151 -92
  38. package/dist/shapes.js.map +1 -1
  39. package/dist/table-params.d.ts +3 -3
  40. package/dist/table-params.d.ts.map +1 -1
  41. package/dist/table-params.js +2 -2
  42. package/dist/table-params.js.map +1 -1
  43. package/dist/table.d.ts +38 -11
  44. package/dist/table.d.ts.map +1 -1
  45. package/dist/table.js +79 -51
  46. package/dist/table.js.map +1 -1
  47. package/dist/text-log.js +1 -1
  48. package/dist/text-log.js.map +1 -1
  49. package/dist/tile.d.ts +22 -25
  50. package/dist/tile.d.ts.map +1 -1
  51. package/dist/tile.js +38 -37
  52. package/dist/tile.js.map +1 -1
  53. package/package.json +3 -2
package/dist/shapes.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /// <reference types="easeljs" />
2
2
  import { XYWH } from "@thegraid/common-lib";
3
- import { Container, DisplayObject, Graphics, Shape, Text } from "@thegraid/easeljs-module";
3
+ import { NamedContainer } from "@thegraid/easeljs-lib";
4
+ import { DisplayObject, Graphics, Shape, Text } from "@thegraid/easeljs-module";
4
5
  import type { IHex2 } from "./hex";
5
6
  export declare class C1 {
6
7
  static GREY: string;
@@ -152,14 +153,13 @@ export declare class CircleShape extends EllipseShape {
152
153
  }
153
154
  /** a Rectangular Shape, maybe with rounded corners */
154
155
  export declare class RectShape extends PaintableShape {
155
- fillc: string;
156
156
  strokec: string;
157
157
  _rect: XYWH;
158
158
  _cRad: number;
159
159
  /**
160
160
  * Paint a rectangle (possibly with rounded corners) with fillc and stroke.
161
161
  * @param rect \{ x=0, y=0, w=hexRad, h=hexRad, r=0 } origin, extent and corner radius of Rectangle
162
- * @param fillc [C.white] color to fill the rectangle, '' for no fill
162
+ * @param fillc [C.white] color to paint the rectangle, '' for no fill
163
163
  * @param strokec [C.black] stroke color, '' for no stroke
164
164
  * @param g0 [new Graphics()] Graphics to clone and extend during paint()
165
165
  */
@@ -190,64 +190,127 @@ export declare class LegalMark extends Shape {
190
190
  hex2: IHex2;
191
191
  setOnHex(hex: IHex2): void;
192
192
  }
193
+ /** Container with a colored RectShape behind the given DisplayObject. */
194
+ export declare class RectWithDisp extends NamedContainer implements Paintable {
195
+ /** draws a RectShape around disp, with border, no strokec */
196
+ rectShape: RectShape;
197
+ /** DisplayObject displayed above a RectShape of color */
198
+ readonly disp: DisplayObject;
199
+ _border: number;
200
+ /** extend RectShape around DisplayObject bounds. */
201
+ get border(): number;
202
+ set border(b: number);
203
+ _corner: number;
204
+ /** corner radius, does not repaint/recache */
205
+ get corner(): number;
206
+ set corner(r: number);
207
+ /**
208
+ * Create Container a RectShape behind the given DisplayOBject.
209
+ *
210
+ * The RectShape extends around (disp.getBounds() ?? { 0, 0, 10, 10 })
211
+ * @param disp a DisplayObject
212
+ * @param color [WHITE] of background RectShape.
213
+ * @param border [5] extend RectShape around disp
214
+ * @param corner [0] corner radius
215
+ * @param cgf [tscgf] CGF for the RectShape
216
+ */
217
+ constructor(disp: DisplayObject, color?: string, border?: number, corner?: number, cgf?: CGF);
218
+ /** RectWithDisp.paint(color) paints new color for the backing RectShape. */
219
+ paint(color?: string, force?: boolean): Graphics;
220
+ /** uses PaintableShape.setCacheID. */
221
+ setCacheID(): void;
222
+ /** Extend around (disp.getBound() ?? {0, 0, 10, 10})
223
+ *
224
+ * override if (disp.bounds +/- border) is not what you want.
225
+ */
226
+ calcBounds(): XYWH;
227
+ /**
228
+ * Note: if you addChild() to this Container, setBounds(undefined) won't consider them
229
+ * unless you override calcBounds() to do a Rectangle.union()
230
+ */
231
+ setBounds(x: number | undefined | null, y: number, width: number, height: number): void;
232
+ }
193
233
  /** A Text label above a colored RectShape.
194
234
  *
195
235
  * Configure the border width [.3] and corner radius [0].
196
236
  */
197
- export declare class TextInRect extends Container implements Paintable {
198
- /** draws a RectShape around label_text, with border, no strokec */
199
- rectShape: RectShape;
200
- /** Text object to be displayed above an RectShape of color */
201
- label: Text;
202
- _border: number;
237
+ export declare class TextInRect extends RectWithDisp implements Paintable {
238
+ disp: Text;
239
+ /** Text object displayed above a RectShape of color */
240
+ get label(): Text;
203
241
  /** extend RectShape around Text bounds; fraction of line height. */
204
242
  get border(): number;
205
- set border(b: number);
206
- _corner: number;
243
+ set border(tb: number);
207
244
  /** corner radius; fraction of line height. */
208
245
  get corner(): number;
209
- set corner(rc: number);
246
+ set corner(tr: number);
210
247
  /** the string inside the Text label. */
211
248
  get label_text(): string | undefined;
212
249
  set label_text(txt: string | undefined);
213
250
  /**
214
251
  * Create Container with Text above a RectShape.
215
- * @param color of background RectShape.
216
252
  * @param text label
253
+ * @param color [C.WHITE] of background RectShape.
217
254
  * @param border [.3] extend RectShape around Text; fraction of fontSize
218
255
  * @param corner [0] corner radius as fraction of fontSize
219
- * @param cgf [new Graphics()]
256
+ * @param cgf [tscgf] CGF for the RectShape
220
257
  */
221
- constructor(color: string, label: Text, border?: number, corner?: number, cgf?: CGF);
222
- /** TextInRect.paint(color) paints new color for the backing RectShape. */
223
- paint(color?: string, force?: boolean): Graphics;
224
- calcBounds(): XYWH;
225
- setCacheID(): void;
226
- setBounds(x: number | undefined | null, y: number, width: number, height: number): void;
258
+ constructor(label: Text, color?: string, border?: number, corner?: number, cgf?: CGF);
227
259
  }
260
+ export type UtilButtonOptions = {
261
+ fontSize?: number;
262
+ textColor?: string;
263
+ border?: number;
264
+ corner?: number;
265
+ rollover?: (mouseIn: boolean) => void;
266
+ active?: boolean;
267
+ visible?: boolean;
268
+ };
228
269
  /** Construct a CenterText for a TextInRect. */
229
270
  export declare class UtilButton extends TextInRect {
230
- fontSize: number;
231
- textColor: string;
232
271
  /**
233
272
  * Create Container with CenterText above a RectShape.
234
- * @param color of background RectShape.
235
- * @param text label
236
- * @param fontSize [TP.hexRad/2]
237
- * @param textColor [C.black]
238
- * @param border [.3]
239
- * @param cgf [trcsf]
273
+ *
274
+ * on(rollover|rollout, this.rollover(mouseIn))
275
+ *
276
+ * initially visible & mouseEnabled, but deactivated.
277
+ * @param label if not instanceof Text: new CenterText(label, fontSize, textColor)
278
+ * @param color [undefined = C.WHITE] of the background
279
+ * @param options
280
+ * * border: [undefined = .3] for background, fraction of fontSize
281
+ * * corner: [undefined = 0] corner radius of background
282
+ * * fontSize: [TP.hexRad/2] if Text not supplied
283
+ * * textColor: [C.BLACK] if Text not supplied
284
+ * * visible: [false] initial visibility
285
+ * * active: [false] supply true|false to activate(active, visible) including stage?.update()
286
+ * @param cgf [tscgf] CGF for the RectShape
287
+ */
288
+ constructor(label: string | Text, color?: string, options?: UtilButtonOptions, cgf?: CGF);
289
+ get fontSize(): number;
290
+ /** When activated, this.rollover(mouseIn) is invoked when mouse enter/exits this button. */
291
+ rollover: (mouseIn: boolean) => void;
292
+ _active: boolean;
293
+ /** indicates if this button is currently activated. */
294
+ get isActive(): boolean;
295
+ /**
296
+ * Activate (or deactivate) this UtilButton.
297
+ *
298
+ * When activated: visible, mouseEnabled, enable rollover(mouseIn).
299
+ *
300
+ * @param active [true] false to deactivate
301
+ * @param visible [active] true or false to set this.visible
302
+ * @returns this
240
303
  */
241
- constructor(color: string, text: string, fontSize?: number, textColor?: string, border?: number, cgf?: CGF);
304
+ activate(active?: boolean, visible?: boolean): this;
242
305
  /**
243
306
  * Repaint the stage with button visible or not.
244
307
  *
245
- * Allow Chrome to finish stage.update before proceeding with afterUpdate().
308
+ * Allow Chrome to finish stage.update before proceeding with after().
246
309
  *
247
310
  * Other code can watch this.blocked; then call updateWait(false) to reset.
248
- * @param after callback on('drawend') when stage.update is done [none]
249
- * @param scope thisArg for after [this UtilButton]
250
- * @param hide [false] true to hide and disable this UtilButton
311
+ * @param after [() => {}] callback on('drawend') when stage.update is done [none]
312
+ * @param scope [this] thisArg for after [this UtilButton]
313
+ * @param hide [false] true to deactivate this UtilButton
251
314
  * @deprecated use easeljs-lib.afterUpdate(cont, after, scope) directly
252
315
  */
253
316
  updateWait(after?: () => void, scope?: any, hide?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../src/shapes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../src/shapes.ts"],"names":[],"mappings":"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"}
package/dist/shapes.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { C, className } from "@thegraid/common-lib";
2
- import { afterUpdate, CenterText } from "@thegraid/easeljs-lib";
3
- import { Container, Graphics, Shape } from "@thegraid/easeljs-module";
2
+ import { afterUpdate, CenterText, NamedContainer } from "@thegraid/easeljs-lib";
3
+ import { Graphics, Shape, Text } from "@thegraid/easeljs-module";
4
4
  import { H } from "./hex-intfs";
5
5
  import { TP } from "./table-params";
6
6
  export class C1 {
@@ -88,8 +88,7 @@ export class PaintableShape extends Shape {
88
88
  setBounds(x, y, width, height) {
89
89
  if (x === undefined) {
90
90
  const cached = this.cacheID; // undefined | number >= 1
91
- this.uncache();
92
- // setBounds(null, 0, 0, 0); // not nec'sary/useful
91
+ this.uncache(); // setBounds(null, 0, 0, 0); // not nec'sary/useful
93
92
  const { x, y, w, h } = this.calcBounds();
94
93
  super.setBounds(x, y, w, h);
95
94
  if (cached)
@@ -131,7 +130,7 @@ export class PolyShape extends PaintableShape {
131
130
  * @param g0 Graphics base
132
131
  */
133
132
  constructor({ rad, nsides, pSize, tilt, fillc, strokec }, g0) {
134
- super((fillc, g) => this.pscgf(fillc, g ?? g0), fillc, g0);
133
+ super((fillc) => this.pscgf(fillc), fillc, g0);
135
134
  this.nsides = nsides ?? 4;
136
135
  this.rad = rad ?? TP.hexRad;
137
136
  this.pSize = pSize ?? 0;
@@ -249,27 +248,7 @@ export class CircleShape extends EllipseShape {
249
248
  }
250
249
  /** a Rectangular Shape, maybe with rounded corners */
251
250
  export class RectShape extends PaintableShape {
252
- fillc;
253
251
  strokec;
254
- // static rectWHXY(w: number, h: number, x = -w / 2, y = -h / 2, g0 = new Graphics()) {
255
- // return g0.dr(x, y, w, h)
256
- // }
257
- // static rectWHXYr(w: number, h: number, x = -w / 2, y = -h / 2, r = 0, g0 = new Graphics()) {
258
- // return g0.rr(x, y, w, h, r);
259
- // }
260
- // /**
261
- // * paint a background RectShape for given Text.
262
- // * @param txt Text
263
- // * @param b border size around text [txt.getMeasuredLineHeight * .1]
264
- // * @param g0 append to Graphics [new Graphics()]
265
- // * @returns
266
- // */
267
- // static rectText(txt: Text, b?: number, g0 = new Graphics()) {
268
- // const fs = txt.getMeasuredLineHeight();
269
- // if (b === undefined) b = fs * .1;
270
- // const { x, y, width, height } = txt.getBounds();
271
- // return RectShape.rectWHXY(width + 2 * b, height + 2 * b, x - b, y - b, g0);
272
- // }
273
252
  // compare to Bounds;
274
253
  // this._bounds: Rectangle === { x, y, width, height }
275
254
  // this._rectangle: Rectangle === { x, y, width, height }
@@ -278,15 +257,14 @@ export class RectShape extends PaintableShape {
278
257
  /**
279
258
  * Paint a rectangle (possibly with rounded corners) with fillc and stroke.
280
259
  * @param rect \{ x=0, y=0, w=hexRad, h=hexRad, r=0 } origin, extent and corner radius of Rectangle
281
- * @param fillc [C.white] color to fill the rectangle, '' for no fill
260
+ * @param fillc [C.white] color to paint the rectangle, '' for no fill
282
261
  * @param strokec [C.black] stroke color, '' for no stroke
283
262
  * @param g0 [new Graphics()] Graphics to clone and extend during paint()
284
263
  */
285
264
  constructor({ x = 0, y = 0, w = TP.hexRad, h = TP.hexRad, r = 0 }, fillc = C.white, strokec = C.black, g0) {
286
265
  super((fillc) => this.rscgf(fillc), fillc, g0);
287
- this.fillc = fillc;
288
266
  this.strokec = strokec;
289
- this._cgf = this.rscgf;
267
+ this._cgf = this.rscgf; // replace ()=>{} with direct function (now that we can say 'this')
290
268
  this._cRad = r;
291
269
  this._rect = { x, y, w, h };
292
270
  this.setBounds(x, y, w, h);
@@ -300,7 +278,7 @@ export class RectShape extends PaintableShape {
300
278
  setBounds(x, y, width, height) {
301
279
  if (x === undefined) {
302
280
  const b = this._rect;
303
- this.setBounds(b.x, b.y, b.w, b.h);
281
+ this.setBounds(b.x, b.y, b.w, b.h); // TODO: include strokeSize, which we don't have.. being in user-supplied g0
304
282
  }
305
283
  else {
306
284
  super.setBounds(x, y, width, height); // can be different from _rect
@@ -361,74 +339,78 @@ export class LegalMark extends Shape {
361
339
  parent.addChild(this);
362
340
  }
363
341
  }
364
- // TODO: Mixin base class PaintableShape? and override everything except setBounds()?
365
- /** A Text label above a colored RectShape.
366
- *
367
- * Configure the border width [.3] and corner radius [0].
368
- */
369
- export class TextInRect extends Container {
370
- /** draws a RectShape around label_text, with border, no strokec */
342
+ /** Container with a colored RectShape behind the given DisplayObject. */
343
+ export class RectWithDisp extends NamedContainer {
344
+ /** draws a RectShape around disp, with border, no strokec */
371
345
  rectShape = new RectShape({ x: 0, y: 0, w: 8, h: 8, r: 0 }, C.WHITE, '');
372
- /** Text object to be displayed above an RectShape of color */
373
- label;
346
+ /** DisplayObject displayed above a RectShape of color */
347
+ disp;
374
348
  _border;
375
- /** extend RectShape around Text bounds; fraction of line height. */
349
+ /** extend RectShape around DisplayObject bounds. */
376
350
  get border() { return this._border; }
377
- set border(b) { this._border = b; }
351
+ set border(b) {
352
+ this._border = b;
353
+ this.setBounds(undefined, 0, 0, 0);
354
+ }
378
355
  _corner;
379
- /** corner radius; fraction of line height. */
356
+ /** corner radius, does not repaint/recache */
380
357
  get corner() { return this._corner; }
381
- set corner(rc) {
382
- this._corner = rc;
383
- const r = rc * this.label.getMeasuredLineHeight();
358
+ set corner(r) {
359
+ this._corner = r;
384
360
  this.rectShape.setRectRad({ r });
385
361
  }
386
- /** the string inside the Text label. */
387
- get label_text() { return this.label.text; }
388
- set label_text(txt) {
389
- this.label.text = txt;
390
- this.setBounds(undefined, 0, 0, 0);
391
- this.paint(undefined, true);
392
- }
393
362
  /**
394
- * Create Container with Text above a RectShape.
395
- * @param color of background RectShape.
396
- * @param text label
397
- * @param border [.3] extend RectShape around Text; fraction of fontSize
398
- * @param corner [0] corner radius as fraction of fontSize
399
- * @param cgf [new Graphics()]
363
+ * Create Container a RectShape behind the given DisplayOBject.
364
+ *
365
+ * The RectShape extends around (disp.getBounds() ?? { 0, 0, 10, 10 })
366
+ * @param disp a DisplayObject
367
+ * @param color [WHITE] of background RectShape.
368
+ * @param border [5] extend RectShape around disp
369
+ * @param corner [0] corner radius
370
+ * @param cgf [tscgf] CGF for the RectShape
400
371
  */
401
- constructor(color, label, border = .3, corner = 0, cgf) {
402
- super();
403
- this.label = label;
372
+ constructor(disp, color = C.WHITE, border = 5, corner = 0, cgf) {
373
+ super('rectWithDisp'); // ISA new Container()
374
+ if (cgf)
375
+ this.rectShape._cgf = cgf; // HasA RectShape & DisplayObject
376
+ this.disp = disp;
404
377
  this.border = border;
405
378
  this.corner = corner; // _rShape._cRad = corner
406
- this.setBounds(undefined, 0, 0, 0); // calc (Text + border) -> rectShape -> this
407
- this.rectShape.paint(color); // set initial color, Graphics
408
- this.addChild(this.rectShape, this.label);
379
+ this.setBounds(undefined, 0, 0, 0); // calc (disp + border) -> rectShape -> this
380
+ this.paint(color); // set initial color, Graphics
381
+ this.addChild(this.rectShape, this.disp);
409
382
  }
410
- /** TextInRect.paint(color) paints new color for the backing RectShape. */
383
+ /** RectWithDisp.paint(color) paints new color for the backing RectShape. */
411
384
  paint(color = this.rectShape.colorn, force = false) {
412
385
  this.rectShape.rscgf;
413
386
  return this.rectShape.paint(color, force);
414
387
  }
415
- // override here if you don't like (label.bounds + border)
416
- calcBounds() {
417
- const tb = this.label.getBounds(), db = this.label.getMeasuredLineHeight() * this._border;
418
- const b = { x: tb.x - db, y: tb.y - db, w: tb.width + 2 * db, h: tb.height + 2 * db };
419
- return b;
420
- }
388
+ /** uses PaintableShape.setCacheID. */
421
389
  setCacheID() {
422
390
  this.rectShape.setCacheID.call(this); //invoke from a PaintableShape
423
391
  }
424
- // Bounds = (label:Text + border) -> rectShape._rect [& cRad] -> this._bounds
425
- // Copied from/to PaintableShape.setBounds()
392
+ /** Extend around (disp.getBound() ?? {0, 0, 10, 10})
393
+ *
394
+ * override if (disp.bounds +/- border) is not what you want.
395
+ */
396
+ calcBounds() {
397
+ const { x, y, width: w, height: h } = this.disp.getBounds() ?? { x: 0, y: 0, width: 10, height: 10 };
398
+ const db = this.border, { x: dx, y: dy } = this.disp;
399
+ const b = { x: dx + x - db, y: dy + y - db, w: w + 2 * db, h: h + 2 * db };
400
+ return b;
401
+ }
402
+ // Bounds = calcBounds (disp.bounds + border) -> rectShape._rect [& cRad] -> this._bounds
403
+ /**
404
+ * Note: if you addChild() to this Container, setBounds(undefined) won't consider them
405
+ * unless you override calcBounds() to do a Rectangle.union()
406
+ */
426
407
  setBounds(x, y, width, height) {
427
408
  if (x === undefined) {
428
- const { x, y, w, h } = this.calcBounds(), cached = this.cacheID;
409
+ const cached = this.cacheID;
410
+ this.uncache();
411
+ const { x, y, w, h } = this.calcBounds();
429
412
  this.rectShape.setRectRad({ x, y, w, h });
430
413
  this.rectShape.setBounds(x, y, w, h); // setBounds to _rect
431
- this.uncache();
432
414
  super.setBounds(x, y, w, h);
433
415
  if (cached)
434
416
  this.cache(x, y, w, h); // recache if previously cached
@@ -438,39 +420,116 @@ export class TextInRect extends Container {
438
420
  }
439
421
  }
440
422
  }
423
+ /** A Text label above a colored RectShape.
424
+ *
425
+ * Configure the border width [.3] and corner radius [0].
426
+ */
427
+ export class TextInRect extends RectWithDisp {
428
+ /** Text object displayed above a RectShape of color */
429
+ get label() { return this.disp; }
430
+ /** extend RectShape around Text bounds; fraction of line height. */
431
+ get border() { return this._border * this.disp.getMeasuredLineHeight(); }
432
+ set border(tb) {
433
+ this._border = tb;
434
+ this.setBounds(undefined, 0, 0, 0);
435
+ }
436
+ /** corner radius; fraction of line height. */
437
+ get corner() { return this._corner; }
438
+ set corner(tr) {
439
+ this._corner = tr; // get corner() returns this unscaled value
440
+ // but internally, _cRad is scaled by lineHeight
441
+ const r = tr * this.disp.getMeasuredLineHeight();
442
+ this.rectShape.setRectRad({ r });
443
+ }
444
+ /** the string inside the Text label. */
445
+ get label_text() { return this.disp.text; }
446
+ set label_text(txt) {
447
+ this.disp.text = txt;
448
+ this.setBounds(undefined, 0, 0, 0);
449
+ this.paint(undefined, true);
450
+ }
451
+ /**
452
+ * Create Container with Text above a RectShape.
453
+ * @param text label
454
+ * @param color [C.WHITE] of background RectShape.
455
+ * @param border [.3] extend RectShape around Text; fraction of fontSize
456
+ * @param corner [0] corner radius as fraction of fontSize
457
+ * @param cgf [tscgf] CGF for the RectShape
458
+ */
459
+ constructor(label, color, border = .3, corner = 0, cgf) {
460
+ super(label, color, border, corner, cgf); // ISA new Container()
461
+ }
462
+ }
441
463
  // From ankh, 'done' button to move to next phase or action.
442
464
  /** Construct a CenterText for a TextInRect. */
443
465
  export class UtilButton extends TextInRect {
444
- fontSize;
445
- textColor;
446
466
  /**
447
467
  * Create Container with CenterText above a RectShape.
448
- * @param color of background RectShape.
449
- * @param text label
450
- * @param fontSize [TP.hexRad/2]
451
- * @param textColor [C.black]
452
- * @param border [.3]
453
- * @param cgf [trcsf]
468
+ *
469
+ * on(rollover|rollout, this.rollover(mouseIn))
470
+ *
471
+ * initially visible & mouseEnabled, but deactivated.
472
+ * @param label if not instanceof Text: new CenterText(label, fontSize, textColor)
473
+ * @param color [undefined = C.WHITE] of the background
474
+ * @param options
475
+ * * border: [undefined = .3] for background, fraction of fontSize
476
+ * * corner: [undefined = 0] corner radius of background
477
+ * * fontSize: [TP.hexRad/2] if Text not supplied
478
+ * * textColor: [C.BLACK] if Text not supplied
479
+ * * visible: [false] initial visibility
480
+ * * active: [false] supply true|false to activate(active, visible) including stage?.update()
481
+ * @param cgf [tscgf] CGF for the RectShape
482
+ */
483
+ constructor(label, color, options = {}, cgf) {
484
+ const { fontSize, textColor, border, corner, rollover, active, visible } = { fontSize: TP.hexRad / 2, textColor: C.BLACK, ...options };
485
+ const text = (label instanceof Text) ? label : new CenterText(label, fontSize, textColor);
486
+ super(text, color, border, corner, cgf);
487
+ this.rollover = rollover ?? (() => { });
488
+ this.on('rollover', () => this._active && this.rollover(true), this);
489
+ this.on('rollout', () => this._active && this.rollover(false), this);
490
+ this.mouseEnabled = this.mouseChildren = this._active = false;
491
+ if (active !== undefined) {
492
+ this.activate(active, visible); // this.stage?.update()
493
+ }
494
+ else {
495
+ this.visible = !!options.visible;
496
+ }
497
+ }
498
+ get fontSize() { return this.label.getMeasuredLineHeight(); }
499
+ /** When activated, this.rollover(mouseIn) is invoked when mouse enter/exits this button. */
500
+ rollover;
501
+ _active = false;
502
+ /** indicates if this button is currently activated. */
503
+ get isActive() { return this._active; }
504
+ /**
505
+ * Activate (or deactivate) this UtilButton.
506
+ *
507
+ * When activated: visible, mouseEnabled, enable rollover(mouseIn).
508
+ *
509
+ * @param active [true] false to deactivate
510
+ * @param visible [active] true or false to set this.visible
511
+ * @returns this
454
512
  */
455
- constructor(color, text, fontSize = TP.hexRad / 2, textColor = C.black, border = .3, cgf) {
456
- const label = new CenterText(text, fontSize, textColor);
457
- super(color, label, border, 0, cgf);
458
- this.fontSize = fontSize;
459
- this.textColor = textColor;
513
+ activate(active = true, visible = active) {
514
+ this.mouseEnabled = this._active = active;
515
+ this.visible = visible;
516
+ this.stage?.update();
517
+ return this;
460
518
  }
461
519
  /**
462
520
  * Repaint the stage with button visible or not.
463
521
  *
464
- * Allow Chrome to finish stage.update before proceeding with afterUpdate().
522
+ * Allow Chrome to finish stage.update before proceeding with after().
465
523
  *
466
524
  * Other code can watch this.blocked; then call updateWait(false) to reset.
467
- * @param after callback on('drawend') when stage.update is done [none]
468
- * @param scope thisArg for after [this UtilButton]
469
- * @param hide [false] true to hide and disable this UtilButton
525
+ * @param after [() => {}] callback on('drawend') when stage.update is done [none]
526
+ * @param scope [this] thisArg for after [this UtilButton]
527
+ * @param hide [false] true to deactivate this UtilButton
470
528
  * @deprecated use easeljs-lib.afterUpdate(cont, after, scope) directly
471
529
  */
472
530
  updateWait(after, scope = this, hide = false) {
473
- this.visible = this.mouseEnabled = !hide;
531
+ if (hide)
532
+ this.activate(false);
474
533
  // using @thegraid/easeljs-module@^1.1.8: on(once=true) will now 'just work'
475
534
  // using @thegraid/common-lib@^1.3.12: afterUpdate will always update
476
535
  afterUpdate(this, after, scope);
@@ -1 +1 @@
1
- {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../src/shapes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shapes.js","sourceRoot":"","sources":["../src/shapes.ts"],"names":[],"mappings":"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"}