Support png scaling, but warns on use.

This commit is contained in:
Andy Meneely
2014-12-09 22:59:49 -05:00
parent 52b1037296
commit f8f65f3de7
9 changed files with 43 additions and 19 deletions
+14 -12
View File
@@ -3,14 +3,15 @@ require 'squib'
describe Squib::Card do
before(:each) do
@deck = double(Squib::Deck)
@context = double(Cairo::Context)
@svg = double(RSVG::Handle)
allow(Cairo::Context).to receive(:new).and_return(@context)
allow(Cairo::ImageSurface).to receive(:from_png).and_return(nil)
allow(Cairo::ImageSurface).to receive(:new).and_return(nil)
allow(RSVG::Handle).to receive(:new_from_file).and_return(@svg)
before(:example) do
@deck = double(Squib::Deck)
@context = double(Cairo::Context)
@svg = double(RSVG::Handle)
@png = double(Cairo::ImageSurface)
allow(Cairo::Context).to receive(:new).and_return(@context)
allow(Cairo::ImageSurface).to receive(:from_png).and_return(@png)
allow(Cairo::ImageSurface).to receive(:new).and_return(@png)
allow(RSVG::Handle).to receive(:new_from_file).and_return(@svg)
end
context '#png' do
@@ -19,13 +20,13 @@ describe Squib::Card do
expect(@context).to receive(:translate).with(-37, -38).once
expect(@context).to receive(:rotate).with(0.0).once
expect(@context).to receive(:translate).with(37, 38).once
expect(@context).to receive(:set_source).with(nil, 37, 38).once
expect(@context).to receive(:set_source).with(@png, 37, 38).once
expect(@context).to receive(:paint).with(0.9).once
expect(@context).to receive(:restore).once
card = Squib::Card.new(@deck, 100, 150)
# png(file, x, y, alpha, blend, angle)
card.png('foo.png', 37, 38, 0.9, :none, 0.0)
card.png('foo.png', 37, 38, :native, :native, 0.9, :none, 0.0)
end
it 'sets blend when needed' do
@@ -33,8 +34,9 @@ describe Squib::Card do
expect(@context).to receive(:operator=).with(:overlay).once
card = Squib::Card.new(@deck, 100, 150)
card.png('foo.png', 37, 38, 0.9, :overlay, 0.0)
card.png('foo.png', 37, 38, :native, :native, 0.9, :overlay, 0.0)
end
end
context '#svg' do
@@ -47,7 +49,7 @@ describe Squib::Card do
expect(@context).to receive(:translate).with(37, 38).once
expect(@context).to receive(:scale).with(1.0, 1.0).once
expect(@context).to receive(:render_rsvg_handle).with(@svg, 'id').once
expect(@context).to receive(:set_source).with(nil, 37, 38).once
expect(@context).to receive(:set_source).with(@png, 37, 38).once
expect(@context).to receive(:paint).with(0.9).once
expect(@context).to receive(:restore).once