AngelScriptAPI.h 196 KB

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