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