Recording Polygons

<..image maps for /Draw..>+
 \Odef\GetPolyArea[#1]#2#3{{%
   \ifnum \Point:N>0
      \MarkPoint   \area:env  \let\:tempb=\empty
      \Do(1,\Point:N){\edef\:tempb{\gt:crd{point:\the\DoReg}\:tempb}}%
      \gHAssign\Point:N = 0
      \xdef\:Map{\:Map\poly:area{#1}{\:tempb}{#2}{#3}}%
   \fi}}
 
 \def\ply:pts#1#2{%
    \def\:temp{#1}\ifx \:temp\empty\else
      \trns:pt\:X{#1}\:Y{#2}%
      \edef\:Z{\:Z\ifx \:Z\empty\else,\fi \:X,\:Y}%
      \expandafter\ply:pts
    \fi }
 -_-_-

<..image maps for /Draw..>+
 \def\poly:area#1#2#3#4{%
    \let\:Z=\empty  \ply:pts#2{}{}%
    \Ar:a[#1 shape="poly" coords="\:Z"
       \ifx "#4"\else  alt="#4"\fi]{#3}}
 -_-_-