Chapter 1. r3root

Table of Contents

r33dpain
r3asydrw
r3basdrw
r3ovldrw
r3async
r3asytrn
r3channe
r3chcol
r3chglow
r3chilm
r3chrefc
r3chsig
r3chtran
r3chflt
r3cha
r3chbump
r3chfade
r3chglsz
r3chid
r3chothi
r3chrecd
r3chrn
r3chscop
r3chtime
r3chturb
r3chvols
r3chz
r3chvec
r3chasc
r3chbnor
r3chhor
r3chlsc
r3chmnor
r3chmsc
r3chnorm
r3chray
r3chrefl
r3chrefr
r3chspot
r3chshor
r3chsver
r3chtmp
r3chver
r3cwid
r3clipb
r3ctrimc
r3cursor
r3dtype
r3dtflt
r3hook
r3image
r3dtfile
r3bmp
r3cineon
r3dtanim
r3dtavi
r3dtflc
r3dtiff
r3ico
r3jpeg
r3png
r3ppm
r3rawfil
r3rawsoc
r3tga
r3dtwin
r3imrgba
r3rawim
r3sclimg
r3dsplst
r3dc
r3dcgfx
r3dcogl
r3hidlin
r3drawp
r3drpmsg
r3clientwindowdropmessage
r3tooldropmessage
r3drptgt
r3dropto
r3drwito
r3drapto
r3dranisetg
r3drcolgd
r3drfrto
r3drtato
r3drgmto
r3drpato
r3drplto
r3drrcto
r3drgoto
r3drmbto
r3drmacsli
r3drmcto
r3drmatprv
r3drpgto
r3drspto
r3drsgto
r3drtbto
r3drtoto
r3vcdrcamctrl
r3drvcto
r3drwnto
r3drawto
r3drcbar
r3drcwto
r3drcolsqr
r3drcmto
r3drcoto
r3drdwto
r3drmwto
r3drfren
r3drfwto
r3drinto
r3drmacmon
r3drpsto
r3drpwto
r3drqvto
r3drsbar
r3drseto
r3drsepa
r3drtaglist
r3drtwto
r3drtrto
r3druvprop
r3drvpto
r3drvwto
r3drvsl
r3drwwto
r3errdb
r3file
r3iff
r3r4iff
r3filer
r3filren
r3filter
r3mnfilt
r3font
r3frbob
r3ccone
r3ccyl
r3cdisk
r3cextps
r3chyp
r3cjor3d
r3cpoly
r3cpmid
r3crect
r3csect
r3cspher
r3frlibo
r3dynch
r3mapsrc
r3frmaba
r3frmat
r3frmale
r3popaef
r3pflare
ppeliren
r3rmprop
r3rmpbm
r3rmpcon
r3rmpcop
r3rmpcur
r3rmpdif
r3rmplev
r3rmplin
r3rmpope
r3rmppl
r3rmpcll
r3rmpvec
r3postpr
r3blur
r3dither
r3dof
r3detedr
r3fog
r3glowr
r3gradientr
r3imgeff
r3iemat
r3imflar
r3ligspr
r3line
r3pimage
r3ieppre
r3satura
r3tblur
r3frls
r3frls1d
r3frls2d
r3frls3d
r3frlsa
r3frlsd
r3frlsp
r3frlss
r3frobj
r3frhob
r3fratom
r3frlev
r3frmapp
r3frmasc
r3frmcam
r3frmcmo
r3frmchn
r3frmcub
r3frmcyl
r3frmdis
r3frmlev
r3frmlsc
r3frmspl
r3frmpar
r3frmpyr
r3frmsph
r3phgmap
r3frsurf
r3cmetnu
r3cnumes
r3frpart
r3surf
r3v2rect
r3vcone
r3vcone2
r3vcube
r3vcyl
r3vcyl2
r3vcylsl
r3vell
r3vell2
r3vempty
r3vhalfs
r3vhyp
r3vhyp2
r3vjor3d
r3v2cubz
r3v2line
r3v2nurb
r3vline
r3vpline
r3vpmid
r3vslice
r3vsph
r3vxor
r3frclie
r3freng
r3fremp
r3frserv
r3grdraw
r3icon
r3imgldr
r3iresolv
r3impexp
r33ds
r3boujou
r3dxf
r3ica
r3jsio
r3v3io
r3infmsg
r3menu
r3model
r3paintc
r3effpnt
r3aniext
r3animtr
r3chory
r3keyfr2
r3cpsmod
r3curve
r3envelo
r3fifomo
r3boujoum
fbxmod
r3icam
r3iffmod
r3frende
r3gfxmod
r3grid
r3guimod
r3info
r3intact
r3ia2p
r3iacoan
r3iadgra
r3iafont
s3iahole
r3iaintn
r3iaik
r3iaiksk
r3ialsd
r3ialsp
r3iameasure
r3iaphys
r3iaposmark
r3iaroun
r3iaseed
r3iasph
r3iasph2
r3iasmap
r3iavolrad
r3iawght
p3iaairb
r3iaatmo
r3iacirc
r3iacir2
p3iacirc
r3iacmap
r3iadmap
p3iapol
r3iadfrm
r3iadta
r3iadtp
r3iapta
p3iaeyed
p3iacopier
r3vcianavig
r3ianp
r3iaangle
r3iaanglemeasure
r3iamaver
r3iacam
r3iacarriage
r3iacobend
r3iacog
r3iacomove
r3iacorotate
r3iadema
r3iafan
r3iafoot
r3iainvkin
r3ialookat
r3ialse
r3ialss
r3ianurb
p3iacur
p3ialine
r3iapathle
r3iaparticleaddpoints
r3iapdisplacer
r3iaradialdeformer
r3iarect
r3iacuma
r3iafileinst
r3iagmpack
r3iagrd
r3ialatt
r3iapmap
r3iapyma
r3iarec2
p3iarect
s3iaroofline
r3iarttr
r3iasdsbase
r3iasube
r3iasub2
r3iasub3
r3iasumv
r3iasued
r3iasutr
r3iadupledge
r3iafhknife
r3iaskel
r3iaspin
r3iaspiral
r3iasuap
r3iasubd
r3iatran
r3iabend
r3iaext
r3iamirr
r3iamove
r3ianoise
r3iarot
r3iascal
r3iaskew
r3iawall
s3iamesh
s3iamestart
s3iamebr
s3iameshrpn
s3ianurb
s3ianuad
s3ianubr
s3ianustart
s3ianush
p3iapws
r3iapart
p3iapast
r3iapnt
s3iapolygon
r3iaknife
r3iasdssplitedges
r3iasel
r3iacons
f3iabool
f3iacbac
r3iacogroup
r3iaconstr
f3iacurt
f3iatrim
f3iaesca
f3iaextr
f3iafill
r3iafpri
r3iafpumap
r3iafpmap
r3iafpswap
r3iagrou
r3iainterpolator
r3ialink
f3iauvip
f3iamap
f3iamapdistr
f3iamapsw
r3iameta
r3iamulm
f3ianurb
a3iapath
f3iapxme
f3iarota
a3iarotate
f3iaswee
f3iatris
f3iaumap
r3iauv
r3iavolse
f3iaweld
f3iaxsec
r3selpainteria
s3iaskel
r3iasnap
r3iasujf
p3iavertp
s3base
s3angle
s3intens
s3move
s3osmove
s3osscale
s3rotate
s3scale
s3sdseno
s3sdsnor
s3sdsmed
s3sdsvno
s3selcur
s3seledg
s3selfac
s3selobj
s3selpnt
s3sdsselfacevertex
s3spcmov
s3spotan
r3knot
r3maccl
r3objlay
r3lislay
r3imglay
r3layer
r3laylis
r3matlay
r3real
r3efflay
r3vmodlayer
r3prilay
r3oglmod
r3output
r3oanim
r3oavi
r3oflc
r3obmp
r3ocine
r3ohook
r3oico
r3oscaler
r3opng
r3oppm
r3oram
r3clbset
r3oraw
r3orawfi
r3orawim
r3orawso
r3otga
r3ownd
r3progm
r3rensys
r3pospro
r3raytr
r3scanli
r3rserv
r3rspec
r3sellis
r3thumbn
r3ttag
r3macro
r3matbas
r3lvlmat
r3vsl
r3matlib
r3matprp
r3mpbitm
r3mpbump
r3mpsmap
r3mptext
r3mpcall
r3mpcnst
r3mpcopy
r3mpcurv
r3mpdiff
r3mpleve
r3mpcell
r3mpder
r3mpif
r3mpnois
r3mpphas
r3mpproc
r3mprand
r3mpray
r3mproot
r3mpspec
r3mpwave
r3mplin
r3mpoper
r3mppl
r3mpvar
r3postef
r3postim
r3blurmd
r3combef
r3dithmd
r3dofmd
r3detedm
r3fogmod
r3glowem
r3gradientm
r3imflmd
r3linemd
r3lsprmd
r3partem
r3satumd
r3tblurm
r3vslefm
r3postpm
r3lensf
ppelimod
r3prim
r3anglemeasure
r3cbckdr
r3cone
r3cube
r3cutcon
r3cutpyr
r3cylind
r3dragp
r3ellips
r3ellseg
r3fieldev
r3foot
r3group
r3hyperb
r3level
r3aik
r3aniobj
r3camera
r3constructor
r3creator
r3deform
r3extrud
r3fileinst
r3force
r3fratre
r3instnc
r3interpolator
r3lights
r3numesh
r3partic
r3plant
r3posimp
r3roof
r3subdiv
r3treele
r3triset
r3tube
r3wall
r3link
r3map
r3atmosph
r3cubmap
r3cylmap
r3defmap
r3dskmap
r3mesmap
r3parmap
r3sphmap
r3measure
r3nurbs
r3trmnrb
r3nurbs2
r3outlin
r3polygon
r3polyhedron
r3polymid
r3posmark
r3pyrami
r3rect
r3iplane
r3sphere
r3sdsfacemat
r3uimage
r3unitcv
r3usrchn
r3colchn
r3fltchn
r3vecchn
r3vcam
r3vmod
r3vmod2d
r3winlis
r3wmatev
r3mpool
r3numk
r3phasys
r3phcomm
r3phfilt
r3phfray
r3phfisu
r3phillu
r3phimpr
r3phinit
r3phligh
r3phpopr
r3phscan
r3phsurf
r3phsuge
r3phterm
r3phvolu
r3phvofi
r3phvill
r3phvosh
r3preims
r3prglng
r3js
r3raysmp
r3realsoft
r3rememb
r3rimage
r3rmanag
r3semaph
r3sdivtrv
r3timer
r3tbase
r3atool
r3cotool
r3pasurf
r3fftool
r3patool
r3tree
r3wfeng
r3widget
r3canvas
r3gfx
r3opengl
r3gadget
r3aconstrg
r3prangd
r3animattrgad
r3aoptgd
r3aniplg
r3anisetg
r3acurve
r3axisgradientgadget
r3browgd
r3canvasgadget
r3gfxgad
r3oglgad
r3changd
r3chvalg
r3colgd
r3colwhl
r3curlis
r3dblwgd
r3dtypeg
r3animgd
r3avigd
r3flcgd
r3bmpgd
r3cinegd
r3icogd
r3pnggd
r3ppmgd
r3rawfgd
r3rawgd
r3tgagd
r3owndgd
r3effpgd
r3enumcy
r3envgad
fbxgade
fbxgadi
r3fifoga
r3boujoug
r3icag
r3iffgad
r3iffsgad
r3filsectg
r3floatg
r3fontgd
r3fpjoin
r3genopt
r3gtypeg
r3ieffgd
r3blurgd
r3combeg
r3dithgd
r3dofg
r3detedg
r3foggad
r3gloweg
r3imflg
r3lsprgd
r3linegd
r3parteg
r3saturg
r3tblurg
r3vslefg
r3imglis
r3iagad
i3intact
i3airbr
i33dpcir
i33dpcur
i33dplin
i33dppol
i33dprct
i3paste
i3animrot
i3atmosph
i3mavertool
i3iabool
i3iacbac
i3constr
i3construct
i3iacopier
i3demato
i3escan
i3extend
i3iaextr
i3iaeyed
i3iafileinst
i3iafill
i3font
i3fprint
i3grid
i3group
i3iaik
i3latmap
i3laumap
i3link
i3ialsp
i3ialss
i3mapdistr
i3mirror
i3mulmap
r3vcianaviggad
i3ianrb
i3nrbcon
i3pws
i3partic
i3path
i3phys
i3pxmesh
i3iarota
i3rotatr
i3fhknife
i3sdsjoi
i3knife
i3sdssplitedges
i3select
r3selpainteriagad
i3skel
i3snap
i3iasph
i3spiral
i3subbev
i3subd2
i3subd3
i3subdiv
i3subtra
i3iacurt
i3sweep
i3trntls
i3tritol
i3uv
i3iavertp
r3iawallg
i3weld
i3xsect
r3icgmpack
i3mkuvmi
n3intact
n3circle
n3extend
n3iaangle
n3iaanglemeasure
n3iabend
n3iahole
n3iameasure
n3mirror
n3iamove
n3ianubase
n3nurbspec
n3iarot
n3iascal
n3subbev
n3subd2
n3subd3
n3subtra
n3iasph
n3phys
n3rect
n3skelet
n3spin
n3spiral
n3maprad
r3jointg
r3kfrmgd
r3lmatgd
r3llaycy
r3llayga
r3lprgds
r3fireg
r3gridgd
r3imggd
r3envgd
r3matgd
r3matprv
r3outgd
r3posimg
r3pospmg
r3rspgd
r3usrchg
r3collum
r3macbut
r3macgd
g3mangad
g3packgd
g3rocogd
g3placgd
r3matlis
r3mpaopg
r3mpcpsg
r3mprpga
r3mpbuga
r3mpcaga
r3mpcnga
r3mpcoga
r3mpcpyg
r3mpcuga
r3mplega
r3mpderg
r3mpifga
r3mpphga
r3mpprga
r3mproga
r3mpliga
r3mpnoga
r3mpopga
r3mpraga
r3mprayg
r3mpsmga
r3mpspeg
r3mptega
r3mpvarg
r3mpwaga
r3mpifsg
r3modfli
r3modfnt
r3mx
r3easymx
r3mxsupr
r3objgd
r3orderg
r3osgdgt
r3button
r3mxbutto
r3tool
r3checkb
r3cycle
r3edtcyc
r3frame
r3manfrm
r3tabbed
r3intege
r3listv
r3rlistv
r3radiob
r3scroll
r3shell
r3slider
r3macsli
r3string
r3text
r3peffgd
r3lensfg
ppeligad
r3pengad
s3primgd
s3branch
s3camera
s3foot
s3fprint
s3group
r3iggm
r3iggmpack
s3instnc
s3level
s3constructor
s3map
s3measure
s3numesh
s3nurbs
s3trmnrb
s3partic
s3plant
s3polygon
s3roof
s3sdsplus
s3seed
s3skelmap
s3subdiv
s3triset
s3wall
r3progd
r3prpgad
p3anglemeasure
p3atmosph
p3boowir
p3cbackd
p3cone
p3cube
p3fileinst
p3cutcon
p3cutpyr
p3cylind
p3dgrav
p3effect
p3ellips
p3ellseg
p3fan
p3fieldev
p3outlin
p3foot
p3fpskel
p3gapwir
p3hyperb
p3iplane
p3knowir
p3level
p3aniobj
p3branch
p3camera
p3constructor
r3creatorgd
p3extrud
p3fiber
p3fprint
p3fratre
r3pggm
r3interpolatorgd
p3leaf
p3lights
p3numesh
p3partic
p3posimp
p3roof
p3seed
p3subdiv
p3triset
p3wall
p3map
p3cubmap
p3cylmap
p3defmap
p3dskmap
p3mesmap
p3parmap
p3pyrmap
p3sphmap
p3measure
p3nurbs2
p3nurbs
p3trmnrb
p3nrbwir
p3paemitter
p3physic
p3polygon
p3polyhed
p3polymid
p3posmark
p3priwir
p3pyrami
p3rect
p3sdswir
p3simtgs
p3skewir
p3sphere
p3tube
r3regopt
r3scalef
r3scriptg
r3sdstypegadget
r3slistg
r3senvga
r3statgd
r3taggad
r3thumbng
r3timcrs
r3timsli
r3timeg
r3toolbr
r3tbasgd
r3anicrg
r3cotgd
r3fftgd
r3treevw
r3unitcg
r3vectg
g3widgad
g3cliwgd
g3conwgd
g3cbargd
g3cyclgd
g3dblwgd
g3dtgwgd
g3fltwgd
g3framgd
g3guitab
g3mbutgd
g3separg
g3sbargd
g3tabgd
g3tbargd
g3viewct
r3gmanag
r3packer
r3rowcol
r3placer
r3window
r3animwi
r3axis
r3clnwin
r3cmdwin
r3colsqr
r3cmpswi
r3curveg
r3getcurveminmax
r3curvetab
r3custmn
r3draggd
r3dsrwin
r3dtitle
r3dtgwin
r3conwin
r3fltwin
r3mainw
r3envwin
r3browse
r3fload
r3frenwi
r3fsave
r3getprp
r3gradientgadget
r3guigad
r3guiwin
r3viwseh
r3imgbrow
r3matbrow
r3imgdwi
r3infowi
r3ibar
r3cbar
r3sbar
r3keypgd
r3knotg
r3macmon
r3mancyc
r3optwin
r3primse
r3progdb
r3propwi
r3quadvi
r3realwi
r3request
r3about
r3tipofd
r3sel
r3selwin
r3separg
r3splitg
r3tagwin
r3tlineg
r3tlnameg
r3tbar
r3tbchwi
r3toolwi
r3uvprpw
r3vccamctrl
r3view
r3trmviw
r3vslwin
r3winprp
r3wrkwin
r3wire
r3wianglemeasure
r3wibool
r3wiaxis
r3wicobend
r3wicam
r3wicarriage
r3wicogroup
r3widgra
r3widrag
r3wifan
r3wigm
r3wiinst
r3wiinvkin
r3wilatt
r3wiligh
r3wilsd
r3wilsp
r3wilse
r3wilss
r3wilookat
r3wimoveconstructor
r3winume
r3wipart
r3wipa1d
r3wipa2d
r3wipa3d
r3wipathle
r3wiradialdeformer
r3wirotconstructor
r3wishrink
r3wiskel
r3wisdiv
r3wisdsuvset
r3witris
r3wimeta
r3wiwall
r3wicone
r3wicube
r3wicutc
r3wicutp
r3wicyli
r3widragp
r3wielli
r3wiells
r3wifileinst
r3wifoot
r3wigrou
r3wihype
r3wimap
r3wicuma
r3wicmap
r3widmap
r3wimema
r3wipmap
r3wipyma
r3wismap
r3wimeasure
r3wimeuv
r3winurb
r3witmnb
r3winrb2
r3wipoly
r3wipolyhed
r3wipolymid
r3wiposmark
r3wipyra
r3wirect
r3wisdsuvsetuv
r3wisph
r3wisduv
r3wfdc
r3wmanag
r3zbuffe

