Skip to content

Commit 4b59b95

Browse files
committed
TW: add types for text bubble styles
TurboWarp/scratch-render@4a913db
1 parent 763e88d commit 4b59b95

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

tests/test-scratch-render-tw.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,13 @@ wrapper.wrapText(50, 'hello');
3333
const overlay = renderer.addOverlay(document.createElement('div'), 'manual');
3434
overlay.mode = 'scale';
3535
renderer._updateOverlays();
36+
37+
declare const textSkin: RenderWebGL.TextBubbleSkin;
38+
// @ts-expect-error
39+
textSkin._style.cornerRadius = 10;
40+
// @ts-expect-error
41+
textSkin._style = textSkin._style;
42+
textSkin.setStyle({
43+
fontSize: 50,
44+
lineHeight: 40
45+
});

types/scratch-render.d.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,21 @@ declare namespace RenderWebGL {
1212
root: HTMLElement;
1313
userElement: HTMLElement;
1414
}
15+
interface TextBubbleStyle {
16+
maxLineWidth: number;
17+
minWidth: number;
18+
strokeWidth: number;
19+
padding: number;
20+
cornerRadius: number;
21+
tailHeight: number;
22+
font: string;
23+
fontSize: number;
24+
fontHeightRatio: number;
25+
lineHeight: number;
26+
bubbleFill: string;
27+
bubbleStroke: string;
28+
textFill: string;
29+
}
1530

1631
type AnyWebGLContext = WebGLRenderingContext | WebGL2RenderingContext;
1732

@@ -252,6 +267,9 @@ declare namespace RenderWebGL {
252267
}
253268

254269
class CanvasMeasurementProvider {
270+
// TW
271+
clearCache(): void;
272+
255273
_ctx: CanvasRenderingContext2D;
256274
_cache: Record<string, number>;
257275
measureText(text: string): number;
@@ -274,6 +292,10 @@ declare namespace RenderWebGL {
274292
}
275293

276294
class TextBubbleSkin extends Skin {
295+
// TW
296+
readonly _style: Readonly<TextBubbleStyle>;
297+
setStyle(newStyles: Partial<TextBubbleStyle>): void;
298+
277299
_renderer: RenderWebGL;
278300

279301
_canvas: HTMLCanvasElement;

0 commit comments

Comments
 (0)