Sha256: bc56141662da7cf34e14cf1acfdec6f8dc3d4abe6829aa93c09060e7f62e3af1
Contents?: true
Size: 1.54 KB
Versions: 1
Compression:
Stored size: 1.54 KB
Contents
class Shoes module Swt class Oval include Common::Fill include Common::Stroke include Common::Clickable include Common::PainterUpdatesPosition include Common::Toggle include Common::Clear include ::Shoes::BackendDimensionsDelegations attr_reader :dsl, :app, :transform, :painter, :container # @param [Shoes::Oval] dsl the dsl object to provide gui for # @param [Shoes::Swt::App] app the app # @param [Hash] opts options def initialize(dsl, app, &blk) @dsl = dsl @app = app @container = @app.real @painter = Painter.new(self) @app.add_paint_listener @painter clickable blk if blk end def update_position # No-op, since it has its own painter end class Painter < Common::Painter def clipping clipping = ::Swt::Path.new(Shoes.display) clipping.add_arc(@obj.element_left, @obj.element_top, @obj.element_width, @obj.element_height, 0, 360) clipping end def fill(graphics_context) graphics_context.fill_oval(@obj.element_left, @obj.element_top, @obj.element_width, @obj.element_height) end def draw(graphics_context) sw = graphics_context.get_line_width graphics_context.draw_oval(@obj.element_left+sw/2, @obj.element_top+sw/2, @obj.element_width-sw, @obj.element_height-sw) 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/oval.rb |