GDDM V3R2 Base Application Programming Guide
|
Previous topic |
Next topic |
Contents |
Index |
Contact z/OS |
Library |
PDF |
BOOK
Variable character size GDDM V3R2 Base Application Programming Guide SC33-0867-01 |
|
GDDM varies the cell size on the IBM 3290 Information Panel according to the number of rows and columns to be displayed. Within limits, it selects the cell width that best fits the number of columns to the screen width, and the cell depth that best fits the number of rows to the screen depth. You can specify the number of rows and columns in a page in the FSPCRT or MSPCRT call, as explained in "The page and page window" in topic 7.4. For example:
CALL FSPCRT(1,60,80,0);
creates a page 60 rows deep by 80 columns wide. For MSPCRT, GDDM takes
the page size from the mapgroup if you do not specify it explicitly.
GDDM tries to fit the page onto the screen, by choosing the largest cell depth that allows 60 rows to be displayed and the largest cell width that allows 80 columns to be displayed, unless you specify a page window of smaller size than the page. While the page is still empty, you can execute an FSPWIN call that specifies one or both of the window depth and width sizes in the third and fourth parameters. If you do, then GDDM chooses the cell size that best fits the window, rather than the complete page, to the screen. For instance, this call:
/* Row Column Depth Width */
CALL FSPWIN(1, 1, 30, -1);
causes GDDM to select the cell depth that best fits 30 rows onto the
screen, while leaving the cell width unchanged. The first two parameters
still specify the page window position, so in this example, the window is
positioned at row 1.
If the two example calls were executed one after the other, GDDM would create a page 60 rows deep and 80 columns wide, and a window that displays 30 of the rows, and all the columns, and is initially positioned over the top half of the page. As hardware scrolling is being used on a 3290, there is no lateral scrolling, so the width of the window must be not less than the width of the page. For the same reason, the number of columns to be displayed must be no greater than what would all fit onto the screen if the smallest cell width were used. This restriction applies whether the number of columns is the width of the page, as defined by FSPCRT (or MSPCRT), or the width of the page window, as defined by FSPWIN. Once the cell size for a page has been fixed, it cannot be altered. It is fixed in one of two ways: by executing an FSPWIN call that specifies the page depth or width or both, or by putting some data into the page. If you put some data into a page without executing an FSPWIN call, GDDM attempts to fit the complete page onto the screen, using as large a cell size as possible. If it cannot display the complete page, it selects the minimum cell size, and displays as many rows as possible, using a page window positioned at row 1 of the page. If you do not specify the number of rows or columns in a page, GDDM assumes device-dependent numbers. These are such that if you do not specify a page window depth or width, the resulting cell size width or depth, or both, is the default for the device. This means that if you specify neither a page size nor a page window size, GDDM uses the default cell size for the device. You can still execute FSPWIN calls after the cell size has been fixed, but the page depth and width must both be specified as -1. The call's function then is just scrolling. Cell sizes of the 3290: The minimum, default, and maximum width and depth of cells on the 3290 are shown below. The loadable cell size, that is, the size that the terminal uses for programmed symbols is also shown. Cell size in pixels Width Depth The terminal scales its own hardware characters to fit cells the width and depth of which are no less than the minimum size and no more than the loadable size. Cells that are wider or deeper, or both, than the loadable cell size may contain characters that are 9 pixels deep or 16 pixels wide, or both, with the rest of the cell empty. Image symbol sets of any size up to 9 pixels by 16 may be loaded into a 3290, using the PSLSS call. However, if the screen cell size is less than the symbol size, only part of each symbol can be seen. If your program uses graphics on a 3290, the cell size must not exceed 9 pixels by 16. Therefore, cell sizes that are between 9 pixels by 16 and 16 pixels by 31 are for the use of alphanumerics programs only. The largest cell size that you can get on an IBM 3290 with an FSPCRT call is the loadable size. To get a cell size between this and the maximum, you need to create a window with FSPWIN. You may be wondering how to ensure that your program uses cells of a valid size. The answer is to use the FSQURY command, as described in the GDDM Base Application Programming Reference book. This supplies much information about the device, including the depth and width of the screen in pixels, and the number of rows and columns it can display at the minimum and maximum cell sizes. |
Copyright IBM Corporation 1990, 2012 |