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.
- checksums.yaml +4 -4
- data/README.md +27 -21
- data/lib/pixelflow_canvas/palettes.yaml +2527 -0
- data/lib/pixelflow_canvas/version.rb +1 -1
- data/lib/pixelflow_canvas.rb +25 -0
- metadata +2 -1
data/lib/pixelflow_canvas.rb
CHANGED
@@ -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.
|
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
|