r3root

Class

oops/r3root.h

Library

r3oops

Description:

The base class for realsoft objects.

See Also

Super Class

-

JavaScript

r3Root

Class Identifier

R3CLID_ROOT - 0

Methods

CREATE, DELETE, SETCLATTR, GETCLATTR, SET, GET, READ, WRITE, UPDATE, REF, UNREF, ADDHEAD, ADDTAIL, REMOVE, OOENUM, MAKETAGLIST, FREETAGLIST, NAMEFORTAG, TRANSFORM, COPY, ASSIGN, LOADOBJECT, GETSTR, ENUMSUBCLASSES, FREECACHE, SETINDEXED, GETINDEXED, ISOFKIND, ISYOURTAG, INSERT, FINDTAGDESCR, FINDTAGDESCRBYNAME, GETPUBATTR, SETPUBATTR, FINDINDEXEDTAGDESCR, NAMEFORINDEXEDTAG,

Attributes

Hook, Error, Name, ClassID, InstanceSize, SysObject, Next, Previous, HookData, List, Self, StaticName, Version, RefCount, Dispatcher, Icon,

Registration

int R3RegisterRootClass(R3APP *app);

R3RM_CREATE

Method

CREATE

Identifier

R3RM_CREATE

Return

R3OBJ*, address of the created object

