+ pi.pain.line(x1, y2, x2, y3, Color_added_space);
+ pi.pain.line(x1, y2, x2, y1, Color_added_space);
+
+ // right arrow
+ pi.pain.line(x4, y2, x3, y3, Color_added_space);
+ pi.pain.line(x4, y2, x3, y1, Color_added_space);
+
+ // joining line
+ pi.pain.line(x1, y2, x4, y2, Color_added_space);
+ }
+
+ else if (kind_ == mathclap) {
+ // y1---- \ /
+ // \ /
+ // y2--- -------->-<--------
+ // / \.
+ // y3---- / \.
+ // | | | | |
+ // x1 x2 x3 x4 x5
+
+ int const x1 = x;
+ int const x5 = x + dim.wid;
+ int const x3 = x + dim.wid / 2;
+ int const x2 = std::max(x1, x3 - arrow_size);
+ int const x4 = std::min(x5, x3 + arrow_size);
+
+ int const y2 = y + (dim.des - dim.asc) / 2;
+ int const y1 = y2 - arrow_size;
+ int const y3 = y2 + arrow_size;
+
+ // left arrow
+ pi.pain.line(x2, y3, x3, y2, Color_added_space);
+ pi.pain.line(x2, y1, x3, y2, Color_added_space);
+
+ // right arrow
+ pi.pain.line(x4, y3, x3, y2, Color_added_space);
+ pi.pain.line(x4, y1, x3, y2, Color_added_space);
+
+ // joining line
+ pi.pain.line(x1, y2, x5, y2, Color_added_space);
+ }
+
+ else if (kind_ == mathllap) {
+ // y1---- \.
+ // \.
+ // y2--- ------------------>
+ // /
+ // y3---- /
+ // | | |
+ // x1 x2 x3
+
+ int const x1 = x;
+ int const x3 = x + dim.wid;
+ int const x2 = std::max(x1, x3 - arrow_size);
+
+ int const y2 = y + (dim.des - dim.asc) / 2;
+ int const y1 = y2 - arrow_size;
+ int const y3 = y2 + arrow_size;