X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=lib%2Fredact%2Fpart.rb;h=5c3bd607bc6df006329ead7aad05309aaf01a48d;hb=e0e880a9a7503d2df9a2413d5e7440b8a8cc4f1f;hp=692a48793d757ab87d3a1c44ece009ed61a2be81;hpb=cd7f31e07365f2ba92661e57029d0c0648e73319;p=redact.git diff --git a/lib/redact/part.rb b/lib/redact/part.rb index 692a487..5c3bd60 100644 --- a/lib/redact/part.rb +++ b/lib/redact/part.rb @@ -1,6 +1,4 @@ #-- -# $Id: part.rb 69 2005-09-19 20:17:07Z tilman $ -# # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de) # # Permission is hereby granted, free of charge, to any person obtaining @@ -245,6 +243,20 @@ module Redact @color_class = "" end + def inherit(other) + unless other.is_a?(Description) + raise(ArgumentError, "Cannot inherit from description") + end + + prot = ["@name", "@value"] + + (instance_variables - prot).each do |v| + n = other.instance_variable_get(v.intern) + n = n.dup rescue n + instance_variable_set(v.intern, n) + end + end + def visible=(v) @visible = (v == true) end @@ -486,19 +498,19 @@ module Redact @fill_smooth = (v == true) end - def fill_pos_rel=(x, y) + def set_fill_pos_rel(x, y) @fill_pos_rel = [x.to_f, y.to_f] end - def fill_pos_abs=(x, y) + def set_fill_pos_abs(x, y) @fill_pos_abs = [x.to_i, y.to_i] end - def fill_rel=(x, y) + def set_fill_rel(x, y) @fill_rel = [x.to_f, y.to_f] end - def fill_abs=(x, y) + def set_fill_abs(x, y) @fill_abs = [x.to_i, y.to_i] end @@ -548,6 +560,7 @@ module Redact @font_size = 0 @fit = [false, false] @text_min = [false, false] + @text_max = [false, false] @text_align = [0.5, 0.5] @text_id_source = -1 @text_id_text_source = -1 @@ -573,6 +586,10 @@ module Redact @text_min = [x, y] end + def set_text_max(x = false, y = false) + @text_max = [x, y] + end + def set_text_align(x = 0.5, y = 0.5) @text_align = [x, y] end @@ -623,6 +640,8 @@ module Redact "text.fit_y" => [@fit[1]], "text.min_x" => [@text_min[0]], "text.min_y" => [@text_min[1]], + "text.max_x" => [@text_max[0]], + "text.max_y" => [@text_max[1]], "text.align.x" => [@text_align[0], :double], "text.align.y" => [@text_align[1], :double], "text.id_source" => [@text_id_source],