Param 3:

R3TAG*, default attributes for the instance to be created

JavaScript

rc = obj.CREATE(p3);

Description

Creates a new instance.

R3RM_DELETE

Method

DELETE

Identifier

R3RM_DELETE

JavaScript

obj.DELETE();

Description

Deletes an object (destructor). See R3ObjectDelete() shield.

R3RM_SETCLATTR

Method

SETCLATTR

Identifier

R3RM_SETCLATTR

Param 3:

R3TAG*, tag list specifying attributes and values to be set.

JavaScript

obj.SETCLATTR(p3);

Description

Set one or more class attributes. See R3SetClassAttrs()

R3RM_GETCLATTR

Method

GETCLATTR

Identifier

R3RM_GETCLATTR

Param 3:

R3TAG*, tags list specifying attributes to be fecthed

JavaScript

obj.GETCLATTR(p3);

Description

Fetch class attributes

R3RM_SET

Method

SET

Identifier

R3RM_SET

Param 3:

R3TAG*, tag list specifying attributes and values to be set

JavaScript

obj.SET(p3);

Description

Set object attributes

R3RM_GET

Method

GET

Identifier

R3RM_GET

Return

R3TAG*, NULL if all tags were recognized, otherwise address of the unrecognized tag.

Param 3:

R3TAG*, tag list specifying attributes/storages.

