AngelScriptAPI.h 194 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896
  1. // Script API header intended to be 'force included' in IDE for AngelScript content assist / code completion
  2. #define int8 signed char
  3. #define int16 signed short
  4. #define int64 long
  5. #define uint8 unsigned char
  6. #define uint16 unsigned short
  7. #define uint64 unsigned long
  8. #define null 0
  9. // Enumerations
  10. enum Intersection
  11. {
  12. OUTSIDE,
  13. INTERSECTS,
  14. INSIDE,
  15. };
  16. enum VariantType
  17. {
  18. VAR_NONE,
  19. VAR_INT,
  20. VAR_BOOL,
  21. VAR_FLOAT,
  22. VAR_VECTOR2,
  23. VAR_VECTOR3,
  24. VAR_VECTOR4,
  25. VAR_QUATERNION,
  26. VAR_COLOR,
  27. VAR_STRING,
  28. VAR_BUFFER,
  29. VAR_PTR,
  30. VAR_RESOURCEREF,
  31. VAR_RESOURCEREFLIST,
  32. VAR_VARIANTVECTOR,
  33. VAR_VARIANTMAP,
  34. VAR_INTRECT,
  35. VAR_INTVECTOR2,
  36. };
  37. enum FileMode
  38. {
  39. FILE_READ,
  40. FILE_WRITE,
  41. FILE_READWRITE,
  42. };
  43. enum CreateMode
  44. {
  45. REPLICATED,
  46. LOCAL,
  47. };
  48. enum InterpolationMode
  49. {
  50. BEZIER_CURVE,
  51. };
  52. enum FillMode
  53. {
  54. FILL_SOLID,
  55. FILL_WIREFRAME,
  56. FILL_POINT,
  57. };
  58. enum RenderCommandType
  59. {
  60. CMD_NONE,
  61. CMD_CLEAR,
  62. CMD_SCENEPASS,
  63. CMD_QUAD,
  64. CMD_FORWARDLIGHTS,
  65. CMD_LIGHTVOLUMES,
  66. };
  67. enum RenderCommandSortMode
  68. {
  69. SORT_FRONTTOBACK,
  70. SORT_BACKTOFRONT,
  71. };
  72. enum RenderTargetSizeMode
  73. {
  74. SIZE_ABSOLUTE,
  75. SIZE_RENDERTARGETDIVISOR,
  76. SIZE_VIEWPORTDIVISOR,
  77. };
  78. enum TextureUnit
  79. {
  80. TU_DIFFUSE,
  81. TU_NORMAL,
  82. TU_SPECULAR,
  83. TU_EMISSIVE,
  84. TU_ENVIRONMENT,
  85. TU_LIGHTRAMP,
  86. TU_LIGHTSHAPE,
  87. TU_SHADOWMAP,
  88. TU_FACESELECT,
  89. TU_INDIRECTION,
  90. TU_ALBEDOBUFFER,
  91. TU_NORMALBUFFER,
  92. TU_DEPTHBUFFER,
  93. TU_LIGHTBUFFER,
  94. MAX_MATERIAL_TEXTURE_UNITS,
  95. MAX_TEXTURE_UNITS,
  96. };
  97. enum TextureUsage
  98. {
  99. TEXTURE_STATIC,
  100. TEXTURE_DYNAMIC,
  101. TEXTURE_RENDERTARGET,
  102. TEXTURE_DEPTHSTENCIL,
  103. };
  104. enum TextureFilterMode
  105. {
  106. FILTER_NEAREST,
  107. FILTER_BILINEAR,
  108. FILTER_TRILINEAR,
  109. FILTER_ANISOTROPIC,
  110. FILTER_DEFAULT,
  111. };
  112. enum TextureAddressMode
  113. {
  114. ADDRESS_WRAP,
  115. ADDRESS_MIRROR,
  116. ADDRESS_CLAMP,
  117. ADDRESS_BORDER,
  118. };
  119. enum TextureCoordinate
  120. {
  121. COORD_U,
  122. COORD_V,
  123. COORD_W,
  124. };
  125. enum CubeMapFace
  126. {
  127. FACE_POSITIVE_X,
  128. FACE_NEGATIVE_X,
  129. FACE_POSITIVE_Y,
  130. FACE_NEGATIVE_Y,
  131. FACE_POSITIVE_Z,
  132. FACE_NEGATIVE_Z,
  133. };
  134. enum RenderSurfaceUpdateMode
  135. {
  136. SURFACE_MANUALUPDATE,
  137. SURFACE_UPDATEVISIBLE,
  138. SURFACE_UPDATEALWAYS,
  139. };
  140. enum BlendMode
  141. {
  142. BLEND_REPLACE,
  143. BLEND_ADD,
  144. BLEND_MULTIPLY,
  145. BLEND_ALPHA,
  146. BLEND_ADDALPHA,
  147. BLEND_PREMULALPHA,
  148. BLEND_INVDESTALPHA,
  149. };
  150. enum CompareMode
  151. {
  152. CMP_ALWAYS,
  153. CMP_EQUAL,
  154. CMP_NOTEQUAL,
  155. CMP_LESS,
  156. CMP_LESSEQUAL,
  157. CMP_GREATER,
  158. CMP_GREATEREQUAL,
  159. };
  160. enum CullMode
  161. {
  162. CULL_NONE,
  163. CULL_CCW,
  164. CULL_CW,
  165. };
  166. enum PassLightingMode
  167. {
  168. LIGHTING_UNLIT,
  169. LIGHTING_PERVERTEX,
  170. LIGHTING_PERPIXEL,
  171. };
  172. enum LightType
  173. {
  174. LIGHT_DIRECTIONAL,
  175. LIGHT_SPOT,
  176. LIGHT_POINT,
  177. };
  178. enum EmitterType
  179. {
  180. EMITTER_SPHERE,
  181. EMITTER_BOX,
  182. };
  183. enum PrimitiveType
  184. {
  185. TRIANGLE_LIST,
  186. LINE_LIST,
  187. };
  188. enum RayQueryLevel
  189. {
  190. RAY_AABB_NOSUBOBJECTS,
  191. RAY_AABB,
  192. RAY_OBB,
  193. RAY_TRIANGLE,
  194. };
  195. enum SoundType
  196. {
  197. SOUND_EFFECT,
  198. SOUND_AMBIENT,
  199. SOUND_VOICE,
  200. SOUND_MUSIC,
  201. SOUND_MASTER,
  202. };
  203. enum HorizontalAlignment
  204. {
  205. HA_LEFT,
  206. HA_CENTER,
  207. HA_RIGHT,
  208. };
  209. enum VerticalAlignment
  210. {
  211. VA_TOP,
  212. VA_CENTER,
  213. VA_BOTTOM,
  214. };
  215. enum Corner
  216. {
  217. C_TOPLEFT,
  218. C_TOPRIGHT,
  219. C_BOTTOMLEFT,
  220. C_BOTTOMRIGHT,
  221. };
  222. enum Orientation
  223. {
  224. O_HORIZONTAL,
  225. O_VERTICAL,
  226. };
  227. enum FocusMode
  228. {
  229. FM_NOTFOCUSABLE,
  230. FM_RESETFOCUS,
  231. FM_FOCUSABLE,
  232. FM_FOCUSABLE_DEFOCUSABLE,
  233. };
  234. enum LayoutMode
  235. {
  236. LM_FREE,
  237. LM_HORIZONTAL,
  238. LM_VERTICAL,
  239. };
  240. enum TraversalMode
  241. {
  242. TM_BREADTH_FIRST,
  243. TM_DEPTH_FIRST,
  244. };
  245. enum CursorShape
  246. {
  247. CS_NORMAL,
  248. CS_RESIZEVERTICAL,
  249. CS_RESIZEDIAGONAL_TOPRIGHT,
  250. CS_RESIZEHORIZONTAL,
  251. CS_RESIZEDIAGONAL_TOPLEFT,
  252. CS_ACCEPTDROP,
  253. CS_REJECTDROP,
  254. CS_BUSY,
  255. };
  256. enum HighlightMode
  257. {
  258. HM_NEVER,
  259. HM_FOCUS,
  260. HM_ALWAYS,
  261. };
  262. enum TextEffect
  263. {
  264. TE_NONE,
  265. TE_SHADOW,
  266. TE_STROKE,
  267. };
  268. enum HttpRequestState
  269. {
  270. HTTP_INITIALIZING,
  271. HTTP_ERROR,
  272. HTTP_OPEN,
  273. HTTP_CLOSED,
  274. };
  275. enum ShapeType
  276. {
  277. SHAPE_BOX,
  278. SHAPE_SPHERE,
  279. SHAPE_STATICPLANE,
  280. SHAPE_CYLINDER,
  281. SHAPE_CAPSULE,
  282. SHAPE_CONE,
  283. SHAPE_TRIANGLEMESH,
  284. SHAPE_CONVEXHULL,
  285. SHAPE_TERRAIN,
  286. };
  287. enum CollisionEventMode
  288. {
  289. COLLISION_NEVER,
  290. COLLISION_ACTIVE,
  291. COLLISION_ALWAYS,
  292. };
  293. enum ConstraintType
  294. {
  295. CONSTRAINT_POINT,
  296. CONSTRAINT_HINGE,
  297. CONSTRAINT_SLIDER,
  298. CONSTRAINT_CONETWIST,
  299. };
  300. enum DumpMode
  301. {
  302. DOXYGEN,
  303. C_HEADER,
  304. };
  305. // Classes
  306. template <class T> class Array
  307. {
  308. // Methods:
  309. void Insert(uint, const T&);
  310. void Erase(uint);
  311. void Push(const T&);
  312. void Pop();
  313. void Resize(uint);
  314. void Clear();
  315. void Sort();
  316. void Sort(uint, uint);
  317. void SortReverse();
  318. void SortReverse(uint, uint);
  319. void Reverse();
  320. int Find(const T&) const;
  321. int Find(uint, const T&) const;
  322. // Properties:
  323. uint length;
  324. /* (readonly) */
  325. bool empty;
  326. };
  327. class String
  328. {
  329. // Methods:
  330. void Replace(uint8, uint8, bool = true);
  331. void Replace(const String&, const String&, bool = true);
  332. String Replaced(uint8, uint8, bool = true) const;
  333. String Replaced(const String&, const String&, bool = true) const;
  334. void Resize(uint);
  335. uint Find(const String&, uint = 0, bool = true) const;
  336. uint Find(uint8, uint = 0, bool = true) const;
  337. uint FindLast(const String&, uint = 0xffffffff, bool = true) const;
  338. uint FindLast(uint8, uint = 0xffffffff, bool = true) const;
  339. bool StartsWith(const String&, bool = true) const;
  340. bool EndsWith(const String&, bool = true) const;
  341. String Substring(uint) const;
  342. String Substring(uint, uint) const;
  343. String ToUpper() const;
  344. String ToLower() const;
  345. String Trimmed() const;
  346. void SetUTF8FromLatin1(const String&);
  347. uint ByteOffsetUTF8(uint) const;
  348. uint NextUTF8Char(uint&) const;
  349. uint AtUTF8(uint) const;
  350. void ReplaceUTF8(uint, uint);
  351. void AppendUTF8(uint);
  352. String SubstringUTF8(uint) const;
  353. String SubstringUTF8(uint, uint) const;
  354. int Compare(const String&, bool = true) const;
  355. bool Contains(const String&, bool = true) const;
  356. bool Contains(uint8, bool = true) const;
  357. void Clear();
  358. Array<String> Split(uint8) const;
  359. void Join(Array<String>&, const String&);
  360. bool ToBool() const;
  361. float ToFloat() const;
  362. int ToInt() const;
  363. uint ToUInt() const;
  364. Color ToColor() const;
  365. IntRect ToIntRect() const;
  366. IntVector2 ToIntVector2() const;
  367. Quaternion ToQuaternion() const;
  368. Vector2 ToVector2() const;
  369. Vector3 ToVector3() const;
  370. Vector4 ToVector4(bool = false) const;
  371. Variant ToVectorVariant() const;
  372. // Properties:
  373. /* (readonly) */
  374. uint utf8Length;
  375. /* (readonly) */
  376. uint length;
  377. /* (readonly) */
  378. bool empty;
  379. };
  380. class Dictionary
  381. {
  382. // Methods:
  383. void Set(const String&, void*);
  384. bool Get(const String&, void*) const;
  385. void Set(const String&, int64&);
  386. bool Get(const String&, int64&) const;
  387. void Set(const String&, double&);
  388. bool Get(const String&, double&) const;
  389. bool Exists(const String&) const;
  390. void Erase(const String&);
  391. void Clear();
  392. // Properties:
  393. /* (readonly) */
  394. bool empty;
  395. /* (readonly) */
  396. uint length;
  397. /* (readonly) */
  398. Array<String> keys;
  399. };
  400. class IntVector2
  401. {
  402. // Methods:
  403. String ToString() const;
  404. // Properties:
  405. /* (readonly) */
  406. Array<int> data;
  407. int x;
  408. int y;
  409. };
  410. class IntRect
  411. {
  412. // Methods:
  413. Intersection IsInside(const IntVector2&) const;
  414. // Properties:
  415. /* (readonly) */
  416. Array<int> data;
  417. /* (readonly) */
  418. IntVector2 size;
  419. /* (readonly) */
  420. int width;
  421. /* (readonly) */
  422. int height;
  423. int left;
  424. int top;
  425. int right;
  426. int bottom;
  427. };
  428. class Vector2
  429. {
  430. // Methods:
  431. void Normalize();
  432. float DotProduct(const Vector2&) const;
  433. float AbsDotProduct(const Vector2&) const;
  434. Vector2 Lerp(const Vector2&, float) const;
  435. bool Equals(const Vector2&) const;
  436. Vector2 Normalized() const;
  437. String ToString() const;
  438. // Properties:
  439. /* (readonly) */
  440. Array<float> data;
  441. /* (readonly) */
  442. float length;
  443. /* (readonly) */
  444. float lengthSquared;
  445. float x;
  446. float y;
  447. };
  448. class Vector3
  449. {
  450. // Methods:
  451. void Normalize();
  452. float DotProduct(const Vector3&) const;
  453. float AbsDotProduct(const Vector3&) const;
  454. Vector3 CrossProduct(const Vector3&) const;
  455. Vector3 Lerp(const Vector3&, float) const;
  456. bool Equals(const Vector3&) const;
  457. float Angle(const Vector3&) const;
  458. Vector3 Normalized() const;
  459. String ToString() const;
  460. // Properties:
  461. /* (readonly) */
  462. Array<float> data;
  463. /* (readonly) */
  464. float length;
  465. /* (readonly) */
  466. float lengthSquared;
  467. float x;
  468. float y;
  469. float z;
  470. };
  471. class Vector4
  472. {
  473. // Methods:
  474. float DotProduct(const Vector4&) const;
  475. float AbsDotProduct(const Vector4&) const;
  476. Vector4 Lerp(const Vector4&, float) const;
  477. bool Equals(const Vector4&) const;
  478. String ToString() const;
  479. // Properties:
  480. /* (readonly) */
  481. Array<float> data;
  482. float x;
  483. float y;
  484. float z;
  485. float w;
  486. };
  487. class Quaternion
  488. {
  489. // Methods:
  490. void FromAngleAxis(float, const Vector3&);
  491. void FromEulerAngles(float, float, float);
  492. void FromRotationTo(const Vector3&, const Vector3&);
  493. void FromAxes(const Vector3&, const Vector3&, const Vector3&);
  494. void FromLookRotation(const Vector3&, const Vector3&);
  495. void Normalize();
  496. Quaternion Normalized() const;
  497. Quaternion Inverse() const;
  498. float DotProduct(const Quaternion&) const;
  499. Quaternion Slerp(Quaternion, float) const;
  500. Quaternion Nlerp(Quaternion, float, bool) const;
  501. bool Equals(const Quaternion&) const;
  502. String ToString() const;
  503. // Properties:
  504. /* (readonly) */
  505. Vector3 eulerAngles;
  506. /* (readonly) */
  507. float yaw;
  508. /* (readonly) */
  509. float pitch;
  510. /* (readonly) */
  511. float roll;
  512. float w;
  513. float x;
  514. float y;
  515. float z;
  516. };
  517. class Matrix3
  518. {
  519. // Methods:
  520. Vector3 Scale() const;
  521. Matrix3 Scaled(const Vector3&) const;
  522. void SetScale(const Vector3&);
  523. void SetScale(float);
  524. Matrix3 Transpose() const;
  525. Matrix3 Inverse() const;
  526. bool Equals(const Matrix3&) const;
  527. // Properties:
  528. float m00;
  529. float m01;
  530. float m02;
  531. float m10;
  532. float m11;
  533. float m12;
  534. float m20;
  535. float m21;
  536. float m22;
  537. };
  538. class Matrix4
  539. {
  540. // Methods:
  541. Quaternion Rotation() const;
  542. Matrix3 RotationMatrix() const;
  543. Vector3 Scale() const;
  544. void SetRotation(const Matrix3&);
  545. void SetScale(const Vector3&);
  546. void SetScale(float);
  547. void SetTranslation(const Vector3&);
  548. Matrix3 ToMatrix3() const;
  549. Vector3 Translation() const;
  550. Matrix4 Transpose() const;
  551. void Decompose(Vector3&, Quaternion&, Vector3&) const;
  552. Matrix4 Inverse() const;
  553. bool Equals(const Matrix4&) const;
  554. // Properties:
  555. float m00;
  556. float m01;
  557. float m02;
  558. float m03;
  559. float m10;
  560. float m11;
  561. float m12;
  562. float m13;
  563. float m20;
  564. float m21;
  565. float m22;
  566. float m23;
  567. float m30;
  568. float m31;
  569. float m32;
  570. float m33;
  571. };
  572. class Matrix3x4
  573. {
  574. // Methods:
  575. Quaternion Rotation() const;
  576. Matrix3 RotationMatrix() const;
  577. Vector3 Scale() const;
  578. void SetRotation(const Matrix3&);
  579. void SetScale(const Vector3&);
  580. void SetScale(float);
  581. void SetTranslation(const Vector3&);
  582. Matrix3 ToMatrix3() const;
  583. Matrix4 ToMatrix4() const;
  584. Vector3 Translation() const;
  585. void Decompose(Vector3&, Quaternion&, Vector3&) const;
  586. Matrix3x4 Inverse() const;
  587. bool Equals(const Matrix3x4&) const;
  588. // Properties:
  589. float m00;
  590. float m01;
  591. float m02;
  592. float m03;
  593. float m10;
  594. float m11;
  595. float m12;
  596. float m13;
  597. float m20;
  598. float m21;
  599. float m22;
  600. float m23;
  601. };
  602. class Rect
  603. {
  604. // Methods:
  605. void Define(const Vector2&, const Vector2&);
  606. void Define(const Vector2&);
  607. void Merge(const Vector2&);
  608. void Merge(const Rect&);
  609. void Clip(const Rect&);
  610. void Clear();
  611. bool Equals(const Rect&) const;
  612. Intersection IsInside(const Vector2&) const;
  613. Vector4 ToVector4() const;
  614. // Properties:
  615. /* (readonly) */
  616. Vector2 center;
  617. /* (readonly) */
  618. Vector2 size;
  619. /* (readonly) */
  620. Vector2 halfSize;
  621. Vector2 min;
  622. Vector2 max;
  623. float left;
  624. float top;
  625. float right;
  626. float bottom;
  627. bool defined;
  628. };
  629. class BoundingBox
  630. {
  631. // Methods:
  632. void Define(const Vector3&, const Vector3&);
  633. void Define(float, float);
  634. void Define(const Vector3&);
  635. void Define(const BoundingBox&);
  636. void Define(const Frustum&);
  637. void Define(const Polyhedron&);
  638. void Define(const Sphere&);
  639. void Merge(const Vector3&);
  640. void Merge(const BoundingBox&);
  641. void Merge(const Frustum&);
  642. void Merge(const Polyhedron&);
  643. void Merge(const Sphere&);
  644. void Clip(const BoundingBox&);
  645. void Clear();
  646. void Transform(const Matrix3&);
  647. void Transform(const Matrix3x4&);
  648. Intersection IsInside(const Vector3&) const;
  649. Intersection IsInside(const Sphere&) const;
  650. Intersection IsInside(const BoundingBox&) const;
  651. BoundingBox Transformed(const Matrix3&) const;
  652. BoundingBox Transformed(const Matrix3x4&) const;
  653. Rect Projected(const Matrix4&) const;
  654. String ToString() const;
  655. // Properties:
  656. /* (readonly) */
  657. Vector3 center;
  658. /* (readonly) */
  659. Vector3 size;
  660. /* (readonly) */
  661. Vector3 halfSize;
  662. Vector3 min;
  663. Vector3 max;
  664. bool defined;
  665. };
  666. class Frustum
  667. {
  668. // Methods:
  669. void Define(float, float, float, float, float, const Matrix3x4&);
  670. void Define(const Vector3&, const Vector3&, const Matrix3x4&);
  671. void Define(const BoundingBox&, const Matrix3x4&);
  672. void DefineOrtho(float, float, float, float, float, const Matrix3x4&);
  673. void Transform(const Matrix3&);
  674. void Transform(const Matrix3x4&);
  675. Intersection IsInside(const Vector3&);
  676. Intersection IsInside(const BoundingBox&);
  677. Intersection IsInside(const Sphere&);
  678. float Distance(const Vector3&) const;
  679. Frustum Transformed(const Matrix3&) const;
  680. Frustum Transformed(const Matrix3x4&) const;
  681. // Properties:
  682. /* (readonly) */
  683. Array<Vector3> vertices;
  684. };
  685. class Polyhedron
  686. {
  687. // Methods:
  688. void AddFace(const Vector3&, const Vector3&, const Vector3&);
  689. void AddFace(const Vector3&, const Vector3&, const Vector3&, const Vector3&);
  690. void AddFace(const Array<Vector3>);
  691. void Define(const BoundingBox&);
  692. void Define(const Frustum&);
  693. void Clip(const BoundingBox&);
  694. void Clip(const Frustum&);
  695. void Clear();
  696. void Transform(const Matrix3&);
  697. void Transform(const Matrix3x4&);
  698. Polyhedron Transformed(const Matrix3&) const;
  699. Polyhedron Transformed(const Matrix3x4&) const;
  700. // Properties:
  701. /* (readonly) */
  702. uint numFaces;
  703. /* (readonly) */
  704. Array<Array<Vector3>> face;
  705. };
  706. class Sphere
  707. {
  708. // Methods:
  709. void Define(const Vector3&, float);
  710. void Define(const BoundingBox&);
  711. void Define(const Frustum&);
  712. void Define(const Polyhedron&);
  713. void Define(const Sphere&);
  714. void Merge(const Vector3&);
  715. void Merge(const BoundingBox&);
  716. void Merge(const Frustum&);
  717. void Merge(const Sphere&);
  718. void Clear();
  719. Intersection IsInside(const Vector3&) const;
  720. Intersection IsInside(const Sphere&) const;
  721. Intersection IsInside(const BoundingBox&) const;
  722. float Distance(const Vector3&) const;
  723. // Properties:
  724. Vector3 center;
  725. float radius;
  726. bool defined;
  727. };
  728. class Plane
  729. {
  730. // Methods:
  731. void Define(const Vector3&, const Vector3&, const Vector3&);
  732. void Define(const Vector3&, const Vector3&);
  733. void Define(const Vector4&);
  734. void Transform(const Matrix3&);
  735. void Transform(const Matrix3x4&);
  736. void Transform(const Matrix4&);
  737. float Distance(const Vector3&) const;
  738. Vector3 Reflect(const Vector3&) const;
  739. Plane Transformed(const Matrix3&) const;
  740. Plane Transformed(const Matrix3x4&) const;
  741. Plane Transformed(const Matrix4&) const;
  742. Vector4 ToVector4() const;
  743. // Properties:
  744. /* (readonly) */
  745. Matrix3x4 reflectionMatrix;
  746. Vector3 normal;
  747. Vector3 absNormal;
  748. float intercept;
  749. };
  750. class Ray
  751. {
  752. // Methods:
  753. void Define(const Vector3&, const Vector3&);
  754. Vector3 Project(const Vector3&) const;
  755. float Distance(const Vector3&) const;
  756. Vector3 ClosestPoint(const Ray&) const;
  757. float HitDistance(const Sphere&) const;
  758. float HitDistance(const BoundingBox&) const;
  759. float HitDistance(const Frustum&, bool = true) const;
  760. float HitDistance(const Vector3&, const Vector3&, const Vector3&) const;
  761. Ray Transformed(const Matrix3x4&) const;
  762. // Properties:
  763. Vector3 origin;
  764. Vector3 direction;
  765. };
  766. class Color
  767. {
  768. // Methods:
  769. uint ToUInt() const;
  770. Vector3 ToHSL() const;
  771. Vector3 ToHSV() const;
  772. void FromHSL(float, float, float, float);
  773. void FromHSV(float, float, float, float);
  774. float SumRGB() const;
  775. float Average() const;
  776. float Luma() const;
  777. float Chroma() const;
  778. float Hue() const;
  779. float SaturationHSL() const;
  780. float SaturationHSV() const;
  781. float Value() const;
  782. float Lightness() const;
  783. float MaxRGB() const;
  784. float MinRGB() const;
  785. float Range() const;
  786. void Clip(bool);
  787. void Invert(bool);
  788. Color Lerp(const Color&, float) const;
  789. String ToString() const;
  790. // Properties:
  791. /* (readonly) */
  792. Array<float> data;
  793. /* (readonly) */
  794. Vector3 rgb;
  795. /* (readonly) */
  796. Vector4 rgba;
  797. float r;
  798. float g;
  799. float b;
  800. float a;
  801. };
  802. class StringHash
  803. {
  804. // Methods:
  805. String ToString() const;
  806. // Properties:
  807. /* (readonly) */
  808. uint value;
  809. };
  810. class ShortStringHash
  811. {
  812. // Methods:
  813. String ToString() const;
  814. // Properties:
  815. /* (readonly) */
  816. uint16 value;
  817. };
  818. class ResourceRef
  819. {
  820. // Properties:
  821. ShortStringHash type;
  822. String name;
  823. };
  824. class ResourceRefList
  825. {
  826. // Methods:
  827. void Resize(uint);
  828. // Properties:
  829. /* (readonly) */
  830. uint length;
  831. /* (readonly) */
  832. bool empty;
  833. Array<String> names;
  834. ShortStringHash type;
  835. };
  836. class Variant
  837. {
  838. // Methods:
  839. void Clear();
  840. int GetInt() const;
  841. uint GetUInt() const;
  842. StringHash GetStringHash() const;
  843. ShortStringHash GetShortStringHash() const;
  844. bool GetBool() const;
  845. float GetFloat() const;
  846. const Vector2& GetVector2() const;
  847. const Vector3& GetVector3() const;
  848. const Vector4& GetVector4() const;
  849. const Quaternion& GetQuaternion() const;
  850. const Color& GetColor() const;
  851. const String& GetString() const;
  852. const ResourceRef& GetResourceRef() const;
  853. const ResourceRefList& GetResourceRefList() const;
  854. Array<Variant> GetVariantVector() const;
  855. const VariantMap& GetVariantMap() const;
  856. const IntRect& GetIntRect() const;
  857. const IntVector2& GetIntVector2() const;
  858. void FromString(const String&, const String&);
  859. void FromString(VariantType, const String&);
  860. String ToString() const;
  861. VectorBuffer GetBuffer() const;
  862. Serializable GetSerializable() const;
  863. Node GetNode() const;
  864. Component GetComponent() const;
  865. Scene GetScene() const;
  866. Camera GetCamera() const;
  867. RenderSurface GetRenderSurface() const;
  868. Texture GetTexture() const;
  869. UIElement GetUIElement() const;
  870. Connection GetConnection() const;
  871. CollisionShape GetCollisionShape() const;
  872. RigidBody GetRigidBody() const;
  873. PhysicsWorld GetPhysicsWorld() const;
  874. // Properties:
  875. /* (readonly) */
  876. bool zero;
  877. /* (readonly) */
  878. bool empty;
  879. /* (readonly) */
  880. VariantType type;
  881. /* (readonly) */
  882. String typeName;
  883. };
  884. class VariantMap
  885. {
  886. // Methods:
  887. bool Contains(const String&) const;
  888. bool Erase(const String&);
  889. bool Contains(ShortStringHash) const;
  890. bool Erase(ShortStringHash);
  891. void Clear();
  892. // Properties:
  893. /* (readonly) */
  894. uint length;
  895. /* (readonly) */
  896. Array<ShortStringHash> keys;
  897. };
  898. class AttributeInfo
  899. {
  900. // Properties:
  901. /* (readonly) */
  902. Array<String> enumNames;
  903. VariantType type;
  904. String name;
  905. Variant defaultValue;
  906. uint mode;
  907. };
  908. class RefCounted
  909. {
  910. // Properties:
  911. /* (readonly) */
  912. int refs;
  913. /* (readonly) */
  914. int weakRefs;
  915. };
  916. class Object
  917. {
  918. // Methods:
  919. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  920. // Properties:
  921. /* (readonly) */
  922. int refs;
  923. /* (readonly) */
  924. int weakRefs;
  925. /* (readonly) */
  926. ShortStringHash type;
  927. /* (readonly) */
  928. ShortStringHash baseType;
  929. /* (readonly) */
  930. String typeName;
  931. /* (readonly) */
  932. String category;
  933. };
  934. class WeakHandle
  935. {
  936. // Methods:
  937. RefCounted Get() const;
  938. // Properties:
  939. /* (readonly) */
  940. int refs;
  941. /* (readonly) */
  942. int weakRefs;
  943. /* (readonly) */
  944. bool expired;
  945. };
  946. class Timer
  947. {
  948. // Methods:
  949. uint GetMSec(bool);
  950. void Reset();
  951. };
  952. class Time
  953. {
  954. // Methods:
  955. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  956. // Properties:
  957. /* (readonly) */
  958. int refs;
  959. /* (readonly) */
  960. int weakRefs;
  961. /* (readonly) */
  962. ShortStringHash type;
  963. /* (readonly) */
  964. ShortStringHash baseType;
  965. /* (readonly) */
  966. String typeName;
  967. /* (readonly) */
  968. String category;
  969. /* (readonly) */
  970. uint frameNumber;
  971. /* (readonly) */
  972. float timeStep;
  973. /* (readonly) */
  974. float elapsedTime;
  975. /* (readonly) */
  976. uint systemTime;
  977. /* (readonly) */
  978. String timeStamp;
  979. };
  980. class Log
  981. {
  982. // Methods:
  983. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  984. void Open(const String&);
  985. void Close();
  986. void Write(const String&, bool = false);
  987. void Debug(const String&);
  988. void Info(const String&);
  989. void Warning(const String&);
  990. void Error(const String&);
  991. // Properties:
  992. /* (readonly) */
  993. int refs;
  994. /* (readonly) */
  995. int weakRefs;
  996. /* (readonly) */
  997. ShortStringHash type;
  998. /* (readonly) */
  999. ShortStringHash baseType;
  1000. /* (readonly) */
  1001. String typeName;
  1002. /* (readonly) */
  1003. String category;
  1004. int level;
  1005. bool timeStamp;
  1006. /* (readonly) */
  1007. String lastMessage;
  1008. bool quiet;
  1009. };
  1010. class Serializer
  1011. {
  1012. // Methods:
  1013. uint Write(Array<uint8>);
  1014. bool WriteInt(int);
  1015. bool WriteShort(int16);
  1016. bool WriteByte(int8);
  1017. bool WriteUInt(uint);
  1018. bool WriteUShort(uint16);
  1019. bool WriteUByte(uint8);
  1020. bool WriteBool(bool);
  1021. bool WriteFloat(float);
  1022. bool WriteIntRect(const IntRect&);
  1023. bool WriteIntVector2(const IntVector2&);
  1024. bool WriteVector2(const Vector2&);
  1025. bool WriteVector3(const Vector3&);
  1026. bool WritePackedVector3(const Vector3&, float);
  1027. bool WriteVector4(const Vector4&);
  1028. bool WriteQuaternion(const Quaternion&);
  1029. bool WritePackedQuaternion(const Quaternion&);
  1030. bool WriteColor(const Color&);
  1031. bool WriteBoundingBox(const BoundingBox&);
  1032. bool WriteString(const String&);
  1033. bool WriteFileID(const String&);
  1034. bool WriteStringHash(const StringHash&);
  1035. bool WriteShortStringHash(const ShortStringHash&);
  1036. bool WriteVariant(const Variant&);
  1037. bool WriteVariantMap(const VariantMap&);
  1038. bool WriteVLE(uint);
  1039. bool WriteNetID(uint);
  1040. bool WriteLine(const String&);
  1041. };
  1042. class Deserializer
  1043. {
  1044. // Methods:
  1045. Array<uint8> Read(uint);
  1046. int ReadInt();
  1047. int16 ReadShort();
  1048. int8 ReadByte();
  1049. uint ReadUInt();
  1050. uint16 ReadUShort();
  1051. uint8 ReadUByte();
  1052. bool ReadBool();
  1053. float ReadFloat();
  1054. IntRect ReadIntRect();
  1055. IntVector2 ReadIntVector2();
  1056. Vector2 ReadVector2();
  1057. Vector3 ReadVector3();
  1058. Vector3 ReadPackedVector3(float);
  1059. Vector4 ReadVector4();
  1060. Quaternion ReadQuaternion();
  1061. Quaternion ReadPackedQuaternion();
  1062. Color ReadColor();
  1063. BoundingBox ReadBoundingBox();
  1064. String ReadString();
  1065. String ReadFileID();
  1066. StringHash ReadStringHash();
  1067. ShortStringHash ReadShortStringHash();
  1068. Variant ReadVariant();
  1069. VariantMap ReadVariantMap();
  1070. uint ReadVLE();
  1071. uint ReadNetID();
  1072. String ReadLine();
  1073. uint Seek(uint);
  1074. // Properties:
  1075. /* (readonly) */
  1076. String name;
  1077. /* (readonly) */
  1078. uint checksum;
  1079. /* (readonly) */
  1080. uint position;
  1081. /* (readonly) */
  1082. uint size;
  1083. /* (readonly) */
  1084. bool eof;
  1085. };
  1086. class File
  1087. {
  1088. // Methods:
  1089. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1090. bool Open(const String&, FileMode = FILE_READ);
  1091. void Close();
  1092. uint Write(Array<uint8>);
  1093. bool WriteInt(int);
  1094. bool WriteShort(int16);
  1095. bool WriteByte(int8);
  1096. bool WriteUInt(uint);
  1097. bool WriteUShort(uint16);
  1098. bool WriteUByte(uint8);
  1099. bool WriteBool(bool);
  1100. bool WriteFloat(float);
  1101. bool WriteIntRect(const IntRect&);
  1102. bool WriteIntVector2(const IntVector2&);
  1103. bool WriteVector2(const Vector2&);
  1104. bool WriteVector3(const Vector3&);
  1105. bool WritePackedVector3(const Vector3&, float);
  1106. bool WriteVector4(const Vector4&);
  1107. bool WriteQuaternion(const Quaternion&);
  1108. bool WritePackedQuaternion(const Quaternion&);
  1109. bool WriteColor(const Color&);
  1110. bool WriteBoundingBox(const BoundingBox&);
  1111. bool WriteString(const String&);
  1112. bool WriteFileID(const String&);
  1113. bool WriteStringHash(const StringHash&);
  1114. bool WriteShortStringHash(const ShortStringHash&);
  1115. bool WriteVariant(const Variant&);
  1116. bool WriteVariantMap(const VariantMap&);
  1117. bool WriteVLE(uint);
  1118. bool WriteNetID(uint);
  1119. bool WriteLine(const String&);
  1120. Array<uint8> Read(uint);
  1121. int ReadInt();
  1122. int16 ReadShort();
  1123. int8 ReadByte();
  1124. uint ReadUInt();
  1125. uint16 ReadUShort();
  1126. uint8 ReadUByte();
  1127. bool ReadBool();
  1128. float ReadFloat();
  1129. IntRect ReadIntRect();
  1130. IntVector2 ReadIntVector2();
  1131. Vector2 ReadVector2();
  1132. Vector3 ReadVector3();
  1133. Vector3 ReadPackedVector3(float);
  1134. Vector4 ReadVector4();
  1135. Quaternion ReadQuaternion();
  1136. Quaternion ReadPackedQuaternion();
  1137. Color ReadColor();
  1138. BoundingBox ReadBoundingBox();
  1139. String ReadString();
  1140. String ReadFileID();
  1141. StringHash ReadStringHash();
  1142. ShortStringHash ReadShortStringHash();
  1143. Variant ReadVariant();
  1144. VariantMap ReadVariantMap();
  1145. uint ReadVLE();
  1146. uint ReadNetID();
  1147. String ReadLine();
  1148. uint Seek(uint);
  1149. // Properties:
  1150. /* (readonly) */
  1151. int refs;
  1152. /* (readonly) */
  1153. int weakRefs;
  1154. /* (readonly) */
  1155. ShortStringHash type;
  1156. /* (readonly) */
  1157. ShortStringHash baseType;
  1158. /* (readonly) */
  1159. String typeName;
  1160. /* (readonly) */
  1161. String category;
  1162. /* (readonly) */
  1163. FileMode mode;
  1164. /* (readonly) */
  1165. bool open;
  1166. /* (readonly) */
  1167. bool packaged;
  1168. /* (readonly) */
  1169. String name;
  1170. /* (readonly) */
  1171. uint checksum;
  1172. /* (readonly) */
  1173. uint position;
  1174. /* (readonly) */
  1175. uint size;
  1176. /* (readonly) */
  1177. bool eof;
  1178. };
  1179. class VectorBuffer
  1180. {
  1181. // Methods:
  1182. void SetData(Deserializer, uint);
  1183. void Clear();
  1184. void Resize(uint);
  1185. uint Write(Array<uint8>);
  1186. bool WriteInt(int);
  1187. bool WriteShort(int16);
  1188. bool WriteByte(int8);
  1189. bool WriteUInt(uint);
  1190. bool WriteUShort(uint16);
  1191. bool WriteUByte(uint8);
  1192. bool WriteBool(bool);
  1193. bool WriteFloat(float);
  1194. bool WriteIntRect(const IntRect&);
  1195. bool WriteIntVector2(const IntVector2&);
  1196. bool WriteVector2(const Vector2&);
  1197. bool WriteVector3(const Vector3&);
  1198. bool WritePackedVector3(const Vector3&, float);
  1199. bool WriteVector4(const Vector4&);
  1200. bool WriteQuaternion(const Quaternion&);
  1201. bool WritePackedQuaternion(const Quaternion&);
  1202. bool WriteColor(const Color&);
  1203. bool WriteBoundingBox(const BoundingBox&);
  1204. bool WriteString(const String&);
  1205. bool WriteFileID(const String&);
  1206. bool WriteStringHash(const StringHash&);
  1207. bool WriteShortStringHash(const ShortStringHash&);
  1208. bool WriteVariant(const Variant&);
  1209. bool WriteVariantMap(const VariantMap&);
  1210. bool WriteVLE(uint);
  1211. bool WriteNetID(uint);
  1212. bool WriteLine(const String&);
  1213. Array<uint8> Read(uint);
  1214. int ReadInt();
  1215. int16 ReadShort();
  1216. int8 ReadByte();
  1217. uint ReadUInt();
  1218. uint16 ReadUShort();
  1219. uint8 ReadUByte();
  1220. bool ReadBool();
  1221. float ReadFloat();
  1222. IntRect ReadIntRect();
  1223. IntVector2 ReadIntVector2();
  1224. Vector2 ReadVector2();
  1225. Vector3 ReadVector3();
  1226. Vector3 ReadPackedVector3(float);
  1227. Vector4 ReadVector4();
  1228. Quaternion ReadQuaternion();
  1229. Quaternion ReadPackedQuaternion();
  1230. Color ReadColor();
  1231. BoundingBox ReadBoundingBox();
  1232. String ReadString();
  1233. String ReadFileID();
  1234. StringHash ReadStringHash();
  1235. ShortStringHash ReadShortStringHash();
  1236. Variant ReadVariant();
  1237. VariantMap ReadVariantMap();
  1238. uint ReadVLE();
  1239. uint ReadNetID();
  1240. String ReadLine();
  1241. uint Seek(uint);
  1242. // Properties:
  1243. /* (readonly) */
  1244. String name;
  1245. /* (readonly) */
  1246. uint checksum;
  1247. /* (readonly) */
  1248. uint position;
  1249. /* (readonly) */
  1250. uint size;
  1251. /* (readonly) */
  1252. bool eof;
  1253. };
  1254. class FileSystem
  1255. {
  1256. // Methods:
  1257. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1258. bool FileExists(const String&) const;
  1259. bool DirExists(const String&) const;
  1260. uint GetLastModifiedTime(const String&) const;
  1261. Array<String> ScanDir(const String&, const String&, uint, bool) const;
  1262. bool CreateDir(const String&);
  1263. int SystemCommand(const String&);
  1264. int SystemRun(const String&, Array<String>);
  1265. bool SystemOpen(const String&, const String&);
  1266. bool Copy(const String&, const String&);
  1267. bool Rename(const String&, const String&);
  1268. bool Delete(const String&);
  1269. // Properties:
  1270. /* (readonly) */
  1271. int refs;
  1272. /* (readonly) */
  1273. int weakRefs;
  1274. /* (readonly) */
  1275. ShortStringHash type;
  1276. /* (readonly) */
  1277. ShortStringHash baseType;
  1278. /* (readonly) */
  1279. String typeName;
  1280. /* (readonly) */
  1281. String category;
  1282. String currentDir;
  1283. /* (readonly) */
  1284. String programDir;
  1285. /* (readonly) */
  1286. String userDocumentsDir;
  1287. };
  1288. class PackageFile
  1289. {
  1290. // Methods:
  1291. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1292. bool Open(const String&, uint = 0) const;
  1293. bool Exists(const String&) const;
  1294. bool compressed() const;
  1295. // Properties:
  1296. /* (readonly) */
  1297. int refs;
  1298. /* (readonly) */
  1299. int weakRefs;
  1300. /* (readonly) */
  1301. ShortStringHash type;
  1302. /* (readonly) */
  1303. ShortStringHash baseType;
  1304. /* (readonly) */
  1305. String typeName;
  1306. /* (readonly) */
  1307. String category;
  1308. /* (readonly) */
  1309. String name;
  1310. /* (readonly) */
  1311. uint numFiles;
  1312. /* (readonly) */
  1313. uint totalSize;
  1314. /* (readonly) */
  1315. uint checksum;
  1316. };
  1317. class Resource
  1318. {
  1319. // Methods:
  1320. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1321. bool Load(File);
  1322. bool Save(File) const;
  1323. // Properties:
  1324. /* (readonly) */
  1325. int refs;
  1326. /* (readonly) */
  1327. int weakRefs;
  1328. /* (readonly) */
  1329. ShortStringHash type;
  1330. /* (readonly) */
  1331. ShortStringHash baseType;
  1332. /* (readonly) */
  1333. String typeName;
  1334. /* (readonly) */
  1335. String category;
  1336. String name;
  1337. /* (readonly) */
  1338. uint memoryUse;
  1339. /* (readonly) */
  1340. uint useTimer;
  1341. };
  1342. class ResourceCache
  1343. {
  1344. // Methods:
  1345. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1346. bool AddResourceDir(const String&, uint = - 1);
  1347. void AddPackageFile(PackageFile, uint = - 1);
  1348. bool AddManualResource(Resource);
  1349. void RemoveResourceDir(const String&);
  1350. void RemovePackageFile(PackageFile, bool = true, bool = false);
  1351. void RemovePackageFile(const String&, bool = true, bool = false);
  1352. void ReleaseResource(const String&, const String&, bool = false);
  1353. void ReleaseResources(ShortStringHash, bool = false);
  1354. void ReleaseResources(const String&, const String&, bool = false);
  1355. void ReleaseResources(const String&, bool = false);
  1356. void ReleaseAllResources(bool = false);
  1357. bool ReloadResource(Resource);
  1358. bool Exists(const String&) const;
  1359. File GetFile(const String&);
  1360. String GetPreferredResourceDir(const String&) const;
  1361. String SanitateResourceName(const String&) const;
  1362. String SanitateResourceDirName(const String&) const;
  1363. String GetResourceFileName(const String&) const;
  1364. Resource GetResource(const String&, const String&);
  1365. Resource GetResource(ShortStringHash, const String&);
  1366. // Properties:
  1367. /* (readonly) */
  1368. int refs;
  1369. /* (readonly) */
  1370. int weakRefs;
  1371. /* (readonly) */
  1372. ShortStringHash type;
  1373. /* (readonly) */
  1374. ShortStringHash baseType;
  1375. /* (readonly) */
  1376. String typeName;
  1377. /* (readonly) */
  1378. String category;
  1379. Array<uint> memoryBudget;
  1380. /* (readonly) */
  1381. Array<uint> memoryUse;
  1382. /* (readonly) */
  1383. uint totalMemoryUse;
  1384. /* (readonly) */
  1385. Array<String> resourceDirs;
  1386. /* (readonly) */
  1387. Array<PackageFile> packageFiles;
  1388. /* (writeonly) */
  1389. bool searchPackagesFirst;
  1390. /* (readonly) */
  1391. bool seachPackagesFirst;
  1392. bool autoReloadResources;
  1393. };
  1394. class Image
  1395. {
  1396. // Methods:
  1397. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1398. bool Load(File);
  1399. bool Save(File) const;
  1400. void FlipVertical();
  1401. void SaveBMP(const String&);
  1402. void SavePNG(const String&);
  1403. void SaveTGA(const String&);
  1404. void SaveJPG(const String&, int);
  1405. // Properties:
  1406. /* (readonly) */
  1407. int refs;
  1408. /* (readonly) */
  1409. int weakRefs;
  1410. /* (readonly) */
  1411. ShortStringHash type;
  1412. /* (readonly) */
  1413. ShortStringHash baseType;
  1414. /* (readonly) */
  1415. String typeName;
  1416. /* (readonly) */
  1417. String category;
  1418. String name;
  1419. /* (readonly) */
  1420. uint memoryUse;
  1421. /* (readonly) */
  1422. uint useTimer;
  1423. /* (readonly) */
  1424. int width;
  1425. /* (readonly) */
  1426. int height;
  1427. /* (readonly) */
  1428. uint components;
  1429. /* (readonly) */
  1430. bool compressed;
  1431. };
  1432. class XMLFile
  1433. {
  1434. // Methods:
  1435. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1436. bool Load(File);
  1437. bool Save(File) const;
  1438. XMLElement CreateRoot(const String&);
  1439. XMLElement GetRoot(const String& = String ( ));
  1440. void Patch(XMLFile);
  1441. // Properties:
  1442. /* (readonly) */
  1443. int refs;
  1444. /* (readonly) */
  1445. int weakRefs;
  1446. /* (readonly) */
  1447. ShortStringHash type;
  1448. /* (readonly) */
  1449. ShortStringHash baseType;
  1450. /* (readonly) */
  1451. String typeName;
  1452. /* (readonly) */
  1453. String category;
  1454. String name;
  1455. /* (readonly) */
  1456. uint memoryUse;
  1457. /* (readonly) */
  1458. uint useTimer;
  1459. /* (readonly) */
  1460. XMLElement root;
  1461. };
  1462. class XMLElement
  1463. {
  1464. // Methods:
  1465. XMLElement CreateChild(const String&);
  1466. bool RemoveChild(const XMLElement&);
  1467. bool RemoveChild(const String&);
  1468. bool RemoveChildren(const String& = String ( ));
  1469. bool RemoveAttribute(const String& = String ( ));
  1470. XMLElement SelectSingle(const String&);
  1471. XMLElement SelectSinglePrepared(const XPathQuery&);
  1472. XPathResultSet Select(const String&);
  1473. XPathResultSet SelectPrepared(const XPathQuery&);
  1474. bool SetValue(const String&);
  1475. bool SetAttribute(const String&, const String&);
  1476. bool SetAttribute(const String&);
  1477. bool SetBool(const String&, bool);
  1478. bool SetBoundingBox(const BoundingBox&);
  1479. bool SetColor(const String&, const Color&);
  1480. bool SetFloat(const String&, float);
  1481. bool SetInt(const String&, int);
  1482. bool SetUInt(const String&, uint);
  1483. bool SetQuaternion(const String&, const Quaternion&);
  1484. bool SetVariant(const Variant&);
  1485. bool SetResourceRef(const String&, const ResourceRef&);
  1486. bool SetResourceRefList(const String&, const ResourceRefList&);
  1487. bool SetVariantVector(Array<Variant>);
  1488. bool SetVariantMap(const VariantMap&);
  1489. bool SetVector2(const String&, const Vector2&);
  1490. bool SetVector3(const String&, const Vector3&);
  1491. bool SetVector4(const String&, const Vector4&);
  1492. bool SetVectorVariant(const String&, const Variant&);
  1493. bool HasAttribute(const String&) const;
  1494. String GetValue() const;
  1495. String GetAttribute(const String& = String ( )) const;
  1496. String GetAttributeLower(const String&) const;
  1497. String GetAttributeUpper(const String&) const;
  1498. Array<String> GetAttributeNames() const;
  1499. bool HasChild(const String&) const;
  1500. XMLElement GetChild(const String& = String ( )) const;
  1501. XMLElement GetNext(const String& = String ( )) const;
  1502. bool GetBool(const String&) const;
  1503. BoundingBox GetBoundingBox() const;
  1504. Color GetColor(const String&) const;
  1505. float GetFloat(const String&) const;
  1506. uint GetUInt(const String&) const;
  1507. int GetInt(const String&) const;
  1508. Quaternion GetQuaternion(const String&) const;
  1509. Variant GetVariant() const;
  1510. ResourceRef GetResourceRef() const;
  1511. ResourceRefList GetResourceRefList() const;
  1512. Array<Variant> GetVariantVector() const;
  1513. VariantMap GetVariantMap() const;
  1514. Vector2 GetVector2(const String&) const;
  1515. Vector3 GetVector3(const String&) const;
  1516. Vector4 GetVector4(const String&) const;
  1517. Variant GetVectorVariant(const String&) const;
  1518. // Properties:
  1519. String value;
  1520. /* (readonly) */
  1521. String name;
  1522. /* (readonly) */
  1523. uint numAttributes;
  1524. /* (readonly) */
  1525. bool isNull;
  1526. /* (readonly) */
  1527. bool notNull;
  1528. /* (readonly) */
  1529. XMLElement parent;
  1530. /* (readonly) */
  1531. XMLFile file;
  1532. /* (readonly) */
  1533. XMLElement nextResult;
  1534. };
  1535. class XPathResultSet
  1536. {
  1537. // Properties:
  1538. /* (readonly) */
  1539. XMLElement firstResult;
  1540. /* (readonly) */
  1541. uint size;
  1542. /* (readonly) */
  1543. bool empty;
  1544. };
  1545. class XPathQuery
  1546. {
  1547. // Methods:
  1548. void Bind();
  1549. bool SetVariable(const String&, bool);
  1550. bool SetVariable(const String&, float);
  1551. bool SetVariable(const String&, const String&);
  1552. bool SetVariable(const String&, const XPathResultSet&);
  1553. bool SetQuery(const String&, const String& = String ( ), bool = true);
  1554. void Clear();
  1555. bool EvaluateToBool(XMLElement);
  1556. float EvaluateToFloat(XMLElement);
  1557. String EvaluateToString(XMLElement);
  1558. XPathResultSet Evaluate(XMLElement);
  1559. // Properties:
  1560. String query;
  1561. };
  1562. class Serializable
  1563. {
  1564. // Methods:
  1565. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1566. bool Load(File, bool = false);
  1567. bool Save(File) const;
  1568. bool LoadXML(const XMLElement&, bool = false);
  1569. bool SaveXML(XMLElement&) const;
  1570. void ApplyAttributes();
  1571. bool SetAttribute(const String&, const Variant&);
  1572. void ResetToDefault();
  1573. void RemoveInstanceDefault();
  1574. Variant GetAttribute(const String&) const;
  1575. Variant GetAttributeDefault(const String&) const;
  1576. // Properties:
  1577. /* (readonly) */
  1578. int refs;
  1579. /* (readonly) */
  1580. int weakRefs;
  1581. /* (readonly) */
  1582. ShortStringHash type;
  1583. /* (readonly) */
  1584. ShortStringHash baseType;
  1585. /* (readonly) */
  1586. String typeName;
  1587. /* (readonly) */
  1588. String category;
  1589. /* (readonly) */
  1590. uint numAttributes;
  1591. Array<Variant> attributes;
  1592. /* (readonly) */
  1593. Array<Variant> attributeDefaults;
  1594. /* (readonly) */
  1595. Array<AttributeInfo> attributeInfos;
  1596. bool temporary;
  1597. };
  1598. class Component
  1599. {
  1600. // Methods:
  1601. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1602. bool Load(File, bool = false);
  1603. bool Save(File) const;
  1604. bool LoadXML(const XMLElement&, bool = false);
  1605. bool SaveXML(XMLElement&) const;
  1606. void ApplyAttributes();
  1607. bool SetAttribute(const String&, const Variant&);
  1608. void ResetToDefault();
  1609. void RemoveInstanceDefault();
  1610. Variant GetAttribute(const String&) const;
  1611. Variant GetAttributeDefault(const String&) const;
  1612. void Remove();
  1613. void MarkNetworkUpdate() const;
  1614. void DrawDebugGeometry(DebugRenderer, bool);
  1615. // Properties:
  1616. /* (readonly) */
  1617. int refs;
  1618. /* (readonly) */
  1619. int weakRefs;
  1620. /* (readonly) */
  1621. ShortStringHash type;
  1622. /* (readonly) */
  1623. ShortStringHash baseType;
  1624. /* (readonly) */
  1625. String typeName;
  1626. /* (readonly) */
  1627. String category;
  1628. /* (readonly) */
  1629. uint numAttributes;
  1630. Array<Variant> attributes;
  1631. /* (readonly) */
  1632. Array<Variant> attributeDefaults;
  1633. /* (readonly) */
  1634. Array<AttributeInfo> attributeInfos;
  1635. bool temporary;
  1636. bool enabled;
  1637. /* (readonly) */
  1638. bool enabledEffective;
  1639. /* (readonly) */
  1640. uint id;
  1641. /* (readonly) */
  1642. Node node;
  1643. };
  1644. class Node
  1645. {
  1646. // Methods:
  1647. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1648. bool Load(File, bool = false);
  1649. bool Save(File) const;
  1650. bool LoadXML(const XMLElement&, bool = false);
  1651. bool SaveXML(XMLElement&) const;
  1652. void ApplyAttributes();
  1653. bool SetAttribute(const String&, const Variant&);
  1654. void ResetToDefault();
  1655. void RemoveInstanceDefault();
  1656. Variant GetAttribute(const String&) const;
  1657. Variant GetAttributeDefault(const String&) const;
  1658. void SetScale(float);
  1659. void SetTransform(const Vector3&, const Quaternion&);
  1660. void SetTransform(const Vector3&, const Quaternion&, float);
  1661. void SetTransform(const Vector3&, const Quaternion&, const Vector3&);
  1662. void SetWorldTransform(const Vector3&, const Quaternion&);
  1663. void SetWorldTransform(const Vector3&, const Quaternion&, float);
  1664. void SetWorldTransform(const Vector3&, const Quaternion&, const Vector3&);
  1665. void Translate(const Vector3&);
  1666. void TranslateRelative(const Vector3&);
  1667. void Rotate(const Quaternion&, bool = false);
  1668. void Pitch(float, bool = false);
  1669. void Yaw(float, bool = false);
  1670. void Roll(float, bool = false);
  1671. void LookAt(const Vector3&, const Vector3& = Vector3 ( 0 , 1 , 0 ));
  1672. void Scale(float);
  1673. void Scale(const Vector3&);
  1674. Node CreateChild(const String& = String ( ), CreateMode = REPLICATED, uint = 0);
  1675. void AddChild(Node);
  1676. void RemoveChild(Node);
  1677. void RemoveAllChildren();
  1678. void RemoveChildren(bool, bool, bool);
  1679. void Remove();
  1680. Component CreateComponent(const String&, CreateMode = REPLICATED, uint = 0);
  1681. Component GetOrCreateComponent(const String&, CreateMode = REPLICATED, uint = 0);
  1682. void RemoveComponent(Component);
  1683. void RemoveComponent(const String&);
  1684. void RemoveAllComponents();
  1685. void RemoveComponents(bool, bool);
  1686. Array<Node> GetChildren(bool = false) const;
  1687. Array<Node> GetChildrenWithComponent(const String&, bool = false) const;
  1688. Array<Node> GetChildrenWithScript(bool = false) const;
  1689. Array<Node> GetChildrenWithScript(const String&, bool = false) const;
  1690. Node GetChild(const String&, bool = false) const;
  1691. Array<Component> GetComponents() const;
  1692. Array<Component> GetComponents(const String&, bool = false) const;
  1693. Component GetComponent(const String&) const;
  1694. bool HasComponent(const String&) const;
  1695. Vector3 LocalToWorld(const Vector3&) const;
  1696. Vector3 LocalToWorld(const Vector4&) const;
  1697. Vector3 WorldToLocal(const Vector3&) const;
  1698. Vector3 WorldToLocal(const Vector4&) const;
  1699. void SetEnabled(bool, bool);
  1700. bool SaveXML(File);
  1701. Node Clone(CreateMode = REPLICATED);
  1702. ScriptObject CreateScriptObject(ScriptFile, const String&, CreateMode = REPLICATED);
  1703. ScriptObject CreateScriptObject(const String&, const String&, CreateMode = REPLICATED);
  1704. ScriptObject GetScriptObject() const;
  1705. ScriptObject GetScriptObject(const String&) const;
  1706. // Properties:
  1707. /* (readonly) */
  1708. int refs;
  1709. /* (readonly) */
  1710. int weakRefs;
  1711. /* (readonly) */
  1712. ShortStringHash type;
  1713. /* (readonly) */
  1714. ShortStringHash baseType;
  1715. /* (readonly) */
  1716. String typeName;
  1717. /* (readonly) */
  1718. String category;
  1719. /* (readonly) */
  1720. uint numAttributes;
  1721. Array<Variant> attributes;
  1722. /* (readonly) */
  1723. Array<Variant> attributeDefaults;
  1724. /* (readonly) */
  1725. Array<AttributeInfo> attributeInfos;
  1726. bool temporary;
  1727. Vector3 position;
  1728. Quaternion rotation;
  1729. Vector3 direction;
  1730. /* (readonly) */
  1731. Vector3 up;
  1732. /* (readonly) */
  1733. Vector3 right;
  1734. Vector3 scale;
  1735. Vector3 worldPosition;
  1736. Quaternion worldRotation;
  1737. Vector3 worldDirection;
  1738. /* (readonly) */
  1739. Vector3 worldUp;
  1740. /* (readonly) */
  1741. Vector3 worldRight;
  1742. Vector3 worldScale;
  1743. /* (readonly) */
  1744. Matrix3x4 transform;
  1745. /* (readonly) */
  1746. Matrix3x4 worldTransform;
  1747. /* (readonly) */
  1748. uint id;
  1749. /* (readonly) */
  1750. uint numChildren;
  1751. /* (readonly) */
  1752. uint numAllChildren;
  1753. /* (readonly) */
  1754. Array<Node> children;
  1755. /* (readonly) */
  1756. uint numComponents;
  1757. /* (readonly) */
  1758. Array<Component> components;
  1759. String name;
  1760. Node parent;
  1761. /* (readonly) */
  1762. VariantMap vars;
  1763. bool enabled;
  1764. /* (readonly) */
  1765. Scene scene;
  1766. Connection owner;
  1767. /* (readonly) */
  1768. ScriptObject scriptObject;
  1769. };
  1770. class SmoothedTransform
  1771. {
  1772. // Methods:
  1773. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1774. bool Load(File, bool = false);
  1775. bool Save(File) const;
  1776. bool LoadXML(const XMLElement&, bool = false);
  1777. bool SaveXML(XMLElement&) const;
  1778. void ApplyAttributes();
  1779. bool SetAttribute(const String&, const Variant&);
  1780. void ResetToDefault();
  1781. void RemoveInstanceDefault();
  1782. Variant GetAttribute(const String&) const;
  1783. Variant GetAttributeDefault(const String&) const;
  1784. void Remove();
  1785. void MarkNetworkUpdate() const;
  1786. void Update(float, float);
  1787. void DrawDebugGeometry(DebugRenderer, bool);
  1788. // Properties:
  1789. /* (readonly) */
  1790. int refs;
  1791. /* (readonly) */
  1792. int weakRefs;
  1793. /* (readonly) */
  1794. ShortStringHash type;
  1795. /* (readonly) */
  1796. ShortStringHash baseType;
  1797. /* (readonly) */
  1798. String typeName;
  1799. /* (readonly) */
  1800. String category;
  1801. /* (readonly) */
  1802. uint numAttributes;
  1803. Array<Variant> attributes;
  1804. /* (readonly) */
  1805. Array<Variant> attributeDefaults;
  1806. /* (readonly) */
  1807. Array<AttributeInfo> attributeInfos;
  1808. bool temporary;
  1809. bool enabled;
  1810. /* (readonly) */
  1811. bool enabledEffective;
  1812. /* (readonly) */
  1813. uint id;
  1814. /* (readonly) */
  1815. Node node;
  1816. Vector3 targetPosition;
  1817. Quaternion targetRotation;
  1818. Vector3 targetWorldPosition;
  1819. Quaternion targetWorldRotation;
  1820. /* (readonly) */
  1821. bool inProgress;
  1822. };
  1823. class Scene
  1824. {
  1825. // Methods:
  1826. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1827. bool Load(File, bool = false);
  1828. bool Save(File) const;
  1829. bool LoadXML(const XMLElement&, bool = false);
  1830. bool SaveXML(XMLElement&) const;
  1831. void ApplyAttributes();
  1832. bool SetAttribute(const String&, const Variant&);
  1833. void ResetToDefault();
  1834. void RemoveInstanceDefault();
  1835. Variant GetAttribute(const String&) const;
  1836. Variant GetAttributeDefault(const String&) const;
  1837. void SetScale(float);
  1838. void SetTransform(const Vector3&, const Quaternion&);
  1839. void SetTransform(const Vector3&, const Quaternion&, float);
  1840. void SetTransform(const Vector3&, const Quaternion&, const Vector3&);
  1841. void SetWorldTransform(const Vector3&, const Quaternion&);
  1842. void SetWorldTransform(const Vector3&, const Quaternion&, float);
  1843. void SetWorldTransform(const Vector3&, const Quaternion&, const Vector3&);
  1844. void Translate(const Vector3&);
  1845. void TranslateRelative(const Vector3&);
  1846. void Rotate(const Quaternion&, bool = false);
  1847. void Pitch(float, bool = false);
  1848. void Yaw(float, bool = false);
  1849. void Roll(float, bool = false);
  1850. void LookAt(const Vector3&, const Vector3& = Vector3 ( 0 , 1 , 0 ));
  1851. void Scale(float);
  1852. void Scale(const Vector3&);
  1853. Node CreateChild(const String& = String ( ), CreateMode = REPLICATED, uint = 0);
  1854. void AddChild(Node);
  1855. void RemoveChild(Node);
  1856. void RemoveAllChildren();
  1857. void RemoveChildren(bool, bool, bool);
  1858. void Remove();
  1859. Component CreateComponent(const String&, CreateMode = REPLICATED, uint = 0);
  1860. Component GetOrCreateComponent(const String&, CreateMode = REPLICATED, uint = 0);
  1861. void RemoveComponent(Component);
  1862. void RemoveComponent(const String&);
  1863. void RemoveAllComponents();
  1864. void RemoveComponents(bool, bool);
  1865. Array<Node> GetChildren(bool = false) const;
  1866. Array<Node> GetChildrenWithComponent(const String&, bool = false) const;
  1867. Array<Node> GetChildrenWithScript(bool = false) const;
  1868. Array<Node> GetChildrenWithScript(const String&, bool = false) const;
  1869. Node GetChild(const String&, bool = false) const;
  1870. Array<Component> GetComponents() const;
  1871. Array<Component> GetComponents(const String&, bool = false) const;
  1872. Component GetComponent(const String&) const;
  1873. bool HasComponent(const String&) const;
  1874. Vector3 LocalToWorld(const Vector3&) const;
  1875. Vector3 LocalToWorld(const Vector4&) const;
  1876. Vector3 WorldToLocal(const Vector3&) const;
  1877. Vector3 WorldToLocal(const Vector4&) const;
  1878. bool LoadXML(File);
  1879. bool SaveXML(File);
  1880. bool LoadAsync(File);
  1881. bool LoadAsyncXML(File);
  1882. void StopAsyncLoading();
  1883. Node Instantiate(File, const Vector3&, const Quaternion&, CreateMode = REPLICATED);
  1884. Node InstantiateXML(File, const Vector3&, const Quaternion&, CreateMode = REPLICATED);
  1885. Node InstantiateXML(XMLFile, const Vector3&, const Quaternion&, CreateMode = REPLICATED);
  1886. Node InstantiateXML(const XMLElement&, const Vector3&, const Quaternion&, CreateMode = REPLICATED);
  1887. void Clear(bool = true, bool = true);
  1888. void AddRequiredPackageFile(PackageFile);
  1889. void ClearRequiredPackageFiles();
  1890. void RegisterVar(const String&);
  1891. void UnregisterVar(const String&);
  1892. void UnregisterAllVars(const String&);
  1893. Component GetComponent(uint);
  1894. Node GetNode(uint);
  1895. const String& GetVarName(ShortStringHash) const;
  1896. void Update(float);
  1897. ScriptObject CreateScriptObject(ScriptFile, const String&, CreateMode = REPLICATED);
  1898. ScriptObject CreateScriptObject(const String&, const String&, CreateMode = REPLICATED);
  1899. ScriptObject GetScriptObject() const;
  1900. ScriptObject GetScriptObject(const String&) const;
  1901. // Properties:
  1902. /* (readonly) */
  1903. int refs;
  1904. /* (readonly) */
  1905. int weakRefs;
  1906. /* (readonly) */
  1907. ShortStringHash type;
  1908. /* (readonly) */
  1909. ShortStringHash baseType;
  1910. /* (readonly) */
  1911. String typeName;
  1912. /* (readonly) */
  1913. String category;
  1914. /* (readonly) */
  1915. uint numAttributes;
  1916. Array<Variant> attributes;
  1917. /* (readonly) */
  1918. Array<Variant> attributeDefaults;
  1919. /* (readonly) */
  1920. Array<AttributeInfo> attributeInfos;
  1921. bool temporary;
  1922. Vector3 position;
  1923. Quaternion rotation;
  1924. Vector3 direction;
  1925. /* (readonly) */
  1926. Vector3 up;
  1927. /* (readonly) */
  1928. Vector3 right;
  1929. Vector3 scale;
  1930. Vector3 worldPosition;
  1931. Quaternion worldRotation;
  1932. Vector3 worldDirection;
  1933. /* (readonly) */
  1934. Vector3 worldUp;
  1935. /* (readonly) */
  1936. Vector3 worldRight;
  1937. Vector3 worldScale;
  1938. /* (readonly) */
  1939. Matrix3x4 transform;
  1940. /* (readonly) */
  1941. Matrix3x4 worldTransform;
  1942. /* (readonly) */
  1943. uint id;
  1944. /* (readonly) */
  1945. uint numChildren;
  1946. /* (readonly) */
  1947. uint numAllChildren;
  1948. /* (readonly) */
  1949. Array<Node> children;
  1950. /* (readonly) */
  1951. uint numComponents;
  1952. /* (readonly) */
  1953. Array<Component> components;
  1954. String name;
  1955. Node parent;
  1956. /* (readonly) */
  1957. VariantMap vars;
  1958. bool updateEnabled;
  1959. float timeScale;
  1960. float elapsedTime;
  1961. float smoothingConstant;
  1962. float snapThreshold;
  1963. /* (readonly) */
  1964. bool asyncLoading;
  1965. /* (readonly) */
  1966. float asyncProgress;
  1967. /* (readonly) */
  1968. uint checksum;
  1969. /* (readonly) */
  1970. String fileName;
  1971. /* (readonly) */
  1972. Array<PackageFile> requiredPackageFiles;
  1973. /* (readonly) */
  1974. DebugRenderer debugRenderer;
  1975. /* (readonly) */
  1976. Octree octree;
  1977. /* (readonly) */
  1978. PhysicsWorld physicsWorld;
  1979. /* (readonly) */
  1980. ScriptObject scriptObject;
  1981. };
  1982. class Spline
  1983. {
  1984. // Methods:
  1985. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  1986. bool Load(File, bool = false);
  1987. bool Save(File) const;
  1988. bool LoadXML(const XMLElement&, bool = false);
  1989. bool SaveXML(XMLElement&) const;
  1990. void ApplyAttributes();
  1991. bool SetAttribute(const String&, const Variant&);
  1992. void ResetToDefault();
  1993. void RemoveInstanceDefault();
  1994. Variant GetAttribute(const String&) const;
  1995. Variant GetAttributeDefault(const String&) const;
  1996. void Remove();
  1997. void MarkNetworkUpdate() const;
  1998. void Push(const Vector3&);
  1999. void Pop();
  2000. Vector3 GetPoint(float) const;
  2001. void Move(float);
  2002. void Reset();
  2003. // Properties:
  2004. /* (readonly) */
  2005. int refs;
  2006. /* (readonly) */
  2007. int weakRefs;
  2008. /* (readonly) */
  2009. ShortStringHash type;
  2010. /* (readonly) */
  2011. ShortStringHash baseType;
  2012. /* (readonly) */
  2013. String typeName;
  2014. /* (readonly) */
  2015. String category;
  2016. /* (readonly) */
  2017. uint numAttributes;
  2018. Array<Variant> attributes;
  2019. /* (readonly) */
  2020. Array<Variant> attributeDefaults;
  2021. /* (readonly) */
  2022. Array<AttributeInfo> attributeInfos;
  2023. bool temporary;
  2024. bool enabled;
  2025. /* (readonly) */
  2026. bool enabledEffective;
  2027. /* (readonly) */
  2028. uint id;
  2029. /* (readonly) */
  2030. Node node;
  2031. Array<Vector3> controlPoints;
  2032. InterpolationMode interpolationMode;
  2033. float speed;
  2034. Vector3 position;
  2035. /* (readonly) */
  2036. bool finished;
  2037. };
  2038. class Bone
  2039. {
  2040. // Properties:
  2041. Node node;
  2042. String name;
  2043. Vector3 initialPosition;
  2044. Quaternion initialRotation;
  2045. Vector3 initialScale;
  2046. bool animated;
  2047. float radius;
  2048. BoundingBox boundingBox;
  2049. };
  2050. class Skeleton
  2051. {
  2052. // Methods:
  2053. void Reset();
  2054. Bone GetBone(const String&) const;
  2055. // Properties:
  2056. /* (readonly) */
  2057. Bone rootBone;
  2058. /* (readonly) */
  2059. uint numBones;
  2060. /* (readonly) */
  2061. Array<Bone> bones;
  2062. };
  2063. class DebugRenderer
  2064. {
  2065. // Methods:
  2066. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2067. bool Load(File, bool = false);
  2068. bool Save(File) const;
  2069. bool LoadXML(const XMLElement&, bool = false);
  2070. bool SaveXML(XMLElement&) const;
  2071. void ApplyAttributes();
  2072. bool SetAttribute(const String&, const Variant&);
  2073. void ResetToDefault();
  2074. void RemoveInstanceDefault();
  2075. Variant GetAttribute(const String&) const;
  2076. Variant GetAttributeDefault(const String&) const;
  2077. void Remove();
  2078. void MarkNetworkUpdate() const;
  2079. void AddLine(const Vector3&, const Vector3&, const Color&, bool = true);
  2080. void AddNode(Node, float = 1.0, bool = true);
  2081. void AddBoundingBox(const BoundingBox&, const Color&, bool = true);
  2082. void AddFrustum(const Frustum&, const Color&, bool = true);
  2083. void AddPolyhedron(const Polyhedron&, const Color&, bool = true);
  2084. void AddSphere(const Sphere&, const Color&, bool = true);
  2085. void AddSkeleton(Skeleton, const Color&, bool = true);
  2086. void DrawDebugGeometry(DebugRenderer, bool);
  2087. // Properties:
  2088. /* (readonly) */
  2089. int refs;
  2090. /* (readonly) */
  2091. int weakRefs;
  2092. /* (readonly) */
  2093. ShortStringHash type;
  2094. /* (readonly) */
  2095. ShortStringHash baseType;
  2096. /* (readonly) */
  2097. String typeName;
  2098. /* (readonly) */
  2099. String category;
  2100. /* (readonly) */
  2101. uint numAttributes;
  2102. Array<Variant> attributes;
  2103. /* (readonly) */
  2104. Array<Variant> attributeDefaults;
  2105. /* (readonly) */
  2106. Array<AttributeInfo> attributeInfos;
  2107. bool temporary;
  2108. bool enabled;
  2109. /* (readonly) */
  2110. bool enabledEffective;
  2111. /* (readonly) */
  2112. uint id;
  2113. /* (readonly) */
  2114. Node node;
  2115. };
  2116. class Camera
  2117. {
  2118. // Methods:
  2119. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2120. bool Load(File, bool = false);
  2121. bool Save(File) const;
  2122. bool LoadXML(const XMLElement&, bool = false);
  2123. bool SaveXML(XMLElement&) const;
  2124. void ApplyAttributes();
  2125. bool SetAttribute(const String&, const Variant&);
  2126. void ResetToDefault();
  2127. void RemoveInstanceDefault();
  2128. Variant GetAttribute(const String&) const;
  2129. Variant GetAttributeDefault(const String&) const;
  2130. void Remove();
  2131. void MarkNetworkUpdate() const;
  2132. void DrawDebugGeometry(DebugRenderer, bool);
  2133. void SetOrthoSize(const Vector2&);
  2134. Frustum GetSplitFrustum(float, float) const;
  2135. Ray GetScreenRay(float, float) const;
  2136. Vector2 WorldToScreenPoint(const Vector3&) const;
  2137. Vector3 ScreenToWorldPoint(const Vector3&) const;
  2138. float GetDistance(const Vector3&) const;
  2139. float GetDistanceSquared(const Vector3&) const;
  2140. // Properties:
  2141. /* (readonly) */
  2142. int refs;
  2143. /* (readonly) */
  2144. int weakRefs;
  2145. /* (readonly) */
  2146. ShortStringHash type;
  2147. /* (readonly) */
  2148. ShortStringHash baseType;
  2149. /* (readonly) */
  2150. String typeName;
  2151. /* (readonly) */
  2152. String category;
  2153. /* (readonly) */
  2154. uint numAttributes;
  2155. Array<Variant> attributes;
  2156. /* (readonly) */
  2157. Array<Variant> attributeDefaults;
  2158. /* (readonly) */
  2159. Array<AttributeInfo> attributeInfos;
  2160. bool temporary;
  2161. bool enabled;
  2162. /* (readonly) */
  2163. bool enabledEffective;
  2164. /* (readonly) */
  2165. uint id;
  2166. /* (readonly) */
  2167. Node node;
  2168. float nearClip;
  2169. float farClip;
  2170. float fov;
  2171. float orthoSize;
  2172. float aspectRatio;
  2173. float zoom;
  2174. float lodBias;
  2175. bool orthographic;
  2176. bool autoAspectRatio;
  2177. Vector2 projectionOffset;
  2178. bool useReflection;
  2179. Plane reflectionPlane;
  2180. bool useClipping;
  2181. Plane clipPlane;
  2182. uint viewMask;
  2183. uint viewOverrideFlags;
  2184. FillMode fillMode;
  2185. /* (readonly) */
  2186. Frustum frustum;
  2187. /* (readonly) */
  2188. Matrix4 projection;
  2189. /* (readonly) */
  2190. Matrix3x4 view;
  2191. /* (readonly) */
  2192. Frustum viewSpaceFrustum;
  2193. /* (readonly) */
  2194. float halfViewSize;
  2195. /* (readonly) */
  2196. Matrix3x4 effectiveWorldTransform;
  2197. };
  2198. class RenderTargetInfo
  2199. {
  2200. // Properties:
  2201. String name;
  2202. String tag;
  2203. uint format;
  2204. IntVector2 size;
  2205. RenderTargetSizeMode sizeMode;
  2206. bool enabled;
  2207. bool filtered;
  2208. bool sRGB;
  2209. };
  2210. class RenderPathCommand
  2211. {
  2212. // Methods:
  2213. void RemoveShaderParameter(const String&);
  2214. // Properties:
  2215. Array<String> textureNames;
  2216. Array<Variant> shaderParameters;
  2217. uint numOutputs;
  2218. Array<String> outputNames;
  2219. String tag;
  2220. RenderCommandType type;
  2221. RenderCommandSortMode sortMode;
  2222. String pass;
  2223. String metadata;
  2224. uint clearFlags;
  2225. Color clearColor;
  2226. float clearDepth;
  2227. uint clearStencil;
  2228. bool enabled;
  2229. bool useFogColor;
  2230. bool markToStencil;
  2231. bool vertexLights;
  2232. bool useLitBase;
  2233. bool useScissor;
  2234. String vertexShaderName;
  2235. String pixelShaderName;
  2236. };
  2237. class RenderPath
  2238. {
  2239. // Methods:
  2240. RenderPath Clone();
  2241. bool Load(XMLFile);
  2242. bool Append(XMLFile);
  2243. void SetEnabled(const String&, bool);
  2244. void ToggleEnabled(const String&);
  2245. void AddRenderTarget(const RenderTargetInfo&);
  2246. void RemoveRenderTarget(uint);
  2247. void RemoveRenderTarget(const String&);
  2248. void RemoveRenderTargts(const String&);
  2249. void AddCommand(const RenderPathCommand&);
  2250. void InsertCommand(uint, const RenderPathCommand&);
  2251. void RemoveCommand(uint);
  2252. void RemoveCommands(const String&);
  2253. // Properties:
  2254. /* (readonly) */
  2255. int refs;
  2256. /* (readonly) */
  2257. int weakRefs;
  2258. /* (readonly) */
  2259. uint numRenderTargets;
  2260. Array<RenderTargetInfo> renderTargets;
  2261. /* (readonly) */
  2262. uint numCommands;
  2263. Array<RenderPathCommand> commands;
  2264. Array<Variant> shaderParameters;
  2265. };
  2266. class Texture
  2267. {
  2268. // Methods:
  2269. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2270. bool Load(File);
  2271. bool Save(File) const;
  2272. void SetNumLevels(uint);
  2273. void ClearDataLost();
  2274. // Properties:
  2275. /* (readonly) */
  2276. int refs;
  2277. /* (readonly) */
  2278. int weakRefs;
  2279. /* (readonly) */
  2280. ShortStringHash type;
  2281. /* (readonly) */
  2282. ShortStringHash baseType;
  2283. /* (readonly) */
  2284. String typeName;
  2285. /* (readonly) */
  2286. String category;
  2287. String name;
  2288. /* (readonly) */
  2289. uint memoryUse;
  2290. /* (readonly) */
  2291. uint useTimer;
  2292. /* (readonly) */
  2293. TextureUsage usage;
  2294. /* (readonly) */
  2295. uint format;
  2296. /* (readonly) */
  2297. bool compressed;
  2298. /* (readonly) */
  2299. uint levels;
  2300. /* (readonly) */
  2301. int width;
  2302. /* (readonly) */
  2303. int height;
  2304. /* (readonly) */
  2305. Array<int> levelWidth;
  2306. /* (readonly) */
  2307. Array<int> levelHeight;
  2308. TextureFilterMode filterMode;
  2309. Array<TextureAddressMode> addressMode;
  2310. Color borderColor;
  2311. bool sRGB;
  2312. Texture backupTexture;
  2313. Array<int> mipsToSkip;
  2314. /* (readonly) */
  2315. bool dataLost;
  2316. };
  2317. class Viewport
  2318. {
  2319. // Methods:
  2320. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2321. void SetRenderPath(XMLFile);
  2322. // Properties:
  2323. /* (readonly) */
  2324. int refs;
  2325. /* (readonly) */
  2326. int weakRefs;
  2327. /* (readonly) */
  2328. ShortStringHash type;
  2329. /* (readonly) */
  2330. ShortStringHash baseType;
  2331. /* (readonly) */
  2332. String typeName;
  2333. /* (readonly) */
  2334. String category;
  2335. Scene scene;
  2336. Camera camera;
  2337. RenderPath renderPath;
  2338. IntRect rect;
  2339. };
  2340. class RenderSurface
  2341. {
  2342. // Methods:
  2343. void QueueUpdate();
  2344. // Properties:
  2345. /* (readonly) */
  2346. Texture parentTexture;
  2347. /* (readonly) */
  2348. int width;
  2349. /* (readonly) */
  2350. int height;
  2351. /* (readonly) */
  2352. TextureUsage usage;
  2353. uint numViewports;
  2354. Array<Viewport> viewports;
  2355. RenderSurfaceUpdateMode updateMode;
  2356. RenderSurface linkedRenderTarget;
  2357. RenderSurface linkedDepthStencil;
  2358. };
  2359. class Texture2D
  2360. {
  2361. // Methods:
  2362. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2363. bool Load(File);
  2364. bool Save(File) const;
  2365. void SetNumLevels(uint);
  2366. void ClearDataLost();
  2367. bool SetSize(int, int, uint, TextureUsage = TEXTURE_STATIC);
  2368. bool Load(Image, bool = false);
  2369. // Properties:
  2370. /* (readonly) */
  2371. int refs;
  2372. /* (readonly) */
  2373. int weakRefs;
  2374. /* (readonly) */
  2375. ShortStringHash type;
  2376. /* (readonly) */
  2377. ShortStringHash baseType;
  2378. /* (readonly) */
  2379. String typeName;
  2380. /* (readonly) */
  2381. String category;
  2382. String name;
  2383. /* (readonly) */
  2384. uint memoryUse;
  2385. /* (readonly) */
  2386. uint useTimer;
  2387. /* (readonly) */
  2388. TextureUsage usage;
  2389. /* (readonly) */
  2390. uint format;
  2391. /* (readonly) */
  2392. bool compressed;
  2393. /* (readonly) */
  2394. uint levels;
  2395. /* (readonly) */
  2396. int width;
  2397. /* (readonly) */
  2398. int height;
  2399. /* (readonly) */
  2400. Array<int> levelWidth;
  2401. /* (readonly) */
  2402. Array<int> levelHeight;
  2403. TextureFilterMode filterMode;
  2404. Array<TextureAddressMode> addressMode;
  2405. Color borderColor;
  2406. bool sRGB;
  2407. Texture backupTexture;
  2408. Array<int> mipsToSkip;
  2409. /* (readonly) */
  2410. bool dataLost;
  2411. /* (readonly) */
  2412. RenderSurface renderSurface;
  2413. };
  2414. class TextureCube
  2415. {
  2416. // Methods:
  2417. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2418. bool Load(File);
  2419. bool Save(File) const;
  2420. void SetNumLevels(uint);
  2421. void ClearDataLost();
  2422. bool SetSize(int, uint, TextureUsage = TEXTURE_STATIC);
  2423. bool Load(CubeMapFace, Image, bool = false);
  2424. // Properties:
  2425. /* (readonly) */
  2426. int refs;
  2427. /* (readonly) */
  2428. int weakRefs;
  2429. /* (readonly) */
  2430. ShortStringHash type;
  2431. /* (readonly) */
  2432. ShortStringHash baseType;
  2433. /* (readonly) */
  2434. String typeName;
  2435. /* (readonly) */
  2436. String category;
  2437. String name;
  2438. /* (readonly) */
  2439. uint memoryUse;
  2440. /* (readonly) */
  2441. uint useTimer;
  2442. /* (readonly) */
  2443. TextureUsage usage;
  2444. /* (readonly) */
  2445. uint format;
  2446. /* (readonly) */
  2447. bool compressed;
  2448. /* (readonly) */
  2449. uint levels;
  2450. /* (readonly) */
  2451. int width;
  2452. /* (readonly) */
  2453. int height;
  2454. /* (readonly) */
  2455. Array<int> levelWidth;
  2456. /* (readonly) */
  2457. Array<int> levelHeight;
  2458. TextureFilterMode filterMode;
  2459. Array<TextureAddressMode> addressMode;
  2460. Color borderColor;
  2461. bool sRGB;
  2462. Texture backupTexture;
  2463. Array<int> mipsToSkip;
  2464. /* (readonly) */
  2465. bool dataLost;
  2466. /* (readonly) */
  2467. Array<RenderSurface> renderSurfaces;
  2468. };
  2469. class BiasParameters
  2470. {
  2471. // Properties:
  2472. float constantBias;
  2473. float slopeScaledBias;
  2474. };
  2475. class Pass
  2476. {
  2477. // Properties:
  2478. /* (readonly) */
  2479. int refs;
  2480. /* (readonly) */
  2481. int weakRefs;
  2482. BlendMode blendMode;
  2483. CompareMode depthTestMode;
  2484. PassLightingMode lightingMode;
  2485. bool depthWrite;
  2486. bool alphaMask;
  2487. String vertexShader;
  2488. String pixelShader;
  2489. };
  2490. class Technique
  2491. {
  2492. // Methods:
  2493. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2494. bool Load(File);
  2495. bool Save(File) const;
  2496. Pass CreatePass(StringHash);
  2497. void RemovePass(StringHash);
  2498. bool HasPass(StringHash) const;
  2499. // Properties:
  2500. /* (readonly) */
  2501. int refs;
  2502. /* (readonly) */
  2503. int weakRefs;
  2504. /* (readonly) */
  2505. ShortStringHash type;
  2506. /* (readonly) */
  2507. ShortStringHash baseType;
  2508. /* (readonly) */
  2509. String typeName;
  2510. /* (readonly) */
  2511. String category;
  2512. String name;
  2513. /* (readonly) */
  2514. uint memoryUse;
  2515. /* (readonly) */
  2516. uint useTimer;
  2517. bool sm3;
  2518. /* (readonly) */
  2519. Array<Pass> passes;
  2520. };
  2521. class TechniqueEntry
  2522. {
  2523. // Properties:
  2524. Technique technique;
  2525. int qualityLevel;
  2526. float lodDistance;
  2527. };
  2528. class Material
  2529. {
  2530. // Methods:
  2531. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2532. bool Load(File);
  2533. bool Save(File) const;
  2534. bool Load(const XMLElement&);
  2535. bool Save(XMLElement&) const;
  2536. void SetTechnique(uint, Technique, uint = 0, float = 0.0);
  2537. void SetUVTransform(const Vector2&, float, const Vector2&);
  2538. void SetUVTransform(const Vector2&, float, float);
  2539. void RemoveShaderParameter(const String&);
  2540. void SortTechniques();
  2541. Material Clone(const String& = String ( )) const;
  2542. // Properties:
  2543. /* (readonly) */
  2544. int refs;
  2545. /* (readonly) */
  2546. int weakRefs;
  2547. /* (readonly) */
  2548. ShortStringHash type;
  2549. /* (readonly) */
  2550. ShortStringHash baseType;
  2551. /* (readonly) */
  2552. String typeName;
  2553. /* (readonly) */
  2554. String category;
  2555. String name;
  2556. /* (readonly) */
  2557. uint memoryUse;
  2558. /* (readonly) */
  2559. uint useTimer;
  2560. uint numTechniques;
  2561. /* (readonly) */
  2562. Array<Technique> techniques;
  2563. /* (readonly) */
  2564. Array<TechniqueEntry> techniqueEntries;
  2565. Array<Variant> shaderParameters;
  2566. /* (readonly) */
  2567. Array<String> shaderParameterNames;
  2568. Array<Texture> textures;
  2569. /* (readonly) */
  2570. bool occlusion;
  2571. CullMode cullMode;
  2572. CullMode shadowCullMode;
  2573. BiasParameters depthBias;
  2574. };
  2575. class Model
  2576. {
  2577. // Methods:
  2578. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2579. bool Load(File);
  2580. bool Save(File) const;
  2581. // Properties:
  2582. /* (readonly) */
  2583. int refs;
  2584. /* (readonly) */
  2585. int weakRefs;
  2586. /* (readonly) */
  2587. ShortStringHash type;
  2588. /* (readonly) */
  2589. ShortStringHash baseType;
  2590. /* (readonly) */
  2591. String typeName;
  2592. /* (readonly) */
  2593. String category;
  2594. String name;
  2595. /* (readonly) */
  2596. uint memoryUse;
  2597. /* (readonly) */
  2598. uint useTimer;
  2599. /* (readonly) */
  2600. BoundingBox boundingBox;
  2601. /* (readonly) */
  2602. Skeleton skeleton;
  2603. /* (readonly) */
  2604. uint numGeometries;
  2605. /* (readonly) */
  2606. Array<uint> numGeometryLodLevels;
  2607. /* (readonly) */
  2608. uint numMorphs;
  2609. };
  2610. class AnimationTriggerPoint
  2611. {
  2612. // Properties:
  2613. float time;
  2614. Variant data;
  2615. };
  2616. class Animation
  2617. {
  2618. // Methods:
  2619. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2620. bool Load(File);
  2621. bool Save(File) const;
  2622. void AddTrigger(float, bool, const Variant&);
  2623. void RemoveTrigger(uint);
  2624. void RemoveAllTriggers();
  2625. // Properties:
  2626. /* (readonly) */
  2627. int refs;
  2628. /* (readonly) */
  2629. int weakRefs;
  2630. /* (readonly) */
  2631. ShortStringHash type;
  2632. /* (readonly) */
  2633. ShortStringHash baseType;
  2634. /* (readonly) */
  2635. String typeName;
  2636. /* (readonly) */
  2637. String category;
  2638. String name;
  2639. /* (readonly) */
  2640. uint memoryUse;
  2641. /* (readonly) */
  2642. uint useTimer;
  2643. /* (readonly) */
  2644. String animationName;
  2645. /* (readonly) */
  2646. float length;
  2647. /* (readonly) */
  2648. uint numTracks;
  2649. uint numTriggers;
  2650. /* (readonly) */
  2651. Array<AnimationTriggerPoint> triggers;
  2652. };
  2653. class Drawable
  2654. {
  2655. // Methods:
  2656. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2657. bool Load(File, bool = false);
  2658. bool Save(File) const;
  2659. bool LoadXML(const XMLElement&, bool = false);
  2660. bool SaveXML(XMLElement&) const;
  2661. void ApplyAttributes();
  2662. bool SetAttribute(const String&, const Variant&);
  2663. void ResetToDefault();
  2664. void RemoveInstanceDefault();
  2665. Variant GetAttribute(const String&) const;
  2666. Variant GetAttributeDefault(const String&) const;
  2667. void Remove();
  2668. void MarkNetworkUpdate() const;
  2669. void DrawDebugGeometry(DebugRenderer, bool);
  2670. // Properties:
  2671. /* (readonly) */
  2672. int refs;
  2673. /* (readonly) */
  2674. int weakRefs;
  2675. /* (readonly) */
  2676. ShortStringHash type;
  2677. /* (readonly) */
  2678. ShortStringHash baseType;
  2679. /* (readonly) */
  2680. String typeName;
  2681. /* (readonly) */
  2682. String category;
  2683. /* (readonly) */
  2684. uint numAttributes;
  2685. Array<Variant> attributes;
  2686. /* (readonly) */
  2687. Array<Variant> attributeDefaults;
  2688. /* (readonly) */
  2689. Array<AttributeInfo> attributeInfos;
  2690. bool temporary;
  2691. bool enabled;
  2692. /* (readonly) */
  2693. bool enabledEffective;
  2694. /* (readonly) */
  2695. uint id;
  2696. /* (readonly) */
  2697. Node node;
  2698. /* (readonly) */
  2699. bool inView;
  2700. bool castShadows;
  2701. bool occluder;
  2702. bool occludee;
  2703. float drawDistance;
  2704. float shadowDistance;
  2705. float lodBias;
  2706. uint viewMask;
  2707. uint lightMask;
  2708. uint shadowMask;
  2709. uint zoneMask;
  2710. uint maxLights;
  2711. /* (readonly) */
  2712. BoundingBox boundingBox;
  2713. /* (readonly) */
  2714. BoundingBox worldBoundingBox;
  2715. };
  2716. class CascadeParameters
  2717. {
  2718. // Properties:
  2719. float split1;
  2720. float split2;
  2721. float split3;
  2722. float split4;
  2723. float fadeStart;
  2724. float biasAutoAdjust;
  2725. };
  2726. class FocusParameters
  2727. {
  2728. // Properties:
  2729. bool focus;
  2730. bool nonUniform;
  2731. bool autoSize;
  2732. float quantize;
  2733. float minView;
  2734. };
  2735. class Light
  2736. {
  2737. // Methods:
  2738. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2739. bool Load(File, bool = false);
  2740. bool Save(File) const;
  2741. bool LoadXML(const XMLElement&, bool = false);
  2742. bool SaveXML(XMLElement&) const;
  2743. void ApplyAttributes();
  2744. bool SetAttribute(const String&, const Variant&);
  2745. void ResetToDefault();
  2746. void RemoveInstanceDefault();
  2747. Variant GetAttribute(const String&) const;
  2748. Variant GetAttributeDefault(const String&) const;
  2749. void Remove();
  2750. void MarkNetworkUpdate() const;
  2751. void DrawDebugGeometry(DebugRenderer, bool);
  2752. // Properties:
  2753. /* (readonly) */
  2754. int refs;
  2755. /* (readonly) */
  2756. int weakRefs;
  2757. /* (readonly) */
  2758. ShortStringHash type;
  2759. /* (readonly) */
  2760. ShortStringHash baseType;
  2761. /* (readonly) */
  2762. String typeName;
  2763. /* (readonly) */
  2764. String category;
  2765. /* (readonly) */
  2766. uint numAttributes;
  2767. Array<Variant> attributes;
  2768. /* (readonly) */
  2769. Array<Variant> attributeDefaults;
  2770. /* (readonly) */
  2771. Array<AttributeInfo> attributeInfos;
  2772. bool temporary;
  2773. bool enabled;
  2774. /* (readonly) */
  2775. bool enabledEffective;
  2776. /* (readonly) */
  2777. uint id;
  2778. /* (readonly) */
  2779. Node node;
  2780. /* (readonly) */
  2781. bool inView;
  2782. bool castShadows;
  2783. bool occluder;
  2784. bool occludee;
  2785. float drawDistance;
  2786. float shadowDistance;
  2787. float lodBias;
  2788. uint viewMask;
  2789. uint lightMask;
  2790. uint shadowMask;
  2791. uint zoneMask;
  2792. uint maxLights;
  2793. /* (readonly) */
  2794. BoundingBox boundingBox;
  2795. /* (readonly) */
  2796. BoundingBox worldBoundingBox;
  2797. LightType lightType;
  2798. bool perVertex;
  2799. Color color;
  2800. float specularIntensity;
  2801. float range;
  2802. float fov;
  2803. float aspectRatio;
  2804. float fadeDistance;
  2805. BiasParameters shadowBias;
  2806. CascadeParameters shadowCascade;
  2807. FocusParameters shadowFocus;
  2808. float shadowFadeDistance;
  2809. float shadowIntensity;
  2810. float shadowResolution;
  2811. float shadowNearFarRatio;
  2812. Texture rampTexture;
  2813. Texture shapeTexture;
  2814. /* (readonly) */
  2815. Frustum frustum;
  2816. };
  2817. class Zone
  2818. {
  2819. // Methods:
  2820. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2821. bool Load(File, bool = false);
  2822. bool Save(File) const;
  2823. bool LoadXML(const XMLElement&, bool = false);
  2824. bool SaveXML(XMLElement&) const;
  2825. void ApplyAttributes();
  2826. bool SetAttribute(const String&, const Variant&);
  2827. void ResetToDefault();
  2828. void RemoveInstanceDefault();
  2829. Variant GetAttribute(const String&) const;
  2830. Variant GetAttributeDefault(const String&) const;
  2831. void Remove();
  2832. void MarkNetworkUpdate() const;
  2833. void DrawDebugGeometry(DebugRenderer, bool);
  2834. // Properties:
  2835. /* (readonly) */
  2836. int refs;
  2837. /* (readonly) */
  2838. int weakRefs;
  2839. /* (readonly) */
  2840. ShortStringHash type;
  2841. /* (readonly) */
  2842. ShortStringHash baseType;
  2843. /* (readonly) */
  2844. String typeName;
  2845. /* (readonly) */
  2846. String category;
  2847. /* (readonly) */
  2848. uint numAttributes;
  2849. Array<Variant> attributes;
  2850. /* (readonly) */
  2851. Array<Variant> attributeDefaults;
  2852. /* (readonly) */
  2853. Array<AttributeInfo> attributeInfos;
  2854. bool temporary;
  2855. bool enabled;
  2856. /* (readonly) */
  2857. bool enabledEffective;
  2858. /* (readonly) */
  2859. uint id;
  2860. /* (readonly) */
  2861. Node node;
  2862. /* (readonly) */
  2863. bool inView;
  2864. bool castShadows;
  2865. bool occluder;
  2866. bool occludee;
  2867. float drawDistance;
  2868. float shadowDistance;
  2869. float lodBias;
  2870. uint viewMask;
  2871. uint lightMask;
  2872. uint shadowMask;
  2873. uint zoneMask;
  2874. uint maxLights;
  2875. BoundingBox boundingBox;
  2876. /* (readonly) */
  2877. BoundingBox worldBoundingBox;
  2878. /* (readonly) */
  2879. Matrix3x4 inverseWorldTransform;
  2880. Color ambientColor;
  2881. /* (readonly) */
  2882. Color ambientStartColor;
  2883. /* (readonly) */
  2884. Color ambientEndColor;
  2885. Color fogColor;
  2886. float fogStart;
  2887. float fogEnd;
  2888. int priority;
  2889. bool override;
  2890. bool ambientGradient;
  2891. };
  2892. class StaticModel
  2893. {
  2894. // Methods:
  2895. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2896. bool Load(File, bool = false);
  2897. bool Save(File) const;
  2898. bool LoadXML(const XMLElement&, bool = false);
  2899. bool SaveXML(XMLElement&) const;
  2900. void ApplyAttributes();
  2901. bool SetAttribute(const String&, const Variant&);
  2902. void ResetToDefault();
  2903. void RemoveInstanceDefault();
  2904. Variant GetAttribute(const String&) const;
  2905. Variant GetAttributeDefault(const String&) const;
  2906. void Remove();
  2907. void MarkNetworkUpdate() const;
  2908. void DrawDebugGeometry(DebugRenderer, bool);
  2909. void ApplyMaterialList(const String& = String ( ));
  2910. bool IsInside(const Vector3&) const;
  2911. bool IsInsideLocal(const Vector3&) const;
  2912. // Properties:
  2913. /* (readonly) */
  2914. int refs;
  2915. /* (readonly) */
  2916. int weakRefs;
  2917. /* (readonly) */
  2918. ShortStringHash type;
  2919. /* (readonly) */
  2920. ShortStringHash baseType;
  2921. /* (readonly) */
  2922. String typeName;
  2923. /* (readonly) */
  2924. String category;
  2925. /* (readonly) */
  2926. uint numAttributes;
  2927. Array<Variant> attributes;
  2928. /* (readonly) */
  2929. Array<Variant> attributeDefaults;
  2930. /* (readonly) */
  2931. Array<AttributeInfo> attributeInfos;
  2932. bool temporary;
  2933. bool enabled;
  2934. /* (readonly) */
  2935. bool enabledEffective;
  2936. /* (readonly) */
  2937. uint id;
  2938. /* (readonly) */
  2939. Node node;
  2940. /* (readonly) */
  2941. bool inView;
  2942. bool castShadows;
  2943. bool occluder;
  2944. bool occludee;
  2945. float drawDistance;
  2946. float shadowDistance;
  2947. float lodBias;
  2948. uint viewMask;
  2949. uint lightMask;
  2950. uint shadowMask;
  2951. uint zoneMask;
  2952. uint maxLights;
  2953. /* (readonly) */
  2954. BoundingBox boundingBox;
  2955. /* (readonly) */
  2956. BoundingBox worldBoundingBox;
  2957. Model model;
  2958. /* (writeonly) */
  2959. Material material;
  2960. Array<Material> materials;
  2961. /* (readonly) */
  2962. uint numGeometries;
  2963. uint occlusionLodLevel;
  2964. };
  2965. class StaticModelGroup
  2966. {
  2967. // Methods:
  2968. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  2969. bool Load(File, bool = false);
  2970. bool Save(File) const;
  2971. bool LoadXML(const XMLElement&, bool = false);
  2972. bool SaveXML(XMLElement&) const;
  2973. void ApplyAttributes();
  2974. bool SetAttribute(const String&, const Variant&);
  2975. void ResetToDefault();
  2976. void RemoveInstanceDefault();
  2977. Variant GetAttribute(const String&) const;
  2978. Variant GetAttributeDefault(const String&) const;
  2979. void Remove();
  2980. void MarkNetworkUpdate() const;
  2981. void DrawDebugGeometry(DebugRenderer, bool);
  2982. void ApplyMaterialList(const String& = String ( ));
  2983. void AddInstanceNode(Node);
  2984. void RemoveInstanceNode(Node);
  2985. void RemoveAllInstanceNodes();
  2986. // Properties:
  2987. /* (readonly) */
  2988. int refs;
  2989. /* (readonly) */
  2990. int weakRefs;
  2991. /* (readonly) */
  2992. ShortStringHash type;
  2993. /* (readonly) */
  2994. ShortStringHash baseType;
  2995. /* (readonly) */
  2996. String typeName;
  2997. /* (readonly) */
  2998. String category;
  2999. /* (readonly) */
  3000. uint numAttributes;
  3001. Array<Variant> attributes;
  3002. /* (readonly) */
  3003. Array<Variant> attributeDefaults;
  3004. /* (readonly) */
  3005. Array<AttributeInfo> attributeInfos;
  3006. bool temporary;
  3007. bool enabled;
  3008. /* (readonly) */
  3009. bool enabledEffective;
  3010. /* (readonly) */
  3011. uint id;
  3012. /* (readonly) */
  3013. Node node;
  3014. /* (readonly) */
  3015. bool inView;
  3016. bool castShadows;
  3017. bool occluder;
  3018. bool occludee;
  3019. float drawDistance;
  3020. float shadowDistance;
  3021. float lodBias;
  3022. uint viewMask;
  3023. uint lightMask;
  3024. uint shadowMask;
  3025. uint zoneMask;
  3026. uint maxLights;
  3027. /* (readonly) */
  3028. BoundingBox boundingBox;
  3029. /* (readonly) */
  3030. BoundingBox worldBoundingBox;
  3031. Model model;
  3032. /* (writeonly) */
  3033. Material material;
  3034. Array<Material> materials;
  3035. /* (readonly) */
  3036. uint numGeometries;
  3037. /* (readonly) */
  3038. Zone zone;
  3039. uint occlusionLodLevel;
  3040. /* (readonly) */
  3041. uint numInstanceNodes;
  3042. /* (readonly) */
  3043. Array<Node> instanceNodes;
  3044. };
  3045. class Skybox
  3046. {
  3047. // Methods:
  3048. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3049. bool Load(File, bool = false);
  3050. bool Save(File) const;
  3051. bool LoadXML(const XMLElement&, bool = false);
  3052. bool SaveXML(XMLElement&) const;
  3053. void ApplyAttributes();
  3054. bool SetAttribute(const String&, const Variant&);
  3055. void ResetToDefault();
  3056. void RemoveInstanceDefault();
  3057. Variant GetAttribute(const String&) const;
  3058. Variant GetAttributeDefault(const String&) const;
  3059. void Remove();
  3060. void MarkNetworkUpdate() const;
  3061. void DrawDebugGeometry(DebugRenderer, bool);
  3062. void ApplyMaterialList(const String& = String ( ));
  3063. // Properties:
  3064. /* (readonly) */
  3065. int refs;
  3066. /* (readonly) */
  3067. int weakRefs;
  3068. /* (readonly) */
  3069. ShortStringHash type;
  3070. /* (readonly) */
  3071. ShortStringHash baseType;
  3072. /* (readonly) */
  3073. String typeName;
  3074. /* (readonly) */
  3075. String category;
  3076. /* (readonly) */
  3077. uint numAttributes;
  3078. Array<Variant> attributes;
  3079. /* (readonly) */
  3080. Array<Variant> attributeDefaults;
  3081. /* (readonly) */
  3082. Array<AttributeInfo> attributeInfos;
  3083. bool temporary;
  3084. bool enabled;
  3085. /* (readonly) */
  3086. bool enabledEffective;
  3087. /* (readonly) */
  3088. uint id;
  3089. /* (readonly) */
  3090. Node node;
  3091. /* (readonly) */
  3092. bool inView;
  3093. bool castShadows;
  3094. bool occluder;
  3095. bool occludee;
  3096. float drawDistance;
  3097. float shadowDistance;
  3098. float lodBias;
  3099. uint viewMask;
  3100. uint lightMask;
  3101. uint shadowMask;
  3102. uint zoneMask;
  3103. uint maxLights;
  3104. /* (readonly) */
  3105. BoundingBox boundingBox;
  3106. /* (readonly) */
  3107. BoundingBox worldBoundingBox;
  3108. Model model;
  3109. /* (writeonly) */
  3110. Material material;
  3111. Array<Material> materials;
  3112. /* (readonly) */
  3113. uint numGeometries;
  3114. /* (readonly) */
  3115. Zone zone;
  3116. };
  3117. class AnimationState
  3118. {
  3119. // Methods:
  3120. void AddWeight(float);
  3121. void AddTime(float);
  3122. void Apply();
  3123. void SetBoneWeight(uint, float, bool = false);
  3124. void SetBoneWeight(const String&, float, bool = false);
  3125. void SetBoneWeight(StringHash, float, bool = false);
  3126. float GetBoneWeight(uint) const;
  3127. float GetBoneWeight(StringHash) const;
  3128. uint GetTrackIndex(const String&) const;
  3129. uint GetTrackIndex(StringHash) const;
  3130. // Properties:
  3131. /* (readonly) */
  3132. int refs;
  3133. /* (readonly) */
  3134. int weakRefs;
  3135. Bone startBone;
  3136. bool looped;
  3137. float weight;
  3138. float time;
  3139. uint8 layer;
  3140. /* (readonly) */
  3141. Animation animation;
  3142. /* (readonly) */
  3143. AnimatedModel model;
  3144. /* (readonly) */
  3145. Node node;
  3146. /* (readonly) */
  3147. bool enabled;
  3148. /* (readonly) */
  3149. float length;
  3150. Array<float> boneWeights;
  3151. };
  3152. class AnimatedModel
  3153. {
  3154. // Methods:
  3155. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3156. bool Load(File, bool = false);
  3157. bool Save(File) const;
  3158. bool LoadXML(const XMLElement&, bool = false);
  3159. bool SaveXML(XMLElement&) const;
  3160. void ApplyAttributes();
  3161. bool SetAttribute(const String&, const Variant&);
  3162. void ResetToDefault();
  3163. void RemoveInstanceDefault();
  3164. Variant GetAttribute(const String&) const;
  3165. Variant GetAttributeDefault(const String&) const;
  3166. void Remove();
  3167. void MarkNetworkUpdate() const;
  3168. void DrawDebugGeometry(DebugRenderer, bool);
  3169. void ApplyMaterialList(const String& = String ( ));
  3170. AnimationState AddAnimationState(Animation);
  3171. void RemoveAnimationState(Animation);
  3172. void RemoveAnimationState(const String&);
  3173. void RemoveAnimationState(AnimationState);
  3174. void RemoveAnimationState(uint);
  3175. void RemoveAllAnimationStates();
  3176. void SetMorphWeight(uint, float);
  3177. void ResetMorphWeights();
  3178. float GetMorphWeight(uint) const;
  3179. AnimationState GetAnimationState(Animation) const;
  3180. AnimationState GetAnimationState(uint) const;
  3181. // Properties:
  3182. /* (readonly) */
  3183. int refs;
  3184. /* (readonly) */
  3185. int weakRefs;
  3186. /* (readonly) */
  3187. ShortStringHash type;
  3188. /* (readonly) */
  3189. ShortStringHash baseType;
  3190. /* (readonly) */
  3191. String typeName;
  3192. /* (readonly) */
  3193. String category;
  3194. /* (readonly) */
  3195. uint numAttributes;
  3196. Array<Variant> attributes;
  3197. /* (readonly) */
  3198. Array<Variant> attributeDefaults;
  3199. /* (readonly) */
  3200. Array<AttributeInfo> attributeInfos;
  3201. bool temporary;
  3202. bool enabled;
  3203. /* (readonly) */
  3204. bool enabledEffective;
  3205. /* (readonly) */
  3206. uint id;
  3207. /* (readonly) */
  3208. Node node;
  3209. /* (readonly) */
  3210. bool inView;
  3211. bool castShadows;
  3212. bool occluder;
  3213. bool occludee;
  3214. float drawDistance;
  3215. float shadowDistance;
  3216. float lodBias;
  3217. uint viewMask;
  3218. uint lightMask;
  3219. uint shadowMask;
  3220. uint zoneMask;
  3221. uint maxLights;
  3222. /* (readonly) */
  3223. BoundingBox boundingBox;
  3224. /* (readonly) */
  3225. BoundingBox worldBoundingBox;
  3226. Model model;
  3227. /* (writeonly) */
  3228. Material material;
  3229. Array<Material> materials;
  3230. /* (readonly) */
  3231. uint numGeometries;
  3232. /* (readonly) */
  3233. Zone zone;
  3234. float animationLodBias;
  3235. bool updateInvisible;
  3236. /* (readonly) */
  3237. Skeleton skeleton;
  3238. /* (readonly) */
  3239. uint numAnimationStates;
  3240. /* (readonly) */
  3241. Array<AnimationState> animationStates;
  3242. /* (readonly) */
  3243. uint numMorphs;
  3244. /* (readonly) */
  3245. Array<String> morphNames;
  3246. Array<float> morphWeights;
  3247. };
  3248. class AnimationController
  3249. {
  3250. // Methods:
  3251. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3252. bool Load(File, bool = false);
  3253. bool Save(File) const;
  3254. bool LoadXML(const XMLElement&, bool = false);
  3255. bool SaveXML(XMLElement&) const;
  3256. void ApplyAttributes();
  3257. bool SetAttribute(const String&, const Variant&);
  3258. void ResetToDefault();
  3259. void RemoveInstanceDefault();
  3260. Variant GetAttribute(const String&) const;
  3261. Variant GetAttributeDefault(const String&) const;
  3262. void Remove();
  3263. void MarkNetworkUpdate() const;
  3264. void DrawDebugGeometry(DebugRenderer, bool);
  3265. bool Play(const String&, uint8, bool, float = 0.0f);
  3266. bool PlayExclusive(const String&, uint8, bool, float = 0.0f);
  3267. void Stop(const String&, float = 0.0f);
  3268. void StopLayer(uint8, float = 0.0f);
  3269. void StopAll(float = 0.0f);
  3270. bool Fade(const String&, float, float);
  3271. bool FadeOthers(const String&, float, float);
  3272. bool SetLayer(const String&, uint8);
  3273. bool SetStartBone(const String&, const String&);
  3274. bool SetTime(const String&, float);
  3275. bool SetWeight(const String&, float);
  3276. bool SetLooped(const String&, bool);
  3277. bool SetSpeed(const String&, float);
  3278. bool SetAutoFade(const String&, float);
  3279. bool IsPlaying(const String&) const;
  3280. bool IsFadingIn(const String&) const;
  3281. bool IsFadingOut(const String&) const;
  3282. uint8 GetLayer(const String&) const;
  3283. const String& GetStartBone(const String&) const;
  3284. float GetTime(const String&) const;
  3285. float GetWeight(const String&) const;
  3286. bool GetLooped(const String&) const;
  3287. float GetLength(const String&) const;
  3288. float GetSpeed(const String&) const;
  3289. float GetAutoFade(const String&) const;
  3290. float GetFadeTarget(const String&) const;
  3291. AnimationState GetAnimationState(const String&) const;
  3292. AnimationState GetAnimationState(StringHash) const;
  3293. // Properties:
  3294. /* (readonly) */
  3295. int refs;
  3296. /* (readonly) */
  3297. int weakRefs;
  3298. /* (readonly) */
  3299. ShortStringHash type;
  3300. /* (readonly) */
  3301. ShortStringHash baseType;
  3302. /* (readonly) */
  3303. String typeName;
  3304. /* (readonly) */
  3305. String category;
  3306. /* (readonly) */
  3307. uint numAttributes;
  3308. Array<Variant> attributes;
  3309. /* (readonly) */
  3310. Array<Variant> attributeDefaults;
  3311. /* (readonly) */
  3312. Array<AttributeInfo> attributeInfos;
  3313. bool temporary;
  3314. bool enabled;
  3315. /* (readonly) */
  3316. bool enabledEffective;
  3317. /* (readonly) */
  3318. uint id;
  3319. /* (readonly) */
  3320. Node node;
  3321. };
  3322. class Billboard
  3323. {
  3324. // Properties:
  3325. Vector3 position;
  3326. Vector2 size;
  3327. Rect uv;
  3328. Color color;
  3329. float rotation;
  3330. bool enabled;
  3331. };
  3332. class BillboardSet
  3333. {
  3334. // Methods:
  3335. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3336. bool Load(File, bool = false);
  3337. bool Save(File) const;
  3338. bool LoadXML(const XMLElement&, bool = false);
  3339. bool SaveXML(XMLElement&) const;
  3340. void ApplyAttributes();
  3341. bool SetAttribute(const String&, const Variant&);
  3342. void ResetToDefault();
  3343. void RemoveInstanceDefault();
  3344. Variant GetAttribute(const String&) const;
  3345. Variant GetAttributeDefault(const String&) const;
  3346. void Remove();
  3347. void MarkNetworkUpdate() const;
  3348. void DrawDebugGeometry(DebugRenderer, bool);
  3349. void Commit();
  3350. // Properties:
  3351. /* (readonly) */
  3352. int refs;
  3353. /* (readonly) */
  3354. int weakRefs;
  3355. /* (readonly) */
  3356. ShortStringHash type;
  3357. /* (readonly) */
  3358. ShortStringHash baseType;
  3359. /* (readonly) */
  3360. String typeName;
  3361. /* (readonly) */
  3362. String category;
  3363. /* (readonly) */
  3364. uint numAttributes;
  3365. Array<Variant> attributes;
  3366. /* (readonly) */
  3367. Array<Variant> attributeDefaults;
  3368. /* (readonly) */
  3369. Array<AttributeInfo> attributeInfos;
  3370. bool temporary;
  3371. bool enabled;
  3372. /* (readonly) */
  3373. bool enabledEffective;
  3374. /* (readonly) */
  3375. uint id;
  3376. /* (readonly) */
  3377. Node node;
  3378. /* (readonly) */
  3379. bool inView;
  3380. bool castShadows;
  3381. bool occluder;
  3382. bool occludee;
  3383. float drawDistance;
  3384. float shadowDistance;
  3385. float lodBias;
  3386. uint viewMask;
  3387. uint lightMask;
  3388. uint shadowMask;
  3389. uint zoneMask;
  3390. uint maxLights;
  3391. /* (readonly) */
  3392. BoundingBox boundingBox;
  3393. /* (readonly) */
  3394. BoundingBox worldBoundingBox;
  3395. Material material;
  3396. uint numBillboards;
  3397. bool relative;
  3398. bool sorted;
  3399. bool scaled;
  3400. bool faceCamera;
  3401. float animationLodBias;
  3402. /* (readonly) */
  3403. Array<Billboard> billboards;
  3404. /* (readonly) */
  3405. Zone zone;
  3406. };
  3407. class ColorFrame
  3408. {
  3409. // Properties:
  3410. Color color;
  3411. float time;
  3412. };
  3413. class TextureFrame
  3414. {
  3415. // Properties:
  3416. Rect uv;
  3417. float time;
  3418. };
  3419. class ParticleEmitter
  3420. {
  3421. // Methods:
  3422. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3423. bool Load(File, bool = false);
  3424. bool Save(File) const;
  3425. bool LoadXML(const XMLElement&, bool = false);
  3426. bool SaveXML(XMLElement&) const;
  3427. void ApplyAttributes();
  3428. bool SetAttribute(const String&, const Variant&);
  3429. void ResetToDefault();
  3430. void RemoveInstanceDefault();
  3431. Variant GetAttribute(const String&) const;
  3432. Variant GetAttributeDefault(const String&) const;
  3433. void Remove();
  3434. void MarkNetworkUpdate() const;
  3435. void DrawDebugGeometry(DebugRenderer, bool);
  3436. bool Load(XMLFile);
  3437. bool Save(XMLFile);
  3438. void SetEmitting(bool, bool);
  3439. void SetColor(const Color&);
  3440. // Properties:
  3441. /* (readonly) */
  3442. int refs;
  3443. /* (readonly) */
  3444. int weakRefs;
  3445. /* (readonly) */
  3446. ShortStringHash type;
  3447. /* (readonly) */
  3448. ShortStringHash baseType;
  3449. /* (readonly) */
  3450. String typeName;
  3451. /* (readonly) */
  3452. String category;
  3453. /* (readonly) */
  3454. uint numAttributes;
  3455. Array<Variant> attributes;
  3456. /* (readonly) */
  3457. Array<Variant> attributeDefaults;
  3458. /* (readonly) */
  3459. Array<AttributeInfo> attributeInfos;
  3460. bool temporary;
  3461. bool enabled;
  3462. /* (readonly) */
  3463. bool enabledEffective;
  3464. /* (readonly) */
  3465. uint id;
  3466. /* (readonly) */
  3467. Node node;
  3468. /* (readonly) */
  3469. bool inView;
  3470. bool castShadows;
  3471. bool occluder;
  3472. bool occludee;
  3473. float drawDistance;
  3474. float shadowDistance;
  3475. float lodBias;
  3476. uint viewMask;
  3477. uint lightMask;
  3478. uint shadowMask;
  3479. uint zoneMask;
  3480. uint maxLights;
  3481. /* (readonly) */
  3482. BoundingBox boundingBox;
  3483. /* (readonly) */
  3484. BoundingBox worldBoundingBox;
  3485. Material material;
  3486. bool relative;
  3487. bool sorted;
  3488. bool scaled;
  3489. bool updateInvisible;
  3490. float animationLodBias;
  3491. bool emitting;
  3492. uint numParticles;
  3493. /* (writeonly) */
  3494. float emissionRate;
  3495. float minEmissionRate;
  3496. float maxEmissionRate;
  3497. EmitterType emitterType;
  3498. Vector3 emitterSize;
  3499. float activeTime;
  3500. float inactiveTime;
  3501. /* (writeonly) */
  3502. float timeToLive;
  3503. float minTimeToLive;
  3504. float maxTimeToLive;
  3505. /* (writeonly) */
  3506. Vector2 particleSize;
  3507. Vector2 minParticleSize;
  3508. Vector3 maxParticleSize;
  3509. Vector3 minDirection;
  3510. Vector3 maxDirection;
  3511. /* (writeonly) */
  3512. float velocity;
  3513. float minVelocity;
  3514. float maxVelocity;
  3515. /* (writeonly) */
  3516. float rotation;
  3517. float minRotation;
  3518. float maxRotation;
  3519. /* (writeonly) */
  3520. float rotationSpeed;
  3521. float minRotationSpeed;
  3522. float maxRotationSpeed;
  3523. Vector3 constantForce;
  3524. float dampingForce;
  3525. float sizeAdd;
  3526. float sizeMul;
  3527. /* (readonly) */
  3528. Array<ColorFrame> colors;
  3529. uint numColors;
  3530. /* (readonly) */
  3531. Array<TextureFrame> textureFrames;
  3532. uint numTextureFrames;
  3533. /* (readonly) */
  3534. Zone zone;
  3535. };
  3536. class CustomGeometry
  3537. {
  3538. // Methods:
  3539. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3540. bool Load(File, bool = false);
  3541. bool Save(File) const;
  3542. bool LoadXML(const XMLElement&, bool = false);
  3543. bool SaveXML(XMLElement&) const;
  3544. void ApplyAttributes();
  3545. bool SetAttribute(const String&, const Variant&);
  3546. void ResetToDefault();
  3547. void RemoveInstanceDefault();
  3548. Variant GetAttribute(const String&) const;
  3549. Variant GetAttributeDefault(const String&) const;
  3550. void Remove();
  3551. void MarkNetworkUpdate() const;
  3552. void DrawDebugGeometry(DebugRenderer, bool);
  3553. void Clear();
  3554. void BeginGeometry(uint, PrimitiveType);
  3555. void DefineVertex(const Vector3&);
  3556. void DefineNormal(const Vector3&);
  3557. void DefineColor(const Color&);
  3558. void DefineTexCoord(const Vector2&);
  3559. void DefineTangent(const Vector4&);
  3560. void Commit();
  3561. // Properties:
  3562. /* (readonly) */
  3563. int refs;
  3564. /* (readonly) */
  3565. int weakRefs;
  3566. /* (readonly) */
  3567. ShortStringHash type;
  3568. /* (readonly) */
  3569. ShortStringHash baseType;
  3570. /* (readonly) */
  3571. String typeName;
  3572. /* (readonly) */
  3573. String category;
  3574. /* (readonly) */
  3575. uint numAttributes;
  3576. Array<Variant> attributes;
  3577. /* (readonly) */
  3578. Array<Variant> attributeDefaults;
  3579. /* (readonly) */
  3580. Array<AttributeInfo> attributeInfos;
  3581. bool temporary;
  3582. bool enabled;
  3583. /* (readonly) */
  3584. bool enabledEffective;
  3585. /* (readonly) */
  3586. uint id;
  3587. /* (readonly) */
  3588. Node node;
  3589. /* (readonly) */
  3590. bool inView;
  3591. bool castShadows;
  3592. bool occluder;
  3593. bool occludee;
  3594. float drawDistance;
  3595. float shadowDistance;
  3596. float lodBias;
  3597. uint viewMask;
  3598. uint lightMask;
  3599. uint shadowMask;
  3600. uint zoneMask;
  3601. uint maxLights;
  3602. /* (readonly) */
  3603. BoundingBox boundingBox;
  3604. /* (readonly) */
  3605. BoundingBox worldBoundingBox;
  3606. /* (writeonly) */
  3607. Material material;
  3608. Array<Material> materials;
  3609. uint numGeometries;
  3610. /* (readonly) */
  3611. Zone zone;
  3612. };
  3613. class DecalSet
  3614. {
  3615. // Methods:
  3616. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3617. bool Load(File, bool = false);
  3618. bool Save(File) const;
  3619. bool LoadXML(const XMLElement&, bool = false);
  3620. bool SaveXML(XMLElement&) const;
  3621. void ApplyAttributes();
  3622. bool SetAttribute(const String&, const Variant&);
  3623. void ResetToDefault();
  3624. void RemoveInstanceDefault();
  3625. Variant GetAttribute(const String&) const;
  3626. Variant GetAttributeDefault(const String&) const;
  3627. void Remove();
  3628. void MarkNetworkUpdate() const;
  3629. void DrawDebugGeometry(DebugRenderer, bool);
  3630. bool AddDecal(Drawable, const Vector3&, const Quaternion&, float, float, float, const Vector2&, const Vector2&, float = 0.0, float = 0.1, uint = 0xffffffff);
  3631. void RemoveDecals(uint);
  3632. void RemoveAllDecals();
  3633. // Properties:
  3634. /* (readonly) */
  3635. int refs;
  3636. /* (readonly) */
  3637. int weakRefs;
  3638. /* (readonly) */
  3639. ShortStringHash type;
  3640. /* (readonly) */
  3641. ShortStringHash baseType;
  3642. /* (readonly) */
  3643. String typeName;
  3644. /* (readonly) */
  3645. String category;
  3646. /* (readonly) */
  3647. uint numAttributes;
  3648. Array<Variant> attributes;
  3649. /* (readonly) */
  3650. Array<Variant> attributeDefaults;
  3651. /* (readonly) */
  3652. Array<AttributeInfo> attributeInfos;
  3653. bool temporary;
  3654. bool enabled;
  3655. /* (readonly) */
  3656. bool enabledEffective;
  3657. /* (readonly) */
  3658. uint id;
  3659. /* (readonly) */
  3660. Node node;
  3661. /* (readonly) */
  3662. bool inView;
  3663. bool castShadows;
  3664. bool occluder;
  3665. bool occludee;
  3666. float drawDistance;
  3667. float shadowDistance;
  3668. float lodBias;
  3669. uint viewMask;
  3670. uint lightMask;
  3671. uint shadowMask;
  3672. uint zoneMask;
  3673. uint maxLights;
  3674. /* (readonly) */
  3675. BoundingBox boundingBox;
  3676. /* (readonly) */
  3677. BoundingBox worldBoundingBox;
  3678. Material material;
  3679. /* (readonly) */
  3680. uint numDecals;
  3681. /* (readonly) */
  3682. uint numVertices;
  3683. /* (readonly) */
  3684. uint numIndices;
  3685. uint maxVertices;
  3686. uint maxIndices;
  3687. /* (readonly) */
  3688. Zone zone;
  3689. };
  3690. class TerrainPatch
  3691. {
  3692. // Methods:
  3693. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3694. bool Load(File, bool = false);
  3695. bool Save(File) const;
  3696. bool LoadXML(const XMLElement&, bool = false);
  3697. bool SaveXML(XMLElement&) const;
  3698. void ApplyAttributes();
  3699. bool SetAttribute(const String&, const Variant&);
  3700. void ResetToDefault();
  3701. void RemoveInstanceDefault();
  3702. Variant GetAttribute(const String&) const;
  3703. Variant GetAttributeDefault(const String&) const;
  3704. void Remove();
  3705. void MarkNetworkUpdate() const;
  3706. void DrawDebugGeometry(DebugRenderer, bool);
  3707. // Properties:
  3708. /* (readonly) */
  3709. int refs;
  3710. /* (readonly) */
  3711. int weakRefs;
  3712. /* (readonly) */
  3713. ShortStringHash type;
  3714. /* (readonly) */
  3715. ShortStringHash baseType;
  3716. /* (readonly) */
  3717. String typeName;
  3718. /* (readonly) */
  3719. String category;
  3720. /* (readonly) */
  3721. uint numAttributes;
  3722. Array<Variant> attributes;
  3723. /* (readonly) */
  3724. Array<Variant> attributeDefaults;
  3725. /* (readonly) */
  3726. Array<AttributeInfo> attributeInfos;
  3727. bool temporary;
  3728. bool enabled;
  3729. /* (readonly) */
  3730. bool enabledEffective;
  3731. /* (readonly) */
  3732. uint id;
  3733. /* (readonly) */
  3734. Node node;
  3735. /* (readonly) */
  3736. bool inView;
  3737. bool castShadows;
  3738. bool occluder;
  3739. bool occludee;
  3740. float drawDistance;
  3741. float shadowDistance;
  3742. float lodBias;
  3743. uint viewMask;
  3744. uint lightMask;
  3745. uint shadowMask;
  3746. uint zoneMask;
  3747. uint maxLights;
  3748. /* (readonly) */
  3749. BoundingBox boundingBox;
  3750. /* (readonly) */
  3751. BoundingBox worldBoundingBox;
  3752. };
  3753. class Terrain
  3754. {
  3755. // Methods:
  3756. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3757. bool Load(File, bool = false);
  3758. bool Save(File) const;
  3759. bool LoadXML(const XMLElement&, bool = false);
  3760. bool SaveXML(XMLElement&) const;
  3761. void ApplyAttributes();
  3762. bool SetAttribute(const String&, const Variant&);
  3763. void ResetToDefault();
  3764. void RemoveInstanceDefault();
  3765. Variant GetAttribute(const String&) const;
  3766. Variant GetAttributeDefault(const String&) const;
  3767. void Remove();
  3768. void MarkNetworkUpdate() const;
  3769. void DrawDebugGeometry(DebugRenderer, bool);
  3770. float GetHeight(const Vector3&) const;
  3771. Vector3 GetNormal(const Vector3&) const;
  3772. TerrainPatch GetPatch(int, int) const;
  3773. // Properties:
  3774. /* (readonly) */
  3775. int refs;
  3776. /* (readonly) */
  3777. int weakRefs;
  3778. /* (readonly) */
  3779. ShortStringHash type;
  3780. /* (readonly) */
  3781. ShortStringHash baseType;
  3782. /* (readonly) */
  3783. String typeName;
  3784. /* (readonly) */
  3785. String category;
  3786. /* (readonly) */
  3787. uint numAttributes;
  3788. Array<Variant> attributes;
  3789. /* (readonly) */
  3790. Array<Variant> attributeDefaults;
  3791. /* (readonly) */
  3792. Array<AttributeInfo> attributeInfos;
  3793. bool temporary;
  3794. bool enabled;
  3795. /* (readonly) */
  3796. bool enabledEffective;
  3797. /* (readonly) */
  3798. uint id;
  3799. /* (readonly) */
  3800. Node node;
  3801. Material material;
  3802. bool smoothing;
  3803. Image heightMap;
  3804. int patchSize;
  3805. Vector3 spacing;
  3806. /* (readonly) */
  3807. IntVector2 numVertices;
  3808. /* (readonly) */
  3809. IntVector2 numPatches;
  3810. /* (readonly) */
  3811. Array<TerrainPatch> patches;
  3812. bool castShadows;
  3813. bool occluder;
  3814. bool occludee;
  3815. float drawDistance;
  3816. float shadowDistance;
  3817. float lodBias;
  3818. uint viewMask;
  3819. uint lightMask;
  3820. uint shadowMask;
  3821. uint zoneMask;
  3822. uint maxLights;
  3823. };
  3824. class RayQueryResult
  3825. {
  3826. // Properties:
  3827. /* (readonly) */
  3828. Drawable drawable;
  3829. /* (readonly) */
  3830. Node node;
  3831. Vector3 position;
  3832. Vector3 normal;
  3833. float distance;
  3834. uint subObject;
  3835. };
  3836. class Octree
  3837. {
  3838. // Methods:
  3839. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3840. bool Load(File, bool = false);
  3841. bool Save(File) const;
  3842. bool LoadXML(const XMLElement&, bool = false);
  3843. bool SaveXML(XMLElement&) const;
  3844. void ApplyAttributes();
  3845. bool SetAttribute(const String&, const Variant&);
  3846. void ResetToDefault();
  3847. void RemoveInstanceDefault();
  3848. Variant GetAttribute(const String&) const;
  3849. Variant GetAttributeDefault(const String&) const;
  3850. void Remove();
  3851. void MarkNetworkUpdate() const;
  3852. void DrawDebugGeometry(DebugRenderer, bool);
  3853. void SetSize(const BoundingBox&, uint);
  3854. void DrawDebugGeometry(bool) const;
  3855. void AddManualDrawable(Drawable);
  3856. void RemoveManualDrawable(Drawable);
  3857. Array<RayQueryResult> Raycast(const Ray&, RayQueryLevel = RAY_TRIANGLE, float = M_INFINITY, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK) const;
  3858. RayQueryResult RaycastSingle(const Ray&, RayQueryLevel = RAY_TRIANGLE, float = M_INFINITY, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK) const;
  3859. Array<Node> GetDrawables(const Vector3&, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK);
  3860. Array<Node> GetDrawables(const BoundingBox&, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK);
  3861. Array<Node> GetDrawables(const Frustum&, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK);
  3862. Array<Node> GetDrawables(const Sphere&, uint8 = DRAWABLE_ANY, uint = DEFAULT_VIEWMASK);
  3863. // Properties:
  3864. /* (readonly) */
  3865. int refs;
  3866. /* (readonly) */
  3867. int weakRefs;
  3868. /* (readonly) */
  3869. ShortStringHash type;
  3870. /* (readonly) */
  3871. ShortStringHash baseType;
  3872. /* (readonly) */
  3873. String typeName;
  3874. /* (readonly) */
  3875. String category;
  3876. /* (readonly) */
  3877. uint numAttributes;
  3878. Array<Variant> attributes;
  3879. /* (readonly) */
  3880. Array<Variant> attributeDefaults;
  3881. /* (readonly) */
  3882. Array<AttributeInfo> attributeInfos;
  3883. bool temporary;
  3884. bool enabled;
  3885. /* (readonly) */
  3886. bool enabledEffective;
  3887. /* (readonly) */
  3888. uint id;
  3889. /* (readonly) */
  3890. Node node;
  3891. /* (readonly) */
  3892. BoundingBox worldBoundingBox;
  3893. /* (readonly) */
  3894. uint numLevels;
  3895. };
  3896. class Graphics
  3897. {
  3898. // Methods:
  3899. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3900. bool SetMode(int, int, bool, bool, bool, bool, bool, int);
  3901. bool SetMode(int, int);
  3902. void SetWindowPosition(int, int);
  3903. bool ToggleFullscreen();
  3904. void Maximize();
  3905. void Minimize();
  3906. void Close();
  3907. bool TakeScreenShot(Image);
  3908. // Properties:
  3909. /* (readonly) */
  3910. int refs;
  3911. /* (readonly) */
  3912. int weakRefs;
  3913. /* (readonly) */
  3914. ShortStringHash type;
  3915. /* (readonly) */
  3916. ShortStringHash baseType;
  3917. /* (readonly) */
  3918. String typeName;
  3919. /* (readonly) */
  3920. String category;
  3921. String windowTitle;
  3922. /* (writeonly) */
  3923. Image windowIcon;
  3924. IntVector2 windowPosition;
  3925. bool sRGB;
  3926. bool flushGPU;
  3927. /* (readonly) */
  3928. int width;
  3929. /* (readonly) */
  3930. int height;
  3931. /* (readonly) */
  3932. int multiSample;
  3933. /* (readonly) */
  3934. bool fullscreen;
  3935. /* (readonly) */
  3936. bool resizable;
  3937. /* (readonly) */
  3938. bool borderless;
  3939. /* (readonly) */
  3940. bool vsync;
  3941. /* (readonly) */
  3942. bool tripleBuffer;
  3943. /* (readonly) */
  3944. bool initialized;
  3945. /* (readonly) */
  3946. bool deviceLost;
  3947. /* (readonly) */
  3948. uint numPrimitives;
  3949. /* (readonly) */
  3950. uint numBatches;
  3951. /* (readonly) */
  3952. bool sm3Support;
  3953. /* (readonly) */
  3954. bool instancingSupport;
  3955. /* (readonly) */
  3956. bool lightPrepassSupport;
  3957. /* (readonly) */
  3958. bool deferredSupport;
  3959. /* (readonly) */
  3960. bool hardwareShadowSupport;
  3961. /* (readonly) */
  3962. bool sRGBSupport;
  3963. /* (readonly) */
  3964. bool sRGBWriteSupport;
  3965. bool forceSM2;
  3966. /* (readonly) */
  3967. Array<IntVector2> resolutions;
  3968. /* (readonly) */
  3969. Array<int> multiSampleLevels;
  3970. /* (readonly) */
  3971. IntVector2 desktopResolution;
  3972. };
  3973. class Renderer
  3974. {
  3975. // Methods:
  3976. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  3977. void DrawDebugGeometry(bool) const;
  3978. void ReloadShaders() const;
  3979. void SetDefaultRenderPath(XMLFile);
  3980. // Properties:
  3981. /* (readonly) */
  3982. int refs;
  3983. /* (readonly) */
  3984. int weakRefs;
  3985. /* (readonly) */
  3986. ShortStringHash type;
  3987. /* (readonly) */
  3988. ShortStringHash baseType;
  3989. /* (readonly) */
  3990. String typeName;
  3991. /* (readonly) */
  3992. String category;
  3993. uint numViewports;
  3994. Array<Viewport> viewports;
  3995. RenderPath defaultRenderPath;
  3996. /* (readonly) */
  3997. Zone defaultZone;
  3998. bool specularLighting;
  3999. int textureAnisotropy;
  4000. TextureFilterMode textureFilterMode;
  4001. int textureQuality;
  4002. int materialQuality;
  4003. bool drawShadows;
  4004. int shadowMapSize;
  4005. int shadowQuality;
  4006. int maxShadowCascades;
  4007. int maxShadowMaps;
  4008. bool reuseShadowMaps;
  4009. bool dynamicInstancing;
  4010. int minInstances;
  4011. int maxInstanceTriangles;
  4012. int maxSortedInstances;
  4013. int maxOccluderTriangles;
  4014. int occlusionBufferSize;
  4015. float occluderSizeThreshold;
  4016. /* (readonly) */
  4017. uint numPrimitives;
  4018. /* (readonly) */
  4019. uint numBatches;
  4020. /* (readonly) */
  4021. uint numViews;
  4022. /* (readonly) */
  4023. Array<uint> numGeometries;
  4024. /* (readonly) */
  4025. Array<uint> numLights;
  4026. /* (readonly) */
  4027. Array<uint> numShadowMaps;
  4028. /* (readonly) */
  4029. Array<uint> numOccluders;
  4030. };
  4031. class TouchState
  4032. {
  4033. // Properties:
  4034. int touchID;
  4035. IntVector2 position;
  4036. IntVector2 delta;
  4037. float pressure;
  4038. };
  4039. class JoystickState
  4040. {
  4041. // Properties:
  4042. /* (readonly) */
  4043. uint numButtons;
  4044. /* (readonly) */
  4045. uint numAxes;
  4046. /* (readonly) */
  4047. uint numHats;
  4048. /* (readonly) */
  4049. Array<bool> buttonDown;
  4050. /* (readonly) */
  4051. Array<bool> buttonPress;
  4052. /* (readonly) */
  4053. Array<float> axisPosition;
  4054. /* (readonly) */
  4055. Array<int> hatPosition;
  4056. String name;
  4057. };
  4058. class Input
  4059. {
  4060. // Methods:
  4061. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4062. bool OpenJoystick(uint);
  4063. void CloseJoystick(uint);
  4064. bool DetectJoysticks();
  4065. // Properties:
  4066. /* (readonly) */
  4067. int refs;
  4068. /* (readonly) */
  4069. int weakRefs;
  4070. /* (readonly) */
  4071. ShortStringHash type;
  4072. /* (readonly) */
  4073. ShortStringHash baseType;
  4074. /* (readonly) */
  4075. String typeName;
  4076. /* (readonly) */
  4077. String category;
  4078. bool mouseVisible;
  4079. bool screenKeyboardVisible;
  4080. /* (readonly) */
  4081. bool screenKeyboardSupport;
  4082. bool toggleFullscreen;
  4083. /* (readonly) */
  4084. Array<bool> keyDown;
  4085. /* (readonly) */
  4086. Array<bool> keyPress;
  4087. /* (readonly) */
  4088. Array<bool> mouseButtonDown;
  4089. /* (readonly) */
  4090. Array<bool> mouseButtonPress;
  4091. /* (readonly) */
  4092. Array<bool> qualifierDown;
  4093. /* (readonly) */
  4094. Array<bool> qualifierPress;
  4095. /* (readonly) */
  4096. int qualifiers;
  4097. /* (readonly) */
  4098. IntVector2 mousePosition;
  4099. /* (readonly) */
  4100. IntVector2 mouseMove;
  4101. /* (readonly) */
  4102. int mouseMoveX;
  4103. /* (readonly) */
  4104. int mouseMoveY;
  4105. /* (readonly) */
  4106. int mouseMoveWheel;
  4107. /* (readonly) */
  4108. uint numTouches;
  4109. /* (readonly) */
  4110. Array<TouchState> touches;
  4111. /* (readonly) */
  4112. uint numJoysticks;
  4113. /* (readonly) */
  4114. Array<String> joystickNames;
  4115. /* (readonly) */
  4116. Array<JoystickState> joysticks;
  4117. /* (readonly) */
  4118. bool focus;
  4119. /* (readonly) */
  4120. bool minimized;
  4121. };
  4122. class Sound
  4123. {
  4124. // Methods:
  4125. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4126. bool Load(File);
  4127. bool Save(File) const;
  4128. // Properties:
  4129. /* (readonly) */
  4130. int refs;
  4131. /* (readonly) */
  4132. int weakRefs;
  4133. /* (readonly) */
  4134. ShortStringHash type;
  4135. /* (readonly) */
  4136. ShortStringHash baseType;
  4137. /* (readonly) */
  4138. String typeName;
  4139. /* (readonly) */
  4140. String category;
  4141. String name;
  4142. /* (readonly) */
  4143. uint memoryUse;
  4144. /* (readonly) */
  4145. uint useTimer;
  4146. /* (readonly) */
  4147. float length;
  4148. /* (readonly) */
  4149. uint sampleSize;
  4150. /* (readonly) */
  4151. float frequency;
  4152. bool looped;
  4153. /* (readonly) */
  4154. bool sixteenBit;
  4155. /* (readonly) */
  4156. bool stereo;
  4157. /* (readonly) */
  4158. bool compressed;
  4159. };
  4160. class SoundListener
  4161. {
  4162. // Methods:
  4163. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4164. bool Load(File, bool = false);
  4165. bool Save(File) const;
  4166. bool LoadXML(const XMLElement&, bool = false);
  4167. bool SaveXML(XMLElement&) const;
  4168. void ApplyAttributes();
  4169. bool SetAttribute(const String&, const Variant&);
  4170. void ResetToDefault();
  4171. void RemoveInstanceDefault();
  4172. Variant GetAttribute(const String&) const;
  4173. Variant GetAttributeDefault(const String&) const;
  4174. void Remove();
  4175. void MarkNetworkUpdate() const;
  4176. void DrawDebugGeometry(DebugRenderer, bool);
  4177. // Properties:
  4178. /* (readonly) */
  4179. int refs;
  4180. /* (readonly) */
  4181. int weakRefs;
  4182. /* (readonly) */
  4183. ShortStringHash type;
  4184. /* (readonly) */
  4185. ShortStringHash baseType;
  4186. /* (readonly) */
  4187. String typeName;
  4188. /* (readonly) */
  4189. String category;
  4190. /* (readonly) */
  4191. uint numAttributes;
  4192. Array<Variant> attributes;
  4193. /* (readonly) */
  4194. Array<Variant> attributeDefaults;
  4195. /* (readonly) */
  4196. Array<AttributeInfo> attributeInfos;
  4197. bool temporary;
  4198. bool enabled;
  4199. /* (readonly) */
  4200. bool enabledEffective;
  4201. /* (readonly) */
  4202. uint id;
  4203. /* (readonly) */
  4204. Node node;
  4205. };
  4206. class SoundSource
  4207. {
  4208. // Methods:
  4209. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4210. bool Load(File, bool = false);
  4211. bool Save(File) const;
  4212. bool LoadXML(const XMLElement&, bool = false);
  4213. bool SaveXML(XMLElement&) const;
  4214. void ApplyAttributes();
  4215. bool SetAttribute(const String&, const Variant&);
  4216. void ResetToDefault();
  4217. void RemoveInstanceDefault();
  4218. Variant GetAttribute(const String&) const;
  4219. Variant GetAttributeDefault(const String&) const;
  4220. void Remove();
  4221. void MarkNetworkUpdate() const;
  4222. void DrawDebugGeometry(DebugRenderer, bool);
  4223. void Play(Sound);
  4224. void Play(Sound, float);
  4225. void Play(Sound, float, float);
  4226. void Play(Sound, float, float, float);
  4227. void Stop();
  4228. // Properties:
  4229. /* (readonly) */
  4230. int refs;
  4231. /* (readonly) */
  4232. int weakRefs;
  4233. /* (readonly) */
  4234. ShortStringHash type;
  4235. /* (readonly) */
  4236. ShortStringHash baseType;
  4237. /* (readonly) */
  4238. String typeName;
  4239. /* (readonly) */
  4240. String category;
  4241. /* (readonly) */
  4242. uint numAttributes;
  4243. Array<Variant> attributes;
  4244. /* (readonly) */
  4245. Array<Variant> attributeDefaults;
  4246. /* (readonly) */
  4247. Array<AttributeInfo> attributeInfos;
  4248. bool temporary;
  4249. bool enabled;
  4250. /* (readonly) */
  4251. bool enabledEffective;
  4252. /* (readonly) */
  4253. uint id;
  4254. /* (readonly) */
  4255. Node node;
  4256. SoundType soundType;
  4257. float frequency;
  4258. float gain;
  4259. float panning;
  4260. /* (readonly) */
  4261. Sound sound;
  4262. /* (readonly) */
  4263. float timePosition;
  4264. /* (readonly) */
  4265. float attenuation;
  4266. bool autoRemove;
  4267. /* (readonly) */
  4268. bool playing;
  4269. };
  4270. class SoundSource3D
  4271. {
  4272. // Methods:
  4273. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4274. bool Load(File, bool = false);
  4275. bool Save(File) const;
  4276. bool LoadXML(const XMLElement&, bool = false);
  4277. bool SaveXML(XMLElement&) const;
  4278. void ApplyAttributes();
  4279. bool SetAttribute(const String&, const Variant&);
  4280. void ResetToDefault();
  4281. void RemoveInstanceDefault();
  4282. Variant GetAttribute(const String&) const;
  4283. Variant GetAttributeDefault(const String&) const;
  4284. void Remove();
  4285. void MarkNetworkUpdate() const;
  4286. void DrawDebugGeometry(DebugRenderer, bool);
  4287. void Play(Sound);
  4288. void Play(Sound, float);
  4289. void Play(Sound, float, float);
  4290. void Play(Sound, float, float, float);
  4291. void Stop();
  4292. void SetDistanceAttenuation(float, float, float);
  4293. void SetAngleAttenuation(float, float);
  4294. // Properties:
  4295. /* (readonly) */
  4296. int refs;
  4297. /* (readonly) */
  4298. int weakRefs;
  4299. /* (readonly) */
  4300. ShortStringHash type;
  4301. /* (readonly) */
  4302. ShortStringHash baseType;
  4303. /* (readonly) */
  4304. String typeName;
  4305. /* (readonly) */
  4306. String category;
  4307. /* (readonly) */
  4308. uint numAttributes;
  4309. Array<Variant> attributes;
  4310. /* (readonly) */
  4311. Array<Variant> attributeDefaults;
  4312. /* (readonly) */
  4313. Array<AttributeInfo> attributeInfos;
  4314. bool temporary;
  4315. bool enabled;
  4316. /* (readonly) */
  4317. bool enabledEffective;
  4318. /* (readonly) */
  4319. uint id;
  4320. /* (readonly) */
  4321. Node node;
  4322. SoundType soundType;
  4323. float frequency;
  4324. float gain;
  4325. float panning;
  4326. /* (readonly) */
  4327. Sound sound;
  4328. /* (readonly) */
  4329. float timePosition;
  4330. /* (readonly) */
  4331. float attenuation;
  4332. bool autoRemove;
  4333. /* (readonly) */
  4334. bool playing;
  4335. float nearDistance;
  4336. float farDistance;
  4337. float innerAngle;
  4338. float outerAngle;
  4339. float rolloffFactor;
  4340. };
  4341. class Audio
  4342. {
  4343. // Methods:
  4344. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4345. void SetMode(int, int, bool, bool = true);
  4346. bool Play();
  4347. void Stop();
  4348. // Properties:
  4349. /* (readonly) */
  4350. int refs;
  4351. /* (readonly) */
  4352. int weakRefs;
  4353. /* (readonly) */
  4354. ShortStringHash type;
  4355. /* (readonly) */
  4356. ShortStringHash baseType;
  4357. /* (readonly) */
  4358. String typeName;
  4359. /* (readonly) */
  4360. String category;
  4361. Array<float> masterGain;
  4362. SoundListener listener;
  4363. /* (readonly) */
  4364. uint sampleSize;
  4365. /* (readonly) */
  4366. int mixRate;
  4367. /* (readonly) */
  4368. bool stereo;
  4369. /* (readonly) */
  4370. bool interpolation;
  4371. /* (readonly) */
  4372. bool playing;
  4373. /* (readonly) */
  4374. bool initialized;
  4375. };
  4376. class Font
  4377. {
  4378. // Methods:
  4379. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4380. bool Load(File);
  4381. bool Save(File) const;
  4382. bool SaveXML(File, int, bool = false);
  4383. bool SaveXML(const String&, int, bool = false);
  4384. // Properties:
  4385. /* (readonly) */
  4386. int refs;
  4387. /* (readonly) */
  4388. int weakRefs;
  4389. /* (readonly) */
  4390. ShortStringHash type;
  4391. /* (readonly) */
  4392. ShortStringHash baseType;
  4393. /* (readonly) */
  4394. String typeName;
  4395. /* (readonly) */
  4396. String category;
  4397. String name;
  4398. /* (readonly) */
  4399. uint memoryUse;
  4400. /* (readonly) */
  4401. uint useTimer;
  4402. };
  4403. class UIElement
  4404. {
  4405. // Methods:
  4406. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4407. bool Load(File, bool = false);
  4408. bool Save(File) const;
  4409. bool LoadXML(const XMLElement&, bool = false);
  4410. bool SaveXML(XMLElement&) const;
  4411. void ApplyAttributes();
  4412. bool SetAttribute(const String&, const Variant&);
  4413. void ResetToDefault();
  4414. void RemoveInstanceDefault();
  4415. Variant GetAttribute(const String&) const;
  4416. Variant GetAttributeDefault(const String&) const;
  4417. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  4418. bool LoadXML(File);
  4419. bool LoadXML(XMLFile, XMLFile);
  4420. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  4421. bool LoadChildXML(XMLFile, XMLFile = null);
  4422. bool SaveXML(File);
  4423. bool SetStyle(const XMLElement&);
  4424. bool SetStyle(const String&, XMLFile = null);
  4425. bool SetStyleAuto(XMLFile = null);
  4426. void SetPosition(int, int);
  4427. void SetSize(int, int);
  4428. void SetMinSize(int, int);
  4429. void SetMaxSize(int, int);
  4430. void SetFixedSize(int, int);
  4431. void SetFixedWidth(int);
  4432. void SetFixedHeight(int);
  4433. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  4434. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  4435. void UpdateLayout();
  4436. void DisableLayoutUpdate();
  4437. void EnableLayoutUpdate();
  4438. void BringToFront();
  4439. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  4440. void AddChild(UIElement);
  4441. void InsertChild(uint, UIElement);
  4442. void RemoveChild(UIElement, uint = 0);
  4443. void RemoveChild(uint);
  4444. void RemoveAllChildren();
  4445. void Remove();
  4446. uint FindChild(UIElement) const;
  4447. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  4448. UIElement GetChild(const String&, bool = false) const;
  4449. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  4450. Array<UIElement> GetChildren(bool = false) const;
  4451. UIElement GetElementEventSender() const;
  4452. const Variant& GetVar(const ShortStringHash&);
  4453. IntVector2 ScreenToElement(const IntVector2&);
  4454. IntVector2 ElementToScreen(const IntVector2&);
  4455. bool IsInside(IntVector2, bool);
  4456. bool IsInsideCombined(IntVector2, bool);
  4457. uint GetNumChildren(bool) const;
  4458. // Properties:
  4459. /* (readonly) */
  4460. int refs;
  4461. /* (readonly) */
  4462. int weakRefs;
  4463. /* (readonly) */
  4464. ShortStringHash type;
  4465. /* (readonly) */
  4466. ShortStringHash baseType;
  4467. /* (readonly) */
  4468. String typeName;
  4469. /* (readonly) */
  4470. String category;
  4471. /* (readonly) */
  4472. uint numAttributes;
  4473. Array<Variant> attributes;
  4474. /* (readonly) */
  4475. Array<Variant> attributeDefaults;
  4476. /* (readonly) */
  4477. Array<AttributeInfo> attributeInfos;
  4478. bool temporary;
  4479. String style;
  4480. String name;
  4481. IntVector2 position;
  4482. IntVector2 size;
  4483. int width;
  4484. int height;
  4485. IntVector2 minSize;
  4486. int minWidth;
  4487. int minHeight;
  4488. IntVector2 maxSize;
  4489. int maxWidth;
  4490. int maxHeight;
  4491. /* (readonly) */
  4492. bool fixedSize;
  4493. /* (readonly) */
  4494. bool fixedWidth;
  4495. /* (readonly) */
  4496. bool fixedHeight;
  4497. HorizontalAlignment horizontalAlignment;
  4498. VerticalAlignment verticalAlignment;
  4499. IntRect clipBorder;
  4500. /* (writeonly) */
  4501. Color color;
  4502. Array<Color> colors;
  4503. int priority;
  4504. float opacity;
  4505. bool bringToFront;
  4506. bool bringToBack;
  4507. bool clipChildren;
  4508. bool sortChildren;
  4509. bool useDerivedOpacity;
  4510. bool enabled;
  4511. bool editable;
  4512. bool focus;
  4513. bool selected;
  4514. bool visible;
  4515. /* (readonly) */
  4516. bool hovering;
  4517. bool internal;
  4518. /* (readonly) */
  4519. bool colorGradient;
  4520. FocusMode focusMode;
  4521. uint dragDropMode;
  4522. TraversalMode traversalMode;
  4523. XMLFile defaultStyle;
  4524. LayoutMode layoutMode;
  4525. int layoutSpacing;
  4526. IntRect layoutBorder;
  4527. int indent;
  4528. int indentSpacing;
  4529. /* (readonly) */
  4530. int indentWidth;
  4531. /* (readonly) */
  4532. IntVector2 childOffset;
  4533. bool elementEventSender;
  4534. /* (readonly) */
  4535. uint numChildren;
  4536. /* (readonly) */
  4537. uint numAllChildren;
  4538. /* (readonly) */
  4539. Array<UIElement> children;
  4540. UIElement parent;
  4541. /* (readonly) */
  4542. UIElement root;
  4543. /* (readonly) */
  4544. IntVector2 screenPosition;
  4545. /* (readonly) */
  4546. IntRect combinedScreenRect;
  4547. /* (readonly) */
  4548. float derivedOpacity;
  4549. /* (readonly) */
  4550. VariantMap vars;
  4551. };
  4552. class BorderImage
  4553. {
  4554. // Methods:
  4555. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4556. bool Load(File, bool = false);
  4557. bool Save(File) const;
  4558. bool LoadXML(const XMLElement&, bool = false);
  4559. bool SaveXML(XMLElement&) const;
  4560. void ApplyAttributes();
  4561. bool SetAttribute(const String&, const Variant&);
  4562. void ResetToDefault();
  4563. void RemoveInstanceDefault();
  4564. Variant GetAttribute(const String&) const;
  4565. Variant GetAttributeDefault(const String&) const;
  4566. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  4567. bool LoadXML(File);
  4568. bool LoadXML(XMLFile, XMLFile);
  4569. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  4570. bool LoadChildXML(XMLFile, XMLFile = null);
  4571. bool SaveXML(File);
  4572. bool SetStyle(const XMLElement&);
  4573. bool SetStyle(const String&, XMLFile = null);
  4574. bool SetStyleAuto(XMLFile = null);
  4575. void SetPosition(int, int);
  4576. void SetSize(int, int);
  4577. void SetMinSize(int, int);
  4578. void SetMaxSize(int, int);
  4579. void SetFixedSize(int, int);
  4580. void SetFixedWidth(int);
  4581. void SetFixedHeight(int);
  4582. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  4583. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  4584. void UpdateLayout();
  4585. void DisableLayoutUpdate();
  4586. void EnableLayoutUpdate();
  4587. void BringToFront();
  4588. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  4589. void AddChild(UIElement);
  4590. void InsertChild(uint, UIElement);
  4591. void RemoveChild(UIElement, uint = 0);
  4592. void RemoveChild(uint);
  4593. void RemoveAllChildren();
  4594. void Remove();
  4595. uint FindChild(UIElement) const;
  4596. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  4597. UIElement GetChild(const String&, bool = false) const;
  4598. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  4599. Array<UIElement> GetChildren(bool = false) const;
  4600. UIElement GetElementEventSender() const;
  4601. const Variant& GetVar(const ShortStringHash&);
  4602. IntVector2 ScreenToElement(const IntVector2&);
  4603. IntVector2 ElementToScreen(const IntVector2&);
  4604. bool IsInside(IntVector2, bool);
  4605. bool IsInsideCombined(IntVector2, bool);
  4606. uint GetNumChildren(bool) const;
  4607. void SetFullImageRect();
  4608. void SetHoverOffset(int, int);
  4609. // Properties:
  4610. /* (readonly) */
  4611. int refs;
  4612. /* (readonly) */
  4613. int weakRefs;
  4614. /* (readonly) */
  4615. ShortStringHash type;
  4616. /* (readonly) */
  4617. ShortStringHash baseType;
  4618. /* (readonly) */
  4619. String typeName;
  4620. /* (readonly) */
  4621. String category;
  4622. /* (readonly) */
  4623. uint numAttributes;
  4624. Array<Variant> attributes;
  4625. /* (readonly) */
  4626. Array<Variant> attributeDefaults;
  4627. /* (readonly) */
  4628. Array<AttributeInfo> attributeInfos;
  4629. bool temporary;
  4630. String style;
  4631. String name;
  4632. IntVector2 position;
  4633. IntVector2 size;
  4634. int width;
  4635. int height;
  4636. IntVector2 minSize;
  4637. int minWidth;
  4638. int minHeight;
  4639. IntVector2 maxSize;
  4640. int maxWidth;
  4641. int maxHeight;
  4642. /* (readonly) */
  4643. bool fixedSize;
  4644. /* (readonly) */
  4645. bool fixedWidth;
  4646. /* (readonly) */
  4647. bool fixedHeight;
  4648. HorizontalAlignment horizontalAlignment;
  4649. VerticalAlignment verticalAlignment;
  4650. IntRect clipBorder;
  4651. /* (writeonly) */
  4652. Color color;
  4653. Array<Color> colors;
  4654. int priority;
  4655. float opacity;
  4656. bool bringToFront;
  4657. bool bringToBack;
  4658. bool clipChildren;
  4659. bool sortChildren;
  4660. bool useDerivedOpacity;
  4661. bool enabled;
  4662. bool editable;
  4663. bool focus;
  4664. bool selected;
  4665. bool visible;
  4666. /* (readonly) */
  4667. bool hovering;
  4668. bool internal;
  4669. /* (readonly) */
  4670. bool colorGradient;
  4671. FocusMode focusMode;
  4672. uint dragDropMode;
  4673. TraversalMode traversalMode;
  4674. XMLFile defaultStyle;
  4675. LayoutMode layoutMode;
  4676. int layoutSpacing;
  4677. IntRect layoutBorder;
  4678. int indent;
  4679. int indentSpacing;
  4680. /* (readonly) */
  4681. int indentWidth;
  4682. /* (readonly) */
  4683. IntVector2 childOffset;
  4684. bool elementEventSender;
  4685. /* (readonly) */
  4686. uint numChildren;
  4687. /* (readonly) */
  4688. uint numAllChildren;
  4689. /* (readonly) */
  4690. Array<UIElement> children;
  4691. UIElement parent;
  4692. /* (readonly) */
  4693. UIElement root;
  4694. /* (readonly) */
  4695. IntVector2 screenPosition;
  4696. /* (readonly) */
  4697. IntRect combinedScreenRect;
  4698. /* (readonly) */
  4699. float derivedOpacity;
  4700. /* (readonly) */
  4701. VariantMap vars;
  4702. Texture texture;
  4703. IntRect imageRect;
  4704. IntRect border;
  4705. IntVector2 hoverOffset;
  4706. BlendMode blendMode;
  4707. bool tiled;
  4708. };
  4709. class Sprite
  4710. {
  4711. // Methods:
  4712. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4713. bool Load(File, bool = false);
  4714. bool Save(File) const;
  4715. bool LoadXML(const XMLElement&, bool = false);
  4716. bool SaveXML(XMLElement&) const;
  4717. void ApplyAttributes();
  4718. bool SetAttribute(const String&, const Variant&);
  4719. void ResetToDefault();
  4720. void RemoveInstanceDefault();
  4721. Variant GetAttribute(const String&) const;
  4722. Variant GetAttributeDefault(const String&) const;
  4723. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  4724. bool LoadXML(File);
  4725. bool LoadXML(XMLFile, XMLFile);
  4726. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  4727. bool LoadChildXML(XMLFile, XMLFile = null);
  4728. bool SaveXML(File);
  4729. bool SetStyle(const XMLElement&);
  4730. bool SetStyle(const String&, XMLFile = null);
  4731. bool SetStyleAuto(XMLFile = null);
  4732. void SetSize(int, int);
  4733. void SetMinSize(int, int);
  4734. void SetMaxSize(int, int);
  4735. void SetFixedSize(int, int);
  4736. void SetFixedWidth(int);
  4737. void SetFixedHeight(int);
  4738. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  4739. void BringToFront();
  4740. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  4741. void AddChild(UIElement);
  4742. void InsertChild(uint, UIElement);
  4743. void RemoveChild(UIElement, uint = 0);
  4744. void RemoveChild(uint);
  4745. void RemoveAllChildren();
  4746. void Remove();
  4747. uint FindChild(UIElement) const;
  4748. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  4749. UIElement GetChild(const String&, bool = false) const;
  4750. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  4751. Array<UIElement> GetChildren(bool = false) const;
  4752. UIElement GetElementEventSender() const;
  4753. const Variant& GetVar(const ShortStringHash&);
  4754. uint GetNumChildren(bool) const;
  4755. void SetPosition(float, float);
  4756. void SetHotSpot(int, int);
  4757. void SetScale(float, float);
  4758. void SetScale(float);
  4759. void SetFullImageRect();
  4760. // Properties:
  4761. /* (readonly) */
  4762. int refs;
  4763. /* (readonly) */
  4764. int weakRefs;
  4765. /* (readonly) */
  4766. ShortStringHash type;
  4767. /* (readonly) */
  4768. ShortStringHash baseType;
  4769. /* (readonly) */
  4770. String typeName;
  4771. /* (readonly) */
  4772. String category;
  4773. /* (readonly) */
  4774. uint numAttributes;
  4775. Array<Variant> attributes;
  4776. /* (readonly) */
  4777. Array<Variant> attributeDefaults;
  4778. /* (readonly) */
  4779. Array<AttributeInfo> attributeInfos;
  4780. bool temporary;
  4781. String style;
  4782. String name;
  4783. IntVector2 size;
  4784. int width;
  4785. int height;
  4786. HorizontalAlignment horizontalAlignment;
  4787. VerticalAlignment verticalAlignment;
  4788. /* (writeonly) */
  4789. Color color;
  4790. Array<Color> colors;
  4791. int priority;
  4792. float opacity;
  4793. bool bringToFront;
  4794. bool bringToBack;
  4795. bool sortChildren;
  4796. bool useDerivedOpacity;
  4797. bool visible;
  4798. /* (readonly) */
  4799. bool colorGradient;
  4800. XMLFile defaultStyle;
  4801. bool elementEventSender;
  4802. /* (readonly) */
  4803. uint numChildren;
  4804. /* (readonly) */
  4805. uint numAllChildren;
  4806. /* (readonly) */
  4807. Array<UIElement> children;
  4808. UIElement parent;
  4809. /* (readonly) */
  4810. UIElement root;
  4811. /* (readonly) */
  4812. float derivedOpacity;
  4813. /* (readonly) */
  4814. VariantMap vars;
  4815. Vector2 position;
  4816. IntVector2 hotSpot;
  4817. Vector2 scale;
  4818. float rotation;
  4819. Texture texture;
  4820. IntRect imageRect;
  4821. BlendMode blendMode;
  4822. };
  4823. class Button
  4824. {
  4825. // Methods:
  4826. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4827. bool Load(File, bool = false);
  4828. bool Save(File) const;
  4829. bool LoadXML(const XMLElement&, bool = false);
  4830. bool SaveXML(XMLElement&) const;
  4831. void ApplyAttributes();
  4832. bool SetAttribute(const String&, const Variant&);
  4833. void ResetToDefault();
  4834. void RemoveInstanceDefault();
  4835. Variant GetAttribute(const String&) const;
  4836. Variant GetAttributeDefault(const String&) const;
  4837. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  4838. bool LoadXML(File);
  4839. bool LoadXML(XMLFile, XMLFile);
  4840. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  4841. bool LoadChildXML(XMLFile, XMLFile = null);
  4842. bool SaveXML(File);
  4843. bool SetStyle(const XMLElement&);
  4844. bool SetStyle(const String&, XMLFile = null);
  4845. bool SetStyleAuto(XMLFile = null);
  4846. void SetPosition(int, int);
  4847. void SetSize(int, int);
  4848. void SetMinSize(int, int);
  4849. void SetMaxSize(int, int);
  4850. void SetFixedSize(int, int);
  4851. void SetFixedWidth(int);
  4852. void SetFixedHeight(int);
  4853. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  4854. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  4855. void UpdateLayout();
  4856. void DisableLayoutUpdate();
  4857. void EnableLayoutUpdate();
  4858. void BringToFront();
  4859. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  4860. void AddChild(UIElement);
  4861. void InsertChild(uint, UIElement);
  4862. void RemoveChild(UIElement, uint = 0);
  4863. void RemoveChild(uint);
  4864. void RemoveAllChildren();
  4865. void Remove();
  4866. uint FindChild(UIElement) const;
  4867. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  4868. UIElement GetChild(const String&, bool = false) const;
  4869. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  4870. Array<UIElement> GetChildren(bool = false) const;
  4871. UIElement GetElementEventSender() const;
  4872. const Variant& GetVar(const ShortStringHash&);
  4873. IntVector2 ScreenToElement(const IntVector2&);
  4874. IntVector2 ElementToScreen(const IntVector2&);
  4875. bool IsInside(IntVector2, bool);
  4876. bool IsInsideCombined(IntVector2, bool);
  4877. uint GetNumChildren(bool) const;
  4878. void SetFullImageRect();
  4879. void SetHoverOffset(int, int);
  4880. void SetPressedOffset(int, int);
  4881. void SetPressedChildOffset(int, int);
  4882. void SetRepeat(float, float);
  4883. // Properties:
  4884. /* (readonly) */
  4885. int refs;
  4886. /* (readonly) */
  4887. int weakRefs;
  4888. /* (readonly) */
  4889. ShortStringHash type;
  4890. /* (readonly) */
  4891. ShortStringHash baseType;
  4892. /* (readonly) */
  4893. String typeName;
  4894. /* (readonly) */
  4895. String category;
  4896. /* (readonly) */
  4897. uint numAttributes;
  4898. Array<Variant> attributes;
  4899. /* (readonly) */
  4900. Array<Variant> attributeDefaults;
  4901. /* (readonly) */
  4902. Array<AttributeInfo> attributeInfos;
  4903. bool temporary;
  4904. String style;
  4905. String name;
  4906. IntVector2 position;
  4907. IntVector2 size;
  4908. int width;
  4909. int height;
  4910. IntVector2 minSize;
  4911. int minWidth;
  4912. int minHeight;
  4913. IntVector2 maxSize;
  4914. int maxWidth;
  4915. int maxHeight;
  4916. /* (readonly) */
  4917. bool fixedSize;
  4918. /* (readonly) */
  4919. bool fixedWidth;
  4920. /* (readonly) */
  4921. bool fixedHeight;
  4922. HorizontalAlignment horizontalAlignment;
  4923. VerticalAlignment verticalAlignment;
  4924. IntRect clipBorder;
  4925. /* (writeonly) */
  4926. Color color;
  4927. Array<Color> colors;
  4928. int priority;
  4929. float opacity;
  4930. bool bringToFront;
  4931. bool bringToBack;
  4932. bool clipChildren;
  4933. bool sortChildren;
  4934. bool useDerivedOpacity;
  4935. bool enabled;
  4936. bool editable;
  4937. bool focus;
  4938. bool selected;
  4939. bool visible;
  4940. /* (readonly) */
  4941. bool hovering;
  4942. bool internal;
  4943. /* (readonly) */
  4944. bool colorGradient;
  4945. FocusMode focusMode;
  4946. uint dragDropMode;
  4947. TraversalMode traversalMode;
  4948. XMLFile defaultStyle;
  4949. LayoutMode layoutMode;
  4950. int layoutSpacing;
  4951. IntRect layoutBorder;
  4952. int indent;
  4953. int indentSpacing;
  4954. /* (readonly) */
  4955. int indentWidth;
  4956. /* (readonly) */
  4957. IntVector2 childOffset;
  4958. bool elementEventSender;
  4959. /* (readonly) */
  4960. uint numChildren;
  4961. /* (readonly) */
  4962. uint numAllChildren;
  4963. /* (readonly) */
  4964. Array<UIElement> children;
  4965. UIElement parent;
  4966. /* (readonly) */
  4967. UIElement root;
  4968. /* (readonly) */
  4969. IntVector2 screenPosition;
  4970. /* (readonly) */
  4971. IntRect combinedScreenRect;
  4972. /* (readonly) */
  4973. float derivedOpacity;
  4974. /* (readonly) */
  4975. VariantMap vars;
  4976. Texture texture;
  4977. IntRect imageRect;
  4978. IntRect border;
  4979. IntVector2 hoverOffset;
  4980. BlendMode blendMode;
  4981. bool tiled;
  4982. IntVector2 pressedOffset;
  4983. IntVector2 pressedChildOffset;
  4984. float repeatDelay;
  4985. float repeatRate;
  4986. /* (readonly) */
  4987. bool pressed;
  4988. };
  4989. class CheckBox
  4990. {
  4991. // Methods:
  4992. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  4993. bool Load(File, bool = false);
  4994. bool Save(File) const;
  4995. bool LoadXML(const XMLElement&, bool = false);
  4996. bool SaveXML(XMLElement&) const;
  4997. void ApplyAttributes();
  4998. bool SetAttribute(const String&, const Variant&);
  4999. void ResetToDefault();
  5000. void RemoveInstanceDefault();
  5001. Variant GetAttribute(const String&) const;
  5002. Variant GetAttributeDefault(const String&) const;
  5003. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  5004. bool LoadXML(File);
  5005. bool LoadXML(XMLFile, XMLFile);
  5006. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  5007. bool LoadChildXML(XMLFile, XMLFile = null);
  5008. bool SaveXML(File);
  5009. bool SetStyle(const XMLElement&);
  5010. bool SetStyle(const String&, XMLFile = null);
  5011. bool SetStyleAuto(XMLFile = null);
  5012. void SetPosition(int, int);
  5013. void SetSize(int, int);
  5014. void SetMinSize(int, int);
  5015. void SetMaxSize(int, int);
  5016. void SetFixedSize(int, int);
  5017. void SetFixedWidth(int);
  5018. void SetFixedHeight(int);
  5019. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  5020. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  5021. void UpdateLayout();
  5022. void DisableLayoutUpdate();
  5023. void EnableLayoutUpdate();
  5024. void BringToFront();
  5025. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  5026. void AddChild(UIElement);
  5027. void InsertChild(uint, UIElement);
  5028. void RemoveChild(UIElement, uint = 0);
  5029. void RemoveChild(uint);
  5030. void RemoveAllChildren();
  5031. void Remove();
  5032. uint FindChild(UIElement) const;
  5033. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  5034. UIElement GetChild(const String&, bool = false) const;
  5035. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  5036. Array<UIElement> GetChildren(bool = false) const;
  5037. UIElement GetElementEventSender() const;
  5038. const Variant& GetVar(const ShortStringHash&);
  5039. IntVector2 ScreenToElement(const IntVector2&);
  5040. IntVector2 ElementToScreen(const IntVector2&);
  5041. bool IsInside(IntVector2, bool);
  5042. bool IsInsideCombined(IntVector2, bool);
  5043. uint GetNumChildren(bool) const;
  5044. void SetFullImageRect();
  5045. void SetHoverOffset(int, int);
  5046. void SetCheckedOffset(int, int);
  5047. // Properties:
  5048. /* (readonly) */
  5049. int refs;
  5050. /* (readonly) */
  5051. int weakRefs;
  5052. /* (readonly) */
  5053. ShortStringHash type;
  5054. /* (readonly) */
  5055. ShortStringHash baseType;
  5056. /* (readonly) */
  5057. String typeName;
  5058. /* (readonly) */
  5059. String category;
  5060. /* (readonly) */
  5061. uint numAttributes;
  5062. Array<Variant> attributes;
  5063. /* (readonly) */
  5064. Array<Variant> attributeDefaults;
  5065. /* (readonly) */
  5066. Array<AttributeInfo> attributeInfos;
  5067. bool temporary;
  5068. String style;
  5069. String name;
  5070. IntVector2 position;
  5071. IntVector2 size;
  5072. int width;
  5073. int height;
  5074. IntVector2 minSize;
  5075. int minWidth;
  5076. int minHeight;
  5077. IntVector2 maxSize;
  5078. int maxWidth;
  5079. int maxHeight;
  5080. /* (readonly) */
  5081. bool fixedSize;
  5082. /* (readonly) */
  5083. bool fixedWidth;
  5084. /* (readonly) */
  5085. bool fixedHeight;
  5086. HorizontalAlignment horizontalAlignment;
  5087. VerticalAlignment verticalAlignment;
  5088. IntRect clipBorder;
  5089. /* (writeonly) */
  5090. Color color;
  5091. Array<Color> colors;
  5092. int priority;
  5093. float opacity;
  5094. bool bringToFront;
  5095. bool bringToBack;
  5096. bool clipChildren;
  5097. bool sortChildren;
  5098. bool useDerivedOpacity;
  5099. bool enabled;
  5100. bool editable;
  5101. bool focus;
  5102. bool selected;
  5103. bool visible;
  5104. /* (readonly) */
  5105. bool hovering;
  5106. bool internal;
  5107. /* (readonly) */
  5108. bool colorGradient;
  5109. FocusMode focusMode;
  5110. uint dragDropMode;
  5111. TraversalMode traversalMode;
  5112. XMLFile defaultStyle;
  5113. LayoutMode layoutMode;
  5114. int layoutSpacing;
  5115. IntRect layoutBorder;
  5116. int indent;
  5117. int indentSpacing;
  5118. /* (readonly) */
  5119. int indentWidth;
  5120. /* (readonly) */
  5121. IntVector2 childOffset;
  5122. bool elementEventSender;
  5123. /* (readonly) */
  5124. uint numChildren;
  5125. /* (readonly) */
  5126. uint numAllChildren;
  5127. /* (readonly) */
  5128. Array<UIElement> children;
  5129. UIElement parent;
  5130. /* (readonly) */
  5131. UIElement root;
  5132. /* (readonly) */
  5133. IntVector2 screenPosition;
  5134. /* (readonly) */
  5135. IntRect combinedScreenRect;
  5136. /* (readonly) */
  5137. float derivedOpacity;
  5138. /* (readonly) */
  5139. VariantMap vars;
  5140. Texture texture;
  5141. IntRect imageRect;
  5142. IntRect border;
  5143. IntVector2 hoverOffset;
  5144. BlendMode blendMode;
  5145. bool tiled;
  5146. bool checked;
  5147. IntVector2 checkedOffset;
  5148. };
  5149. class Cursor
  5150. {
  5151. // Methods:
  5152. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  5153. bool Load(File, bool = false);
  5154. bool Save(File) const;
  5155. bool LoadXML(const XMLElement&, bool = false);
  5156. bool SaveXML(XMLElement&) const;
  5157. void ApplyAttributes();
  5158. bool SetAttribute(const String&, const Variant&);
  5159. void ResetToDefault();
  5160. void RemoveInstanceDefault();
  5161. Variant GetAttribute(const String&) const;
  5162. Variant GetAttributeDefault(const String&) const;
  5163. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  5164. bool LoadXML(File);
  5165. bool LoadXML(XMLFile, XMLFile);
  5166. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  5167. bool LoadChildXML(XMLFile, XMLFile = null);
  5168. bool SaveXML(File);
  5169. bool SetStyle(const XMLElement&);
  5170. bool SetStyle(const String&, XMLFile = null);
  5171. bool SetStyleAuto(XMLFile = null);
  5172. void SetPosition(int, int);
  5173. void SetSize(int, int);
  5174. void SetMinSize(int, int);
  5175. void SetMaxSize(int, int);
  5176. void SetFixedSize(int, int);
  5177. void SetFixedWidth(int);
  5178. void SetFixedHeight(int);
  5179. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  5180. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  5181. void UpdateLayout();
  5182. void DisableLayoutUpdate();
  5183. void EnableLayoutUpdate();
  5184. void BringToFront();
  5185. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  5186. void AddChild(UIElement);
  5187. void InsertChild(uint, UIElement);
  5188. void RemoveChild(UIElement, uint = 0);
  5189. void RemoveChild(uint);
  5190. void RemoveAllChildren();
  5191. void Remove();
  5192. uint FindChild(UIElement) const;
  5193. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  5194. UIElement GetChild(const String&, bool = false) const;
  5195. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  5196. Array<UIElement> GetChildren(bool = false) const;
  5197. UIElement GetElementEventSender() const;
  5198. const Variant& GetVar(const ShortStringHash&);
  5199. IntVector2 ScreenToElement(const IntVector2&);
  5200. IntVector2 ElementToScreen(const IntVector2&);
  5201. bool IsInside(IntVector2, bool);
  5202. bool IsInsideCombined(IntVector2, bool);
  5203. uint GetNumChildren(bool) const;
  5204. void SetFullImageRect();
  5205. void SetHoverOffset(int, int);
  5206. void DefineShape(CursorShape, Texture, const IntRect&, const IntVector2&);
  5207. // Properties:
  5208. /* (readonly) */
  5209. int refs;
  5210. /* (readonly) */
  5211. int weakRefs;
  5212. /* (readonly) */
  5213. ShortStringHash type;
  5214. /* (readonly) */
  5215. ShortStringHash baseType;
  5216. /* (readonly) */
  5217. String typeName;
  5218. /* (readonly) */
  5219. String category;
  5220. /* (readonly) */
  5221. uint numAttributes;
  5222. Array<Variant> attributes;
  5223. /* (readonly) */
  5224. Array<Variant> attributeDefaults;
  5225. /* (readonly) */
  5226. Array<AttributeInfo> attributeInfos;
  5227. bool temporary;
  5228. String style;
  5229. String name;
  5230. IntVector2 position;
  5231. IntVector2 size;
  5232. int width;
  5233. int height;
  5234. IntVector2 minSize;
  5235. int minWidth;
  5236. int minHeight;
  5237. IntVector2 maxSize;
  5238. int maxWidth;
  5239. int maxHeight;
  5240. /* (readonly) */
  5241. bool fixedSize;
  5242. /* (readonly) */
  5243. bool fixedWidth;
  5244. /* (readonly) */
  5245. bool fixedHeight;
  5246. HorizontalAlignment horizontalAlignment;
  5247. VerticalAlignment verticalAlignment;
  5248. IntRect clipBorder;
  5249. /* (writeonly) */
  5250. Color color;
  5251. Array<Color> colors;
  5252. int priority;
  5253. float opacity;
  5254. bool bringToFront;
  5255. bool bringToBack;
  5256. bool clipChildren;
  5257. bool sortChildren;
  5258. bool useDerivedOpacity;
  5259. bool enabled;
  5260. bool editable;
  5261. bool focus;
  5262. bool selected;
  5263. bool visible;
  5264. /* (readonly) */
  5265. bool hovering;
  5266. bool internal;
  5267. /* (readonly) */
  5268. bool colorGradient;
  5269. FocusMode focusMode;
  5270. uint dragDropMode;
  5271. TraversalMode traversalMode;
  5272. XMLFile defaultStyle;
  5273. LayoutMode layoutMode;
  5274. int layoutSpacing;
  5275. IntRect layoutBorder;
  5276. int indent;
  5277. int indentSpacing;
  5278. /* (readonly) */
  5279. int indentWidth;
  5280. /* (readonly) */
  5281. IntVector2 childOffset;
  5282. bool elementEventSender;
  5283. /* (readonly) */
  5284. uint numChildren;
  5285. /* (readonly) */
  5286. uint numAllChildren;
  5287. /* (readonly) */
  5288. Array<UIElement> children;
  5289. UIElement parent;
  5290. /* (readonly) */
  5291. UIElement root;
  5292. /* (readonly) */
  5293. IntVector2 screenPosition;
  5294. /* (readonly) */
  5295. IntRect combinedScreenRect;
  5296. /* (readonly) */
  5297. float derivedOpacity;
  5298. /* (readonly) */
  5299. VariantMap vars;
  5300. Texture texture;
  5301. IntRect imageRect;
  5302. IntRect border;
  5303. IntVector2 hoverOffset;
  5304. BlendMode blendMode;
  5305. bool tiled;
  5306. CursorShape shape;
  5307. bool useSystemShapes;
  5308. };
  5309. class Slider
  5310. {
  5311. // Methods:
  5312. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  5313. bool Load(File, bool = false);
  5314. bool Save(File) const;
  5315. bool LoadXML(const XMLElement&, bool = false);
  5316. bool SaveXML(XMLElement&) const;
  5317. void ApplyAttributes();
  5318. bool SetAttribute(const String&, const Variant&);
  5319. void ResetToDefault();
  5320. void RemoveInstanceDefault();
  5321. Variant GetAttribute(const String&) const;
  5322. Variant GetAttributeDefault(const String&) const;
  5323. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  5324. bool LoadXML(File);
  5325. bool LoadXML(XMLFile, XMLFile);
  5326. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  5327. bool LoadChildXML(XMLFile, XMLFile = null);
  5328. bool SaveXML(File);
  5329. bool SetStyle(const XMLElement&);
  5330. bool SetStyle(const String&, XMLFile = null);
  5331. bool SetStyleAuto(XMLFile = null);
  5332. void SetPosition(int, int);
  5333. void SetSize(int, int);
  5334. void SetMinSize(int, int);
  5335. void SetMaxSize(int, int);
  5336. void SetFixedSize(int, int);
  5337. void SetFixedWidth(int);
  5338. void SetFixedHeight(int);
  5339. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  5340. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  5341. void UpdateLayout();
  5342. void DisableLayoutUpdate();
  5343. void EnableLayoutUpdate();
  5344. void BringToFront();
  5345. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  5346. void AddChild(UIElement);
  5347. void InsertChild(uint, UIElement);
  5348. void RemoveChild(UIElement, uint = 0);
  5349. void RemoveChild(uint);
  5350. void RemoveAllChildren();
  5351. void Remove();
  5352. uint FindChild(UIElement) const;
  5353. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  5354. UIElement GetChild(const String&, bool = false) const;
  5355. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  5356. Array<UIElement> GetChildren(bool = false) const;
  5357. UIElement GetElementEventSender() const;
  5358. const Variant& GetVar(const ShortStringHash&);
  5359. IntVector2 ScreenToElement(const IntVector2&);
  5360. IntVector2 ElementToScreen(const IntVector2&);
  5361. bool IsInside(IntVector2, bool);
  5362. bool IsInsideCombined(IntVector2, bool);
  5363. uint GetNumChildren(bool) const;
  5364. void SetFullImageRect();
  5365. void SetHoverOffset(int, int);
  5366. void ChangeValue(float);
  5367. // Properties:
  5368. /* (readonly) */
  5369. int refs;
  5370. /* (readonly) */
  5371. int weakRefs;
  5372. /* (readonly) */
  5373. ShortStringHash type;
  5374. /* (readonly) */
  5375. ShortStringHash baseType;
  5376. /* (readonly) */
  5377. String typeName;
  5378. /* (readonly) */
  5379. String category;
  5380. /* (readonly) */
  5381. uint numAttributes;
  5382. Array<Variant> attributes;
  5383. /* (readonly) */
  5384. Array<Variant> attributeDefaults;
  5385. /* (readonly) */
  5386. Array<AttributeInfo> attributeInfos;
  5387. bool temporary;
  5388. String style;
  5389. String name;
  5390. IntVector2 position;
  5391. IntVector2 size;
  5392. int width;
  5393. int height;
  5394. IntVector2 minSize;
  5395. int minWidth;
  5396. int minHeight;
  5397. IntVector2 maxSize;
  5398. int maxWidth;
  5399. int maxHeight;
  5400. /* (readonly) */
  5401. bool fixedSize;
  5402. /* (readonly) */
  5403. bool fixedWidth;
  5404. /* (readonly) */
  5405. bool fixedHeight;
  5406. HorizontalAlignment horizontalAlignment;
  5407. VerticalAlignment verticalAlignment;
  5408. IntRect clipBorder;
  5409. /* (writeonly) */
  5410. Color color;
  5411. Array<Color> colors;
  5412. int priority;
  5413. float opacity;
  5414. bool bringToFront;
  5415. bool bringToBack;
  5416. bool clipChildren;
  5417. bool sortChildren;
  5418. bool useDerivedOpacity;
  5419. bool enabled;
  5420. bool editable;
  5421. bool focus;
  5422. bool selected;
  5423. bool visible;
  5424. /* (readonly) */
  5425. bool hovering;
  5426. bool internal;
  5427. /* (readonly) */
  5428. bool colorGradient;
  5429. FocusMode focusMode;
  5430. uint dragDropMode;
  5431. TraversalMode traversalMode;
  5432. XMLFile defaultStyle;
  5433. LayoutMode layoutMode;
  5434. int layoutSpacing;
  5435. IntRect layoutBorder;
  5436. int indent;
  5437. int indentSpacing;
  5438. /* (readonly) */
  5439. int indentWidth;
  5440. /* (readonly) */
  5441. IntVector2 childOffset;
  5442. bool elementEventSender;
  5443. /* (readonly) */
  5444. uint numChildren;
  5445. /* (readonly) */
  5446. uint numAllChildren;
  5447. /* (readonly) */
  5448. Array<UIElement> children;
  5449. UIElement parent;
  5450. /* (readonly) */
  5451. UIElement root;
  5452. /* (readonly) */
  5453. IntVector2 screenPosition;
  5454. /* (readonly) */
  5455. IntRect combinedScreenRect;
  5456. /* (readonly) */
  5457. float derivedOpacity;
  5458. /* (readonly) */
  5459. VariantMap vars;
  5460. Texture texture;
  5461. IntRect imageRect;
  5462. IntRect border;
  5463. IntVector2 hoverOffset;
  5464. BlendMode blendMode;
  5465. bool tiled;
  5466. Orientation orientation;
  5467. float range;
  5468. float value;
  5469. /* (readonly) */
  5470. BorderImage knob;
  5471. float repeatRate;
  5472. };
  5473. class ScrollBar
  5474. {
  5475. // Methods:
  5476. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  5477. bool Load(File, bool = false);
  5478. bool Save(File) const;
  5479. bool LoadXML(const XMLElement&, bool = false);
  5480. bool SaveXML(XMLElement&) const;
  5481. void ApplyAttributes();
  5482. bool SetAttribute(const String&, const Variant&);
  5483. void ResetToDefault();
  5484. void RemoveInstanceDefault();
  5485. Variant GetAttribute(const String&) const;
  5486. Variant GetAttributeDefault(const String&) const;
  5487. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  5488. bool LoadXML(File);
  5489. bool LoadXML(XMLFile, XMLFile);
  5490. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  5491. bool LoadChildXML(XMLFile, XMLFile = null);
  5492. bool SaveXML(File);
  5493. bool SetStyle(const XMLElement&);
  5494. bool SetStyle(const String&, XMLFile = null);
  5495. bool SetStyleAuto(XMLFile = null);
  5496. void SetPosition(int, int);
  5497. void SetSize(int, int);
  5498. void SetMinSize(int, int);
  5499. void SetMaxSize(int, int);
  5500. void SetFixedSize(int, int);
  5501. void SetFixedWidth(int);
  5502. void SetFixedHeight(int);
  5503. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  5504. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  5505. void UpdateLayout();
  5506. void DisableLayoutUpdate();
  5507. void EnableLayoutUpdate();
  5508. void BringToFront();
  5509. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  5510. void AddChild(UIElement);
  5511. void InsertChild(uint, UIElement);
  5512. void RemoveChild(UIElement, uint = 0);
  5513. void RemoveChild(uint);
  5514. void RemoveAllChildren();
  5515. void Remove();
  5516. uint FindChild(UIElement) const;
  5517. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  5518. UIElement GetChild(const String&, bool = false) const;
  5519. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  5520. Array<UIElement> GetChildren(bool = false) const;
  5521. UIElement GetElementEventSender() const;
  5522. const Variant& GetVar(const ShortStringHash&);
  5523. IntVector2 ScreenToElement(const IntVector2&);
  5524. IntVector2 ElementToScreen(const IntVector2&);
  5525. bool IsInside(IntVector2, bool);
  5526. bool IsInsideCombined(IntVector2, bool);
  5527. uint GetNumChildren(bool) const;
  5528. void ChangeValue(float);
  5529. void StepBack();
  5530. void StepForward();
  5531. // Properties:
  5532. /* (readonly) */
  5533. int refs;
  5534. /* (readonly) */
  5535. int weakRefs;
  5536. /* (readonly) */
  5537. ShortStringHash type;
  5538. /* (readonly) */
  5539. ShortStringHash baseType;
  5540. /* (readonly) */
  5541. String typeName;
  5542. /* (readonly) */
  5543. String category;
  5544. /* (readonly) */
  5545. uint numAttributes;
  5546. Array<Variant> attributes;
  5547. /* (readonly) */
  5548. Array<Variant> attributeDefaults;
  5549. /* (readonly) */
  5550. Array<AttributeInfo> attributeInfos;
  5551. bool temporary;
  5552. String style;
  5553. String name;
  5554. IntVector2 position;
  5555. IntVector2 size;
  5556. int width;
  5557. int height;
  5558. IntVector2 minSize;
  5559. int minWidth;
  5560. int minHeight;
  5561. IntVector2 maxSize;
  5562. int maxWidth;
  5563. int maxHeight;
  5564. /* (readonly) */
  5565. bool fixedSize;
  5566. /* (readonly) */
  5567. bool fixedWidth;
  5568. /* (readonly) */
  5569. bool fixedHeight;
  5570. HorizontalAlignment horizontalAlignment;
  5571. VerticalAlignment verticalAlignment;
  5572. IntRect clipBorder;
  5573. /* (writeonly) */
  5574. Color color;
  5575. Array<Color> colors;
  5576. int priority;
  5577. float opacity;
  5578. bool bringToFront;
  5579. bool bringToBack;
  5580. bool clipChildren;
  5581. bool sortChildren;
  5582. bool useDerivedOpacity;
  5583. bool enabled;
  5584. bool editable;
  5585. bool focus;
  5586. bool selected;
  5587. bool visible;
  5588. /* (readonly) */
  5589. bool hovering;
  5590. bool internal;
  5591. /* (readonly) */
  5592. bool colorGradient;
  5593. FocusMode focusMode;
  5594. uint dragDropMode;
  5595. TraversalMode traversalMode;
  5596. XMLFile defaultStyle;
  5597. LayoutMode layoutMode;
  5598. int layoutSpacing;
  5599. IntRect layoutBorder;
  5600. int indent;
  5601. int indentSpacing;
  5602. /* (readonly) */
  5603. int indentWidth;
  5604. /* (readonly) */
  5605. IntVector2 childOffset;
  5606. bool elementEventSender;
  5607. /* (readonly) */
  5608. uint numChildren;
  5609. /* (readonly) */
  5610. uint numAllChildren;
  5611. /* (readonly) */
  5612. Array<UIElement> children;
  5613. UIElement parent;
  5614. /* (readonly) */
  5615. UIElement root;
  5616. /* (readonly) */
  5617. IntVector2 screenPosition;
  5618. /* (readonly) */
  5619. IntRect combinedScreenRect;
  5620. /* (readonly) */
  5621. float derivedOpacity;
  5622. /* (readonly) */
  5623. VariantMap vars;
  5624. Orientation orientation;
  5625. float range;
  5626. float value;
  5627. float scrollStep;
  5628. float stepFactor;
  5629. /* (readonly) */
  5630. float effectiveScrollStep;
  5631. /* (readonly) */
  5632. Button backButton;
  5633. /* (readonly) */
  5634. Button forwardButton;
  5635. /* (readonly) */
  5636. Slider slider;
  5637. };
  5638. class ScrollView
  5639. {
  5640. // Methods:
  5641. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  5642. bool Load(File, bool = false);
  5643. bool Save(File) const;
  5644. bool LoadXML(const XMLElement&, bool = false);
  5645. bool SaveXML(XMLElement&) const;
  5646. void ApplyAttributes();
  5647. bool SetAttribute(const String&, const Variant&);
  5648. void ResetToDefault();
  5649. void RemoveInstanceDefault();
  5650. Variant GetAttribute(const String&) const;
  5651. Variant GetAttributeDefault(const String&) const;
  5652. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  5653. bool LoadXML(File);
  5654. bool LoadXML(XMLFile, XMLFile);
  5655. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  5656. bool LoadChildXML(XMLFile, XMLFile = null);
  5657. bool SaveXML(File);
  5658. bool SetStyle(const XMLElement&);
  5659. bool SetStyle(const String&, XMLFile = null);
  5660. bool SetStyleAuto(XMLFile = null);
  5661. void SetPosition(int, int);
  5662. void SetSize(int, int);
  5663. void SetMinSize(int, int);
  5664. void SetMaxSize(int, int);
  5665. void SetFixedSize(int, int);
  5666. void SetFixedWidth(int);
  5667. void SetFixedHeight(int);
  5668. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  5669. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  5670. void UpdateLayout();
  5671. void DisableLayoutUpdate();
  5672. void EnableLayoutUpdate();
  5673. void BringToFront();
  5674. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  5675. void AddChild(UIElement);
  5676. void InsertChild(uint, UIElement);
  5677. void RemoveChild(UIElement, uint = 0);
  5678. void RemoveChild(uint);
  5679. void RemoveAllChildren();
  5680. void Remove();
  5681. uint FindChild(UIElement) const;
  5682. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  5683. UIElement GetChild(const String&, bool = false) const;
  5684. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  5685. Array<UIElement> GetChildren(bool = false) const;
  5686. UIElement GetElementEventSender() const;
  5687. const Variant& GetVar(const ShortStringHash&);
  5688. IntVector2 ScreenToElement(const IntVector2&);
  5689. IntVector2 ElementToScreen(const IntVector2&);
  5690. bool IsInside(IntVector2, bool);
  5691. bool IsInsideCombined(IntVector2, bool);
  5692. uint GetNumChildren(bool) const;
  5693. void SetViewPosition(int, int);
  5694. void SetScrollBarsVisible(bool, bool);
  5695. // Properties:
  5696. /* (readonly) */
  5697. int refs;
  5698. /* (readonly) */
  5699. int weakRefs;
  5700. /* (readonly) */
  5701. ShortStringHash type;
  5702. /* (readonly) */
  5703. ShortStringHash baseType;
  5704. /* (readonly) */
  5705. String typeName;
  5706. /* (readonly) */
  5707. String category;
  5708. /* (readonly) */
  5709. uint numAttributes;
  5710. Array<Variant> attributes;
  5711. /* (readonly) */
  5712. Array<Variant> attributeDefaults;
  5713. /* (readonly) */
  5714. Array<AttributeInfo> attributeInfos;
  5715. bool temporary;
  5716. String style;
  5717. String name;
  5718. IntVector2 position;
  5719. IntVector2 size;
  5720. int width;
  5721. int height;
  5722. IntVector2 minSize;
  5723. int minWidth;
  5724. int minHeight;
  5725. IntVector2 maxSize;
  5726. int maxWidth;
  5727. int maxHeight;
  5728. /* (readonly) */
  5729. bool fixedSize;
  5730. /* (readonly) */
  5731. bool fixedWidth;
  5732. /* (readonly) */
  5733. bool fixedHeight;
  5734. HorizontalAlignment horizontalAlignment;
  5735. VerticalAlignment verticalAlignment;
  5736. IntRect clipBorder;
  5737. /* (writeonly) */
  5738. Color color;
  5739. Array<Color> colors;
  5740. int priority;
  5741. float opacity;
  5742. bool bringToFront;
  5743. bool bringToBack;
  5744. bool clipChildren;
  5745. bool sortChildren;
  5746. bool useDerivedOpacity;
  5747. bool enabled;
  5748. bool editable;
  5749. bool focus;
  5750. bool selected;
  5751. bool visible;
  5752. /* (readonly) */
  5753. bool hovering;
  5754. bool internal;
  5755. /* (readonly) */
  5756. bool colorGradient;
  5757. FocusMode focusMode;
  5758. uint dragDropMode;
  5759. TraversalMode traversalMode;
  5760. XMLFile defaultStyle;
  5761. LayoutMode layoutMode;
  5762. int layoutSpacing;
  5763. IntRect layoutBorder;
  5764. int indent;
  5765. int indentSpacing;
  5766. /* (readonly) */
  5767. int indentWidth;
  5768. /* (readonly) */
  5769. IntVector2 childOffset;
  5770. bool elementEventSender;
  5771. /* (readonly) */
  5772. uint numChildren;
  5773. /* (readonly) */
  5774. uint numAllChildren;
  5775. /* (readonly) */
  5776. Array<UIElement> children;
  5777. UIElement parent;
  5778. /* (readonly) */
  5779. UIElement root;
  5780. /* (readonly) */
  5781. IntVector2 screenPosition;
  5782. /* (readonly) */
  5783. IntRect combinedScreenRect;
  5784. /* (readonly) */
  5785. float derivedOpacity;
  5786. /* (readonly) */
  5787. VariantMap vars;
  5788. UIElement contentElement;
  5789. IntVector2 viewPosition;
  5790. float scrollStep;
  5791. float pageStep;
  5792. /* (readonly) */
  5793. ScrollBar horizontalScrollBar;
  5794. /* (readonly) */
  5795. ScrollBar verticalScrollBar;
  5796. /* (readonly) */
  5797. BorderImage scrollPanel;
  5798. bool scrollBarsAutoVisible;
  5799. };
  5800. class ListView
  5801. {
  5802. // Methods:
  5803. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  5804. bool Load(File, bool = false);
  5805. bool Save(File) const;
  5806. bool LoadXML(const XMLElement&, bool = false);
  5807. bool SaveXML(XMLElement&) const;
  5808. void ApplyAttributes();
  5809. bool SetAttribute(const String&, const Variant&);
  5810. void ResetToDefault();
  5811. void RemoveInstanceDefault();
  5812. Variant GetAttribute(const String&) const;
  5813. Variant GetAttributeDefault(const String&) const;
  5814. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  5815. bool LoadXML(File);
  5816. bool LoadXML(XMLFile, XMLFile);
  5817. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  5818. bool LoadChildXML(XMLFile, XMLFile = null);
  5819. bool SaveXML(File);
  5820. bool SetStyle(const XMLElement&);
  5821. bool SetStyle(const String&, XMLFile = null);
  5822. bool SetStyleAuto(XMLFile = null);
  5823. void SetPosition(int, int);
  5824. void SetSize(int, int);
  5825. void SetMinSize(int, int);
  5826. void SetMaxSize(int, int);
  5827. void SetFixedSize(int, int);
  5828. void SetFixedWidth(int);
  5829. void SetFixedHeight(int);
  5830. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  5831. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  5832. void UpdateLayout();
  5833. void DisableLayoutUpdate();
  5834. void EnableLayoutUpdate();
  5835. void BringToFront();
  5836. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  5837. void AddChild(UIElement);
  5838. void InsertChild(uint, UIElement);
  5839. void RemoveChild(UIElement, uint = 0);
  5840. void RemoveChild(uint);
  5841. void RemoveAllChildren();
  5842. void Remove();
  5843. uint FindChild(UIElement) const;
  5844. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  5845. UIElement GetChild(const String&, bool = false) const;
  5846. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  5847. Array<UIElement> GetChildren(bool = false) const;
  5848. UIElement GetElementEventSender() const;
  5849. const Variant& GetVar(const ShortStringHash&);
  5850. IntVector2 ScreenToElement(const IntVector2&);
  5851. IntVector2 ElementToScreen(const IntVector2&);
  5852. bool IsInside(IntVector2, bool);
  5853. bool IsInsideCombined(IntVector2, bool);
  5854. uint GetNumChildren(bool) const;
  5855. void SetViewPosition(int, int);
  5856. void SetScrollBarsVisible(bool, bool);
  5857. void AddItem(UIElement);
  5858. void InsertItem(uint, UIElement, UIElement = null);
  5859. void RemoveItem(UIElement, uint = 0);
  5860. void RemoveItem(uint);
  5861. void RemoveAllItems();
  5862. void AddSelection(uint);
  5863. void RemoveSelection(uint);
  5864. void ToggleSelection(uint);
  5865. void ChangeSelection(int, bool);
  5866. void SetSelections(Array<uint>);
  5867. void ClearSelection();
  5868. void Expand(uint, bool, bool = false);
  5869. void ToggleExpand(uint, bool = false);
  5870. bool IsSelected(uint) const;
  5871. bool IsExpanded(uint) const;
  5872. Array<UIElement> GetItems() const;
  5873. uint FindItem(UIElement);
  5874. // Properties:
  5875. /* (readonly) */
  5876. int refs;
  5877. /* (readonly) */
  5878. int weakRefs;
  5879. /* (readonly) */
  5880. ShortStringHash type;
  5881. /* (readonly) */
  5882. ShortStringHash baseType;
  5883. /* (readonly) */
  5884. String typeName;
  5885. /* (readonly) */
  5886. String category;
  5887. /* (readonly) */
  5888. uint numAttributes;
  5889. Array<Variant> attributes;
  5890. /* (readonly) */
  5891. Array<Variant> attributeDefaults;
  5892. /* (readonly) */
  5893. Array<AttributeInfo> attributeInfos;
  5894. bool temporary;
  5895. String style;
  5896. String name;
  5897. IntVector2 position;
  5898. IntVector2 size;
  5899. int width;
  5900. int height;
  5901. IntVector2 minSize;
  5902. int minWidth;
  5903. int minHeight;
  5904. IntVector2 maxSize;
  5905. int maxWidth;
  5906. int maxHeight;
  5907. /* (readonly) */
  5908. bool fixedSize;
  5909. /* (readonly) */
  5910. bool fixedWidth;
  5911. /* (readonly) */
  5912. bool fixedHeight;
  5913. HorizontalAlignment horizontalAlignment;
  5914. VerticalAlignment verticalAlignment;
  5915. IntRect clipBorder;
  5916. /* (writeonly) */
  5917. Color color;
  5918. Array<Color> colors;
  5919. int priority;
  5920. float opacity;
  5921. bool bringToFront;
  5922. bool bringToBack;
  5923. bool clipChildren;
  5924. bool sortChildren;
  5925. bool useDerivedOpacity;
  5926. bool enabled;
  5927. bool editable;
  5928. bool focus;
  5929. bool selected;
  5930. bool visible;
  5931. /* (readonly) */
  5932. bool hovering;
  5933. bool internal;
  5934. /* (readonly) */
  5935. bool colorGradient;
  5936. FocusMode focusMode;
  5937. uint dragDropMode;
  5938. TraversalMode traversalMode;
  5939. XMLFile defaultStyle;
  5940. LayoutMode layoutMode;
  5941. int layoutSpacing;
  5942. IntRect layoutBorder;
  5943. int indent;
  5944. int indentSpacing;
  5945. /* (readonly) */
  5946. int indentWidth;
  5947. /* (readonly) */
  5948. IntVector2 childOffset;
  5949. bool elementEventSender;
  5950. /* (readonly) */
  5951. uint numChildren;
  5952. /* (readonly) */
  5953. uint numAllChildren;
  5954. /* (readonly) */
  5955. Array<UIElement> children;
  5956. UIElement parent;
  5957. /* (readonly) */
  5958. UIElement root;
  5959. /* (readonly) */
  5960. IntVector2 screenPosition;
  5961. /* (readonly) */
  5962. IntRect combinedScreenRect;
  5963. /* (readonly) */
  5964. float derivedOpacity;
  5965. /* (readonly) */
  5966. VariantMap vars;
  5967. IntVector2 viewPosition;
  5968. /* (readonly) */
  5969. UIElement contentElement;
  5970. /* (readonly) */
  5971. ScrollBar horizontalScrollBar;
  5972. /* (readonly) */
  5973. ScrollBar verticalScrollBar;
  5974. /* (readonly) */
  5975. BorderImage scrollPanel;
  5976. bool scrollBarsAutoVisible;
  5977. float scrollStep;
  5978. float pageStep;
  5979. /* (readonly) */
  5980. uint numItems;
  5981. /* (readonly) */
  5982. Array<UIElement> items;
  5983. uint selection;
  5984. /* (readonly) */
  5985. Array<uint> selections;
  5986. /* (readonly) */
  5987. UIElement selectedItem;
  5988. /* (readonly) */
  5989. Array<UIElement> selectedItems;
  5990. HighlightMode highlightMode;
  5991. bool multiselect;
  5992. bool hierarchyMode;
  5993. int baseIndent;
  5994. bool clearSelectionOnDefocus;
  5995. };
  5996. class Text
  5997. {
  5998. // Methods:
  5999. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  6000. bool Load(File, bool = false);
  6001. bool Save(File) const;
  6002. bool LoadXML(const XMLElement&, bool = false);
  6003. bool SaveXML(XMLElement&) const;
  6004. void ApplyAttributes();
  6005. bool SetAttribute(const String&, const Variant&);
  6006. void ResetToDefault();
  6007. void RemoveInstanceDefault();
  6008. Variant GetAttribute(const String&) const;
  6009. Variant GetAttributeDefault(const String&) const;
  6010. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  6011. bool LoadXML(File);
  6012. bool LoadXML(XMLFile, XMLFile);
  6013. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  6014. bool LoadChildXML(XMLFile, XMLFile = null);
  6015. bool SaveXML(File);
  6016. bool SetStyle(const XMLElement&);
  6017. bool SetStyle(const String&, XMLFile = null);
  6018. bool SetStyleAuto(XMLFile = null);
  6019. void SetPosition(int, int);
  6020. void SetSize(int, int);
  6021. void SetMinSize(int, int);
  6022. void SetMaxSize(int, int);
  6023. void SetFixedSize(int, int);
  6024. void SetFixedWidth(int);
  6025. void SetFixedHeight(int);
  6026. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  6027. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  6028. void UpdateLayout();
  6029. void DisableLayoutUpdate();
  6030. void EnableLayoutUpdate();
  6031. void BringToFront();
  6032. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  6033. void AddChild(UIElement);
  6034. void InsertChild(uint, UIElement);
  6035. void RemoveChild(UIElement, uint = 0);
  6036. void RemoveChild(uint);
  6037. void RemoveAllChildren();
  6038. void Remove();
  6039. uint FindChild(UIElement) const;
  6040. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  6041. UIElement GetChild(const String&, bool = false) const;
  6042. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  6043. Array<UIElement> GetChildren(bool = false) const;
  6044. UIElement GetElementEventSender() const;
  6045. const Variant& GetVar(const ShortStringHash&);
  6046. IntVector2 ScreenToElement(const IntVector2&);
  6047. IntVector2 ElementToScreen(const IntVector2&);
  6048. bool IsInside(IntVector2, bool);
  6049. bool IsInsideCombined(IntVector2, bool);
  6050. uint GetNumChildren(bool) const;
  6051. bool SetFont(const String&, int);
  6052. bool SetFont(Font, int);
  6053. void SetSelection(uint, uint = M_MAX_UNSIGNED);
  6054. void ClearSelection();
  6055. // Properties:
  6056. /* (readonly) */
  6057. int refs;
  6058. /* (readonly) */
  6059. int weakRefs;
  6060. /* (readonly) */
  6061. ShortStringHash type;
  6062. /* (readonly) */
  6063. ShortStringHash baseType;
  6064. /* (readonly) */
  6065. String typeName;
  6066. /* (readonly) */
  6067. String category;
  6068. /* (readonly) */
  6069. uint numAttributes;
  6070. Array<Variant> attributes;
  6071. /* (readonly) */
  6072. Array<Variant> attributeDefaults;
  6073. /* (readonly) */
  6074. Array<AttributeInfo> attributeInfos;
  6075. bool temporary;
  6076. String style;
  6077. String name;
  6078. IntVector2 position;
  6079. IntVector2 size;
  6080. int width;
  6081. int height;
  6082. IntVector2 minSize;
  6083. int minWidth;
  6084. int minHeight;
  6085. IntVector2 maxSize;
  6086. int maxWidth;
  6087. int maxHeight;
  6088. /* (readonly) */
  6089. bool fixedSize;
  6090. /* (readonly) */
  6091. bool fixedWidth;
  6092. /* (readonly) */
  6093. bool fixedHeight;
  6094. HorizontalAlignment horizontalAlignment;
  6095. VerticalAlignment verticalAlignment;
  6096. IntRect clipBorder;
  6097. /* (writeonly) */
  6098. Color color;
  6099. Array<Color> colors;
  6100. int priority;
  6101. float opacity;
  6102. bool bringToFront;
  6103. bool bringToBack;
  6104. bool clipChildren;
  6105. bool sortChildren;
  6106. bool useDerivedOpacity;
  6107. bool enabled;
  6108. bool editable;
  6109. bool focus;
  6110. bool selected;
  6111. bool visible;
  6112. /* (readonly) */
  6113. bool hovering;
  6114. bool internal;
  6115. /* (readonly) */
  6116. bool colorGradient;
  6117. FocusMode focusMode;
  6118. uint dragDropMode;
  6119. TraversalMode traversalMode;
  6120. XMLFile defaultStyle;
  6121. LayoutMode layoutMode;
  6122. int layoutSpacing;
  6123. IntRect layoutBorder;
  6124. int indent;
  6125. int indentSpacing;
  6126. /* (readonly) */
  6127. int indentWidth;
  6128. /* (readonly) */
  6129. IntVector2 childOffset;
  6130. bool elementEventSender;
  6131. /* (readonly) */
  6132. uint numChildren;
  6133. /* (readonly) */
  6134. uint numAllChildren;
  6135. /* (readonly) */
  6136. Array<UIElement> children;
  6137. UIElement parent;
  6138. /* (readonly) */
  6139. UIElement root;
  6140. /* (readonly) */
  6141. IntVector2 screenPosition;
  6142. /* (readonly) */
  6143. IntRect combinedScreenRect;
  6144. /* (readonly) */
  6145. float derivedOpacity;
  6146. /* (readonly) */
  6147. VariantMap vars;
  6148. /* (readonly) */
  6149. Font font;
  6150. /* (readonly) */
  6151. int fontSize;
  6152. String text;
  6153. HorizontalAlignment textAlignment;
  6154. float rowSpacing;
  6155. bool wordwrap;
  6156. /* (readonly) */
  6157. uint selectionStart;
  6158. /* (readonly) */
  6159. uint selectionLength;
  6160. Color selectionColor;
  6161. Color hoverColor;
  6162. TextEffect textEffect;
  6163. Color effectColor;
  6164. /* (readonly) */
  6165. uint numRows;
  6166. /* (readonly) */
  6167. int rowHeight;
  6168. };
  6169. class Text3D
  6170. {
  6171. // Methods:
  6172. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  6173. bool Load(File, bool = false);
  6174. bool Save(File) const;
  6175. bool LoadXML(const XMLElement&, bool = false);
  6176. bool SaveXML(XMLElement&) const;
  6177. void ApplyAttributes();
  6178. bool SetAttribute(const String&, const Variant&);
  6179. void ResetToDefault();
  6180. void RemoveInstanceDefault();
  6181. Variant GetAttribute(const String&) const;
  6182. Variant GetAttributeDefault(const String&) const;
  6183. void Remove();
  6184. void MarkNetworkUpdate() const;
  6185. void DrawDebugGeometry(DebugRenderer, bool);
  6186. bool SetFont(const String&, int);
  6187. bool SetFont(Font, int);
  6188. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  6189. // Properties:
  6190. /* (readonly) */
  6191. int refs;
  6192. /* (readonly) */
  6193. int weakRefs;
  6194. /* (readonly) */
  6195. ShortStringHash type;
  6196. /* (readonly) */
  6197. ShortStringHash baseType;
  6198. /* (readonly) */
  6199. String typeName;
  6200. /* (readonly) */
  6201. String category;
  6202. /* (readonly) */
  6203. uint numAttributes;
  6204. Array<Variant> attributes;
  6205. /* (readonly) */
  6206. Array<Variant> attributeDefaults;
  6207. /* (readonly) */
  6208. Array<AttributeInfo> attributeInfos;
  6209. bool temporary;
  6210. bool enabled;
  6211. /* (readonly) */
  6212. bool enabledEffective;
  6213. /* (readonly) */
  6214. uint id;
  6215. /* (readonly) */
  6216. Node node;
  6217. /* (readonly) */
  6218. bool inView;
  6219. bool castShadows;
  6220. bool occluder;
  6221. bool occludee;
  6222. float drawDistance;
  6223. float shadowDistance;
  6224. float lodBias;
  6225. uint viewMask;
  6226. uint lightMask;
  6227. uint shadowMask;
  6228. uint zoneMask;
  6229. uint maxLights;
  6230. /* (readonly) */
  6231. BoundingBox boundingBox;
  6232. /* (readonly) */
  6233. BoundingBox worldBoundingBox;
  6234. /* (readonly) */
  6235. Font font;
  6236. /* (readonly) */
  6237. int fontSize;
  6238. Material material;
  6239. String text;
  6240. HorizontalAlignment textAlignment;
  6241. HorizontalAlignment horizontalAlignment;
  6242. VerticalAlignment verticalAlignment;
  6243. float rowSpacing;
  6244. bool wordwrap;
  6245. TextEffect textEffect;
  6246. Color effectColor;
  6247. float effectDepthBias;
  6248. int width;
  6249. /* (writeonly) */
  6250. Color color;
  6251. Array<Color> colors;
  6252. float opacity;
  6253. bool faceCamera;
  6254. /* (readonly) */
  6255. uint numRows;
  6256. /* (readonly) */
  6257. int rowHeight;
  6258. };
  6259. class LineEdit
  6260. {
  6261. // Methods:
  6262. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  6263. bool Load(File, bool = false);
  6264. bool Save(File) const;
  6265. bool LoadXML(const XMLElement&, bool = false);
  6266. bool SaveXML(XMLElement&) const;
  6267. void ApplyAttributes();
  6268. bool SetAttribute(const String&, const Variant&);
  6269. void ResetToDefault();
  6270. void RemoveInstanceDefault();
  6271. Variant GetAttribute(const String&) const;
  6272. Variant GetAttributeDefault(const String&) const;
  6273. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  6274. bool LoadXML(File);
  6275. bool LoadXML(XMLFile, XMLFile);
  6276. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  6277. bool LoadChildXML(XMLFile, XMLFile = null);
  6278. bool SaveXML(File);
  6279. bool SetStyle(const XMLElement&);
  6280. bool SetStyle(const String&, XMLFile = null);
  6281. bool SetStyleAuto(XMLFile = null);
  6282. void SetPosition(int, int);
  6283. void SetSize(int, int);
  6284. void SetMinSize(int, int);
  6285. void SetMaxSize(int, int);
  6286. void SetFixedSize(int, int);
  6287. void SetFixedWidth(int);
  6288. void SetFixedHeight(int);
  6289. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  6290. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  6291. void UpdateLayout();
  6292. void DisableLayoutUpdate();
  6293. void EnableLayoutUpdate();
  6294. void BringToFront();
  6295. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  6296. void AddChild(UIElement);
  6297. void InsertChild(uint, UIElement);
  6298. void RemoveChild(UIElement, uint = 0);
  6299. void RemoveChild(uint);
  6300. void RemoveAllChildren();
  6301. void Remove();
  6302. uint FindChild(UIElement) const;
  6303. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  6304. UIElement GetChild(const String&, bool = false) const;
  6305. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  6306. Array<UIElement> GetChildren(bool = false) const;
  6307. UIElement GetElementEventSender() const;
  6308. const Variant& GetVar(const ShortStringHash&);
  6309. IntVector2 ScreenToElement(const IntVector2&);
  6310. IntVector2 ElementToScreen(const IntVector2&);
  6311. bool IsInside(IntVector2, bool);
  6312. bool IsInsideCombined(IntVector2, bool);
  6313. uint GetNumChildren(bool) const;
  6314. void SetFullImageRect();
  6315. void SetHoverOffset(int, int);
  6316. // Properties:
  6317. /* (readonly) */
  6318. int refs;
  6319. /* (readonly) */
  6320. int weakRefs;
  6321. /* (readonly) */
  6322. ShortStringHash type;
  6323. /* (readonly) */
  6324. ShortStringHash baseType;
  6325. /* (readonly) */
  6326. String typeName;
  6327. /* (readonly) */
  6328. String category;
  6329. /* (readonly) */
  6330. uint numAttributes;
  6331. Array<Variant> attributes;
  6332. /* (readonly) */
  6333. Array<Variant> attributeDefaults;
  6334. /* (readonly) */
  6335. Array<AttributeInfo> attributeInfos;
  6336. bool temporary;
  6337. String style;
  6338. String name;
  6339. IntVector2 position;
  6340. IntVector2 size;
  6341. int width;
  6342. int height;
  6343. IntVector2 minSize;
  6344. int minWidth;
  6345. int minHeight;
  6346. IntVector2 maxSize;
  6347. int maxWidth;
  6348. int maxHeight;
  6349. /* (readonly) */
  6350. bool fixedSize;
  6351. /* (readonly) */
  6352. bool fixedWidth;
  6353. /* (readonly) */
  6354. bool fixedHeight;
  6355. HorizontalAlignment horizontalAlignment;
  6356. VerticalAlignment verticalAlignment;
  6357. IntRect clipBorder;
  6358. /* (writeonly) */
  6359. Color color;
  6360. Array<Color> colors;
  6361. int priority;
  6362. float opacity;
  6363. bool bringToFront;
  6364. bool bringToBack;
  6365. bool clipChildren;
  6366. bool sortChildren;
  6367. bool useDerivedOpacity;
  6368. bool enabled;
  6369. bool editable;
  6370. bool focus;
  6371. bool selected;
  6372. bool visible;
  6373. /* (readonly) */
  6374. bool hovering;
  6375. bool internal;
  6376. /* (readonly) */
  6377. bool colorGradient;
  6378. FocusMode focusMode;
  6379. uint dragDropMode;
  6380. TraversalMode traversalMode;
  6381. XMLFile defaultStyle;
  6382. LayoutMode layoutMode;
  6383. int layoutSpacing;
  6384. IntRect layoutBorder;
  6385. int indent;
  6386. int indentSpacing;
  6387. /* (readonly) */
  6388. int indentWidth;
  6389. /* (readonly) */
  6390. IntVector2 childOffset;
  6391. bool elementEventSender;
  6392. /* (readonly) */
  6393. uint numChildren;
  6394. /* (readonly) */
  6395. uint numAllChildren;
  6396. /* (readonly) */
  6397. Array<UIElement> children;
  6398. UIElement parent;
  6399. /* (readonly) */
  6400. UIElement root;
  6401. /* (readonly) */
  6402. IntVector2 screenPosition;
  6403. /* (readonly) */
  6404. IntRect combinedScreenRect;
  6405. /* (readonly) */
  6406. float derivedOpacity;
  6407. /* (readonly) */
  6408. VariantMap vars;
  6409. Texture texture;
  6410. IntRect imageRect;
  6411. IntRect border;
  6412. IntVector2 hoverOffset;
  6413. BlendMode blendMode;
  6414. bool tiled;
  6415. String text;
  6416. uint cursorPosition;
  6417. float cursorBlinkRate;
  6418. uint maxLength;
  6419. uint echoCharacter;
  6420. bool cursorMovable;
  6421. bool textSelectable;
  6422. bool textCopyable;
  6423. /* (readonly) */
  6424. Text textElement;
  6425. /* (readonly) */
  6426. BorderImage cursor;
  6427. };
  6428. class Menu
  6429. {
  6430. // Methods:
  6431. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  6432. bool Load(File, bool = false);
  6433. bool Save(File) const;
  6434. bool LoadXML(const XMLElement&, bool = false);
  6435. bool SaveXML(XMLElement&) const;
  6436. void ApplyAttributes();
  6437. bool SetAttribute(const String&, const Variant&);
  6438. void ResetToDefault();
  6439. void RemoveInstanceDefault();
  6440. Variant GetAttribute(const String&) const;
  6441. Variant GetAttributeDefault(const String&) const;
  6442. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  6443. bool LoadXML(File);
  6444. bool LoadXML(XMLFile, XMLFile);
  6445. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  6446. bool LoadChildXML(XMLFile, XMLFile = null);
  6447. bool SaveXML(File);
  6448. bool SetStyle(const XMLElement&);
  6449. bool SetStyle(const String&, XMLFile = null);
  6450. bool SetStyleAuto(XMLFile = null);
  6451. void SetPosition(int, int);
  6452. void SetSize(int, int);
  6453. void SetMinSize(int, int);
  6454. void SetMaxSize(int, int);
  6455. void SetFixedSize(int, int);
  6456. void SetFixedWidth(int);
  6457. void SetFixedHeight(int);
  6458. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  6459. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  6460. void UpdateLayout();
  6461. void DisableLayoutUpdate();
  6462. void EnableLayoutUpdate();
  6463. void BringToFront();
  6464. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  6465. void AddChild(UIElement);
  6466. void InsertChild(uint, UIElement);
  6467. void RemoveChild(UIElement, uint = 0);
  6468. void RemoveChild(uint);
  6469. void RemoveAllChildren();
  6470. void Remove();
  6471. uint FindChild(UIElement) const;
  6472. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  6473. UIElement GetChild(const String&, bool = false) const;
  6474. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  6475. Array<UIElement> GetChildren(bool = false) const;
  6476. UIElement GetElementEventSender() const;
  6477. const Variant& GetVar(const ShortStringHash&);
  6478. IntVector2 ScreenToElement(const IntVector2&);
  6479. IntVector2 ElementToScreen(const IntVector2&);
  6480. bool IsInside(IntVector2, bool);
  6481. bool IsInsideCombined(IntVector2, bool);
  6482. uint GetNumChildren(bool) const;
  6483. void SetFullImageRect();
  6484. void SetHoverOffset(int, int);
  6485. void SetPressedOffset(int, int);
  6486. void SetPressedChildOffset(int, int);
  6487. void SetRepeat(float, float);
  6488. void SetPopupOffset(int, int);
  6489. void SetAccelerator(int, int);
  6490. // Properties:
  6491. /* (readonly) */
  6492. int refs;
  6493. /* (readonly) */
  6494. int weakRefs;
  6495. /* (readonly) */
  6496. ShortStringHash type;
  6497. /* (readonly) */
  6498. ShortStringHash baseType;
  6499. /* (readonly) */
  6500. String typeName;
  6501. /* (readonly) */
  6502. String category;
  6503. /* (readonly) */
  6504. uint numAttributes;
  6505. Array<Variant> attributes;
  6506. /* (readonly) */
  6507. Array<Variant> attributeDefaults;
  6508. /* (readonly) */
  6509. Array<AttributeInfo> attributeInfos;
  6510. bool temporary;
  6511. String style;
  6512. String name;
  6513. IntVector2 position;
  6514. IntVector2 size;
  6515. int width;
  6516. int height;
  6517. IntVector2 minSize;
  6518. int minWidth;
  6519. int minHeight;
  6520. IntVector2 maxSize;
  6521. int maxWidth;
  6522. int maxHeight;
  6523. /* (readonly) */
  6524. bool fixedSize;
  6525. /* (readonly) */
  6526. bool fixedWidth;
  6527. /* (readonly) */
  6528. bool fixedHeight;
  6529. HorizontalAlignment horizontalAlignment;
  6530. VerticalAlignment verticalAlignment;
  6531. IntRect clipBorder;
  6532. /* (writeonly) */
  6533. Color color;
  6534. Array<Color> colors;
  6535. int priority;
  6536. float opacity;
  6537. bool bringToFront;
  6538. bool bringToBack;
  6539. bool clipChildren;
  6540. bool sortChildren;
  6541. bool useDerivedOpacity;
  6542. bool enabled;
  6543. bool editable;
  6544. bool focus;
  6545. bool selected;
  6546. bool visible;
  6547. /* (readonly) */
  6548. bool hovering;
  6549. bool internal;
  6550. /* (readonly) */
  6551. bool colorGradient;
  6552. FocusMode focusMode;
  6553. uint dragDropMode;
  6554. TraversalMode traversalMode;
  6555. XMLFile defaultStyle;
  6556. LayoutMode layoutMode;
  6557. int layoutSpacing;
  6558. IntRect layoutBorder;
  6559. int indent;
  6560. int indentSpacing;
  6561. /* (readonly) */
  6562. int indentWidth;
  6563. /* (readonly) */
  6564. IntVector2 childOffset;
  6565. bool elementEventSender;
  6566. /* (readonly) */
  6567. uint numChildren;
  6568. /* (readonly) */
  6569. uint numAllChildren;
  6570. /* (readonly) */
  6571. Array<UIElement> children;
  6572. UIElement parent;
  6573. /* (readonly) */
  6574. UIElement root;
  6575. /* (readonly) */
  6576. IntVector2 screenPosition;
  6577. /* (readonly) */
  6578. IntRect combinedScreenRect;
  6579. /* (readonly) */
  6580. float derivedOpacity;
  6581. /* (readonly) */
  6582. VariantMap vars;
  6583. Texture texture;
  6584. IntRect imageRect;
  6585. IntRect border;
  6586. IntVector2 hoverOffset;
  6587. BlendMode blendMode;
  6588. bool tiled;
  6589. IntVector2 pressedOffset;
  6590. IntVector2 pressedChildOffset;
  6591. float repeatDelay;
  6592. float repeatRate;
  6593. /* (readonly) */
  6594. bool pressed;
  6595. UIElement popup;
  6596. IntVector2 popupOffset;
  6597. bool showPopup;
  6598. /* (readonly) */
  6599. int acceleratorKey;
  6600. /* (readonly) */
  6601. int acceleratorQualifiers;
  6602. };
  6603. class MessageBox
  6604. {
  6605. // Methods:
  6606. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  6607. // Properties:
  6608. /* (readonly) */
  6609. int refs;
  6610. /* (readonly) */
  6611. int weakRefs;
  6612. /* (readonly) */
  6613. ShortStringHash type;
  6614. /* (readonly) */
  6615. ShortStringHash baseType;
  6616. /* (readonly) */
  6617. String typeName;
  6618. /* (readonly) */
  6619. String category;
  6620. String title;
  6621. String message;
  6622. /* (readonly) */
  6623. UIElement window;
  6624. };
  6625. class DropDownList
  6626. {
  6627. // Methods:
  6628. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  6629. bool Load(File, bool = false);
  6630. bool Save(File) const;
  6631. bool LoadXML(const XMLElement&, bool = false);
  6632. bool SaveXML(XMLElement&) const;
  6633. void ApplyAttributes();
  6634. bool SetAttribute(const String&, const Variant&);
  6635. void ResetToDefault();
  6636. void RemoveInstanceDefault();
  6637. Variant GetAttribute(const String&) const;
  6638. Variant GetAttributeDefault(const String&) const;
  6639. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  6640. bool LoadXML(File);
  6641. bool LoadXML(XMLFile, XMLFile);
  6642. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  6643. bool LoadChildXML(XMLFile, XMLFile = null);
  6644. bool SaveXML(File);
  6645. bool SetStyle(const XMLElement&);
  6646. bool SetStyle(const String&, XMLFile = null);
  6647. bool SetStyleAuto(XMLFile = null);
  6648. void SetPosition(int, int);
  6649. void SetSize(int, int);
  6650. void SetMinSize(int, int);
  6651. void SetMaxSize(int, int);
  6652. void SetFixedSize(int, int);
  6653. void SetFixedWidth(int);
  6654. void SetFixedHeight(int);
  6655. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  6656. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  6657. void UpdateLayout();
  6658. void DisableLayoutUpdate();
  6659. void EnableLayoutUpdate();
  6660. void BringToFront();
  6661. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  6662. void AddChild(UIElement);
  6663. void InsertChild(uint, UIElement);
  6664. void RemoveChild(UIElement, uint = 0);
  6665. void RemoveChild(uint);
  6666. void RemoveAllChildren();
  6667. void Remove();
  6668. uint FindChild(UIElement) const;
  6669. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  6670. UIElement GetChild(const String&, bool = false) const;
  6671. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  6672. Array<UIElement> GetChildren(bool = false) const;
  6673. UIElement GetElementEventSender() const;
  6674. const Variant& GetVar(const ShortStringHash&);
  6675. IntVector2 ScreenToElement(const IntVector2&);
  6676. IntVector2 ElementToScreen(const IntVector2&);
  6677. bool IsInside(IntVector2, bool);
  6678. bool IsInsideCombined(IntVector2, bool);
  6679. uint GetNumChildren(bool) const;
  6680. void SetFullImageRect();
  6681. void SetHoverOffset(int, int);
  6682. void SetPressedOffset(int, int);
  6683. void SetPressedChildOffset(int, int);
  6684. void SetRepeat(float, float);
  6685. void SetAccelerator(int, int);
  6686. void AddItem(UIElement);
  6687. void InsertItem(uint, UIElement);
  6688. void RemoveItem(UIElement);
  6689. void RemoveItem(uint);
  6690. void RemoveAllItems();
  6691. Array<UIElement> GetItems() const;
  6692. UIElement getPopup() const;
  6693. // Properties:
  6694. /* (readonly) */
  6695. int refs;
  6696. /* (readonly) */
  6697. int weakRefs;
  6698. /* (readonly) */
  6699. ShortStringHash type;
  6700. /* (readonly) */
  6701. ShortStringHash baseType;
  6702. /* (readonly) */
  6703. String typeName;
  6704. /* (readonly) */
  6705. String category;
  6706. /* (readonly) */
  6707. uint numAttributes;
  6708. Array<Variant> attributes;
  6709. /* (readonly) */
  6710. Array<Variant> attributeDefaults;
  6711. /* (readonly) */
  6712. Array<AttributeInfo> attributeInfos;
  6713. bool temporary;
  6714. String style;
  6715. String name;
  6716. IntVector2 position;
  6717. IntVector2 size;
  6718. int width;
  6719. int height;
  6720. IntVector2 minSize;
  6721. int minWidth;
  6722. int minHeight;
  6723. IntVector2 maxSize;
  6724. int maxWidth;
  6725. int maxHeight;
  6726. /* (readonly) */
  6727. bool fixedSize;
  6728. /* (readonly) */
  6729. bool fixedWidth;
  6730. /* (readonly) */
  6731. bool fixedHeight;
  6732. HorizontalAlignment horizontalAlignment;
  6733. VerticalAlignment verticalAlignment;
  6734. IntRect clipBorder;
  6735. /* (writeonly) */
  6736. Color color;
  6737. Array<Color> colors;
  6738. int priority;
  6739. float opacity;
  6740. bool bringToFront;
  6741. bool bringToBack;
  6742. bool clipChildren;
  6743. bool sortChildren;
  6744. bool useDerivedOpacity;
  6745. bool enabled;
  6746. bool editable;
  6747. bool focus;
  6748. bool selected;
  6749. bool visible;
  6750. /* (readonly) */
  6751. bool hovering;
  6752. bool internal;
  6753. /* (readonly) */
  6754. bool colorGradient;
  6755. FocusMode focusMode;
  6756. uint dragDropMode;
  6757. TraversalMode traversalMode;
  6758. XMLFile defaultStyle;
  6759. LayoutMode layoutMode;
  6760. int layoutSpacing;
  6761. IntRect layoutBorder;
  6762. int indent;
  6763. int indentSpacing;
  6764. /* (readonly) */
  6765. int indentWidth;
  6766. /* (readonly) */
  6767. IntVector2 childOffset;
  6768. bool elementEventSender;
  6769. /* (readonly) */
  6770. uint numChildren;
  6771. /* (readonly) */
  6772. uint numAllChildren;
  6773. /* (readonly) */
  6774. Array<UIElement> children;
  6775. UIElement parent;
  6776. /* (readonly) */
  6777. UIElement root;
  6778. /* (readonly) */
  6779. IntVector2 screenPosition;
  6780. /* (readonly) */
  6781. IntRect combinedScreenRect;
  6782. /* (readonly) */
  6783. float derivedOpacity;
  6784. /* (readonly) */
  6785. VariantMap vars;
  6786. Texture texture;
  6787. IntRect imageRect;
  6788. IntRect border;
  6789. IntVector2 hoverOffset;
  6790. BlendMode blendMode;
  6791. bool tiled;
  6792. IntVector2 pressedOffset;
  6793. IntVector2 pressedChildOffset;
  6794. float repeatDelay;
  6795. float repeatRate;
  6796. /* (readonly) */
  6797. bool pressed;
  6798. bool showPopup;
  6799. uint selection;
  6800. bool resizePopup;
  6801. /* (readonly) */
  6802. int acceleratorKey;
  6803. /* (readonly) */
  6804. int acceleratorQualifiers;
  6805. /* (readonly) */
  6806. uint numItems;
  6807. /* (readonly) */
  6808. Array<UIElement> items;
  6809. /* (readonly) */
  6810. UIElement selectedItem;
  6811. /* (readonly) */
  6812. ListView listView;
  6813. /* (readonly) */
  6814. UIElement placeholder;
  6815. String placeholderText;
  6816. };
  6817. class Window
  6818. {
  6819. // Methods:
  6820. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  6821. bool Load(File, bool = false);
  6822. bool Save(File) const;
  6823. bool LoadXML(const XMLElement&, bool = false);
  6824. bool SaveXML(XMLElement&) const;
  6825. void ApplyAttributes();
  6826. bool SetAttribute(const String&, const Variant&);
  6827. void ResetToDefault();
  6828. void RemoveInstanceDefault();
  6829. Variant GetAttribute(const String&) const;
  6830. Variant GetAttributeDefault(const String&) const;
  6831. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  6832. bool LoadXML(File);
  6833. bool LoadXML(XMLFile, XMLFile);
  6834. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  6835. bool LoadChildXML(XMLFile, XMLFile = null);
  6836. bool SaveXML(File);
  6837. bool SetStyle(const XMLElement&);
  6838. bool SetStyle(const String&, XMLFile = null);
  6839. bool SetStyleAuto(XMLFile = null);
  6840. void SetPosition(int, int);
  6841. void SetSize(int, int);
  6842. void SetMinSize(int, int);
  6843. void SetMaxSize(int, int);
  6844. void SetFixedSize(int, int);
  6845. void SetFixedWidth(int);
  6846. void SetFixedHeight(int);
  6847. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  6848. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  6849. void UpdateLayout();
  6850. void DisableLayoutUpdate();
  6851. void EnableLayoutUpdate();
  6852. void BringToFront();
  6853. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  6854. void AddChild(UIElement);
  6855. void InsertChild(uint, UIElement);
  6856. void RemoveChild(UIElement, uint = 0);
  6857. void RemoveChild(uint);
  6858. void RemoveAllChildren();
  6859. void Remove();
  6860. uint FindChild(UIElement) const;
  6861. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  6862. UIElement GetChild(const String&, bool = false) const;
  6863. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  6864. Array<UIElement> GetChildren(bool = false) const;
  6865. UIElement GetElementEventSender() const;
  6866. const Variant& GetVar(const ShortStringHash&);
  6867. IntVector2 ScreenToElement(const IntVector2&);
  6868. IntVector2 ElementToScreen(const IntVector2&);
  6869. bool IsInside(IntVector2, bool);
  6870. bool IsInsideCombined(IntVector2, bool);
  6871. uint GetNumChildren(bool) const;
  6872. // Properties:
  6873. /* (readonly) */
  6874. int refs;
  6875. /* (readonly) */
  6876. int weakRefs;
  6877. /* (readonly) */
  6878. ShortStringHash type;
  6879. /* (readonly) */
  6880. ShortStringHash baseType;
  6881. /* (readonly) */
  6882. String typeName;
  6883. /* (readonly) */
  6884. String category;
  6885. /* (readonly) */
  6886. uint numAttributes;
  6887. Array<Variant> attributes;
  6888. /* (readonly) */
  6889. Array<Variant> attributeDefaults;
  6890. /* (readonly) */
  6891. Array<AttributeInfo> attributeInfos;
  6892. bool temporary;
  6893. String style;
  6894. String name;
  6895. IntVector2 position;
  6896. IntVector2 size;
  6897. int width;
  6898. int height;
  6899. IntVector2 minSize;
  6900. int minWidth;
  6901. int minHeight;
  6902. IntVector2 maxSize;
  6903. int maxWidth;
  6904. int maxHeight;
  6905. /* (readonly) */
  6906. bool fixedSize;
  6907. /* (readonly) */
  6908. bool fixedWidth;
  6909. /* (readonly) */
  6910. bool fixedHeight;
  6911. HorizontalAlignment horizontalAlignment;
  6912. VerticalAlignment verticalAlignment;
  6913. IntRect clipBorder;
  6914. /* (writeonly) */
  6915. Color color;
  6916. Array<Color> colors;
  6917. int priority;
  6918. float opacity;
  6919. bool bringToFront;
  6920. bool bringToBack;
  6921. bool clipChildren;
  6922. bool sortChildren;
  6923. bool useDerivedOpacity;
  6924. bool enabled;
  6925. bool editable;
  6926. bool focus;
  6927. bool selected;
  6928. bool visible;
  6929. /* (readonly) */
  6930. bool hovering;
  6931. bool internal;
  6932. /* (readonly) */
  6933. bool colorGradient;
  6934. FocusMode focusMode;
  6935. uint dragDropMode;
  6936. TraversalMode traversalMode;
  6937. XMLFile defaultStyle;
  6938. LayoutMode layoutMode;
  6939. int layoutSpacing;
  6940. IntRect layoutBorder;
  6941. int indent;
  6942. int indentSpacing;
  6943. /* (readonly) */
  6944. int indentWidth;
  6945. /* (readonly) */
  6946. IntVector2 childOffset;
  6947. bool elementEventSender;
  6948. /* (readonly) */
  6949. uint numChildren;
  6950. /* (readonly) */
  6951. uint numAllChildren;
  6952. /* (readonly) */
  6953. Array<UIElement> children;
  6954. UIElement parent;
  6955. /* (readonly) */
  6956. UIElement root;
  6957. /* (readonly) */
  6958. IntVector2 screenPosition;
  6959. /* (readonly) */
  6960. IntRect combinedScreenRect;
  6961. /* (readonly) */
  6962. float derivedOpacity;
  6963. /* (readonly) */
  6964. VariantMap vars;
  6965. bool movable;
  6966. bool resizable;
  6967. IntRect resizeBorder;
  6968. bool modal;
  6969. Color modalShadeColor;
  6970. Color modalFrameColor;
  6971. IntVector2 modalFrameSize;
  6972. bool fixedWidthResizing;
  6973. bool fixedHeightResizing;
  6974. };
  6975. class View3D
  6976. {
  6977. // Methods:
  6978. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  6979. bool Load(File, bool = false);
  6980. bool Save(File) const;
  6981. bool LoadXML(const XMLElement&, bool = false);
  6982. bool SaveXML(XMLElement&) const;
  6983. void ApplyAttributes();
  6984. bool SetAttribute(const String&, const Variant&);
  6985. void ResetToDefault();
  6986. void RemoveInstanceDefault();
  6987. Variant GetAttribute(const String&) const;
  6988. Variant GetAttributeDefault(const String&) const;
  6989. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  6990. bool LoadXML(File);
  6991. bool LoadXML(XMLFile, XMLFile);
  6992. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  6993. bool LoadChildXML(XMLFile, XMLFile = null);
  6994. bool SaveXML(File);
  6995. bool SetStyle(const XMLElement&);
  6996. bool SetStyle(const String&, XMLFile = null);
  6997. bool SetStyleAuto(XMLFile = null);
  6998. void SetPosition(int, int);
  6999. void SetSize(int, int);
  7000. void SetMinSize(int, int);
  7001. void SetMaxSize(int, int);
  7002. void SetFixedSize(int, int);
  7003. void SetFixedWidth(int);
  7004. void SetFixedHeight(int);
  7005. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  7006. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  7007. void UpdateLayout();
  7008. void DisableLayoutUpdate();
  7009. void EnableLayoutUpdate();
  7010. void BringToFront();
  7011. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  7012. void AddChild(UIElement);
  7013. void InsertChild(uint, UIElement);
  7014. void RemoveChild(UIElement, uint = 0);
  7015. void RemoveChild(uint);
  7016. void RemoveAllChildren();
  7017. void Remove();
  7018. uint FindChild(UIElement) const;
  7019. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  7020. UIElement GetChild(const String&, bool = false) const;
  7021. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  7022. Array<UIElement> GetChildren(bool = false) const;
  7023. UIElement GetElementEventSender() const;
  7024. const Variant& GetVar(const ShortStringHash&);
  7025. IntVector2 ScreenToElement(const IntVector2&);
  7026. IntVector2 ElementToScreen(const IntVector2&);
  7027. bool IsInside(IntVector2, bool);
  7028. bool IsInsideCombined(IntVector2, bool);
  7029. uint GetNumChildren(bool) const;
  7030. void SetView(Scene, Camera);
  7031. void QueueUpdate();
  7032. // Properties:
  7033. /* (readonly) */
  7034. int refs;
  7035. /* (readonly) */
  7036. int weakRefs;
  7037. /* (readonly) */
  7038. ShortStringHash type;
  7039. /* (readonly) */
  7040. ShortStringHash baseType;
  7041. /* (readonly) */
  7042. String typeName;
  7043. /* (readonly) */
  7044. String category;
  7045. /* (readonly) */
  7046. uint numAttributes;
  7047. Array<Variant> attributes;
  7048. /* (readonly) */
  7049. Array<Variant> attributeDefaults;
  7050. /* (readonly) */
  7051. Array<AttributeInfo> attributeInfos;
  7052. bool temporary;
  7053. String style;
  7054. String name;
  7055. IntVector2 position;
  7056. IntVector2 size;
  7057. int width;
  7058. int height;
  7059. IntVector2 minSize;
  7060. int minWidth;
  7061. int minHeight;
  7062. IntVector2 maxSize;
  7063. int maxWidth;
  7064. int maxHeight;
  7065. /* (readonly) */
  7066. bool fixedSize;
  7067. /* (readonly) */
  7068. bool fixedWidth;
  7069. /* (readonly) */
  7070. bool fixedHeight;
  7071. HorizontalAlignment horizontalAlignment;
  7072. VerticalAlignment verticalAlignment;
  7073. IntRect clipBorder;
  7074. /* (writeonly) */
  7075. Color color;
  7076. Array<Color> colors;
  7077. int priority;
  7078. float opacity;
  7079. bool bringToFront;
  7080. bool bringToBack;
  7081. bool clipChildren;
  7082. bool sortChildren;
  7083. bool useDerivedOpacity;
  7084. bool enabled;
  7085. bool editable;
  7086. bool focus;
  7087. bool selected;
  7088. bool visible;
  7089. /* (readonly) */
  7090. bool hovering;
  7091. bool internal;
  7092. /* (readonly) */
  7093. bool colorGradient;
  7094. FocusMode focusMode;
  7095. uint dragDropMode;
  7096. TraversalMode traversalMode;
  7097. XMLFile defaultStyle;
  7098. LayoutMode layoutMode;
  7099. int layoutSpacing;
  7100. IntRect layoutBorder;
  7101. int indent;
  7102. int indentSpacing;
  7103. /* (readonly) */
  7104. int indentWidth;
  7105. /* (readonly) */
  7106. IntVector2 childOffset;
  7107. bool elementEventSender;
  7108. /* (readonly) */
  7109. uint numChildren;
  7110. /* (readonly) */
  7111. uint numAllChildren;
  7112. /* (readonly) */
  7113. Array<UIElement> children;
  7114. UIElement parent;
  7115. /* (readonly) */
  7116. UIElement root;
  7117. /* (readonly) */
  7118. IntVector2 screenPosition;
  7119. /* (readonly) */
  7120. IntRect combinedScreenRect;
  7121. /* (readonly) */
  7122. float derivedOpacity;
  7123. /* (readonly) */
  7124. VariantMap vars;
  7125. bool movable;
  7126. bool resizable;
  7127. IntRect resizeBorder;
  7128. bool modal;
  7129. Color modalShadeColor;
  7130. Color modalFrameColor;
  7131. IntVector2 modalFrameSize;
  7132. bool fixedWidthResizing;
  7133. bool fixedHeightResizing;
  7134. uint format;
  7135. bool autoUpdate;
  7136. /* (readonly) */
  7137. Texture2D renderTexture;
  7138. /* (readonly) */
  7139. Texture2D depthTexture;
  7140. /* (readonly) */
  7141. Viewport viewport;
  7142. /* (readonly) */
  7143. Scene scene;
  7144. /* (readonly) */
  7145. Node cameraNode;
  7146. };
  7147. class FileSelector
  7148. {
  7149. // Methods:
  7150. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7151. void SetButtonTexts(const String&, const String&);
  7152. void SetFilters(Array<String>, uint);
  7153. void UpdateElements();
  7154. // Properties:
  7155. /* (readonly) */
  7156. int refs;
  7157. /* (readonly) */
  7158. int weakRefs;
  7159. /* (readonly) */
  7160. ShortStringHash type;
  7161. /* (readonly) */
  7162. ShortStringHash baseType;
  7163. /* (readonly) */
  7164. String typeName;
  7165. /* (readonly) */
  7166. String category;
  7167. String title;
  7168. String path;
  7169. String fileName;
  7170. bool directoryMode;
  7171. /* (readonly) */
  7172. String filter;
  7173. /* (readonly) */
  7174. uint filterIndex;
  7175. XMLFile defaultStyle;
  7176. /* (readonly) */
  7177. Window window;
  7178. /* (readonly) */
  7179. Text titleText;
  7180. /* (readonly) */
  7181. ListView fileList;
  7182. /* (readonly) */
  7183. LineEdit pathEdit;
  7184. /* (readonly) */
  7185. LineEdit fileNameEdit;
  7186. /* (readonly) */
  7187. DropDownList filterList;
  7188. /* (readonly) */
  7189. Button okButton;
  7190. /* (readonly) */
  7191. Button cancelButton;
  7192. };
  7193. class ToolTip
  7194. {
  7195. // Methods:
  7196. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7197. bool Load(File, bool = false);
  7198. bool Save(File) const;
  7199. bool LoadXML(const XMLElement&, bool = false);
  7200. bool SaveXML(XMLElement&) const;
  7201. void ApplyAttributes();
  7202. bool SetAttribute(const String&, const Variant&);
  7203. void ResetToDefault();
  7204. void RemoveInstanceDefault();
  7205. Variant GetAttribute(const String&) const;
  7206. Variant GetAttributeDefault(const String&) const;
  7207. bool LoadXML(const XMLElement&, XMLFile, bool = false);
  7208. bool LoadXML(File);
  7209. bool LoadXML(XMLFile, XMLFile);
  7210. bool LoadChildXML(const XMLElement&, XMLFile = null, bool = false);
  7211. bool LoadChildXML(XMLFile, XMLFile = null);
  7212. bool SaveXML(File);
  7213. bool SetStyle(const XMLElement&);
  7214. bool SetStyle(const String&, XMLFile = null);
  7215. bool SetStyleAuto(XMLFile = null);
  7216. void SetPosition(int, int);
  7217. void SetSize(int, int);
  7218. void SetMinSize(int, int);
  7219. void SetMaxSize(int, int);
  7220. void SetFixedSize(int, int);
  7221. void SetFixedWidth(int);
  7222. void SetFixedHeight(int);
  7223. void SetAlignment(HorizontalAlignment, VerticalAlignment);
  7224. void SetLayout(LayoutMode, int = 0, const IntRect& = IntRect ( 0 , 0 , 0 , 0 ));
  7225. void UpdateLayout();
  7226. void DisableLayoutUpdate();
  7227. void EnableLayoutUpdate();
  7228. void BringToFront();
  7229. UIElement CreateChild(const String&, const String& = String ( ), uint = M_MAX_UNSIGNED);
  7230. void AddChild(UIElement);
  7231. void InsertChild(uint, UIElement);
  7232. void RemoveChild(UIElement, uint = 0);
  7233. void RemoveChild(uint);
  7234. void RemoveAllChildren();
  7235. void Remove();
  7236. uint FindChild(UIElement) const;
  7237. void SetParent(UIElement, uint = M_MAX_UNSIGNED);
  7238. UIElement GetChild(const String&, bool = false) const;
  7239. UIElement GetChild(const ShortStringHash&, const Variant& = Variant ( ), bool = false) const;
  7240. Array<UIElement> GetChildren(bool = false) const;
  7241. UIElement GetElementEventSender() const;
  7242. const Variant& GetVar(const ShortStringHash&);
  7243. IntVector2 ScreenToElement(const IntVector2&);
  7244. IntVector2 ElementToScreen(const IntVector2&);
  7245. bool IsInside(IntVector2, bool);
  7246. bool IsInsideCombined(IntVector2, bool);
  7247. uint GetNumChildren(bool) const;
  7248. // Properties:
  7249. /* (readonly) */
  7250. int refs;
  7251. /* (readonly) */
  7252. int weakRefs;
  7253. /* (readonly) */
  7254. ShortStringHash type;
  7255. /* (readonly) */
  7256. ShortStringHash baseType;
  7257. /* (readonly) */
  7258. String typeName;
  7259. /* (readonly) */
  7260. String category;
  7261. /* (readonly) */
  7262. uint numAttributes;
  7263. Array<Variant> attributes;
  7264. /* (readonly) */
  7265. Array<Variant> attributeDefaults;
  7266. /* (readonly) */
  7267. Array<AttributeInfo> attributeInfos;
  7268. bool temporary;
  7269. String style;
  7270. String name;
  7271. IntVector2 position;
  7272. IntVector2 size;
  7273. int width;
  7274. int height;
  7275. IntVector2 minSize;
  7276. int minWidth;
  7277. int minHeight;
  7278. IntVector2 maxSize;
  7279. int maxWidth;
  7280. int maxHeight;
  7281. /* (readonly) */
  7282. bool fixedSize;
  7283. /* (readonly) */
  7284. bool fixedWidth;
  7285. /* (readonly) */
  7286. bool fixedHeight;
  7287. HorizontalAlignment horizontalAlignment;
  7288. VerticalAlignment verticalAlignment;
  7289. IntRect clipBorder;
  7290. /* (writeonly) */
  7291. Color color;
  7292. Array<Color> colors;
  7293. int priority;
  7294. float opacity;
  7295. bool bringToFront;
  7296. bool bringToBack;
  7297. bool clipChildren;
  7298. bool sortChildren;
  7299. bool useDerivedOpacity;
  7300. bool enabled;
  7301. bool editable;
  7302. bool focus;
  7303. bool selected;
  7304. bool visible;
  7305. /* (readonly) */
  7306. bool hovering;
  7307. bool internal;
  7308. /* (readonly) */
  7309. bool colorGradient;
  7310. FocusMode focusMode;
  7311. uint dragDropMode;
  7312. TraversalMode traversalMode;
  7313. XMLFile defaultStyle;
  7314. LayoutMode layoutMode;
  7315. int layoutSpacing;
  7316. IntRect layoutBorder;
  7317. int indent;
  7318. int indentSpacing;
  7319. /* (readonly) */
  7320. int indentWidth;
  7321. /* (readonly) */
  7322. IntVector2 childOffset;
  7323. bool elementEventSender;
  7324. /* (readonly) */
  7325. uint numChildren;
  7326. /* (readonly) */
  7327. uint numAllChildren;
  7328. /* (readonly) */
  7329. Array<UIElement> children;
  7330. UIElement parent;
  7331. /* (readonly) */
  7332. UIElement root;
  7333. /* (readonly) */
  7334. IntVector2 screenPosition;
  7335. /* (readonly) */
  7336. IntRect combinedScreenRect;
  7337. /* (readonly) */
  7338. float derivedOpacity;
  7339. /* (readonly) */
  7340. VariantMap vars;
  7341. float delay;
  7342. };
  7343. class UI
  7344. {
  7345. // Methods:
  7346. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7347. void Clear();
  7348. void DebugDraw(UIElement);
  7349. UIElement LoadLayout(File);
  7350. UIElement LoadLayout(File, XMLFile);
  7351. UIElement LoadLayout(XMLFile);
  7352. UIElement LoadLayout(XMLFile, XMLFile);
  7353. bool SaveLayout(File, UIElement);
  7354. void SetFocusElement(UIElement, bool = false);
  7355. UIElement GetElementAt(const IntVector2&, bool = true);
  7356. UIElement GetElementAt(int, int, bool = true);
  7357. bool HasModalElement() const;
  7358. // Properties:
  7359. /* (readonly) */
  7360. int refs;
  7361. /* (readonly) */
  7362. int weakRefs;
  7363. /* (readonly) */
  7364. ShortStringHash type;
  7365. /* (readonly) */
  7366. ShortStringHash baseType;
  7367. /* (readonly) */
  7368. String typeName;
  7369. /* (readonly) */
  7370. String category;
  7371. Cursor cursor;
  7372. /* (readonly) */
  7373. IntVector2 cursorPosition;
  7374. UIElement focusElement;
  7375. /* (readonly) */
  7376. UIElement frontElement;
  7377. /* (readonly) */
  7378. UIElement dragElement;
  7379. /* (readonly) */
  7380. UIElement root;
  7381. /* (readonly) */
  7382. UIElement modalRoot;
  7383. String clipBoardText;
  7384. float doubleClickInterval;
  7385. float dragBeginInterval;
  7386. int dragBeginDistance;
  7387. float defaultToolTipDelay;
  7388. int maxFontTextureSize;
  7389. bool nonFocusedMouseWheel;
  7390. bool useSystemClipBoard;
  7391. bool useScreenKeyboard;
  7392. bool useMutableGlyphs;
  7393. bool forceAutoHint;
  7394. };
  7395. class Controls
  7396. {
  7397. // Methods:
  7398. void Reset();
  7399. void Set(uint, bool);
  7400. bool IsDown(uint) const;
  7401. bool IsPressed(uint, const Controls&) const;
  7402. // Properties:
  7403. uint buttons;
  7404. float yaw;
  7405. float pitch;
  7406. VariantMap extraData;
  7407. };
  7408. class NetworkPriority
  7409. {
  7410. // Methods:
  7411. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7412. bool Load(File, bool = false);
  7413. bool Save(File) const;
  7414. bool LoadXML(const XMLElement&, bool = false);
  7415. bool SaveXML(XMLElement&) const;
  7416. void ApplyAttributes();
  7417. bool SetAttribute(const String&, const Variant&);
  7418. void ResetToDefault();
  7419. void RemoveInstanceDefault();
  7420. Variant GetAttribute(const String&) const;
  7421. Variant GetAttributeDefault(const String&) const;
  7422. void Remove();
  7423. void MarkNetworkUpdate() const;
  7424. void DrawDebugGeometry(DebugRenderer, bool);
  7425. // Properties:
  7426. /* (readonly) */
  7427. int refs;
  7428. /* (readonly) */
  7429. int weakRefs;
  7430. /* (readonly) */
  7431. ShortStringHash type;
  7432. /* (readonly) */
  7433. ShortStringHash baseType;
  7434. /* (readonly) */
  7435. String typeName;
  7436. /* (readonly) */
  7437. String category;
  7438. /* (readonly) */
  7439. uint numAttributes;
  7440. Array<Variant> attributes;
  7441. /* (readonly) */
  7442. Array<Variant> attributeDefaults;
  7443. /* (readonly) */
  7444. Array<AttributeInfo> attributeInfos;
  7445. bool temporary;
  7446. bool enabled;
  7447. /* (readonly) */
  7448. bool enabledEffective;
  7449. /* (readonly) */
  7450. uint id;
  7451. /* (readonly) */
  7452. Node node;
  7453. float basePriority;
  7454. float distanceFactor;
  7455. float minPriority;
  7456. bool alwaysUpdateOwner;
  7457. };
  7458. class Connection
  7459. {
  7460. // Methods:
  7461. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7462. void SendMessage(int, bool, bool, const VectorBuffer&, uint = 0);
  7463. void SendRemoteEvent(const String&, bool, const VariantMap& = VariantMap ( ));
  7464. void SendRemoteEvent(Node, const String&, bool, const VariantMap& = VariantMap ( ));
  7465. void Disconnect(int = 0);
  7466. String ToString() const;
  7467. // Properties:
  7468. /* (readonly) */
  7469. int refs;
  7470. /* (readonly) */
  7471. int weakRefs;
  7472. /* (readonly) */
  7473. ShortStringHash type;
  7474. /* (readonly) */
  7475. ShortStringHash baseType;
  7476. /* (readonly) */
  7477. String typeName;
  7478. /* (readonly) */
  7479. String category;
  7480. Scene scene;
  7481. bool logStatistics;
  7482. /* (readonly) */
  7483. bool client;
  7484. /* (readonly) */
  7485. bool connected;
  7486. /* (readonly) */
  7487. bool connectPending;
  7488. /* (readonly) */
  7489. bool sceneLoaded;
  7490. /* (readonly) */
  7491. String address;
  7492. /* (readonly) */
  7493. uint16 port;
  7494. /* (readonly) */
  7495. uint numDownloads;
  7496. /* (readonly) */
  7497. String downloadName;
  7498. /* (readonly) */
  7499. float downloadProgress;
  7500. Vector3 position;
  7501. Controls controls;
  7502. VariantMap identity;
  7503. };
  7504. class HttpRequest
  7505. {
  7506. // Methods:
  7507. Array<uint8> Read(uint);
  7508. int ReadInt();
  7509. int16 ReadShort();
  7510. int8 ReadByte();
  7511. uint ReadUInt();
  7512. uint16 ReadUShort();
  7513. uint8 ReadUByte();
  7514. bool ReadBool();
  7515. float ReadFloat();
  7516. IntRect ReadIntRect();
  7517. IntVector2 ReadIntVector2();
  7518. Vector2 ReadVector2();
  7519. Vector3 ReadVector3();
  7520. Vector3 ReadPackedVector3(float);
  7521. Vector4 ReadVector4();
  7522. Quaternion ReadQuaternion();
  7523. Quaternion ReadPackedQuaternion();
  7524. Color ReadColor();
  7525. BoundingBox ReadBoundingBox();
  7526. String ReadString();
  7527. String ReadFileID();
  7528. StringHash ReadStringHash();
  7529. ShortStringHash ReadShortStringHash();
  7530. Variant ReadVariant();
  7531. VariantMap ReadVariantMap();
  7532. uint ReadVLE();
  7533. uint ReadNetID();
  7534. String ReadLine();
  7535. uint Seek(uint);
  7536. // Properties:
  7537. /* (readonly) */
  7538. int refs;
  7539. /* (readonly) */
  7540. int weakRefs;
  7541. /* (readonly) */
  7542. String name;
  7543. /* (readonly) */
  7544. uint checksum;
  7545. /* (readonly) */
  7546. uint position;
  7547. /* (readonly) */
  7548. uint size;
  7549. /* (readonly) */
  7550. bool eof;
  7551. /* (readonly) */
  7552. String url;
  7553. /* (readonly) */
  7554. String verb;
  7555. /* (readonly) */
  7556. String error;
  7557. /* (readonly) */
  7558. HttpRequestState state;
  7559. /* (readonly) */
  7560. uint availableSize;
  7561. /* (readonly) */
  7562. bool open;
  7563. };
  7564. class Network
  7565. {
  7566. // Methods:
  7567. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7568. bool Connect(const String&, uint16, Scene, const VariantMap& = VariantMap ( ));
  7569. void Disconnect(int = 0);
  7570. bool StartServer(uint16);
  7571. void StopServer();
  7572. void BroadcastMessage(int, bool, bool, const VectorBuffer&, uint = 0);
  7573. void BroadcastRemoteEvent(const String&, bool, const VariantMap& = VariantMap ( ));
  7574. void BroadcastRemoteEvent(Scene, const String&, bool, const VariantMap& = VariantMap ( ));
  7575. void BroadcastRemoteEvent(Node, const String&, bool, const VariantMap& = VariantMap ( ));
  7576. void RegisterRemoteEvent(const String&) const;
  7577. void UnregisterRemoteEvent(const String&) const;
  7578. void UnregisterAllRemoteEvents();
  7579. bool CheckRemoteEvent(const String&) const;
  7580. HttpRequest MakeHttpRequest(const String&, const String& = String ( ), Array<String> = null, const String& = String ( ));
  7581. // Properties:
  7582. /* (readonly) */
  7583. int refs;
  7584. /* (readonly) */
  7585. int weakRefs;
  7586. /* (readonly) */
  7587. ShortStringHash type;
  7588. /* (readonly) */
  7589. ShortStringHash baseType;
  7590. /* (readonly) */
  7591. String typeName;
  7592. /* (readonly) */
  7593. String category;
  7594. int updateFps;
  7595. String packageCacheDir;
  7596. /* (readonly) */
  7597. bool serverRunning;
  7598. /* (readonly) */
  7599. Connection serverConnection;
  7600. /* (readonly) */
  7601. Array<Connection> clientConnections;
  7602. };
  7603. class CollisionShape
  7604. {
  7605. // Methods:
  7606. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7607. bool Load(File, bool = false);
  7608. bool Save(File) const;
  7609. bool LoadXML(const XMLElement&, bool = false);
  7610. bool SaveXML(XMLElement&) const;
  7611. void ApplyAttributes();
  7612. bool SetAttribute(const String&, const Variant&);
  7613. void ResetToDefault();
  7614. void RemoveInstanceDefault();
  7615. Variant GetAttribute(const String&) const;
  7616. Variant GetAttributeDefault(const String&) const;
  7617. void Remove();
  7618. void MarkNetworkUpdate() const;
  7619. void DrawDebugGeometry(DebugRenderer, bool);
  7620. void SetBox(const Vector3&, const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( ));
  7621. void SetSphere(float, const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( ));
  7622. void SetStaticPlane(const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( ));
  7623. void SetCylinder(float, float, const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( ));
  7624. void SetCapsule(float, float, const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( ));
  7625. void SetCone(float, float, const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( ));
  7626. void SetTriangleMesh(Model, uint = 0, const Vector3& = Vector3 ( 1 , 1 , 1 ), const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( ));
  7627. void SetConvexHull(Model, uint = 0, const Vector3& = Vector3 ( 1 , 1 , 1 ), const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( ));
  7628. void SetCustomConvexHull(CustomGeometry, const Vector3& = Vector3 ( 1 , 1 , 1 ), const Vector3& = Vector3 ( ), const Quaternion& = Quaternion ( ));
  7629. void SetTerrain();
  7630. void SetTransform(const Vector3&, const Quaternion&);
  7631. // Properties:
  7632. /* (readonly) */
  7633. int refs;
  7634. /* (readonly) */
  7635. int weakRefs;
  7636. /* (readonly) */
  7637. ShortStringHash type;
  7638. /* (readonly) */
  7639. ShortStringHash baseType;
  7640. /* (readonly) */
  7641. String typeName;
  7642. /* (readonly) */
  7643. String category;
  7644. /* (readonly) */
  7645. uint numAttributes;
  7646. Array<Variant> attributes;
  7647. /* (readonly) */
  7648. Array<Variant> attributeDefaults;
  7649. /* (readonly) */
  7650. Array<AttributeInfo> attributeInfos;
  7651. bool temporary;
  7652. bool enabled;
  7653. /* (readonly) */
  7654. bool enabledEffective;
  7655. /* (readonly) */
  7656. uint id;
  7657. /* (readonly) */
  7658. Node node;
  7659. ShapeType shapeType;
  7660. Vector3 size;
  7661. Vector3 position;
  7662. Quaternion rotation;
  7663. float margin;
  7664. Model model;
  7665. uint lodLevel;
  7666. /* (readonly) */
  7667. BoundingBox worldBoundingBox;
  7668. };
  7669. class RigidBody
  7670. {
  7671. // Methods:
  7672. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7673. bool Load(File, bool = false);
  7674. bool Save(File) const;
  7675. bool LoadXML(const XMLElement&, bool = false);
  7676. bool SaveXML(XMLElement&) const;
  7677. void ApplyAttributes();
  7678. bool SetAttribute(const String&, const Variant&);
  7679. void ResetToDefault();
  7680. void RemoveInstanceDefault();
  7681. Variant GetAttribute(const String&) const;
  7682. Variant GetAttributeDefault(const String&) const;
  7683. void Remove();
  7684. void MarkNetworkUpdate() const;
  7685. void DrawDebugGeometry(DebugRenderer, bool);
  7686. void SetTransform(const Vector3&, const Quaternion&);
  7687. void SetCollisionLayerAndMask(uint, uint);
  7688. void ApplyForce(const Vector3&);
  7689. void ApplyForce(const Vector3&, const Vector3&);
  7690. void ApplyTorque(const Vector3&);
  7691. void ApplyImpulse(const Vector3&);
  7692. void ApplyImpulse(const Vector3&, const Vector3&);
  7693. void ApplyTorqueImpulse(const Vector3&);
  7694. void ResetForces();
  7695. void Activate();
  7696. void ReAddBodyToWorld();
  7697. Vector3 GetVelocityAtPoint(const Vector3&) const;
  7698. // Properties:
  7699. /* (readonly) */
  7700. int refs;
  7701. /* (readonly) */
  7702. int weakRefs;
  7703. /* (readonly) */
  7704. ShortStringHash type;
  7705. /* (readonly) */
  7706. ShortStringHash baseType;
  7707. /* (readonly) */
  7708. String typeName;
  7709. /* (readonly) */
  7710. String category;
  7711. /* (readonly) */
  7712. uint numAttributes;
  7713. Array<Variant> attributes;
  7714. /* (readonly) */
  7715. Array<Variant> attributeDefaults;
  7716. /* (readonly) */
  7717. Array<AttributeInfo> attributeInfos;
  7718. bool temporary;
  7719. bool enabled;
  7720. /* (readonly) */
  7721. bool enabledEffective;
  7722. /* (readonly) */
  7723. uint id;
  7724. /* (readonly) */
  7725. Node node;
  7726. float mass;
  7727. Vector3 position;
  7728. Quaternion rotation;
  7729. Vector3 linearVelocity;
  7730. Vector3 linearFactor;
  7731. float linearRestThreshold;
  7732. float linearDamping;
  7733. Vector3 angularVelocity;
  7734. Vector3 angularFactor;
  7735. float angularRestThreshold;
  7736. float angularDamping;
  7737. float friction;
  7738. Vector3 anisotropicFriction;
  7739. float rollingFriction;
  7740. float restitution;
  7741. float contactProcessingThreshold;
  7742. float ccdRadius;
  7743. float ccdMotionThreshold;
  7744. bool useGravity;
  7745. Vector3 gravityOverride;
  7746. /* (readonly) */
  7747. Vector3 centerOfMass;
  7748. bool phantom;
  7749. bool kinematic;
  7750. /* (readonly) */
  7751. bool active;
  7752. uint collisionLayer;
  7753. uint collisionMask;
  7754. CollisionEventMode collisionEventMode;
  7755. /* (readonly) */
  7756. Array<RigidBody> collidingBodies;
  7757. };
  7758. class Constraint
  7759. {
  7760. // Methods:
  7761. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7762. bool Load(File, bool = false);
  7763. bool Save(File) const;
  7764. bool LoadXML(const XMLElement&, bool = false);
  7765. bool SaveXML(XMLElement&) const;
  7766. void ApplyAttributes();
  7767. bool SetAttribute(const String&, const Variant&);
  7768. void ResetToDefault();
  7769. void RemoveInstanceDefault();
  7770. Variant GetAttribute(const String&) const;
  7771. Variant GetAttributeDefault(const String&) const;
  7772. void Remove();
  7773. void MarkNetworkUpdate() const;
  7774. void DrawDebugGeometry(DebugRenderer, bool);
  7775. // Properties:
  7776. /* (readonly) */
  7777. int refs;
  7778. /* (readonly) */
  7779. int weakRefs;
  7780. /* (readonly) */
  7781. ShortStringHash type;
  7782. /* (readonly) */
  7783. ShortStringHash baseType;
  7784. /* (readonly) */
  7785. String typeName;
  7786. /* (readonly) */
  7787. String category;
  7788. /* (readonly) */
  7789. uint numAttributes;
  7790. Array<Variant> attributes;
  7791. /* (readonly) */
  7792. Array<Variant> attributeDefaults;
  7793. /* (readonly) */
  7794. Array<AttributeInfo> attributeInfos;
  7795. bool temporary;
  7796. bool enabled;
  7797. /* (readonly) */
  7798. bool enabledEffective;
  7799. /* (readonly) */
  7800. uint id;
  7801. /* (readonly) */
  7802. Node node;
  7803. ConstraintType constraintType;
  7804. Vector3 position;
  7805. Quaternion rotation;
  7806. /* (writeonly) */
  7807. Vector3 axis;
  7808. Vector3 otherPosition;
  7809. Quaternion otherRotation;
  7810. /* (writeonly) */
  7811. Vector3 otherAxis;
  7812. Vector3 worldPosition;
  7813. Vector2 highLimit;
  7814. Vector2 lowLimit;
  7815. float erp;
  7816. float cfm;
  7817. bool disableCollision;
  7818. /* (readonly) */
  7819. RigidBody ownBody;
  7820. RigidBody otherBody;
  7821. };
  7822. class PhysicsRaycastResult
  7823. {
  7824. // Properties:
  7825. /* (readonly) */
  7826. RigidBody body;
  7827. Vector3 position;
  7828. Vector3 normal;
  7829. float distance;
  7830. };
  7831. class PhysicsWorld
  7832. {
  7833. // Methods:
  7834. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7835. bool Load(File, bool = false);
  7836. bool Save(File) const;
  7837. bool LoadXML(const XMLElement&, bool = false);
  7838. bool SaveXML(XMLElement&) const;
  7839. void ApplyAttributes();
  7840. bool SetAttribute(const String&, const Variant&);
  7841. void ResetToDefault();
  7842. void RemoveInstanceDefault();
  7843. Variant GetAttribute(const String&) const;
  7844. Variant GetAttributeDefault(const String&) const;
  7845. void Remove();
  7846. void MarkNetworkUpdate() const;
  7847. void DrawDebugGeometry(DebugRenderer, bool);
  7848. void Update(float);
  7849. void UpdateCollisions();
  7850. Array<PhysicsRaycastResult> Raycast(const Ray&, float = M_INFINITY, uint = 0xffff);
  7851. PhysicsRaycastResult RaycastSingle(const Ray&, float = M_INFINITY, uint = 0xffff);
  7852. PhysicsRaycastResult SphereCast(const Ray&, float, float = M_INFINITY, uint = 0xffff);
  7853. Array<RigidBody> GetRigidBodies(const Sphere&, uint = 0xffff);
  7854. Array<RigidBody> GetRigidBodies(const BoundingBox&, uint = 0xffff);
  7855. Array<RigidBody> GetRigidBodies(RigidBody);
  7856. void DrawDebugGeometry(bool);
  7857. void RemoveCachedGeometry(Model);
  7858. // Properties:
  7859. /* (readonly) */
  7860. int refs;
  7861. /* (readonly) */
  7862. int weakRefs;
  7863. /* (readonly) */
  7864. ShortStringHash type;
  7865. /* (readonly) */
  7866. ShortStringHash baseType;
  7867. /* (readonly) */
  7868. String typeName;
  7869. /* (readonly) */
  7870. String category;
  7871. /* (readonly) */
  7872. uint numAttributes;
  7873. Array<Variant> attributes;
  7874. /* (readonly) */
  7875. Array<Variant> attributeDefaults;
  7876. /* (readonly) */
  7877. Array<AttributeInfo> attributeInfos;
  7878. bool temporary;
  7879. bool enabled;
  7880. /* (readonly) */
  7881. bool enabledEffective;
  7882. /* (readonly) */
  7883. uint id;
  7884. /* (readonly) */
  7885. Node node;
  7886. Vector3 gravity;
  7887. int numIterations;
  7888. int fps;
  7889. bool interpolation;
  7890. bool internalEdge;
  7891. bool splitImpulse;
  7892. };
  7893. class Navigable
  7894. {
  7895. // Methods:
  7896. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7897. bool Load(File, bool = false);
  7898. bool Save(File) const;
  7899. bool LoadXML(const XMLElement&, bool = false);
  7900. bool SaveXML(XMLElement&) const;
  7901. void ApplyAttributes();
  7902. bool SetAttribute(const String&, const Variant&);
  7903. void ResetToDefault();
  7904. void RemoveInstanceDefault();
  7905. Variant GetAttribute(const String&) const;
  7906. Variant GetAttributeDefault(const String&) const;
  7907. void Remove();
  7908. void MarkNetworkUpdate() const;
  7909. void DrawDebugGeometry(DebugRenderer, bool);
  7910. // Properties:
  7911. /* (readonly) */
  7912. int refs;
  7913. /* (readonly) */
  7914. int weakRefs;
  7915. /* (readonly) */
  7916. ShortStringHash type;
  7917. /* (readonly) */
  7918. ShortStringHash baseType;
  7919. /* (readonly) */
  7920. String typeName;
  7921. /* (readonly) */
  7922. String category;
  7923. /* (readonly) */
  7924. uint numAttributes;
  7925. Array<Variant> attributes;
  7926. /* (readonly) */
  7927. Array<Variant> attributeDefaults;
  7928. /* (readonly) */
  7929. Array<AttributeInfo> attributeInfos;
  7930. bool temporary;
  7931. bool enabled;
  7932. /* (readonly) */
  7933. bool enabledEffective;
  7934. /* (readonly) */
  7935. uint id;
  7936. /* (readonly) */
  7937. Node node;
  7938. bool recursive;
  7939. };
  7940. class NavigationMesh
  7941. {
  7942. // Methods:
  7943. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  7944. bool Load(File, bool = false);
  7945. bool Save(File) const;
  7946. bool LoadXML(const XMLElement&, bool = false);
  7947. bool SaveXML(XMLElement&) const;
  7948. void ApplyAttributes();
  7949. bool SetAttribute(const String&, const Variant&);
  7950. void ResetToDefault();
  7951. void RemoveInstanceDefault();
  7952. Variant GetAttribute(const String&) const;
  7953. Variant GetAttributeDefault(const String&) const;
  7954. void Remove();
  7955. void MarkNetworkUpdate() const;
  7956. void DrawDebugGeometry(DebugRenderer, bool);
  7957. bool Build();
  7958. bool Build(const BoundingBox&);
  7959. Vector3 FindNearestPoint();
  7960. Vector3 MoveAlongSurface();
  7961. Array<Vector3> FindPath(const Vector3&, const Vector3&, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 ));
  7962. Vector3 GetRandomPoint();
  7963. Vector3 GetRandomPointInCircle(const Vector3&, float, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 ));
  7964. float GetDistanceToWall(const Vector3&, float, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 ));
  7965. Vector3 Raycast(const Vector3&, const Vector3&, const Vector3& = Vector3 ( 1.0 , 1.0 , 1.0 ));
  7966. void DrawDebugGeometry(bool);
  7967. // Properties:
  7968. /* (readonly) */
  7969. int refs;
  7970. /* (readonly) */
  7971. int weakRefs;
  7972. /* (readonly) */
  7973. ShortStringHash type;
  7974. /* (readonly) */
  7975. ShortStringHash baseType;
  7976. /* (readonly) */
  7977. String typeName;
  7978. /* (readonly) */
  7979. String category;
  7980. /* (readonly) */
  7981. uint numAttributes;
  7982. Array<Variant> attributes;
  7983. /* (readonly) */
  7984. Array<Variant> attributeDefaults;
  7985. /* (readonly) */
  7986. Array<AttributeInfo> attributeInfos;
  7987. bool temporary;
  7988. bool enabled;
  7989. /* (readonly) */
  7990. bool enabledEffective;
  7991. /* (readonly) */
  7992. uint id;
  7993. /* (readonly) */
  7994. Node node;
  7995. int tileSize;
  7996. float cellSize;
  7997. float cellHeight;
  7998. float agentHeight;
  7999. float agentRadius;
  8000. float agentMaxClimb;
  8001. float agentMaxSlope;
  8002. float regionMinSize;
  8003. float regionMergeSize;
  8004. float edgeMaxLength;
  8005. float edgeMaxError;
  8006. float detailSampleDistance;
  8007. float detailSampleMaxError;
  8008. Vector3 padding;
  8009. /* (readonly) */
  8010. bool initialized;
  8011. /* (readonly) */
  8012. BoundingBox boundingBox;
  8013. /* (readonly) */
  8014. BoundingBox worldBoundingBox;
  8015. /* (readonly) */
  8016. IntVector2 numTiles;
  8017. };
  8018. class OffMeshConnection
  8019. {
  8020. // Methods:
  8021. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  8022. bool Load(File, bool = false);
  8023. bool Save(File) const;
  8024. bool LoadXML(const XMLElement&, bool = false);
  8025. bool SaveXML(XMLElement&) const;
  8026. void ApplyAttributes();
  8027. bool SetAttribute(const String&, const Variant&);
  8028. void ResetToDefault();
  8029. void RemoveInstanceDefault();
  8030. Variant GetAttribute(const String&) const;
  8031. Variant GetAttributeDefault(const String&) const;
  8032. void Remove();
  8033. void MarkNetworkUpdate() const;
  8034. void DrawDebugGeometry(DebugRenderer, bool);
  8035. // Properties:
  8036. /* (readonly) */
  8037. int refs;
  8038. /* (readonly) */
  8039. int weakRefs;
  8040. /* (readonly) */
  8041. ShortStringHash type;
  8042. /* (readonly) */
  8043. ShortStringHash baseType;
  8044. /* (readonly) */
  8045. String typeName;
  8046. /* (readonly) */
  8047. String category;
  8048. /* (readonly) */
  8049. uint numAttributes;
  8050. Array<Variant> attributes;
  8051. /* (readonly) */
  8052. Array<Variant> attributeDefaults;
  8053. /* (readonly) */
  8054. Array<AttributeInfo> attributeInfos;
  8055. bool temporary;
  8056. bool enabled;
  8057. /* (readonly) */
  8058. bool enabledEffective;
  8059. /* (readonly) */
  8060. uint id;
  8061. /* (readonly) */
  8062. Node node;
  8063. Node endPoint;
  8064. float radius;
  8065. bool bidirectional;
  8066. };
  8067. class ScriptFile
  8068. {
  8069. // Methods:
  8070. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  8071. bool Load(File);
  8072. bool Save(File) const;
  8073. bool Execute(const String&, const Array<Variant>);
  8074. void DelayedExecute(float, bool, const String&, const Array<Variant>);
  8075. void DelayedExecute(float, bool, const String&);
  8076. void ClearDelayedExecute(const String& = String ( ));
  8077. // Properties:
  8078. /* (readonly) */
  8079. int refs;
  8080. /* (readonly) */
  8081. int weakRefs;
  8082. /* (readonly) */
  8083. ShortStringHash type;
  8084. /* (readonly) */
  8085. ShortStringHash baseType;
  8086. /* (readonly) */
  8087. String typeName;
  8088. /* (readonly) */
  8089. String category;
  8090. String name;
  8091. /* (readonly) */
  8092. uint memoryUse;
  8093. /* (readonly) */
  8094. uint useTimer;
  8095. /* (readonly) */
  8096. bool compiled;
  8097. };
  8098. class ScriptObject
  8099. {
  8100. };
  8101. class ScriptInstance
  8102. {
  8103. // Methods:
  8104. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  8105. bool Load(File, bool = false);
  8106. bool Save(File) const;
  8107. bool LoadXML(const XMLElement&, bool = false);
  8108. bool SaveXML(XMLElement&) const;
  8109. void ApplyAttributes();
  8110. bool SetAttribute(const String&, const Variant&);
  8111. void ResetToDefault();
  8112. void RemoveInstanceDefault();
  8113. Variant GetAttribute(const String&) const;
  8114. Variant GetAttributeDefault(const String&) const;
  8115. void Remove();
  8116. void MarkNetworkUpdate() const;
  8117. void DrawDebugGeometry(DebugRenderer, bool);
  8118. bool CreateObject(ScriptFile, const String&);
  8119. bool Execute(const String&, const Array<Variant>);
  8120. bool Execute(const String&);
  8121. void DelayedExecute(float, bool, const String&, const Array<Variant>);
  8122. void DelayedExecute(float, bool, const String&);
  8123. void ClearDelayedExecute(const String& = String ( ));
  8124. // Properties:
  8125. /* (readonly) */
  8126. int refs;
  8127. /* (readonly) */
  8128. int weakRefs;
  8129. /* (readonly) */
  8130. ShortStringHash type;
  8131. /* (readonly) */
  8132. ShortStringHash baseType;
  8133. /* (readonly) */
  8134. String typeName;
  8135. /* (readonly) */
  8136. String category;
  8137. /* (readonly) */
  8138. uint numAttributes;
  8139. Array<Variant> attributes;
  8140. /* (readonly) */
  8141. Array<Variant> attributeDefaults;
  8142. /* (readonly) */
  8143. Array<AttributeInfo> attributeInfos;
  8144. bool temporary;
  8145. bool enabled;
  8146. /* (readonly) */
  8147. bool enabledEffective;
  8148. /* (readonly) */
  8149. uint id;
  8150. /* (readonly) */
  8151. Node node;
  8152. int fixedUpdateFps;
  8153. ScriptFile scriptFile;
  8154. /* (readonly) */
  8155. ScriptObject object;
  8156. String className;
  8157. };
  8158. class Script
  8159. {
  8160. // Methods:
  8161. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  8162. bool Execute(const String&);
  8163. void DumpAPI(DumpMode = DOXYGEN);
  8164. // Properties:
  8165. /* (readonly) */
  8166. int refs;
  8167. /* (readonly) */
  8168. int weakRefs;
  8169. /* (readonly) */
  8170. ShortStringHash type;
  8171. /* (readonly) */
  8172. ShortStringHash baseType;
  8173. /* (readonly) */
  8174. String typeName;
  8175. /* (readonly) */
  8176. String category;
  8177. ScriptFile defaultScriptFile;
  8178. Scene defaultScene;
  8179. };
  8180. class Console
  8181. {
  8182. // Methods:
  8183. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  8184. void Toggle();
  8185. void UpdateElements();
  8186. // Properties:
  8187. /* (readonly) */
  8188. int refs;
  8189. /* (readonly) */
  8190. int weakRefs;
  8191. /* (readonly) */
  8192. ShortStringHash type;
  8193. /* (readonly) */
  8194. ShortStringHash baseType;
  8195. /* (readonly) */
  8196. String typeName;
  8197. /* (readonly) */
  8198. String category;
  8199. XMLFile defaultStyle;
  8200. bool visible;
  8201. uint numRows;
  8202. uint numHistoryRows;
  8203. /* (readonly) */
  8204. uint historyPosition;
  8205. /* (readonly) */
  8206. Array<String> historyRow;
  8207. /* (readonly) */
  8208. BorderImage background;
  8209. /* (readonly) */
  8210. LineEdit lineEdit;
  8211. };
  8212. class DebugHud
  8213. {
  8214. // Methods:
  8215. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  8216. void Toggle(uint);
  8217. void ToggleAll();
  8218. void SetAppStats(const String&, const Variant&);
  8219. void SetAppStats(const String&, const String&);
  8220. void ResetAppStats(const String&);
  8221. void ClearAppStats();
  8222. // Properties:
  8223. /* (readonly) */
  8224. int refs;
  8225. /* (readonly) */
  8226. int weakRefs;
  8227. /* (readonly) */
  8228. ShortStringHash type;
  8229. /* (readonly) */
  8230. ShortStringHash baseType;
  8231. /* (readonly) */
  8232. String typeName;
  8233. /* (readonly) */
  8234. String category;
  8235. XMLFile defaultStyle;
  8236. uint mode;
  8237. uint profilerMaxDepth;
  8238. float profilerInterval;
  8239. bool useRendererStats;
  8240. /* (readonly) */
  8241. Text statsText;
  8242. /* (readonly) */
  8243. Text modeText;
  8244. /* (readonly) */
  8245. Text profilerText;
  8246. };
  8247. class Engine
  8248. {
  8249. // Methods:
  8250. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  8251. void RunFrame();
  8252. void Exit();
  8253. void DumpProfiler();
  8254. void DumpResources();
  8255. void DumpMemory();
  8256. Console CreateConsole();
  8257. DebugHud CreateDebugHud();
  8258. // Properties:
  8259. /* (readonly) */
  8260. int refs;
  8261. /* (readonly) */
  8262. int weakRefs;
  8263. /* (readonly) */
  8264. ShortStringHash type;
  8265. /* (readonly) */
  8266. ShortStringHash baseType;
  8267. /* (readonly) */
  8268. String typeName;
  8269. /* (readonly) */
  8270. String category;
  8271. int minFps;
  8272. int maxFps;
  8273. int timeStepSmoothing;
  8274. int maxInactiveFps;
  8275. bool pauseMinimized;
  8276. bool autoExit;
  8277. /* (readonly) */
  8278. bool initialized;
  8279. /* (readonly) */
  8280. bool exiting;
  8281. /* (readonly) */
  8282. bool headless;
  8283. };
  8284. // Global functions
  8285. bool Equals(float, float);
  8286. float Sin(float);
  8287. float Cos(float);
  8288. float Tan(float);
  8289. float Asin(float);
  8290. float Acos(float);
  8291. float Atan(float);
  8292. float Atan2(float, float);
  8293. float Abs(float);
  8294. float Sign(float);
  8295. float Sqrt(float);
  8296. float Pow(float, float);
  8297. float Min(float, float);
  8298. int Min(int, int);
  8299. float Max(float, float);
  8300. int Max(int, int);
  8301. float Clamp(float, float, float);
  8302. float SmoothStep(float, float, float);
  8303. int Clamp(int, int, int);
  8304. float Lerp(float, float, float);
  8305. float Mod(float, float);
  8306. float Floor(float);
  8307. float Ceil(float);
  8308. float Random();
  8309. float Random(float);
  8310. float Random(float, float);
  8311. int RandomInt();
  8312. int RandomInt(int);
  8313. int RandomInt(int, int);
  8314. void SetRandomSeed(uint);
  8315. uint GetRandomSeed();
  8316. String ToStringHex(int);
  8317. String Join(Array<String>&, const String&);
  8318. bool IsDigit(uint);
  8319. bool IsAlpha(uint);
  8320. void ErrorDialog(const String&, const String&);
  8321. void OpenConsoleWindow();
  8322. String GetConsoleInput();
  8323. Array<String> GetArguments();
  8324. String GetPlatform();
  8325. uint GetNumPhysicalCPUs();
  8326. uint GetNumLogicalCPUs();
  8327. void SendEvent(const String&, VariantMap& = VariantMap ( ));
  8328. void SubscribeToEvent(const String&, const String&);
  8329. void SubscribeToEvent(Object, const String&, const String&);
  8330. void UnsubscribeFromEvent(const String&);
  8331. void UnsubscribeFromEvent(Object, const String&);
  8332. void UnsubscribeFromEvents(Object);
  8333. void UnsubscribeFromAllEvents();
  8334. void UnsubscribeFromAllEventsExcept(Array<String>);
  8335. Object GetEventSender();
  8336. const String& GetTypeName(ShortStringHash);
  8337. void Print(const String&, bool = false);
  8338. void Print(int, bool = false);
  8339. void Print(uint, bool = false);
  8340. void Print(float, bool = false);
  8341. void Print(bool, bool = false);
  8342. void Print(const Variant&, bool = false);
  8343. void PrintCallStack(bool = false);
  8344. String GetPath(const String&);
  8345. String GetFileName(const String&);
  8346. String GetExtension(const String&, bool = true);
  8347. String GetFileNameAndExtension(const String&, bool = false);
  8348. String ReplaceExtension(const String&, const String&);
  8349. String AddTrailingSlash(const String&);
  8350. String RemoveTrailingSlash(const String&);
  8351. String GetParentPath(const String&);
  8352. String GetInternalPath(const String&);
  8353. bool IsAbsolutePath(const String&);
  8354. Array<String> GetObjectCategories();
  8355. Array<String> GetObjectsByCategory(const String&);
  8356. uint GetAlphaFormat();
  8357. uint GetLuminanceFormat();
  8358. uint GetLuminanceAlphaFormat();
  8359. uint GetRGBFormat();
  8360. uint GetRGBAFormat();
  8361. uint GetRGBA16Format();
  8362. uint GetRGBAFloat16Format();
  8363. uint GetRGBAFloat32Format();
  8364. uint GetRG16Format();
  8365. uint GetRGFloat16Format();
  8366. uint GetRGFloat32Format();
  8367. uint GetFloat16Format();
  8368. uint GetFloat32Format();
  8369. uint GetDepthStencilFormat();
  8370. uint GetFormat(const String&);
  8371. String GetTextureUnitName(TextureUnit);
  8372. void MarkNetworkUpdate();
  8373. void DelayedExecute(float, bool, const String&, const Array<Variant>);
  8374. void DelayedExecute(float, bool, const String&);
  8375. void ClearDelayedExecute(const String& = String ( ));
  8376. void Remove();
  8377. // Global properties
  8378. Time time;
  8379. Log log;
  8380. FileSystem fileSystem;
  8381. ResourceCache resourceCache;
  8382. ResourceCache cache;
  8383. Node node;
  8384. Scene scene;
  8385. DebugRenderer debugRenderer;
  8386. Octree octree;
  8387. Graphics graphics;
  8388. Renderer renderer;
  8389. Input input;
  8390. Audio audio;
  8391. UI ui;
  8392. Network network;
  8393. PhysicsWorld physicsWorld;
  8394. ScriptFile scriptFile;
  8395. ScriptInstance self;
  8396. Script script;
  8397. Console console;
  8398. DebugHud debugHud;
  8399. Engine engine;
  8400. // Global constants
  8401. float M_INFINITY;
  8402. float M_EPSILON;
  8403. float M_LARGE_EPSILON;
  8404. float M_LARGE_VALUE;
  8405. float M_DEGTORAD;
  8406. float M_DEGTORAD_2;
  8407. float M_RADTODEG;
  8408. float M_PI;
  8409. float M_HALF_PI;
  8410. int M_MIN_INT;
  8411. int M_MAX_INT;
  8412. uint M_MIN_UNSIGNED;
  8413. uint M_MAX_UNSIGNED;
  8414. int LOG_DEBUG;
  8415. int LOG_INFO;
  8416. int LOG_WARNING;
  8417. int LOG_ERROR;
  8418. int LOG_NONE;
  8419. uint SCAN_FILES;
  8420. uint SCAN_DIRS;
  8421. uint SCAN_HIDDEN;
  8422. uint AM_FILE;
  8423. uint AM_NET;
  8424. uint AM_DEFAULT;
  8425. uint AM_LATESTDATA;
  8426. uint AM_NOEDIT;
  8427. uint AM_NODEID;
  8428. uint AM_COMPONENTID;
  8429. uint AM_NODEIDVECTOR;
  8430. uint FIRST_REPLICATED_ID;
  8431. uint LAST_REPLICATED_ID;
  8432. uint FIRST_LOCAL_ID;
  8433. uint LAST_LOCAL_ID;
  8434. uint VO_NONE;
  8435. uint VO_LOW_MATERIAL_QUALITY;
  8436. uint VO_DISABLE_SHADOWS;
  8437. uint VO_DISABLE_OCCLUSION;
  8438. uint DRAWABLE_GEOMETRY;
  8439. uint DRAWABLE_LIGHT;
  8440. uint DRAWABLE_ZONE;
  8441. uint DRAWABLE_ANY;
  8442. uint DEFAULT_VIEWMASK;
  8443. uint DEFAULT_LIGHTMASK;
  8444. int QUALITY_LOW;
  8445. int QUALITY_MEDIUM;
  8446. int QUALITY_HIGH;
  8447. int SHADOWQUALITY_LOW_16BIT;
  8448. int SHADOWQUALITY_LOW_24BIT;
  8449. int SHADOWQUALITY_HIGH_16BIT;
  8450. int SHADOWQUALITY_HIGH_24BIT;
  8451. int MOUSEB_LEFT;
  8452. int MOUSEB_RIGHT;
  8453. int MOUSEB_MIDDLE;
  8454. int QUAL_SHIFT;
  8455. int QUAL_CTRL;
  8456. int QUAL_ALT;
  8457. int QUAL_ANY;
  8458. int KEY_BACKSPACE;
  8459. int KEY_TAB;
  8460. int KEY_RETURN;
  8461. int KEY_RETURN2;
  8462. int KEY_KP_ENTER;
  8463. int KEY_PAUSE;
  8464. int KEY_CAPSLOCK;
  8465. int KEY_ESC;
  8466. int KEY_SPACE;
  8467. int KEY_PAGEUP;
  8468. int KEY_PAGEDOWN;
  8469. int KEY_END;
  8470. int KEY_HOME;
  8471. int KEY_LEFT;
  8472. int KEY_UP;
  8473. int KEY_RIGHT;
  8474. int KEY_DOWN;
  8475. int KEY_INSERT;
  8476. int KEY_DELETE;
  8477. int KEY_LWIN;
  8478. int KEY_RWIN;
  8479. int KEY_APPS;
  8480. int KEY_NUMPAD0;
  8481. int KEY_NUMPAD1;
  8482. int KEY_NUMPAD2;
  8483. int KEY_NUMPAD3;
  8484. int KEY_NUMPAD4;
  8485. int KEY_NUMPAD5;
  8486. int KEY_NUMPAD6;
  8487. int KEY_NUMPAD7;
  8488. int KEY_NUMPAD8;
  8489. int KEY_NUMPAD9;
  8490. int KEY_MULTIPLY;
  8491. int KEY_ADD;
  8492. int KEY_SUBTRACT;
  8493. int KEY_DECIMAL;
  8494. int KEY_DIVIDE;
  8495. int KEY_F1;
  8496. int KEY_F2;
  8497. int KEY_F3;
  8498. int KEY_F4;
  8499. int KEY_F5;
  8500. int KEY_F6;
  8501. int KEY_F7;
  8502. int KEY_F8;
  8503. int KEY_F9;
  8504. int KEY_F10;
  8505. int KEY_F11;
  8506. int KEY_F12;
  8507. int KEY_F13;
  8508. int KEY_F14;
  8509. int KEY_F15;
  8510. int KEY_F16;
  8511. int KEY_F17;
  8512. int KEY_F18;
  8513. int KEY_F19;
  8514. int KEY_F20;
  8515. int KEY_F21;
  8516. int KEY_F22;
  8517. int KEY_F23;
  8518. int KEY_F24;
  8519. int KEY_NUMLOCK;
  8520. int KEY_SCROLLLOCK;
  8521. int KEY_LSHIFT;
  8522. int KEY_RSHIFT;
  8523. int KEY_LCTRL;
  8524. int KEY_RCTRL;
  8525. int KEY_LALT;
  8526. int KEY_RALT;
  8527. int HAT_CENTER;
  8528. int HAT_UP;
  8529. int HAT_RIGHT;
  8530. int HAT_DOWN;
  8531. int HAT_LEFT;
  8532. int CONTROLLER_BUTTON_A;
  8533. int CONTROLLER_BUTTON_B;
  8534. int CONTROLLER_BUTTON_X;
  8535. int CONTROLLER_BUTTON_Y;
  8536. int CONTROLLER_BUTTON_BACK;
  8537. int CONTROLLER_BUTTON_GUIDE;
  8538. int CONTROLLER_BUTTON_START;
  8539. int CONTROLLER_BUTTON_LEFTSTICK;
  8540. int CONTROLLER_BUTTON_RIGHTSTICK;
  8541. int CONTROLLER_BUTTON_LEFTSHOULDER;
  8542. int CONTROLLER_BUTTON_RIGHTSHOULDER;
  8543. int CONTROLLER_BUTTON_DPAD_UP;
  8544. int CONTROLLER_BUTTON_DPAD_DOWN;
  8545. int CONTROLLER_BUTTON_DPAD_LEFT;
  8546. int CONTROLLER_BUTTON_DPAD_RIGHT;
  8547. int CONTROLLER_AXIS_LEFTX;
  8548. int CONTROLLER_AXIS_LEFTY;
  8549. int CONTROLLER_AXIS_RIGHTX;
  8550. int CONTROLLER_AXIS_RIGHTY;
  8551. int CONTROLLER_AXIS_TRIGGERLEFT;
  8552. int CONTROLLER_AXIS_TRIGGERRIGHT;
  8553. uint DD_DISABLED;
  8554. uint DD_SOURCE;
  8555. uint DD_TARGET;
  8556. uint DD_SOURCE_AND_TARGET;
  8557. uint DEBUGHUD_SHOW_NONE;
  8558. uint DEBUGHUD_SHOW_STATS;
  8559. uint DEBUGHUD_SHOW_MODE;
  8560. uint DEBUGHUD_SHOW_PROFILER;
  8561. uint DEBUGHUD_SHOW_ALL;