AngelScriptAPI.h 185 KB

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