JavaScript

rc = obj.GET(p3);

Description

Fetch one or more object attributes

R3RM_READ

Method

READ

Identifier

R3RM_READ

Return

R3BOOL, FALSE if failed, R3RA_Error, can be used for fetching the error code

Param 3:

R3TAG*, tag list specifying the file object and address for the error code:

JavaScript

rc = obj.READ(p3);

Description

Tells object to read its attributes from a file. If the class of the file is R3CLID_IFF, automatic crossplatform conversion is applied.

R3RM_WRITE

Method

WRITE

Identifier

R3RM_WRITE

Return

R3BOOL, NULL if write failed

Param 3:

R3TAG*, tag list (R3RA_FileObject, R3RA_Error).

JavaScript

rc = obj.WRITE(p3);

Description

Tells an object to write its attributes to a file

R3RM_UPDATE

Method

UPDATE

Identifier

R3RM_UPDATE

Param 1:

void*, new value, the type of the value depends on the attribute in question

Param 3:

R3INT, model's attribute that has changed

JavaScript

obj.UPDATE(p1, p3);

Description

This method is defined by the root class althought its up to the sub classes to implement it. For more information, see model-view concept.

R3RM_REF

Method

REF

Identifier

R3RM_REF

JavaScript

obj.REF();

Description

Increments objects reference count. By default, the reference count is zero.

