#--
-# $Id: redact.rb 1 2005-03-26 01:32:38Z tilman $
-#
# Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
#
# Permission is hereby granted, free of charge, to any person obtaining
require "redact/part"
require "redact/program"
-class Object
+class Object # :nodoc:
undef :id
end
end
module Redact
- VERSION = "0.0.1"
+ VERSION = "0.1.5"
class RedactError < StandardError; end
@data = DataHash.new
end
- def collection(name)
+ def collection(name) # :yields: collection
c = @collections[name]
block_given? ? (yield c) : c
end
+ protected
def to_eet_name
"Edje_File"
end
end
end
- class DataHash < Hash
+ class DataHash < Hash # :nodoc:
def [](key)
super.value
end
end
end
- class HashEntry
+ class HashEntry # :nodoc:
attr_reader :key, :value
def initialize(key, value)
@value = value.to_str.dup.freeze
end
+ protected
def to_eet_name
"Edje_Data"
end
end
- class FontDirectory < Array
+ class FontDirectory < Array # :nodoc:
+ protected
def to_eet_name
"Edje_Font_Directory"
end
end
end
- class FontDirectoryEntry
- attr_reader :filename
+ class FontDirectoryEntry # :nodoc:
+ attr_reader :save_as, :filename, :alias
- def initialize(filename)
+ def initialize(fn_alias, filename)
+ @save_as = fn_alias.to_str.dup.freeze
@filename = filename.to_str.dup.freeze
+ @alias = "Edje." + fn_alias.sub(/.[^.]+$/, "").freeze
end
+ protected
def to_eet_name
"Edje_Font_Directory_Entry"
end
def to_eet_properties
- {"entry" => [@filename]}
+ {"entry" => [@alias]}
end
end
- class ImageDirectory < Array
+ class ImageDirectory < Array # :nodoc:
def <<(entry)
super
entry.id = size - 1
end
+ protected
def to_eet_name
"Edje_Image_Directory"
end
end
end
- class ImageDirectoryEntry
+ class ImageDirectoryEntry # :nodoc:
attr_reader :filename, :image, :id
- def initialize(filename)
+ def initialize(im_alias, filename)
+ @alias = im_alias.to_str.dup.freeze
@filename = filename.to_str.dup.freeze
@image = Imlib2::Image.load(@filename)
@id = -1
end
end
+ protected
def to_eet_name
"Edje_Image_Directory_Entry"
end
def to_eet_properties
- {"entry" => [@filename],
+ {"entry" => [@alias],
"source_type" => [@source_type],
"source_param" => [@source_param],
"id" => [@id]}
end
end
- class CollectionDirectory < Array
+ class CollectionDirectory < Array # :nodoc:
+ protected
def to_eet_name
"Edje_Part_Collection_Directory"
end
end
end
- class CollectionDirectoryEntry
+ class CollectionDirectoryEntry # :nodoc:
def initialize(col)
@name = col.name.to_str.dup.freeze
@id = col.id
end
+ protected
def to_eet_name
"Edje_Part_Collection_Directory_Entry"
end
end
class Collection
- attr_reader :name, :id, :data, :min, :max, :parts, :programs
- attr_accessor :script
+ attr_reader :name, :id, :data, :min, :max, :parts, :programs,
+ :script
def initialize(name, id)
@name = name.to_str.dup.freeze
@script = nil
end
- def part(name, type = :invalid)
+ def script=(v)
+ v = v.to_str
+ @script = (File.exist?(v) ? File.read(v) : v).dup
+ end
+
+ def part(name, type = :invalid) # :yields: part
p = @parts[name]
if p.nil?
klass = case type
ImagePart
else
raise(ArgumentError,
- "invalid program type - #{type.to_s}")
+ "invalid part type - #{type.to_s}")
end
p = klass.new(self, @parts.size, name)
block_given? ? (yield p) : p
end
- def program(name, type = :invalid)
+ def program(name, type = :invalid) # :yields: program
p = @programs[name]
if p.nil?
klass = case type
end
end
+ protected
def to_eet_name
"Edje_Part_Collection"
end