Sha256: 0190469c3794a0e71486284a818c8df23e5bb000a45db1a2745d3037bd460fdf
Contents?: true
Size: 1.77 KB
Versions: 1
Compression:
Stored size: 1.77 KB
Contents
class Shoes module Swt class Line include Common::Stroke include Common::Toggle include Common::Clear include Common::PainterUpdatesPosition include ::Shoes::BackendDimensionsDelegations attr_reader :dsl, :app attr_reader :translated_point_a, :translated_point_b attr_reader :transform # @param [Shoes::Line] dsl The {Shoes::Line} implemented by this object # @param [Shoes::Swt::App] app The {Swt::App} this object belongs to # @param [Shoes::Point] point_a One endpoint of the line # @param [Shoes::Point] point_b The other endpoint of the line # @param [Hash] opts Options def initialize(dsl, app, opts = {}) @dsl, @app = dsl, app translate_according_to_enclosing_box @painter = Painter.new(self) @app.add_paint_listener(@painter) end def angle @dsl.angle end def update_position @transform.get_elements @transform_elements @transform.set_elements @transform_elements[0], @transform_elements[1], @transform_elements[2], @transform_elements[3], dsl.element_left, dsl.element_top end private def translate_according_to_enclosing_box @translated_point_a = @dsl.point_a.to(-left, -top) @translated_point_b = @dsl.point_b.to(-left, -top) @transform = ::Swt::Transform.new(::Swt.display) @transform_elements = Java::float[6].new update_position end class Painter < Common::Painter def draw(gc) point_a, point_b = @obj.translated_point_a, @obj.translated_point_b gc.draw_line(point_a.x, point_a.y, point_b.x, point_b.y) end # Don't do fill setup def fill_setup(gc) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
shoes-4.0.0.pre1 | lib/shoes/swt/line.rb |