@galacean/engine-ui 2.0.0-alpha.2 → 2.0.0-alpha.21

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galacean/engine-ui",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.21",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -26,10 +26,10 @@
26
26
  "types/**/*"
27
27
  ],
28
28
  "devDependencies": {
29
- "@galacean/engine": "2.0.0-alpha.2"
29
+ "@galacean/engine": "2.0.0-alpha.21"
30
30
  },
31
31
  "peerDependencies": {
32
- "@galacean/engine": "2.0.0-alpha.2"
32
+ "@galacean/engine": "2.0.0-alpha.21"
33
33
  },
34
34
  "scripts": {
35
35
  "b:types": "tsc"
@@ -7,12 +7,11 @@ import { IElement } from "../interface/IElement";
7
7
  * handling rendering and events based on it.
8
8
  */
9
9
  export declare class UICanvas extends Component implements IElement {
10
- private static _targetTempPath;
11
10
  private static _tempGroupAbleList;
12
11
  private static _tempVec3;
13
12
  private static _tempMat;
14
13
  private _renderMode;
15
- private _renderCamera;
14
+ private _camera;
16
15
  private _cameraObserver;
17
16
  private _resolutionAdaptationMode;
18
17
  private _sortOrder;
@@ -38,8 +37,15 @@ export declare class UICanvas extends Component implements IElement {
38
37
  get renderMode(): CanvasRenderMode;
39
38
  set renderMode(mode: CanvasRenderMode);
40
39
  /**
41
- * The camera used to render the UI canvas in `ScreenSpaceCamera` mode.
42
- * @remarks If set `ScreenSpaceCamera` but no corresponding camera is assigned, the actual rendering mode defaults to `ScreenSpaceOverlay`.
40
+ * The camera associated with this canvas.
41
+ * @remarks
42
+ * - `ScreenSpaceCamera` mode: Used for rendering adaptation. Defaults to `ScreenSpaceOverlay` if not assigned.
43
+ * - `WorldSpace` mode: Used for event detection. If not assigned, events are handled by the highest-priority camera.
44
+ */
45
+ get camera(): Camera;
46
+ set camera(value: Camera);
47
+ /**
48
+ * @deprecated Use {@link camera} instead.
43
49
  */
44
50
  get renderCamera(): Camera;
45
51
  set renderCamera(value: Camera);
@@ -1,4 +1,4 @@
1
- import { Entity, Transform, Vector2 } from "@galacean/engine";
1
+ import { Transform, Vector2 } from "@galacean/engine";
2
2
  import { HorizontalAlignmentMode } from "../enums/HorizontalAlignmentMode";
3
3
  import { VerticalAlignmentMode } from "../enums/VerticalAlignmentMode";
4
4
  /**
@@ -96,7 +96,7 @@ export declare class UITransform extends Transform {
96
96
  */
97
97
  get alignMiddle(): number;
98
98
  set alignMiddle(value: number);
99
- _cloneTo(target: UITransform, srcRoot: Entity, targetRoot: Entity): void;
99
+ _cloneTo(target: UITransform): void;
100
100
  protected _onLocalMatrixChanging(): void;
101
101
  protected _onWorldMatrixChanging(): void;
102
102
  protected _onPositionChanged(): void;
@@ -1,21 +1,18 @@
1
- import { PointerEventData } from "@galacean/engine";
1
+ import { PointerEventData, Signal } from "@galacean/engine";
2
2
  import { UIInteractive } from "../interactive/UIInteractive";
3
3
  export declare class Button extends UIInteractive {
4
- private _listeners;
4
+ /** Signal emitted when the button is clicked. */
5
+ readonly onClick: Signal<[PointerEventData]>;
6
+ onPointerClick(event: PointerEventData): void;
7
+ onDestroy(): void;
5
8
  /**
6
9
  * Add a listening function for click.
7
- * @param listener - The listening function
10
+ * @deprecated Use `onClick.on(listener, context)` instead.
8
11
  */
9
12
  addClicked(listener: (event: PointerEventData) => void): void;
10
13
  /**
11
14
  * Remove a listening function of click.
12
- * @param listener - The listening function
15
+ * @deprecated Use `onClick.off(listener, context)` instead.
13
16
  */
14
17
  removeClicked(listener: (event: PointerEventData) => void): void;
15
- onPointerClick(event: PointerEventData): void;
16
- onDestroy(): void;
17
- }
18
- export interface IUIListener {
19
- fn: (event: PointerEventData) => void;
20
- destroyed?: boolean;
21
18
  }
@@ -15,6 +15,7 @@ export declare class Text extends UIRenderer implements ITextRenderer {
15
15
  private _fontSize;
16
16
  private _fontStyle;
17
17
  private _lineSpacing;
18
+ private _characterSpacing;
18
19
  private _horizontalAlignment;
19
20
  private _verticalAlignment;
20
21
  private _enableWrapping;
@@ -40,10 +41,15 @@ export declare class Text extends UIRenderer implements ITextRenderer {
40
41
  get fontStyle(): FontStyle;
41
42
  set fontStyle(value: FontStyle);
42
43
  /**
43
- * The space between two lines (in pixels).
44
+ * The space between two lines, in em (ratio of fontSize).
44
45
  */
45
46
  get lineSpacing(): number;
46
47
  set lineSpacing(value: number);
48
+ /**
49
+ * The space between two characters, in em (ratio of fontSize).
50
+ */
51
+ get characterSpacing(): number;
52
+ set characterSpacing(value: number);
47
53
  /**
48
54
  * The horizontal alignment.
49
55
  */
@@ -74,7 +80,7 @@ export declare class Text extends UIRenderer implements ITextRenderer {
74
80
  */
75
81
  get bounds(): BoundingBox;
76
82
  constructor(entity: Entity);
77
- _cloneTo(target: Text, srcRoot: Entity, targetRoot: Entity): void;
83
+ _cloneTo(target: Text): void;
78
84
  protected _updateBounds(worldBounds: BoundingBox): void;
79
85
  protected _render(context: any): void;
80
86
  private _resetSubFont;
@@ -1,11 +1,10 @@
1
- import { Entity, Script } from "@galacean/engine";
1
+ import { Script } from "@galacean/engine";
2
2
  import { IGroupAble } from "../../interface/IGroupAble";
3
3
  import { Transition } from "./transition/Transition";
4
4
  /**
5
5
  * Interactive component.
6
6
  */
7
7
  export declare class UIInteractive extends Script implements IGroupAble {
8
- private static _targetTempPath;
9
8
  protected _transitions: Transition[];
10
9
  protected _interactive: boolean;
11
10
  protected _state: InteractiveState;
@@ -41,7 +40,6 @@ export declare class UIInteractive extends Script implements IGroupAble {
41
40
  onPointerEnter(): void;
42
41
  onPointerExit(): void;
43
42
  onDestroy(): void;
44
- _cloneTo(target: UIInteractive, srcRoot: Entity, targetRoot: Entity): void;
45
43
  _onEnableInScene(): void;
46
44
  _onDisableInScene(): void;
47
45
  private _updateState;
package/types/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { Material } from "@galacean/engine";
2
2
  export * from "./component";
3
3
  export { CanvasRenderMode } from "./enums/CanvasRenderMode";
4
- export { ResolutionAdaptationMode } from "./enums/ResolutionAdaptationMode";
5
- export { UIPointerEventEmitter } from "./input/UIPointerEventEmitter";
6
4
  export { HorizontalAlignmentMode } from "./enums/HorizontalAlignmentMode";
5
+ export { ResolutionAdaptationMode } from "./enums/ResolutionAdaptationMode";
7
6
  export { VerticalAlignmentMode } from "./enums/VerticalAlignmentMode";
7
+ export { UIPointerEventEmitter } from "./input/UIPointerEventEmitter";
8
8
  export declare class EngineExtension {
9
9
  _uiDefaultMaterial: Material;
10
10
  _getUIDefaultMaterial(): Material;