X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=lib%2Fredact%2Fpart.rb;h=b282d04b04faf315109bf1809d8576007664547c;hb=18c7ac35df71363a579ac51d0d075a7161b22093;hp=bac1ba4e51da438d9789f80e636f16eb912807b0;hpb=b8a58959d74214164dfe0477fe36ff839728557a;p=redact.git diff --git a/lib/redact/part.rb b/lib/redact/part.rb index bac1ba4..b282d04 100644 --- a/lib/redact/part.rb +++ b/lib/redact/part.rb @@ -1,5 +1,5 @@ #-- -# $Id: part.rb 25 2005-04-14 19:42:06Z tilman $ +# $Id: part.rb 46 2005-06-08 18:03:34Z tilman $ # # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de) # @@ -216,7 +216,12 @@ module Redact end def to=(part) - @to_id = [].fill(part.nil? ? -1 : part.id, 0..1) + self.set_to(part) + end + + def set_to(part_x, part_y = part_x) + @to_id = [part_x.nil? ? -1 : part_x.id, + part_y.nil? ? -1 : part_y.id] end end @@ -347,6 +352,7 @@ module Redact "border.r" => [0], "border.t" => [0], "border.b" => [0], + "border.no_fill" => [false], "fill.smooth" => [true], "fill.pos_rel_x" => [0.0, :double], "fill.pos_abs_x" => [0], @@ -386,6 +392,7 @@ module Redact @id = image.id end + protected def to_eet_name "Edje_Part_Image_Id" end @@ -412,10 +419,15 @@ module Redact @image = nil @tweens = Tweens.new @border = [0, 0, 0, 0] + @border_fill_middle = true @fill_smooth = true @auto_rel = false end + def border_fill_middle=(var) + @border_fill_middle = (var == true) + end + def image=(im) return if !@image.nil? && im == @image.filename @@ -444,6 +456,7 @@ module Redact @border = [r, r, t, b] end + protected def to_eet_properties super.merge!( {"image.id" => [@image.nil? ? -1 : @image.id], @@ -452,6 +465,7 @@ module Redact "border.r" => [@border[1]], "border.t" => [@border[2]], "border.b" => [@border[3]], + "border.no_fill" => [!@border_fill_middle], "fill.smooth" => [@fill_smooth], "fill.pos_rel_x" => [0.0, :double], "fill.pos_abs_x" => [0], @@ -508,15 +522,22 @@ module Redact end def font=(f) - md = f.to_str.match(/.*\.ttf/) + f = f.to_str.strip + md = f.match(/.*\.ttf$/) unless md.nil? - found = EDJE.font_dir.find { |font| font.filename == f } + f2 = find_font(f) + raise(RedactError, "cannot find font - #{f}") if f2.nil? + + found = EDJE.font_dir.find { |font| font.filename == f2 } if found.nil? - EDJE.font_dir << FontDirectoryEntry.new(f) + EDJE.font_dir << FontDirectoryEntry.new(f2) + @font = EDJE.font_dir.last.filename + else + @font = found.filename end + else + @font = f end - - @font = f.dup end def outline_color=(c) @@ -527,6 +548,7 @@ module Redact @shadow_color = parse_hex_color(c) end + protected def to_eet_properties super.merge!( {"color2.r" => [@outline_color[0], :char], @@ -550,5 +572,15 @@ module Redact "text.id_source" => [@text_id_source], "text.id_text_source" => [@text_id_text_source]}) end + + private + def find_font(file) + [".", OPTIONS.font_dir].each do |d| + f2 = File.join(d, file) + return Pathname.new(f2).cleanpath.to_s if File.file?(f2) + end + + nil + end end end