Sha256: 2e55e8647d3c4f29cbfd75da5ae0a124810aa9a60c2c5cdbc9c3ba214a2d8453

Contents?: true

Size: 541 Bytes

Versions: 10

Compression:

Stored size: 541 Bytes

Contents

require 'psd/layer_info'

class PSD
  class VectorMask < LayerInfo
    def self.should_parse?(key)
      ['vmsk', 'vsms'].include?(key)
    end

    attr_reader :invert, :not_link, :disable, :paths

    def parse
      version = @file.read_int
      tag = @file.read_int

      @invert = tag & 0x01
      @not_link = (tag & (0x01 << 1)) > 0
      @disable = (tag & (0x01 << 2)) > 0

      num_records = (@length - 8) / 26
      
      @paths = []
      num_records.times do
        @paths << PathRecord.new(@file)
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
psd-3.3.1 lib/psd/layer/info/vector_mask.rb
psd-3.2.4 lib/psd/layer_info/vector_mask.rb
psd-3.2.3 lib/psd/layer_info/vector_mask.rb
psd-3.2.2 lib/psd/layer_info/vector_mask.rb
psd-3.2.1 lib/psd/layer_info/vector_mask.rb
psd-3.2.0 lib/psd/layer_info/vector_mask.rb
psd-3.1.5 lib/psd/layer_info/vector_mask.rb
psd-3.1.4 lib/psd/layer_info/vector_mask.rb
psd-3.1.3 lib/psd/layer_info/vector_mask.rb
psd-3.1.2 lib/psd/layer_info/vector_mask.rb