#--
-# $Id: part.rb 45 2005-06-08 18:02:12Z tilman $
+# $Id: part.rb 49 2005-06-09 17:21:05Z tilman $
#
# Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
#
class Tweens < Array
def <<(im)
- image = EDJE.image_dir.find { |e| e.filename == im }
+ im2 = find_image(im.to_str.strip)
+ raise(RedactError, "cannot find image - #{im}") if im2.nil?
+
+ image = EDJE.image_dir.find { |e| e.filename == im2 }
if image.nil?
- image = ImageDirectoryEntry.new(im)
+ image = ImageDirectoryEntry.new(im, im2)
EDJE.image_dir << image
end
super(Tween.new(image))
end
+
+ private
+ def find_image(file)
+ [".", OPTIONS.image_dir].each do |d|
+ f2 = File.join(d, file)
+ return Pathname.new(f2).cleanpath.to_s if File.file?(f2)
+ end
+
+ nil
+ end
+
end
class ImageDescription < Description
end
def image=(im)
- return if !@image.nil? && im == @image.filename
+ im2 = find_image(im.to_str.strip)
+ raise(RedactError, "cannot find image - #{im}") if im2.nil?
- @image = EDJE.image_dir.find { |e| e.filename == im }
+ return if !@image.nil? && im2 == @image.filename
+
+ @image = EDJE.image_dir.find { |e| e.filename == im2 }
if @image.nil?
- @image = ImageDirectoryEntry.new(im)
+ @image = ImageDirectoryEntry.new(im, im2)
EDJE.image_dir << @image
end
"fill.rel_y" => [1.0, :double],
"fill.abs_y" => [0]})
end
+
+ private
+ def find_image(file)
+ [".", OPTIONS.image_dir].each do |d|
+ f2 = File.join(d, file)
+ return Pathname.new(f2).cleanpath.to_s if File.file?(f2)
+ end
+
+ nil
+ end
end
class TextDescription < Description
found = EDJE.font_dir.find { |font| font.filename == f2 }
if found.nil?
- EDJE.font_dir << FontDirectoryEntry.new(f2)
- @font = EDJE.font_dir.last.filename
+ EDJE.font_dir << FontDirectoryEntry.new(f, f2)
+ @font = EDJE.font_dir.last.alias
+ else
+ @font = found.alias
end
else
@font = f