Skip to content

Commit cc817a8

Browse files
committed
Issue #805
Labels now have show/hide methods.
1 parent b5da96a commit cc817a8

File tree

4 files changed

+24
-2
lines changed

4 files changed

+24
-2
lines changed

src/Label.ts

+12-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
SpriteMaterial,
55
Sprite,
66
Vector2,
7+
Material,
78
} from "./WebGL";
89
import { Gradient } from "./Gradient";
910
import { Color, CC, ColorSpec } from "./colors";
@@ -101,7 +102,7 @@ export class Label {
101102
stylespec: any;
102103
canvas: HTMLCanvasElement;
103104
context: any;
104-
sprite: any;
105+
sprite: Sprite;
105106
text: any;
106107
frame: any;
107108
constructor(text: string, parameters: LabelSpec) {
@@ -122,6 +123,15 @@ export class Label {
122123
return this.stylespec;
123124
}
124125

126+
hide() {
127+
this.sprite.visible = false;
128+
}
129+
130+
show() {
131+
132+
this.sprite.visible = true;
133+
}
134+
125135
setContext() {
126136
var style = this.stylespec;
127137
var useScreen =
@@ -305,7 +315,7 @@ export class Label {
305315
alignment: spriteAlignment,
306316
depthTest: !inFront,
307317
screenOffset: style.screenOffset || null,
308-
});
318+
}) as Material;
309319

310320
this.sprite.scale.set(1, 1, 1);
311321

src/WebGL/objects/Sprite.ts

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export class Sprite extends Object3D {
99
_modelViewMatrix: any;
1010
z?: number;
1111
material?: Material;
12+
hidden = false;
1213

1314
constructor(material = new SpriteMaterial() as Material) {
1415
super();

tests/auto/tests/hidelabel.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
3+
let l = viewer.addLabel("Hello World",{position:{x:0,y:0,z:0},useScreen: true, fontSize: 64});
4+
let l2 = viewer.addLabel("Hello World",{position:{x:10,y:0,z:0},backgroundColor: "blue",useScreen: true, fontSize: 64});
5+
let l3 = viewer.addLabel("Hello World",{position:{x:10,y:100,z:0},backgroundColor: "yellow",useScreen: true, fontSize: 64});
6+
7+
l.hide();
8+
l3.hide();
9+
viewer.render( );
10+
l3.show();
11+
viewer.render();
Loading

0 commit comments

Comments
 (0)