From fe349c9394f6415e8af58996efd1cf52e03ed1e8 Mon Sep 17 00:00:00 2001 From: Marcin Kulik Date: Mon, 20 Feb 2012 21:15:26 +0100 Subject: [PATCH] Blink attribute support --- app/assets/javascripts/player/brush.js.coffee | 3 ++- app/assets/javascripts/player/terminal_view.js.coffee | 6 +++++- app/assets/javascripts/player/vt.js.coffee | 9 +++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/player/brush.js.coffee b/app/assets/javascripts/player/brush.js.coffee index cf3ceaa..116adda 100644 --- a/app/assets/javascripts/player/brush.js.coffee +++ b/app/assets/javascripts/player/brush.js.coffee @@ -5,7 +5,7 @@ class AsciiIo.Brush @cache = {} @hash: (brush) -> - "#{brush.fg}_#{brush.bg}_#{brush.bright}_#{brush.underline}_#{brush.italic}" + "#{brush.fg}_#{brush.bg}_#{brush.bright}_#{brush.underline}_#{brush.italic}_#{brush.blink}" @create: (options) -> options ||= {} @@ -25,3 +25,4 @@ class AsciiIo.Brush @bright = options.bright @underline = options.underline @italic = options.italic + @blink = options.blink diff --git a/app/assets/javascripts/player/terminal_view.js.coffee b/app/assets/javascripts/player/terminal_view.js.coffee index 731515a..e3302d4 100644 --- a/app/assets/javascripts/player/terminal_view.js.coffee +++ b/app/assets/javascripts/player/terminal_view.js.coffee @@ -85,6 +85,11 @@ class AsciiIo.TerminalView extends Backbone.View fg += 8 if fg < 8 and brush.bright span += " fg" + fg + if brush.bg isnt undefined + bg = brush.bg + bg += 8 if bg < 8 and brush.blink + span += " bg" + bg + if brush.bright span += " bright" @@ -94,7 +99,6 @@ class AsciiIo.TerminalView extends Backbone.View if brush.italic span += " italic" - span += " bg" + brush.bg if brush.bg isnt undefined span += " cursor visible" if hasCursor span += "\">" diff --git a/app/assets/javascripts/player/vt.js.coffee b/app/assets/javascripts/player/vt.js.coffee index dc4306a..928c098 100644 --- a/app/assets/javascripts/player/vt.js.coffee +++ b/app/assets/javascripts/player/vt.js.coffee @@ -269,10 +269,14 @@ class AsciiIo.VT @italic = true else if n is 4 @underline = true + else if n is 5 + @blink = true else if n is 23 @italic = false else if n is 24 @underline = false + else if n is 25 + @blink = false else if n >= 30 and n <= 37 @fg = n - 30 else if n is 38 @@ -291,11 +295,12 @@ class AsciiIo.VT i++ props = {} - props.fg = @fg if @fg - props.bg = @bg if @bg + props.fg = @fg if @fg isnt undefined + props.bg = @bg if @bg isnt undefined props.bright = true if @bright props.underline = true if @underline props.italic = true if @italic + props.blink = true if @blink @setBrush AsciiIo.Brush.create(props)