From 4afc476d928b138a2d7bd709b52d145cce781394 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Thu, 1 Sep 2022 17:58:30 -0400 Subject: [PATCH] Modified the "element" command so that coordinates may be given in physical units (e.g., um). --- VERSION | 2 +- commands/CmdE.c | 36 ++++++++++++++---------------------- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/VERSION b/VERSION index aa0ea234..a65634df 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.319 +8.3.320 diff --git a/commands/CmdE.c b/commands/CmdE.c index c48ae8a9..fcc743cf 100644 --- a/commands/CmdE.c +++ b/commands/CmdE.c @@ -361,10 +361,8 @@ CmdElement(w, cmd) return; } } - if (!StrIsInt(cmd->tx_argv[5])) goto badusage; - area.r_xbot = atoi(cmd->tx_argv[5]); - if (!StrIsInt(cmd->tx_argv[6])) goto badusage; - area.r_ybot = atoi(cmd->tx_argv[6]); + area.r_xbot = cmdParseCoord(w, cmd->tx_argv[5], FALSE, TRUE); + area.r_ybot = cmdParseCoord(w, cmd->tx_argv[6], FALSE, FALSE); switch (type) { @@ -375,10 +373,8 @@ CmdElement(w, cmd) cmdElementType[ELEMENT_LINE]); return; } - if (!StrIsInt(cmd->tx_argv[7])) goto badusage; - area.r_xtop = atoi(cmd->tx_argv[7]); - if (!StrIsInt(cmd->tx_argv[8])) goto badusage; - area.r_ytop = atoi(cmd->tx_argv[8]); + area.r_xtop = cmdParseCoord(w, cmd->tx_argv[7], FALSE, TRUE); + area.r_ytop = cmdParseCoord(w, cmd->tx_argv[8], FALSE, FALSE); DBWElementAddLine(w, cmd->tx_argv[3], &area, def, style); break; case ELEMENT_RECT: @@ -388,10 +384,8 @@ CmdElement(w, cmd) cmdElementType[ELEMENT_RECT]); return; } - if (!StrIsInt(cmd->tx_argv[7])) goto badusage; - area.r_xtop = atoi(cmd->tx_argv[7]); - if (!StrIsInt(cmd->tx_argv[8])) goto badusage; - area.r_ytop = atoi(cmd->tx_argv[8]); + area.r_xtop = cmdParseCoord(w, cmd->tx_argv[7], FALSE, TRUE); + area.r_ytop = cmdParseCoord(w, cmd->tx_argv[8], FALSE, FALSE); DBWElementAddRect(w, cmd->tx_argv[3], &area, def, style); break; case ELEMENT_TEXT: @@ -505,21 +499,19 @@ CmdElement(w, cmd) if (cmd->tx_argc >= 6) { - if (!StrIsInt(cmd->tx_argv[4]) || - !StrIsInt(cmd->tx_argv[5])) - goto badrect; - crect.r_xbot = atoi(cmd->tx_argv[4]); - crect.r_ybot = atoi(cmd->tx_argv[5]); + crect.r_xbot = cmdParseCoord(w, cmd->tx_argv[4], + FALSE, TRUE); + crect.r_ybot = cmdParseCoord(w, cmd->tx_argv[5], + FALSE, FALSE); crect.r_xtop = crect.r_xbot; /* placeholder */ crect.r_ytop = crect.r_ybot; /* placeholder */ } if (cmd->tx_argc == 8) { - if (!StrIsInt(cmd->tx_argv[6]) || - !StrIsInt(cmd->tx_argv[7])) - goto badrect; - crect.r_xtop = atoi(cmd->tx_argv[6]); - crect.r_ytop = atoi(cmd->tx_argv[7]); + crect.r_xtop = cmdParseCoord(w, cmd->tx_argv[6], + FALSE, TRUE); + crect.r_ytop = cmdParseCoord(w, cmd->tx_argv[7], + FALSE, FALSE); } if (cmd->tx_argc == 6 || cmd->tx_argc == 8)