import { DrawListRef } from "./ImGui" ; import { vec4 , vec2 } from "./vec" ; export const enum TextureFilter { Linear , Nearest } export interface Texture { id : number ; width : number ; height : number ; loadFromFile ( path , filter ? ) : void ; loadFromMemoryRGBA32 ( width , height , data , filter ? ) : void ; isValid ( ) : boolean ; } export interface Font { loadFromFile ( path , ptsize , outline ) : void ; loadFromMemory ( data , ptsize , outline ) : void ; isValid ( ) : boolean ; cacheGlyphRange ( min , max ) : void ; renderText ( str , fgcol , bgcol , filter ? ) : Texture ; } export const enum FlipFlags { None , Horizontal , Vertical } export interface Gfx { createTexture ( ) : Texture ; createFont ( ) : Font ; addSprite ( dl , texture , src , dst , tint , flip ) : void ; addSpriteRotated ( dl , texture , src , dst , tint , flip , angle ) : void ; calcSpriteRotatedBounds ( dst , angle ) : vec4 ; addText ( dl , font , str , pos , fgcol , bgcol , scale ) : void ; calcTextSize ( font , str , scale ) : vec2 ; }