Protuberance Interface v1.0 Freeware

Fomalhaut Software 2002-2003

Function Reference


A

altpressed% SUB
arraycreate% FUNCTION

B

background SUB
bounds% FUNCTION
bounds2 SUB
boundss! FUNCTION
boxcoordsget SUB
boxcoordsgetb SUB
boxcoordsset SUB
boxdel SUB
boxdraw SUB
boxdrawb SUB
boxdrawtag SUB
boxdrawtagb SUB
boxerase SUB
boxformatget SUB
boxformatset SUB
boxframeget SUB
boxframeset SUB
boxgrad SUB
boxgupdate SUB
boxgupdateb SUB
boxhelpget% FUNCTION
boxhelpset SUB
boxhide SUB
boxlabelget SUB
boxlabelset SUB
boxmodeget% FUNCTION
boxmsgget% FUNCTION
boxmsgset SUB
boxpageset SUB
boxpagesettag SUB
boxstateget SUB
boxstateset SUB
boxupdate SUB
boxupdatetag SUB
bufput SUB
bytes2int% FUNCTION

C

colfind& FUNCTION
ctrlpressed% FUNCTION
cursorset SUB

D

dirget SUB
dist% FUNCTION
div% FUNCTION
dotbox SUB
dotline SUB
dragget SUB
dragset SUB

F

fileget SUB
filelength& FUNCTION
fileprocess SUB
filetoxms SUB
fontcolorget SUB
fontcolorset SUB
fontparamget SUB
fontparamset SUB
framedraw SUB

I

iboxchange SUB
imgcoordsget SUB
imgcoordsgetb SUB
imgcoordsset SUB
imgformatget SUB
imgformatset SUB
imginrowget% FUNCTION
imginrowset SUB
imgload SUB
insertint SUB
int2bytes SUB
inbounds% FUNCTION

L

long2rgb SUB
lshiftpressed% FUNCTION

M

max% FUNCTION
min% FUNCTION
mousechange% () FUNCTION
mouseoff SUB
mouseon SUB
msgload SUB
msgget$ FUNCTION
msgset SUB

O

outputset (n%) SUB

P

pageinsert (n%, boxnum%) SUB
pagecreate% FUNCTION
pageload SUB
pageset SUB
palcolget SUB
palstore SUB
pathmaskget SUB
pathmaskset SUB

R

rshiftpressed% FUNCTION
rgb2long& FUNCTION

S

screenviewportset SUB
scrtownd SUB
scrtowndb SUB
scrtowndc SUB
selected% FUNCTION
shellexit SUB
shiftbounds SUB
skinload SUB
st$ FUNCTION
strget$ FUNCTION
strput SUB
strlen% FUNCTION
sts$ FUNCTION
symget% FUNCTION
symput SUB

T

tagget% FUNCTION
tagsearch% FUNCTION
tagset SUB
texdraw SUB
teximgdraw SUB
tprint SUB
tprintwnd SUB

W

wndget SUB
wndgridget SUB
wndgridset SUB
wnditemget SUB
wnditemnum% FUNCTION
wnditemput SUB
wnditems SUB
wnditemset SUB
wndload SUB
wndmgnboundsget SUB
wndmgnboundsset SUB
wndmgnget SUB
wndmgnset SUB
wndposget SUB
wndposset SUB
wndput SUB
wndrefresh SUB
wndrefreshb SUB
wndrefreshtag SUB
wndrefreshtagb SUB
wndtoscr SUB
wndtoscrb SUB
wndtoscrc SUB
wndviewportset SUB

X

xmsdacopy SUB
xmsdaget SUB
xmsdainit FUNCTION
xmsdaload SUB
xmsdaput SUB
xmsdaremove SUB
xmsdasave SUB
xmstofile SUB


altpressed% () SUB - ALT state checking
ctrlpressed% () SUB - CTRL state checking
rshiftpressed% () SUB - RIGHT SHIFT state checking
lshiftpressed% () SUB - LEFT SHIFT state checking
Parameters:
none

