Browse Source

Working on new files

dev
Andy Meneely 12 years ago
parent
commit
a50c70ae57
  1. 12
      lib/squib.rb
  2. 9
      lib/squib/card.rb
  3. 7
      lib/squib/commands/text_cmd.rb
  4. 6
      lib/squib/deck.rb

12
lib/squib.rb

@ -1,11 +1,16 @@
require 'squib/commands/text_cmd'
class Squib
attr_accessor :the_deck
end
##################
### PUBLIC API ###
##################
def deck(width:, height:, cards: 1)
Deck.new(width, height, cards)
Squib.the_deck = Deck.new(width, height, cards)
end
def font(type: , size: 12, **options)
@ -17,6 +22,11 @@ def set_font(type: 'Arial', size: 12, **options)
end
def text(range=:all, str: , font: :use_set, x: 0, y: 0, **options)
range = 0..cards-1 if range == :all
str = [str] * cards unless str.respond_to? :each
#TODO define a singleton or something for the deck we're working on.
str.each{ |s| Squib::Graphics::Text.new(card, s, font, x, y, options) }
end
end
def image(range=:all, file: , x: 0, y: 0)

9
lib/squib/card.rb

@ -1,8 +1,15 @@
require 'cairo'
module Squib
class Card
def initialize(width: 825, height: 1125)
attr_reader :width:, :height
attr_accessor :cairo_surface, :cairo_context
def initialize(width, height)
@width=width, @height=height
@cairo_surface = Cairo::ImageSurface.new(width,height)
@cairo_context = Cairo::Context.new(@cairo_surface)
end
end

7
lib/squib/commands/text_cmd.rb

@ -1,7 +0,0 @@
module Squib
class TextCmd
end
end

6
lib/squib/deck.rb

@ -3,16 +3,14 @@ module Squib
class Deck
attr_reader :width, :height, :cards
attr_accessor :deck
def initialize(width: 825, height: 1125, cards: 1)
@width=width; @height=height; @cards=cards
@deck = Array.new(cards)
(1..cards).each{ @deck << Squib::Card.new(width: width, height: height) }
(1..cards).each{ @deck << Squib::Card.new(width, height) }
end
end
end
Loading…
Cancel
Save