From c7e870e59b64eb3166317f66e6b165589caa146a Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Thu, 27 Sep 2018 12:57:45 -0400 Subject: Move psfed paste to edit mode --- bin/man/psfed.1 | 7 +++---- bin/psfed.c | 16 +++++++--------- 2 files changed, 10 insertions(+), 13 deletions(-) (limited to 'bin') diff --git a/bin/man/psfed.1 b/bin/man/psfed.1 index 59fbdbe7..88430551 100644 --- a/bin/man/psfed.1 +++ b/bin/man/psfed.1 @@ -64,10 +64,6 @@ Select glyph in previous/next row. .It Ic y Copy the selected glyph. . -.It Ic p -Paste the copied glyph -over the selected glyph. -. .It Ic e Edit the selected glyph in .Sx Edit Mode . @@ -105,6 +101,9 @@ Flip selected bit. .It Ic r Invert glyph. . +.It Ic p +Paste the copied glyph. +. .It Ic u Revert glyph to initial state. .El diff --git a/bin/psfed.c b/bin/psfed.c index 3cdfaec5..cb0a1475 100644 --- a/bin/psfed.c +++ b/bin/psfed.c @@ -248,7 +248,6 @@ static struct { uint32_t scale; uint32_t index; bool modified; - uint8_t *copy; } normal; static struct { @@ -257,6 +256,7 @@ static struct { uint32_t x; uint32_t y; uint8_t *undo; + uint8_t *copy; } edit = { .scale = 4, }; @@ -305,16 +305,11 @@ static void inputNormal(char ch) { break; case 'k': normalDec(NormalCols); normalPrint("index"); break; case 'j': normalInc(NormalCols); normalPrint("index"); break; case 'y': { - if (!normal.copy) normal.copy = malloc(header.glyph.size); - if (!normal.copy) err(EX_OSERR, "malloc"); - memcpy(normal.copy, glyph(normal.index), header.glyph.size); + if (!edit.copy) edit.copy = malloc(header.glyph.size); + if (!edit.copy) err(EX_OSERR, "malloc"); + memcpy(edit.copy, glyph(normal.index), header.glyph.size); normalPrint("copy"); } - break; case 'p': { - if (!normal.copy) break; - normal.modified = true; - memcpy(glyph(normal.index), normal.copy, header.glyph.size); - } break; case 'e': { normal.modified = true; edit.index = normal.index; @@ -356,6 +351,9 @@ static void inputEdit(char ch) { } } } + break; case 'p': { + memcpy(glyph(edit.index), edit.copy, header.glyph.size); + } break; case 'u': { memcpy(glyph(edit.index), edit.undo, header.glyph.size); } -- cgit 1.4.1