Returns:
1 if key is pressed
0 otherwise


arraycreate% (xsiz%, ysiz%, qua%) FUNCTION - XMS image array definining
Parameters:
xsiz%, ysiz% - image width and height (in pixels)
qua% - images quantity

Returns:
array XMShandle

Description:
This service function allocates space for an array and defines it.

See also:
pagecreate


background (X1%, Y1%, X2%, Y2%) SUB - filling with background
Parameters:
X1%, Y1%, X2%, Y2% - coordinates of rectangular area (in pixels)

Description:
Fills the screen or EMSpage with background image or color.

See also:
bgload bgunload


bgload (filename$) - loading background
bgunload - unloading background
Parameters:
filename$ - background image file name

See also:
background


bounds% (V%, vmin%, vmax%) FUNCTION - INTEGER variable bounding
boundss! (V!, vmin!, vmax!) FUNCTION - SINGLE variable bounding
bounds2 (V1%, V2%, vmin%, vmax%) SUB - bounding 2 INTEGERs
Parameters:
V%, V!, V1%, V2% - variables to bound
VMIN%, VMIN! - variable minimum value
VMAX%, VMAX! - variable maximum value

Returns:
bounded variable

Description:
'Bounding' means that: variable will be equal to VMIN if it less than VMIN and equal to VMAX if it more than VMAX. This keeps it in [VMIN,VMAX] interval, so this sub is very useful for operating inputbox values.

See also:
inbounds


boxcoordsget (boxnum%, X%, Y%, xsiz%, ysiz%) SUB - box position and size retrieving
boxcoordsgetb (boxnum%, X1%, Y1%, X2%, Y2%) SUB - box coordinates retrieving
Parameters:
boxnum% - number of the box

Returns:
X%, Y% - top-left corner of the box (in pixels)
XSIZ%, YSIZ% - width and height of the box (in pixels)
X1%, Y1%, X2%, Y2% - coordinates of the box (in pixels)

See also:
boxcoordsset


boxcoordsset (boxnum%, X%, Y%, xsiz%, ysiz%) SUB - setting box position and size
Parameters:
boxnum% - number of the box
X%, Y% - top-left corner of the box (in cells)
XSIZ%, YSIZ% - width and height of the box (in cells)

See also:
boxcoordsget


boxdel (w%) SUB - deletes the box
Parameters:
w% - number of the box

Description:
This sub deletes one of the boxes and shift last box on its position, so order of the boxes may change.

See also:
boxerase


boxdraw (boxnum%) SUB - box drawing by number
boxdrawb (boxnum%) SUB - box screen drawing by number
boxdrawtag (tag%) SUB - box drawing by tag
boxdrawtagb (tag%) SUB - box screen drawing by tag
Parameters:
boxnum% - number of the box
tag% - tag of the box

Description:
BOXDRAW and BOXDRAWTAG draws the box in the current viewport
BOXDRAWB and BOXDRAWTAGB draws the box on the screen buffer and copies it to the screen
Use these subs to redraw certain boxes after changing these parameters.

See also:
boxhide


boxerase (boxnum%) SUB - erases the page-in-the-box
Parameters:
boxnum% - number of the page-in-the-box

Description:
Erases all the boxes from the page-in-the-box area. Note that page-in-the-box will not be erased and order of the boxes may change.

See also:
boxdel


boxformatget (boxnum%, mode%, halign%, valign%, toframe%, fontnum%) SUB - box format parameters retrieving
boxformatset (boxnum%, mode%, halign%, valign%, toframe%, fontnum%) SUB - box format parameters setting
Parameters (common):
boxnum% - number of the box

Returns (for retrieving) / Parameters (for setting):
mode% - box mode (0-15)
halign%, valign% - horizontal / vertical alignment (0-left/top, 1-center, 2-right/bottom)
toframe% - align to frame (0 - off, 1 - on)
fontnum% - number of the font

