SYMBOL INDEX (297 symbols across 34 files) FILE: cmd/termsvg/export/export.go type Cmd (line 25) | type Cmd struct method Run (line 41) | func (cmd *Cmd) Run() error { FILE: cmd/termsvg/main.go type VersionFlag (line 12) | type VersionFlag method Decode (line 21) | func (v VersionFlag) Decode(_ *kong.DecodeContext) error { return nil } method IsBool (line 22) | func (v VersionFlag) IsBool() bool { return true } method BeforeApply (line 23) | func (v VersionFlag) BeforeApply(app *kong.Kong) error { function main (line 29) | func main() { FILE: cmd/termsvg/main_windows.go type VersionFlag (line 20) | type VersionFlag method Decode (line 22) | func (v VersionFlag) Decode(_ *kong.DecodeContext) error { return nil } method IsBool (line 23) | func (v VersionFlag) IsBool() bool { return true } method BeforeApply (line 24) | func (v VersionFlag) BeforeApply(app *kong.Kong) error { function main (line 30) | func main() { FILE: cmd/termsvg/play/play.go type Cmd (line 12) | type Cmd struct method Run (line 18) | func (cmd *Cmd) Run() error { function playback (line 33) | func playback(cast *asciicast.Cast, speed float64, maxIdle time.Duration... FILE: cmd/termsvg/record/record.go type Cmd (line 19) | type Cmd struct method Run (line 27) | func (cmd *Cmd) Run() error { method save (line 49) | func (cmd *Cmd) save(events []asciicast.Event) error { method run (line 80) | func (cmd *Cmd) run() ([]asciicast.Event, error) { constant readSize (line 25) | readSize = 1024 function handlePtySize (line 186) | func handlePtySize(ptmx *os.File) chan os.Signal { FILE: cmd/themegen/main.go type ThemeData (line 19) | type ThemeData struct type ThemeInfo (line 26) | type ThemeInfo struct type TemplateData (line 36) | type TemplateData struct constant defaultRGBA (line 42) | defaultRGBA = "{R: 0, G: 0, B: 0, A: 255}" constant defaultRGBAPlain (line 43) | defaultRGBAPlain = "R: 0, G: 0, B: 0, A: 255" constant builtinTemplate (line 46) | builtinTemplate = `// Code generated by themegen. DO NOT EDIT. function colorToGo (line 92) | func colorToGo(hex string) string { function main (line 123) | func main() { function parseThemeFile (line 195) | func parseThemeFile(path string) (ThemeInfo, error) { function toVarName (line 241) | func toVarName(name string) string { function hexToRGBA (line 252) | func hexToRGBA(hex string) string { FILE: pkg/asciicast/asciicast.go type ThemeInfo (line 18) | type ThemeInfo struct type Header (line 26) | type Header struct method CaptureEnv (line 63) | func (h *Header) CaptureEnv() { type Cast (line 40) | type Cast struct method Marshal (line 71) | func (c *Cast) Marshal() ([]byte, error) { method ToRelativeTime (line 109) | func (c *Cast) ToRelativeTime() { method CapRelativeTime (line 120) | func (c *Cast) CapRelativeTime(limit float64) { method ToAbsoluteTime (line 130) | func (c *Cast) ToAbsoluteTime() { method AdjustSpeed (line 141) | func (c *Cast) AdjustSpeed(speed float64) { method Compress (line 148) | func (c *Cast) Compress() { method fromJSON (line 170) | func (c *Cast) fromJSON(data string) error { method WriteTo (line 207) | func (c *Cast) WriteTo(w io.Writer) (int64, error) { function New (line 46) | func New() *Cast { function Unmarshal (line 92) | func Unmarshal(data []byte) (*Cast, error) { function Parse (line 198) | func Parse(r io.Reader) (*Cast, error) { FILE: pkg/asciicast/event.go type EventType (line 8) | type EventType type Event (line 11) | type Event struct method UnmarshalJSON (line 23) | func (e *Event) UnmarshalJSON(data []byte) error { method MarshalJSON (line 55) | func (e *Event) MarshalJSON() ([]byte, error) { constant Input (line 18) | Input EventType = "i" constant Output (line 19) | Output EventType = "o" FILE: pkg/color/catalog.go type ID (line 9) | type ID type Catalog (line 13) | type Catalog struct method Register (line 55) | func (c *Catalog) Register(col Color, palette *Palette) ID { method Resolved (line 81) | func (c *Catalog) Resolved(id ID) color.RGBA { method IsDefault (line 89) | func (c *Catalog) IsDefault(id ID) bool { method All (line 94) | func (c *Catalog) All() map[ID]color.RGBA { method Count (line 99) | func (c *Catalog) Count() int { method DefaultForeground (line 104) | func (c *Catalog) DefaultForeground() color.RGBA { method DefaultBackground (line 109) | func (c *Catalog) DefaultBackground() color.RGBA { method GenerateClassNames (line 115) | func (c *Catalog) GenerateClassNames() map[ID]string { type colorKey (line 29) | type colorKey struct type idGenerator (line 34) | type idGenerator struct method Next (line 131) | func (gen *idGenerator) Next() string { constant DefaultID (line 39) | DefaultID ID = 0 function NewCatalog (line 42) | func NewCatalog(defaultFG, defaultBG color.RGBA) *Catalog { function newIDGenerator (line 127) | func newIDGenerator() *idGenerator { FILE: pkg/color/catalog_test.go function TestCatalog_Register (line 8) | func TestCatalog_Register(t *testing.T) { function TestCatalog_Resolved (line 45) | func TestCatalog_Resolved(t *testing.T) { function TestCatalog_GenerateClassNames (line 67) | func TestCatalog_GenerateClassNames(t *testing.T) { function TestCatalog_DefaultColors (line 97) | func TestCatalog_DefaultColors(t *testing.T) { function TestCatalog_IsDefault (line 110) | func TestCatalog_IsDefault(t *testing.T) { function TestIDGenerator_Sequence (line 125) | func TestIDGenerator_Sequence(t *testing.T) { function TestIDGenerator_LongSequence (line 143) | func TestIDGenerator_LongSequence(t *testing.T) { FILE: pkg/color/color.go type Type (line 9) | type Type type Color (line 12) | type Color struct method ToRGBA (line 38) | func (c Color) ToRGBA(palette *Palette) color.RGBA { method ToHex (line 52) | func (c Color) ToHex(palette *Palette) string { constant Default (line 19) | Default Type = iota constant ANSI (line 20) | ANSI constant Extended (line 21) | Extended constant TrueColor (line 22) | TrueColor function FromANSI (line 25) | func FromANSI(index uint8) Color { function FromExtended (line 29) | func FromExtended(index uint8) Color { function FromRGB (line 33) | func FromRGB(r, g, b uint8) Color { function RGBAtoHex (line 57) | func RGBAtoHex(rgba color.RGBA) string { FILE: pkg/color/colorsgen.go function main (line 71) | func main() { FILE: pkg/color/palette.go type Palette (line 6) | type Palette method At (line 9) | func (p *Palette) At(index uint8) color.RGBA { function Standard (line 14) | func Standard() Palette { FILE: pkg/ir/ir.go type Recording (line 14) | type Recording struct type Stats (line 31) | type Stats struct type Cursor (line 43) | type Cursor struct type Frame (line 50) | type Frame struct type Row (line 68) | type Row struct type TextRun (line 78) | type TextRun struct type CellAttrs (line 90) | type CellAttrs struct FILE: pkg/ir/ir_test.go function TestProcessor_Process (line 10) | func TestProcessor_Process(t *testing.T) { function TestProcessor_Compression (line 64) | func TestProcessor_Compression(t *testing.T) { function TestProcessor_SpeedAdjustment (line 94) | func TestProcessor_SpeedAdjustment(t *testing.T) { function TestProcessor_IdleTimeCap (line 122) | func TestProcessor_IdleTimeCap(t *testing.T) { function TestTextRunGrouping (line 157) | func TestTextRunGrouping(t *testing.T) { function TestAttrsEqual (line 195) | func TestAttrsEqual(t *testing.T) { FILE: pkg/ir/processor.go type ProcessorConfig (line 14) | type ProcessorConfig struct type Processor (line 23) | type Processor struct method Process (line 43) | func (p *Processor) Process(cast *asciicast.Cast) (*Recording, error) { method captureFrame (line 114) | func (p *Processor) captureFrame( method captureRow (line 145) | func (p *Processor) captureRow( method cellToAttrs (line 204) | func (p *Processor) cellToAttrs( method preprocessEvents (line 241) | func (p *Processor) preprocessEvents(cast *asciicast.Cast) []asciicast... function DefaultProcessorConfig (line 28) | func DefaultProcessorConfig() *ProcessorConfig { function NewProcessor (line 38) | func NewProcessor(config *ProcessorConfig) *Processor { function attrsEqual (line 293) | func attrsEqual(a, b CellAttrs) bool { function floatSecondsToDuration (line 302) | func floatSecondsToDuration(seconds float64) time.Duration { function deduplicateFrames (line 308) | func deduplicateFrames(frames []Frame) []Frame { function framesEqual (line 346) | func framesEqual(a, b *Frame) bool { function rowsEqual (line 368) | func rowsEqual(a, b *Row) bool { function textRunsEqual (line 387) | func textRunsEqual(a, b *TextRun) bool { FILE: pkg/progress/progress.go type Update (line 14) | type Update struct type Reporter (line 21) | type Reporter struct method Start (line 28) | func (r *Reporter) Start() { method Wait (line 61) | func (r *Reporter) Wait() { function newBar (line 66) | func newBar(total int, description string) *progressbar.ProgressBar { function New (line 77) | func New() (reporter *Reporter, progressCh chan<- Update) { FILE: pkg/raster/draw.go type textRunColors (line 16) | type textRunColors struct constant baselineOffset (line 26) | baselineOffset = 5 constant underlineOffset (line 29) | underlineOffset = 2 constant windowCornerRadius (line 32) | windowCornerRadius = 5 constant windowButtonSpacing (line 35) | windowButtonSpacing = 20 constant windowButtonRadius (line 38) | windowButtonRadius = 6 method computeTextRunColors (line 42) | func (r *Rasterizer) computeTextRunColors(run ir.TextRun, rowY int, cata... method drawTextRunWithFace (line 86) | func (r *Rasterizer) drawTextRunWithFace( method drawCursor (line 123) | func (r *Rasterizer) drawCursor(img *image.RGBA, cursor ir.Cursor, catal... method drawWindow (line 142) | func (r *Rasterizer) drawWindow(img *image.RGBA) { method drawBackground (line 159) | func (r *Rasterizer) drawBackground(img *image.RGBA) { method drawTerminalBackground (line 167) | func (r *Rasterizer) drawTerminalBackground(img *image.RGBA, width, heig... method drawRoundedRect (line 182) | func (r *Rasterizer) drawRoundedRect(img *image.RGBA, bounds image.Recta... method drawCircle (line 192) | func (r *Rasterizer) drawCircle(img *image.RGBA, cx, cy, radius int, c c... method contentOffsetY (line 203) | func (r *Rasterizer) contentOffsetY() int { method contentWidth (line 211) | func (r *Rasterizer) contentWidth(cols int) int { method contentHeight (line 216) | func (r *Rasterizer) contentHeight(rows int) int { method paddedWidth (line 221) | func (r *Rasterizer) paddedWidth(cols int) int { method paddedHeight (line 226) | func (r *Rasterizer) paddedHeight(rows int) int { function dimColor (line 235) | func dimColor(c color.RGBA) color.RGBA { method drawTextRunToPaletted (line 248) | func (r *Rasterizer) drawTextRunToPaletted( method drawCursorToPaletted (line 285) | func (r *Rasterizer) drawCursorToPaletted(img *image.Paletted, cursor ir... FILE: pkg/raster/font.go function loadFontFace (line 14) | func loadFontFace(size float64) (font.Face, error) { FILE: pkg/raster/paletted.go type palettedFrameRenderer (line 17) | type palettedFrameRenderer struct method render (line 27) | func (fr *palettedFrameRenderer) render() ([]PalettedFrame, error) { method renderSingleFrame (line 96) | func (fr *palettedFrameRenderer) renderSingleFrame( method createPalettedBaseImage (line 119) | func (fr *palettedFrameRenderer) createPalettedBaseImage( method copyPalettedBaseImage (line 145) | func (fr *palettedFrameRenderer) copyPalettedBaseImage(base *image.Pal... method drawFrameContentToPaletted (line 153) | func (fr *palettedFrameRenderer) drawFrameContentToPaletted(img *image... FILE: pkg/raster/raster.go type RasterFrame (line 23) | type RasterFrame struct type Config (line 35) | type Config struct type Rasterizer (line 59) | type Rasterizer struct method Close (line 112) | func (r *Rasterizer) Close() error { method Rasterize (line 121) | func (r *Rasterizer) Rasterize(rec *ir.Recording) ([]RasterFrame, erro... method RasterizeWithPalette (line 138) | func (r *Rasterizer) RasterizeWithPalette(rec *ir.Recording, palette c... type PalettedFrame (line 65) | type PalettedFrame struct constant RowHeight (line 78) | RowHeight = 25 constant ColWidth (line 79) | ColWidth = 12 constant Padding (line 80) | Padding = 20 constant HeaderSize (line 81) | HeaderSize = 2 function DefaultConfig (line 85) | func DefaultConfig() Config { function New (line 99) | func New(config *Config) (*Rasterizer, error) { FILE: pkg/raster/raster_test.go function TestNew (line 12) | func TestNew(t *testing.T) { function TestRasterize_EmptyRecording (line 28) | func TestRasterize_EmptyRecording(t *testing.T) { function TestRasterize_SingleFrame (line 47) | func TestRasterize_SingleFrame(t *testing.T) { function TestRasterize_MultipleFrames (line 121) | func TestRasterize_MultipleFrames(t *testing.T) { function TestRasterize_WithWindow (line 186) | func TestRasterize_WithWindow(t *testing.T) { function TestRasterize_WithoutWindow (line 233) | func TestRasterize_WithoutWindow(t *testing.T) { function TestRasterize_MultipleUniqueFrames (line 277) | func TestRasterize_MultipleUniqueFrames(t *testing.T) { function TestRasterize_WithStyling (line 355) | func TestRasterize_WithStyling(t *testing.T) { function TestRasterize_WithCursor (line 424) | func TestRasterize_WithCursor(t *testing.T) { function TestRasterize_MultipleRows (line 469) | func TestRasterize_MultipleRows(t *testing.T) { function TestDefaultConfig (line 516) | func TestDefaultConfig(t *testing.T) { function TestDimColor (line 539) | func TestDimColor(t *testing.T) { FILE: pkg/raster/renderer.go type frameRenderer (line 15) | type frameRenderer struct method render (line 24) | func (fr *frameRenderer) render() ([]RasterFrame, error) { method renderSingleFrame (line 93) | func (fr *frameRenderer) renderSingleFrame( method createBaseImage (line 116) | func (fr *frameRenderer) createBaseImage(width, height, contentWidth, ... method copyBaseImage (line 135) | func (fr *frameRenderer) copyBaseImage(base *image.RGBA) *image.RGBA { method drawFrameContent (line 143) | func (fr *frameRenderer) drawFrameContent(img *image.RGBA, frame ir.Fr... FILE: pkg/raster/renderer_bench_test.go function createBenchmarkRecording (line 15) | func createBenchmarkRecording(numFrames, width, height int) *ir.Recording { function BenchmarkRasterize_10Frames (line 53) | func BenchmarkRasterize_10Frames(b *testing.B) { function BenchmarkRasterize_50Frames (line 73) | func BenchmarkRasterize_50Frames(b *testing.B) { function BenchmarkRasterize_100Frames (line 93) | func BenchmarkRasterize_100Frames(b *testing.B) { function BenchmarkRasterize_200Frames (line 113) | func BenchmarkRasterize_200Frames(b *testing.B) { function BenchmarkRasterize_WithWindow (line 133) | func BenchmarkRasterize_WithWindow(b *testing.B) { FILE: pkg/renderer/gif/renderer.go type Renderer (line 22) | type Renderer struct method Format (line 59) | func (r *Renderer) Format() string { method FileExtension (line 64) | func (r *Renderer) FileExtension() string { method Render (line 69) | func (r *Renderer) Render(ctx context.Context, rec *ir.Recording, w io... method sendProgress (line 121) | func (r *Renderer) sendProgress(current, total int) { method assembleGIF (line 135) | func (r *Renderer) assembleGIF(frames []raster.PalettedFrame, w io.Wri... method calculateDelay (line 161) | func (r *Renderer) calculateDelay(delay time.Duration, frameIdx, total... method processFrame (line 169) | func (r *Renderer) processFrame(g *gif.GIF, prev, curr *image.Paletted... method encodeAndLog (line 199) | func (r *Renderer) encodeAndLog(g *gif.GIF, w io.Writer, t *gifTimings... method buildPalette (line 251) | func (r *Renderer) buildPalette(rec *ir.Recording) color.Palette { type gifTimings (line 28) | type gifTimings struct constant gifTimeUnit (line 38) | gifTimeUnit = 10 constant minGifDelay (line 42) | minGifDelay = 2 function New (line 46) | func New(config *renderer.Config) (*Renderer, error) { function framesEqual (line 217) | func framesEqual(a, b *image.Paletted) bool { function computeDelta (line 231) | func computeDelta(prev, curr *image.Paletted, transparentIdx uint8) *ima... FILE: pkg/renderer/gif/renderer_test.go function TestRenderer_Format (line 18) | func TestRenderer_Format(t *testing.T) { function TestRenderer_FileExtension (line 29) | func TestRenderer_FileExtension(t *testing.T) { function TestRenderer_Render_EmptyRecording (line 40) | func TestRenderer_Render_EmptyRecording(t *testing.T) { function TestRenderer_Render_SingleFrame (line 57) | func TestRenderer_Render_SingleFrame(t *testing.T) { function TestRenderer_Render_MultipleFrames (line 113) | func TestRenderer_Render_MultipleFrames(t *testing.T) { function TestRenderer_Render_WithWindow (line 171) | func TestRenderer_Render_WithWindow(t *testing.T) { function TestRenderer_Render_WithoutWindow (line 222) | func TestRenderer_Render_WithoutWindow(t *testing.T) { function TestRenderer_Render_ContextCancellation (line 269) | func TestRenderer_Render_ContextCancellation(t *testing.T) { FILE: pkg/renderer/renderer.go type Renderer (line 15) | type Renderer interface type Config (line 22) | type Config struct function DefaultConfig (line 41) | func DefaultConfig() *Config { function NewRasterizer (line 55) | func NewRasterizer(config *Config) (*raster.Rasterizer, error) { FILE: pkg/renderer/svg/renderer.go type Renderer (line 18) | type Renderer struct method Format (line 53) | func (r *Renderer) Format() string { method FileExtension (line 58) | func (r *Renderer) FileExtension() string { method Render (line 63) | func (r *Renderer) Render(ctx context.Context, rec *ir.Recording, w io... type canvas (line 23) | type canvas struct method contentWidth (line 78) | func (c *canvas) contentWidth() int { method contentHeight (line 82) | func (c *canvas) contentHeight() int { method paddedWidth (line 86) | func (c *canvas) paddedWidth() int { method paddedHeight (line 90) | func (c *canvas) paddedHeight() int { method render (line 97) | func (c *canvas) render(ctx context.Context) error { method writeBackground (line 148) | func (c *canvas) writeBackground() { method writeWindow (line 153) | func (c *canvas) writeWindow() { method writeStyles (line 169) | func (c *canvas) writeStyles() { method generateKeyframes (line 212) | func (c *canvas) generateKeyframes() string { method writeBGFilters (line 233) | func (c *canvas) writeBGFilters() { method writeFrames (line 261) | func (c *canvas) writeFrames() { method writeFrame (line 271) | func (c *canvas) writeFrame(frame ir.Frame) { method writeCursor (line 284) | func (c *canvas) writeCursor(cursor ir.Cursor) { method writeTextRun (line 293) | func (c *canvas) writeTextRun(run ir.TextRun, rowY int) { constant RowHeight (line 32) | RowHeight = 25 constant ColWidth (line 33) | ColWidth = 12 constant Padding (line 34) | Padding = 20 constant HeaderSize (line 35) | HeaderSize = 2 constant windowCornerRadius (line 38) | windowCornerRadius = 5 constant windowButtonSpacing (line 41) | windowButtonSpacing = 20 constant windowButtonRadius (line 44) | windowButtonRadius = 6 function New (line 48) | func New(config *renderer.Config) *Renderer { FILE: pkg/renderer/svg/renderer_test.go function TestNew (line 20) | func TestNew(t *testing.T) { function TestRender_EmptyRecording (line 35) | func TestRender_EmptyRecording(t *testing.T) { function TestRender_BasicStructure (line 55) | func TestRender_BasicStructure(t *testing.T) { function TestRender_WindowChrome (line 84) | func TestRender_WindowChrome(t *testing.T) { function TestRender_NoWindowChrome (line 109) | func TestRender_NoWindowChrome(t *testing.T) { function TestRender_Keyframes (line 129) | func TestRender_Keyframes(t *testing.T) { function TestRender_ColorClasses (line 152) | func TestRender_ColorClasses(t *testing.T) { function TestRender_TextAttributes (line 192) | func TestRender_TextAttributes(t *testing.T) { function TestRender_BackgroundFilters (line 254) | func TestRender_BackgroundFilters(t *testing.T) { function TestRender_HTMLEscaping (line 307) | func TestRender_HTMLEscaping(t *testing.T) { function TestRender_LoopCount (line 348) | func TestRender_LoopCount(t *testing.T) { function TestRender_ContextCancellation (line 381) | func TestRender_ContextCancellation(t *testing.T) { function TestCanvas_Dimensions (line 396) | func TestCanvas_Dimensions(t *testing.T) { function createTestRecording (line 438) | func createTestRecording() *ir.Recording { function TestIntegration_256Colors (line 488) | func TestIntegration_256Colors(t *testing.T) { FILE: pkg/renderer/webm/renderer.go type Renderer (line 20) | type Renderer struct method Format (line 44) | func (r *Renderer) Format() string { method FileExtension (line 49) | func (r *Renderer) FileExtension() string { method Render (line 54) | func (r *Renderer) Render(ctx context.Context, rec *ir.Recording, w io... method encodeToWebM (line 101) | func (r *Renderer) encodeToWebM(frames []raster.RasterFrame, w io.Writ... method filterFrames (line 264) | func (r *Renderer) filterFrames(frames []raster.RasterFrame) []raster.... function New (line 26) | func New(config *renderer.Config) (*Renderer, error) { FILE: pkg/renderer/webm/renderer_test.go function TestRenderer_Format (line 15) | func TestRenderer_Format(t *testing.T) { function TestRenderer_FileExtension (line 27) | func TestRenderer_FileExtension(t *testing.T) { function TestRenderer_Render_EmptyRecording (line 39) | func TestRenderer_Render_EmptyRecording(t *testing.T) { function TestRenderer_Render_SingleFrame (line 57) | func TestRenderer_Render_SingleFrame(t *testing.T) { function TestRenderer_Render_MultipleFrames (line 122) | func TestRenderer_Render_MultipleFrames(t *testing.T) { function TestRenderer_Render_WithDebug (line 179) | func TestRenderer_Render_WithDebug(t *testing.T) { function TestNew_WithoutFFmpeg (line 222) | func TestNew_WithoutFFmpeg(t *testing.T) { FILE: pkg/terminal/terminal.go type Cell (line 9) | type Cell struct type State (line 20) | type State interface type Emulator (line 27) | type Emulator struct method Write (line 40) | func (e *Emulator) Write(data []byte) (int, error) { method Width (line 45) | func (e *Emulator) Width() int { method Height (line 51) | func (e *Emulator) Height() int { method Cell (line 57) | func (e *Emulator) Cell(col, row int) Cell { method Cursor (line 71) | func (e *Emulator) Cursor() (col, row int) { method CursorVisible (line 77) | func (e *Emulator) CursorVisible() bool { function New (line 31) | func New(width, height int) *Emulator { function convertColor (line 82) | func convertColor(c vt10x.Color) color.Color { FILE: pkg/theme/loader.go function Load (line 14) | func Load(nameOrPath string) (Theme, error) { function LoadFromFile (line 27) | func LoadFromFile(path string) (Theme, error) { function loadThemeFile (line 56) | func loadThemeFile(path string) (Theme, error) { function LoadBuiltin (line 79) | func LoadBuiltin(name string) (Theme, error) { function IsBuiltin (line 92) | func IsBuiltin(name string) bool { function ListBuiltin (line 99) | func ListBuiltin() []string { FILE: pkg/theme/theme.go type Theme (line 13) | type Theme struct function Default (line 23) | func Default() Theme { function FromAsciinema (line 42) | func FromAsciinema(name, fg, bg, palette string) (Theme, error) { function ParseHexColor (line 82) | func ParseHexColor(hex string) (color.RGBA, error) {