class Subconv::Scc::Reader::State
Internal state of the parser consisting of current drawing position, character style and captioning mode
Attributes
char_replaced[R]
column[R]
mode[R]
row[R]
style[RW]
Public Class Methods
default()
click to toggle source
# File lib/subconv/scc/reader.rb, line 295 def self.default State.new(row: 0, column: 0, style: CharacterStyle.default, mode: :pop_on) end
new(params)
click to toggle source
# File lib/subconv/scc/reader.rb, line 251 def initialize(params) self.row = params[:row] self.column = params[:column] @style = params[:style] self.mode = params[:mode] end
Public Instance Methods
char_replaced=(replaced)
click to toggle source
# File lib/subconv/scc/reader.rb, line 285 def char_replaced=(replaced) fail ArgumentError, 'Invalid value for char_replaced' unless [true, false].include?(replaced) @char_replaced = replaced end
column=(column)
click to toggle source
Make sure the cursor does not get outside the screen left or right
# File lib/subconv/scc/reader.rb, line 267 def column=(column) @column = Utility.clamp(column, 0, GRID_COLUMNS - 1) end
mode=(mode)
click to toggle source
# File lib/subconv/scc/reader.rb, line 271 def mode=(mode) fail 'Unknown mode' unless %i[pop_on paint_on].include?(mode) @mode = mode end
paint_on_mode?()
click to toggle source
# File lib/subconv/scc/reader.rb, line 281 def paint_on_mode? @mode == :paint_on end
pop_on_mode?()
click to toggle source
# File lib/subconv/scc/reader.rb, line 277 def pop_on_mode? @mode == :pop_on end
row=(row)
click to toggle source
Make sure the maximum row count is not exceeded
# File lib/subconv/scc/reader.rb, line 262 def row=(row) @row = Utility.clamp(row, 0, GRID_ROWS - 1) end
start_new_frame()
click to toggle source
# File lib/subconv/scc/reader.rb, line 291 def start_new_frame self.char_replaced = false end