mirror of
https://github.com/System-End/theseus.git
synced 2026-04-19 21:05:10 +00:00
32 lines
986 B
Ruby
32 lines
986 B
Ruby
module SnailMail
|
|
module Components
|
|
class SpeechBubbleComponent < BaseComponent
|
|
def initialize(letter:, bubble_position:, bubble_width:, bubble_height:, bubble_radius: 10, tail_x:, tail_y:, tail_width:, line_width: 2.5, **options)
|
|
@bubble_position = bubble_position
|
|
@bubble_width = bubble_width
|
|
@bubble_height = bubble_height
|
|
@bubble_radius = bubble_radius
|
|
@tail_x = tail_x
|
|
@tail_y = tail_y
|
|
@tail_width = tail_width
|
|
@line_width = line_width
|
|
super(letter: letter, **options)
|
|
end
|
|
|
|
def view_template
|
|
# Draw the rounded rectangle bubble
|
|
self.line_width = @line_width
|
|
stroke do
|
|
rounded_rectangle(@bubble_position, @bubble_width, @bubble_height, @bubble_radius)
|
|
end
|
|
|
|
# Draw the speech tail
|
|
image(
|
|
image_path("speech-tail.png"),
|
|
at: [@tail_x, @tail_y],
|
|
width: @tail_width
|
|
)
|
|
end
|
|
end
|
|
end
|
|
end
|