See also:
box mode box alignment box font


boxframeget (boxnum%, framn%, framsn%) SUB - box frame parameters retrieving
boxframeset (boxnum%, framn%, framsn%) SUB - box frame parameters setting
Parameters (common):
boxnum% - box number

Returns (for retrieving) / Parameters (for setting):
framn% - frame number
framsn% - frame subnumber

See also:
box frame


boxgrad (x1%, y1%, x2%, y2%, C1&, C2&, C3&, C4&) SUB - gradient rectangle drawing
Parameters:
X1%, Y1%, X2%, Y2% - coordinates of the rectangular area (in pixels)
C1&, C2&, C3&, C4& - colors of the corners

Description:
Draws gradient rectangle, that consist of 2 gradient triangles.


boxgupdate (fromtag%, totag%) SUB - updating box group
boxgupdateb (fromtag%, totag%) SUB - updates box group and screen
Parameters:
fromtag%, totag% - tag interval of boxes that needs updating

Description:
Sub checks tags of all boxes and updates boxes with tags in [fromtag%,totag%] interval. Useful in updating button groups after pressing one of the buttons or redrawing boxes after jamming/unjamming.

See also:
boxupdate boxupdatetag


boxhelpget% (boxnum%) FUNCTION - box quicknote retrieving
boxhelpset (boxnum%, msgnum%) SUB - box quicknote setting
Parameters:
boxnum% - box number
msgnum% - message number for quicknote

Returns (for retrieving):
quicknote message number

See also:
box quicknote


boxhide (boxnum%) SUB - deleting the box from screen
Parameters:
boxnum% - box number

Description:
Fills box area with background in the screen buffer and screen. The box still remains in memory.

See also:
boxdraw


boxlabelget (boxnum%, n%, sn%) SUB - label image retrieving
boxlabelset (boxnum%, n%, sn%) SUB - label image setting
Parameters (common):
boxnum% - box number

Returns (for retrieving) / Parameters (for setting):
n% - image number
sn% - image subnumber

See also:
box label sub-images


boxmsgget% (boxnum%) FUNCTION - box message retrieving
boxmsgset (boxnum%, msg%) SUB - box message setting
Parameters (common):
boxnum% - box number

Returns (for retrieving) / Parameters (for setting):
msg% - box message number

See also:
box message


boxpageset (pagenum%, boxnum%) SUB - panel page setting by box number
boxpagesettag (pagenum%, boxtag%) SUB - panel page setting by box tag
Parameters:
pagenum% - page number to set
boxnum% - panel number
tag% - tag of the panel

See also:
page panel


boxupdate (boxnum%) SUB
boxupdatetag (boxnum%) SUB
- updating a box
Parameters:
boxnum% - box number
tag% - tag of the box

Description:
Box state will be refreshed (with btstate) and box will be redrawn.

See also:
boxgupdate


bufput (boxnum%) SUB - putting box from screen buffer to the screen
Parameters:
boxnum% - box number


bytes2int% (V1%, V2%) FUNCTION - packing 2 bytes into INTEGER value
int2bytes (V%, V1%, V2%) SUB - unpacking 2 bytes from INTEGER value
Parameters:
V1%, V2% - bytes values (0-255)
V% - INTEGER value for unpacking

Returns (bytes2int):
packed INTEGER value

See also:
insertint


colfind& (R%, G%, B%) FUNCTION - color finding
Parameters:
R%, G%, B% - RGB hues

Returns:
color nearest (or equal) to given

Description:
This function returns RGB2COLOR value for hi-color modes. For palette screen modes call PALSTORE first (though, it automatically called after loading skins). Then use function to search through colors to find nearest.

See also:
palstore


cursorset (n%, sn%) SUB - cursor image setting
Parameters:
n% - image number
sn% - image subnumber

Note: Cursor will be always 16x16.

See also:
image


dirget () SUB - directory scanning

