pixelflow_canvas 0.6.0 → 0.7.1

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.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PixelflowCanvas
4
- VERSION = "0.6.0"
4
+ VERSION = "0.7.1"
5
5
  end
@@ -6,6 +6,7 @@ require 'chunky_png'
6
6
  require 'json'
7
7
  require 'socket'
8
8
  require 'time'
9
+ require 'yaml'
9
10
 
10
11
  module Pixelflow
11
12
  class Canvas
@@ -169,6 +170,30 @@ module Pixelflow
169
170
  @socket.flush
170
171
  end
171
172
 
173
+ def set_predefined_palette(key)
174
+ if key == :vga
175
+ @palette = VGA_PALETTE.dup
176
+ (0..255).each do |i|
177
+ @socket.write([3, i, @palette[i * 3 + 0], @palette[i * 3 + 1], @palette[i * 3 + 2]].pack('CCCCC'))
178
+ end
179
+ @socket.flush
180
+ else
181
+ @@palettes ||= YAML.load(File.read(File.join(File.dirname(__FILE__), 'pixelflow_canvas', 'palettes.yaml')))
182
+ if @@palettes[key]
183
+ @palette = [0] * 768
184
+ @@palettes[key].each_with_index do |color, i|
185
+ @palette[i * 3 + 0] = color[1, 2].to_i(16)
186
+ @palette[i * 3 + 1] = color[3, 2].to_i(16)
187
+ @palette[i * 3 + 2] = color[5, 2].to_i(16)
188
+ @socket.write([3, i, @palette[i * 3 + 0], @palette[i * 3 + 1], @palette[i * 3 + 2]].pack('CCCCC'))
189
+ end
190
+ @socket.flush
191
+ else
192
+ raise "Invalid predefined palette: #{key}"
193
+ end
194
+ end
195
+ end
196
+
172
197
  def move_to(x, y)
173
198
  x = x.to_i
174
199
  y = y.to_i
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pixelflow_canvas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Specht
@@ -44,6 +44,7 @@ files:
44
44
  - lib/pixelflow_canvas/fonts/8x13B.bdf
45
45
  - lib/pixelflow_canvas/fonts/9x15.bdf
46
46
  - lib/pixelflow_canvas/fonts/9x15B.bdf
47
+ - lib/pixelflow_canvas/palettes.yaml
47
48
  - lib/pixelflow_canvas/version.rb
48
49
  - lib/pixelflow_canvas/vga_palette.rb
49
50
  - sig/pixelflow_canvas.rbs