R3RM_UNREF

Method

UNREF

Identifier

R3RM_UNREF

Return

R3OBJ*, NULL if object was deleted

JavaScript

rc = obj.UNREF();

Description

Decrements objects reference count. When reference count drops to zero, the object is deleted.

R3RM_ADDHEAD

Method

ADDHEAD

Identifier

R3RM_ADDHEAD

Param 3:

R3LIST, list

JavaScript

obj.ADDHEAD(p3);

Description

Tells an object to link itself at the head of a list.

R3RM_ADDTAIL

Method

ADDTAIL

Identifier

R3RM_ADDTAIL

Param 3:

R3LIST, list

JavaScript

obj.ADDTAIL(p3);

Description

Tells an object ot link itself to the end of a list

R3RM_REMOVE

Method

REMOVE

Identifier

R3RM_REMOVE

Param 3:

R3LIST, list

JavaScript

obj.REMOVE(p3);

Description

Removes an object from a list

R3RM_OOENUM

Method

OOENUM

Identifier

R3RM_OOENUM

Return

void*, return value from the called object.

Param 3:

R3TAG*, R3RA_TargetObject, R3RA_TargetMethod

JavaScript

rc = obj.OOENUM(p3);

Description

Enumerate object.

R3RM_MAKETAGLIST

Method

MAKETAGLIST

Identifier

R3RM_MAKETAGLIST

Param 3:

R3LIST, list containing R3TAGLISTNODE structures

JavaScript

obj.MAKETAGLIST(p3);

Description

Fetch the public attribute list.

R3RM_FREETAGLIST

