Removed RCS-style IDs.
[redact.git] / lib / redact / redact.rb
index 260f34208c31afa73de7d7a2613406ac43c1b91b..f1a93faa0cd3b8667c11a48c549cda9062296cec 100644 (file)
@@ -1,6 +1,4 @@
 #--
-# $Id: redact.rb 25 2005-04-14 19:42:06Z tilman $
-#
 # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
 #
 # Permission is hereby granted, free of charge, to any person obtaining
@@ -57,7 +55,7 @@ class String
 end
 
 module Redact
-       VERSION = "0.1.0"
+       VERSION = "0.1.5"
 
        class RedactError < StandardError; end
 
@@ -90,6 +88,7 @@ module Redact
                        block_given? ? (yield c) : c
                end
 
+               protected
                def to_eet_name
                        "Edje_File"
                end
@@ -123,12 +122,14 @@ module Redact
                        @value = value.to_str.dup.freeze
                end
 
+               protected
                def to_eet_name
                        "Edje_Data"
                end
        end
 
        class FontDirectory < Array # :nodoc:
+               protected
                def to_eet_name
                        "Edje_Font_Directory"
                end
@@ -139,18 +140,21 @@ module Redact
        end
 
        class FontDirectoryEntry # :nodoc:
-               attr_reader :filename
+               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
 
@@ -161,6 +165,7 @@ module Redact
                        entry.id = size - 1
                end
 
+               protected
                def to_eet_name
                        "Edje_Image_Directory"
                end
@@ -173,7 +178,8 @@ module Redact
        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
@@ -191,12 +197,13 @@ module Redact
                        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]}
@@ -204,6 +211,7 @@ module Redact
        end
 
        class CollectionDirectory < Array # :nodoc:
+               protected
                def to_eet_name
                        "Edje_Part_Collection_Directory"
                end
@@ -219,6 +227,7 @@ module Redact
                        @id = col.id
                end
 
+               protected
                def to_eet_name
                        "Edje_Part_Collection_Directory_Entry"
                end
@@ -248,7 +257,8 @@ module Redact
                end
 
                def script=(v)
-                       @script = v.to_str.dup
+                       v = v.to_str
+                       @script = (File.exist?(v) ? File.read(v) : v).dup
                end
 
                def part(name, type = :invalid) # :yields: part
@@ -265,7 +275,7 @@ module Redact
                                        ImagePart
                                else
                                        raise(ArgumentError,
-                                             "invalid program type - #{type.to_s}")
+                                             "invalid part type - #{type.to_s}")
                                end
 
                                p = klass.new(self, @parts.size, name)
@@ -326,6 +336,7 @@ module Redact
                        end
                end
 
+               protected
                def to_eet_name
                        "Edje_Part_Collection"
                end