Coordinate Handling

ACUCOBOL-GT uses line and column positions to specify the location of graphical objects. There are two reasons for this:

  1. The line and column notation is already familiar to COBOL programmers
  2. Retaining this notation makes translating text-based applications into graphical applications much easier

Because graphical objects are not constrained to whole line and column locations, you may use non-integer values when specifying a line or column position. For example, LINE 1.5 is a point that is midway between the top of line 1 and the top of line 2. Unless otherwise specified, the line/column position of a graphical object refers to the upper-left pixel of the smallest bounding rectangle that encloses the object.

Recall that the run-time system treats the screen as two layers: a text-based character layer with a graphical-object layer on top. So that the run-time system can execute text-only applications properly, the line and column positions refer to the grid of characters in the text layer. Thus, the font used by the text layer defines the size of a line and column. We call a single character location in the text layer a cell. The height of the cell is the height of one line, and the width of the cell is the width of one column. See Graphical vs Textual Modes for more information