Method

FREETAGLIST

Identifier

R3RM_FREETAGLIST

Param 3:

R3LIST, list containing R3TAGLISTNODE structures by R3RM_MAKETAGLIST.

JavaScript

obj.FREETAGLIST(p3);

Description

Free the public attribute list

R3RM_NAMEFORTAG

Method

NAMEFORTAG

Identifier

R3RM_NAMEFORTAG

Return

R3BOOL, true if found.

Param 1:

R3INT, attribute identifier

Param 3:

char*, buffer for the name

JavaScript

rc = obj.NAMEFORTAG(p1, p3);

Description

Fetch the name for the given attribute.

R3RM_TRANSFORM

Method

TRANSFORM

Identifier

R3RM_TRANSFORM

JavaScript

obj.TRANSFORM();

Description

This method is defined by the root class but implemented by the sub classes.

R3RM_COPY

Method

COPY

Identifier

R3RM_COPY

Return

R3OBJ*, an address of the duplicate

JavaScript

rc = obj.COPY();

Description

Makes a copy of an object

R3RM_ASSIGN

Method

ASSIGN

Identifier

R3RM_ASSIGN

Param 3:

R3OBJ*, address of the object from which the attributes should be read

JavaScript

obj.ASSIGN(p3);

Description

Tells an object to read all its attributes from the given object. Note: only those attributes are assigned which are common to the both objects.

R3RCM_LOADOBJECT

Method

LOADOBJECT

Identifier

R3RCM_LOADOBJECT

Return

R3OBJ*, address of the loaded object or NULL if failed

Param 3:

R3TAG*, attributes for the object to be loaded.

JavaScript

rc = obj.LOADOBJECT(p3);

Description

Reads on object from the given file. FIrst, root attributes (such as the class id) are read. The root class then creates an instance of that class and sends R3RM_READ method to the instance.

R3RCM_GETSTR

Method

GETSTR

Identifier

R3RCM_GETSTR

Param 3:

R3INT, string identifier. See localization examples

JavaScript

obj.GETSTR(p3);

Description

Fetches a localized string corresponding the given string id.

R3RCM_ENUMSUBCLASSES

Method

ENUMSUBCLASSES

Identifier

R3RCM_ENUMSUBCLASSES

Param 1:

R3OBJ*, object to be called as R3SendMsgA3((R3OBJ *)p1, (R3INT)p2, (R3CLASS *)super, (R3CLAS *)class, (void *)p3);

Param 2:

R3INT, method for the callback object

Param 3:

void*, whatever user data for the callback object.

JavaScript

obj.ENUMSUBCLASSES(p1, p2, p3);

Description

Enumerates sub class of the given class (non-recursive)

R3RCM_FREECACHE

Method

FREECACHE

Identifier

R3RCM_FREECACHE

JavaScript

obj.FREECACHE();

Description

Sent to each class at close down. The class should free all objects allocated, * e.g. window cache.

R3RM_SETINDEXED

Method

SETINDEXED

Identifier

R3RM_SETINDEXED

JavaScript

obj.SETINDEXED();

Description

Set an indexed object attribute

R3RM_GETINDEXED

Method

GETINDEXED

Identifier

R3RM_GETINDEXED

JavaScript

obj.GETINDEXED();

Description

Get an indexed object attribute

R3RM_ISOFKIND

Method

ISOFKIND

Identifier

R3RM_ISOFKIND

Return

R3INT, 0 if the given class id doesn't match any of the classes of the given object. Otherwise positive integer is returned indicating the 'level' at which the match was found. Return value of 1 means that the given class is the 'true class' of the object. The return value of 2 indicates that the given class id is the super class of the object etc.

Param 3:

R3CLID, class id to be checked

JavaScript

rc = obj.ISOFKIND(p3);

Description

Compares the given class id agains the class ids of the object.

R3RM_ISYOURTAG

Method

ISYOURTAG

Identifier

R3RM_ISYOURTAG

Return

R3BOOL, true if object recognizes the tag

Param 3:

R3INT, tag identifier

JavaScript

rc = obj.ISYOURTAG(p3);

Description

Asks if the given method or attribute is defined by the object.

R3RM_INSERT

Method

INSERT

Identifier

R3RM_INSERT

Return

R3BOOL, true if 'prev' node was found

Param 1:

R3BOOL, don't send R3MM_CHANGED

Param 2:

R3OBJ*, previous object in the list

Param 3:

R3LIST, list

JavaScript

rc = obj.INSERT(p1, p2, p3);

Description

Insert the object to a given list after the given 'prev' node

R3RM_FINDTAGDESCR

Method

FINDTAGDESCR

Identifier

R3RM_FINDTAGDESCR

Return

R3BOOL, true if tag was found.

Param 1:

R3INT, tag to be fetched

Param 2:

R3LIST, tags fetched by calling R3RM_MAKETAGLIST. If null, maketaglist and freetaglits methods are called internally.

JavaScript

rc = obj.FINDTAGDESCR(p1, p2, 0);

Description