Description:
Usually used to manage file i/o dialogs. Scans current directory (you may set it with pathmaskset) and store all the files matched the work mask and directories in XMS. After calling this sub use FILEGET to retrieve filenames and FILEPROCESS to manage directory switch.

See also:
fileget fileprocess pathmaskget pathmaskset


dist% (X1%, Y1%, X2%, Y2%) FUNCTION - distance between 2 points calculating
Parameters:
X1%, Y1% - coordinates of the 1st point
X2%, Y2% - coordinates of the 2nd point

Returns:
rounded INTEGER distance between given points


div% (V1%, V2%) FUNCTION
Parameters:
V1% - dividend
V2% - divider

Returns:
INT(V1%/V2%)*V2%


dotbox (X1%, Y1%, X2%, Y2%, bitscan%) SUB - dotted box drawing
dotline (X1%, Y1%, X2%, Y2%, bitscan%) SUB - dotted line drawing
Parameters:
X1%, Y1%, X2%, Y2% - coordinates of edges (corners) (in pixels)
bitscan% - like LINE style (see LINE detailed help section)


dragget (mode%, X%, Y%) SUB - drag parameters retrieving
dragset (mode%, X%, Y%) SUB - drag parameters setting

Returns (for retrieving) / Parameters (for setting):
X%, Y% - coords of drag starting (in pixels)
mode% - drag mode:
0 - buttons are not pressed
1 - button is just pressed
2 - dragging is in progress
3 - dragging is disabled / ended

Description:
When user presses mouse button on a window, shell stores mouse cursor coordinates and sets drag mode to 1, then calls WNDPRESS and WNDDRAG. After this dragmode will change to 2 and wnddrag sub will be called in a loop until user release mouse button. Then dragmode changes to 3.

See also:
wndpress wnddrag


fileget (num%, FileName$, typ%) SUB - file/directory/disc name retrieving
Parameters:
num% - item(file, directory or disc) number in XMS filelist stored by dirget sub

Returns:
filename$ - item name with extension
typ% - item type
0 - file
1 - directory
2 - parent directory

See also:
dirget fileprocess


filelength& (FileName$) FUNCTION - getting file length
Parameters:
filename$ - name of file to check

Returns:
length of the file (in bytes)


fileprocess (filenum%) SUB - switching directories
Parameters:
filenum% - number of filelist item to process

Description:
If filenum% is number of directory or disc, this sub will switch to it.

See also:
dirget fileget


filetoxms (handle, filepos&, length&, xmsaddr&) SUB - loading file in XMS
xmstofile (handle, filepos&, length&, xmsaddr&) SUB - saving XMS data to file
Parameters (common):
handle - XMS handle
filepos& - position of file #1 to read from / write to (file must be open)
length& - length of bytes to load / save
xmsaddr& - XMS address to load to / save from


fontcolorget (fontnum%, R%,G%,B%) SUB - font color retrieving
fontcolorset (fontnum%, R%,G%,B%) SUB - font color setting
Parameters:
fontnum% - number of the box

Returns (for retrieving) / Parameters (for setting):
R%, G%, B% - rgb hues of font color


fontformatget (fontnum%, filenum%,lenmasknum%,layers%) SUB - font parameters retrieving
fontformatset (fontnum%, filenum%,lenmasknum%,layers%) SUB - font parameters setting
Parameters:
fontnum% - number of the box

Returns (for retrieving) / Parameters (for setting):
filenum% - font file number
lenmasknum% - font lenghtn mask number
layers% - quantity of layers

See also:
font parameters


framedraw (n%, sn%, X%, Y%, xsiz%, ysiz%) SUB - frame drawing
Parameters:
n% - image number
sn% - image subnumber
X%, Y% - topleft corner position (in pixels)
xsiz%, ysiz% - size of frame (in pixels)

See also:
frame


iboxchange (boxnum%) SUB - selecting inputbox
Parameters:
boxnum% - number of the box to select

See also:
selected


