#--
-# $Id: part.rb 62 2005-07-16 18:51:44Z tilman $
-#
# Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de)
#
# Permission is hereby granted, free of charge, to any person obtaining
"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
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)
@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
end
def set_border(l = 0, r = 0, t = 0, b = 0)
- @border = [r, r, t, b]
+ @border = [l, r, t, b]
end
def fill_smooth=(v)
@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
@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
@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
"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],