lib/rays/painter.rb in rays-0.1.14 vs lib/rays/painter.rb in rays-0.1.15
- old
+ new
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
+require 'xot/const_symbol_accessor'
require 'xot/universal_accessor'
require 'xot/block_util'
require 'rays/ext'
@@ -71,10 +72,18 @@
def ellipse (*args, center: nil, radius: nil, hole: nil, from: nil, to: nil)
draw_ellipse args, center, radius, hole, from, to
end
+ def curve (*args, loop: false)
+ draw_curve args, loop
+ end
+
+ def bezier (*args, loop: false)
+ draw_bezier args, loop
+ end
+
def color= (fill, stroke = nil)
self.fill fill
self.stroke stroke
end
@@ -85,11 +94,24 @@
def shader= (shader, **uniforms)
shader.uniform **uniforms if shader && !uniforms.empty?
set_shader shader
end
+ const_symbol_accessor :stroke_cap, {
+ butt: CAP_BUTT,
+ round: CAP_ROUND,
+ square: CAP_SQUARE
+ }
+
+ const_symbol_accessor :stroke_join, {
+ miter: JOIN_MITER,
+ round: JOIN_ROUND,
+ square: JOIN_SQUARE
+ }
+
universal_accessor :background, :fill, :stroke, :color,
- :stroke_width, :nsegment, :shader, :clip, :font
+ :stroke_width, :stroke_cap, :stroke_join, :miter_limit,
+ :nsegment, :shader, :clip, :font
private
def each_type (types, reverse: false, &block)
types = [:state, :matrix] if types.empty? || types.include?(:all)