Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- QWIKC20 & Multi-Level Virtual Windows - Norton Guide http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

                   STATIC VARIABLES

  Static Variables - Finally, the variables used in WNDWC can be described in
  detail and can be accessed by the user.

  Window Flags - While writing to a window, it is difficult to try to analyze
  the bits in wsmodes to figure out its modes.  So, each mode has been given
  a corresponding flag.  These flags are set for the current window.  Though
  rather intuitive, each of the flag variables is listed below with its
  corresponding mode:

    Flag            Mode
    --------------  --------------
    relflag         RELMODE
    permflag        PERMMODE
    zoomflag        ZOOMMODE
    hiddenflag      HIDDENMODE
    virtualflag     VIRTUALMODE
    cursoroffflag   CURSOROFFMODE
    seethruflag     SEETHRUMODE
    nohideflag      NOHIDEMODE
    noaccessflag    NOACCESSMODE
    nomoveflag      NOMOVEMODE
    tocrtflag       TOCRTMODE
    tohiddenflag    TOHIDDENMODE
    tovirtualflag   TOVIRTUALMODE

  Single Page Variables - The following variables are grouped together
  because they are specific to the current video page being used.  If you do
  use more than one page, these variables will be swapped with another page.

    Variable        Description
    --------------  ---------------------------------------------------------
    wndwstat        (Type: wndwstats_t)  This is the array for the maximum
                    number of windows both hidden and shown at one time.
                    Each structure only uses 52 bytes of static data.
                    wndwstat[0] is always the record for the initial window.

    topwndwstat     (Type: macro)  This structure makes it easy to always
                    access the data for the current window and is always up
                    to date.  This data will be saved in the correct wndwstat
                    before accessing another window.  topwndwstat is a macro
                    defined as tws.

    tws             (Type: wndwstat_t)  tws is used to actually store the
                    data, whereas topwndwstat is simply a more elaborate way
                    of coding it.

    topvirtualstat  (type: macro)  For virtual windows, in addition to tws,
                    there is the topvirtualstat for the associated virtual
                    screen which has its own structure.

    tvs             (Type: wndwstat_t)  tvs is used to actually store the
                    data, whereas topvirtualstat is simply a more elaborate
                    way of coding it.  Keep in mind that when writing direct
                    to the virtual screen (writetovirtual), tws and tvs are
                    reversed.  It would then be helpful to think of tvs as
                    the top VIEW stat, since the view is on the CRT.

    li              (Type: int)  This is the top Level Index for the top
                    window currently shown on the CRT.  Windows shown on the
                    CRT are sequentially stacked from index 0 upward.

    hli             (Type: int)  This is the Hidden Level Index.  Hidden
                    windows are stacked from index MAXWINDOW downward.  If
                    there are no hidden windows, hli=MAXWINDOW+1.

    wi              (Type: int)  For the current Window Index, the program
                    saves and retrieves the wndwstat from this index whether
                    it is hidden or shown.  It ranges from 0 to MAXWINDOW.
                    For hidden windows, wi can range from hli to MAXWINDOW.
                    For the top window on the CRT, wi=li.  For PERMMODE
                    windows, it  can be <=li.

    pli             (Type: char)  This Permanent Level Index keeps track of
                    the order of the permanent windows on the CRT.  They must
                    be stacked contiguously as the first ones on the CRT or
                    else an error message will be displayed.  This value is
                    <=li.

    cursordefault   (Type: int)  This is the value saved by setcursordefault
                    for the cursor mode.  It is just as easy to set it
                    directly.  When makewindow is used, this is the value
                    saved for that window.

    margins         (Type: margin_t)  These margins limit the moving or
                    resizing of windows for each video page.  This prevents
                    windows from covering status lines or the like.

    windowmodes     (Type: int)  This is the value saved by setwindowmodes.
                    It is best to use the function for this value since it
                    filters out incompatible modes.


  Universal Variables - These variables are not specific to any window or
  video page and are used universally in the program.

    Variable        Description
    --------------  ---------------------------------------------------------
    brdr            (Type: brdr_t array) Contains 14 different border styles
                    each with 15 border parts.  The data structure enables
                    you to access parts by index name:

                      mypart = brdr[ SINGLE_BORDER ][ BRDR_TL ];

    prefer_multitask  (Type: char) This boolean defaults to 0 so that would
                    ignore any multi-tasking environment.  When set to 1 just
                    before initwindow, WNDWC will then use the higher speed
                    video buffer (MTVB) if available.

    shadowchar      (Type: char) This is the character used to produce a
                    shadow.  It is set to a space.  This may not be desirable
                    for monochrome monitors which may look better with hatch
                    characters.

    shadowcolor     (Type: int) This is the attribute used to produce a
                    shadow.  It is initially set to BLACK on BLACK.  Any
                    attribute can be used.

    titleofs        (Type: int) When writing titles, this offset is used to
                    adjust where the title starts writing.  Left justified
                    titles start at wcol+titleofs while those right justified
                    end at wcol2-titleofs.  Center justified titles are not
                    affected.  The default value is 1.

    virtualrows     (Type: unsigned char)  This is the row height saved from
                    setvirtualsize setting the number of rows used in the
                    virtual screen.  The default value is crt_rows.

    virtualcols     (Type: unsigned char)  This is the column width saved
                    from setvirtualsize setting the number of columns used in
                    the  virtual screen.  The default value is crt_cols.

    virtualsize     (Type: int)  This is the size in bytes to be reserved for
                    the virtual screen.  The size is virtualcols *
                    (virtualrows+2) * 2.  Remember the last two rows are
                    added for the virtual titles.

    maxvalidpage    (Type: char)  The program can reserve enough data for all
                    video pages being addressed with MAXPAGEUSED.  However,
                    the machine that runs the program must have those pages
                    available.  This variable additionally limits the pages
                    that can be addressed.  It is set to the lesser of
                    max_page or MAXPAGEUSED.

    zoomdelay       (Type: char)  This value is set by initwindow to control
                    the zoom rate on non-snowing video cards.  This value is
                    set according to the cpuid that QWIKC detected.



Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson