This solution has a lot of scaffolding, but the only really important bit is the unit right above the output, which reads in an X and Y and draws a horizontal line of length W from that point:
So the rest of the units around it are designed to read in the rectangle data, divide the rectangle into horizontal slices, and draw each of those slices one at a time. One unit apiece takes care of the two coordinates and width, and they all also grab a copy of the height so they know how many times they need to provide their data to the drawing unit.