imgcoordsget (n%, sn%, X%, Y%, xsiz%, ysiz%) SUB - image position and size retrieving
imgcoordsgetb (n%, X1%, Y1%, X2%, Y2%) SUB - image coordinates retrieving
imgcoordsset (n%, X%, Y%, xsiz%, ysiz%) SUB - image position and size setting
Parameters (common):
n% - image number

Returns (for retrieving) / Parameters (for setting):
X%, Y% - topleft corner of the image (in pixels)
xsiz%, ysiz% - size of the image (in pixels)
X1%, Y1%, X2%, Y2% - coords of the image (in pixels)

See also:
Image editing


imgformatget (n%, typ%, style%, saf%) SUB - image format retrieving
imgformatset (n%, typ%, style%, saf%) SUB - image format setting
Parameters (common):
n% - image number

Returns (for retrieving) / Parameters (for setting):
typ% - image type (0 - image, 1 - frame, 2 - user object)
style% - image style
saf% - image state affecting mode

See also:
image editing image type


imginrowget% (n%) FUNCTION - images-in-row retrieving
imginrowset (n%, ir%) SUB - images-in-row setting
Parameters:
n% - image number
ir% - images-in-row

Returns(for retrieving):
images-in-row

See also:
images-in-row


imgload (FileName$) SUB - image bank loading
Parameters:
Filename$ - name of image bank (*.PIM) file in common directory


inbounds% (V%, V1%, V2%) FUNCTION - checking value presense in the bounds
Parameters:
V% - value

Returns:
1 if V1% ≤ V% ≤ V2%
0 otherwise

See also:
bounds


insertint (V%, value%, vpos%, range%) SUB - packing values into INTEGER
Parameters:
V% - variable for storing
value% - value to push in
vpos% - position in variable
range% - value's range (0 ≤ value% < range%)

Returns:
V% - packed variable

Description:
You can store several different-range integer variables in one: in example, you have a (0..6), b(0...14), c(0..299). Let's check: 7 * 15 * 300 = 31500 < 32767. d = a + 7 * b + 7 * 15 * c. This way you can store any combination of a (vpos% = 1, range% = 7), b (vpos% = 7, range% = 15), c (vpos% = 7 * 15, range% = 300) values in their range. a = d MOD 7, b = INT(d / 7) MOD 15, c = INT(d / 7 / 15).

See also:
bytes2int


long2rgb (V&, R%, G%, B%) SUB - converting LONG into color RGB hues
rgb2long& (R%, G%, B%) FUNCTION - converting color RGB hues into LONG
Parameters/Returns:
R%,G%,B% - RGB hues
V& - LONG value

Returns:
LONG value

Note:
These routines helps in storing real (color depth independent) colors.

See also:
colfind


max% (V1%, V2%) FUNCTION - maximum of 2 INTEGERs
min% (V1%, V2%) FUNCTION - minimum of 2 INTEGERs
Parameters:
V1%, V2% - values to compare

Returns:
maximum / minimum value


mousechange% () FUNCTION - mouse state changing checking

Returns:
1 if mouse state changed since last call
0 otherwise

Note:
Sub also updates common variables mx, my (mouse cursor coords), mb (mouse button state).


mouseon () SUB - putting mouse cursor on the screen
mouseoff () SUB - removing mouse cursor from screen

Notes:
Use MOUSEON before drawing on screen, MOUSEOFF after. They're also changes active page.


msgload (FileName$, start%) SUB - message bank loading
Parameters:
Filename$ - name of message bank (*.PMS) file in common directory
start% - position in the message array


msgget$ (msgnum%) FUNCTION - message text retrieving
msgset (msgnum%, m$) SUB - message text setting
Parameters:
msgnum% - message number
m$ - message text to set

Returns:
message text


outputset (n%) SUB - current active page setting
Parameters:
n% - N to set Nth EMS page, N+1000 to set Nth screen page

Description:
Some subs needs temporary pages switching, so if you set the page directly, it may be changed. To prevent this, use OUTPUTSET sub instead.


