Browse Prior Art Database

Representation for Dynamically Resizeable, Scrollable Session Lines

IP.com Disclosure Number: IPCOM000111529D
Original Publication Date: 1994-Mar-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 2 page(s) / 39K

Publishing Venue

IBM

Related People

Hamilton, JA: AUTHOR

Abstract

A method for efficiently representing scrollable session lines is disclosed. Session text lines are added to a scrollable area inside a dynamically resizeable window, and can then be scrolled up, down, left, and right via PFkeys.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 77% of the total text.

Representation for Dynamically Resizeable, Scrollable Session Lines

      A method for efficiently representing scrollable session lines
is disclosed.  Session text lines are added to a scrollable area
inside a dynamically resizeable window, and can then be scrolled up,
down, left, and right via PFkeys.

      The text lines are represented by an array, where each array
element contains the information for one text line.  The following
information is tracked for each text line:

o   a pointer to the actual text for the line

o   the length of the text

o   the number of scroller rows this line takes to display

      The text for each line is allocated from a buffer where each
line is copied to this buffer at the next available location and the
next available location then becomes the character directly after the
last character for the newly added line.  This allows for the
representation of the text with no space wasted between lines and no
overhead for dynamically allocating storage for each line as it
occurs.  When the buffer is full, it is resized dynamically with
increasingly larger increments.

      When a line is added to the scroller, the number of scroller
rows it takes up is determined based on the current size of the
scroller area.  If the window and thus the scroller area is resized,
or the scroller is shifted to the right or left (which affects the
number of rows a line wraps across) this value is updated for each
line in the scroller,...