Documentation / @debuffjp/core / Draw
Class: Draw
Defined in: render/draw.ts:49
Immediate-mode drawing in logical units, the same API on WebGL2 and Canvas 2D (ADR 0007). Everything batches automatically; call order is draw order.
Constructors
Constructor
new Draw(
backend,smooth):Draw
Defined in: render/draw.ts:68
Internal
Parameters
backend
Backend
smooth
boolean
Default filtering for images (false for pixel art).
Returns
Draw
Properties
alpha
alpha:
number=1
Defined in: render/draw.ts:51
Global alpha multiplier for subsequent draws.
quads
quads:
number=0
Defined in: render/draw.ts:53
Quads (sprites, rects, glyph runs…) submitted this frame. Reset each frame; for diagnostics.
renderScale
renderScale:
number=1
Defined in: render/draw.ts:327
Internal
smooth
smooth:
boolean
Defined in: render/draw.ts:71
Default filtering for images (false for pixel art).
Accessors
drawCalls
Get Signature
get drawCalls():
number
Defined in: render/draw.ts:80
Draw calls this frame: batched GPU calls on WebGL2, one per quad on Canvas 2D.
Returns
number
kind
Get Signature
get kind():
"webgl2"|"2d"
Defined in: render/draw.ts:75
Which backend is active.
Returns
"webgl2" | "2d"
raw
Get Signature
get raw():
RawContext
Defined in: render/draw.ts:85
Raw WebGL2RenderingContext or CanvasRenderingContext2D. Mixing raw calls with draw calls requires care.
Returns
Methods
begin()
begin(
clear,width,height,scale):void
Defined in: render/draw.ts:330
Internal
Parameters
clear
width
number
height
number
scale
number
Returns
void
blend()
blend(
mode):void
Defined in: render/draw.ts:194
Parameters
mode
Returns
void
circle()
circle(
x,y,radius,color):void
Defined in: render/draw.ts:205
Filled circle (antialiased).
Parameters
x
number
y
number
radius
number
color
Returns
void
clip()
clip(
x,y,w,h,fn):void
Defined in: render/draw.ts:135
Run fn with drawing restricted to a rectangle (in current units), then restore. Nested clips intersect. Clips are axis-aligned on screen: under rotation the rectangle's screen bounds are used.
Parameters
x
number
y
number
w
number
h
number
fn
() => void
Returns
void
dispose()
dispose():
void
Defined in: render/draw.ts:359
Internal
Release GPU resources and listeners.
Returns
void
end()
end():
void
Defined in: render/draw.ts:354
Internal
Returns
void
invalidate()
invalidate(
src):void
Defined in: render/draw.ts:320
Re-upload a source whose pixels changed (e.g. a canvas you draw into).
Parameters
src
Returns
void
line()
line(
x1,y1,x2,y2,width,color):void
Defined in: render/draw.ts:212
Parameters
x1
number
y1
number
x2
number
y2
number
width
number
color
Returns
void
measure()
measure(
text,font?):object
Defined in: render/draw.ts:290
The logical box text() fills for this string and font, so layouts can align and centre without guessing. Same cache as text(), so measuring then drawing rasterises once.
Parameters
text
string
font?
string | BitmapFont = "8px monospace"
Returns
object
h
h:
number
w
w:
number
pop()
pop():
void
Defined in: render/draw.ts:101
Returns
void
push()
push():
void
Defined in: render/draw.ts:91
Returns
void
rect()
rect(
x,y,w,h,color):void
Defined in: render/draw.ts:198
Parameters
x
number
y
number
w
number
h
number
color
Returns
void
reset()
reset():
void
Defined in: render/draw.ts:342
Internal
Reset transform and blend between scene and afterRender hooks.
Returns
void
resize()
resize(
w,h):void
Defined in: render/draw.ts:364
Internal
Parameters
w
number
h
number
Returns
void
rotate()
rotate(
radians):void
Defined in: render/draw.ts:121
Parameters
radians
number
Returns
void
scale()
scale(
x,y?):void
Defined in: render/draw.ts:113
Parameters
x
number
y?
number = x
Returns
void
setBackend()
setBackend(
backend):void
Defined in: render/draw.ts:371
Internal
Switch to a backend that finished loading (the Canvas 2D fallback), at the current size.
Parameters
backend
Backend
Returns
void
sprite()
sprite(
frame,x,y,o?):void
Defined in: render/draw.ts:225
Draw an image frame (or a whole image) at x, y, anchored by origin. Allocation-free hot path.
Parameters
frame
x
number
y
number
o?
SpriteDrawOptions = NO_OPTIONS
Returns
void
text()
text(
text,x,y,o?):void
Defined in: render/draw.ts:271
Text, rasterised once and cached as a texture (crisp at the current render scale).
Parameters
text
string
x
number
y
number
o?
TextDrawOptions = {}
Returns
void
translate()
translate(
x,y):void
Defined in: render/draw.ts:107
Parameters
x
number
y
number
Returns
void
withCamera()
withCamera(
camera,fn):void
Defined in: render/draw.ts:174
Run fn with the camera's view applied, then restore.
Parameters
camera
view
() => Matrix
fn
() => void
Returns
void