AngelScriptAPI.h 196 KB

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