pagecreate% (XRes%, YRes%, epn%) FUNCTION - EMS page creating
Parameters:
XRes%, YRes% - width and height of the page
epn% - page number for SetEMSpage sub (see FL docs)

Returns:
EMS handle of the page

Description:
This sub allocates memory and creates EMS page with color depth equal to current

See also:
arraycreate


pageinsert (n%, boxnum%) SUB - inserting page in the box
Parameters:
n% - source page number
boxnum% - number of the destination box (panel)

See also:
pages pageset


pageload (FileName$) SUB - page bank loading
Parameters:
filename$ - name of page bank (*.PPG) file in common directory

See also:
pages


pageset (pagenum%) SUB - page setting
Parameters:
pagenum% - page number to set

Description:
The sub clears the screen loads page boxes in memory and display them on the screen and screen buffer.

See also:
pages pageinsert


palstore () SUB - storing palette in string variable
palcolget (n%, R%, G%, B%) SUB - retrieving RGB hues of stored color
Parameters:
n% - color number

Returns:
R%,G%,B% - color RGB hues

Notes:
These subs only usable in 8bit color depth screen modes. It's necessary to call PALSTORE sub before using COLFIND in these modes.

See also:
colfind


pathmaskget (pth$, msk$) SUB - working path and filemask retrieving
pathmaskset (pth$, msk$) SUB - working path and filemask setting
Returns (for retrieving) / Parameters (for setting):
pth$ - path (use "" for no changes, "#" for disk list)
msk$ - file mask, can be:
"*.*" - working with all files
Allowed extensions separated and edged by dots (in example ".PCX.GIF.BMP.") - working with files only with these extensions
"" - no changes (for setting)

Note:
These parameters are used only in file i/o routines (especially DIRGET)

See also:
dirget fileprocess


screenviewportset () SUB - setting all the screen as viewport


scrtownd (tag%, Sx%, Sy%, wx!, wy!) SUB - screen coordinates to window SINGLE coordinates translation
wndtoscr (tag%, wx!, wy!, Sx%, Sy%) SUB - window SINGLE coordinates to screen coordinates translation
scrtowndc (tag%, Sx%, Sy%, wx%, wy%) SUB - screen coordinates to window INTEGER coordinates translation
wndtoscrc (tag%, wx%, wy%, Sx%, Sy%) SUB - window INTEGER coordinates to screen coordinates translation
Parameters/Returns:
wx%, wy%, wx!, wy! - window coordinates
sx%, sy% - screen coordinates (in pixels)

See also:
window


scrtowndb (tag%, Sx%, Sy%, wx%, wy%) SUB - screen coordinates to window gird coordinates translation
wndtoscrb (tag%, wx%, wy%, Sx%, Sy%) SUB - window grid coordinates to screen coordinates translation
Parameters/Returns:
wx%, wy% - window coordinates (in grid cells)
sx%, sy% - screen coordinates (in pixels)

See also:
window grid


selected% (boxnum%) FUNCTION - checking: is the inputbox selected or not
Parameters:
boxnum% - number of the box to check

Returns:
1 if the inputbox is selected
0 otherwise


shellexit () SUB - exiting to DOS

Note:
PROGRAMCLOSE will be called before shutdown


shiftbounds (V!, vmin!, vmax!) SUB - shifting the bounds if given value is outside them
Parameters:
V! - given value
vmin!, vmax! - minimum and maximum

Returns:
vmin! - equal to V! if V!<vmin! otherwise unchanged
vmax! - equal to V! if V!>vmax! otherwise unchanged


skinload (FileName$) SUB - loading a skin
Parameters:
filename$ - name of graphic (*.BMP,*.PCX,*.GIF) file in common directory

See also:
skin


st$ (V%) FUNCTION - representing INTEGER as string
sts$ (V!) FUNCTION - representing SINGLE as string
Parameters:
V!, V% - values

