X-Git-Url: http://git.code-monkey.de/?p=redact.git;a=blobdiff_plain;f=lib%2Fredact%2Fpart.rb;h=60822d11402f70ea7b4f879db24f3adf44d5c31d;hp=8173e71d51fe0d3484b507cdb44426d9289a65fc;hb=5509b434e26fd1a8c9c3990154a881583b81d2a6;hpb=8198cf0b74f58dbcfa16dd68d72678725b532060 diff --git a/lib/redact/part.rb b/lib/redact/part.rb index 8173e71..60822d1 100644 --- a/lib/redact/part.rb +++ b/lib/redact/part.rb @@ -1,6 +1,4 @@ #-- -# $Id: part.rb 67 2005-09-19 19:46:43Z tilman $ -# # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de) # # Permission is hereby granted, free of charge, to any person obtaining @@ -112,6 +110,7 @@ module Redact "dragable.y" => [@dragable.enabled[1], :char], "dragable.step_y" => [@dragable.step[1]], "dragable.count_y" => [@dragable.count[1]], + "dragable.events_id" => [-1], "dragable.counfine_id" => [confine_id]} # not a typo! end @@ -202,13 +201,13 @@ module Redact attr_reader :rel, :to_id, :offset def initialize(rel, offset) - @rel = [rel, rel] + @rel = [rel.to_f, rel.to_f] @to_id = [-1, -1] @offset = [offset, offset] end def set_rel(x, y) - @rel = [x, y] + @rel = [x.to_f, y.to_f] end def set_offset(x, y) @@ -244,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 @@ -485,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