# Glimmr Drawing Commands

## version 2/101030 by Erik Temple

Part - Primitives

Chapter - Rectangles

Section - Dimensioned rectangle
[The dimensioned rectangle reflects Glulx Inform's I6-level rectangle command, which provides dimensions for the rectangle rather than start and endpoints.]

To dimrectdraw (hue - a number) in (win - a g-window) at (x1 - a number) by/x (y1 - a number) with size/dimensions (width - a number) by/x (height - a number):
(- DrawDimRect({hue}, {win}, {x1}, {y1}, {width}, {height}); -)

To draw/display a/-- rectangle/rect (hue - a number) in (win - a g-window) at (x1 - a number) by/x (y1 - a number) with size/dimensions (width - a number) by/x (height - a number):
dimrectdraw (hue) in (win) at (x1) by (y1) with size (width) by (height);
#if utilizing Glimmr debugging;
say "[>console][DC]Drawing a rectangle of color [hue] in [i][win][/i] with upper left ([x1], [y1]) and dimensions [width] by [height].[<]";
#end if.

To draw/display a/-- rectangle/rect (hue - a number) in (win - a g-window) at (coord1 - a list of numbers) with size/dimensions (width - a number) by/x (height - a number):
let x1 be entry 1 of coord1;
let y1 be entry 2 of coord1;
draw a rectangle (hue) in (win) at (x1) by (y1) with size (width) by (height);

To rect/rectangle (coord1 - a list of numbers) size (width - a number) by/x (height - a number):
if the type of the current graphics window is not g-graphics:
rule fails;
let x1 be entry 1 of coord1;
let y1 be entry 2 of coord1;
draw a rectangle (current foreground-color) in current graphics window at x1 by y1 with size width by height;

Include (-

[ DrawDimRect hue win x1 y1 width height ;
if (win.ref_number) {
glk_window_fill_rect(win.ref_number, hue, x1, y1, width, height);
}
];

-).