Fetch tag descriptor (R3TAGNAME) data for the given tag id.

R3RM_FINDTAGDESCRBYNAME

Method

FINDTAGDESCRBYNAME

Identifier

R3RM_FINDTAGDESCRBYNAME

Return

R3BOOL, true if found

Param 1:

char*, name of the attribute to be found

JavaScript

rc = obj.FINDTAGDESCRBYNAME(p1, 0);

Description

Find tag descriptor by name

R3RM_GETPUBATTR

Method

GETPUBATTR

Identifier

R3RM_GETPUBATTR

Return

R3OBJ*, object whose attribute was referred

Param 1:

char*, hierarhcial name identifying the attribute

Param 3:

void*, buffer for the value

JavaScript

rc = obj.GETPUBATTR(p1, p3);

Description

Fetch public attribute by hierarhical name. The method returns the value and specification by using the FINDTAGDESCRBYNAME method.

R3RM_SETPUBATTR

Method

SETPUBATTR

Identifier

R3RM_SETPUBATTR

Return

R3OBJ*, object whose attribute was referred

Param 1:

char*, hierarhcial name identifying the attribute

Param 3:

void*, buffer for the value

JavaScript

rc = obj.SETPUBATTR(p1, p3);

Description

Set public attribute. This uses FINDTAGDESCRBYNAME method.

R3RM_FINDINDEXEDTAGDESCR

Method

FINDINDEXEDTAGDESCR

Identifier

R3RM_FINDINDEXEDTAGDESCR

Return

R3BOOL, true if found

Param 1:

R3INT, tag

Param 2:

R3INT, index,

JavaScript

rc = obj.FINDINDEXEDTAGDESCR(p1, p2, 0);

Description

Find tag description for indexed tag.

R3RM_NAMEFORINDEXEDTAG

Method

NAMEFORINDEXEDTAG

Identifier

R3RM_NAMEFORINDEXEDTAG

Return

R3BOOL, true if found

Param 1:

R3INT, tag

Param 2:

R3INT, index,

Param 3:

char*, buffer for tag name

JavaScript

rc = obj.NAMEFORINDEXEDTAG(p1, p2, p3);

Description

Find name for indexed tag.

Hook

Attribute

Hook

Identifier

R3RA_Hook

JavaScript type

String

C type

void*

Description

callback or hook for whatever usage

Syntax


jsobj.SetHook(value);
value = jsobj.GetHook();


void* value = ...;
R3SetAttrs(r3obj, R3RA_Hook, value, R3TAG_END);
void* value;
R3GetAttrs(r3obj, R3RA_Hook, &value, R3TAG_END);

Error

Attribute

Error

Identifier

R3RA_Error

JavaScript type

Integer

C type

R3INT

Description

for passing error codes to caller

Syntax


jsobj.SetError(value);
value = jsobj.GetError();


R3INT value = ...;
R3SetAttrs(r3obj, R3RA_Error, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3RA_Error, &value, R3TAG_END);

Name

Attribute

Name

Identifier

R3RA_Name

JavaScript type

String

C type

char*

Description

object's name

Syntax


jsobj.SetName(value);
value = jsobj.GetName();


char* value = ...;
R3SetAttrs(r3obj, R3RA_Name, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3RA_Name, &value, R3TAG_END);

ClassID

Attribute

ClassID

Identifier

R3RA_ClassID

JavaScript type

Integer

C type

R3INT

Description

objects classid

Syntax


jsobj.SetClassID(value);
value = jsobj.GetClassID();


R3INT value = ...;
R3SetAttrs(r3obj, R3RA_ClassID, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3RA_ClassID, &value, R3TAG_END);

InstanceSize

Attribute

InstanceSize

Identifier

R3RA_InstanceSize

JavaScript type

Integer

C type

R3INT

Description

instance size

Syntax


value = jsobj.GetInstanceSize();


R3INT value;
R3GetAttrs(r3obj, R3RA_InstanceSize, &value, R3TAG_END);

SysObject

Attribute

SysObject

Identifier

R3RA_SysObject

JavaScript type

String

C type

void*

Description

OS specific object associated with V4 object

Syntax


jsobj.SetSysObject(value);
value = jsobj.GetSysObject();


void* value = ...;
R3SetAttrs(r3obj, R3RA_SysObject, value, R3TAG_END);
void* value;
R3GetAttrs(r3obj, R3RA_SysObject, &value, R3TAG_END);

Next

Attribute

Next

Identifier

R3RA_Next

JavaScript type

Object

C type

R3OBJ*

Description

next object in a list

Syntax


jsobj.SetNext(value);
value = jsobj.GetNext();


R3OBJ* value = ...;
R3SetAttrs(r3obj, R3RA_Next, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3RA_Next, &value, R3TAG_END);

Previous

Attribute

Previous

Identifier

R3RA_Previous

JavaScript type

Object

C type

R3OBJ*

Description

Syntax


jsobj.SetPrevious(value);
value = jsobj.GetPrevious();


R3OBJ* value = ...;
R3SetAttrs(r3obj, R3RA_Previous, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3RA_Previous, &value, R3TAG_END);

