class Bitmapped::Commands::HorizontalLineCommand
Public Instance Methods
command_id()
click to toggle source
# File lib/bitmapped/commands/horizontal_line_command.rb, line 10 def command_id "H" end
process_command(bitmap, input)
click to toggle source
# File lib/bitmapped/commands/horizontal_line_command.rb, line 14 def process_command(bitmap, input) Validators::ValidateBitmapInitialised.parse_and_validate(bitmap) column, start, finish, color = Validators::ValidateSegmentInput.parse_and_validate(input) horizontal_command(bitmap, column, start, finish, color) end
Private Instance Methods
horizontal_command(bitmap, x, y, row, color)
click to toggle source
# File lib/bitmapped/commands/horizontal_line_command.rb, line 21 def horizontal_command(bitmap, x, y, row, color) raise InvalidCoordinatesError unless (0 < row && row <= bitmap.rows) x, y = coordinates_to_array_indexes(bitmap, x, y) row = row - 1 bitmap.pixels[row][x..y] = Array.new((x..y).size, color) end