Sha256: 8f3c027d68798ed8be3b118fa949451006e334df6e192acbd2a7aeb79ee12d96

Contents?: true

Size: 1.12 KB

Versions: 29

Compression:

Stored size: 1.12 KB

Contents

#--
# PDF::Writer for Ruby.
#   http://rubyforge.org/projects/ruby-pdf/
#   Copyright 2003 - 2005 Austin Ziegler.
#
#   Licensed under a MIT-style licence. See LICENCE in the main distribution
#   for full licensing information.
#
# $Id: state.rb 50 2005-05-16 03:59:21Z austin $
#++
class PDF::Writer
  class State
    attr_accessor :fill_color
    attr_accessor :stroke_color
    attr_accessor :text_render_style
    attr_accessor :stroke_style

    def initialize(vals = {})
      @fill_color         = vals[:fill_color]
      @stroke_color       = vals[:stroke_color]
      @text_render_style  = vals[:text_render_style]
      @stroke_style       = vals[:stroke_style]

      yield self if block_given?
    end

    def blank?
      @fill_color.nil? and @stroke_color.nil? and @stroke_style.nil?
    end
  end

  class StateStack < ::Array
    alias_method :__push__, :push
#   alias_method :__pop__, :pop

    def push(obj)
      return self if obj.nil?
      raise TypeError unless obj.kind_of?(PDF::Writer::State)
      return self if obj.blank?
      __push__(obj)
    end

#   def pop
#     ret = __pop__
#     ret
#   end
  end
end

Version data entries

29 entries across 29 versions & 4 rubygems

Version Path
rhodes-7.6.0 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-7.5.1 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-7.4.1 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-7.1.17 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-6.2.0 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-6.0.11 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-5.5.18 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-5.5.17 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-5.5.15 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-5.5.0.22 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-5.5.2 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-5.5.0.7 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-5.5.0.3 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-5.5.0 lib/extensions/pdf-writer/pdf/writer/state.rb
tauplatform-1.0.3 lib/extensions/pdf-writer/pdf/writer/state.rb
tauplatform-1.0.2 lib/extensions/pdf-writer/pdf/writer/state.rb
tauplatform-1.0.1 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-3.5.1.12 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-3.3.5 lib/extensions/pdf-writer/pdf/writer/state.rb
rhodes-3.4.2 lib/extensions/pdf-writer/pdf/writer/state.rb