Returns:
value string representation without spaces on edges


strget$ () FUNCTION - retrieving a string from a file #1
strput (a$) SUB - putting a string to a file #1
Parameters (for putting):
a$ - string to put

Returns (for retrieving):
stored string

Description:
Subs are intended for putting variable-length strings to a file and retrieving them. Follow the order of stored strings to retrieve them correctly.

See also:
symget symput


strlen% (a$) FUNCTION - retrieving PROTUBERANCE text length
Parameters:
a$ - text

Returns:
length of text (in pixels)

See also:
tprint


symget% () FUNCTION - retrieving one byte from file #1
symput (V%) SUB putting one byte from file #1
Parameters (for putting):
V% - byte to put (0 - 255)

Returns (for retrieving):
stored byte

See also:
strget strput


tagget% (boxnum%) FUNCTION - box tag retrieving
tagset (boxnum%, tag%) SUB - box tag setting
Parameters (common):
boxnum% - number of box

Parameters (for setting):
tag% - tag to set

Returns (for retrieving):
box tag

See also:
box tag


tagsearch% (tag%) FUNCTION - box tag searching
Parameters:
tag% - tag to search for

Returns:
first encountered box with the given tag (0 if there's no such box)

See also:
box tag


texdraw (t%, tx1%, ty1%, tx2%, ty2%, Sx1%, Sy1%, sx2%, sy2%) SUB - porting skin rectangular area to the screen
teximgdraw (t%, n%, sn%, tx1%, ty1%, tx2%, ty2%) SUB - porting image to the screen
Parameters:
t% - porting mode (0-6)
n%, sn% - number and subnumber of image to use it as a source
Sx1%, Sy1%, sx2%, sy2% - source rectangle coordinates
tx1%, ty1%, tx2%, ty2% - target rectangle coordinates

See also:
image porting


tprint (Tx%, Ty%, fontnum%, a$) SUB - PROTUBERANCE text printing
tprintwnd (X1%, Y1%, X2%, Y2%, halign%, valign%, fontnum%, a$) SUB - PROTUBERANCE text printing in rectangular area
Parameters:
Tx%, Ty% - top-left text corner coordinates (in pixels)
X1%, Y1%, X2%, Y2% - rectangular area coordinates
fontnum% - font number
halign%, valign% - h/v alignment (0-left/top, 1-center, 2-right/bottom)
a$ - text to print

See also:
font spacing


wndget (boxnum%) SUB - copying a window from the screen buffer to the secondary screen buffer
wndput (boxnum%) SUB - copying a window from the secondary screen buffer to the main screen buffer
Parameters:
boxnum% - number of window box


wndgridget (tag%, wxgrid%, wygrid%) SUB - windows grid resolution retrieving
wndgridset (tag%, wxgrid%, wygrid%) SUB - windows grid resolution setting
Parameters (common):
tag% - tag (number) of the window

Returns (for retrieving) / Parameters (for setting):
wxgrid%, wygrid% - window grid resolution

See also:
window grid


wnditemget (tag%, wid%, mode%, itemq%) SUB - window list parameters retrieving
wnditemset (tag%, wid%, mode%, itemq%) SUB - window list parameters setting
Parameters (common):
tag% - tag (number) of the window

Returns (for retrieving) / Parameters (for setting):
wid% - quantity of list items in a row (column for mode% = 2)
mode% - auto-arrangement mode
0 - no arrangement
1 - wid% will be changed to fit window width
2 - wid% will represent items in a column and will be changed to fit window height
3 - wid% is changed to be close to the height
itemq% - quantity of items in a list

See also:
list


wnditemnum% (boxnum%, X%, Y%) FUNCTION - list item number under (X,Y) point
Parameters:
boxnum% - number of window box
X% ,Y% - point coordinates in window coordinate system

Returns:
list item number under the point

Description:
This function is mainly used with scrtownd sub when detecting the number of list item being under mouse cursor is needed.

See also:
list scrtownd


wnditemput (boxnum%, n%) SUB - drawing single windows list item
Parameters:
boxnum% - number of window box
n% - number of item to draw

See also:
list


wnditems (boxnum%) SUB - drawing all windows list item
Parameters:
boxnum% - number of window box

See also:
list


wndload (FileName$) SUB - windows bank loading
Parameters:
filename$ - name of window bank (*.PWN) file in common directory

See also:
windows


wndmgnboundsget (tag%, xmgnmin!, xmgnmax!, ymgnmin!, ymgnmax!) SUB - window magnification bounds retrieving
wndmgnboundsset (tag%, xmgnmin!, xmgnmax!, ymgnmin!, ymgnmax!) SUB - window magnification bounds setting
Parameters (common):
tag% - tag (number) of the window

Returns (for retrieving) / Parameters (for setting):
xmgnmin!, ymgnmin! - minimum magnification level for X and Y
xmgnmax!, ymgnmax! - maximum magnification level for X and Y

See also:
window magnification


wndmgnget (tag%, wxmgn!, wymgn!) SUB - window magnification level retrieving
wndmgnset (tag%, wxmgn!, wymgn!) SUB - window magnification level setting
Parameters (common):
tag% - tag (number) of the window

Returns (for retrieving) / Parameters (for setting):
wxmgn!, wymgn! - magnification level for x and y

See also:
wndmgnboundsget wndmgnboundsset window magnification


wndposget (tag%, wx!, wy!) SUB - windows workspace position retrieving
wndposset (tag%, wx!, wy!) SUB - windows workspace position setting
Parameters (common):
tag% - tag (number) of the window

Returns (for retrieving) / Parameters (for setting):
wx!, wy! - position

See also:
window position


wndrefresh (boxnum%) SUB - window refreshing
wndrefreshb (boxnum%) SUB - window refreshing and updating screen
wndrefreshtag (tag%) SUB - window refreshing (by tag)
wndrefreshtagb (tag%) SUB - window refreshing (by tag) and updating screen
Parameters:
boxnum% - number of window box
tag% - tag (number) of the window


wndviewportset (boxnum%, X1%, Y1%, X2%, Y2%) SUB - setting viewport equal to the box inner area
Parameters:
boxnum% - number of window box

Returns:
X1%, Y1%, X2%, Y2% - new viewport rectangle coordinates


xmsdacopy (handle, fromnum, tonum) SUB - copying one item to another

Parameters:
handle - XMSDA handle
fromnum - number of item to copy from
tonum - number of item to copy to

See also:
XMS Dynamic Arrays xmsdaremove


xmsdaget (handle, num, Segment, Offset) SUB - XMSDA item retrieving
xmsdaput (handle, num, Segment, Offset, sizebyt&) SUB - XMSDA item storing
Parameters:
handle - XMSDA handle
num - number of item to store / retrieve
Segment, Offset - base memory address to store from / retrieve to
sizebyt& - length of storing data (bytes)

See also:
XMS Dynamic Arrays xmsdainit


xmsdainit (itemsmax, sizebyt&) FUNCTION - XMS Dynamic Array initializing
Parameters:
itemsmax - maximum quantity of items to be stored in array
sizebyt& - stack space (maximum space for all items plus some more for operations)

Returns:
XMSDA handle

See also:
XMS Dynamic Arrays


xmsdaload (filename$, handle, startitem, itemq) SUB - XMSDA loading
xmsdasave (filename$, handle, startitem, itemq) SUB - XMSDA saving
Parameters:
filename$ - XMSDA file name
handle - handle of XMSDA to save from / load to
startitem - item to save from / load to

Returns (for loading) / Parameters (for saving):
itemq - quantity of XMSDA items

See also:
XMS Dynamic Arrays


xmsdaremove (handle, num) SUB - XMSDA item removing with item shift
Parameters (common):
handle - XMSDA handle
num - number of item to remove

See also:
XMS Dynamic Arrays xmsdacopy