@opentui/core 0.3.2 → 0.3.3

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/zig.d.ts CHANGED
@@ -5,6 +5,18 @@ import { RGBA } from "./lib/RGBA.js";
5
5
  import { OptimizedBuffer } from "./buffer.js";
6
6
  import { TextBuffer } from "./text-buffer.js";
7
7
  import type { NativeSpanFeedOptions, NativeSpanFeedStats, ReserveInfo, AudioCreateOptions, AudioStartOptions, AudioVoiceOptions, AudioStats, BuildOptions, AllocatorStats, NativeRenderStats } from "./zig-structs.js";
8
+ export type NativeHandle<T extends string> = Pointer & {
9
+ readonly __nativeHandle: T;
10
+ };
11
+ export type RendererHandle = NativeHandle<"renderer">;
12
+ export type OptimizedBufferHandle = NativeHandle<"optimized_buffer">;
13
+ export type TextBufferHandle = NativeHandle<"text_buffer">;
14
+ export type TextBufferViewHandle = NativeHandle<"text_buffer_view">;
15
+ export type EditBufferHandle = NativeHandle<"edit_buffer">;
16
+ export type EditorViewHandle = NativeHandle<"editor_view">;
17
+ export type SyntaxStyleHandle = NativeHandle<"syntax_style">;
18
+ export type EventSinkHandle = NativeHandle<"event_sink">;
19
+ export type AudioEngineHandle = NativeHandle<"audio_engine">;
8
20
  export declare enum LogLevel {
9
21
  Error = 0,
10
22
  Warn = 1,
@@ -49,144 +61,144 @@ export interface NativeRenderOperationResult {
49
61
  status: number;
50
62
  }
51
63
  export interface AudioEngineLib {
52
- createAudioEngine: (options?: AudioCreateOptions | null) => Pointer | null;
53
- destroyAudioEngine: (engine: Pointer) => void;
54
- audioRefreshPlaybackDevices: (engine: Pointer) => number;
55
- audioGetPlaybackDeviceCount: (engine: Pointer) => number;
56
- audioGetPlaybackDeviceName: (engine: Pointer, index: number) => string;
57
- audioIsPlaybackDeviceDefault: (engine: Pointer, index: number) => boolean;
58
- audioSelectPlaybackDevice: (engine: Pointer, index: number) => number;
59
- audioClearPlaybackDeviceSelection: (engine: Pointer) => void;
60
- audioStart: (engine: Pointer, options?: AudioStartOptions | null) => number;
61
- audioStartMixer: (engine: Pointer) => number;
62
- audioStop: (engine: Pointer) => number;
63
- audioLoad: (engine: Pointer, data: Uint8Array) => {
64
+ createAudioEngine: (options?: AudioCreateOptions | null) => AudioEngineHandle | null;
65
+ destroyAudioEngine: (engine: AudioEngineHandle) => void;
66
+ audioRefreshPlaybackDevices: (engine: AudioEngineHandle) => number;
67
+ audioGetPlaybackDeviceCount: (engine: AudioEngineHandle) => number;
68
+ audioGetPlaybackDeviceName: (engine: AudioEngineHandle, index: number) => string;
69
+ audioIsPlaybackDeviceDefault: (engine: AudioEngineHandle, index: number) => boolean;
70
+ audioSelectPlaybackDevice: (engine: AudioEngineHandle, index: number) => number;
71
+ audioClearPlaybackDeviceSelection: (engine: AudioEngineHandle) => void;
72
+ audioStart: (engine: AudioEngineHandle, options?: AudioStartOptions | null) => number;
73
+ audioStartMixer: (engine: AudioEngineHandle) => number;
74
+ audioStop: (engine: AudioEngineHandle) => number;
75
+ audioLoad: (engine: AudioEngineHandle, data: Uint8Array) => {
64
76
  status: number;
65
77
  soundId: number | null;
66
78
  };
67
- audioUnload: (engine: Pointer, soundId: number) => number;
68
- audioPlay: (engine: Pointer, soundId: number, options?: AudioVoiceOptions) => {
79
+ audioUnload: (engine: AudioEngineHandle, soundId: number) => number;
80
+ audioPlay: (engine: AudioEngineHandle, soundId: number, options?: AudioVoiceOptions) => {
69
81
  status: number;
70
82
  voiceId: number | null;
71
83
  };
72
- audioStopVoice: (engine: Pointer, voiceId: number) => number;
73
- audioSetVoiceGroup: (engine: Pointer, voiceId: number, groupId: number) => number;
74
- audioCreateGroup: (engine: Pointer, name: string) => {
84
+ audioStopVoice: (engine: AudioEngineHandle, voiceId: number) => number;
85
+ audioSetVoiceGroup: (engine: AudioEngineHandle, voiceId: number, groupId: number) => number;
86
+ audioCreateGroup: (engine: AudioEngineHandle, name: string) => {
75
87
  status: number;
76
88
  groupId: number | null;
77
89
  };
78
- audioSetGroupVolume: (engine: Pointer, groupId: number, volume: number) => number;
79
- audioSetMasterVolume: (engine: Pointer, volume: number) => number;
80
- audioMixToBuffer: (engine: Pointer, outBuffer: Float32Array, frameCount: number, channels: number) => number;
81
- audioEnableTap: (engine: Pointer, enabled: boolean, capacityFrames: number) => number;
82
- audioReadTap: (engine: Pointer, outBuffer: Float32Array, frameCount: number, channels: number) => {
90
+ audioSetGroupVolume: (engine: AudioEngineHandle, groupId: number, volume: number) => number;
91
+ audioSetMasterVolume: (engine: AudioEngineHandle, volume: number) => number;
92
+ audioMixToBuffer: (engine: AudioEngineHandle, outBuffer: Float32Array, frameCount: number, channels: number) => number;
93
+ audioEnableTap: (engine: AudioEngineHandle, enabled: boolean, capacityFrames: number) => number;
94
+ audioReadTap: (engine: AudioEngineHandle, outBuffer: Float32Array, frameCount: number, channels: number) => {
83
95
  status: number;
84
96
  framesRead: number;
85
97
  };
86
- audioGetStats: (engine: Pointer) => AudioStats | null;
98
+ audioGetStats: (engine: AudioEngineHandle) => AudioStats | null;
87
99
  }
88
100
  export interface RenderLib extends AudioEngineLib {
89
- createRenderer: (width: number, height: number, options?: NativeRendererCreateOptions) => Pointer | null;
90
- setTerminalEnvVar: (renderer: Pointer, key: string, value: string) => boolean;
91
- destroyRenderer: (renderer: Pointer) => void;
92
- setUseThread: (renderer: Pointer, useThread: boolean) => void;
93
- setClearOnShutdown: (renderer: Pointer, clear: boolean) => void;
94
- setBackgroundColor: (renderer: Pointer, color: RGBA) => void;
95
- setRenderOffset: (renderer: Pointer, offset: number) => void;
96
- resetSplitScrollback: (renderer: Pointer, seedRows: number, pinnedRenderOffset: number) => number;
97
- syncSplitScrollback: (renderer: Pointer, pinnedRenderOffset: number) => number;
98
- getSplitOutputOffset: (renderer: Pointer, surfaceOffset: number) => number;
99
- setPendingSplitFooterTransition: (renderer: Pointer, mode: number, sourceTopLine: number, sourceHeight: number, targetTopLine: number, targetHeight: number, scrollLines: number) => void;
100
- clearPendingSplitFooterTransition: (renderer: Pointer) => void;
101
- updateStats: (renderer: Pointer, time: number, fps: number, frameCallbackTime: number) => void;
102
- updateMemoryStats: (renderer: Pointer, heapUsed: number, heapTotal: number, arrayBuffers: number) => void;
103
- getRenderStats: (renderer: Pointer) => NativeRenderStats;
104
- render: (renderer: Pointer, force: boolean) => number;
105
- repaintSplitFooter: (renderer: Pointer, pinnedRenderOffset: number, force: boolean) => NativeRenderOperationResult;
106
- commitSplitFooterSnapshot: (renderer: Pointer, snapshot: OptimizedBuffer, rowColumns: number, startOnNewLine: boolean, trailingNewline: boolean, pinnedRenderOffset: number, force: boolean, beginFrame?: boolean, finalizeFrame?: boolean) => NativeRenderOperationResult;
107
- getNextBuffer: (renderer: Pointer) => OptimizedBuffer;
108
- getCurrentBuffer: (renderer: Pointer) => OptimizedBuffer;
109
- rendererSetPaletteState: (renderer: Pointer, palette: readonly RGBA[], defaultForeground: RGBA, defaultBackground: RGBA, paletteEpoch: number) => void;
101
+ createRenderer: (width: number, height: number, options?: NativeRendererCreateOptions) => RendererHandle | null;
102
+ setTerminalEnvVar: (renderer: RendererHandle, key: string, value: string) => boolean;
103
+ destroyRenderer: (renderer: RendererHandle) => void;
104
+ setUseThread: (renderer: RendererHandle, useThread: boolean) => void;
105
+ setClearOnShutdown: (renderer: RendererHandle, clear: boolean) => void;
106
+ setBackgroundColor: (renderer: RendererHandle, color: RGBA) => void;
107
+ setRenderOffset: (renderer: RendererHandle, offset: number) => void;
108
+ resetSplitScrollback: (renderer: RendererHandle, seedRows: number, pinnedRenderOffset: number) => number;
109
+ syncSplitScrollback: (renderer: RendererHandle, pinnedRenderOffset: number) => number;
110
+ getSplitOutputOffset: (renderer: RendererHandle, surfaceOffset: number) => number;
111
+ setPendingSplitFooterTransition: (renderer: RendererHandle, mode: number, sourceTopLine: number, sourceHeight: number, targetTopLine: number, targetHeight: number, scrollLines: number) => void;
112
+ clearPendingSplitFooterTransition: (renderer: RendererHandle) => void;
113
+ updateStats: (renderer: RendererHandle, time: number, fps: number, frameCallbackTime: number) => void;
114
+ updateMemoryStats: (renderer: RendererHandle, heapUsed: number, heapTotal: number, arrayBuffers: number) => void;
115
+ getRenderStats: (renderer: RendererHandle) => NativeRenderStats;
116
+ render: (renderer: RendererHandle, force: boolean) => number;
117
+ repaintSplitFooter: (renderer: RendererHandle, pinnedRenderOffset: number, force: boolean) => NativeRenderOperationResult;
118
+ commitSplitFooterSnapshot: (renderer: RendererHandle, snapshot: OptimizedBuffer, rowColumns: number, startOnNewLine: boolean, trailingNewline: boolean, pinnedRenderOffset: number, force: boolean, beginFrame?: boolean, finalizeFrame?: boolean) => NativeRenderOperationResult;
119
+ getNextBuffer: (renderer: RendererHandle) => OptimizedBuffer;
120
+ getCurrentBuffer: (renderer: RendererHandle) => OptimizedBuffer;
121
+ rendererSetPaletteState: (renderer: RendererHandle, palette: readonly RGBA[], defaultForeground: RGBA, defaultBackground: RGBA, paletteEpoch: number) => void;
110
122
  createOptimizedBuffer: (width: number, height: number, widthMethod: WidthMethod, respectAlpha?: boolean, id?: string) => OptimizedBuffer;
111
- destroyOptimizedBuffer: (bufferPtr: Pointer) => void;
112
- drawFrameBuffer: (targetBufferPtr: Pointer, destX: number, destY: number, bufferPtr: Pointer, sourceX?: number, sourceY?: number, sourceWidth?: number, sourceHeight?: number) => void;
113
- getBufferWidth: (buffer: Pointer) => number;
114
- getBufferHeight: (buffer: Pointer) => number;
115
- bufferClear: (buffer: Pointer, color: RGBA) => void;
116
- bufferGetCharPtr: (buffer: Pointer) => Pointer;
117
- bufferGetFgPtr: (buffer: Pointer) => Pointer;
118
- bufferGetBgPtr: (buffer: Pointer) => Pointer;
119
- bufferGetAttributesPtr: (buffer: Pointer) => Pointer;
120
- bufferGetRespectAlpha: (buffer: Pointer) => boolean;
121
- bufferSetRespectAlpha: (buffer: Pointer, respectAlpha: boolean) => void;
122
- bufferGetId: (buffer: Pointer) => string;
123
- bufferGetRealCharSize: (buffer: Pointer) => number;
124
- bufferWriteResolvedChars: (buffer: Pointer, outputBuffer: Uint8Array, addLineBreaks: boolean) => number;
125
- bufferDrawText: (buffer: Pointer, text: string, x: number, y: number, color: RGBA, bgColor?: RGBA, attributes?: number) => void;
126
- bufferSetCellWithAlphaBlending: (buffer: Pointer, x: number, y: number, char: string, color: RGBA, bgColor: RGBA, attributes?: number) => void;
127
- bufferSetCell: (buffer: Pointer, x: number, y: number, char: string, color: RGBA, bgColor: RGBA, attributes?: number) => void;
128
- bufferFillRect: (buffer: Pointer, x: number, y: number, width: number, height: number, color: RGBA) => void;
129
- bufferColorMatrix: (buffer: Pointer, matrixPtr: Pointer, cellMaskPtr: Pointer, cellMaskCount: number, strength: number, target: TargetChannel) => void;
130
- bufferColorMatrixUniform: (buffer: Pointer, matrixPtr: Pointer, strength: number, target: TargetChannel) => void;
131
- bufferDrawSuperSampleBuffer: (buffer: Pointer, x: number, y: number, pixelDataPtr: Pointer, pixelDataLength: number, format: "bgra8unorm" | "rgba8unorm", alignedBytesPerRow: number) => void;
132
- bufferDrawPackedBuffer: (buffer: Pointer, dataPtr: Pointer, dataLen: number, posX: number, posY: number, terminalWidthCells: number, terminalHeightCells: number) => void;
133
- bufferDrawGrayscaleBuffer: (buffer: Pointer, posX: number, posY: number, intensitiesPtr: Pointer, srcWidth: number, srcHeight: number, fg: RGBA | null, bg: RGBA | null) => void;
134
- bufferDrawGrayscaleBufferSupersampled: (buffer: Pointer, posX: number, posY: number, intensitiesPtr: Pointer, srcWidth: number, srcHeight: number, fg: RGBA | null, bg: RGBA | null) => void;
135
- bufferDrawGrid: (buffer: Pointer, borderChars: Uint32Array, borderFg: RGBA, borderBg: RGBA, columnOffsets: Int32Array, columnCount: number, rowOffsets: Int32Array, rowCount: number, options: {
123
+ destroyOptimizedBuffer: (bufferPtr: OptimizedBufferHandle) => void;
124
+ drawFrameBuffer: (targetBufferPtr: OptimizedBufferHandle, destX: number, destY: number, bufferPtr: OptimizedBufferHandle, sourceX?: number, sourceY?: number, sourceWidth?: number, sourceHeight?: number) => void;
125
+ getBufferWidth: (buffer: OptimizedBufferHandle) => number;
126
+ getBufferHeight: (buffer: OptimizedBufferHandle) => number;
127
+ bufferClear: (buffer: OptimizedBufferHandle, color: RGBA) => void;
128
+ bufferGetCharPtr: (buffer: OptimizedBufferHandle) => Pointer;
129
+ bufferGetFgPtr: (buffer: OptimizedBufferHandle) => Pointer;
130
+ bufferGetBgPtr: (buffer: OptimizedBufferHandle) => Pointer;
131
+ bufferGetAttributesPtr: (buffer: OptimizedBufferHandle) => Pointer;
132
+ bufferGetRespectAlpha: (buffer: OptimizedBufferHandle) => boolean;
133
+ bufferSetRespectAlpha: (buffer: OptimizedBufferHandle, respectAlpha: boolean) => void;
134
+ bufferGetId: (buffer: OptimizedBufferHandle) => string;
135
+ bufferGetRealCharSize: (buffer: OptimizedBufferHandle) => number;
136
+ bufferWriteResolvedChars: (buffer: OptimizedBufferHandle, outputBuffer: Uint8Array, addLineBreaks: boolean) => number;
137
+ bufferDrawText: (buffer: OptimizedBufferHandle, text: string, x: number, y: number, color: RGBA, bgColor?: RGBA, attributes?: number) => void;
138
+ bufferSetCellWithAlphaBlending: (buffer: OptimizedBufferHandle, x: number, y: number, char: string, color: RGBA, bgColor: RGBA, attributes?: number) => void;
139
+ bufferSetCell: (buffer: OptimizedBufferHandle, x: number, y: number, char: string, color: RGBA, bgColor: RGBA, attributes?: number) => void;
140
+ bufferFillRect: (buffer: OptimizedBufferHandle, x: number, y: number, width: number, height: number, color: RGBA) => void;
141
+ bufferColorMatrix: (buffer: OptimizedBufferHandle, matrixPtr: Pointer, cellMaskPtr: Pointer, cellMaskCount: number, strength: number, target: TargetChannel) => void;
142
+ bufferColorMatrixUniform: (buffer: OptimizedBufferHandle, matrixPtr: Pointer, strength: number, target: TargetChannel) => void;
143
+ bufferDrawSuperSampleBuffer: (buffer: OptimizedBufferHandle, x: number, y: number, pixelDataPtr: Pointer, pixelDataLength: number, format: "bgra8unorm" | "rgba8unorm", alignedBytesPerRow: number) => void;
144
+ bufferDrawPackedBuffer: (buffer: OptimizedBufferHandle, dataPtr: Pointer, dataLen: number, posX: number, posY: number, terminalWidthCells: number, terminalHeightCells: number) => void;
145
+ bufferDrawGrayscaleBuffer: (buffer: OptimizedBufferHandle, posX: number, posY: number, intensitiesPtr: Pointer, srcWidth: number, srcHeight: number, fg: RGBA | null, bg: RGBA | null) => void;
146
+ bufferDrawGrayscaleBufferSupersampled: (buffer: OptimizedBufferHandle, posX: number, posY: number, intensitiesPtr: Pointer, srcWidth: number, srcHeight: number, fg: RGBA | null, bg: RGBA | null) => void;
147
+ bufferDrawGrid: (buffer: OptimizedBufferHandle, borderChars: Uint32Array, borderFg: RGBA, borderBg: RGBA, columnOffsets: Int32Array, columnCount: number, rowOffsets: Int32Array, rowCount: number, options: {
136
148
  drawInner: boolean;
137
149
  drawOuter: boolean;
138
150
  }) => void;
139
- bufferDrawBox: (buffer: Pointer, x: number, y: number, width: number, height: number, borderChars: Uint32Array, packedOptions: number, borderColor: RGBA, backgroundColor: RGBA, title: string | null, bottomTitle: string | null) => void;
140
- bufferResize: (buffer: Pointer, width: number, height: number) => void;
141
- resizeRenderer: (renderer: Pointer, width: number, height: number) => void;
142
- setCursorPosition: (renderer: Pointer, x: number, y: number, visible: boolean) => void;
143
- setCursorColor: (renderer: Pointer, color: RGBA) => void;
144
- getCursorState: (renderer: Pointer) => CursorState;
145
- setCursorStyleOptions: (renderer: Pointer, options: CursorStyleOptions) => void;
146
- setDebugOverlay: (renderer: Pointer, enabled: boolean, corner: DebugOverlayCorner) => void;
147
- clearTerminal: (renderer: Pointer) => void;
148
- setTerminalTitle: (renderer: Pointer, title: string) => void;
149
- copyToClipboardOSC52: (renderer: Pointer, target: number, payload: Uint8Array) => boolean;
150
- clearClipboardOSC52: (renderer: Pointer, target: number) => boolean;
151
- triggerNotification: (renderer: Pointer, message: string, title?: string) => boolean;
152
- addToHitGrid: (renderer: Pointer, x: number, y: number, width: number, height: number, id: number) => void;
153
- clearCurrentHitGrid: (renderer: Pointer) => void;
154
- hitGridPushScissorRect: (renderer: Pointer, x: number, y: number, width: number, height: number) => void;
155
- hitGridPopScissorRect: (renderer: Pointer) => void;
156
- hitGridClearScissorRects: (renderer: Pointer) => void;
157
- addToCurrentHitGridClipped: (renderer: Pointer, x: number, y: number, width: number, height: number, id: number) => void;
158
- checkHit: (renderer: Pointer, x: number, y: number) => number;
159
- getHitGridDirty: (renderer: Pointer) => boolean;
160
- dumpHitGrid: (renderer: Pointer) => void;
161
- dumpBuffers: (renderer: Pointer, timestamp?: number) => void;
162
- dumpOutputBuffer: (renderer: Pointer, timestamp?: number) => void;
163
- restoreTerminalModes: (renderer: Pointer) => void;
164
- enableMouse: (renderer: Pointer, enableMovement: boolean) => void;
165
- disableMouse: (renderer: Pointer) => void;
166
- enableKittyKeyboard: (renderer: Pointer, flags: number) => void;
167
- disableKittyKeyboard: (renderer: Pointer) => void;
168
- setKittyKeyboardFlags: (renderer: Pointer, flags: number) => void;
169
- getKittyKeyboardFlags: (renderer: Pointer) => number;
170
- setupTerminal: (renderer: Pointer, useAlternateScreen: boolean) => void;
171
- suspendRenderer: (renderer: Pointer) => void;
172
- resumeRenderer: (renderer: Pointer) => void;
173
- queryPixelResolution: (renderer: Pointer) => void;
174
- queryThemeColors: (renderer: Pointer) => void;
175
- writeOut: (renderer: Pointer, data: string | Uint8Array) => void;
151
+ bufferDrawBox: (buffer: OptimizedBufferHandle, x: number, y: number, width: number, height: number, borderChars: Uint32Array, packedOptions: number, borderColor: RGBA, backgroundColor: RGBA, titleColor: RGBA, title: string | null, bottomTitle: string | null) => void;
152
+ bufferResize: (buffer: OptimizedBufferHandle, width: number, height: number) => void;
153
+ resizeRenderer: (renderer: RendererHandle, width: number, height: number) => void;
154
+ setCursorPosition: (renderer: RendererHandle, x: number, y: number, visible: boolean) => void;
155
+ setCursorColor: (renderer: RendererHandle, color: RGBA) => void;
156
+ getCursorState: (renderer: RendererHandle) => CursorState;
157
+ setCursorStyleOptions: (renderer: RendererHandle, options: CursorStyleOptions) => void;
158
+ setDebugOverlay: (renderer: RendererHandle, enabled: boolean, corner: DebugOverlayCorner) => void;
159
+ clearTerminal: (renderer: RendererHandle) => void;
160
+ setTerminalTitle: (renderer: RendererHandle, title: string) => void;
161
+ copyToClipboardOSC52: (renderer: RendererHandle, target: number, payload: Uint8Array) => boolean;
162
+ clearClipboardOSC52: (renderer: RendererHandle, target: number) => boolean;
163
+ triggerNotification: (renderer: RendererHandle, message: string, title?: string) => boolean;
164
+ addToHitGrid: (renderer: RendererHandle, x: number, y: number, width: number, height: number, id: number) => void;
165
+ clearCurrentHitGrid: (renderer: RendererHandle) => void;
166
+ hitGridPushScissorRect: (renderer: RendererHandle, x: number, y: number, width: number, height: number) => void;
167
+ hitGridPopScissorRect: (renderer: RendererHandle) => void;
168
+ hitGridClearScissorRects: (renderer: RendererHandle) => void;
169
+ addToCurrentHitGridClipped: (renderer: RendererHandle, x: number, y: number, width: number, height: number, id: number) => void;
170
+ checkHit: (renderer: RendererHandle, x: number, y: number) => number;
171
+ getHitGridDirty: (renderer: RendererHandle) => boolean;
172
+ dumpHitGrid: (renderer: RendererHandle) => void;
173
+ dumpBuffers: (renderer: RendererHandle, timestamp?: number) => void;
174
+ dumpOutputBuffer: (renderer: RendererHandle, timestamp?: number) => void;
175
+ restoreTerminalModes: (renderer: RendererHandle) => void;
176
+ enableMouse: (renderer: RendererHandle, enableMovement: boolean) => void;
177
+ disableMouse: (renderer: RendererHandle) => void;
178
+ enableKittyKeyboard: (renderer: RendererHandle, flags: number) => void;
179
+ disableKittyKeyboard: (renderer: RendererHandle) => void;
180
+ setKittyKeyboardFlags: (renderer: RendererHandle, flags: number) => void;
181
+ getKittyKeyboardFlags: (renderer: RendererHandle) => number;
182
+ setupTerminal: (renderer: RendererHandle, useAlternateScreen: boolean) => void;
183
+ suspendRenderer: (renderer: RendererHandle) => void;
184
+ resumeRenderer: (renderer: RendererHandle) => void;
185
+ queryPixelResolution: (renderer: RendererHandle) => void;
186
+ queryThemeColors: (renderer: RendererHandle) => void;
187
+ writeOut: (renderer: RendererHandle, data: string | Uint8Array) => void;
176
188
  createTextBuffer: (widthMethod: WidthMethod) => TextBuffer;
177
- destroyTextBuffer: (buffer: Pointer) => void;
178
- textBufferGetLength: (buffer: Pointer) => number;
179
- textBufferGetByteSize: (buffer: Pointer) => number;
180
- textBufferReset: (buffer: Pointer) => void;
181
- textBufferClear: (buffer: Pointer) => void;
182
- textBufferRegisterMemBuffer: (buffer: Pointer, bytes: Uint8Array, owned?: boolean) => number;
183
- textBufferReplaceMemBuffer: (buffer: Pointer, memId: number, bytes: Uint8Array, owned?: boolean) => boolean;
184
- textBufferClearMemRegistry: (buffer: Pointer) => void;
185
- textBufferSetTextFromMem: (buffer: Pointer, memId: number) => void;
186
- textBufferAppend: (buffer: Pointer, bytes: Uint8Array) => void;
187
- textBufferAppendFromMemId: (buffer: Pointer, memId: number) => void;
188
- textBufferLoadFile: (buffer: Pointer, path: string) => boolean;
189
- textBufferSetStyledText: (buffer: Pointer, chunks: Array<{
189
+ destroyTextBuffer: (buffer: TextBufferHandle) => void;
190
+ textBufferGetLength: (buffer: TextBufferHandle) => number;
191
+ textBufferGetByteSize: (buffer: TextBufferHandle) => number;
192
+ textBufferReset: (buffer: TextBufferHandle) => void;
193
+ textBufferClear: (buffer: TextBufferHandle) => void;
194
+ textBufferRegisterMemBuffer: (buffer: TextBufferHandle, bytes: Uint8Array, owned?: boolean) => number;
195
+ textBufferReplaceMemBuffer: (buffer: TextBufferHandle, memId: number, bytes: Uint8Array, owned?: boolean) => boolean;
196
+ textBufferClearMemRegistry: (buffer: TextBufferHandle) => void;
197
+ textBufferSetTextFromMem: (buffer: TextBufferHandle, memId: number) => void;
198
+ textBufferAppend: (buffer: TextBufferHandle, bytes: Uint8Array) => void;
199
+ textBufferAppendFromMemId: (buffer: TextBufferHandle, memId: number) => void;
200
+ textBufferLoadFile: (buffer: TextBufferHandle, path: string) => boolean;
201
+ textBufferSetStyledText: (buffer: TextBufferHandle, chunks: Array<{
190
202
  text: string;
191
203
  fg?: RGBA | null;
192
204
  bg?: RGBA | null;
@@ -195,181 +207,181 @@ export interface RenderLib extends AudioEngineLib {
195
207
  url: string;
196
208
  };
197
209
  }>) => void;
198
- textBufferSetDefaultFg: (buffer: Pointer, fg: RGBA | null) => void;
199
- textBufferSetDefaultBg: (buffer: Pointer, bg: RGBA | null) => void;
200
- textBufferSetDefaultAttributes: (buffer: Pointer, attributes: number | null) => void;
201
- textBufferResetDefaults: (buffer: Pointer) => void;
202
- textBufferGetTabWidth: (buffer: Pointer) => number;
203
- textBufferSetTabWidth: (buffer: Pointer, width: number) => void;
204
- textBufferGetLineCount: (buffer: Pointer) => number;
205
- getPlainTextBytes: (buffer: Pointer, maxLength: number) => Uint8Array | null;
206
- textBufferGetTextRange: (buffer: Pointer, startOffset: number, endOffset: number, maxLength: number) => Uint8Array | null;
207
- textBufferGetTextRangeByCoords: (buffer: Pointer, startRow: number, startCol: number, endRow: number, endCol: number, maxLength: number) => Uint8Array | null;
208
- createTextBufferView: (textBuffer: Pointer) => Pointer;
209
- destroyTextBufferView: (view: Pointer) => void;
210
- textBufferViewSetSelection: (view: Pointer, start: number, end: number, bgColor: RGBA | null, fgColor: RGBA | null) => void;
211
- textBufferViewResetSelection: (view: Pointer) => void;
212
- textBufferViewGetSelection: (view: Pointer) => {
210
+ textBufferSetDefaultFg: (buffer: TextBufferHandle, fg: RGBA | null) => void;
211
+ textBufferSetDefaultBg: (buffer: TextBufferHandle, bg: RGBA | null) => void;
212
+ textBufferSetDefaultAttributes: (buffer: TextBufferHandle, attributes: number | null) => void;
213
+ textBufferResetDefaults: (buffer: TextBufferHandle) => void;
214
+ textBufferGetTabWidth: (buffer: TextBufferHandle) => number;
215
+ textBufferSetTabWidth: (buffer: TextBufferHandle, width: number) => void;
216
+ textBufferGetLineCount: (buffer: TextBufferHandle) => number;
217
+ getPlainTextBytes: (buffer: TextBufferHandle, maxLength: number) => Uint8Array | null;
218
+ textBufferGetTextRange: (buffer: TextBufferHandle, startOffset: number, endOffset: number, maxLength: number) => Uint8Array | null;
219
+ textBufferGetTextRangeByCoords: (buffer: TextBufferHandle, startRow: number, startCol: number, endRow: number, endCol: number, maxLength: number) => Uint8Array | null;
220
+ createTextBufferView: (textBuffer: TextBufferHandle) => TextBufferViewHandle;
221
+ destroyTextBufferView: (view: TextBufferViewHandle) => void;
222
+ textBufferViewSetSelection: (view: TextBufferViewHandle, start: number, end: number, bgColor: RGBA | null, fgColor: RGBA | null) => void;
223
+ textBufferViewResetSelection: (view: TextBufferViewHandle) => void;
224
+ textBufferViewGetSelection: (view: TextBufferViewHandle) => {
213
225
  start: number;
214
226
  end: number;
215
227
  } | null;
216
- textBufferViewSetLocalSelection: (view: Pointer, anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor: RGBA | null, fgColor: RGBA | null) => boolean;
217
- textBufferViewUpdateSelection: (view: Pointer, end: number, bgColor: RGBA | null, fgColor: RGBA | null) => void;
218
- textBufferViewUpdateLocalSelection: (view: Pointer, anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor: RGBA | null, fgColor: RGBA | null) => boolean;
219
- textBufferViewResetLocalSelection: (view: Pointer) => void;
220
- textBufferViewSetWrapWidth: (view: Pointer, width: number) => void;
221
- textBufferViewSetWrapMode: (view: Pointer, mode: "none" | "char" | "word") => void;
222
- textBufferViewSetFirstLineOffset: (view: Pointer, offset: number) => void;
223
- textBufferViewSetViewportSize: (view: Pointer, width: number, height: number) => void;
224
- textBufferViewSetViewport: (view: Pointer, x: number, y: number, width: number, height: number) => void;
225
- textBufferViewGetLineInfo: (view: Pointer) => LineInfo;
226
- textBufferViewGetLogicalLineInfo: (view: Pointer) => LineInfo;
227
- textBufferViewGetSelectedTextBytes: (view: Pointer, maxLength: number) => Uint8Array | null;
228
- textBufferViewGetPlainTextBytes: (view: Pointer, maxLength: number) => Uint8Array | null;
229
- textBufferViewSetTabIndicator: (view: Pointer, indicator: number) => void;
230
- textBufferViewSetTabIndicatorColor: (view: Pointer, color: RGBA) => void;
231
- textBufferViewSetTruncate: (view: Pointer, truncate: boolean) => void;
232
- textBufferViewMeasureForDimensions: (view: Pointer, width: number, height: number) => {
228
+ textBufferViewSetLocalSelection: (view: TextBufferViewHandle, anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor: RGBA | null, fgColor: RGBA | null) => boolean;
229
+ textBufferViewUpdateSelection: (view: TextBufferViewHandle, end: number, bgColor: RGBA | null, fgColor: RGBA | null) => void;
230
+ textBufferViewUpdateLocalSelection: (view: TextBufferViewHandle, anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor: RGBA | null, fgColor: RGBA | null) => boolean;
231
+ textBufferViewResetLocalSelection: (view: TextBufferViewHandle) => void;
232
+ textBufferViewSetWrapWidth: (view: TextBufferViewHandle, width: number) => void;
233
+ textBufferViewSetWrapMode: (view: TextBufferViewHandle, mode: "none" | "char" | "word") => void;
234
+ textBufferViewSetFirstLineOffset: (view: TextBufferViewHandle, offset: number) => void;
235
+ textBufferViewSetViewportSize: (view: TextBufferViewHandle, width: number, height: number) => void;
236
+ textBufferViewSetViewport: (view: TextBufferViewHandle, x: number, y: number, width: number, height: number) => void;
237
+ textBufferViewGetLineInfo: (view: TextBufferViewHandle) => LineInfo;
238
+ textBufferViewGetLogicalLineInfo: (view: TextBufferViewHandle) => LineInfo;
239
+ textBufferViewGetSelectedTextBytes: (view: TextBufferViewHandle, maxLength: number) => Uint8Array | null;
240
+ textBufferViewGetPlainTextBytes: (view: TextBufferViewHandle, maxLength: number) => Uint8Array | null;
241
+ textBufferViewSetTabIndicator: (view: TextBufferViewHandle, indicator: number) => void;
242
+ textBufferViewSetTabIndicatorColor: (view: TextBufferViewHandle, color: RGBA) => void;
243
+ textBufferViewSetTruncate: (view: TextBufferViewHandle, truncate: boolean) => void;
244
+ textBufferViewMeasureForDimensions: (view: TextBufferViewHandle, width: number, height: number) => {
233
245
  lineCount: number;
234
246
  widthColsMax: number;
235
247
  } | null;
236
- textBufferViewGetVirtualLineCount: (view: Pointer) => number;
248
+ textBufferViewGetVirtualLineCount: (view: TextBufferViewHandle) => number;
237
249
  readonly encoder: TextEncoder;
238
250
  readonly decoder: TextDecoder;
239
- bufferDrawTextBufferView: (buffer: Pointer, view: Pointer, x: number, y: number) => void;
240
- bufferDrawEditorView: (buffer: Pointer, view: Pointer, x: number, y: number) => void;
241
- createEditBuffer: (widthMethod: WidthMethod) => Pointer;
242
- destroyEditBuffer: (buffer: Pointer) => void;
243
- editBufferSetText: (buffer: Pointer, textBytes: Uint8Array) => void;
244
- editBufferSetTextFromMem: (buffer: Pointer, memId: number) => void;
245
- editBufferReplaceText: (buffer: Pointer, textBytes: Uint8Array) => void;
246
- editBufferReplaceTextFromMem: (buffer: Pointer, memId: number) => void;
247
- editBufferGetText: (buffer: Pointer, maxLength: number) => Uint8Array | null;
248
- editBufferInsertChar: (buffer: Pointer, char: string) => void;
249
- editBufferInsertText: (buffer: Pointer, text: string) => void;
250
- editBufferDeleteChar: (buffer: Pointer) => void;
251
- editBufferDeleteCharBackward: (buffer: Pointer) => void;
252
- editBufferDeleteRange: (buffer: Pointer, startLine: number, startCol: number, endLine: number, endCol: number) => void;
253
- editBufferNewLine: (buffer: Pointer) => void;
254
- editBufferDeleteLine: (buffer: Pointer) => void;
255
- editBufferMoveCursorLeft: (buffer: Pointer) => void;
256
- editBufferMoveCursorRight: (buffer: Pointer) => void;
257
- editBufferMoveCursorUp: (buffer: Pointer) => void;
258
- editBufferMoveCursorDown: (buffer: Pointer) => void;
259
- editBufferGotoLine: (buffer: Pointer, line: number) => void;
260
- editBufferSetCursor: (buffer: Pointer, line: number, col: number) => void;
261
- editBufferSetCursorToLineCol: (buffer: Pointer, line: number, col: number) => void;
262
- editBufferSetCursorByOffset: (buffer: Pointer, offset: number) => void;
263
- editBufferGetCursorPosition: (buffer: Pointer) => LogicalCursor;
264
- editBufferGetId: (buffer: Pointer) => number;
265
- editBufferGetTextBuffer: (buffer: Pointer) => Pointer;
266
- editBufferDebugLogRope: (buffer: Pointer) => void;
267
- editBufferUndo: (buffer: Pointer, maxLength: number) => Uint8Array | null;
268
- editBufferRedo: (buffer: Pointer, maxLength: number) => Uint8Array | null;
269
- editBufferCanUndo: (buffer: Pointer) => boolean;
270
- editBufferCanRedo: (buffer: Pointer) => boolean;
271
- editBufferClearHistory: (buffer: Pointer) => void;
272
- editBufferClear: (buffer: Pointer) => void;
273
- editBufferGetNextWordBoundary: (buffer: Pointer) => {
251
+ bufferDrawTextBufferView: (buffer: OptimizedBufferHandle, view: TextBufferViewHandle, x: number, y: number) => void;
252
+ bufferDrawEditorView: (buffer: OptimizedBufferHandle, view: EditorViewHandle, x: number, y: number) => void;
253
+ createEditBuffer: (widthMethod: WidthMethod) => EditBufferHandle;
254
+ destroyEditBuffer: (buffer: EditBufferHandle) => void;
255
+ editBufferSetText: (buffer: EditBufferHandle, textBytes: Uint8Array) => void;
256
+ editBufferSetTextFromMem: (buffer: EditBufferHandle, memId: number) => void;
257
+ editBufferReplaceText: (buffer: EditBufferHandle, textBytes: Uint8Array) => void;
258
+ editBufferReplaceTextFromMem: (buffer: EditBufferHandle, memId: number) => void;
259
+ editBufferGetText: (buffer: EditBufferHandle, maxLength: number) => Uint8Array | null;
260
+ editBufferInsertChar: (buffer: EditBufferHandle, char: string) => void;
261
+ editBufferInsertText: (buffer: EditBufferHandle, text: string) => void;
262
+ editBufferDeleteChar: (buffer: EditBufferHandle) => void;
263
+ editBufferDeleteCharBackward: (buffer: EditBufferHandle) => void;
264
+ editBufferDeleteRange: (buffer: EditBufferHandle, startLine: number, startCol: number, endLine: number, endCol: number) => void;
265
+ editBufferNewLine: (buffer: EditBufferHandle) => void;
266
+ editBufferDeleteLine: (buffer: EditBufferHandle) => void;
267
+ editBufferMoveCursorLeft: (buffer: EditBufferHandle) => void;
268
+ editBufferMoveCursorRight: (buffer: EditBufferHandle) => void;
269
+ editBufferMoveCursorUp: (buffer: EditBufferHandle) => void;
270
+ editBufferMoveCursorDown: (buffer: EditBufferHandle) => void;
271
+ editBufferGotoLine: (buffer: EditBufferHandle, line: number) => void;
272
+ editBufferSetCursor: (buffer: EditBufferHandle, line: number, col: number) => void;
273
+ editBufferSetCursorToLineCol: (buffer: EditBufferHandle, line: number, col: number) => void;
274
+ editBufferSetCursorByOffset: (buffer: EditBufferHandle, offset: number) => void;
275
+ editBufferGetCursorPosition: (buffer: EditBufferHandle) => LogicalCursor;
276
+ editBufferGetId: (buffer: EditBufferHandle) => number;
277
+ editBufferGetTextBuffer: (buffer: EditBufferHandle) => TextBufferHandle;
278
+ editBufferDebugLogRope: (buffer: EditBufferHandle) => void;
279
+ editBufferUndo: (buffer: EditBufferHandle, maxLength: number) => Uint8Array | null;
280
+ editBufferRedo: (buffer: EditBufferHandle, maxLength: number) => Uint8Array | null;
281
+ editBufferCanUndo: (buffer: EditBufferHandle) => boolean;
282
+ editBufferCanRedo: (buffer: EditBufferHandle) => boolean;
283
+ editBufferClearHistory: (buffer: EditBufferHandle) => void;
284
+ editBufferClear: (buffer: EditBufferHandle) => void;
285
+ editBufferGetNextWordBoundary: (buffer: EditBufferHandle) => {
274
286
  row: number;
275
287
  col: number;
276
288
  offset: number;
277
289
  };
278
- editBufferGetPrevWordBoundary: (buffer: Pointer) => {
290
+ editBufferGetPrevWordBoundary: (buffer: EditBufferHandle) => {
279
291
  row: number;
280
292
  col: number;
281
293
  offset: number;
282
294
  };
283
- editBufferGetEOL: (buffer: Pointer) => {
295
+ editBufferGetEOL: (buffer: EditBufferHandle) => {
284
296
  row: number;
285
297
  col: number;
286
298
  offset: number;
287
299
  };
288
- editBufferOffsetToPosition: (buffer: Pointer, offset: number) => {
300
+ editBufferOffsetToPosition: (buffer: EditBufferHandle, offset: number) => {
289
301
  row: number;
290
302
  col: number;
291
303
  offset: number;
292
304
  } | null;
293
- editBufferPositionToOffset: (buffer: Pointer, row: number, col: number) => number;
294
- editBufferGetLineStartOffset: (buffer: Pointer, row: number) => number;
295
- editBufferGetTextRange: (buffer: Pointer, startOffset: number, endOffset: number, maxLength: number) => Uint8Array | null;
296
- editBufferGetTextRangeByCoords: (buffer: Pointer, startRow: number, startCol: number, endRow: number, endCol: number, maxLength: number) => Uint8Array | null;
297
- createEditorView: (editBufferPtr: Pointer, viewportWidth: number, viewportHeight: number) => Pointer;
298
- destroyEditorView: (view: Pointer) => void;
299
- editorViewSetViewportSize: (view: Pointer, width: number, height: number) => void;
300
- editorViewSetViewport: (view: Pointer, x: number, y: number, width: number, height: number, moveCursor: boolean) => void;
301
- editorViewGetViewport: (view: Pointer) => {
305
+ editBufferPositionToOffset: (buffer: EditBufferHandle, row: number, col: number) => number;
306
+ editBufferGetLineStartOffset: (buffer: EditBufferHandle, row: number) => number;
307
+ editBufferGetTextRange: (buffer: EditBufferHandle, startOffset: number, endOffset: number, maxLength: number) => Uint8Array | null;
308
+ editBufferGetTextRangeByCoords: (buffer: EditBufferHandle, startRow: number, startCol: number, endRow: number, endCol: number, maxLength: number) => Uint8Array | null;
309
+ createEditorView: (editBufferPtr: EditBufferHandle, viewportWidth: number, viewportHeight: number) => EditorViewHandle;
310
+ destroyEditorView: (view: EditorViewHandle) => void;
311
+ editorViewSetViewportSize: (view: EditorViewHandle, width: number, height: number) => void;
312
+ editorViewSetViewport: (view: EditorViewHandle, x: number, y: number, width: number, height: number, moveCursor: boolean) => void;
313
+ editorViewGetViewport: (view: EditorViewHandle) => {
302
314
  offsetY: number;
303
315
  offsetX: number;
304
316
  height: number;
305
317
  width: number;
306
318
  };
307
- editorViewSetScrollMargin: (view: Pointer, margin: number) => void;
308
- editorViewSetWrapMode: (view: Pointer, mode: "none" | "char" | "word") => void;
309
- editorViewGetVirtualLineCount: (view: Pointer) => number;
310
- editorViewGetTotalVirtualLineCount: (view: Pointer) => number;
311
- editorViewGetTextBufferView: (view: Pointer) => Pointer;
312
- editorViewSetSelection: (view: Pointer, start: number, end: number, bgColor: RGBA | null, fgColor: RGBA | null) => void;
313
- editorViewResetSelection: (view: Pointer) => void;
314
- editorViewGetSelection: (view: Pointer) => {
319
+ editorViewSetScrollMargin: (view: EditorViewHandle, margin: number) => void;
320
+ editorViewSetWrapMode: (view: EditorViewHandle, mode: "none" | "char" | "word") => void;
321
+ editorViewGetVirtualLineCount: (view: EditorViewHandle) => number;
322
+ editorViewGetTotalVirtualLineCount: (view: EditorViewHandle) => number;
323
+ editorViewGetTextBufferView: (view: EditorViewHandle) => TextBufferViewHandle;
324
+ editorViewSetSelection: (view: EditorViewHandle, start: number, end: number, bgColor: RGBA | null, fgColor: RGBA | null) => void;
325
+ editorViewResetSelection: (view: EditorViewHandle) => void;
326
+ editorViewGetSelection: (view: EditorViewHandle) => {
315
327
  start: number;
316
328
  end: number;
317
329
  } | null;
318
- editorViewSetLocalSelection: (view: Pointer, anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor: RGBA | null, fgColor: RGBA | null, updateCursor: boolean, followCursor: boolean) => boolean;
319
- editorViewUpdateSelection: (view: Pointer, end: number, bgColor: RGBA | null, fgColor: RGBA | null) => void;
320
- editorViewUpdateLocalSelection: (view: Pointer, anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor: RGBA | null, fgColor: RGBA | null, updateCursor: boolean, followCursor: boolean) => boolean;
321
- editorViewResetLocalSelection: (view: Pointer) => void;
322
- editorViewGetSelectedTextBytes: (view: Pointer, maxLength: number) => Uint8Array | null;
323
- editorViewGetCursor: (view: Pointer) => {
330
+ editorViewSetLocalSelection: (view: EditorViewHandle, anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor: RGBA | null, fgColor: RGBA | null, updateCursor: boolean, followCursor: boolean) => boolean;
331
+ editorViewUpdateSelection: (view: EditorViewHandle, end: number, bgColor: RGBA | null, fgColor: RGBA | null) => void;
332
+ editorViewUpdateLocalSelection: (view: EditorViewHandle, anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor: RGBA | null, fgColor: RGBA | null, updateCursor: boolean, followCursor: boolean) => boolean;
333
+ editorViewResetLocalSelection: (view: EditorViewHandle) => void;
334
+ editorViewGetSelectedTextBytes: (view: EditorViewHandle, maxLength: number) => Uint8Array | null;
335
+ editorViewGetCursor: (view: EditorViewHandle) => {
324
336
  row: number;
325
337
  col: number;
326
338
  };
327
- editorViewGetText: (view: Pointer, maxLength: number) => Uint8Array | null;
328
- editorViewGetVisualCursor: (view: Pointer) => VisualCursor;
329
- editorViewMoveUpVisual: (view: Pointer) => void;
330
- editorViewMoveDownVisual: (view: Pointer) => void;
331
- editorViewDeleteSelectedText: (view: Pointer) => void;
332
- editorViewSetCursorByOffset: (view: Pointer, offset: number) => void;
333
- editorViewGetNextWordBoundary: (view: Pointer) => VisualCursor;
334
- editorViewGetPrevWordBoundary: (view: Pointer) => VisualCursor;
335
- editorViewGetEOL: (view: Pointer) => VisualCursor;
336
- editorViewGetVisualSOL: (view: Pointer) => VisualCursor;
337
- editorViewGetVisualEOL: (view: Pointer) => VisualCursor;
338
- editorViewGetLineInfo: (view: Pointer) => LineInfo;
339
- editorViewGetLogicalLineInfo: (view: Pointer) => LineInfo;
340
- editorViewSetPlaceholderStyledText: (view: Pointer, chunks: Array<{
339
+ editorViewGetText: (view: EditorViewHandle, maxLength: number) => Uint8Array | null;
340
+ editorViewGetVisualCursor: (view: EditorViewHandle) => VisualCursor;
341
+ editorViewMoveUpVisual: (view: EditorViewHandle) => void;
342
+ editorViewMoveDownVisual: (view: EditorViewHandle) => void;
343
+ editorViewDeleteSelectedText: (view: EditorViewHandle) => void;
344
+ editorViewSetCursorByOffset: (view: EditorViewHandle, offset: number) => void;
345
+ editorViewGetNextWordBoundary: (view: EditorViewHandle) => VisualCursor;
346
+ editorViewGetPrevWordBoundary: (view: EditorViewHandle) => VisualCursor;
347
+ editorViewGetEOL: (view: EditorViewHandle) => VisualCursor;
348
+ editorViewGetVisualSOL: (view: EditorViewHandle) => VisualCursor;
349
+ editorViewGetVisualEOL: (view: EditorViewHandle) => VisualCursor;
350
+ editorViewGetLineInfo: (view: EditorViewHandle) => LineInfo;
351
+ editorViewGetLogicalLineInfo: (view: EditorViewHandle) => LineInfo;
352
+ editorViewSetPlaceholderStyledText: (view: EditorViewHandle, chunks: Array<{
341
353
  text: string;
342
354
  fg?: RGBA | null;
343
355
  bg?: RGBA | null;
344
356
  attributes?: number;
345
357
  }>) => void;
346
- editorViewSetTabIndicator: (view: Pointer, indicator: number) => void;
347
- editorViewSetTabIndicatorColor: (view: Pointer, color: RGBA) => void;
348
- bufferPushScissorRect: (buffer: Pointer, x: number, y: number, width: number, height: number) => void;
349
- bufferPopScissorRect: (buffer: Pointer) => void;
350
- bufferClearScissorRects: (buffer: Pointer) => void;
351
- bufferPushOpacity: (buffer: Pointer, opacity: number) => void;
352
- bufferPopOpacity: (buffer: Pointer) => void;
353
- bufferGetCurrentOpacity: (buffer: Pointer) => number;
354
- bufferClearOpacity: (buffer: Pointer) => void;
355
- textBufferAddHighlightByCharRange: (buffer: Pointer, highlight: Highlight) => void;
356
- textBufferAddHighlight: (buffer: Pointer, lineIdx: number, highlight: Highlight) => void;
357
- textBufferRemoveHighlightsByRef: (buffer: Pointer, hlRef: number) => void;
358
- textBufferClearLineHighlights: (buffer: Pointer, lineIdx: number) => void;
359
- textBufferClearAllHighlights: (buffer: Pointer) => void;
360
- textBufferSetSyntaxStyle: (buffer: Pointer, style: Pointer | null) => void;
361
- textBufferGetLineHighlights: (buffer: Pointer, lineIdx: number) => Array<Highlight>;
362
- textBufferGetHighlightCount: (buffer: Pointer) => number;
358
+ editorViewSetTabIndicator: (view: EditorViewHandle, indicator: number) => void;
359
+ editorViewSetTabIndicatorColor: (view: EditorViewHandle, color: RGBA) => void;
360
+ bufferPushScissorRect: (buffer: OptimizedBufferHandle, x: number, y: number, width: number, height: number) => void;
361
+ bufferPopScissorRect: (buffer: OptimizedBufferHandle) => void;
362
+ bufferClearScissorRects: (buffer: OptimizedBufferHandle) => void;
363
+ bufferPushOpacity: (buffer: OptimizedBufferHandle, opacity: number) => void;
364
+ bufferPopOpacity: (buffer: OptimizedBufferHandle) => void;
365
+ bufferGetCurrentOpacity: (buffer: OptimizedBufferHandle) => number;
366
+ bufferClearOpacity: (buffer: OptimizedBufferHandle) => void;
367
+ textBufferAddHighlightByCharRange: (buffer: TextBufferHandle, highlight: Highlight) => void;
368
+ textBufferAddHighlight: (buffer: TextBufferHandle, lineIdx: number, highlight: Highlight) => void;
369
+ textBufferRemoveHighlightsByRef: (buffer: TextBufferHandle, hlRef: number) => void;
370
+ textBufferClearLineHighlights: (buffer: TextBufferHandle, lineIdx: number) => void;
371
+ textBufferClearAllHighlights: (buffer: TextBufferHandle) => void;
372
+ textBufferSetSyntaxStyle: (buffer: TextBufferHandle, style: SyntaxStyleHandle | null) => void;
373
+ textBufferGetLineHighlights: (buffer: TextBufferHandle, lineIdx: number) => Array<Highlight>;
374
+ textBufferGetHighlightCount: (buffer: TextBufferHandle) => number;
363
375
  getArenaAllocatedBytes: () => number;
364
376
  getBuildOptions: () => BuildOptions;
365
377
  getAllocatorStats: () => AllocatorStats;
366
- createSyntaxStyle: () => Pointer;
367
- destroySyntaxStyle: (style: Pointer) => void;
368
- syntaxStyleRegister: (style: Pointer, name: string, fg: RGBA | null, bg: RGBA | null, attributes: number) => number;
369
- syntaxStyleResolveByName: (style: Pointer, name: string) => number | null;
370
- syntaxStyleGetStyleCount: (style: Pointer) => number;
371
- getTerminalCapabilities: (renderer: Pointer) => TerminalCapabilities;
372
- processCapabilityResponse: (renderer: Pointer, response: string) => void;
378
+ createSyntaxStyle: () => SyntaxStyleHandle;
379
+ destroySyntaxStyle: (style: SyntaxStyleHandle) => void;
380
+ syntaxStyleRegister: (style: SyntaxStyleHandle, name: string, fg: RGBA | null, bg: RGBA | null, attributes: number) => number;
381
+ syntaxStyleResolveByName: (style: SyntaxStyleHandle, name: string) => number | null;
382
+ syntaxStyleGetStyleCount: (style: SyntaxStyleHandle) => number;
383
+ getTerminalCapabilities: (renderer: RendererHandle) => TerminalCapabilities;
384
+ processCapabilityResponse: (renderer: RendererHandle, response: string) => void;
373
385
  encodeUnicode: (text: string, widthMethod: WidthMethod) => {
374
386
  ptr: Pointer;
375
387
  data: Array<{
@@ -384,7 +396,7 @@ export interface RenderLib extends AudioEngineLib {
384
396
  char: number;
385
397
  }>;
386
398
  }) => void;
387
- bufferDrawChar: (buffer: Pointer, char: number, x: number, y: number, fg: RGBA, bg: RGBA, attributes?: number) => void;
399
+ bufferDrawChar: (buffer: OptimizedBufferHandle, char: number, x: number, y: number, fg: RGBA, bg: RGBA, attributes?: number) => void;
388
400
  registerNativeSpanFeedStream: (stream: Pointer, handler: NativeSpanFeedEventHandler) => void;
389
401
  unregisterNativeSpanFeedStream: (stream: Pointer) => void;
390
402
  createNativeSpanFeed: (options?: NativeSpanFeedOptions | null) => Pointer;