HookData

Attribute

HookData

Identifier

R3RA_HookData

JavaScript type

String

C type

void*

Description

for callbacks

Syntax


jsobj.SetHookData(value);
value = jsobj.GetHookData();


void* value = ...;
R3SetAttrs(r3obj, R3RA_HookData, value, R3TAG_END);
void* value;
R3GetAttrs(r3obj, R3RA_HookData, &value, R3TAG_END);

List

Attribute

List

Identifier

R3RA_List

JavaScript type

r3List

C type

R3LIST*

Description

for R3RM_ADDHEAD/TAIL methods

Syntax


jsobj.SetList(value);


R3LIST* value = ...;
R3SetAttrs(r3obj, R3RA_List, value, R3TAG_END);

Self

Attribute

Self

Identifier

R3RA_Self

JavaScript type

Object

C type

R3OBJ*

Description

whenever objects needs to pass its address to someone

Syntax


value = jsobj.GetSelf();


R3OBJ* value;
R3GetAttrs(r3obj, R3RA_Self, &value, R3TAG_END);

StaticName

Attribute

StaticName

Identifier

R3RA_StaticName

JavaScript type

String

C type

char*

Description

'R3RA_StaticName' not documented

Syntax


jsobj.SetStaticName(value);
value = jsobj.GetStaticName();


char* value = ...;
R3SetAttrs(r3obj, R3RA_StaticName, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3RA_StaticName, &value, R3TAG_END);

Version

Attribute

Version

Identifier

R3RA_Version

JavaScript type

Integer

C type

R3INT

Description

version number of the object's class

Syntax


value = jsobj.GetVersion();


R3INT value;
R3GetAttrs(r3obj, R3RA_Version, &value, R3TAG_END);

RefCount

Attribute

RefCount

Identifier

R3RA_RefCount

JavaScript type

Integer

C type

R3INT

Description

read only, use REF and UNREF methods for changing refcount

Syntax


jsobj.SetRefCount(value);
value = jsobj.GetRefCount();


R3INT value = ...;
R3SetAttrs(r3obj, R3RA_RefCount, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3RA_RefCount, &value, R3TAG_END);

Dispatcher

Attribute

Dispatcher

Identifier

R3RA_Dispatcher

JavaScript type

String

C type

void*

Description

void *(*)(R3CLASS *, R3OBJ *, R3INT, void *, void *, void*) , same as R3RCA_Dispatcher, but can be asked from object as well

Syntax


jsobj.SetDispatcher(value);
value = jsobj.GetDispatcher();


void* value = ...;
R3SetAttrs(r3obj, R3RA_Dispatcher, value, R3TAG_END);
void* value;
R3GetAttrs(r3obj, R3RA_Dispatcher, &value, R3TAG_END);

Icon

Attribute

Icon

Identifier

R3RA_Icon

JavaScript type

Object

C type

R3OBJ*

Description

class specific icon object. May be NULL

Syntax


jsobj.SetIcon(value);
value = jsobj.GetIcon();


R3OBJ* value = ...;
R3SetAttrs(r3obj, R3RA_Icon, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3RA_Icon, &value, R3TAG_END);

Limitations

R3LEN_INSTANCENAME

Used for ENUM method

list to be enumerated

See R3TNF_* flags below

see subtypes in r3typids.h

for R3TID_ENUM type

for R3TID_ENUM type

if R3TNF_INDEXED flag is set, use R3SetIndexedAttr() with 'index' for this tag

if R3TNF_ARRAY, tag used for fetching the size of the array

if R3TNF_ARRAY, tag used for fetching the size of the item in the array

if R3TNF_ARRAY, tag used for fetching selection array (R3BYTE *)

flags for r3tagname

R3TNF_USERDEFINED
R3TNF_ANIMATEABLE
R3TNF_COPYSTRING
R3TNF_INDEXED
R3TNF_ARRAY
R3TNF_LIST
R3TNF_READONLY
R3TNF_PERPOINT
R3TNF_HPT
R3TNF_BYVALUE

obsolete, don't use in new code

R3TN_USERDEFINED
R3TN_ANIMATEABLE
R3TN_COPYSTRING

Strings defined by the root class

R3RSTR_UNDEFINED_ATTRIBUTE
R3RSTR_CANNOT_READ_OBJECT
R3RSTR_NEED_NEWER_VERSION
R3RSTR_UNDEFINED_METHOD
R3RSTR_NAME

Fetch strings defined by other classes

Registry function

Tags

Tags

R3RA_FileObject
R3RA_TargetObject
R3RA_BusyHook
R3RA_SenderObject
R3RA_TargetMethod
R3RA_LoadCreateTags
R3RA_P0
R3RA_P1
R3RA_P2
R3RA_P3
R3RA_P4
R3RA_P5
R3RA_P6
R3RA_P7
R3RA_P8
R3RA_P9
R3RA_TargetClass
R3RA_FileVersion
R3RA_FileRevision
R3RA_LoadReplace