Class: USPSFlags::Core::Tridents
- Inherits:
-
Object
- Object
- USPSFlags::Core::Tridents
- Defined in:
- lib/usps_flags/core/tridents.rb
Class Method Summary collapse
-
.cc(_ = nil, trident_color:) ⇒ Object
The side C/C tridents are angled 45 degrees, and intersect the central one at 1/3 up from the bottom.
-
.offset(type, field_color:, field: true) ⇒ Object
Swallowtail tridents need to move towards the hoist due to the tails.
-
.three(type, trident_color:, field_color:) ⇒ Object
Cdr and D/C tridents are spaced 1/2 the fly apart with the central one 1/4 the fly above the sides.
-
.two(type, trident_color:, field_color:) ⇒ Object
Lt/C and D/Lt/C tridents are spaced 1/3 the fly apart.
-
.vc(_ = nil, trident_color:) ⇒ Object
V/C tridents are angled 45 degrees, and intersect at 15/32 up from the bottom.
Class Method Details
.cc(_ = nil, trident_color:) ⇒ Object
The side C/C tridents are angled 45 degrees, and intersect the central one at 1/3 up from the bottom
Center of rotation: # radius = USPSFlags.configuration.trident / 2 <circle cx=“#:x” cy=“#:y” r=“#radius” fill=“red” />
16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/usps_flags/core/tridents.rb', line 16 def cc(_ = nil, trident_color:) trident = USPSFlags::Core.trident(:n, color: trident_color) x_distance = USPSFlags::Config::BASE_FLY * 4 / 39 # 4/39 or 28/39 y_distance = USPSFlags::Config::BASE_FLY * 2 / 39 # 5/78 or 27/156 " <g transform=\"translate(-\#{x_distance * 1.25}, \#{y_distance})\">\n <g transform=\"rotate(-45, \#{USPSFlags::Config::BASE_FLY / 2}, \#{USPSFlags::Config::BASE_HOIST / 2})\">\\n\#{trident}</g>\n </g>\n \\n\#{trident}\n <g transform=\"translate(\#{x_distance * 1.25}, \#{y_distance})\">\n <g transform=\"rotate(45)\" transform-origin=\"center\">\\n\#{trident}</g>\n </g>\n SVG\nend\n" |
.offset(type, field_color:, field: true) ⇒ Object
Swallowtail tridents need to move towards the hoist due to the tails
67 68 69 70 71 72 73 74 |
# File 'lib/usps_flags/core/tridents.rb', line 67 def offset(type, field_color:, field: true) x_distance = USPSFlags::Config::BASE_FLY / 10 if field svg = +'' svg << "<g transform=\"translate(-#{x_distance})\">" if field svg << USPSFlags::Core.trident(type, field_color: field_color, color: :red) svg << '</g>' if field svg end |
.three(type, trident_color:, field_color:) ⇒ Object
Cdr and D/C tridents are spaced 1/2 the fly apart with the central one 1/4 the fly above the sides
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/usps_flags/core/tridents.rb', line 45 def three(type, trident_color:, field_color:) trident = USPSFlags::Core.trident(type, color: trident_color, field_color: field_color) x_distance = USPSFlags::Config::BASE_FLY / 4 y_distance = USPSFlags::Config::BASE_FLY / 16 " <g transform=\"translate(-\#{x_distance}, \#{y_distance})\">\\n\#{trident}</g>\n <g transform=\"translate(0, -\#{y_distance + 1})\">\\n\#{trident}</g>\n <g transform=\"translate(\#{x_distance}, \#{y_distance})\">\\n\#{trident}</g>\n SVG\nend\n" |
.two(type, trident_color:, field_color:) ⇒ Object
Lt/C and D/Lt/C tridents are spaced 1/3 the fly apart
57 58 59 60 61 62 63 64 |
# File 'lib/usps_flags/core/tridents.rb', line 57 def two(type, trident_color:, field_color:) trident = USPSFlags::Core.trident(type, color: trident_color, field_color: field_color) x_distance = USPSFlags::Config::BASE_FLY / 6 " <g transform=\"translate(-\#{x_distance})\">\\n\#{trident}</g>\n <g transform=\"translate(\#{x_distance})\">\\n\#{trident}</g>\n SVG\nend\n" |
.vc(_ = nil, trident_color:) ⇒ Object
V/C tridents are angled 45 degrees, and intersect at 15/32 up from the bottom
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/usps_flags/core/tridents.rb', line 32 def vc(_ = nil, trident_color:) trident = USPSFlags::Core.trident(:n, color: trident_color) " <g transform=\"rotate(-45, \#{vc_center[:x]}, \#{vc_center[:y]})\">\n \#{trident}\n </g>\n <g transform=\"rotate(45, \#{vc_center[:x]}, \#{vc_center[:y]})\">\n \#{trident}\n </g>\n SVG\nend\n" |