lewish/asciiflow

Allow to change drawing options for lines, borders, corners, arrow starts/endings

Opened this issue · 1 comments

Currently, asciiflow boxes, lines, and arrows are limited to only one line style, one corner style, and one arrow style.

But the Unicode box drawing characters allows variations and combinations that could be used to compose many styles.

It would be interesting for expanding the functionality to have options/shortcuts to change the style according to the mode selected.

The modes could be split by the parts of the element being drawn. For example:

  • Line Style:
    • Single / Double
    • Solid / Dashed
    • Light / Heavy
    • Border only / Shaded / Filled
    • Custom char
  • Corner Style:
    • Square / Rounded
  • Arrow Character

This could apply to:

  • Box tool:
    • Border Only or Fill Style
    • Vertical Line Style
    • Horizontal Line Style
    • Corner Style
  • Line tool:
    • Line Style
  • Arrow tool:
    • Line Style
    • Starting char ( defaults to the Line Style)
    • Middle char ( defaults to the Line Style)
    • Ending char ( defaults to ►)

Examples:

SINGLE STYLE:

┌─────────────────────────────┐  ╔═════════════════════════════╗ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓   ╭─────────────────────────────╮
│                             │  ║                             ║ ┃                             ┃   │                             │
│         Solid Light         │  ║         Solid Double        ║ ┃         Solid  Heavy        ┃   │        Solid Rounded        │
│                             │  ║                             ║ ┃                             ┃   │                             │
└─────────────────────────────┘  ╚═════════════════════════════╝ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛   ╰─────────────────────────────╯

┌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┐  ┏╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┓  ┌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┐  ┏┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┓
╎                             ╎  ╏                             ╏  ╎                             ╎  ┇                             ┇
╎     Double Dashed Light     ╎  ╏     Double Dashed Heavy     ╏  ╎     Triple Dashed Light     ╎  ┇     Triple Dashed Heavy     ┇
╎                             ╎  ╏                             ╏  ╎                             ╎  ┇                             ┇
└╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┘  ┗╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍┛  └╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┘  ┗┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┛

┌┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┐  ┏┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┓
┆                             ┆  ┋                             ┋
┆     Quad Dashed Light       ┆  ┋     Quad Dashed Heavy       ┋
┆                             ┆  ┋                             ┋
└┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┘  ┗┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┛

███████████████████████████████  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
███████████████████████████████  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
█████████ Solid Filled ████████  ░░░░░░░░░ Light Shaded ░░░░░░░░  ▒▒▒▒▒▒▒▒▒ Medium Shade ▒▒▒▒▒▒▒▒  ▓▓▓▓▓▓▓▓▓▓ Dark Shaded ▓▓▓▓▓▓▓▓
███████████████████████████████  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
███████████████████████████████  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓


COMBINED STYLES (Vertical + Horizontal):

╒═════════════════════════════╕  ╓─────────────────────────────╖
│                             │  ║                             ║
│   Double Horizontal Solid   │  ║   Double Vertical Solid     ║
│                             │  ║                             ║
╘═════════════════════════════╛  ╙─────────────────────────────╜

┌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┐ ┌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┐
│                             │ │                             │
│      Solid + Dashed         │ │       Dashed + Solid        │
│                             │ │                             │
└╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┘ └╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┘

I had a drawing with previous version, with different line and corner style (dash line, + char in corner). Currently using https://asciiflow.com/legacy/ to edit it but would be nice if we can edit it on new version as well.