[email protected] 335 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/@GlobalScope.xml.
  6. .. _class_@GlobalScope:
  7. @GlobalScope
  8. ============
  9. Global scope constants and functions.
  10. .. rst-class:: classref-introduction-group
  11. Description
  12. -----------
  13. A list of global scope enumerated constants and built-in functions. This is all that resides in the globals, constants regarding error codes, keycodes, property hints, etc.
  14. Singletons are also documented here, since they can be accessed from anywhere.
  15. For the entries that can only be accessed from scripts written in GDScript, see :ref:`@GDScript<class_@GDScript>`.
  16. .. note::
  17. There are notable differences when using this API with C#. See :ref:`doc_c_sharp_differences` for more information.
  18. .. rst-class:: classref-introduction-group
  19. Tutorials
  20. ---------
  21. - :doc:`Random number generation <../tutorials/math/random_number_generation>`
  22. .. rst-class:: classref-reftable-group
  23. Properties
  24. ----------
  25. .. table::
  26. :widths: auto
  27. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  28. | :ref:`AudioServer<class_AudioServer>` | :ref:`AudioServer<class_@GlobalScope_property_AudioServer>` |
  29. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  30. | :ref:`CameraServer<class_CameraServer>` | :ref:`CameraServer<class_@GlobalScope_property_CameraServer>` |
  31. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  32. | :ref:`ClassDB<class_ClassDB>` | :ref:`ClassDB<class_@GlobalScope_property_ClassDB>` |
  33. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  34. | :ref:`DisplayServer<class_DisplayServer>` | :ref:`DisplayServer<class_@GlobalScope_property_DisplayServer>` |
  35. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  36. | :ref:`EditorInterface<class_EditorInterface>` | :ref:`EditorInterface<class_@GlobalScope_property_EditorInterface>` |
  37. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  38. | :ref:`Engine<class_Engine>` | :ref:`Engine<class_@GlobalScope_property_Engine>` |
  39. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  40. | :ref:`EngineDebugger<class_EngineDebugger>` | :ref:`EngineDebugger<class_@GlobalScope_property_EngineDebugger>` |
  41. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  42. | :ref:`GDExtensionManager<class_GDExtensionManager>` | :ref:`GDExtensionManager<class_@GlobalScope_property_GDExtensionManager>` |
  43. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  44. | :ref:`Geometry2D<class_Geometry2D>` | :ref:`Geometry2D<class_@GlobalScope_property_Geometry2D>` |
  45. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  46. | :ref:`Geometry3D<class_Geometry3D>` | :ref:`Geometry3D<class_@GlobalScope_property_Geometry3D>` |
  47. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  48. | :ref:`IP<class_IP>` | :ref:`IP<class_@GlobalScope_property_IP>` |
  49. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  50. | :ref:`Input<class_Input>` | :ref:`Input<class_@GlobalScope_property_Input>` |
  51. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  52. | :ref:`InputMap<class_InputMap>` | :ref:`InputMap<class_@GlobalScope_property_InputMap>` |
  53. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  54. | :ref:`JavaClassWrapper<class_JavaClassWrapper>` | :ref:`JavaClassWrapper<class_@GlobalScope_property_JavaClassWrapper>` |
  55. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  56. | :ref:`JavaScriptBridge<class_JavaScriptBridge>` | :ref:`JavaScriptBridge<class_@GlobalScope_property_JavaScriptBridge>` |
  57. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  58. | :ref:`Marshalls<class_Marshalls>` | :ref:`Marshalls<class_@GlobalScope_property_Marshalls>` |
  59. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  60. | :ref:`NativeMenu<class_NativeMenu>` | :ref:`NativeMenu<class_@GlobalScope_property_NativeMenu>` |
  61. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  62. | :ref:`NavigationMeshGenerator<class_NavigationMeshGenerator>` | :ref:`NavigationMeshGenerator<class_@GlobalScope_property_NavigationMeshGenerator>` |
  63. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  64. | :ref:`NavigationServer2D<class_NavigationServer2D>` | :ref:`NavigationServer2D<class_@GlobalScope_property_NavigationServer2D>` |
  65. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  66. | :ref:`NavigationServer2DManager<class_NavigationServer2DManager>` | :ref:`NavigationServer2DManager<class_@GlobalScope_property_NavigationServer2DManager>` |
  67. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  68. | :ref:`NavigationServer3D<class_NavigationServer3D>` | :ref:`NavigationServer3D<class_@GlobalScope_property_NavigationServer3D>` |
  69. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  70. | :ref:`NavigationServer3DManager<class_NavigationServer3DManager>` | :ref:`NavigationServer3DManager<class_@GlobalScope_property_NavigationServer3DManager>` |
  71. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  72. | :ref:`OS<class_OS>` | :ref:`OS<class_@GlobalScope_property_OS>` |
  73. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  74. | :ref:`Performance<class_Performance>` | :ref:`Performance<class_@GlobalScope_property_Performance>` |
  75. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  76. | :ref:`PhysicsServer2D<class_PhysicsServer2D>` | :ref:`PhysicsServer2D<class_@GlobalScope_property_PhysicsServer2D>` |
  77. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  78. | :ref:`PhysicsServer2DManager<class_PhysicsServer2DManager>` | :ref:`PhysicsServer2DManager<class_@GlobalScope_property_PhysicsServer2DManager>` |
  79. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  80. | :ref:`PhysicsServer3D<class_PhysicsServer3D>` | :ref:`PhysicsServer3D<class_@GlobalScope_property_PhysicsServer3D>` |
  81. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  82. | :ref:`PhysicsServer3DManager<class_PhysicsServer3DManager>` | :ref:`PhysicsServer3DManager<class_@GlobalScope_property_PhysicsServer3DManager>` |
  83. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  84. | :ref:`ProjectSettings<class_ProjectSettings>` | :ref:`ProjectSettings<class_@GlobalScope_property_ProjectSettings>` |
  85. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  86. | :ref:`RenderingServer<class_RenderingServer>` | :ref:`RenderingServer<class_@GlobalScope_property_RenderingServer>` |
  87. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  88. | :ref:`ResourceLoader<class_ResourceLoader>` | :ref:`ResourceLoader<class_@GlobalScope_property_ResourceLoader>` |
  89. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  90. | :ref:`ResourceSaver<class_ResourceSaver>` | :ref:`ResourceSaver<class_@GlobalScope_property_ResourceSaver>` |
  91. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  92. | :ref:`ResourceUID<class_ResourceUID>` | :ref:`ResourceUID<class_@GlobalScope_property_ResourceUID>` |
  93. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  94. | :ref:`TextServerManager<class_TextServerManager>` | :ref:`TextServerManager<class_@GlobalScope_property_TextServerManager>` |
  95. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  96. | :ref:`ThemeDB<class_ThemeDB>` | :ref:`ThemeDB<class_@GlobalScope_property_ThemeDB>` |
  97. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  98. | :ref:`Time<class_Time>` | :ref:`Time<class_@GlobalScope_property_Time>` |
  99. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  100. | :ref:`TranslationServer<class_TranslationServer>` | :ref:`TranslationServer<class_@GlobalScope_property_TranslationServer>` |
  101. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  102. | :ref:`WorkerThreadPool<class_WorkerThreadPool>` | :ref:`WorkerThreadPool<class_@GlobalScope_property_WorkerThreadPool>` |
  103. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  104. | :ref:`XRServer<class_XRServer>` | :ref:`XRServer<class_@GlobalScope_property_XRServer>` |
  105. +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------+
  106. .. rst-class:: classref-reftable-group
  107. Methods
  108. -------
  109. .. table::
  110. :widths: auto
  111. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  112. | :ref:`Variant<class_Variant>` | :ref:`abs<class_@GlobalScope_method_abs>`\ (\ x\: :ref:`Variant<class_Variant>`\ ) |
  113. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  114. | :ref:`float<class_float>` | :ref:`absf<class_@GlobalScope_method_absf>`\ (\ x\: :ref:`float<class_float>`\ ) |
  115. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  116. | :ref:`int<class_int>` | :ref:`absi<class_@GlobalScope_method_absi>`\ (\ x\: :ref:`int<class_int>`\ ) |
  117. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  118. | :ref:`float<class_float>` | :ref:`acos<class_@GlobalScope_method_acos>`\ (\ x\: :ref:`float<class_float>`\ ) |
  119. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  120. | :ref:`float<class_float>` | :ref:`acosh<class_@GlobalScope_method_acosh>`\ (\ x\: :ref:`float<class_float>`\ ) |
  121. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  122. | :ref:`float<class_float>` | :ref:`angle_difference<class_@GlobalScope_method_angle_difference>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`\ ) |
  123. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  124. | :ref:`float<class_float>` | :ref:`asin<class_@GlobalScope_method_asin>`\ (\ x\: :ref:`float<class_float>`\ ) |
  125. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  126. | :ref:`float<class_float>` | :ref:`asinh<class_@GlobalScope_method_asinh>`\ (\ x\: :ref:`float<class_float>`\ ) |
  127. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  128. | :ref:`float<class_float>` | :ref:`atan<class_@GlobalScope_method_atan>`\ (\ x\: :ref:`float<class_float>`\ ) |
  129. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  130. | :ref:`float<class_float>` | :ref:`atan2<class_@GlobalScope_method_atan2>`\ (\ y\: :ref:`float<class_float>`, x\: :ref:`float<class_float>`\ ) |
  131. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  132. | :ref:`float<class_float>` | :ref:`atanh<class_@GlobalScope_method_atanh>`\ (\ x\: :ref:`float<class_float>`\ ) |
  133. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  134. | :ref:`float<class_float>` | :ref:`bezier_derivative<class_@GlobalScope_method_bezier_derivative>`\ (\ start\: :ref:`float<class_float>`, control_1\: :ref:`float<class_float>`, control_2\: :ref:`float<class_float>`, end\: :ref:`float<class_float>`, t\: :ref:`float<class_float>`\ ) |
  135. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  136. | :ref:`float<class_float>` | :ref:`bezier_interpolate<class_@GlobalScope_method_bezier_interpolate>`\ (\ start\: :ref:`float<class_float>`, control_1\: :ref:`float<class_float>`, control_2\: :ref:`float<class_float>`, end\: :ref:`float<class_float>`, t\: :ref:`float<class_float>`\ ) |
  137. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  138. | :ref:`Variant<class_Variant>` | :ref:`bytes_to_var<class_@GlobalScope_method_bytes_to_var>`\ (\ bytes\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) |
  139. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  140. | :ref:`Variant<class_Variant>` | :ref:`bytes_to_var_with_objects<class_@GlobalScope_method_bytes_to_var_with_objects>`\ (\ bytes\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) |
  141. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  142. | :ref:`Variant<class_Variant>` | :ref:`ceil<class_@GlobalScope_method_ceil>`\ (\ x\: :ref:`Variant<class_Variant>`\ ) |
  143. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  144. | :ref:`float<class_float>` | :ref:`ceilf<class_@GlobalScope_method_ceilf>`\ (\ x\: :ref:`float<class_float>`\ ) |
  145. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  146. | :ref:`int<class_int>` | :ref:`ceili<class_@GlobalScope_method_ceili>`\ (\ x\: :ref:`float<class_float>`\ ) |
  147. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  148. | :ref:`Variant<class_Variant>` | :ref:`clamp<class_@GlobalScope_method_clamp>`\ (\ value\: :ref:`Variant<class_Variant>`, min\: :ref:`Variant<class_Variant>`, max\: :ref:`Variant<class_Variant>`\ ) |
  149. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  150. | :ref:`float<class_float>` | :ref:`clampf<class_@GlobalScope_method_clampf>`\ (\ value\: :ref:`float<class_float>`, min\: :ref:`float<class_float>`, max\: :ref:`float<class_float>`\ ) |
  151. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  152. | :ref:`int<class_int>` | :ref:`clampi<class_@GlobalScope_method_clampi>`\ (\ value\: :ref:`int<class_int>`, min\: :ref:`int<class_int>`, max\: :ref:`int<class_int>`\ ) |
  153. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  154. | :ref:`float<class_float>` | :ref:`cos<class_@GlobalScope_method_cos>`\ (\ angle_rad\: :ref:`float<class_float>`\ ) |
  155. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  156. | :ref:`float<class_float>` | :ref:`cosh<class_@GlobalScope_method_cosh>`\ (\ x\: :ref:`float<class_float>`\ ) |
  157. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  158. | :ref:`float<class_float>` | :ref:`cubic_interpolate<class_@GlobalScope_method_cubic_interpolate>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, pre\: :ref:`float<class_float>`, post\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`\ ) |
  159. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  160. | :ref:`float<class_float>` | :ref:`cubic_interpolate_angle<class_@GlobalScope_method_cubic_interpolate_angle>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, pre\: :ref:`float<class_float>`, post\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`\ ) |
  161. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  162. | :ref:`float<class_float>` | :ref:`cubic_interpolate_angle_in_time<class_@GlobalScope_method_cubic_interpolate_angle_in_time>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, pre\: :ref:`float<class_float>`, post\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`, to_t\: :ref:`float<class_float>`, pre_t\: :ref:`float<class_float>`, post_t\: :ref:`float<class_float>`\ ) |
  163. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  164. | :ref:`float<class_float>` | :ref:`cubic_interpolate_in_time<class_@GlobalScope_method_cubic_interpolate_in_time>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, pre\: :ref:`float<class_float>`, post\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`, to_t\: :ref:`float<class_float>`, pre_t\: :ref:`float<class_float>`, post_t\: :ref:`float<class_float>`\ ) |
  165. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  166. | :ref:`float<class_float>` | :ref:`db_to_linear<class_@GlobalScope_method_db_to_linear>`\ (\ db\: :ref:`float<class_float>`\ ) |
  167. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  168. | :ref:`float<class_float>` | :ref:`deg_to_rad<class_@GlobalScope_method_deg_to_rad>`\ (\ deg\: :ref:`float<class_float>`\ ) |
  169. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  170. | :ref:`float<class_float>` | :ref:`ease<class_@GlobalScope_method_ease>`\ (\ x\: :ref:`float<class_float>`, curve\: :ref:`float<class_float>`\ ) |
  171. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | :ref:`String<class_String>` | :ref:`error_string<class_@GlobalScope_method_error_string>`\ (\ error\: :ref:`int<class_int>`\ ) |
  173. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | :ref:`float<class_float>` | :ref:`exp<class_@GlobalScope_method_exp>`\ (\ x\: :ref:`float<class_float>`\ ) |
  175. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | :ref:`Variant<class_Variant>` | :ref:`floor<class_@GlobalScope_method_floor>`\ (\ x\: :ref:`Variant<class_Variant>`\ ) |
  177. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | :ref:`float<class_float>` | :ref:`floorf<class_@GlobalScope_method_floorf>`\ (\ x\: :ref:`float<class_float>`\ ) |
  179. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | :ref:`int<class_int>` | :ref:`floori<class_@GlobalScope_method_floori>`\ (\ x\: :ref:`float<class_float>`\ ) |
  181. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | :ref:`float<class_float>` | :ref:`fmod<class_@GlobalScope_method_fmod>`\ (\ x\: :ref:`float<class_float>`, y\: :ref:`float<class_float>`\ ) |
  183. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | :ref:`float<class_float>` | :ref:`fposmod<class_@GlobalScope_method_fposmod>`\ (\ x\: :ref:`float<class_float>`, y\: :ref:`float<class_float>`\ ) |
  185. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | :ref:`int<class_int>` | :ref:`hash<class_@GlobalScope_method_hash>`\ (\ variable\: :ref:`Variant<class_Variant>`\ ) |
  187. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | :ref:`Object<class_Object>` | :ref:`instance_from_id<class_@GlobalScope_method_instance_from_id>`\ (\ instance_id\: :ref:`int<class_int>`\ ) |
  189. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | :ref:`float<class_float>` | :ref:`inverse_lerp<class_@GlobalScope_method_inverse_lerp>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`\ ) |
  191. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | :ref:`bool<class_bool>` | :ref:`is_equal_approx<class_@GlobalScope_method_is_equal_approx>`\ (\ a\: :ref:`float<class_float>`, b\: :ref:`float<class_float>`\ ) |
  193. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. | :ref:`bool<class_bool>` | :ref:`is_finite<class_@GlobalScope_method_is_finite>`\ (\ x\: :ref:`float<class_float>`\ ) |
  195. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  196. | :ref:`bool<class_bool>` | :ref:`is_inf<class_@GlobalScope_method_is_inf>`\ (\ x\: :ref:`float<class_float>`\ ) |
  197. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  198. | :ref:`bool<class_bool>` | :ref:`is_instance_id_valid<class_@GlobalScope_method_is_instance_id_valid>`\ (\ id\: :ref:`int<class_int>`\ ) |
  199. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  200. | :ref:`bool<class_bool>` | :ref:`is_instance_valid<class_@GlobalScope_method_is_instance_valid>`\ (\ instance\: :ref:`Variant<class_Variant>`\ ) |
  201. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  202. | :ref:`bool<class_bool>` | :ref:`is_nan<class_@GlobalScope_method_is_nan>`\ (\ x\: :ref:`float<class_float>`\ ) |
  203. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  204. | :ref:`bool<class_bool>` | :ref:`is_same<class_@GlobalScope_method_is_same>`\ (\ a\: :ref:`Variant<class_Variant>`, b\: :ref:`Variant<class_Variant>`\ ) |
  205. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  206. | :ref:`bool<class_bool>` | :ref:`is_zero_approx<class_@GlobalScope_method_is_zero_approx>`\ (\ x\: :ref:`float<class_float>`\ ) |
  207. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  208. | :ref:`Variant<class_Variant>` | :ref:`lerp<class_@GlobalScope_method_lerp>`\ (\ from\: :ref:`Variant<class_Variant>`, to\: :ref:`Variant<class_Variant>`, weight\: :ref:`Variant<class_Variant>`\ ) |
  209. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  210. | :ref:`float<class_float>` | :ref:`lerp_angle<class_@GlobalScope_method_lerp_angle>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`\ ) |
  211. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  212. | :ref:`float<class_float>` | :ref:`lerpf<class_@GlobalScope_method_lerpf>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`\ ) |
  213. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  214. | :ref:`float<class_float>` | :ref:`linear_to_db<class_@GlobalScope_method_linear_to_db>`\ (\ lin\: :ref:`float<class_float>`\ ) |
  215. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  216. | :ref:`float<class_float>` | :ref:`log<class_@GlobalScope_method_log>`\ (\ x\: :ref:`float<class_float>`\ ) |
  217. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  218. | :ref:`Variant<class_Variant>` | :ref:`max<class_@GlobalScope_method_max>`\ (\ ...\ ) |vararg| |
  219. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  220. | :ref:`float<class_float>` | :ref:`maxf<class_@GlobalScope_method_maxf>`\ (\ a\: :ref:`float<class_float>`, b\: :ref:`float<class_float>`\ ) |
  221. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  222. | :ref:`int<class_int>` | :ref:`maxi<class_@GlobalScope_method_maxi>`\ (\ a\: :ref:`int<class_int>`, b\: :ref:`int<class_int>`\ ) |
  223. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  224. | :ref:`Variant<class_Variant>` | :ref:`min<class_@GlobalScope_method_min>`\ (\ ...\ ) |vararg| |
  225. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  226. | :ref:`float<class_float>` | :ref:`minf<class_@GlobalScope_method_minf>`\ (\ a\: :ref:`float<class_float>`, b\: :ref:`float<class_float>`\ ) |
  227. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  228. | :ref:`int<class_int>` | :ref:`mini<class_@GlobalScope_method_mini>`\ (\ a\: :ref:`int<class_int>`, b\: :ref:`int<class_int>`\ ) |
  229. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  230. | :ref:`float<class_float>` | :ref:`move_toward<class_@GlobalScope_method_move_toward>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, delta\: :ref:`float<class_float>`\ ) |
  231. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  232. | :ref:`int<class_int>` | :ref:`nearest_po2<class_@GlobalScope_method_nearest_po2>`\ (\ value\: :ref:`int<class_int>`\ ) |
  233. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  234. | :ref:`float<class_float>` | :ref:`pingpong<class_@GlobalScope_method_pingpong>`\ (\ value\: :ref:`float<class_float>`, length\: :ref:`float<class_float>`\ ) |
  235. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  236. | :ref:`int<class_int>` | :ref:`posmod<class_@GlobalScope_method_posmod>`\ (\ x\: :ref:`int<class_int>`, y\: :ref:`int<class_int>`\ ) |
  237. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  238. | :ref:`float<class_float>` | :ref:`pow<class_@GlobalScope_method_pow>`\ (\ base\: :ref:`float<class_float>`, exp\: :ref:`float<class_float>`\ ) |
  239. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  240. | |void| | :ref:`print<class_@GlobalScope_method_print>`\ (\ ...\ ) |vararg| |
  241. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  242. | |void| | :ref:`print_rich<class_@GlobalScope_method_print_rich>`\ (\ ...\ ) |vararg| |
  243. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  244. | |void| | :ref:`print_verbose<class_@GlobalScope_method_print_verbose>`\ (\ ...\ ) |vararg| |
  245. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  246. | |void| | :ref:`printerr<class_@GlobalScope_method_printerr>`\ (\ ...\ ) |vararg| |
  247. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  248. | |void| | :ref:`printraw<class_@GlobalScope_method_printraw>`\ (\ ...\ ) |vararg| |
  249. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  250. | |void| | :ref:`prints<class_@GlobalScope_method_prints>`\ (\ ...\ ) |vararg| |
  251. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  252. | |void| | :ref:`printt<class_@GlobalScope_method_printt>`\ (\ ...\ ) |vararg| |
  253. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  254. | |void| | :ref:`push_error<class_@GlobalScope_method_push_error>`\ (\ ...\ ) |vararg| |
  255. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  256. | |void| | :ref:`push_warning<class_@GlobalScope_method_push_warning>`\ (\ ...\ ) |vararg| |
  257. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  258. | :ref:`float<class_float>` | :ref:`rad_to_deg<class_@GlobalScope_method_rad_to_deg>`\ (\ rad\: :ref:`float<class_float>`\ ) |
  259. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  260. | :ref:`PackedInt64Array<class_PackedInt64Array>` | :ref:`rand_from_seed<class_@GlobalScope_method_rand_from_seed>`\ (\ seed\: :ref:`int<class_int>`\ ) |
  261. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  262. | :ref:`float<class_float>` | :ref:`randf<class_@GlobalScope_method_randf>`\ (\ ) |
  263. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  264. | :ref:`float<class_float>` | :ref:`randf_range<class_@GlobalScope_method_randf_range>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`\ ) |
  265. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  266. | :ref:`float<class_float>` | :ref:`randfn<class_@GlobalScope_method_randfn>`\ (\ mean\: :ref:`float<class_float>`, deviation\: :ref:`float<class_float>`\ ) |
  267. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  268. | :ref:`int<class_int>` | :ref:`randi<class_@GlobalScope_method_randi>`\ (\ ) |
  269. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  270. | :ref:`int<class_int>` | :ref:`randi_range<class_@GlobalScope_method_randi_range>`\ (\ from\: :ref:`int<class_int>`, to\: :ref:`int<class_int>`\ ) |
  271. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  272. | |void| | :ref:`randomize<class_@GlobalScope_method_randomize>`\ (\ ) |
  273. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  274. | :ref:`float<class_float>` | :ref:`remap<class_@GlobalScope_method_remap>`\ (\ value\: :ref:`float<class_float>`, istart\: :ref:`float<class_float>`, istop\: :ref:`float<class_float>`, ostart\: :ref:`float<class_float>`, ostop\: :ref:`float<class_float>`\ ) |
  275. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  276. | :ref:`int<class_int>` | :ref:`rid_allocate_id<class_@GlobalScope_method_rid_allocate_id>`\ (\ ) |
  277. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  278. | :ref:`RID<class_RID>` | :ref:`rid_from_int64<class_@GlobalScope_method_rid_from_int64>`\ (\ base\: :ref:`int<class_int>`\ ) |
  279. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  280. | :ref:`float<class_float>` | :ref:`rotate_toward<class_@GlobalScope_method_rotate_toward>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, delta\: :ref:`float<class_float>`\ ) |
  281. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  282. | :ref:`Variant<class_Variant>` | :ref:`round<class_@GlobalScope_method_round>`\ (\ x\: :ref:`Variant<class_Variant>`\ ) |
  283. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  284. | :ref:`float<class_float>` | :ref:`roundf<class_@GlobalScope_method_roundf>`\ (\ x\: :ref:`float<class_float>`\ ) |
  285. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  286. | :ref:`int<class_int>` | :ref:`roundi<class_@GlobalScope_method_roundi>`\ (\ x\: :ref:`float<class_float>`\ ) |
  287. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  288. | |void| | :ref:`seed<class_@GlobalScope_method_seed>`\ (\ base\: :ref:`int<class_int>`\ ) |
  289. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  290. | :ref:`Variant<class_Variant>` | :ref:`sign<class_@GlobalScope_method_sign>`\ (\ x\: :ref:`Variant<class_Variant>`\ ) |
  291. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  292. | :ref:`float<class_float>` | :ref:`signf<class_@GlobalScope_method_signf>`\ (\ x\: :ref:`float<class_float>`\ ) |
  293. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  294. | :ref:`int<class_int>` | :ref:`signi<class_@GlobalScope_method_signi>`\ (\ x\: :ref:`int<class_int>`\ ) |
  295. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  296. | :ref:`float<class_float>` | :ref:`sin<class_@GlobalScope_method_sin>`\ (\ angle_rad\: :ref:`float<class_float>`\ ) |
  297. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  298. | :ref:`float<class_float>` | :ref:`sinh<class_@GlobalScope_method_sinh>`\ (\ x\: :ref:`float<class_float>`\ ) |
  299. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  300. | :ref:`float<class_float>` | :ref:`smoothstep<class_@GlobalScope_method_smoothstep>`\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, x\: :ref:`float<class_float>`\ ) |
  301. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  302. | :ref:`Variant<class_Variant>` | :ref:`snapped<class_@GlobalScope_method_snapped>`\ (\ x\: :ref:`Variant<class_Variant>`, step\: :ref:`Variant<class_Variant>`\ ) |
  303. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  304. | :ref:`float<class_float>` | :ref:`snappedf<class_@GlobalScope_method_snappedf>`\ (\ x\: :ref:`float<class_float>`, step\: :ref:`float<class_float>`\ ) |
  305. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  306. | :ref:`int<class_int>` | :ref:`snappedi<class_@GlobalScope_method_snappedi>`\ (\ x\: :ref:`float<class_float>`, step\: :ref:`int<class_int>`\ ) |
  307. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  308. | :ref:`float<class_float>` | :ref:`sqrt<class_@GlobalScope_method_sqrt>`\ (\ x\: :ref:`float<class_float>`\ ) |
  309. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  310. | :ref:`int<class_int>` | :ref:`step_decimals<class_@GlobalScope_method_step_decimals>`\ (\ x\: :ref:`float<class_float>`\ ) |
  311. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  312. | :ref:`String<class_String>` | :ref:`str<class_@GlobalScope_method_str>`\ (\ ...\ ) |vararg| |
  313. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  314. | :ref:`Variant<class_Variant>` | :ref:`str_to_var<class_@GlobalScope_method_str_to_var>`\ (\ string\: :ref:`String<class_String>`\ ) |
  315. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  316. | :ref:`float<class_float>` | :ref:`tan<class_@GlobalScope_method_tan>`\ (\ angle_rad\: :ref:`float<class_float>`\ ) |
  317. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  318. | :ref:`float<class_float>` | :ref:`tanh<class_@GlobalScope_method_tanh>`\ (\ x\: :ref:`float<class_float>`\ ) |
  319. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  320. | :ref:`Variant<class_Variant>` | :ref:`type_convert<class_@GlobalScope_method_type_convert>`\ (\ variant\: :ref:`Variant<class_Variant>`, type\: :ref:`int<class_int>`\ ) |
  321. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  322. | :ref:`String<class_String>` | :ref:`type_string<class_@GlobalScope_method_type_string>`\ (\ type\: :ref:`int<class_int>`\ ) |
  323. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  324. | :ref:`int<class_int>` | :ref:`typeof<class_@GlobalScope_method_typeof>`\ (\ variable\: :ref:`Variant<class_Variant>`\ ) |
  325. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  326. | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`var_to_bytes<class_@GlobalScope_method_var_to_bytes>`\ (\ variable\: :ref:`Variant<class_Variant>`\ ) |
  327. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  328. | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`var_to_bytes_with_objects<class_@GlobalScope_method_var_to_bytes_with_objects>`\ (\ variable\: :ref:`Variant<class_Variant>`\ ) |
  329. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  330. | :ref:`String<class_String>` | :ref:`var_to_str<class_@GlobalScope_method_var_to_str>`\ (\ variable\: :ref:`Variant<class_Variant>`\ ) |
  331. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  332. | :ref:`Variant<class_Variant>` | :ref:`weakref<class_@GlobalScope_method_weakref>`\ (\ obj\: :ref:`Variant<class_Variant>`\ ) |
  333. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  334. | :ref:`Variant<class_Variant>` | :ref:`wrap<class_@GlobalScope_method_wrap>`\ (\ value\: :ref:`Variant<class_Variant>`, min\: :ref:`Variant<class_Variant>`, max\: :ref:`Variant<class_Variant>`\ ) |
  335. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  336. | :ref:`float<class_float>` | :ref:`wrapf<class_@GlobalScope_method_wrapf>`\ (\ value\: :ref:`float<class_float>`, min\: :ref:`float<class_float>`, max\: :ref:`float<class_float>`\ ) |
  337. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  338. | :ref:`int<class_int>` | :ref:`wrapi<class_@GlobalScope_method_wrapi>`\ (\ value\: :ref:`int<class_int>`, min\: :ref:`int<class_int>`, max\: :ref:`int<class_int>`\ ) |
  339. +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  340. .. rst-class:: classref-section-separator
  341. ----
  342. .. rst-class:: classref-descriptions-group
  343. Enumerations
  344. ------------
  345. .. _enum_@GlobalScope_Side:
  346. .. rst-class:: classref-enumeration
  347. enum **Side**: :ref:`🔗<enum_@GlobalScope_Side>`
  348. .. _class_@GlobalScope_constant_SIDE_LEFT:
  349. .. rst-class:: classref-enumeration-constant
  350. :ref:`Side<enum_@GlobalScope_Side>` **SIDE_LEFT** = ``0``
  351. Left side, usually used for :ref:`Control<class_Control>` or :ref:`StyleBox<class_StyleBox>`-derived classes.
  352. .. _class_@GlobalScope_constant_SIDE_TOP:
  353. .. rst-class:: classref-enumeration-constant
  354. :ref:`Side<enum_@GlobalScope_Side>` **SIDE_TOP** = ``1``
  355. Top side, usually used for :ref:`Control<class_Control>` or :ref:`StyleBox<class_StyleBox>`-derived classes.
  356. .. _class_@GlobalScope_constant_SIDE_RIGHT:
  357. .. rst-class:: classref-enumeration-constant
  358. :ref:`Side<enum_@GlobalScope_Side>` **SIDE_RIGHT** = ``2``
  359. Right side, usually used for :ref:`Control<class_Control>` or :ref:`StyleBox<class_StyleBox>`-derived classes.
  360. .. _class_@GlobalScope_constant_SIDE_BOTTOM:
  361. .. rst-class:: classref-enumeration-constant
  362. :ref:`Side<enum_@GlobalScope_Side>` **SIDE_BOTTOM** = ``3``
  363. Bottom side, usually used for :ref:`Control<class_Control>` or :ref:`StyleBox<class_StyleBox>`-derived classes.
  364. .. rst-class:: classref-item-separator
  365. ----
  366. .. _enum_@GlobalScope_Corner:
  367. .. rst-class:: classref-enumeration
  368. enum **Corner**: :ref:`🔗<enum_@GlobalScope_Corner>`
  369. .. _class_@GlobalScope_constant_CORNER_TOP_LEFT:
  370. .. rst-class:: classref-enumeration-constant
  371. :ref:`Corner<enum_@GlobalScope_Corner>` **CORNER_TOP_LEFT** = ``0``
  372. Top-left corner.
  373. .. _class_@GlobalScope_constant_CORNER_TOP_RIGHT:
  374. .. rst-class:: classref-enumeration-constant
  375. :ref:`Corner<enum_@GlobalScope_Corner>` **CORNER_TOP_RIGHT** = ``1``
  376. Top-right corner.
  377. .. _class_@GlobalScope_constant_CORNER_BOTTOM_RIGHT:
  378. .. rst-class:: classref-enumeration-constant
  379. :ref:`Corner<enum_@GlobalScope_Corner>` **CORNER_BOTTOM_RIGHT** = ``2``
  380. Bottom-right corner.
  381. .. _class_@GlobalScope_constant_CORNER_BOTTOM_LEFT:
  382. .. rst-class:: classref-enumeration-constant
  383. :ref:`Corner<enum_@GlobalScope_Corner>` **CORNER_BOTTOM_LEFT** = ``3``
  384. Bottom-left corner.
  385. .. rst-class:: classref-item-separator
  386. ----
  387. .. _enum_@GlobalScope_Orientation:
  388. .. rst-class:: classref-enumeration
  389. enum **Orientation**: :ref:`🔗<enum_@GlobalScope_Orientation>`
  390. .. _class_@GlobalScope_constant_VERTICAL:
  391. .. rst-class:: classref-enumeration-constant
  392. :ref:`Orientation<enum_@GlobalScope_Orientation>` **VERTICAL** = ``1``
  393. General vertical alignment, usually used for :ref:`Separator<class_Separator>`, :ref:`ScrollBar<class_ScrollBar>`, :ref:`Slider<class_Slider>`, etc.
  394. .. _class_@GlobalScope_constant_HORIZONTAL:
  395. .. rst-class:: classref-enumeration-constant
  396. :ref:`Orientation<enum_@GlobalScope_Orientation>` **HORIZONTAL** = ``0``
  397. General horizontal alignment, usually used for :ref:`Separator<class_Separator>`, :ref:`ScrollBar<class_ScrollBar>`, :ref:`Slider<class_Slider>`, etc.
  398. .. rst-class:: classref-item-separator
  399. ----
  400. .. _enum_@GlobalScope_ClockDirection:
  401. .. rst-class:: classref-enumeration
  402. enum **ClockDirection**: :ref:`🔗<enum_@GlobalScope_ClockDirection>`
  403. .. _class_@GlobalScope_constant_CLOCKWISE:
  404. .. rst-class:: classref-enumeration-constant
  405. :ref:`ClockDirection<enum_@GlobalScope_ClockDirection>` **CLOCKWISE** = ``0``
  406. Clockwise rotation. Used by some methods (e.g. :ref:`Image.rotate_90()<class_Image_method_rotate_90>`).
  407. .. _class_@GlobalScope_constant_COUNTERCLOCKWISE:
  408. .. rst-class:: classref-enumeration-constant
  409. :ref:`ClockDirection<enum_@GlobalScope_ClockDirection>` **COUNTERCLOCKWISE** = ``1``
  410. Counter-clockwise rotation. Used by some methods (e.g. :ref:`Image.rotate_90()<class_Image_method_rotate_90>`).
  411. .. rst-class:: classref-item-separator
  412. ----
  413. .. _enum_@GlobalScope_HorizontalAlignment:
  414. .. rst-class:: classref-enumeration
  415. enum **HorizontalAlignment**: :ref:`🔗<enum_@GlobalScope_HorizontalAlignment>`
  416. .. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_LEFT:
  417. .. rst-class:: classref-enumeration-constant
  418. :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **HORIZONTAL_ALIGNMENT_LEFT** = ``0``
  419. Horizontal left alignment, usually for text-derived classes.
  420. .. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_CENTER:
  421. .. rst-class:: classref-enumeration-constant
  422. :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **HORIZONTAL_ALIGNMENT_CENTER** = ``1``
  423. Horizontal center alignment, usually for text-derived classes.
  424. .. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_RIGHT:
  425. .. rst-class:: classref-enumeration-constant
  426. :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **HORIZONTAL_ALIGNMENT_RIGHT** = ``2``
  427. Horizontal right alignment, usually for text-derived classes.
  428. .. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_FILL:
  429. .. rst-class:: classref-enumeration-constant
  430. :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **HORIZONTAL_ALIGNMENT_FILL** = ``3``
  431. Expand row to fit width, usually for text-derived classes.
  432. .. rst-class:: classref-item-separator
  433. ----
  434. .. _enum_@GlobalScope_VerticalAlignment:
  435. .. rst-class:: classref-enumeration
  436. enum **VerticalAlignment**: :ref:`🔗<enum_@GlobalScope_VerticalAlignment>`
  437. .. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_TOP:
  438. .. rst-class:: classref-enumeration-constant
  439. :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **VERTICAL_ALIGNMENT_TOP** = ``0``
  440. Vertical top alignment, usually for text-derived classes.
  441. .. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_CENTER:
  442. .. rst-class:: classref-enumeration-constant
  443. :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **VERTICAL_ALIGNMENT_CENTER** = ``1``
  444. Vertical center alignment, usually for text-derived classes.
  445. .. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_BOTTOM:
  446. .. rst-class:: classref-enumeration-constant
  447. :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **VERTICAL_ALIGNMENT_BOTTOM** = ``2``
  448. Vertical bottom alignment, usually for text-derived classes.
  449. .. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_FILL:
  450. .. rst-class:: classref-enumeration-constant
  451. :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **VERTICAL_ALIGNMENT_FILL** = ``3``
  452. Expand rows to fit height, usually for text-derived classes.
  453. .. rst-class:: classref-item-separator
  454. ----
  455. .. _enum_@GlobalScope_InlineAlignment:
  456. .. rst-class:: classref-enumeration
  457. enum **InlineAlignment**: :ref:`🔗<enum_@GlobalScope_InlineAlignment>`
  458. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TOP_TO:
  459. .. rst-class:: classref-enumeration-constant
  460. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TOP_TO** = ``0``
  461. Aligns the top of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGNMENT_TO_*`` constant.
  462. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_CENTER_TO:
  463. .. rst-class:: classref-enumeration-constant
  464. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_CENTER_TO** = ``1``
  465. Aligns the center of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGNMENT_TO_*`` constant.
  466. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_BASELINE_TO:
  467. .. rst-class:: classref-enumeration-constant
  468. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_BASELINE_TO** = ``3``
  469. Aligns the baseline (user defined) of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGNMENT_TO_*`` constant.
  470. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_BOTTOM_TO:
  471. .. rst-class:: classref-enumeration-constant
  472. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_BOTTOM_TO** = ``2``
  473. Aligns the bottom of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGNMENT_TO_*`` constant.
  474. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_TOP:
  475. .. rst-class:: classref-enumeration-constant
  476. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TO_TOP** = ``0``
  477. Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGNMENT_*_TO`` constant to the top of the text.
  478. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_CENTER:
  479. .. rst-class:: classref-enumeration-constant
  480. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TO_CENTER** = ``4``
  481. Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGNMENT_*_TO`` constant to the center of the text.
  482. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_BASELINE:
  483. .. rst-class:: classref-enumeration-constant
  484. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TO_BASELINE** = ``8``
  485. Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGNMENT_*_TO`` constant to the baseline of the text.
  486. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_BOTTOM:
  487. .. rst-class:: classref-enumeration-constant
  488. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TO_BOTTOM** = ``12``
  489. Aligns inline object (e.g. image, table) to the bottom of the text.
  490. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TOP:
  491. .. rst-class:: classref-enumeration-constant
  492. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TOP** = ``0``
  493. Aligns top of the inline object (e.g. image, table) to the top of the text. Equivalent to ``INLINE_ALIGNMENT_TOP_TO | INLINE_ALIGNMENT_TO_TOP``.
  494. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_CENTER:
  495. .. rst-class:: classref-enumeration-constant
  496. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_CENTER** = ``5``
  497. Aligns center of the inline object (e.g. image, table) to the center of the text. Equivalent to ``INLINE_ALIGNMENT_CENTER_TO | INLINE_ALIGNMENT_TO_CENTER``.
  498. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_BOTTOM:
  499. .. rst-class:: classref-enumeration-constant
  500. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_BOTTOM** = ``14``
  501. Aligns bottom of the inline object (e.g. image, table) to the bottom of the text. Equivalent to ``INLINE_ALIGNMENT_BOTTOM_TO | INLINE_ALIGNMENT_TO_BOTTOM``.
  502. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_IMAGE_MASK:
  503. .. rst-class:: classref-enumeration-constant
  504. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_IMAGE_MASK** = ``3``
  505. A bit mask for ``INLINE_ALIGNMENT_*_TO`` alignment constants.
  506. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TEXT_MASK:
  507. .. rst-class:: classref-enumeration-constant
  508. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TEXT_MASK** = ``12``
  509. A bit mask for ``INLINE_ALIGNMENT_TO_*`` alignment constants.
  510. .. rst-class:: classref-item-separator
  511. ----
  512. .. _enum_@GlobalScope_EulerOrder:
  513. .. rst-class:: classref-enumeration
  514. enum **EulerOrder**: :ref:`🔗<enum_@GlobalScope_EulerOrder>`
  515. .. _class_@GlobalScope_constant_EULER_ORDER_XYZ:
  516. .. rst-class:: classref-enumeration-constant
  517. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_XYZ** = ``0``
  518. Specifies that Euler angles should be in XYZ order. When composing, the order is X, Y, Z. When decomposing, the order is reversed, first Z, then Y, and X last.
  519. .. _class_@GlobalScope_constant_EULER_ORDER_XZY:
  520. .. rst-class:: classref-enumeration-constant
  521. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_XZY** = ``1``
  522. Specifies that Euler angles should be in XZY order. When composing, the order is X, Z, Y. When decomposing, the order is reversed, first Y, then Z, and X last.
  523. .. _class_@GlobalScope_constant_EULER_ORDER_YXZ:
  524. .. rst-class:: classref-enumeration-constant
  525. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_YXZ** = ``2``
  526. Specifies that Euler angles should be in YXZ order. When composing, the order is Y, X, Z. When decomposing, the order is reversed, first Z, then X, and Y last.
  527. .. _class_@GlobalScope_constant_EULER_ORDER_YZX:
  528. .. rst-class:: classref-enumeration-constant
  529. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_YZX** = ``3``
  530. Specifies that Euler angles should be in YZX order. When composing, the order is Y, Z, X. When decomposing, the order is reversed, first X, then Z, and Y last.
  531. .. _class_@GlobalScope_constant_EULER_ORDER_ZXY:
  532. .. rst-class:: classref-enumeration-constant
  533. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_ZXY** = ``4``
  534. Specifies that Euler angles should be in ZXY order. When composing, the order is Z, X, Y. When decomposing, the order is reversed, first Y, then X, and Z last.
  535. .. _class_@GlobalScope_constant_EULER_ORDER_ZYX:
  536. .. rst-class:: classref-enumeration-constant
  537. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_ZYX** = ``5``
  538. Specifies that Euler angles should be in ZYX order. When composing, the order is Z, Y, X. When decomposing, the order is reversed, first X, then Y, and Z last.
  539. .. rst-class:: classref-item-separator
  540. ----
  541. .. _enum_@GlobalScope_Key:
  542. .. rst-class:: classref-enumeration
  543. enum **Key**: :ref:`🔗<enum_@GlobalScope_Key>`
  544. .. _class_@GlobalScope_constant_KEY_NONE:
  545. .. rst-class:: classref-enumeration-constant
  546. :ref:`Key<enum_@GlobalScope_Key>` **KEY_NONE** = ``0``
  547. Enum value which doesn't correspond to any key. This is used to initialize :ref:`Key<enum_@GlobalScope_Key>` properties with a generic state.
  548. .. _class_@GlobalScope_constant_KEY_SPECIAL:
  549. .. rst-class:: classref-enumeration-constant
  550. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SPECIAL** = ``4194304``
  551. Keycodes with this bit applied are non-printable.
  552. .. _class_@GlobalScope_constant_KEY_ESCAPE:
  553. .. rst-class:: classref-enumeration-constant
  554. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ESCAPE** = ``4194305``
  555. Escape key.
  556. .. _class_@GlobalScope_constant_KEY_TAB:
  557. .. rst-class:: classref-enumeration-constant
  558. :ref:`Key<enum_@GlobalScope_Key>` **KEY_TAB** = ``4194306``
  559. Tab key.
  560. .. _class_@GlobalScope_constant_KEY_BACKTAB:
  561. .. rst-class:: classref-enumeration-constant
  562. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BACKTAB** = ``4194307``
  563. Shift + Tab key.
  564. .. _class_@GlobalScope_constant_KEY_BACKSPACE:
  565. .. rst-class:: classref-enumeration-constant
  566. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BACKSPACE** = ``4194308``
  567. Backspace key.
  568. .. _class_@GlobalScope_constant_KEY_ENTER:
  569. .. rst-class:: classref-enumeration-constant
  570. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ENTER** = ``4194309``
  571. Return key (on the main keyboard).
  572. .. _class_@GlobalScope_constant_KEY_KP_ENTER:
  573. .. rst-class:: classref-enumeration-constant
  574. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_ENTER** = ``4194310``
  575. Enter key on the numeric keypad.
  576. .. _class_@GlobalScope_constant_KEY_INSERT:
  577. .. rst-class:: classref-enumeration-constant
  578. :ref:`Key<enum_@GlobalScope_Key>` **KEY_INSERT** = ``4194311``
  579. Insert key.
  580. .. _class_@GlobalScope_constant_KEY_DELETE:
  581. .. rst-class:: classref-enumeration-constant
  582. :ref:`Key<enum_@GlobalScope_Key>` **KEY_DELETE** = ``4194312``
  583. Delete key.
  584. .. _class_@GlobalScope_constant_KEY_PAUSE:
  585. .. rst-class:: classref-enumeration-constant
  586. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PAUSE** = ``4194313``
  587. Pause key.
  588. .. _class_@GlobalScope_constant_KEY_PRINT:
  589. .. rst-class:: classref-enumeration-constant
  590. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PRINT** = ``4194314``
  591. Print Screen key.
  592. .. _class_@GlobalScope_constant_KEY_SYSREQ:
  593. .. rst-class:: classref-enumeration-constant
  594. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SYSREQ** = ``4194315``
  595. System Request key.
  596. .. _class_@GlobalScope_constant_KEY_CLEAR:
  597. .. rst-class:: classref-enumeration-constant
  598. :ref:`Key<enum_@GlobalScope_Key>` **KEY_CLEAR** = ``4194316``
  599. Clear key.
  600. .. _class_@GlobalScope_constant_KEY_HOME:
  601. .. rst-class:: classref-enumeration-constant
  602. :ref:`Key<enum_@GlobalScope_Key>` **KEY_HOME** = ``4194317``
  603. Home key.
  604. .. _class_@GlobalScope_constant_KEY_END:
  605. .. rst-class:: classref-enumeration-constant
  606. :ref:`Key<enum_@GlobalScope_Key>` **KEY_END** = ``4194318``
  607. End key.
  608. .. _class_@GlobalScope_constant_KEY_LEFT:
  609. .. rst-class:: classref-enumeration-constant
  610. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LEFT** = ``4194319``
  611. Left arrow key.
  612. .. _class_@GlobalScope_constant_KEY_UP:
  613. .. rst-class:: classref-enumeration-constant
  614. :ref:`Key<enum_@GlobalScope_Key>` **KEY_UP** = ``4194320``
  615. Up arrow key.
  616. .. _class_@GlobalScope_constant_KEY_RIGHT:
  617. .. rst-class:: classref-enumeration-constant
  618. :ref:`Key<enum_@GlobalScope_Key>` **KEY_RIGHT** = ``4194321``
  619. Right arrow key.
  620. .. _class_@GlobalScope_constant_KEY_DOWN:
  621. .. rst-class:: classref-enumeration-constant
  622. :ref:`Key<enum_@GlobalScope_Key>` **KEY_DOWN** = ``4194322``
  623. Down arrow key.
  624. .. _class_@GlobalScope_constant_KEY_PAGEUP:
  625. .. rst-class:: classref-enumeration-constant
  626. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PAGEUP** = ``4194323``
  627. Page Up key.
  628. .. _class_@GlobalScope_constant_KEY_PAGEDOWN:
  629. .. rst-class:: classref-enumeration-constant
  630. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PAGEDOWN** = ``4194324``
  631. Page Down key.
  632. .. _class_@GlobalScope_constant_KEY_SHIFT:
  633. .. rst-class:: classref-enumeration-constant
  634. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SHIFT** = ``4194325``
  635. Shift key.
  636. .. _class_@GlobalScope_constant_KEY_CTRL:
  637. .. rst-class:: classref-enumeration-constant
  638. :ref:`Key<enum_@GlobalScope_Key>` **KEY_CTRL** = ``4194326``
  639. Control key.
  640. .. _class_@GlobalScope_constant_KEY_META:
  641. .. rst-class:: classref-enumeration-constant
  642. :ref:`Key<enum_@GlobalScope_Key>` **KEY_META** = ``4194327``
  643. Meta key.
  644. .. _class_@GlobalScope_constant_KEY_ALT:
  645. .. rst-class:: classref-enumeration-constant
  646. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ALT** = ``4194328``
  647. Alt key.
  648. .. _class_@GlobalScope_constant_KEY_CAPSLOCK:
  649. .. rst-class:: classref-enumeration-constant
  650. :ref:`Key<enum_@GlobalScope_Key>` **KEY_CAPSLOCK** = ``4194329``
  651. Caps Lock key.
  652. .. _class_@GlobalScope_constant_KEY_NUMLOCK:
  653. .. rst-class:: classref-enumeration-constant
  654. :ref:`Key<enum_@GlobalScope_Key>` **KEY_NUMLOCK** = ``4194330``
  655. Num Lock key.
  656. .. _class_@GlobalScope_constant_KEY_SCROLLLOCK:
  657. .. rst-class:: classref-enumeration-constant
  658. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SCROLLLOCK** = ``4194331``
  659. Scroll Lock key.
  660. .. _class_@GlobalScope_constant_KEY_F1:
  661. .. rst-class:: classref-enumeration-constant
  662. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F1** = ``4194332``
  663. F1 key.
  664. .. _class_@GlobalScope_constant_KEY_F2:
  665. .. rst-class:: classref-enumeration-constant
  666. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F2** = ``4194333``
  667. F2 key.
  668. .. _class_@GlobalScope_constant_KEY_F3:
  669. .. rst-class:: classref-enumeration-constant
  670. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F3** = ``4194334``
  671. F3 key.
  672. .. _class_@GlobalScope_constant_KEY_F4:
  673. .. rst-class:: classref-enumeration-constant
  674. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F4** = ``4194335``
  675. F4 key.
  676. .. _class_@GlobalScope_constant_KEY_F5:
  677. .. rst-class:: classref-enumeration-constant
  678. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F5** = ``4194336``
  679. F5 key.
  680. .. _class_@GlobalScope_constant_KEY_F6:
  681. .. rst-class:: classref-enumeration-constant
  682. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F6** = ``4194337``
  683. F6 key.
  684. .. _class_@GlobalScope_constant_KEY_F7:
  685. .. rst-class:: classref-enumeration-constant
  686. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F7** = ``4194338``
  687. F7 key.
  688. .. _class_@GlobalScope_constant_KEY_F8:
  689. .. rst-class:: classref-enumeration-constant
  690. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F8** = ``4194339``
  691. F8 key.
  692. .. _class_@GlobalScope_constant_KEY_F9:
  693. .. rst-class:: classref-enumeration-constant
  694. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F9** = ``4194340``
  695. F9 key.
  696. .. _class_@GlobalScope_constant_KEY_F10:
  697. .. rst-class:: classref-enumeration-constant
  698. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F10** = ``4194341``
  699. F10 key.
  700. .. _class_@GlobalScope_constant_KEY_F11:
  701. .. rst-class:: classref-enumeration-constant
  702. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F11** = ``4194342``
  703. F11 key.
  704. .. _class_@GlobalScope_constant_KEY_F12:
  705. .. rst-class:: classref-enumeration-constant
  706. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F12** = ``4194343``
  707. F12 key.
  708. .. _class_@GlobalScope_constant_KEY_F13:
  709. .. rst-class:: classref-enumeration-constant
  710. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F13** = ``4194344``
  711. F13 key.
  712. .. _class_@GlobalScope_constant_KEY_F14:
  713. .. rst-class:: classref-enumeration-constant
  714. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F14** = ``4194345``
  715. F14 key.
  716. .. _class_@GlobalScope_constant_KEY_F15:
  717. .. rst-class:: classref-enumeration-constant
  718. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F15** = ``4194346``
  719. F15 key.
  720. .. _class_@GlobalScope_constant_KEY_F16:
  721. .. rst-class:: classref-enumeration-constant
  722. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F16** = ``4194347``
  723. F16 key.
  724. .. _class_@GlobalScope_constant_KEY_F17:
  725. .. rst-class:: classref-enumeration-constant
  726. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F17** = ``4194348``
  727. F17 key.
  728. .. _class_@GlobalScope_constant_KEY_F18:
  729. .. rst-class:: classref-enumeration-constant
  730. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F18** = ``4194349``
  731. F18 key.
  732. .. _class_@GlobalScope_constant_KEY_F19:
  733. .. rst-class:: classref-enumeration-constant
  734. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F19** = ``4194350``
  735. F19 key.
  736. .. _class_@GlobalScope_constant_KEY_F20:
  737. .. rst-class:: classref-enumeration-constant
  738. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F20** = ``4194351``
  739. F20 key.
  740. .. _class_@GlobalScope_constant_KEY_F21:
  741. .. rst-class:: classref-enumeration-constant
  742. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F21** = ``4194352``
  743. F21 key.
  744. .. _class_@GlobalScope_constant_KEY_F22:
  745. .. rst-class:: classref-enumeration-constant
  746. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F22** = ``4194353``
  747. F22 key.
  748. .. _class_@GlobalScope_constant_KEY_F23:
  749. .. rst-class:: classref-enumeration-constant
  750. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F23** = ``4194354``
  751. F23 key.
  752. .. _class_@GlobalScope_constant_KEY_F24:
  753. .. rst-class:: classref-enumeration-constant
  754. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F24** = ``4194355``
  755. F24 key.
  756. .. _class_@GlobalScope_constant_KEY_F25:
  757. .. rst-class:: classref-enumeration-constant
  758. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F25** = ``4194356``
  759. F25 key. Only supported on macOS and Linux due to a Windows limitation.
  760. .. _class_@GlobalScope_constant_KEY_F26:
  761. .. rst-class:: classref-enumeration-constant
  762. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F26** = ``4194357``
  763. F26 key. Only supported on macOS and Linux due to a Windows limitation.
  764. .. _class_@GlobalScope_constant_KEY_F27:
  765. .. rst-class:: classref-enumeration-constant
  766. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F27** = ``4194358``
  767. F27 key. Only supported on macOS and Linux due to a Windows limitation.
  768. .. _class_@GlobalScope_constant_KEY_F28:
  769. .. rst-class:: classref-enumeration-constant
  770. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F28** = ``4194359``
  771. F28 key. Only supported on macOS and Linux due to a Windows limitation.
  772. .. _class_@GlobalScope_constant_KEY_F29:
  773. .. rst-class:: classref-enumeration-constant
  774. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F29** = ``4194360``
  775. F29 key. Only supported on macOS and Linux due to a Windows limitation.
  776. .. _class_@GlobalScope_constant_KEY_F30:
  777. .. rst-class:: classref-enumeration-constant
  778. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F30** = ``4194361``
  779. F30 key. Only supported on macOS and Linux due to a Windows limitation.
  780. .. _class_@GlobalScope_constant_KEY_F31:
  781. .. rst-class:: classref-enumeration-constant
  782. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F31** = ``4194362``
  783. F31 key. Only supported on macOS and Linux due to a Windows limitation.
  784. .. _class_@GlobalScope_constant_KEY_F32:
  785. .. rst-class:: classref-enumeration-constant
  786. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F32** = ``4194363``
  787. F32 key. Only supported on macOS and Linux due to a Windows limitation.
  788. .. _class_@GlobalScope_constant_KEY_F33:
  789. .. rst-class:: classref-enumeration-constant
  790. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F33** = ``4194364``
  791. F33 key. Only supported on macOS and Linux due to a Windows limitation.
  792. .. _class_@GlobalScope_constant_KEY_F34:
  793. .. rst-class:: classref-enumeration-constant
  794. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F34** = ``4194365``
  795. F34 key. Only supported on macOS and Linux due to a Windows limitation.
  796. .. _class_@GlobalScope_constant_KEY_F35:
  797. .. rst-class:: classref-enumeration-constant
  798. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F35** = ``4194366``
  799. F35 key. Only supported on macOS and Linux due to a Windows limitation.
  800. .. _class_@GlobalScope_constant_KEY_KP_MULTIPLY:
  801. .. rst-class:: classref-enumeration-constant
  802. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_MULTIPLY** = ``4194433``
  803. Multiply (\*) key on the numeric keypad.
  804. .. _class_@GlobalScope_constant_KEY_KP_DIVIDE:
  805. .. rst-class:: classref-enumeration-constant
  806. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_DIVIDE** = ``4194434``
  807. Divide (/) key on the numeric keypad.
  808. .. _class_@GlobalScope_constant_KEY_KP_SUBTRACT:
  809. .. rst-class:: classref-enumeration-constant
  810. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_SUBTRACT** = ``4194435``
  811. Subtract (-) key on the numeric keypad.
  812. .. _class_@GlobalScope_constant_KEY_KP_PERIOD:
  813. .. rst-class:: classref-enumeration-constant
  814. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_PERIOD** = ``4194436``
  815. Period (.) key on the numeric keypad.
  816. .. _class_@GlobalScope_constant_KEY_KP_ADD:
  817. .. rst-class:: classref-enumeration-constant
  818. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_ADD** = ``4194437``
  819. Add (+) key on the numeric keypad.
  820. .. _class_@GlobalScope_constant_KEY_KP_0:
  821. .. rst-class:: classref-enumeration-constant
  822. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_0** = ``4194438``
  823. Number 0 on the numeric keypad.
  824. .. _class_@GlobalScope_constant_KEY_KP_1:
  825. .. rst-class:: classref-enumeration-constant
  826. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_1** = ``4194439``
  827. Number 1 on the numeric keypad.
  828. .. _class_@GlobalScope_constant_KEY_KP_2:
  829. .. rst-class:: classref-enumeration-constant
  830. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_2** = ``4194440``
  831. Number 2 on the numeric keypad.
  832. .. _class_@GlobalScope_constant_KEY_KP_3:
  833. .. rst-class:: classref-enumeration-constant
  834. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_3** = ``4194441``
  835. Number 3 on the numeric keypad.
  836. .. _class_@GlobalScope_constant_KEY_KP_4:
  837. .. rst-class:: classref-enumeration-constant
  838. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_4** = ``4194442``
  839. Number 4 on the numeric keypad.
  840. .. _class_@GlobalScope_constant_KEY_KP_5:
  841. .. rst-class:: classref-enumeration-constant
  842. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_5** = ``4194443``
  843. Number 5 on the numeric keypad.
  844. .. _class_@GlobalScope_constant_KEY_KP_6:
  845. .. rst-class:: classref-enumeration-constant
  846. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_6** = ``4194444``
  847. Number 6 on the numeric keypad.
  848. .. _class_@GlobalScope_constant_KEY_KP_7:
  849. .. rst-class:: classref-enumeration-constant
  850. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_7** = ``4194445``
  851. Number 7 on the numeric keypad.
  852. .. _class_@GlobalScope_constant_KEY_KP_8:
  853. .. rst-class:: classref-enumeration-constant
  854. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_8** = ``4194446``
  855. Number 8 on the numeric keypad.
  856. .. _class_@GlobalScope_constant_KEY_KP_9:
  857. .. rst-class:: classref-enumeration-constant
  858. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_9** = ``4194447``
  859. Number 9 on the numeric keypad.
  860. .. _class_@GlobalScope_constant_KEY_MENU:
  861. .. rst-class:: classref-enumeration-constant
  862. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MENU** = ``4194370``
  863. Context menu key.
  864. .. _class_@GlobalScope_constant_KEY_HYPER:
  865. .. rst-class:: classref-enumeration-constant
  866. :ref:`Key<enum_@GlobalScope_Key>` **KEY_HYPER** = ``4194371``
  867. Hyper key. (On Linux/X11 only).
  868. .. _class_@GlobalScope_constant_KEY_HELP:
  869. .. rst-class:: classref-enumeration-constant
  870. :ref:`Key<enum_@GlobalScope_Key>` **KEY_HELP** = ``4194373``
  871. Help key.
  872. .. _class_@GlobalScope_constant_KEY_BACK:
  873. .. rst-class:: classref-enumeration-constant
  874. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BACK** = ``4194376``
  875. Back key.
  876. .. _class_@GlobalScope_constant_KEY_FORWARD:
  877. .. rst-class:: classref-enumeration-constant
  878. :ref:`Key<enum_@GlobalScope_Key>` **KEY_FORWARD** = ``4194377``
  879. Forward key.
  880. .. _class_@GlobalScope_constant_KEY_STOP:
  881. .. rst-class:: classref-enumeration-constant
  882. :ref:`Key<enum_@GlobalScope_Key>` **KEY_STOP** = ``4194378``
  883. Media stop key.
  884. .. _class_@GlobalScope_constant_KEY_REFRESH:
  885. .. rst-class:: classref-enumeration-constant
  886. :ref:`Key<enum_@GlobalScope_Key>` **KEY_REFRESH** = ``4194379``
  887. Refresh key.
  888. .. _class_@GlobalScope_constant_KEY_VOLUMEDOWN:
  889. .. rst-class:: classref-enumeration-constant
  890. :ref:`Key<enum_@GlobalScope_Key>` **KEY_VOLUMEDOWN** = ``4194380``
  891. Volume down key.
  892. .. _class_@GlobalScope_constant_KEY_VOLUMEMUTE:
  893. .. rst-class:: classref-enumeration-constant
  894. :ref:`Key<enum_@GlobalScope_Key>` **KEY_VOLUMEMUTE** = ``4194381``
  895. Mute volume key.
  896. .. _class_@GlobalScope_constant_KEY_VOLUMEUP:
  897. .. rst-class:: classref-enumeration-constant
  898. :ref:`Key<enum_@GlobalScope_Key>` **KEY_VOLUMEUP** = ``4194382``
  899. Volume up key.
  900. .. _class_@GlobalScope_constant_KEY_MEDIAPLAY:
  901. .. rst-class:: classref-enumeration-constant
  902. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MEDIAPLAY** = ``4194388``
  903. Media play key.
  904. .. _class_@GlobalScope_constant_KEY_MEDIASTOP:
  905. .. rst-class:: classref-enumeration-constant
  906. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MEDIASTOP** = ``4194389``
  907. Media stop key.
  908. .. _class_@GlobalScope_constant_KEY_MEDIAPREVIOUS:
  909. .. rst-class:: classref-enumeration-constant
  910. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MEDIAPREVIOUS** = ``4194390``
  911. Previous song key.
  912. .. _class_@GlobalScope_constant_KEY_MEDIANEXT:
  913. .. rst-class:: classref-enumeration-constant
  914. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MEDIANEXT** = ``4194391``
  915. Next song key.
  916. .. _class_@GlobalScope_constant_KEY_MEDIARECORD:
  917. .. rst-class:: classref-enumeration-constant
  918. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MEDIARECORD** = ``4194392``
  919. Media record key.
  920. .. _class_@GlobalScope_constant_KEY_HOMEPAGE:
  921. .. rst-class:: classref-enumeration-constant
  922. :ref:`Key<enum_@GlobalScope_Key>` **KEY_HOMEPAGE** = ``4194393``
  923. Home page key.
  924. .. _class_@GlobalScope_constant_KEY_FAVORITES:
  925. .. rst-class:: classref-enumeration-constant
  926. :ref:`Key<enum_@GlobalScope_Key>` **KEY_FAVORITES** = ``4194394``
  927. Favorites key.
  928. .. _class_@GlobalScope_constant_KEY_SEARCH:
  929. .. rst-class:: classref-enumeration-constant
  930. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SEARCH** = ``4194395``
  931. Search key.
  932. .. _class_@GlobalScope_constant_KEY_STANDBY:
  933. .. rst-class:: classref-enumeration-constant
  934. :ref:`Key<enum_@GlobalScope_Key>` **KEY_STANDBY** = ``4194396``
  935. Standby key.
  936. .. _class_@GlobalScope_constant_KEY_OPENURL:
  937. .. rst-class:: classref-enumeration-constant
  938. :ref:`Key<enum_@GlobalScope_Key>` **KEY_OPENURL** = ``4194397``
  939. Open URL / Launch Browser key.
  940. .. _class_@GlobalScope_constant_KEY_LAUNCHMAIL:
  941. .. rst-class:: classref-enumeration-constant
  942. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHMAIL** = ``4194398``
  943. Launch Mail key.
  944. .. _class_@GlobalScope_constant_KEY_LAUNCHMEDIA:
  945. .. rst-class:: classref-enumeration-constant
  946. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHMEDIA** = ``4194399``
  947. Launch Media key.
  948. .. _class_@GlobalScope_constant_KEY_LAUNCH0:
  949. .. rst-class:: classref-enumeration-constant
  950. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH0** = ``4194400``
  951. Launch Shortcut 0 key.
  952. .. _class_@GlobalScope_constant_KEY_LAUNCH1:
  953. .. rst-class:: classref-enumeration-constant
  954. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH1** = ``4194401``
  955. Launch Shortcut 1 key.
  956. .. _class_@GlobalScope_constant_KEY_LAUNCH2:
  957. .. rst-class:: classref-enumeration-constant
  958. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH2** = ``4194402``
  959. Launch Shortcut 2 key.
  960. .. _class_@GlobalScope_constant_KEY_LAUNCH3:
  961. .. rst-class:: classref-enumeration-constant
  962. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH3** = ``4194403``
  963. Launch Shortcut 3 key.
  964. .. _class_@GlobalScope_constant_KEY_LAUNCH4:
  965. .. rst-class:: classref-enumeration-constant
  966. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH4** = ``4194404``
  967. Launch Shortcut 4 key.
  968. .. _class_@GlobalScope_constant_KEY_LAUNCH5:
  969. .. rst-class:: classref-enumeration-constant
  970. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH5** = ``4194405``
  971. Launch Shortcut 5 key.
  972. .. _class_@GlobalScope_constant_KEY_LAUNCH6:
  973. .. rst-class:: classref-enumeration-constant
  974. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH6** = ``4194406``
  975. Launch Shortcut 6 key.
  976. .. _class_@GlobalScope_constant_KEY_LAUNCH7:
  977. .. rst-class:: classref-enumeration-constant
  978. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH7** = ``4194407``
  979. Launch Shortcut 7 key.
  980. .. _class_@GlobalScope_constant_KEY_LAUNCH8:
  981. .. rst-class:: classref-enumeration-constant
  982. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH8** = ``4194408``
  983. Launch Shortcut 8 key.
  984. .. _class_@GlobalScope_constant_KEY_LAUNCH9:
  985. .. rst-class:: classref-enumeration-constant
  986. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH9** = ``4194409``
  987. Launch Shortcut 9 key.
  988. .. _class_@GlobalScope_constant_KEY_LAUNCHA:
  989. .. rst-class:: classref-enumeration-constant
  990. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHA** = ``4194410``
  991. Launch Shortcut A key.
  992. .. _class_@GlobalScope_constant_KEY_LAUNCHB:
  993. .. rst-class:: classref-enumeration-constant
  994. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHB** = ``4194411``
  995. Launch Shortcut B key.
  996. .. _class_@GlobalScope_constant_KEY_LAUNCHC:
  997. .. rst-class:: classref-enumeration-constant
  998. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHC** = ``4194412``
  999. Launch Shortcut C key.
  1000. .. _class_@GlobalScope_constant_KEY_LAUNCHD:
  1001. .. rst-class:: classref-enumeration-constant
  1002. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHD** = ``4194413``
  1003. Launch Shortcut D key.
  1004. .. _class_@GlobalScope_constant_KEY_LAUNCHE:
  1005. .. rst-class:: classref-enumeration-constant
  1006. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHE** = ``4194414``
  1007. Launch Shortcut E key.
  1008. .. _class_@GlobalScope_constant_KEY_LAUNCHF:
  1009. .. rst-class:: classref-enumeration-constant
  1010. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHF** = ``4194415``
  1011. Launch Shortcut F key.
  1012. .. _class_@GlobalScope_constant_KEY_GLOBE:
  1013. .. rst-class:: classref-enumeration-constant
  1014. :ref:`Key<enum_@GlobalScope_Key>` **KEY_GLOBE** = ``4194416``
  1015. "Globe" key on Mac / iPad keyboard.
  1016. .. _class_@GlobalScope_constant_KEY_KEYBOARD:
  1017. .. rst-class:: classref-enumeration-constant
  1018. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KEYBOARD** = ``4194417``
  1019. "On-screen keyboard" key on iPad keyboard.
  1020. .. _class_@GlobalScope_constant_KEY_JIS_EISU:
  1021. .. rst-class:: classref-enumeration-constant
  1022. :ref:`Key<enum_@GlobalScope_Key>` **KEY_JIS_EISU** = ``4194418``
  1023. 英数 key on Mac keyboard.
  1024. .. _class_@GlobalScope_constant_KEY_JIS_KANA:
  1025. .. rst-class:: classref-enumeration-constant
  1026. :ref:`Key<enum_@GlobalScope_Key>` **KEY_JIS_KANA** = ``4194419``
  1027. かな key on Mac keyboard.
  1028. .. _class_@GlobalScope_constant_KEY_UNKNOWN:
  1029. .. rst-class:: classref-enumeration-constant
  1030. :ref:`Key<enum_@GlobalScope_Key>` **KEY_UNKNOWN** = ``8388607``
  1031. Unknown key.
  1032. .. _class_@GlobalScope_constant_KEY_SPACE:
  1033. .. rst-class:: classref-enumeration-constant
  1034. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SPACE** = ``32``
  1035. Space key.
  1036. .. _class_@GlobalScope_constant_KEY_EXCLAM:
  1037. .. rst-class:: classref-enumeration-constant
  1038. :ref:`Key<enum_@GlobalScope_Key>` **KEY_EXCLAM** = ``33``
  1039. Exclamation mark (``!``) key.
  1040. .. _class_@GlobalScope_constant_KEY_QUOTEDBL:
  1041. .. rst-class:: classref-enumeration-constant
  1042. :ref:`Key<enum_@GlobalScope_Key>` **KEY_QUOTEDBL** = ``34``
  1043. Double quotation mark (``"``) key.
  1044. .. _class_@GlobalScope_constant_KEY_NUMBERSIGN:
  1045. .. rst-class:: classref-enumeration-constant
  1046. :ref:`Key<enum_@GlobalScope_Key>` **KEY_NUMBERSIGN** = ``35``
  1047. Number sign or *hash* (``#``) key.
  1048. .. _class_@GlobalScope_constant_KEY_DOLLAR:
  1049. .. rst-class:: classref-enumeration-constant
  1050. :ref:`Key<enum_@GlobalScope_Key>` **KEY_DOLLAR** = ``36``
  1051. Dollar sign (``$``) key.
  1052. .. _class_@GlobalScope_constant_KEY_PERCENT:
  1053. .. rst-class:: classref-enumeration-constant
  1054. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PERCENT** = ``37``
  1055. Percent sign (``%``) key.
  1056. .. _class_@GlobalScope_constant_KEY_AMPERSAND:
  1057. .. rst-class:: classref-enumeration-constant
  1058. :ref:`Key<enum_@GlobalScope_Key>` **KEY_AMPERSAND** = ``38``
  1059. Ampersand (``&``) key.
  1060. .. _class_@GlobalScope_constant_KEY_APOSTROPHE:
  1061. .. rst-class:: classref-enumeration-constant
  1062. :ref:`Key<enum_@GlobalScope_Key>` **KEY_APOSTROPHE** = ``39``
  1063. Apostrophe (``'``) key.
  1064. .. _class_@GlobalScope_constant_KEY_PARENLEFT:
  1065. .. rst-class:: classref-enumeration-constant
  1066. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PARENLEFT** = ``40``
  1067. Left parenthesis (``(``) key.
  1068. .. _class_@GlobalScope_constant_KEY_PARENRIGHT:
  1069. .. rst-class:: classref-enumeration-constant
  1070. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PARENRIGHT** = ``41``
  1071. Right parenthesis (``)``) key.
  1072. .. _class_@GlobalScope_constant_KEY_ASTERISK:
  1073. .. rst-class:: classref-enumeration-constant
  1074. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ASTERISK** = ``42``
  1075. Asterisk (``*``) key.
  1076. .. _class_@GlobalScope_constant_KEY_PLUS:
  1077. .. rst-class:: classref-enumeration-constant
  1078. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PLUS** = ``43``
  1079. Plus (``+``) key.
  1080. .. _class_@GlobalScope_constant_KEY_COMMA:
  1081. .. rst-class:: classref-enumeration-constant
  1082. :ref:`Key<enum_@GlobalScope_Key>` **KEY_COMMA** = ``44``
  1083. Comma (``,``) key.
  1084. .. _class_@GlobalScope_constant_KEY_MINUS:
  1085. .. rst-class:: classref-enumeration-constant
  1086. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MINUS** = ``45``
  1087. Minus (``-``) key.
  1088. .. _class_@GlobalScope_constant_KEY_PERIOD:
  1089. .. rst-class:: classref-enumeration-constant
  1090. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PERIOD** = ``46``
  1091. Period (``.``) key.
  1092. .. _class_@GlobalScope_constant_KEY_SLASH:
  1093. .. rst-class:: classref-enumeration-constant
  1094. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SLASH** = ``47``
  1095. Slash (``/``) key.
  1096. .. _class_@GlobalScope_constant_KEY_0:
  1097. .. rst-class:: classref-enumeration-constant
  1098. :ref:`Key<enum_@GlobalScope_Key>` **KEY_0** = ``48``
  1099. Number 0 key.
  1100. .. _class_@GlobalScope_constant_KEY_1:
  1101. .. rst-class:: classref-enumeration-constant
  1102. :ref:`Key<enum_@GlobalScope_Key>` **KEY_1** = ``49``
  1103. Number 1 key.
  1104. .. _class_@GlobalScope_constant_KEY_2:
  1105. .. rst-class:: classref-enumeration-constant
  1106. :ref:`Key<enum_@GlobalScope_Key>` **KEY_2** = ``50``
  1107. Number 2 key.
  1108. .. _class_@GlobalScope_constant_KEY_3:
  1109. .. rst-class:: classref-enumeration-constant
  1110. :ref:`Key<enum_@GlobalScope_Key>` **KEY_3** = ``51``
  1111. Number 3 key.
  1112. .. _class_@GlobalScope_constant_KEY_4:
  1113. .. rst-class:: classref-enumeration-constant
  1114. :ref:`Key<enum_@GlobalScope_Key>` **KEY_4** = ``52``
  1115. Number 4 key.
  1116. .. _class_@GlobalScope_constant_KEY_5:
  1117. .. rst-class:: classref-enumeration-constant
  1118. :ref:`Key<enum_@GlobalScope_Key>` **KEY_5** = ``53``
  1119. Number 5 key.
  1120. .. _class_@GlobalScope_constant_KEY_6:
  1121. .. rst-class:: classref-enumeration-constant
  1122. :ref:`Key<enum_@GlobalScope_Key>` **KEY_6** = ``54``
  1123. Number 6 key.
  1124. .. _class_@GlobalScope_constant_KEY_7:
  1125. .. rst-class:: classref-enumeration-constant
  1126. :ref:`Key<enum_@GlobalScope_Key>` **KEY_7** = ``55``
  1127. Number 7 key.
  1128. .. _class_@GlobalScope_constant_KEY_8:
  1129. .. rst-class:: classref-enumeration-constant
  1130. :ref:`Key<enum_@GlobalScope_Key>` **KEY_8** = ``56``
  1131. Number 8 key.
  1132. .. _class_@GlobalScope_constant_KEY_9:
  1133. .. rst-class:: classref-enumeration-constant
  1134. :ref:`Key<enum_@GlobalScope_Key>` **KEY_9** = ``57``
  1135. Number 9 key.
  1136. .. _class_@GlobalScope_constant_KEY_COLON:
  1137. .. rst-class:: classref-enumeration-constant
  1138. :ref:`Key<enum_@GlobalScope_Key>` **KEY_COLON** = ``58``
  1139. Colon (``:``) key.
  1140. .. _class_@GlobalScope_constant_KEY_SEMICOLON:
  1141. .. rst-class:: classref-enumeration-constant
  1142. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SEMICOLON** = ``59``
  1143. Semicolon (``;``) key.
  1144. .. _class_@GlobalScope_constant_KEY_LESS:
  1145. .. rst-class:: classref-enumeration-constant
  1146. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LESS** = ``60``
  1147. Less-than sign (``<``) key.
  1148. .. _class_@GlobalScope_constant_KEY_EQUAL:
  1149. .. rst-class:: classref-enumeration-constant
  1150. :ref:`Key<enum_@GlobalScope_Key>` **KEY_EQUAL** = ``61``
  1151. Equal sign (``=``) key.
  1152. .. _class_@GlobalScope_constant_KEY_GREATER:
  1153. .. rst-class:: classref-enumeration-constant
  1154. :ref:`Key<enum_@GlobalScope_Key>` **KEY_GREATER** = ``62``
  1155. Greater-than sign (``>``) key.
  1156. .. _class_@GlobalScope_constant_KEY_QUESTION:
  1157. .. rst-class:: classref-enumeration-constant
  1158. :ref:`Key<enum_@GlobalScope_Key>` **KEY_QUESTION** = ``63``
  1159. Question mark (``?``) key.
  1160. .. _class_@GlobalScope_constant_KEY_AT:
  1161. .. rst-class:: classref-enumeration-constant
  1162. :ref:`Key<enum_@GlobalScope_Key>` **KEY_AT** = ``64``
  1163. At sign (``@``) key.
  1164. .. _class_@GlobalScope_constant_KEY_A:
  1165. .. rst-class:: classref-enumeration-constant
  1166. :ref:`Key<enum_@GlobalScope_Key>` **KEY_A** = ``65``
  1167. A key.
  1168. .. _class_@GlobalScope_constant_KEY_B:
  1169. .. rst-class:: classref-enumeration-constant
  1170. :ref:`Key<enum_@GlobalScope_Key>` **KEY_B** = ``66``
  1171. B key.
  1172. .. _class_@GlobalScope_constant_KEY_C:
  1173. .. rst-class:: classref-enumeration-constant
  1174. :ref:`Key<enum_@GlobalScope_Key>` **KEY_C** = ``67``
  1175. C key.
  1176. .. _class_@GlobalScope_constant_KEY_D:
  1177. .. rst-class:: classref-enumeration-constant
  1178. :ref:`Key<enum_@GlobalScope_Key>` **KEY_D** = ``68``
  1179. D key.
  1180. .. _class_@GlobalScope_constant_KEY_E:
  1181. .. rst-class:: classref-enumeration-constant
  1182. :ref:`Key<enum_@GlobalScope_Key>` **KEY_E** = ``69``
  1183. E key.
  1184. .. _class_@GlobalScope_constant_KEY_F:
  1185. .. rst-class:: classref-enumeration-constant
  1186. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F** = ``70``
  1187. F key.
  1188. .. _class_@GlobalScope_constant_KEY_G:
  1189. .. rst-class:: classref-enumeration-constant
  1190. :ref:`Key<enum_@GlobalScope_Key>` **KEY_G** = ``71``
  1191. G key.
  1192. .. _class_@GlobalScope_constant_KEY_H:
  1193. .. rst-class:: classref-enumeration-constant
  1194. :ref:`Key<enum_@GlobalScope_Key>` **KEY_H** = ``72``
  1195. H key.
  1196. .. _class_@GlobalScope_constant_KEY_I:
  1197. .. rst-class:: classref-enumeration-constant
  1198. :ref:`Key<enum_@GlobalScope_Key>` **KEY_I** = ``73``
  1199. I key.
  1200. .. _class_@GlobalScope_constant_KEY_J:
  1201. .. rst-class:: classref-enumeration-constant
  1202. :ref:`Key<enum_@GlobalScope_Key>` **KEY_J** = ``74``
  1203. J key.
  1204. .. _class_@GlobalScope_constant_KEY_K:
  1205. .. rst-class:: classref-enumeration-constant
  1206. :ref:`Key<enum_@GlobalScope_Key>` **KEY_K** = ``75``
  1207. K key.
  1208. .. _class_@GlobalScope_constant_KEY_L:
  1209. .. rst-class:: classref-enumeration-constant
  1210. :ref:`Key<enum_@GlobalScope_Key>` **KEY_L** = ``76``
  1211. L key.
  1212. .. _class_@GlobalScope_constant_KEY_M:
  1213. .. rst-class:: classref-enumeration-constant
  1214. :ref:`Key<enum_@GlobalScope_Key>` **KEY_M** = ``77``
  1215. M key.
  1216. .. _class_@GlobalScope_constant_KEY_N:
  1217. .. rst-class:: classref-enumeration-constant
  1218. :ref:`Key<enum_@GlobalScope_Key>` **KEY_N** = ``78``
  1219. N key.
  1220. .. _class_@GlobalScope_constant_KEY_O:
  1221. .. rst-class:: classref-enumeration-constant
  1222. :ref:`Key<enum_@GlobalScope_Key>` **KEY_O** = ``79``
  1223. O key.
  1224. .. _class_@GlobalScope_constant_KEY_P:
  1225. .. rst-class:: classref-enumeration-constant
  1226. :ref:`Key<enum_@GlobalScope_Key>` **KEY_P** = ``80``
  1227. P key.
  1228. .. _class_@GlobalScope_constant_KEY_Q:
  1229. .. rst-class:: classref-enumeration-constant
  1230. :ref:`Key<enum_@GlobalScope_Key>` **KEY_Q** = ``81``
  1231. Q key.
  1232. .. _class_@GlobalScope_constant_KEY_R:
  1233. .. rst-class:: classref-enumeration-constant
  1234. :ref:`Key<enum_@GlobalScope_Key>` **KEY_R** = ``82``
  1235. R key.
  1236. .. _class_@GlobalScope_constant_KEY_S:
  1237. .. rst-class:: classref-enumeration-constant
  1238. :ref:`Key<enum_@GlobalScope_Key>` **KEY_S** = ``83``
  1239. S key.
  1240. .. _class_@GlobalScope_constant_KEY_T:
  1241. .. rst-class:: classref-enumeration-constant
  1242. :ref:`Key<enum_@GlobalScope_Key>` **KEY_T** = ``84``
  1243. T key.
  1244. .. _class_@GlobalScope_constant_KEY_U:
  1245. .. rst-class:: classref-enumeration-constant
  1246. :ref:`Key<enum_@GlobalScope_Key>` **KEY_U** = ``85``
  1247. U key.
  1248. .. _class_@GlobalScope_constant_KEY_V:
  1249. .. rst-class:: classref-enumeration-constant
  1250. :ref:`Key<enum_@GlobalScope_Key>` **KEY_V** = ``86``
  1251. V key.
  1252. .. _class_@GlobalScope_constant_KEY_W:
  1253. .. rst-class:: classref-enumeration-constant
  1254. :ref:`Key<enum_@GlobalScope_Key>` **KEY_W** = ``87``
  1255. W key.
  1256. .. _class_@GlobalScope_constant_KEY_X:
  1257. .. rst-class:: classref-enumeration-constant
  1258. :ref:`Key<enum_@GlobalScope_Key>` **KEY_X** = ``88``
  1259. X key.
  1260. .. _class_@GlobalScope_constant_KEY_Y:
  1261. .. rst-class:: classref-enumeration-constant
  1262. :ref:`Key<enum_@GlobalScope_Key>` **KEY_Y** = ``89``
  1263. Y key.
  1264. .. _class_@GlobalScope_constant_KEY_Z:
  1265. .. rst-class:: classref-enumeration-constant
  1266. :ref:`Key<enum_@GlobalScope_Key>` **KEY_Z** = ``90``
  1267. Z key.
  1268. .. _class_@GlobalScope_constant_KEY_BRACKETLEFT:
  1269. .. rst-class:: classref-enumeration-constant
  1270. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BRACKETLEFT** = ``91``
  1271. Left bracket (``[lb]``) key.
  1272. .. _class_@GlobalScope_constant_KEY_BACKSLASH:
  1273. .. rst-class:: classref-enumeration-constant
  1274. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BACKSLASH** = ``92``
  1275. Backslash (``\``) key.
  1276. .. _class_@GlobalScope_constant_KEY_BRACKETRIGHT:
  1277. .. rst-class:: classref-enumeration-constant
  1278. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BRACKETRIGHT** = ``93``
  1279. Right bracket (``[rb]``) key.
  1280. .. _class_@GlobalScope_constant_KEY_ASCIICIRCUM:
  1281. .. rst-class:: classref-enumeration-constant
  1282. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ASCIICIRCUM** = ``94``
  1283. Caret (``^``) key.
  1284. .. _class_@GlobalScope_constant_KEY_UNDERSCORE:
  1285. .. rst-class:: classref-enumeration-constant
  1286. :ref:`Key<enum_@GlobalScope_Key>` **KEY_UNDERSCORE** = ``95``
  1287. Underscore (``_``) key.
  1288. .. _class_@GlobalScope_constant_KEY_QUOTELEFT:
  1289. .. rst-class:: classref-enumeration-constant
  1290. :ref:`Key<enum_@GlobalScope_Key>` **KEY_QUOTELEFT** = ``96``
  1291. Backtick (`````) key.
  1292. .. _class_@GlobalScope_constant_KEY_BRACELEFT:
  1293. .. rst-class:: classref-enumeration-constant
  1294. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BRACELEFT** = ``123``
  1295. Left brace (``{``) key.
  1296. .. _class_@GlobalScope_constant_KEY_BAR:
  1297. .. rst-class:: classref-enumeration-constant
  1298. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BAR** = ``124``
  1299. Vertical bar or *pipe* (``|``) key.
  1300. .. _class_@GlobalScope_constant_KEY_BRACERIGHT:
  1301. .. rst-class:: classref-enumeration-constant
  1302. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BRACERIGHT** = ``125``
  1303. Right brace (``}``) key.
  1304. .. _class_@GlobalScope_constant_KEY_ASCIITILDE:
  1305. .. rst-class:: classref-enumeration-constant
  1306. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ASCIITILDE** = ``126``
  1307. Tilde (``~``) key.
  1308. .. _class_@GlobalScope_constant_KEY_YEN:
  1309. .. rst-class:: classref-enumeration-constant
  1310. :ref:`Key<enum_@GlobalScope_Key>` **KEY_YEN** = ``165``
  1311. Yen symbol (``¥``) key.
  1312. .. _class_@GlobalScope_constant_KEY_SECTION:
  1313. .. rst-class:: classref-enumeration-constant
  1314. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SECTION** = ``167``
  1315. Section sign (``§``) key.
  1316. .. rst-class:: classref-item-separator
  1317. ----
  1318. .. _enum_@GlobalScope_KeyModifierMask:
  1319. .. rst-class:: classref-enumeration
  1320. flags **KeyModifierMask**: :ref:`🔗<enum_@GlobalScope_KeyModifierMask>`
  1321. .. _class_@GlobalScope_constant_KEY_CODE_MASK:
  1322. .. rst-class:: classref-enumeration-constant
  1323. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_CODE_MASK** = ``8388607``
  1324. Key Code mask.
  1325. .. _class_@GlobalScope_constant_KEY_MODIFIER_MASK:
  1326. .. rst-class:: classref-enumeration-constant
  1327. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MODIFIER_MASK** = ``2130706432``
  1328. Modifier key mask.
  1329. .. _class_@GlobalScope_constant_KEY_MASK_CMD_OR_CTRL:
  1330. .. rst-class:: classref-enumeration-constant
  1331. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_CMD_OR_CTRL** = ``16777216``
  1332. Automatically remapped to :ref:`KEY_META<class_@GlobalScope_constant_KEY_META>` on macOS and :ref:`KEY_CTRL<class_@GlobalScope_constant_KEY_CTRL>` on other platforms, this mask is never set in the actual events, and should be used for key mapping only.
  1333. .. _class_@GlobalScope_constant_KEY_MASK_SHIFT:
  1334. .. rst-class:: classref-enumeration-constant
  1335. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_SHIFT** = ``33554432``
  1336. Shift key mask.
  1337. .. _class_@GlobalScope_constant_KEY_MASK_ALT:
  1338. .. rst-class:: classref-enumeration-constant
  1339. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_ALT** = ``67108864``
  1340. Alt or Option (on macOS) key mask.
  1341. .. _class_@GlobalScope_constant_KEY_MASK_META:
  1342. .. rst-class:: classref-enumeration-constant
  1343. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_META** = ``134217728``
  1344. Command (on macOS) or Meta/Windows key mask.
  1345. .. _class_@GlobalScope_constant_KEY_MASK_CTRL:
  1346. .. rst-class:: classref-enumeration-constant
  1347. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_CTRL** = ``268435456``
  1348. Control key mask.
  1349. .. _class_@GlobalScope_constant_KEY_MASK_KPAD:
  1350. .. rst-class:: classref-enumeration-constant
  1351. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_KPAD** = ``536870912``
  1352. Keypad key mask.
  1353. .. _class_@GlobalScope_constant_KEY_MASK_GROUP_SWITCH:
  1354. .. rst-class:: classref-enumeration-constant
  1355. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_GROUP_SWITCH** = ``1073741824``
  1356. Group Switch key mask.
  1357. .. rst-class:: classref-item-separator
  1358. ----
  1359. .. _enum_@GlobalScope_KeyLocation:
  1360. .. rst-class:: classref-enumeration
  1361. enum **KeyLocation**: :ref:`🔗<enum_@GlobalScope_KeyLocation>`
  1362. .. _class_@GlobalScope_constant_KEY_LOCATION_UNSPECIFIED:
  1363. .. rst-class:: classref-enumeration-constant
  1364. :ref:`KeyLocation<enum_@GlobalScope_KeyLocation>` **KEY_LOCATION_UNSPECIFIED** = ``0``
  1365. Used for keys which only appear once, or when a comparison doesn't need to differentiate the ``LEFT`` and ``RIGHT`` versions.
  1366. For example, when using :ref:`InputEvent.is_match()<class_InputEvent_method_is_match>`, an event which has :ref:`KEY_LOCATION_UNSPECIFIED<class_@GlobalScope_constant_KEY_LOCATION_UNSPECIFIED>` will match any :ref:`KeyLocation<enum_@GlobalScope_KeyLocation>` on the passed event.
  1367. .. _class_@GlobalScope_constant_KEY_LOCATION_LEFT:
  1368. .. rst-class:: classref-enumeration-constant
  1369. :ref:`KeyLocation<enum_@GlobalScope_KeyLocation>` **KEY_LOCATION_LEFT** = ``1``
  1370. A key which is to the left of its twin.
  1371. .. _class_@GlobalScope_constant_KEY_LOCATION_RIGHT:
  1372. .. rst-class:: classref-enumeration-constant
  1373. :ref:`KeyLocation<enum_@GlobalScope_KeyLocation>` **KEY_LOCATION_RIGHT** = ``2``
  1374. A key which is to the right of its twin.
  1375. .. rst-class:: classref-item-separator
  1376. ----
  1377. .. _enum_@GlobalScope_MouseButton:
  1378. .. rst-class:: classref-enumeration
  1379. enum **MouseButton**: :ref:`🔗<enum_@GlobalScope_MouseButton>`
  1380. .. _class_@GlobalScope_constant_MOUSE_BUTTON_NONE:
  1381. .. rst-class:: classref-enumeration-constant
  1382. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_NONE** = ``0``
  1383. Enum value which doesn't correspond to any mouse button. This is used to initialize :ref:`MouseButton<enum_@GlobalScope_MouseButton>` properties with a generic state.
  1384. .. _class_@GlobalScope_constant_MOUSE_BUTTON_LEFT:
  1385. .. rst-class:: classref-enumeration-constant
  1386. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_LEFT** = ``1``
  1387. Primary mouse button, usually assigned to the left button.
  1388. .. _class_@GlobalScope_constant_MOUSE_BUTTON_RIGHT:
  1389. .. rst-class:: classref-enumeration-constant
  1390. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_RIGHT** = ``2``
  1391. Secondary mouse button, usually assigned to the right button.
  1392. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MIDDLE:
  1393. .. rst-class:: classref-enumeration-constant
  1394. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_MIDDLE** = ``3``
  1395. Middle mouse button.
  1396. .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_UP:
  1397. .. rst-class:: classref-enumeration-constant
  1398. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_WHEEL_UP** = ``4``
  1399. Mouse wheel scrolling up.
  1400. .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_DOWN:
  1401. .. rst-class:: classref-enumeration-constant
  1402. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_WHEEL_DOWN** = ``5``
  1403. Mouse wheel scrolling down.
  1404. .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_LEFT:
  1405. .. rst-class:: classref-enumeration-constant
  1406. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_WHEEL_LEFT** = ``6``
  1407. Mouse wheel left button (only present on some mice).
  1408. .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_RIGHT:
  1409. .. rst-class:: classref-enumeration-constant
  1410. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_WHEEL_RIGHT** = ``7``
  1411. Mouse wheel right button (only present on some mice).
  1412. .. _class_@GlobalScope_constant_MOUSE_BUTTON_XBUTTON1:
  1413. .. rst-class:: classref-enumeration-constant
  1414. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_XBUTTON1** = ``8``
  1415. Extra mouse button 1. This is sometimes present, usually to the sides of the mouse.
  1416. .. _class_@GlobalScope_constant_MOUSE_BUTTON_XBUTTON2:
  1417. .. rst-class:: classref-enumeration-constant
  1418. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_XBUTTON2** = ``9``
  1419. Extra mouse button 2. This is sometimes present, usually to the sides of the mouse.
  1420. .. rst-class:: classref-item-separator
  1421. ----
  1422. .. _enum_@GlobalScope_MouseButtonMask:
  1423. .. rst-class:: classref-enumeration
  1424. flags **MouseButtonMask**: :ref:`🔗<enum_@GlobalScope_MouseButtonMask>`
  1425. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_LEFT:
  1426. .. rst-class:: classref-enumeration-constant
  1427. :ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>` **MOUSE_BUTTON_MASK_LEFT** = ``1``
  1428. Primary mouse button mask, usually for the left button.
  1429. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_RIGHT:
  1430. .. rst-class:: classref-enumeration-constant
  1431. :ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>` **MOUSE_BUTTON_MASK_RIGHT** = ``2``
  1432. Secondary mouse button mask, usually for the right button.
  1433. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_MIDDLE:
  1434. .. rst-class:: classref-enumeration-constant
  1435. :ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>` **MOUSE_BUTTON_MASK_MIDDLE** = ``4``
  1436. Middle mouse button mask.
  1437. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_MB_XBUTTON1:
  1438. .. rst-class:: classref-enumeration-constant
  1439. :ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>` **MOUSE_BUTTON_MASK_MB_XBUTTON1** = ``128``
  1440. Extra mouse button 1 mask.
  1441. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_MB_XBUTTON2:
  1442. .. rst-class:: classref-enumeration-constant
  1443. :ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>` **MOUSE_BUTTON_MASK_MB_XBUTTON2** = ``256``
  1444. Extra mouse button 2 mask.
  1445. .. rst-class:: classref-item-separator
  1446. ----
  1447. .. _enum_@GlobalScope_JoyButton:
  1448. .. rst-class:: classref-enumeration
  1449. enum **JoyButton**: :ref:`🔗<enum_@GlobalScope_JoyButton>`
  1450. .. _class_@GlobalScope_constant_JOY_BUTTON_INVALID:
  1451. .. rst-class:: classref-enumeration-constant
  1452. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_INVALID** = ``-1``
  1453. An invalid game controller button.
  1454. .. _class_@GlobalScope_constant_JOY_BUTTON_A:
  1455. .. rst-class:: classref-enumeration-constant
  1456. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_A** = ``0``
  1457. Game controller SDL button A. Corresponds to the bottom action button: Sony Cross, Xbox A, Nintendo B.
  1458. .. _class_@GlobalScope_constant_JOY_BUTTON_B:
  1459. .. rst-class:: classref-enumeration-constant
  1460. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_B** = ``1``
  1461. Game controller SDL button B. Corresponds to the right action button: Sony Circle, Xbox B, Nintendo A.
  1462. .. _class_@GlobalScope_constant_JOY_BUTTON_X:
  1463. .. rst-class:: classref-enumeration-constant
  1464. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_X** = ``2``
  1465. Game controller SDL button X. Corresponds to the left action button: Sony Square, Xbox X, Nintendo Y.
  1466. .. _class_@GlobalScope_constant_JOY_BUTTON_Y:
  1467. .. rst-class:: classref-enumeration-constant
  1468. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_Y** = ``3``
  1469. Game controller SDL button Y. Corresponds to the top action button: Sony Triangle, Xbox Y, Nintendo X.
  1470. .. _class_@GlobalScope_constant_JOY_BUTTON_BACK:
  1471. .. rst-class:: classref-enumeration-constant
  1472. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_BACK** = ``4``
  1473. Game controller SDL back button. Corresponds to the Sony Select, Xbox Back, Nintendo - button.
  1474. .. _class_@GlobalScope_constant_JOY_BUTTON_GUIDE:
  1475. .. rst-class:: classref-enumeration-constant
  1476. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_GUIDE** = ``5``
  1477. Game controller SDL guide button. Corresponds to the Sony PS, Xbox Home button.
  1478. .. _class_@GlobalScope_constant_JOY_BUTTON_START:
  1479. .. rst-class:: classref-enumeration-constant
  1480. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_START** = ``6``
  1481. Game controller SDL start button. Corresponds to the Sony Options, Xbox Menu, Nintendo + button.
  1482. .. _class_@GlobalScope_constant_JOY_BUTTON_LEFT_STICK:
  1483. .. rst-class:: classref-enumeration-constant
  1484. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_LEFT_STICK** = ``7``
  1485. Game controller SDL left stick button. Corresponds to the Sony L3, Xbox L/LS button.
  1486. .. _class_@GlobalScope_constant_JOY_BUTTON_RIGHT_STICK:
  1487. .. rst-class:: classref-enumeration-constant
  1488. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_RIGHT_STICK** = ``8``
  1489. Game controller SDL right stick button. Corresponds to the Sony R3, Xbox R/RS button.
  1490. .. _class_@GlobalScope_constant_JOY_BUTTON_LEFT_SHOULDER:
  1491. .. rst-class:: classref-enumeration-constant
  1492. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_LEFT_SHOULDER** = ``9``
  1493. Game controller SDL left shoulder button. Corresponds to the Sony L1, Xbox LB button.
  1494. .. _class_@GlobalScope_constant_JOY_BUTTON_RIGHT_SHOULDER:
  1495. .. rst-class:: classref-enumeration-constant
  1496. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_RIGHT_SHOULDER** = ``10``
  1497. Game controller SDL right shoulder button. Corresponds to the Sony R1, Xbox RB button.
  1498. .. _class_@GlobalScope_constant_JOY_BUTTON_DPAD_UP:
  1499. .. rst-class:: classref-enumeration-constant
  1500. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_DPAD_UP** = ``11``
  1501. Game controller D-pad up button.
  1502. .. _class_@GlobalScope_constant_JOY_BUTTON_DPAD_DOWN:
  1503. .. rst-class:: classref-enumeration-constant
  1504. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_DPAD_DOWN** = ``12``
  1505. Game controller D-pad down button.
  1506. .. _class_@GlobalScope_constant_JOY_BUTTON_DPAD_LEFT:
  1507. .. rst-class:: classref-enumeration-constant
  1508. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_DPAD_LEFT** = ``13``
  1509. Game controller D-pad left button.
  1510. .. _class_@GlobalScope_constant_JOY_BUTTON_DPAD_RIGHT:
  1511. .. rst-class:: classref-enumeration-constant
  1512. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_DPAD_RIGHT** = ``14``
  1513. Game controller D-pad right button.
  1514. .. _class_@GlobalScope_constant_JOY_BUTTON_MISC1:
  1515. .. rst-class:: classref-enumeration-constant
  1516. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_MISC1** = ``15``
  1517. Game controller SDL miscellaneous button. Corresponds to Xbox share button, PS5 microphone button, Nintendo Switch capture button.
  1518. .. _class_@GlobalScope_constant_JOY_BUTTON_PADDLE1:
  1519. .. rst-class:: classref-enumeration-constant
  1520. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_PADDLE1** = ``16``
  1521. Game controller SDL paddle 1 button.
  1522. .. _class_@GlobalScope_constant_JOY_BUTTON_PADDLE2:
  1523. .. rst-class:: classref-enumeration-constant
  1524. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_PADDLE2** = ``17``
  1525. Game controller SDL paddle 2 button.
  1526. .. _class_@GlobalScope_constant_JOY_BUTTON_PADDLE3:
  1527. .. rst-class:: classref-enumeration-constant
  1528. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_PADDLE3** = ``18``
  1529. Game controller SDL paddle 3 button.
  1530. .. _class_@GlobalScope_constant_JOY_BUTTON_PADDLE4:
  1531. .. rst-class:: classref-enumeration-constant
  1532. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_PADDLE4** = ``19``
  1533. Game controller SDL paddle 4 button.
  1534. .. _class_@GlobalScope_constant_JOY_BUTTON_TOUCHPAD:
  1535. .. rst-class:: classref-enumeration-constant
  1536. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_TOUCHPAD** = ``20``
  1537. Game controller SDL touchpad button.
  1538. .. _class_@GlobalScope_constant_JOY_BUTTON_SDL_MAX:
  1539. .. rst-class:: classref-enumeration-constant
  1540. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_SDL_MAX** = ``21``
  1541. The number of SDL game controller buttons.
  1542. .. _class_@GlobalScope_constant_JOY_BUTTON_MAX:
  1543. .. rst-class:: classref-enumeration-constant
  1544. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_MAX** = ``128``
  1545. The maximum number of game controller buttons supported by the engine. The actual limit may be lower on specific platforms:
  1546. - **Android:** Up to 36 buttons.
  1547. - **Linux:** Up to 80 buttons.
  1548. - **Windows** and **macOS:** Up to 128 buttons.
  1549. .. rst-class:: classref-item-separator
  1550. ----
  1551. .. _enum_@GlobalScope_JoyAxis:
  1552. .. rst-class:: classref-enumeration
  1553. enum **JoyAxis**: :ref:`🔗<enum_@GlobalScope_JoyAxis>`
  1554. .. _class_@GlobalScope_constant_JOY_AXIS_INVALID:
  1555. .. rst-class:: classref-enumeration-constant
  1556. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_INVALID** = ``-1``
  1557. An invalid game controller axis.
  1558. .. _class_@GlobalScope_constant_JOY_AXIS_LEFT_X:
  1559. .. rst-class:: classref-enumeration-constant
  1560. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_LEFT_X** = ``0``
  1561. Game controller left joystick x-axis.
  1562. .. _class_@GlobalScope_constant_JOY_AXIS_LEFT_Y:
  1563. .. rst-class:: classref-enumeration-constant
  1564. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_LEFT_Y** = ``1``
  1565. Game controller left joystick y-axis.
  1566. .. _class_@GlobalScope_constant_JOY_AXIS_RIGHT_X:
  1567. .. rst-class:: classref-enumeration-constant
  1568. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_RIGHT_X** = ``2``
  1569. Game controller right joystick x-axis.
  1570. .. _class_@GlobalScope_constant_JOY_AXIS_RIGHT_Y:
  1571. .. rst-class:: classref-enumeration-constant
  1572. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_RIGHT_Y** = ``3``
  1573. Game controller right joystick y-axis.
  1574. .. _class_@GlobalScope_constant_JOY_AXIS_TRIGGER_LEFT:
  1575. .. rst-class:: classref-enumeration-constant
  1576. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_TRIGGER_LEFT** = ``4``
  1577. Game controller left trigger axis.
  1578. .. _class_@GlobalScope_constant_JOY_AXIS_TRIGGER_RIGHT:
  1579. .. rst-class:: classref-enumeration-constant
  1580. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_TRIGGER_RIGHT** = ``5``
  1581. Game controller right trigger axis.
  1582. .. _class_@GlobalScope_constant_JOY_AXIS_SDL_MAX:
  1583. .. rst-class:: classref-enumeration-constant
  1584. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_SDL_MAX** = ``6``
  1585. The number of SDL game controller axes.
  1586. .. _class_@GlobalScope_constant_JOY_AXIS_MAX:
  1587. .. rst-class:: classref-enumeration-constant
  1588. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_MAX** = ``10``
  1589. The maximum number of game controller axes: OpenVR supports up to 5 Joysticks making a total of 10 axes.
  1590. .. rst-class:: classref-item-separator
  1591. ----
  1592. .. _enum_@GlobalScope_MIDIMessage:
  1593. .. rst-class:: classref-enumeration
  1594. enum **MIDIMessage**: :ref:`🔗<enum_@GlobalScope_MIDIMessage>`
  1595. .. _class_@GlobalScope_constant_MIDI_MESSAGE_NONE:
  1596. .. rst-class:: classref-enumeration-constant
  1597. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_NONE** = ``0``
  1598. Does not correspond to any MIDI message. This is the default value of :ref:`InputEventMIDI.message<class_InputEventMIDI_property_message>`.
  1599. .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF:
  1600. .. rst-class:: classref-enumeration-constant
  1601. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_NOTE_OFF** = ``8``
  1602. MIDI message sent when a note is released.
  1603. \ **Note:** Not all MIDI devices send this message; some may send :ref:`MIDI_MESSAGE_NOTE_ON<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON>` with :ref:`InputEventMIDI.velocity<class_InputEventMIDI_property_velocity>` set to ``0``.
  1604. .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON:
  1605. .. rst-class:: classref-enumeration-constant
  1606. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_NOTE_ON** = ``9``
  1607. MIDI message sent when a note is pressed.
  1608. .. _class_@GlobalScope_constant_MIDI_MESSAGE_AFTERTOUCH:
  1609. .. rst-class:: classref-enumeration-constant
  1610. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_AFTERTOUCH** = ``10``
  1611. MIDI message sent to indicate a change in pressure while a note is being pressed down, also called aftertouch.
  1612. .. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTROL_CHANGE:
  1613. .. rst-class:: classref-enumeration-constant
  1614. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_CONTROL_CHANGE** = ``11``
  1615. MIDI message sent when a controller value changes. In a MIDI device, a controller is any input that doesn't play notes. These may include sliders for volume, balance, and panning, as well as switches and pedals. See the `General MIDI specification <https://en.wikipedia.org/wiki/General_MIDI#Controller_events>`__ for a small list.
  1616. .. _class_@GlobalScope_constant_MIDI_MESSAGE_PROGRAM_CHANGE:
  1617. .. rst-class:: classref-enumeration-constant
  1618. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_PROGRAM_CHANGE** = ``12``
  1619. MIDI message sent when the MIDI device changes its current instrument (also called *program* or *preset*).
  1620. .. _class_@GlobalScope_constant_MIDI_MESSAGE_CHANNEL_PRESSURE:
  1621. .. rst-class:: classref-enumeration-constant
  1622. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_CHANNEL_PRESSURE** = ``13``
  1623. MIDI message sent to indicate a change in pressure for the whole channel. Some MIDI devices may send this instead of :ref:`MIDI_MESSAGE_AFTERTOUCH<class_@GlobalScope_constant_MIDI_MESSAGE_AFTERTOUCH>`.
  1624. .. _class_@GlobalScope_constant_MIDI_MESSAGE_PITCH_BEND:
  1625. .. rst-class:: classref-enumeration-constant
  1626. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_PITCH_BEND** = ``14``
  1627. MIDI message sent when the value of the pitch bender changes, usually a wheel on the MIDI device.
  1628. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_EXCLUSIVE:
  1629. .. rst-class:: classref-enumeration-constant
  1630. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_SYSTEM_EXCLUSIVE** = ``240``
  1631. MIDI system exclusive (SysEx) message. This type of message is not standardized and it's highly dependent on the MIDI device sending it.
  1632. \ **Note:** Getting this message's data from :ref:`InputEventMIDI<class_InputEventMIDI>` is not implemented.
  1633. .. _class_@GlobalScope_constant_MIDI_MESSAGE_QUARTER_FRAME:
  1634. .. rst-class:: classref-enumeration-constant
  1635. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_QUARTER_FRAME** = ``241``
  1636. MIDI message sent every quarter frame to keep connected MIDI devices synchronized. Related to :ref:`MIDI_MESSAGE_TIMING_CLOCK<class_@GlobalScope_constant_MIDI_MESSAGE_TIMING_CLOCK>`.
  1637. \ **Note:** Getting this message's data from :ref:`InputEventMIDI<class_InputEventMIDI>` is not implemented.
  1638. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_POSITION_POINTER:
  1639. .. rst-class:: classref-enumeration-constant
  1640. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_SONG_POSITION_POINTER** = ``242``
  1641. MIDI message sent to jump onto a new position in the current sequence or song.
  1642. \ **Note:** Getting this message's data from :ref:`InputEventMIDI<class_InputEventMIDI>` is not implemented.
  1643. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_SELECT:
  1644. .. rst-class:: classref-enumeration-constant
  1645. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_SONG_SELECT** = ``243``
  1646. MIDI message sent to select a sequence or song to play.
  1647. \ **Note:** Getting this message's data from :ref:`InputEventMIDI<class_InputEventMIDI>` is not implemented.
  1648. .. _class_@GlobalScope_constant_MIDI_MESSAGE_TUNE_REQUEST:
  1649. .. rst-class:: classref-enumeration-constant
  1650. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_TUNE_REQUEST** = ``246``
  1651. MIDI message sent to request a tuning calibration. Used on analog synthesizers. Most modern MIDI devices do not need this message.
  1652. .. _class_@GlobalScope_constant_MIDI_MESSAGE_TIMING_CLOCK:
  1653. .. rst-class:: classref-enumeration-constant
  1654. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_TIMING_CLOCK** = ``248``
  1655. MIDI message sent 24 times after :ref:`MIDI_MESSAGE_QUARTER_FRAME<class_@GlobalScope_constant_MIDI_MESSAGE_QUARTER_FRAME>`, to keep connected MIDI devices synchronized.
  1656. .. _class_@GlobalScope_constant_MIDI_MESSAGE_START:
  1657. .. rst-class:: classref-enumeration-constant
  1658. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_START** = ``250``
  1659. MIDI message sent to start the current sequence or song from the beginning.
  1660. .. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTINUE:
  1661. .. rst-class:: classref-enumeration-constant
  1662. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_CONTINUE** = ``251``
  1663. MIDI message sent to resume from the point the current sequence or song was paused.
  1664. .. _class_@GlobalScope_constant_MIDI_MESSAGE_STOP:
  1665. .. rst-class:: classref-enumeration-constant
  1666. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_STOP** = ``252``
  1667. MIDI message sent to pause the current sequence or song.
  1668. .. _class_@GlobalScope_constant_MIDI_MESSAGE_ACTIVE_SENSING:
  1669. .. rst-class:: classref-enumeration-constant
  1670. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_ACTIVE_SENSING** = ``254``
  1671. MIDI message sent repeatedly while the MIDI device is idle, to tell the receiver that the connection is alive. Most MIDI devices do not send this message.
  1672. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_RESET:
  1673. .. rst-class:: classref-enumeration-constant
  1674. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_SYSTEM_RESET** = ``255``
  1675. MIDI message sent to reset a MIDI device to its default state, as if it was just turned on. It should not be sent when the MIDI device is being turned on.
  1676. .. rst-class:: classref-item-separator
  1677. ----
  1678. .. _enum_@GlobalScope_Error:
  1679. .. rst-class:: classref-enumeration
  1680. enum **Error**: :ref:`🔗<enum_@GlobalScope_Error>`
  1681. .. _class_@GlobalScope_constant_OK:
  1682. .. rst-class:: classref-enumeration-constant
  1683. :ref:`Error<enum_@GlobalScope_Error>` **OK** = ``0``
  1684. Methods that return :ref:`Error<enum_@GlobalScope_Error>` return :ref:`OK<class_@GlobalScope_constant_OK>` when no error occurred.
  1685. Since :ref:`OK<class_@GlobalScope_constant_OK>` has value ``0``, and all other error constants are positive integers, it can also be used in boolean checks.
  1686. ::
  1687. var error = method_that_returns_error()
  1688. if error != OK:
  1689. printerr("Failure!")
  1690. # Or, alternatively:
  1691. if error:
  1692. printerr("Still failing!")
  1693. \ **Note:** Many functions do not return an error code, but will print error messages to standard output.
  1694. .. _class_@GlobalScope_constant_FAILED:
  1695. .. rst-class:: classref-enumeration-constant
  1696. :ref:`Error<enum_@GlobalScope_Error>` **FAILED** = ``1``
  1697. Generic error.
  1698. .. _class_@GlobalScope_constant_ERR_UNAVAILABLE:
  1699. .. rst-class:: classref-enumeration-constant
  1700. :ref:`Error<enum_@GlobalScope_Error>` **ERR_UNAVAILABLE** = ``2``
  1701. Unavailable error.
  1702. .. _class_@GlobalScope_constant_ERR_UNCONFIGURED:
  1703. .. rst-class:: classref-enumeration-constant
  1704. :ref:`Error<enum_@GlobalScope_Error>` **ERR_UNCONFIGURED** = ``3``
  1705. Unconfigured error.
  1706. .. _class_@GlobalScope_constant_ERR_UNAUTHORIZED:
  1707. .. rst-class:: classref-enumeration-constant
  1708. :ref:`Error<enum_@GlobalScope_Error>` **ERR_UNAUTHORIZED** = ``4``
  1709. Unauthorized error.
  1710. .. _class_@GlobalScope_constant_ERR_PARAMETER_RANGE_ERROR:
  1711. .. rst-class:: classref-enumeration-constant
  1712. :ref:`Error<enum_@GlobalScope_Error>` **ERR_PARAMETER_RANGE_ERROR** = ``5``
  1713. Parameter range error.
  1714. .. _class_@GlobalScope_constant_ERR_OUT_OF_MEMORY:
  1715. .. rst-class:: classref-enumeration-constant
  1716. :ref:`Error<enum_@GlobalScope_Error>` **ERR_OUT_OF_MEMORY** = ``6``
  1717. Out of memory (OOM) error.
  1718. .. _class_@GlobalScope_constant_ERR_FILE_NOT_FOUND:
  1719. .. rst-class:: classref-enumeration-constant
  1720. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_NOT_FOUND** = ``7``
  1721. File: Not found error.
  1722. .. _class_@GlobalScope_constant_ERR_FILE_BAD_DRIVE:
  1723. .. rst-class:: classref-enumeration-constant
  1724. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_BAD_DRIVE** = ``8``
  1725. File: Bad drive error.
  1726. .. _class_@GlobalScope_constant_ERR_FILE_BAD_PATH:
  1727. .. rst-class:: classref-enumeration-constant
  1728. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_BAD_PATH** = ``9``
  1729. File: Bad path error.
  1730. .. _class_@GlobalScope_constant_ERR_FILE_NO_PERMISSION:
  1731. .. rst-class:: classref-enumeration-constant
  1732. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_NO_PERMISSION** = ``10``
  1733. File: No permission error.
  1734. .. _class_@GlobalScope_constant_ERR_FILE_ALREADY_IN_USE:
  1735. .. rst-class:: classref-enumeration-constant
  1736. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_ALREADY_IN_USE** = ``11``
  1737. File: Already in use error.
  1738. .. _class_@GlobalScope_constant_ERR_FILE_CANT_OPEN:
  1739. .. rst-class:: classref-enumeration-constant
  1740. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_CANT_OPEN** = ``12``
  1741. File: Can't open error.
  1742. .. _class_@GlobalScope_constant_ERR_FILE_CANT_WRITE:
  1743. .. rst-class:: classref-enumeration-constant
  1744. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_CANT_WRITE** = ``13``
  1745. File: Can't write error.
  1746. .. _class_@GlobalScope_constant_ERR_FILE_CANT_READ:
  1747. .. rst-class:: classref-enumeration-constant
  1748. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_CANT_READ** = ``14``
  1749. File: Can't read error.
  1750. .. _class_@GlobalScope_constant_ERR_FILE_UNRECOGNIZED:
  1751. .. rst-class:: classref-enumeration-constant
  1752. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_UNRECOGNIZED** = ``15``
  1753. File: Unrecognized error.
  1754. .. _class_@GlobalScope_constant_ERR_FILE_CORRUPT:
  1755. .. rst-class:: classref-enumeration-constant
  1756. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_CORRUPT** = ``16``
  1757. File: Corrupt error.
  1758. .. _class_@GlobalScope_constant_ERR_FILE_MISSING_DEPENDENCIES:
  1759. .. rst-class:: classref-enumeration-constant
  1760. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_MISSING_DEPENDENCIES** = ``17``
  1761. File: Missing dependencies error.
  1762. .. _class_@GlobalScope_constant_ERR_FILE_EOF:
  1763. .. rst-class:: classref-enumeration-constant
  1764. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_EOF** = ``18``
  1765. File: End of file (EOF) error.
  1766. .. _class_@GlobalScope_constant_ERR_CANT_OPEN:
  1767. .. rst-class:: classref-enumeration-constant
  1768. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_OPEN** = ``19``
  1769. Can't open error.
  1770. .. _class_@GlobalScope_constant_ERR_CANT_CREATE:
  1771. .. rst-class:: classref-enumeration-constant
  1772. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_CREATE** = ``20``
  1773. Can't create error.
  1774. .. _class_@GlobalScope_constant_ERR_QUERY_FAILED:
  1775. .. rst-class:: classref-enumeration-constant
  1776. :ref:`Error<enum_@GlobalScope_Error>` **ERR_QUERY_FAILED** = ``21``
  1777. Query failed error.
  1778. .. _class_@GlobalScope_constant_ERR_ALREADY_IN_USE:
  1779. .. rst-class:: classref-enumeration-constant
  1780. :ref:`Error<enum_@GlobalScope_Error>` **ERR_ALREADY_IN_USE** = ``22``
  1781. Already in use error.
  1782. .. _class_@GlobalScope_constant_ERR_LOCKED:
  1783. .. rst-class:: classref-enumeration-constant
  1784. :ref:`Error<enum_@GlobalScope_Error>` **ERR_LOCKED** = ``23``
  1785. Locked error.
  1786. .. _class_@GlobalScope_constant_ERR_TIMEOUT:
  1787. .. rst-class:: classref-enumeration-constant
  1788. :ref:`Error<enum_@GlobalScope_Error>` **ERR_TIMEOUT** = ``24``
  1789. Timeout error.
  1790. .. _class_@GlobalScope_constant_ERR_CANT_CONNECT:
  1791. .. rst-class:: classref-enumeration-constant
  1792. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_CONNECT** = ``25``
  1793. Can't connect error.
  1794. .. _class_@GlobalScope_constant_ERR_CANT_RESOLVE:
  1795. .. rst-class:: classref-enumeration-constant
  1796. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_RESOLVE** = ``26``
  1797. Can't resolve error.
  1798. .. _class_@GlobalScope_constant_ERR_CONNECTION_ERROR:
  1799. .. rst-class:: classref-enumeration-constant
  1800. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CONNECTION_ERROR** = ``27``
  1801. Connection error.
  1802. .. _class_@GlobalScope_constant_ERR_CANT_ACQUIRE_RESOURCE:
  1803. .. rst-class:: classref-enumeration-constant
  1804. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_ACQUIRE_RESOURCE** = ``28``
  1805. Can't acquire resource error.
  1806. .. _class_@GlobalScope_constant_ERR_CANT_FORK:
  1807. .. rst-class:: classref-enumeration-constant
  1808. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_FORK** = ``29``
  1809. Can't fork process error.
  1810. .. _class_@GlobalScope_constant_ERR_INVALID_DATA:
  1811. .. rst-class:: classref-enumeration-constant
  1812. :ref:`Error<enum_@GlobalScope_Error>` **ERR_INVALID_DATA** = ``30``
  1813. Invalid data error.
  1814. .. _class_@GlobalScope_constant_ERR_INVALID_PARAMETER:
  1815. .. rst-class:: classref-enumeration-constant
  1816. :ref:`Error<enum_@GlobalScope_Error>` **ERR_INVALID_PARAMETER** = ``31``
  1817. Invalid parameter error.
  1818. .. _class_@GlobalScope_constant_ERR_ALREADY_EXISTS:
  1819. .. rst-class:: classref-enumeration-constant
  1820. :ref:`Error<enum_@GlobalScope_Error>` **ERR_ALREADY_EXISTS** = ``32``
  1821. Already exists error.
  1822. .. _class_@GlobalScope_constant_ERR_DOES_NOT_EXIST:
  1823. .. rst-class:: classref-enumeration-constant
  1824. :ref:`Error<enum_@GlobalScope_Error>` **ERR_DOES_NOT_EXIST** = ``33``
  1825. Does not exist error.
  1826. .. _class_@GlobalScope_constant_ERR_DATABASE_CANT_READ:
  1827. .. rst-class:: classref-enumeration-constant
  1828. :ref:`Error<enum_@GlobalScope_Error>` **ERR_DATABASE_CANT_READ** = ``34``
  1829. Database: Read error.
  1830. .. _class_@GlobalScope_constant_ERR_DATABASE_CANT_WRITE:
  1831. .. rst-class:: classref-enumeration-constant
  1832. :ref:`Error<enum_@GlobalScope_Error>` **ERR_DATABASE_CANT_WRITE** = ``35``
  1833. Database: Write error.
  1834. .. _class_@GlobalScope_constant_ERR_COMPILATION_FAILED:
  1835. .. rst-class:: classref-enumeration-constant
  1836. :ref:`Error<enum_@GlobalScope_Error>` **ERR_COMPILATION_FAILED** = ``36``
  1837. Compilation failed error.
  1838. .. _class_@GlobalScope_constant_ERR_METHOD_NOT_FOUND:
  1839. .. rst-class:: classref-enumeration-constant
  1840. :ref:`Error<enum_@GlobalScope_Error>` **ERR_METHOD_NOT_FOUND** = ``37``
  1841. Method not found error.
  1842. .. _class_@GlobalScope_constant_ERR_LINK_FAILED:
  1843. .. rst-class:: classref-enumeration-constant
  1844. :ref:`Error<enum_@GlobalScope_Error>` **ERR_LINK_FAILED** = ``38``
  1845. Linking failed error.
  1846. .. _class_@GlobalScope_constant_ERR_SCRIPT_FAILED:
  1847. .. rst-class:: classref-enumeration-constant
  1848. :ref:`Error<enum_@GlobalScope_Error>` **ERR_SCRIPT_FAILED** = ``39``
  1849. Script failed error.
  1850. .. _class_@GlobalScope_constant_ERR_CYCLIC_LINK:
  1851. .. rst-class:: classref-enumeration-constant
  1852. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CYCLIC_LINK** = ``40``
  1853. Cycling link (import cycle) error.
  1854. .. _class_@GlobalScope_constant_ERR_INVALID_DECLARATION:
  1855. .. rst-class:: classref-enumeration-constant
  1856. :ref:`Error<enum_@GlobalScope_Error>` **ERR_INVALID_DECLARATION** = ``41``
  1857. Invalid declaration error.
  1858. .. _class_@GlobalScope_constant_ERR_DUPLICATE_SYMBOL:
  1859. .. rst-class:: classref-enumeration-constant
  1860. :ref:`Error<enum_@GlobalScope_Error>` **ERR_DUPLICATE_SYMBOL** = ``42``
  1861. Duplicate symbol error.
  1862. .. _class_@GlobalScope_constant_ERR_PARSE_ERROR:
  1863. .. rst-class:: classref-enumeration-constant
  1864. :ref:`Error<enum_@GlobalScope_Error>` **ERR_PARSE_ERROR** = ``43``
  1865. Parse error.
  1866. .. _class_@GlobalScope_constant_ERR_BUSY:
  1867. .. rst-class:: classref-enumeration-constant
  1868. :ref:`Error<enum_@GlobalScope_Error>` **ERR_BUSY** = ``44``
  1869. Busy error.
  1870. .. _class_@GlobalScope_constant_ERR_SKIP:
  1871. .. rst-class:: classref-enumeration-constant
  1872. :ref:`Error<enum_@GlobalScope_Error>` **ERR_SKIP** = ``45``
  1873. Skip error.
  1874. .. _class_@GlobalScope_constant_ERR_HELP:
  1875. .. rst-class:: classref-enumeration-constant
  1876. :ref:`Error<enum_@GlobalScope_Error>` **ERR_HELP** = ``46``
  1877. Help error. Used internally when passing ``--version`` or ``--help`` as executable options.
  1878. .. _class_@GlobalScope_constant_ERR_BUG:
  1879. .. rst-class:: classref-enumeration-constant
  1880. :ref:`Error<enum_@GlobalScope_Error>` **ERR_BUG** = ``47``
  1881. Bug error, caused by an implementation issue in the method.
  1882. \ **Note:** If a built-in method returns this code, please open an issue on `the GitHub Issue Tracker <https://github.com/godotengine/godot/issues>`__.
  1883. .. _class_@GlobalScope_constant_ERR_PRINTER_ON_FIRE:
  1884. .. rst-class:: classref-enumeration-constant
  1885. :ref:`Error<enum_@GlobalScope_Error>` **ERR_PRINTER_ON_FIRE** = ``48``
  1886. Printer on fire error (This is an easter egg, no built-in methods return this error code).
  1887. .. rst-class:: classref-item-separator
  1888. ----
  1889. .. _enum_@GlobalScope_PropertyHint:
  1890. .. rst-class:: classref-enumeration
  1891. enum **PropertyHint**: :ref:`🔗<enum_@GlobalScope_PropertyHint>`
  1892. .. _class_@GlobalScope_constant_PROPERTY_HINT_NONE:
  1893. .. rst-class:: classref-enumeration-constant
  1894. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_NONE** = ``0``
  1895. The property has no hint for the editor.
  1896. .. _class_@GlobalScope_constant_PROPERTY_HINT_RANGE:
  1897. .. rst-class:: classref-enumeration-constant
  1898. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_RANGE** = ``1``
  1899. Hints that an :ref:`int<class_int>` or :ref:`float<class_float>` property should be within a range specified via the hint string ``"min,max"`` or ``"min,max,step"``. The hint string can optionally include ``"or_greater"`` and/or ``"or_less"`` to allow manual input going respectively above the max or below the min values.
  1900. \ **Example:** ``"-360,360,1,or_greater,or_less"``.
  1901. Additionally, other keywords can be included: ``"exp"`` for exponential range editing, ``"radians_as_degrees"`` for editing radian angles in degrees (the range values are also in degrees), ``"degrees"`` to hint at an angle, ``"prefer_slider"`` to show the slider for integers, and ``"hide_control"`` to hide the slider or up-down arrows.
  1902. .. _class_@GlobalScope_constant_PROPERTY_HINT_ENUM:
  1903. .. rst-class:: classref-enumeration-constant
  1904. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_ENUM** = ``2``
  1905. Hints that an :ref:`int<class_int>`, :ref:`String<class_String>`, or :ref:`StringName<class_StringName>` property is an enumerated value to pick in a list specified via a hint string.
  1906. The hint string is a comma separated list of names such as ``"Hello,Something,Else"``. Whitespace is **not** removed from either end of a name. For integer properties, the first name in the list has value 0, the next 1, and so on. Explicit values can also be specified by appending ``:integer`` to the name, e.g. ``"Zero,One,Three:3,Four,Six:6"``.
  1907. .. _class_@GlobalScope_constant_PROPERTY_HINT_ENUM_SUGGESTION:
  1908. .. rst-class:: classref-enumeration-constant
  1909. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_ENUM_SUGGESTION** = ``3``
  1910. Hints that a :ref:`String<class_String>` or :ref:`StringName<class_StringName>` property can be an enumerated value to pick in a list specified via a hint string such as ``"Hello,Something,Else"``. See :ref:`PROPERTY_HINT_ENUM<class_@GlobalScope_constant_PROPERTY_HINT_ENUM>` for details.
  1911. Unlike :ref:`PROPERTY_HINT_ENUM<class_@GlobalScope_constant_PROPERTY_HINT_ENUM>`, a property with this hint still accepts arbitrary values and can be empty. The list of values serves to suggest possible values.
  1912. .. _class_@GlobalScope_constant_PROPERTY_HINT_EXP_EASING:
  1913. .. rst-class:: classref-enumeration-constant
  1914. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_EXP_EASING** = ``4``
  1915. Hints that a :ref:`float<class_float>` property should be edited via an exponential easing function. The hint string can include ``"attenuation"`` to flip the curve horizontally and/or ``"positive_only"`` to exclude in/out easing and limit values to be greater than or equal to zero.
  1916. .. _class_@GlobalScope_constant_PROPERTY_HINT_LINK:
  1917. .. rst-class:: classref-enumeration-constant
  1918. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LINK** = ``5``
  1919. Hints that a vector property should allow its components to be linked. For example, this allows :ref:`Vector2.x<class_Vector2_property_x>` and :ref:`Vector2.y<class_Vector2_property_y>` to be edited together.
  1920. .. _class_@GlobalScope_constant_PROPERTY_HINT_FLAGS:
  1921. .. rst-class:: classref-enumeration-constant
  1922. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_FLAGS** = ``6``
  1923. Hints that an :ref:`int<class_int>` property is a bitmask with named bit flags.
  1924. The hint string is a comma separated list of names such as ``"Bit0,Bit1,Bit2,Bit3"``. Whitespace is **not** removed from either end of a name. The first name in the list has value 1, the next 2, then 4, 8, 16 and so on. Explicit values can also be specified by appending ``:integer`` to the name, e.g. ``"A:4,B:8,C:16"``. You can also combine several flags (``"A:4,B:8,AB:12,C:16"``).
  1925. \ **Note:** A flag value must be at least ``1`` and at most ``2 ** 32 - 1``.
  1926. \ **Note:** Unlike :ref:`PROPERTY_HINT_ENUM<class_@GlobalScope_constant_PROPERTY_HINT_ENUM>`, the previous explicit value is not taken into account. For the hint ``"A:16,B,C"``, A is 16, B is 2, C is 4.
  1927. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_2D_RENDER:
  1928. .. rst-class:: classref-enumeration-constant
  1929. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_2D_RENDER** = ``7``
  1930. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 2D render layers.
  1931. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_2D_PHYSICS:
  1932. .. rst-class:: classref-enumeration-constant
  1933. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_2D_PHYSICS** = ``8``
  1934. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 2D physics layers.
  1935. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_2D_NAVIGATION:
  1936. .. rst-class:: classref-enumeration-constant
  1937. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_2D_NAVIGATION** = ``9``
  1938. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 2D navigation layers.
  1939. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_3D_RENDER:
  1940. .. rst-class:: classref-enumeration-constant
  1941. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_3D_RENDER** = ``10``
  1942. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 3D render layers.
  1943. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_3D_PHYSICS:
  1944. .. rst-class:: classref-enumeration-constant
  1945. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_3D_PHYSICS** = ``11``
  1946. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 3D physics layers.
  1947. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_3D_NAVIGATION:
  1948. .. rst-class:: classref-enumeration-constant
  1949. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_3D_NAVIGATION** = ``12``
  1950. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 3D navigation layers.
  1951. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_AVOIDANCE:
  1952. .. rst-class:: classref-enumeration-constant
  1953. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_AVOIDANCE** = ``37``
  1954. Hints that an integer property is a bitmask using the optionally named avoidance layers.
  1955. .. _class_@GlobalScope_constant_PROPERTY_HINT_FILE:
  1956. .. rst-class:: classref-enumeration-constant
  1957. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_FILE** = ``13``
  1958. Hints that a :ref:`String<class_String>` property is a path to a file. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like ``"*.png,*.jpg"``. By default the file will be stored as UID whenever available. You can use :ref:`ResourceUID<class_ResourceUID>` methods to convert it back to path. For storing a raw path, use :ref:`PROPERTY_HINT_FILE_PATH<class_@GlobalScope_constant_PROPERTY_HINT_FILE_PATH>`.
  1959. .. _class_@GlobalScope_constant_PROPERTY_HINT_DIR:
  1960. .. rst-class:: classref-enumeration-constant
  1961. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_DIR** = ``14``
  1962. Hints that a :ref:`String<class_String>` property is a path to a directory. Editing it will show a file dialog for picking the path.
  1963. .. _class_@GlobalScope_constant_PROPERTY_HINT_GLOBAL_FILE:
  1964. .. rst-class:: classref-enumeration-constant
  1965. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_GLOBAL_FILE** = ``15``
  1966. Hints that a :ref:`String<class_String>` property is an absolute path to a file outside the project folder. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards, like ``"*.png,*.jpg"``.
  1967. .. _class_@GlobalScope_constant_PROPERTY_HINT_GLOBAL_DIR:
  1968. .. rst-class:: classref-enumeration-constant
  1969. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_GLOBAL_DIR** = ``16``
  1970. Hints that a :ref:`String<class_String>` property is an absolute path to a directory outside the project folder. Editing it will show a file dialog for picking the path.
  1971. .. _class_@GlobalScope_constant_PROPERTY_HINT_RESOURCE_TYPE:
  1972. .. rst-class:: classref-enumeration-constant
  1973. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_RESOURCE_TYPE** = ``17``
  1974. Hints that a property is an instance of a :ref:`Resource<class_Resource>`-derived type, optionally specified via the hint string (e.g. ``"Texture2D"``). Editing it will show a popup menu of valid resource types to instantiate.
  1975. .. _class_@GlobalScope_constant_PROPERTY_HINT_MULTILINE_TEXT:
  1976. .. rst-class:: classref-enumeration-constant
  1977. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_MULTILINE_TEXT** = ``18``
  1978. Hints that a :ref:`String<class_String>` property is text with line breaks. Editing it will show a text input field where line breaks can be typed.
  1979. .. _class_@GlobalScope_constant_PROPERTY_HINT_EXPRESSION:
  1980. .. rst-class:: classref-enumeration-constant
  1981. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_EXPRESSION** = ``19``
  1982. Hints that a :ref:`String<class_String>` property is an :ref:`Expression<class_Expression>`.
  1983. .. _class_@GlobalScope_constant_PROPERTY_HINT_PLACEHOLDER_TEXT:
  1984. .. rst-class:: classref-enumeration-constant
  1985. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_PLACEHOLDER_TEXT** = ``20``
  1986. Hints that a :ref:`String<class_String>` property should show a placeholder text on its input field, if empty. The hint string is the placeholder text to use.
  1987. .. _class_@GlobalScope_constant_PROPERTY_HINT_COLOR_NO_ALPHA:
  1988. .. rst-class:: classref-enumeration-constant
  1989. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_COLOR_NO_ALPHA** = ``21``
  1990. Hints that a :ref:`Color<class_Color>` property should be edited without affecting its transparency (:ref:`Color.a<class_Color_property_a>` is not editable).
  1991. .. _class_@GlobalScope_constant_PROPERTY_HINT_OBJECT_ID:
  1992. .. rst-class:: classref-enumeration-constant
  1993. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_OBJECT_ID** = ``22``
  1994. Hints that the property's value is an object encoded as object ID, with its type specified in the hint string. Used by the debugger.
  1995. .. _class_@GlobalScope_constant_PROPERTY_HINT_TYPE_STRING:
  1996. .. rst-class:: classref-enumeration-constant
  1997. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_TYPE_STRING** = ``23``
  1998. If a property is :ref:`String<class_String>`, hints that the property represents a particular type (class). This allows to select a type from the create dialog. The property will store the selected type as a string.
  1999. If a property is :ref:`Array<class_Array>`, hints the editor how to show elements. The ``hint_string`` must encode nested types using ``":"`` and ``"/"``.
  2000. If a property is :ref:`Dictionary<class_Dictionary>`, hints the editor how to show elements. The ``hint_string`` is the same as :ref:`Array<class_Array>`, with a ``";"`` separating the key and value.
  2001. .. tabs::
  2002. .. code-tab:: gdscript
  2003. # Array of elem_type.
  2004. hint_string = "%d:" % [elem_type]
  2005. hint_string = "%d/%d:%s" % [elem_type, elem_hint, elem_hint_string]
  2006. # Two-dimensional array of elem_type (array of arrays of elem_type).
  2007. hint_string = "%d:%d:" % [TYPE_ARRAY, elem_type]
  2008. hint_string = "%d:%d/%d:%s" % [TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]
  2009. # Three-dimensional array of elem_type (array of arrays of arrays of elem_type).
  2010. hint_string = "%d:%d:%d:" % [TYPE_ARRAY, TYPE_ARRAY, elem_type]
  2011. hint_string = "%d:%d:%d/%d:%s" % [TYPE_ARRAY, TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]
  2012. .. code-tab:: csharp
  2013. // Array of elemType.
  2014. hintString = $"{elemType:D}:";
  2015. hintString = $"{elemType:}/{elemHint:D}:{elemHintString}";
  2016. // Two-dimensional array of elemType (array of arrays of elemType).
  2017. hintString = $"{Variant.Type.Array:D}:{elemType:D}:";
  2018. hintString = $"{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
  2019. // Three-dimensional array of elemType (array of arrays of arrays of elemType).
  2020. hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}:";
  2021. hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
  2022. \ **Examples:**\
  2023. .. tabs::
  2024. .. code-tab:: gdscript
  2025. hint_string = "%d:" % [TYPE_INT] # Array of integers.
  2026. hint_string = "%d/%d:1,10,1" % [TYPE_INT, PROPERTY_HINT_RANGE] # Array of integers (in range from 1 to 10).
  2027. hint_string = "%d/%d:Zero,One,Two" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum).
  2028. hint_string = "%d/%d:Zero,One,Three:3,Six:6" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum).
  2029. hint_string = "%d/%d:*.png" % [TYPE_STRING, PROPERTY_HINT_FILE] # Array of strings (file paths).
  2030. hint_string = "%d/%d:Texture2D" % [TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Array of textures.
  2031. hint_string = "%d:%d:" % [TYPE_ARRAY, TYPE_FLOAT] # Two-dimensional array of floats.
  2032. hint_string = "%d:%d/%d:" % [TYPE_ARRAY, TYPE_STRING, PROPERTY_HINT_MULTILINE_TEXT] # Two-dimensional array of multiline strings.
  2033. hint_string = "%d:%d/%d:-1,1,0.1" % [TYPE_ARRAY, TYPE_FLOAT, PROPERTY_HINT_RANGE] # Two-dimensional array of floats (in range from -1 to 1).
  2034. hint_string = "%d:%d/%d:Texture2D" % [TYPE_ARRAY, TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Two-dimensional array of textures.
  2035. .. code-tab:: csharp
  2036. hintString = $"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1"; // Array of integers (in range from 1 to 10).
  2037. hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Two"; // Array of integers (an enum).
  2038. hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6"; // Array of integers (an enum).
  2039. hintString = $"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png"; // Array of strings (file paths).
  2040. hintString = $"{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Array of textures.
  2041. hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}:"; // Two-dimensional array of floats.
  2042. hintString = $"{Variant.Type.Array:D}:{Variant.Type.String:D}/{PropertyHint.MultilineText:D}:"; // Two-dimensional array of multiline strings.
  2043. hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}/{PropertyHint.Range:D}:-1,1,0.1"; // Two-dimensional array of floats (in range from -1 to 1).
  2044. hintString = $"{Variant.Type.Array:D}:{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Two-dimensional array of textures.
  2045. \ **Note:** The trailing colon is required for properly detecting built-in types.
  2046. .. _class_@GlobalScope_constant_PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE:
  2047. .. rst-class:: classref-enumeration-constant
  2048. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE** = ``24``
  2049. **Deprecated:** This hint is not used by the engine.
  2050. .. _class_@GlobalScope_constant_PROPERTY_HINT_OBJECT_TOO_BIG:
  2051. .. rst-class:: classref-enumeration-constant
  2052. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_OBJECT_TOO_BIG** = ``25``
  2053. Hints that an object is too big to be sent via the debugger.
  2054. .. _class_@GlobalScope_constant_PROPERTY_HINT_NODE_PATH_VALID_TYPES:
  2055. .. rst-class:: classref-enumeration-constant
  2056. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_NODE_PATH_VALID_TYPES** = ``26``
  2057. Hints that the hint string specifies valid node types for property of type :ref:`NodePath<class_NodePath>`.
  2058. .. _class_@GlobalScope_constant_PROPERTY_HINT_SAVE_FILE:
  2059. .. rst-class:: classref-enumeration-constant
  2060. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_SAVE_FILE** = ``27``
  2061. Hints that a :ref:`String<class_String>` property is a path to a file. Editing it will show a file dialog for picking the path for the file to be saved at. The dialog has access to the project's directory. The hint string can be a set of filters with wildcards like ``"*.png,*.jpg"``. See also :ref:`FileDialog.filters<class_FileDialog_property_filters>`.
  2062. .. _class_@GlobalScope_constant_PROPERTY_HINT_GLOBAL_SAVE_FILE:
  2063. .. rst-class:: classref-enumeration-constant
  2064. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_GLOBAL_SAVE_FILE** = ``28``
  2065. Hints that a :ref:`String<class_String>` property is a path to a file. Editing it will show a file dialog for picking the path for the file to be saved at. The dialog has access to the entire filesystem. The hint string can be a set of filters with wildcards like ``"*.png,*.jpg"``. See also :ref:`FileDialog.filters<class_FileDialog_property_filters>`.
  2066. .. _class_@GlobalScope_constant_PROPERTY_HINT_INT_IS_OBJECTID:
  2067. .. rst-class:: classref-enumeration-constant
  2068. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_INT_IS_OBJECTID** = ``29``
  2069. **Deprecated:** This hint is not used by the engine.
  2070. .. _class_@GlobalScope_constant_PROPERTY_HINT_INT_IS_POINTER:
  2071. .. rst-class:: classref-enumeration-constant
  2072. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_INT_IS_POINTER** = ``30``
  2073. Hints that an :ref:`int<class_int>` property is a pointer. Used by GDExtension.
  2074. .. _class_@GlobalScope_constant_PROPERTY_HINT_ARRAY_TYPE:
  2075. .. rst-class:: classref-enumeration-constant
  2076. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_ARRAY_TYPE** = ``31``
  2077. Hints that a property is an :ref:`Array<class_Array>` with the stored type specified in the hint string. The hint string contains the type of the array (e.g. ``"String"``).
  2078. Use the hint string format from :ref:`PROPERTY_HINT_TYPE_STRING<class_@GlobalScope_constant_PROPERTY_HINT_TYPE_STRING>` for more control over the stored type.
  2079. .. _class_@GlobalScope_constant_PROPERTY_HINT_DICTIONARY_TYPE:
  2080. .. rst-class:: classref-enumeration-constant
  2081. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_DICTIONARY_TYPE** = ``38``
  2082. Hints that a property is a :ref:`Dictionary<class_Dictionary>` with the stored types specified in the hint string. The hint string contains the key and value types separated by a semicolon (e.g. ``"int;String"``).
  2083. Use the hint string format from :ref:`PROPERTY_HINT_TYPE_STRING<class_@GlobalScope_constant_PROPERTY_HINT_TYPE_STRING>` for more control over the stored types.
  2084. .. _class_@GlobalScope_constant_PROPERTY_HINT_LOCALE_ID:
  2085. .. rst-class:: classref-enumeration-constant
  2086. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LOCALE_ID** = ``32``
  2087. Hints that a string property is a locale code. Editing it will show a locale dialog for picking language and country.
  2088. .. _class_@GlobalScope_constant_PROPERTY_HINT_LOCALIZABLE_STRING:
  2089. .. rst-class:: classref-enumeration-constant
  2090. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LOCALIZABLE_STRING** = ``33``
  2091. Hints that a dictionary property is string translation map. Dictionary keys are locale codes and, values are translated strings.
  2092. .. _class_@GlobalScope_constant_PROPERTY_HINT_NODE_TYPE:
  2093. .. rst-class:: classref-enumeration-constant
  2094. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_NODE_TYPE** = ``34``
  2095. Hints that a property is an instance of a :ref:`Node<class_Node>`-derived type, optionally specified via the hint string (e.g. ``"Node2D"``). Editing it will show a dialog for picking a node from the scene.
  2096. .. _class_@GlobalScope_constant_PROPERTY_HINT_HIDE_QUATERNION_EDIT:
  2097. .. rst-class:: classref-enumeration-constant
  2098. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_HIDE_QUATERNION_EDIT** = ``35``
  2099. Hints that a quaternion property should disable the temporary euler editor.
  2100. .. _class_@GlobalScope_constant_PROPERTY_HINT_PASSWORD:
  2101. .. rst-class:: classref-enumeration-constant
  2102. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_PASSWORD** = ``36``
  2103. Hints that a string property is a password, and every character is replaced with the secret character.
  2104. .. _class_@GlobalScope_constant_PROPERTY_HINT_TOOL_BUTTON:
  2105. .. rst-class:: classref-enumeration-constant
  2106. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_TOOL_BUTTON** = ``39``
  2107. Hints that a :ref:`Callable<class_Callable>` property should be displayed as a clickable button. When the button is pressed, the callable is called. The hint string specifies the button text and optionally an icon from the ``"EditorIcons"`` theme type.
  2108. .. code:: text
  2109. "Click me!" - A button with the text "Click me!" and the default "Callable" icon.
  2110. "Click me!,ColorRect" - A button with the text "Click me!" and the "ColorRect" icon.
  2111. \ **Note:** A :ref:`Callable<class_Callable>` cannot be properly serialized and stored in a file, so it is recommended to use :ref:`PROPERTY_USAGE_EDITOR<class_@GlobalScope_constant_PROPERTY_USAGE_EDITOR>` instead of :ref:`PROPERTY_USAGE_DEFAULT<class_@GlobalScope_constant_PROPERTY_USAGE_DEFAULT>`.
  2112. .. _class_@GlobalScope_constant_PROPERTY_HINT_ONESHOT:
  2113. .. rst-class:: classref-enumeration-constant
  2114. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_ONESHOT** = ``40``
  2115. Hints that a property will be changed on its own after setting, such as :ref:`AudioStreamPlayer.playing<class_AudioStreamPlayer_property_playing>` or :ref:`GPUParticles3D.emitting<class_GPUParticles3D_property_emitting>`.
  2116. .. _class_@GlobalScope_constant_PROPERTY_HINT_GROUP_ENABLE:
  2117. .. rst-class:: classref-enumeration-constant
  2118. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_GROUP_ENABLE** = ``42``
  2119. Hints that a boolean property will enable the feature associated with the group that it occurs in. The property will be displayed as a checkbox on the group header. Only works within a group or subgroup.
  2120. By default, disabling the property hides all properties in the group. Use the optional hint string ``"checkbox_only"`` to disable this behavior.
  2121. .. _class_@GlobalScope_constant_PROPERTY_HINT_INPUT_NAME:
  2122. .. rst-class:: classref-enumeration-constant
  2123. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_INPUT_NAME** = ``43``
  2124. Hints that a :ref:`String<class_String>` or :ref:`StringName<class_StringName>` property is the name of an input action. This allows the selection of any action name from the Input Map in the Project Settings. The hint string may contain two options separated by commas:
  2125. - If it contains ``"show_builtin"``, built-in input actions are included in the selection.
  2126. - If it contains ``"loose_mode"``, loose mode is enabled. This allows inserting any action name even if it's not present in the input map.
  2127. .. _class_@GlobalScope_constant_PROPERTY_HINT_FILE_PATH:
  2128. .. rst-class:: classref-enumeration-constant
  2129. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_FILE_PATH** = ``44``
  2130. Like :ref:`PROPERTY_HINT_FILE<class_@GlobalScope_constant_PROPERTY_HINT_FILE>`, but the property is stored as a raw path, not UID. That means the reference will be broken if you move the file. Consider using :ref:`PROPERTY_HINT_FILE<class_@GlobalScope_constant_PROPERTY_HINT_FILE>` when possible.
  2131. .. _class_@GlobalScope_constant_PROPERTY_HINT_MAX:
  2132. .. rst-class:: classref-enumeration-constant
  2133. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_MAX** = ``45``
  2134. Represents the size of the :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` enum.
  2135. .. rst-class:: classref-item-separator
  2136. ----
  2137. .. _enum_@GlobalScope_PropertyUsageFlags:
  2138. .. rst-class:: classref-enumeration
  2139. flags **PropertyUsageFlags**: :ref:`🔗<enum_@GlobalScope_PropertyUsageFlags>`
  2140. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NONE:
  2141. .. rst-class:: classref-enumeration-constant
  2142. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NONE** = ``0``
  2143. The property is not stored, and does not display in the editor. This is the default for non-exported properties.
  2144. .. _class_@GlobalScope_constant_PROPERTY_USAGE_STORAGE:
  2145. .. rst-class:: classref-enumeration-constant
  2146. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_STORAGE** = ``2``
  2147. The property is serialized and saved in the scene file (default for exported properties).
  2148. .. _class_@GlobalScope_constant_PROPERTY_USAGE_EDITOR:
  2149. .. rst-class:: classref-enumeration-constant
  2150. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_EDITOR** = ``4``
  2151. The property is shown in the :ref:`EditorInspector<class_EditorInspector>` (default for exported properties).
  2152. .. _class_@GlobalScope_constant_PROPERTY_USAGE_INTERNAL:
  2153. .. rst-class:: classref-enumeration-constant
  2154. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_INTERNAL** = ``8``
  2155. The property is excluded from the class reference.
  2156. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CHECKABLE:
  2157. .. rst-class:: classref-enumeration-constant
  2158. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_CHECKABLE** = ``16``
  2159. The property can be checked in the :ref:`EditorInspector<class_EditorInspector>`.
  2160. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CHECKED:
  2161. .. rst-class:: classref-enumeration-constant
  2162. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_CHECKED** = ``32``
  2163. The property is checked in the :ref:`EditorInspector<class_EditorInspector>`.
  2164. .. _class_@GlobalScope_constant_PROPERTY_USAGE_GROUP:
  2165. .. rst-class:: classref-enumeration-constant
  2166. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_GROUP** = ``64``
  2167. Used to group properties together in the editor. See :ref:`EditorInspector<class_EditorInspector>`.
  2168. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CATEGORY:
  2169. .. rst-class:: classref-enumeration-constant
  2170. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_CATEGORY** = ``128``
  2171. Used to categorize properties together in the editor.
  2172. .. _class_@GlobalScope_constant_PROPERTY_USAGE_SUBGROUP:
  2173. .. rst-class:: classref-enumeration-constant
  2174. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_SUBGROUP** = ``256``
  2175. Used to group properties together in the editor in a subgroup (under a group). See :ref:`EditorInspector<class_EditorInspector>`.
  2176. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CLASS_IS_BITFIELD:
  2177. .. rst-class:: classref-enumeration-constant
  2178. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_CLASS_IS_BITFIELD** = ``512``
  2179. The property is a bitfield, i.e. it contains multiple flags represented as bits.
  2180. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NO_INSTANCE_STATE:
  2181. .. rst-class:: classref-enumeration-constant
  2182. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NO_INSTANCE_STATE** = ``1024``
  2183. The property does not save its state in :ref:`PackedScene<class_PackedScene>`.
  2184. .. _class_@GlobalScope_constant_PROPERTY_USAGE_RESTART_IF_CHANGED:
  2185. .. rst-class:: classref-enumeration-constant
  2186. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_RESTART_IF_CHANGED** = ``2048``
  2187. Editing the property prompts the user for restarting the editor.
  2188. .. _class_@GlobalScope_constant_PROPERTY_USAGE_SCRIPT_VARIABLE:
  2189. .. rst-class:: classref-enumeration-constant
  2190. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_SCRIPT_VARIABLE** = ``4096``
  2191. The property is a script variable. :ref:`PROPERTY_USAGE_SCRIPT_VARIABLE<class_@GlobalScope_constant_PROPERTY_USAGE_SCRIPT_VARIABLE>` can be used to distinguish between exported script variables from built-in variables (which don't have this usage flag). By default, :ref:`PROPERTY_USAGE_SCRIPT_VARIABLE<class_@GlobalScope_constant_PROPERTY_USAGE_SCRIPT_VARIABLE>` is **not** applied to variables that are created by overriding :ref:`Object._get_property_list()<class_Object_private_method__get_property_list>` in a script.
  2192. .. _class_@GlobalScope_constant_PROPERTY_USAGE_STORE_IF_NULL:
  2193. .. rst-class:: classref-enumeration-constant
  2194. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_STORE_IF_NULL** = ``8192``
  2195. The property value of type :ref:`Object<class_Object>` will be stored even if its value is ``null``.
  2196. .. _class_@GlobalScope_constant_PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED:
  2197. .. rst-class:: classref-enumeration-constant
  2198. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED** = ``16384``
  2199. If this property is modified, all inspector fields will be refreshed.
  2200. .. _class_@GlobalScope_constant_PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE:
  2201. .. rst-class:: classref-enumeration-constant
  2202. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE** = ``32768``
  2203. **Deprecated:** This flag is not used by the engine.
  2204. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CLASS_IS_ENUM:
  2205. .. rst-class:: classref-enumeration-constant
  2206. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_CLASS_IS_ENUM** = ``65536``
  2207. The property is a variable of enum type, i.e. it only takes named integer constants from its associated enumeration.
  2208. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NIL_IS_VARIANT:
  2209. .. rst-class:: classref-enumeration-constant
  2210. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NIL_IS_VARIANT** = ``131072``
  2211. If property has ``nil`` as default value, its type will be :ref:`Variant<class_Variant>`.
  2212. .. _class_@GlobalScope_constant_PROPERTY_USAGE_ARRAY:
  2213. .. rst-class:: classref-enumeration-constant
  2214. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_ARRAY** = ``262144``
  2215. The property is the element count of a property array, i.e. a list of groups of related properties. Properties defined with this usage also need a specific ``class_name`` field in the form of ``label,prefix``. The field may also include additional comma-separated options:
  2216. - ``page_size=N``: Overrides :ref:`EditorSettings.interface/inspector/max_array_dictionary_items_per_page<class_EditorSettings_property_interface/inspector/max_array_dictionary_items_per_page>` for this array.
  2217. - ``add_button_text=text``: The text displayed by the "Add Element" button.
  2218. - ``static``: The elements can't be re-arranged.
  2219. - ``const``: New elements can't be added.
  2220. - ``numbered``: An index will appear next to each element.
  2221. - ``unfoldable``: The array can't be folded.
  2222. - ``swap_method=method_name``: The method that will be called when two elements switch places. The method should take 2 :ref:`int<class_int>` parameters, which will be indices of the elements being swapped.
  2223. Note that making a full-fledged property array requires boilerplate code involving :ref:`Object._get_property_list()<class_Object_private_method__get_property_list>`.
  2224. .. _class_@GlobalScope_constant_PROPERTY_USAGE_ALWAYS_DUPLICATE:
  2225. .. rst-class:: classref-enumeration-constant
  2226. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_ALWAYS_DUPLICATE** = ``524288``
  2227. When duplicating a resource with :ref:`Resource.duplicate()<class_Resource_method_duplicate>`, and this flag is set on a property of that resource, the property should always be duplicated, regardless of the ``subresources`` bool parameter.
  2228. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NEVER_DUPLICATE:
  2229. .. rst-class:: classref-enumeration-constant
  2230. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NEVER_DUPLICATE** = ``1048576``
  2231. When duplicating a resource with :ref:`Resource.duplicate()<class_Resource_method_duplicate>`, and this flag is set on a property of that resource, the property should never be duplicated, regardless of the ``subresources`` bool parameter.
  2232. .. _class_@GlobalScope_constant_PROPERTY_USAGE_HIGH_END_GFX:
  2233. .. rst-class:: classref-enumeration-constant
  2234. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_HIGH_END_GFX** = ``2097152``
  2235. The property is only shown in the editor if modern renderers are supported (the Compatibility rendering method is excluded).
  2236. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT:
  2237. .. rst-class:: classref-enumeration-constant
  2238. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT** = ``4194304``
  2239. The :ref:`NodePath<class_NodePath>` property will always be relative to the scene's root. Mostly useful for local resources.
  2240. .. _class_@GlobalScope_constant_PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT:
  2241. .. rst-class:: classref-enumeration-constant
  2242. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT** = ``8388608``
  2243. Use when a resource is created on the fly, i.e. the getter will always return a different instance. :ref:`ResourceSaver<class_ResourceSaver>` needs this information to properly save such resources.
  2244. .. _class_@GlobalScope_constant_PROPERTY_USAGE_KEYING_INCREMENTS:
  2245. .. rst-class:: classref-enumeration-constant
  2246. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_KEYING_INCREMENTS** = ``16777216``
  2247. Inserting an animation key frame of this property will automatically increment the value, allowing to easily keyframe multiple values in a row.
  2248. .. _class_@GlobalScope_constant_PROPERTY_USAGE_DEFERRED_SET_RESOURCE:
  2249. .. rst-class:: classref-enumeration-constant
  2250. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_DEFERRED_SET_RESOURCE** = ``33554432``
  2251. **Deprecated:** This flag is not used by the engine.
  2252. .. _class_@GlobalScope_constant_PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT:
  2253. .. rst-class:: classref-enumeration-constant
  2254. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT** = ``67108864``
  2255. When this property is a :ref:`Resource<class_Resource>` and base object is a :ref:`Node<class_Node>`, a resource instance will be automatically created whenever the node is created in the editor.
  2256. .. _class_@GlobalScope_constant_PROPERTY_USAGE_EDITOR_BASIC_SETTING:
  2257. .. rst-class:: classref-enumeration-constant
  2258. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_EDITOR_BASIC_SETTING** = ``134217728``
  2259. The property is considered a basic setting and will appear even when advanced mode is disabled. Used for project settings.
  2260. .. _class_@GlobalScope_constant_PROPERTY_USAGE_READ_ONLY:
  2261. .. rst-class:: classref-enumeration-constant
  2262. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_READ_ONLY** = ``268435456``
  2263. The property is read-only in the :ref:`EditorInspector<class_EditorInspector>`.
  2264. .. _class_@GlobalScope_constant_PROPERTY_USAGE_SECRET:
  2265. .. rst-class:: classref-enumeration-constant
  2266. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_SECRET** = ``536870912``
  2267. An export preset property with this flag contains confidential information and is stored separately from the rest of the export preset configuration.
  2268. .. _class_@GlobalScope_constant_PROPERTY_USAGE_DEFAULT:
  2269. .. rst-class:: classref-enumeration-constant
  2270. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_DEFAULT** = ``6``
  2271. Default usage (storage and editor).
  2272. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NO_EDITOR:
  2273. .. rst-class:: classref-enumeration-constant
  2274. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NO_EDITOR** = ``2``
  2275. Default usage but without showing the property in the editor (storage).
  2276. .. rst-class:: classref-item-separator
  2277. ----
  2278. .. _enum_@GlobalScope_MethodFlags:
  2279. .. rst-class:: classref-enumeration
  2280. flags **MethodFlags**: :ref:`🔗<enum_@GlobalScope_MethodFlags>`
  2281. .. _class_@GlobalScope_constant_METHOD_FLAG_NORMAL:
  2282. .. rst-class:: classref-enumeration-constant
  2283. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_NORMAL** = ``1``
  2284. Flag for a normal method.
  2285. .. _class_@GlobalScope_constant_METHOD_FLAG_EDITOR:
  2286. .. rst-class:: classref-enumeration-constant
  2287. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_EDITOR** = ``2``
  2288. Flag for an editor method.
  2289. .. _class_@GlobalScope_constant_METHOD_FLAG_CONST:
  2290. .. rst-class:: classref-enumeration-constant
  2291. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_CONST** = ``4``
  2292. Flag for a constant method.
  2293. .. _class_@GlobalScope_constant_METHOD_FLAG_VIRTUAL:
  2294. .. rst-class:: classref-enumeration-constant
  2295. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_VIRTUAL** = ``8``
  2296. Flag for a virtual method.
  2297. .. _class_@GlobalScope_constant_METHOD_FLAG_VARARG:
  2298. .. rst-class:: classref-enumeration-constant
  2299. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_VARARG** = ``16``
  2300. Flag for a method with a variable number of arguments.
  2301. .. _class_@GlobalScope_constant_METHOD_FLAG_STATIC:
  2302. .. rst-class:: classref-enumeration-constant
  2303. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_STATIC** = ``32``
  2304. Flag for a static method.
  2305. .. _class_@GlobalScope_constant_METHOD_FLAG_OBJECT_CORE:
  2306. .. rst-class:: classref-enumeration-constant
  2307. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_OBJECT_CORE** = ``64``
  2308. Used internally. Allows to not dump core virtual methods (such as :ref:`Object._notification()<class_Object_private_method__notification>`) to the JSON API.
  2309. .. _class_@GlobalScope_constant_METHOD_FLAG_VIRTUAL_REQUIRED:
  2310. .. rst-class:: classref-enumeration-constant
  2311. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_VIRTUAL_REQUIRED** = ``128``
  2312. Flag for a virtual method that is required. In GDScript, this flag is set for abstract functions.
  2313. .. _class_@GlobalScope_constant_METHOD_FLAGS_DEFAULT:
  2314. .. rst-class:: classref-enumeration-constant
  2315. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAGS_DEFAULT** = ``1``
  2316. Default method flags (normal).
  2317. .. rst-class:: classref-item-separator
  2318. ----
  2319. .. _enum_@GlobalScope_Variant.Type:
  2320. .. rst-class:: classref-enumeration
  2321. enum **Variant.Type**: :ref:`🔗<enum_@GlobalScope_Variant.Type>`
  2322. .. _class_@GlobalScope_constant_TYPE_NIL:
  2323. .. rst-class:: classref-enumeration-constant
  2324. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_NIL** = ``0``
  2325. Variable is ``null``.
  2326. .. _class_@GlobalScope_constant_TYPE_BOOL:
  2327. .. rst-class:: classref-enumeration-constant
  2328. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_BOOL** = ``1``
  2329. Variable is of type :ref:`bool<class_bool>`.
  2330. .. _class_@GlobalScope_constant_TYPE_INT:
  2331. .. rst-class:: classref-enumeration-constant
  2332. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_INT** = ``2``
  2333. Variable is of type :ref:`int<class_int>`.
  2334. .. _class_@GlobalScope_constant_TYPE_FLOAT:
  2335. .. rst-class:: classref-enumeration-constant
  2336. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_FLOAT** = ``3``
  2337. Variable is of type :ref:`float<class_float>`.
  2338. .. _class_@GlobalScope_constant_TYPE_STRING:
  2339. .. rst-class:: classref-enumeration-constant
  2340. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_STRING** = ``4``
  2341. Variable is of type :ref:`String<class_String>`.
  2342. .. _class_@GlobalScope_constant_TYPE_VECTOR2:
  2343. .. rst-class:: classref-enumeration-constant
  2344. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR2** = ``5``
  2345. Variable is of type :ref:`Vector2<class_Vector2>`.
  2346. .. _class_@GlobalScope_constant_TYPE_VECTOR2I:
  2347. .. rst-class:: classref-enumeration-constant
  2348. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR2I** = ``6``
  2349. Variable is of type :ref:`Vector2i<class_Vector2i>`.
  2350. .. _class_@GlobalScope_constant_TYPE_RECT2:
  2351. .. rst-class:: classref-enumeration-constant
  2352. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_RECT2** = ``7``
  2353. Variable is of type :ref:`Rect2<class_Rect2>`.
  2354. .. _class_@GlobalScope_constant_TYPE_RECT2I:
  2355. .. rst-class:: classref-enumeration-constant
  2356. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_RECT2I** = ``8``
  2357. Variable is of type :ref:`Rect2i<class_Rect2i>`.
  2358. .. _class_@GlobalScope_constant_TYPE_VECTOR3:
  2359. .. rst-class:: classref-enumeration-constant
  2360. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR3** = ``9``
  2361. Variable is of type :ref:`Vector3<class_Vector3>`.
  2362. .. _class_@GlobalScope_constant_TYPE_VECTOR3I:
  2363. .. rst-class:: classref-enumeration-constant
  2364. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR3I** = ``10``
  2365. Variable is of type :ref:`Vector3i<class_Vector3i>`.
  2366. .. _class_@GlobalScope_constant_TYPE_TRANSFORM2D:
  2367. .. rst-class:: classref-enumeration-constant
  2368. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_TRANSFORM2D** = ``11``
  2369. Variable is of type :ref:`Transform2D<class_Transform2D>`.
  2370. .. _class_@GlobalScope_constant_TYPE_VECTOR4:
  2371. .. rst-class:: classref-enumeration-constant
  2372. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR4** = ``12``
  2373. Variable is of type :ref:`Vector4<class_Vector4>`.
  2374. .. _class_@GlobalScope_constant_TYPE_VECTOR4I:
  2375. .. rst-class:: classref-enumeration-constant
  2376. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR4I** = ``13``
  2377. Variable is of type :ref:`Vector4i<class_Vector4i>`.
  2378. .. _class_@GlobalScope_constant_TYPE_PLANE:
  2379. .. rst-class:: classref-enumeration-constant
  2380. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PLANE** = ``14``
  2381. Variable is of type :ref:`Plane<class_Plane>`.
  2382. .. _class_@GlobalScope_constant_TYPE_QUATERNION:
  2383. .. rst-class:: classref-enumeration-constant
  2384. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_QUATERNION** = ``15``
  2385. Variable is of type :ref:`Quaternion<class_Quaternion>`.
  2386. .. _class_@GlobalScope_constant_TYPE_AABB:
  2387. .. rst-class:: classref-enumeration-constant
  2388. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_AABB** = ``16``
  2389. Variable is of type :ref:`AABB<class_AABB>`.
  2390. .. _class_@GlobalScope_constant_TYPE_BASIS:
  2391. .. rst-class:: classref-enumeration-constant
  2392. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_BASIS** = ``17``
  2393. Variable is of type :ref:`Basis<class_Basis>`.
  2394. .. _class_@GlobalScope_constant_TYPE_TRANSFORM3D:
  2395. .. rst-class:: classref-enumeration-constant
  2396. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_TRANSFORM3D** = ``18``
  2397. Variable is of type :ref:`Transform3D<class_Transform3D>`.
  2398. .. _class_@GlobalScope_constant_TYPE_PROJECTION:
  2399. .. rst-class:: classref-enumeration-constant
  2400. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PROJECTION** = ``19``
  2401. Variable is of type :ref:`Projection<class_Projection>`.
  2402. .. _class_@GlobalScope_constant_TYPE_COLOR:
  2403. .. rst-class:: classref-enumeration-constant
  2404. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_COLOR** = ``20``
  2405. Variable is of type :ref:`Color<class_Color>`.
  2406. .. _class_@GlobalScope_constant_TYPE_STRING_NAME:
  2407. .. rst-class:: classref-enumeration-constant
  2408. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_STRING_NAME** = ``21``
  2409. Variable is of type :ref:`StringName<class_StringName>`.
  2410. .. _class_@GlobalScope_constant_TYPE_NODE_PATH:
  2411. .. rst-class:: classref-enumeration-constant
  2412. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_NODE_PATH** = ``22``
  2413. Variable is of type :ref:`NodePath<class_NodePath>`.
  2414. .. _class_@GlobalScope_constant_TYPE_RID:
  2415. .. rst-class:: classref-enumeration-constant
  2416. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_RID** = ``23``
  2417. Variable is of type :ref:`RID<class_RID>`.
  2418. .. _class_@GlobalScope_constant_TYPE_OBJECT:
  2419. .. rst-class:: classref-enumeration-constant
  2420. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_OBJECT** = ``24``
  2421. Variable is of type :ref:`Object<class_Object>`.
  2422. .. _class_@GlobalScope_constant_TYPE_CALLABLE:
  2423. .. rst-class:: classref-enumeration-constant
  2424. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_CALLABLE** = ``25``
  2425. Variable is of type :ref:`Callable<class_Callable>`.
  2426. .. _class_@GlobalScope_constant_TYPE_SIGNAL:
  2427. .. rst-class:: classref-enumeration-constant
  2428. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_SIGNAL** = ``26``
  2429. Variable is of type :ref:`Signal<class_Signal>`.
  2430. .. _class_@GlobalScope_constant_TYPE_DICTIONARY:
  2431. .. rst-class:: classref-enumeration-constant
  2432. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_DICTIONARY** = ``27``
  2433. Variable is of type :ref:`Dictionary<class_Dictionary>`.
  2434. .. _class_@GlobalScope_constant_TYPE_ARRAY:
  2435. .. rst-class:: classref-enumeration-constant
  2436. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_ARRAY** = ``28``
  2437. Variable is of type :ref:`Array<class_Array>`.
  2438. .. _class_@GlobalScope_constant_TYPE_PACKED_BYTE_ARRAY:
  2439. .. rst-class:: classref-enumeration-constant
  2440. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_BYTE_ARRAY** = ``29``
  2441. Variable is of type :ref:`PackedByteArray<class_PackedByteArray>`.
  2442. .. _class_@GlobalScope_constant_TYPE_PACKED_INT32_ARRAY:
  2443. .. rst-class:: classref-enumeration-constant
  2444. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_INT32_ARRAY** = ``30``
  2445. Variable is of type :ref:`PackedInt32Array<class_PackedInt32Array>`.
  2446. .. _class_@GlobalScope_constant_TYPE_PACKED_INT64_ARRAY:
  2447. .. rst-class:: classref-enumeration-constant
  2448. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_INT64_ARRAY** = ``31``
  2449. Variable is of type :ref:`PackedInt64Array<class_PackedInt64Array>`.
  2450. .. _class_@GlobalScope_constant_TYPE_PACKED_FLOAT32_ARRAY:
  2451. .. rst-class:: classref-enumeration-constant
  2452. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_FLOAT32_ARRAY** = ``32``
  2453. Variable is of type :ref:`PackedFloat32Array<class_PackedFloat32Array>`.
  2454. .. _class_@GlobalScope_constant_TYPE_PACKED_FLOAT64_ARRAY:
  2455. .. rst-class:: classref-enumeration-constant
  2456. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_FLOAT64_ARRAY** = ``33``
  2457. Variable is of type :ref:`PackedFloat64Array<class_PackedFloat64Array>`.
  2458. .. _class_@GlobalScope_constant_TYPE_PACKED_STRING_ARRAY:
  2459. .. rst-class:: classref-enumeration-constant
  2460. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_STRING_ARRAY** = ``34``
  2461. Variable is of type :ref:`PackedStringArray<class_PackedStringArray>`.
  2462. .. _class_@GlobalScope_constant_TYPE_PACKED_VECTOR2_ARRAY:
  2463. .. rst-class:: classref-enumeration-constant
  2464. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_VECTOR2_ARRAY** = ``35``
  2465. Variable is of type :ref:`PackedVector2Array<class_PackedVector2Array>`.
  2466. .. _class_@GlobalScope_constant_TYPE_PACKED_VECTOR3_ARRAY:
  2467. .. rst-class:: classref-enumeration-constant
  2468. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_VECTOR3_ARRAY** = ``36``
  2469. Variable is of type :ref:`PackedVector3Array<class_PackedVector3Array>`.
  2470. .. _class_@GlobalScope_constant_TYPE_PACKED_COLOR_ARRAY:
  2471. .. rst-class:: classref-enumeration-constant
  2472. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_COLOR_ARRAY** = ``37``
  2473. Variable is of type :ref:`PackedColorArray<class_PackedColorArray>`.
  2474. .. _class_@GlobalScope_constant_TYPE_PACKED_VECTOR4_ARRAY:
  2475. .. rst-class:: classref-enumeration-constant
  2476. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_VECTOR4_ARRAY** = ``38``
  2477. Variable is of type :ref:`PackedVector4Array<class_PackedVector4Array>`.
  2478. .. _class_@GlobalScope_constant_TYPE_MAX:
  2479. .. rst-class:: classref-enumeration-constant
  2480. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_MAX** = ``39``
  2481. Represents the size of the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` enum.
  2482. .. rst-class:: classref-item-separator
  2483. ----
  2484. .. _enum_@GlobalScope_Variant.Operator:
  2485. .. rst-class:: classref-enumeration
  2486. enum **Variant.Operator**: :ref:`🔗<enum_@GlobalScope_Variant.Operator>`
  2487. .. _class_@GlobalScope_constant_OP_EQUAL:
  2488. .. rst-class:: classref-enumeration-constant
  2489. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_EQUAL** = ``0``
  2490. Equality operator (``==``).
  2491. .. _class_@GlobalScope_constant_OP_NOT_EQUAL:
  2492. .. rst-class:: classref-enumeration-constant
  2493. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_NOT_EQUAL** = ``1``
  2494. Inequality operator (``!=``).
  2495. .. _class_@GlobalScope_constant_OP_LESS:
  2496. .. rst-class:: classref-enumeration-constant
  2497. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_LESS** = ``2``
  2498. Less than operator (``<``).
  2499. .. _class_@GlobalScope_constant_OP_LESS_EQUAL:
  2500. .. rst-class:: classref-enumeration-constant
  2501. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_LESS_EQUAL** = ``3``
  2502. Less than or equal operator (``<=``).
  2503. .. _class_@GlobalScope_constant_OP_GREATER:
  2504. .. rst-class:: classref-enumeration-constant
  2505. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_GREATER** = ``4``
  2506. Greater than operator (``>``).
  2507. .. _class_@GlobalScope_constant_OP_GREATER_EQUAL:
  2508. .. rst-class:: classref-enumeration-constant
  2509. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_GREATER_EQUAL** = ``5``
  2510. Greater than or equal operator (``>=``).
  2511. .. _class_@GlobalScope_constant_OP_ADD:
  2512. .. rst-class:: classref-enumeration-constant
  2513. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_ADD** = ``6``
  2514. Addition operator (``+``).
  2515. .. _class_@GlobalScope_constant_OP_SUBTRACT:
  2516. .. rst-class:: classref-enumeration-constant
  2517. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_SUBTRACT** = ``7``
  2518. Subtraction operator (``-``).
  2519. .. _class_@GlobalScope_constant_OP_MULTIPLY:
  2520. .. rst-class:: classref-enumeration-constant
  2521. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_MULTIPLY** = ``8``
  2522. Multiplication operator (``*``).
  2523. .. _class_@GlobalScope_constant_OP_DIVIDE:
  2524. .. rst-class:: classref-enumeration-constant
  2525. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_DIVIDE** = ``9``
  2526. Division operator (``/``).
  2527. .. _class_@GlobalScope_constant_OP_NEGATE:
  2528. .. rst-class:: classref-enumeration-constant
  2529. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_NEGATE** = ``10``
  2530. Unary negation operator (``-``).
  2531. .. _class_@GlobalScope_constant_OP_POSITIVE:
  2532. .. rst-class:: classref-enumeration-constant
  2533. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_POSITIVE** = ``11``
  2534. Unary plus operator (``+``).
  2535. .. _class_@GlobalScope_constant_OP_MODULE:
  2536. .. rst-class:: classref-enumeration-constant
  2537. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_MODULE** = ``12``
  2538. Remainder/modulo operator (``%``).
  2539. .. _class_@GlobalScope_constant_OP_POWER:
  2540. .. rst-class:: classref-enumeration-constant
  2541. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_POWER** = ``13``
  2542. Power operator (``**``).
  2543. .. _class_@GlobalScope_constant_OP_SHIFT_LEFT:
  2544. .. rst-class:: classref-enumeration-constant
  2545. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_SHIFT_LEFT** = ``14``
  2546. Left shift operator (``<<``).
  2547. .. _class_@GlobalScope_constant_OP_SHIFT_RIGHT:
  2548. .. rst-class:: classref-enumeration-constant
  2549. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_SHIFT_RIGHT** = ``15``
  2550. Right shift operator (``>>``).
  2551. .. _class_@GlobalScope_constant_OP_BIT_AND:
  2552. .. rst-class:: classref-enumeration-constant
  2553. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_BIT_AND** = ``16``
  2554. Bitwise AND operator (``&``).
  2555. .. _class_@GlobalScope_constant_OP_BIT_OR:
  2556. .. rst-class:: classref-enumeration-constant
  2557. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_BIT_OR** = ``17``
  2558. Bitwise OR operator (``|``).
  2559. .. _class_@GlobalScope_constant_OP_BIT_XOR:
  2560. .. rst-class:: classref-enumeration-constant
  2561. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_BIT_XOR** = ``18``
  2562. Bitwise XOR operator (``^``).
  2563. .. _class_@GlobalScope_constant_OP_BIT_NEGATE:
  2564. .. rst-class:: classref-enumeration-constant
  2565. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_BIT_NEGATE** = ``19``
  2566. Bitwise NOT operator (``~``).
  2567. .. _class_@GlobalScope_constant_OP_AND:
  2568. .. rst-class:: classref-enumeration-constant
  2569. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_AND** = ``20``
  2570. Logical AND operator (``and`` or ``&&``).
  2571. .. _class_@GlobalScope_constant_OP_OR:
  2572. .. rst-class:: classref-enumeration-constant
  2573. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_OR** = ``21``
  2574. Logical OR operator (``or`` or ``||``).
  2575. .. _class_@GlobalScope_constant_OP_XOR:
  2576. .. rst-class:: classref-enumeration-constant
  2577. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_XOR** = ``22``
  2578. Logical XOR operator (not implemented in GDScript).
  2579. .. _class_@GlobalScope_constant_OP_NOT:
  2580. .. rst-class:: classref-enumeration-constant
  2581. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_NOT** = ``23``
  2582. Logical NOT operator (``not`` or ``!``).
  2583. .. _class_@GlobalScope_constant_OP_IN:
  2584. .. rst-class:: classref-enumeration-constant
  2585. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_IN** = ``24``
  2586. Logical IN operator (``in``).
  2587. .. _class_@GlobalScope_constant_OP_MAX:
  2588. .. rst-class:: classref-enumeration-constant
  2589. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_MAX** = ``25``
  2590. Represents the size of the :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` enum.
  2591. .. rst-class:: classref-section-separator
  2592. ----
  2593. .. rst-class:: classref-descriptions-group
  2594. Property Descriptions
  2595. ---------------------
  2596. .. _class_@GlobalScope_property_AudioServer:
  2597. .. rst-class:: classref-property
  2598. :ref:`AudioServer<class_AudioServer>` **AudioServer** :ref:`🔗<class_@GlobalScope_property_AudioServer>`
  2599. The :ref:`AudioServer<class_AudioServer>` singleton.
  2600. .. rst-class:: classref-item-separator
  2601. ----
  2602. .. _class_@GlobalScope_property_CameraServer:
  2603. .. rst-class:: classref-property
  2604. :ref:`CameraServer<class_CameraServer>` **CameraServer** :ref:`🔗<class_@GlobalScope_property_CameraServer>`
  2605. The :ref:`CameraServer<class_CameraServer>` singleton.
  2606. .. rst-class:: classref-item-separator
  2607. ----
  2608. .. _class_@GlobalScope_property_ClassDB:
  2609. .. rst-class:: classref-property
  2610. :ref:`ClassDB<class_ClassDB>` **ClassDB** :ref:`🔗<class_@GlobalScope_property_ClassDB>`
  2611. The :ref:`ClassDB<class_ClassDB>` singleton.
  2612. .. rst-class:: classref-item-separator
  2613. ----
  2614. .. _class_@GlobalScope_property_DisplayServer:
  2615. .. rst-class:: classref-property
  2616. :ref:`DisplayServer<class_DisplayServer>` **DisplayServer** :ref:`🔗<class_@GlobalScope_property_DisplayServer>`
  2617. The :ref:`DisplayServer<class_DisplayServer>` singleton.
  2618. .. rst-class:: classref-item-separator
  2619. ----
  2620. .. _class_@GlobalScope_property_EditorInterface:
  2621. .. rst-class:: classref-property
  2622. :ref:`EditorInterface<class_EditorInterface>` **EditorInterface** :ref:`🔗<class_@GlobalScope_property_EditorInterface>`
  2623. The :ref:`EditorInterface<class_EditorInterface>` singleton.
  2624. \ **Note:** Only available in editor builds.
  2625. .. rst-class:: classref-item-separator
  2626. ----
  2627. .. _class_@GlobalScope_property_Engine:
  2628. .. rst-class:: classref-property
  2629. :ref:`Engine<class_Engine>` **Engine** :ref:`🔗<class_@GlobalScope_property_Engine>`
  2630. The :ref:`Engine<class_Engine>` singleton.
  2631. .. rst-class:: classref-item-separator
  2632. ----
  2633. .. _class_@GlobalScope_property_EngineDebugger:
  2634. .. rst-class:: classref-property
  2635. :ref:`EngineDebugger<class_EngineDebugger>` **EngineDebugger** :ref:`🔗<class_@GlobalScope_property_EngineDebugger>`
  2636. The :ref:`EngineDebugger<class_EngineDebugger>` singleton.
  2637. .. rst-class:: classref-item-separator
  2638. ----
  2639. .. _class_@GlobalScope_property_GDExtensionManager:
  2640. .. rst-class:: classref-property
  2641. :ref:`GDExtensionManager<class_GDExtensionManager>` **GDExtensionManager** :ref:`🔗<class_@GlobalScope_property_GDExtensionManager>`
  2642. The :ref:`GDExtensionManager<class_GDExtensionManager>` singleton.
  2643. .. rst-class:: classref-item-separator
  2644. ----
  2645. .. _class_@GlobalScope_property_Geometry2D:
  2646. .. rst-class:: classref-property
  2647. :ref:`Geometry2D<class_Geometry2D>` **Geometry2D** :ref:`🔗<class_@GlobalScope_property_Geometry2D>`
  2648. The :ref:`Geometry2D<class_Geometry2D>` singleton.
  2649. .. rst-class:: classref-item-separator
  2650. ----
  2651. .. _class_@GlobalScope_property_Geometry3D:
  2652. .. rst-class:: classref-property
  2653. :ref:`Geometry3D<class_Geometry3D>` **Geometry3D** :ref:`🔗<class_@GlobalScope_property_Geometry3D>`
  2654. The :ref:`Geometry3D<class_Geometry3D>` singleton.
  2655. .. rst-class:: classref-item-separator
  2656. ----
  2657. .. _class_@GlobalScope_property_IP:
  2658. .. rst-class:: classref-property
  2659. :ref:`IP<class_IP>` **IP** :ref:`🔗<class_@GlobalScope_property_IP>`
  2660. The :ref:`IP<class_IP>` singleton.
  2661. .. rst-class:: classref-item-separator
  2662. ----
  2663. .. _class_@GlobalScope_property_Input:
  2664. .. rst-class:: classref-property
  2665. :ref:`Input<class_Input>` **Input** :ref:`🔗<class_@GlobalScope_property_Input>`
  2666. The :ref:`Input<class_Input>` singleton.
  2667. .. rst-class:: classref-item-separator
  2668. ----
  2669. .. _class_@GlobalScope_property_InputMap:
  2670. .. rst-class:: classref-property
  2671. :ref:`InputMap<class_InputMap>` **InputMap** :ref:`🔗<class_@GlobalScope_property_InputMap>`
  2672. The :ref:`InputMap<class_InputMap>` singleton.
  2673. .. rst-class:: classref-item-separator
  2674. ----
  2675. .. _class_@GlobalScope_property_JavaClassWrapper:
  2676. .. rst-class:: classref-property
  2677. :ref:`JavaClassWrapper<class_JavaClassWrapper>` **JavaClassWrapper** :ref:`🔗<class_@GlobalScope_property_JavaClassWrapper>`
  2678. The :ref:`JavaClassWrapper<class_JavaClassWrapper>` singleton.
  2679. \ **Note:** Only implemented on Android.
  2680. .. rst-class:: classref-item-separator
  2681. ----
  2682. .. _class_@GlobalScope_property_JavaScriptBridge:
  2683. .. rst-class:: classref-property
  2684. :ref:`JavaScriptBridge<class_JavaScriptBridge>` **JavaScriptBridge** :ref:`🔗<class_@GlobalScope_property_JavaScriptBridge>`
  2685. The :ref:`JavaScriptBridge<class_JavaScriptBridge>` singleton.
  2686. \ **Note:** Only implemented on the Web platform.
  2687. .. rst-class:: classref-item-separator
  2688. ----
  2689. .. _class_@GlobalScope_property_Marshalls:
  2690. .. rst-class:: classref-property
  2691. :ref:`Marshalls<class_Marshalls>` **Marshalls** :ref:`🔗<class_@GlobalScope_property_Marshalls>`
  2692. The :ref:`Marshalls<class_Marshalls>` singleton.
  2693. .. rst-class:: classref-item-separator
  2694. ----
  2695. .. _class_@GlobalScope_property_NativeMenu:
  2696. .. rst-class:: classref-property
  2697. :ref:`NativeMenu<class_NativeMenu>` **NativeMenu** :ref:`🔗<class_@GlobalScope_property_NativeMenu>`
  2698. The :ref:`NativeMenu<class_NativeMenu>` singleton.
  2699. \ **Note:** Only implemented on macOS.
  2700. .. rst-class:: classref-item-separator
  2701. ----
  2702. .. _class_@GlobalScope_property_NavigationMeshGenerator:
  2703. .. rst-class:: classref-property
  2704. :ref:`NavigationMeshGenerator<class_NavigationMeshGenerator>` **NavigationMeshGenerator** :ref:`🔗<class_@GlobalScope_property_NavigationMeshGenerator>`
  2705. The :ref:`NavigationMeshGenerator<class_NavigationMeshGenerator>` singleton.
  2706. .. rst-class:: classref-item-separator
  2707. ----
  2708. .. _class_@GlobalScope_property_NavigationServer2D:
  2709. .. rst-class:: classref-property
  2710. :ref:`NavigationServer2D<class_NavigationServer2D>` **NavigationServer2D** :ref:`🔗<class_@GlobalScope_property_NavigationServer2D>`
  2711. The :ref:`NavigationServer2D<class_NavigationServer2D>` singleton.
  2712. .. rst-class:: classref-item-separator
  2713. ----
  2714. .. _class_@GlobalScope_property_NavigationServer2DManager:
  2715. .. rst-class:: classref-property
  2716. :ref:`NavigationServer2DManager<class_NavigationServer2DManager>` **NavigationServer2DManager** :ref:`🔗<class_@GlobalScope_property_NavigationServer2DManager>`
  2717. The :ref:`NavigationServer2DManager<class_NavigationServer2DManager>` singleton.
  2718. .. rst-class:: classref-item-separator
  2719. ----
  2720. .. _class_@GlobalScope_property_NavigationServer3D:
  2721. .. rst-class:: classref-property
  2722. :ref:`NavigationServer3D<class_NavigationServer3D>` **NavigationServer3D** :ref:`🔗<class_@GlobalScope_property_NavigationServer3D>`
  2723. The :ref:`NavigationServer3D<class_NavigationServer3D>` singleton.
  2724. .. rst-class:: classref-item-separator
  2725. ----
  2726. .. _class_@GlobalScope_property_NavigationServer3DManager:
  2727. .. rst-class:: classref-property
  2728. :ref:`NavigationServer3DManager<class_NavigationServer3DManager>` **NavigationServer3DManager** :ref:`🔗<class_@GlobalScope_property_NavigationServer3DManager>`
  2729. The :ref:`NavigationServer3DManager<class_NavigationServer3DManager>` singleton.
  2730. .. rst-class:: classref-item-separator
  2731. ----
  2732. .. _class_@GlobalScope_property_OS:
  2733. .. rst-class:: classref-property
  2734. :ref:`OS<class_OS>` **OS** :ref:`🔗<class_@GlobalScope_property_OS>`
  2735. The :ref:`OS<class_OS>` singleton.
  2736. .. rst-class:: classref-item-separator
  2737. ----
  2738. .. _class_@GlobalScope_property_Performance:
  2739. .. rst-class:: classref-property
  2740. :ref:`Performance<class_Performance>` **Performance** :ref:`🔗<class_@GlobalScope_property_Performance>`
  2741. The :ref:`Performance<class_Performance>` singleton.
  2742. .. rst-class:: classref-item-separator
  2743. ----
  2744. .. _class_@GlobalScope_property_PhysicsServer2D:
  2745. .. rst-class:: classref-property
  2746. :ref:`PhysicsServer2D<class_PhysicsServer2D>` **PhysicsServer2D** :ref:`🔗<class_@GlobalScope_property_PhysicsServer2D>`
  2747. The :ref:`PhysicsServer2D<class_PhysicsServer2D>` singleton.
  2748. .. rst-class:: classref-item-separator
  2749. ----
  2750. .. _class_@GlobalScope_property_PhysicsServer2DManager:
  2751. .. rst-class:: classref-property
  2752. :ref:`PhysicsServer2DManager<class_PhysicsServer2DManager>` **PhysicsServer2DManager** :ref:`🔗<class_@GlobalScope_property_PhysicsServer2DManager>`
  2753. The :ref:`PhysicsServer2DManager<class_PhysicsServer2DManager>` singleton.
  2754. .. rst-class:: classref-item-separator
  2755. ----
  2756. .. _class_@GlobalScope_property_PhysicsServer3D:
  2757. .. rst-class:: classref-property
  2758. :ref:`PhysicsServer3D<class_PhysicsServer3D>` **PhysicsServer3D** :ref:`🔗<class_@GlobalScope_property_PhysicsServer3D>`
  2759. The :ref:`PhysicsServer3D<class_PhysicsServer3D>` singleton.
  2760. .. rst-class:: classref-item-separator
  2761. ----
  2762. .. _class_@GlobalScope_property_PhysicsServer3DManager:
  2763. .. rst-class:: classref-property
  2764. :ref:`PhysicsServer3DManager<class_PhysicsServer3DManager>` **PhysicsServer3DManager** :ref:`🔗<class_@GlobalScope_property_PhysicsServer3DManager>`
  2765. The :ref:`PhysicsServer3DManager<class_PhysicsServer3DManager>` singleton.
  2766. .. rst-class:: classref-item-separator
  2767. ----
  2768. .. _class_@GlobalScope_property_ProjectSettings:
  2769. .. rst-class:: classref-property
  2770. :ref:`ProjectSettings<class_ProjectSettings>` **ProjectSettings** :ref:`🔗<class_@GlobalScope_property_ProjectSettings>`
  2771. The :ref:`ProjectSettings<class_ProjectSettings>` singleton.
  2772. .. rst-class:: classref-item-separator
  2773. ----
  2774. .. _class_@GlobalScope_property_RenderingServer:
  2775. .. rst-class:: classref-property
  2776. :ref:`RenderingServer<class_RenderingServer>` **RenderingServer** :ref:`🔗<class_@GlobalScope_property_RenderingServer>`
  2777. The :ref:`RenderingServer<class_RenderingServer>` singleton.
  2778. .. rst-class:: classref-item-separator
  2779. ----
  2780. .. _class_@GlobalScope_property_ResourceLoader:
  2781. .. rst-class:: classref-property
  2782. :ref:`ResourceLoader<class_ResourceLoader>` **ResourceLoader** :ref:`🔗<class_@GlobalScope_property_ResourceLoader>`
  2783. The :ref:`ResourceLoader<class_ResourceLoader>` singleton.
  2784. .. rst-class:: classref-item-separator
  2785. ----
  2786. .. _class_@GlobalScope_property_ResourceSaver:
  2787. .. rst-class:: classref-property
  2788. :ref:`ResourceSaver<class_ResourceSaver>` **ResourceSaver** :ref:`🔗<class_@GlobalScope_property_ResourceSaver>`
  2789. The :ref:`ResourceSaver<class_ResourceSaver>` singleton.
  2790. .. rst-class:: classref-item-separator
  2791. ----
  2792. .. _class_@GlobalScope_property_ResourceUID:
  2793. .. rst-class:: classref-property
  2794. :ref:`ResourceUID<class_ResourceUID>` **ResourceUID** :ref:`🔗<class_@GlobalScope_property_ResourceUID>`
  2795. The :ref:`ResourceUID<class_ResourceUID>` singleton.
  2796. .. rst-class:: classref-item-separator
  2797. ----
  2798. .. _class_@GlobalScope_property_TextServerManager:
  2799. .. rst-class:: classref-property
  2800. :ref:`TextServerManager<class_TextServerManager>` **TextServerManager** :ref:`🔗<class_@GlobalScope_property_TextServerManager>`
  2801. The :ref:`TextServerManager<class_TextServerManager>` singleton.
  2802. .. rst-class:: classref-item-separator
  2803. ----
  2804. .. _class_@GlobalScope_property_ThemeDB:
  2805. .. rst-class:: classref-property
  2806. :ref:`ThemeDB<class_ThemeDB>` **ThemeDB** :ref:`🔗<class_@GlobalScope_property_ThemeDB>`
  2807. The :ref:`ThemeDB<class_ThemeDB>` singleton.
  2808. .. rst-class:: classref-item-separator
  2809. ----
  2810. .. _class_@GlobalScope_property_Time:
  2811. .. rst-class:: classref-property
  2812. :ref:`Time<class_Time>` **Time** :ref:`🔗<class_@GlobalScope_property_Time>`
  2813. The :ref:`Time<class_Time>` singleton.
  2814. .. rst-class:: classref-item-separator
  2815. ----
  2816. .. _class_@GlobalScope_property_TranslationServer:
  2817. .. rst-class:: classref-property
  2818. :ref:`TranslationServer<class_TranslationServer>` **TranslationServer** :ref:`🔗<class_@GlobalScope_property_TranslationServer>`
  2819. The :ref:`TranslationServer<class_TranslationServer>` singleton.
  2820. .. rst-class:: classref-item-separator
  2821. ----
  2822. .. _class_@GlobalScope_property_WorkerThreadPool:
  2823. .. rst-class:: classref-property
  2824. :ref:`WorkerThreadPool<class_WorkerThreadPool>` **WorkerThreadPool** :ref:`🔗<class_@GlobalScope_property_WorkerThreadPool>`
  2825. The :ref:`WorkerThreadPool<class_WorkerThreadPool>` singleton.
  2826. .. rst-class:: classref-item-separator
  2827. ----
  2828. .. _class_@GlobalScope_property_XRServer:
  2829. .. rst-class:: classref-property
  2830. :ref:`XRServer<class_XRServer>` **XRServer** :ref:`🔗<class_@GlobalScope_property_XRServer>`
  2831. The :ref:`XRServer<class_XRServer>` singleton.
  2832. .. rst-class:: classref-section-separator
  2833. ----
  2834. .. rst-class:: classref-descriptions-group
  2835. Method Descriptions
  2836. -------------------
  2837. .. _class_@GlobalScope_method_abs:
  2838. .. rst-class:: classref-method
  2839. :ref:`Variant<class_Variant>` **abs**\ (\ x\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_abs>`
  2840. Returns the absolute value of a :ref:`Variant<class_Variant>` parameter ``x`` (i.e. non-negative value). Supported types: :ref:`int<class_int>`, :ref:`float<class_float>`, :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>`, :ref:`Vector3i<class_Vector3i>`, :ref:`Vector4<class_Vector4>`, :ref:`Vector4i<class_Vector4i>`.
  2841. ::
  2842. var a = abs(-1)
  2843. # a is 1
  2844. var b = abs(-1.2)
  2845. # b is 1.2
  2846. var c = abs(Vector2(-3.5, -4))
  2847. # c is (3.5, 4)
  2848. var d = abs(Vector2i(-5, -6))
  2849. # d is (5, 6)
  2850. var e = abs(Vector3(-7, 8.5, -3.8))
  2851. # e is (7, 8.5, 3.8)
  2852. var f = abs(Vector3i(-7, -8, -9))
  2853. # f is (7, 8, 9)
  2854. \ **Note:** For better type safety, use :ref:`absf()<class_@GlobalScope_method_absf>`, :ref:`absi()<class_@GlobalScope_method_absi>`, :ref:`Vector2.abs()<class_Vector2_method_abs>`, :ref:`Vector2i.abs()<class_Vector2i_method_abs>`, :ref:`Vector3.abs()<class_Vector3_method_abs>`, :ref:`Vector3i.abs()<class_Vector3i_method_abs>`, :ref:`Vector4.abs()<class_Vector4_method_abs>`, or :ref:`Vector4i.abs()<class_Vector4i_method_abs>`.
  2855. .. rst-class:: classref-item-separator
  2856. ----
  2857. .. _class_@GlobalScope_method_absf:
  2858. .. rst-class:: classref-method
  2859. :ref:`float<class_float>` **absf**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_absf>`
  2860. Returns the absolute value of float parameter ``x`` (i.e. positive value).
  2861. ::
  2862. # a is 1.2
  2863. var a = absf(-1.2)
  2864. .. rst-class:: classref-item-separator
  2865. ----
  2866. .. _class_@GlobalScope_method_absi:
  2867. .. rst-class:: classref-method
  2868. :ref:`int<class_int>` **absi**\ (\ x\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_absi>`
  2869. Returns the absolute value of int parameter ``x`` (i.e. positive value).
  2870. ::
  2871. # a is 1
  2872. var a = absi(-1)
  2873. .. rst-class:: classref-item-separator
  2874. ----
  2875. .. _class_@GlobalScope_method_acos:
  2876. .. rst-class:: classref-method
  2877. :ref:`float<class_float>` **acos**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_acos>`
  2878. Returns the arc cosine of ``x`` in radians. Use to get the angle of cosine ``x``. ``x`` will be clamped between ``-1.0`` and ``1.0`` (inclusive), in order to prevent :ref:`acos()<class_@GlobalScope_method_acos>` from returning :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>`.
  2879. ::
  2880. # c is 0.523599 or 30 degrees if converted with rad_to_deg(c)
  2881. var c = acos(0.866025)
  2882. .. rst-class:: classref-item-separator
  2883. ----
  2884. .. _class_@GlobalScope_method_acosh:
  2885. .. rst-class:: classref-method
  2886. :ref:`float<class_float>` **acosh**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_acosh>`
  2887. Returns the hyperbolic arc (also called inverse) cosine of ``x``, returning a value in radians. Use it to get the angle from an angle's cosine in hyperbolic space if ``x`` is larger or equal to 1. For values of ``x`` lower than 1, it will return 0, in order to prevent :ref:`acosh()<class_@GlobalScope_method_acosh>` from returning :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>`.
  2888. ::
  2889. var a = acosh(2) # Returns 1.31695789692482
  2890. cosh(a) # Returns 2
  2891. var b = acosh(-1) # Returns 0
  2892. .. rst-class:: classref-item-separator
  2893. ----
  2894. .. _class_@GlobalScope_method_angle_difference:
  2895. .. rst-class:: classref-method
  2896. :ref:`float<class_float>` **angle_difference**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_angle_difference>`
  2897. Returns the difference between the two angles (in radians), in the range of ``[-PI, +PI]``. When ``from`` and ``to`` are opposite, returns ``-PI`` if ``from`` is smaller than ``to``, or ``PI`` otherwise.
  2898. .. rst-class:: classref-item-separator
  2899. ----
  2900. .. _class_@GlobalScope_method_asin:
  2901. .. rst-class:: classref-method
  2902. :ref:`float<class_float>` **asin**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_asin>`
  2903. Returns the arc sine of ``x`` in radians. Use to get the angle of sine ``x``. ``x`` will be clamped between ``-1.0`` and ``1.0`` (inclusive), in order to prevent :ref:`asin()<class_@GlobalScope_method_asin>` from returning :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>`.
  2904. ::
  2905. # s is 0.523599 or 30 degrees if converted with rad_to_deg(s)
  2906. var s = asin(0.5)
  2907. .. rst-class:: classref-item-separator
  2908. ----
  2909. .. _class_@GlobalScope_method_asinh:
  2910. .. rst-class:: classref-method
  2911. :ref:`float<class_float>` **asinh**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_asinh>`
  2912. Returns the hyperbolic arc (also called inverse) sine of ``x``, returning a value in radians. Use it to get the angle from an angle's sine in hyperbolic space.
  2913. ::
  2914. var a = asinh(0.9) # Returns 0.8088669356527824
  2915. sinh(a) # Returns 0.9
  2916. .. rst-class:: classref-item-separator
  2917. ----
  2918. .. _class_@GlobalScope_method_atan:
  2919. .. rst-class:: classref-method
  2920. :ref:`float<class_float>` **atan**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_atan>`
  2921. Returns the arc tangent of ``x`` in radians. Use it to get the angle from an angle's tangent in trigonometry.
  2922. The method cannot know in which quadrant the angle should fall. See :ref:`atan2()<class_@GlobalScope_method_atan2>` if you have both ``y`` and ``x``.
  2923. ::
  2924. var a = atan(0.5) # a is 0.463648
  2925. If ``x`` is between ``-PI / 2`` and ``PI / 2`` (inclusive), ``atan(tan(x))`` is equal to ``x``.
  2926. .. rst-class:: classref-item-separator
  2927. ----
  2928. .. _class_@GlobalScope_method_atan2:
  2929. .. rst-class:: classref-method
  2930. :ref:`float<class_float>` **atan2**\ (\ y\: :ref:`float<class_float>`, x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_atan2>`
  2931. Returns the arc tangent of ``y/x`` in radians. Use to get the angle of tangent ``y/x``. To compute the value, the method takes into account the sign of both arguments in order to determine the quadrant.
  2932. Important note: The Y coordinate comes first, by convention.
  2933. ::
  2934. var a = atan2(0, -1) # a is 3.141593
  2935. .. rst-class:: classref-item-separator
  2936. ----
  2937. .. _class_@GlobalScope_method_atanh:
  2938. .. rst-class:: classref-method
  2939. :ref:`float<class_float>` **atanh**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_atanh>`
  2940. Returns the hyperbolic arc (also called inverse) tangent of ``x``, returning a value in radians. Use it to get the angle from an angle's tangent in hyperbolic space if ``x`` is between -1 and 1 (non-inclusive).
  2941. In mathematics, the inverse hyperbolic tangent is only defined for -1 < ``x`` < 1 in the real set, so values equal or lower to -1 for ``x`` return negative :ref:`@GDScript.INF<class_@GDScript_constant_INF>` and values equal or higher than 1 return positive :ref:`@GDScript.INF<class_@GDScript_constant_INF>` in order to prevent :ref:`atanh()<class_@GlobalScope_method_atanh>` from returning :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>`.
  2942. ::
  2943. var a = atanh(0.9) # Returns 1.47221948958322
  2944. tanh(a) # Returns 0.9
  2945. var b = atanh(-2) # Returns -inf
  2946. tanh(b) # Returns -1
  2947. .. rst-class:: classref-item-separator
  2948. ----
  2949. .. _class_@GlobalScope_method_bezier_derivative:
  2950. .. rst-class:: classref-method
  2951. :ref:`float<class_float>` **bezier_derivative**\ (\ start\: :ref:`float<class_float>`, control_1\: :ref:`float<class_float>`, control_2\: :ref:`float<class_float>`, end\: :ref:`float<class_float>`, t\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_bezier_derivative>`
  2952. Returns the derivative at the given ``t`` on a one-dimensional `Bézier curve <https://en.wikipedia.org/wiki/B%C3%A9zier_curve>`__ defined by the given ``control_1``, ``control_2``, and ``end`` points.
  2953. .. rst-class:: classref-item-separator
  2954. ----
  2955. .. _class_@GlobalScope_method_bezier_interpolate:
  2956. .. rst-class:: classref-method
  2957. :ref:`float<class_float>` **bezier_interpolate**\ (\ start\: :ref:`float<class_float>`, control_1\: :ref:`float<class_float>`, control_2\: :ref:`float<class_float>`, end\: :ref:`float<class_float>`, t\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_bezier_interpolate>`
  2958. Returns the point at the given ``t`` on a one-dimensional `Bézier curve <https://en.wikipedia.org/wiki/B%C3%A9zier_curve>`__ defined by the given ``control_1``, ``control_2``, and ``end`` points.
  2959. .. rst-class:: classref-item-separator
  2960. ----
  2961. .. _class_@GlobalScope_method_bytes_to_var:
  2962. .. rst-class:: classref-method
  2963. :ref:`Variant<class_Variant>` **bytes_to_var**\ (\ bytes\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) :ref:`🔗<class_@GlobalScope_method_bytes_to_var>`
  2964. Decodes a byte array back to a :ref:`Variant<class_Variant>` value, without decoding objects.
  2965. \ **Note:** If you need object deserialization, see :ref:`bytes_to_var_with_objects()<class_@GlobalScope_method_bytes_to_var_with_objects>`.
  2966. .. rst-class:: classref-item-separator
  2967. ----
  2968. .. _class_@GlobalScope_method_bytes_to_var_with_objects:
  2969. .. rst-class:: classref-method
  2970. :ref:`Variant<class_Variant>` **bytes_to_var_with_objects**\ (\ bytes\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) :ref:`🔗<class_@GlobalScope_method_bytes_to_var_with_objects>`
  2971. Decodes a byte array back to a :ref:`Variant<class_Variant>` value. Decoding objects is allowed.
  2972. \ **Warning:** Deserialized object can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats (remote code execution).
  2973. .. rst-class:: classref-item-separator
  2974. ----
  2975. .. _class_@GlobalScope_method_ceil:
  2976. .. rst-class:: classref-method
  2977. :ref:`Variant<class_Variant>` **ceil**\ (\ x\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_ceil>`
  2978. Rounds ``x`` upward (towards positive infinity), returning the smallest whole number that is not less than ``x``. Supported types: :ref:`int<class_int>`, :ref:`float<class_float>`, :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>`, :ref:`Vector3i<class_Vector3i>`, :ref:`Vector4<class_Vector4>`, :ref:`Vector4i<class_Vector4i>`.
  2979. ::
  2980. var i = ceil(1.45) # i is 2.0
  2981. i = ceil(1.001) # i is 2.0
  2982. See also :ref:`floor()<class_@GlobalScope_method_floor>`, :ref:`round()<class_@GlobalScope_method_round>`, and :ref:`snapped()<class_@GlobalScope_method_snapped>`.
  2983. \ **Note:** For better type safety, use :ref:`ceilf()<class_@GlobalScope_method_ceilf>`, :ref:`ceili()<class_@GlobalScope_method_ceili>`, :ref:`Vector2.ceil()<class_Vector2_method_ceil>`, :ref:`Vector3.ceil()<class_Vector3_method_ceil>`, or :ref:`Vector4.ceil()<class_Vector4_method_ceil>`.
  2984. .. rst-class:: classref-item-separator
  2985. ----
  2986. .. _class_@GlobalScope_method_ceilf:
  2987. .. rst-class:: classref-method
  2988. :ref:`float<class_float>` **ceilf**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_ceilf>`
  2989. Rounds ``x`` upward (towards positive infinity), returning the smallest whole number that is not less than ``x``.
  2990. A type-safe version of :ref:`ceil()<class_@GlobalScope_method_ceil>`, returning a :ref:`float<class_float>`.
  2991. .. rst-class:: classref-item-separator
  2992. ----
  2993. .. _class_@GlobalScope_method_ceili:
  2994. .. rst-class:: classref-method
  2995. :ref:`int<class_int>` **ceili**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_ceili>`
  2996. Rounds ``x`` upward (towards positive infinity), returning the smallest whole number that is not less than ``x``.
  2997. A type-safe version of :ref:`ceil()<class_@GlobalScope_method_ceil>`, returning an :ref:`int<class_int>`.
  2998. .. rst-class:: classref-item-separator
  2999. ----
  3000. .. _class_@GlobalScope_method_clamp:
  3001. .. rst-class:: classref-method
  3002. :ref:`Variant<class_Variant>` **clamp**\ (\ value\: :ref:`Variant<class_Variant>`, min\: :ref:`Variant<class_Variant>`, max\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_clamp>`
  3003. Clamps the ``value``, returning a :ref:`Variant<class_Variant>` not less than ``min`` and not more than ``max``. Any values that can be compared with the less than and greater than operators will work.
  3004. ::
  3005. var a = clamp(-10, -1, 5)
  3006. # a is -1
  3007. var b = clamp(8.1, 0.9, 5.5)
  3008. # b is 5.5
  3009. \ **Note:** For better type safety, use :ref:`clampf()<class_@GlobalScope_method_clampf>`, :ref:`clampi()<class_@GlobalScope_method_clampi>`, :ref:`Vector2.clamp()<class_Vector2_method_clamp>`, :ref:`Vector2i.clamp()<class_Vector2i_method_clamp>`, :ref:`Vector3.clamp()<class_Vector3_method_clamp>`, :ref:`Vector3i.clamp()<class_Vector3i_method_clamp>`, :ref:`Vector4.clamp()<class_Vector4_method_clamp>`, :ref:`Vector4i.clamp()<class_Vector4i_method_clamp>`, or :ref:`Color.clamp()<class_Color_method_clamp>` (not currently supported by this method).
  3010. \ **Note:** When using this on vectors it will *not* perform component-wise clamping, and will pick ``min`` if ``value < min`` or ``max`` if ``value > max``. To perform component-wise clamping use the methods listed above.
  3011. .. rst-class:: classref-item-separator
  3012. ----
  3013. .. _class_@GlobalScope_method_clampf:
  3014. .. rst-class:: classref-method
  3015. :ref:`float<class_float>` **clampf**\ (\ value\: :ref:`float<class_float>`, min\: :ref:`float<class_float>`, max\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_clampf>`
  3016. Clamps the ``value``, returning a :ref:`float<class_float>` not less than ``min`` and not more than ``max``.
  3017. ::
  3018. var speed = 42.1
  3019. var a = clampf(speed, 1.0, 20.5) # a is 20.5
  3020. speed = -10.0
  3021. var b = clampf(speed, -1.0, 1.0) # b is -1.0
  3022. .. rst-class:: classref-item-separator
  3023. ----
  3024. .. _class_@GlobalScope_method_clampi:
  3025. .. rst-class:: classref-method
  3026. :ref:`int<class_int>` **clampi**\ (\ value\: :ref:`int<class_int>`, min\: :ref:`int<class_int>`, max\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_clampi>`
  3027. Clamps the ``value``, returning an :ref:`int<class_int>` not less than ``min`` and not more than ``max``.
  3028. ::
  3029. var speed = 42
  3030. var a = clampi(speed, 1, 20) # a is 20
  3031. speed = -10
  3032. var b = clampi(speed, -1, 1) # b is -1
  3033. .. rst-class:: classref-item-separator
  3034. ----
  3035. .. _class_@GlobalScope_method_cos:
  3036. .. rst-class:: classref-method
  3037. :ref:`float<class_float>` **cos**\ (\ angle_rad\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_cos>`
  3038. Returns the cosine of angle ``angle_rad`` in radians.
  3039. ::
  3040. cos(PI * 2) # Returns 1.0
  3041. cos(PI) # Returns -1.0
  3042. cos(deg_to_rad(90)) # Returns 0.0
  3043. .. rst-class:: classref-item-separator
  3044. ----
  3045. .. _class_@GlobalScope_method_cosh:
  3046. .. rst-class:: classref-method
  3047. :ref:`float<class_float>` **cosh**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_cosh>`
  3048. Returns the hyperbolic cosine of ``x`` in radians.
  3049. ::
  3050. print(cosh(1)) # Prints 1.543081
  3051. .. rst-class:: classref-item-separator
  3052. ----
  3053. .. _class_@GlobalScope_method_cubic_interpolate:
  3054. .. rst-class:: classref-method
  3055. :ref:`float<class_float>` **cubic_interpolate**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, pre\: :ref:`float<class_float>`, post\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_cubic_interpolate>`
  3056. Cubic interpolates between two values by the factor defined in ``weight`` with ``pre`` and ``post`` values.
  3057. .. rst-class:: classref-item-separator
  3058. ----
  3059. .. _class_@GlobalScope_method_cubic_interpolate_angle:
  3060. .. rst-class:: classref-method
  3061. :ref:`float<class_float>` **cubic_interpolate_angle**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, pre\: :ref:`float<class_float>`, post\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_cubic_interpolate_angle>`
  3062. Cubic interpolates between two rotation values with shortest path by the factor defined in ``weight`` with ``pre`` and ``post`` values. See also :ref:`lerp_angle()<class_@GlobalScope_method_lerp_angle>`.
  3063. .. rst-class:: classref-item-separator
  3064. ----
  3065. .. _class_@GlobalScope_method_cubic_interpolate_angle_in_time:
  3066. .. rst-class:: classref-method
  3067. :ref:`float<class_float>` **cubic_interpolate_angle_in_time**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, pre\: :ref:`float<class_float>`, post\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`, to_t\: :ref:`float<class_float>`, pre_t\: :ref:`float<class_float>`, post_t\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_cubic_interpolate_angle_in_time>`
  3068. Cubic interpolates between two rotation values with shortest path by the factor defined in ``weight`` with ``pre`` and ``post`` values. See also :ref:`lerp_angle()<class_@GlobalScope_method_lerp_angle>`.
  3069. It can perform smoother interpolation than :ref:`cubic_interpolate()<class_@GlobalScope_method_cubic_interpolate>` by the time values.
  3070. .. rst-class:: classref-item-separator
  3071. ----
  3072. .. _class_@GlobalScope_method_cubic_interpolate_in_time:
  3073. .. rst-class:: classref-method
  3074. :ref:`float<class_float>` **cubic_interpolate_in_time**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, pre\: :ref:`float<class_float>`, post\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`, to_t\: :ref:`float<class_float>`, pre_t\: :ref:`float<class_float>`, post_t\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_cubic_interpolate_in_time>`
  3075. Cubic interpolates between two values by the factor defined in ``weight`` with ``pre`` and ``post`` values.
  3076. It can perform smoother interpolation than :ref:`cubic_interpolate()<class_@GlobalScope_method_cubic_interpolate>` by the time values.
  3077. .. rst-class:: classref-item-separator
  3078. ----
  3079. .. _class_@GlobalScope_method_db_to_linear:
  3080. .. rst-class:: classref-method
  3081. :ref:`float<class_float>` **db_to_linear**\ (\ db\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_db_to_linear>`
  3082. Converts from decibels to linear energy (audio).
  3083. .. rst-class:: classref-item-separator
  3084. ----
  3085. .. _class_@GlobalScope_method_deg_to_rad:
  3086. .. rst-class:: classref-method
  3087. :ref:`float<class_float>` **deg_to_rad**\ (\ deg\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_deg_to_rad>`
  3088. Converts an angle expressed in degrees to radians.
  3089. ::
  3090. var r = deg_to_rad(180) # r is 3.141593
  3091. .. rst-class:: classref-item-separator
  3092. ----
  3093. .. _class_@GlobalScope_method_ease:
  3094. .. rst-class:: classref-method
  3095. :ref:`float<class_float>` **ease**\ (\ x\: :ref:`float<class_float>`, curve\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_ease>`
  3096. Returns an "eased" value of ``x`` based on an easing function defined with ``curve``. This easing function is based on an exponent. The ``curve`` can be any floating-point number, with specific values leading to the following behaviors:
  3097. .. code:: text
  3098. - Lower than -1.0 (exclusive): Ease in-out
  3099. - -1.0: Linear
  3100. - Between -1.0 and 0.0 (exclusive): Ease out-in
  3101. - 0.0: Constant
  3102. - Between 0.0 to 1.0 (exclusive): Ease out
  3103. - 1.0: Linear
  3104. - Greater than 1.0 (exclusive): Ease in
  3105. \ `ease() curve values cheatsheet <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/ease_cheatsheet.png>`__\
  3106. See also :ref:`smoothstep()<class_@GlobalScope_method_smoothstep>`. If you need to perform more advanced transitions, use :ref:`Tween.interpolate_value()<class_Tween_method_interpolate_value>`.
  3107. .. rst-class:: classref-item-separator
  3108. ----
  3109. .. _class_@GlobalScope_method_error_string:
  3110. .. rst-class:: classref-method
  3111. :ref:`String<class_String>` **error_string**\ (\ error\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_error_string>`
  3112. Returns a human-readable name for the given :ref:`Error<enum_@GlobalScope_Error>` code.
  3113. ::
  3114. print(OK) # Prints 0
  3115. print(error_string(OK)) # Prints "OK"
  3116. print(error_string(ERR_BUSY)) # Prints "Busy"
  3117. print(error_string(ERR_OUT_OF_MEMORY)) # Prints "Out of memory"
  3118. .. rst-class:: classref-item-separator
  3119. ----
  3120. .. _class_@GlobalScope_method_exp:
  3121. .. rst-class:: classref-method
  3122. :ref:`float<class_float>` **exp**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_exp>`
  3123. The natural exponential function. It raises the mathematical constant *e* to the power of ``x`` and returns it.
  3124. \ *e* has an approximate value of 2.71828, and can be obtained with ``exp(1)``.
  3125. For exponents to other bases use the method :ref:`pow()<class_@GlobalScope_method_pow>`.
  3126. ::
  3127. var a = exp(2) # Approximately 7.39
  3128. .. rst-class:: classref-item-separator
  3129. ----
  3130. .. _class_@GlobalScope_method_floor:
  3131. .. rst-class:: classref-method
  3132. :ref:`Variant<class_Variant>` **floor**\ (\ x\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_floor>`
  3133. Rounds ``x`` downward (towards negative infinity), returning the largest whole number that is not more than ``x``. Supported types: :ref:`int<class_int>`, :ref:`float<class_float>`, :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>`, :ref:`Vector3i<class_Vector3i>`, :ref:`Vector4<class_Vector4>`, :ref:`Vector4i<class_Vector4i>`.
  3134. ::
  3135. var a = floor(2.99) # a is 2.0
  3136. a = floor(-2.99) # a is -3.0
  3137. See also :ref:`ceil()<class_@GlobalScope_method_ceil>`, :ref:`round()<class_@GlobalScope_method_round>`, and :ref:`snapped()<class_@GlobalScope_method_snapped>`.
  3138. \ **Note:** For better type safety, use :ref:`floorf()<class_@GlobalScope_method_floorf>`, :ref:`floori()<class_@GlobalScope_method_floori>`, :ref:`Vector2.floor()<class_Vector2_method_floor>`, :ref:`Vector3.floor()<class_Vector3_method_floor>`, or :ref:`Vector4.floor()<class_Vector4_method_floor>`.
  3139. .. rst-class:: classref-item-separator
  3140. ----
  3141. .. _class_@GlobalScope_method_floorf:
  3142. .. rst-class:: classref-method
  3143. :ref:`float<class_float>` **floorf**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_floorf>`
  3144. Rounds ``x`` downward (towards negative infinity), returning the largest whole number that is not more than ``x``.
  3145. A type-safe version of :ref:`floor()<class_@GlobalScope_method_floor>`, returning a :ref:`float<class_float>`.
  3146. .. rst-class:: classref-item-separator
  3147. ----
  3148. .. _class_@GlobalScope_method_floori:
  3149. .. rst-class:: classref-method
  3150. :ref:`int<class_int>` **floori**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_floori>`
  3151. Rounds ``x`` downward (towards negative infinity), returning the largest whole number that is not more than ``x``.
  3152. A type-safe version of :ref:`floor()<class_@GlobalScope_method_floor>`, returning an :ref:`int<class_int>`.
  3153. \ **Note:** This function is *not* the same as ``int(x)``, which rounds towards 0.
  3154. .. rst-class:: classref-item-separator
  3155. ----
  3156. .. _class_@GlobalScope_method_fmod:
  3157. .. rst-class:: classref-method
  3158. :ref:`float<class_float>` **fmod**\ (\ x\: :ref:`float<class_float>`, y\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_fmod>`
  3159. Returns the floating-point remainder of ``x`` divided by ``y``, keeping the sign of ``x``.
  3160. ::
  3161. var remainder = fmod(7, 5.5) # remainder is 1.5
  3162. For the integer remainder operation, use the ``%`` operator.
  3163. .. rst-class:: classref-item-separator
  3164. ----
  3165. .. _class_@GlobalScope_method_fposmod:
  3166. .. rst-class:: classref-method
  3167. :ref:`float<class_float>` **fposmod**\ (\ x\: :ref:`float<class_float>`, y\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_fposmod>`
  3168. Returns the floating-point modulus of ``x`` divided by ``y``, wrapping equally in positive and negative.
  3169. ::
  3170. print(" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))")
  3171. for i in 7:
  3172. var x = i * 0.5 - 1.5
  3173. print("%4.1f %4.1f | %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)])
  3174. Prints:
  3175. .. code:: text
  3176. (x) (fmod(x, 1.5)) (fposmod(x, 1.5))
  3177. -1.5 -0.0 | 0.0
  3178. -1.0 -1.0 | 0.5
  3179. -0.5 -0.5 | 1.0
  3180. 0.0 0.0 | 0.0
  3181. 0.5 0.5 | 0.5
  3182. 1.0 1.0 | 1.0
  3183. 1.5 0.0 | 0.0
  3184. .. rst-class:: classref-item-separator
  3185. ----
  3186. .. _class_@GlobalScope_method_hash:
  3187. .. rst-class:: classref-method
  3188. :ref:`int<class_int>` **hash**\ (\ variable\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_hash>`
  3189. Returns the integer hash of the passed ``variable``.
  3190. .. tabs::
  3191. .. code-tab:: gdscript
  3192. print(hash("a")) # Prints 177670
  3193. .. code-tab:: csharp
  3194. GD.Print(GD.Hash("a")); // Prints 177670
  3195. .. rst-class:: classref-item-separator
  3196. ----
  3197. .. _class_@GlobalScope_method_instance_from_id:
  3198. .. rst-class:: classref-method
  3199. :ref:`Object<class_Object>` **instance_from_id**\ (\ instance_id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_instance_from_id>`
  3200. Returns the :ref:`Object<class_Object>` that corresponds to ``instance_id``. All Objects have a unique instance ID. See also :ref:`Object.get_instance_id()<class_Object_method_get_instance_id>`.
  3201. .. tabs::
  3202. .. code-tab:: gdscript
  3203. var drink = "water"
  3204. func _ready():
  3205. var id = get_instance_id()
  3206. var instance = instance_from_id(id)
  3207. print(instance.drink) # Prints "water"
  3208. .. code-tab:: csharp
  3209. public partial class MyNode : Node
  3210. {
  3211. public string Drink { get; set; } = "water";
  3212. public override void _Ready()
  3213. {
  3214. ulong id = GetInstanceId();
  3215. var instance = (MyNode)InstanceFromId(Id);
  3216. GD.Print(instance.Drink); // Prints "water"
  3217. }
  3218. }
  3219. .. rst-class:: classref-item-separator
  3220. ----
  3221. .. _class_@GlobalScope_method_inverse_lerp:
  3222. .. rst-class:: classref-method
  3223. :ref:`float<class_float>` **inverse_lerp**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_inverse_lerp>`
  3224. Returns an interpolation or extrapolation factor considering the range specified in ``from`` and ``to``, and the interpolated value specified in ``weight``. The returned value will be between ``0.0`` and ``1.0`` if ``weight`` is between ``from`` and ``to`` (inclusive). If ``weight`` is located outside this range, then an extrapolation factor will be returned (return value lower than ``0.0`` or greater than ``1.0``). Use :ref:`clamp()<class_@GlobalScope_method_clamp>` on the result of :ref:`inverse_lerp()<class_@GlobalScope_method_inverse_lerp>` if this is not desired.
  3225. ::
  3226. # The interpolation ratio in the `lerp()` call below is 0.75.
  3227. var middle = lerp(20, 30, 0.75)
  3228. # middle is now 27.5.
  3229. # Now, we pretend to have forgotten the original ratio and want to get it back.
  3230. var ratio = inverse_lerp(20, 30, 27.5)
  3231. # ratio is now 0.75.
  3232. See also :ref:`lerp()<class_@GlobalScope_method_lerp>`, which performs the reverse of this operation, and :ref:`remap()<class_@GlobalScope_method_remap>` to map a continuous series of values to another.
  3233. .. rst-class:: classref-item-separator
  3234. ----
  3235. .. _class_@GlobalScope_method_is_equal_approx:
  3236. .. rst-class:: classref-method
  3237. :ref:`bool<class_bool>` **is_equal_approx**\ (\ a\: :ref:`float<class_float>`, b\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_is_equal_approx>`
  3238. Returns ``true`` if ``a`` and ``b`` are approximately equal to each other.
  3239. Here, "approximately equal" means that ``a`` and ``b`` are within a small internal epsilon of each other, which scales with the magnitude of the numbers.
  3240. Infinity values of the same sign are considered equal.
  3241. .. rst-class:: classref-item-separator
  3242. ----
  3243. .. _class_@GlobalScope_method_is_finite:
  3244. .. rst-class:: classref-method
  3245. :ref:`bool<class_bool>` **is_finite**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_is_finite>`
  3246. Returns whether ``x`` is a finite value, i.e. it is not :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>`, positive infinity, or negative infinity. See also :ref:`is_inf()<class_@GlobalScope_method_is_inf>` and :ref:`is_nan()<class_@GlobalScope_method_is_nan>`.
  3247. .. rst-class:: classref-item-separator
  3248. ----
  3249. .. _class_@GlobalScope_method_is_inf:
  3250. .. rst-class:: classref-method
  3251. :ref:`bool<class_bool>` **is_inf**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_is_inf>`
  3252. Returns ``true`` if ``x`` is either positive infinity or negative infinity. See also :ref:`is_finite()<class_@GlobalScope_method_is_finite>` and :ref:`is_nan()<class_@GlobalScope_method_is_nan>`.
  3253. .. rst-class:: classref-item-separator
  3254. ----
  3255. .. _class_@GlobalScope_method_is_instance_id_valid:
  3256. .. rst-class:: classref-method
  3257. :ref:`bool<class_bool>` **is_instance_id_valid**\ (\ id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_is_instance_id_valid>`
  3258. Returns ``true`` if the Object that corresponds to ``id`` is a valid object (e.g. has not been deleted from memory). All Objects have a unique instance ID.
  3259. .. rst-class:: classref-item-separator
  3260. ----
  3261. .. _class_@GlobalScope_method_is_instance_valid:
  3262. .. rst-class:: classref-method
  3263. :ref:`bool<class_bool>` **is_instance_valid**\ (\ instance\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_is_instance_valid>`
  3264. Returns ``true`` if ``instance`` is a valid Object (e.g. has not been deleted from memory).
  3265. .. rst-class:: classref-item-separator
  3266. ----
  3267. .. _class_@GlobalScope_method_is_nan:
  3268. .. rst-class:: classref-method
  3269. :ref:`bool<class_bool>` **is_nan**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_is_nan>`
  3270. Returns ``true`` if ``x`` is a NaN ("Not a Number" or invalid) value. This method is needed as :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>` is not equal to itself, which means ``x == NAN`` can't be used to check whether a value is a NaN.
  3271. .. rst-class:: classref-item-separator
  3272. ----
  3273. .. _class_@GlobalScope_method_is_same:
  3274. .. rst-class:: classref-method
  3275. :ref:`bool<class_bool>` **is_same**\ (\ a\: :ref:`Variant<class_Variant>`, b\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_is_same>`
  3276. Returns ``true``, for value types, if ``a`` and ``b`` share the same value. Returns ``true``, for reference types, if the references of ``a`` and ``b`` are the same.
  3277. ::
  3278. # Vector2 is a value type
  3279. var vec2_a = Vector2(0, 0)
  3280. var vec2_b = Vector2(0, 0)
  3281. var vec2_c = Vector2(1, 1)
  3282. is_same(vec2_a, vec2_a) # true
  3283. is_same(vec2_a, vec2_b) # true
  3284. is_same(vec2_a, vec2_c) # false
  3285. # Array is a reference type
  3286. var arr_a = []
  3287. var arr_b = []
  3288. is_same(arr_a, arr_a) # true
  3289. is_same(arr_a, arr_b) # false
  3290. These are :ref:`Variant<class_Variant>` value types: ``null``, :ref:`bool<class_bool>`, :ref:`int<class_int>`, :ref:`float<class_float>`, :ref:`String<class_String>`, :ref:`StringName<class_StringName>`, :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>`, :ref:`Vector3i<class_Vector3i>`, :ref:`Vector4<class_Vector4>`, :ref:`Vector4i<class_Vector4i>`, :ref:`Rect2<class_Rect2>`, :ref:`Rect2i<class_Rect2i>`, :ref:`Transform2D<class_Transform2D>`, :ref:`Transform3D<class_Transform3D>`, :ref:`Plane<class_Plane>`, :ref:`Quaternion<class_Quaternion>`, :ref:`AABB<class_AABB>`, :ref:`Basis<class_Basis>`, :ref:`Projection<class_Projection>`, :ref:`Color<class_Color>`, :ref:`NodePath<class_NodePath>`, :ref:`RID<class_RID>`, :ref:`Callable<class_Callable>` and :ref:`Signal<class_Signal>`.
  3291. These are :ref:`Variant<class_Variant>` reference types: :ref:`Object<class_Object>`, :ref:`Dictionary<class_Dictionary>`, :ref:`Array<class_Array>`, :ref:`PackedByteArray<class_PackedByteArray>`, :ref:`PackedInt32Array<class_PackedInt32Array>`, :ref:`PackedInt64Array<class_PackedInt64Array>`, :ref:`PackedFloat32Array<class_PackedFloat32Array>`, :ref:`PackedFloat64Array<class_PackedFloat64Array>`, :ref:`PackedStringArray<class_PackedStringArray>`, :ref:`PackedVector2Array<class_PackedVector2Array>`, :ref:`PackedVector3Array<class_PackedVector3Array>`, :ref:`PackedVector4Array<class_PackedVector4Array>`, and :ref:`PackedColorArray<class_PackedColorArray>`.
  3292. .. rst-class:: classref-item-separator
  3293. ----
  3294. .. _class_@GlobalScope_method_is_zero_approx:
  3295. .. rst-class:: classref-method
  3296. :ref:`bool<class_bool>` **is_zero_approx**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_is_zero_approx>`
  3297. Returns ``true`` if ``x`` is zero or almost zero. The comparison is done using a tolerance calculation with a small internal epsilon.
  3298. This function is faster than using :ref:`is_equal_approx()<class_@GlobalScope_method_is_equal_approx>` with one value as zero.
  3299. .. rst-class:: classref-item-separator
  3300. ----
  3301. .. _class_@GlobalScope_method_lerp:
  3302. .. rst-class:: classref-method
  3303. :ref:`Variant<class_Variant>` **lerp**\ (\ from\: :ref:`Variant<class_Variant>`, to\: :ref:`Variant<class_Variant>`, weight\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_lerp>`
  3304. Linearly interpolates between two values by the factor defined in ``weight``. To perform interpolation, ``weight`` should be between ``0.0`` and ``1.0`` (inclusive). However, values outside this range are allowed and can be used to perform *extrapolation*. If this is not desired, use :ref:`clampf()<class_@GlobalScope_method_clampf>` to limit ``weight``.
  3305. Both ``from`` and ``to`` must be the same type. Supported types: :ref:`int<class_int>`, :ref:`float<class_float>`, :ref:`Vector2<class_Vector2>`, :ref:`Vector3<class_Vector3>`, :ref:`Vector4<class_Vector4>`, :ref:`Color<class_Color>`, :ref:`Quaternion<class_Quaternion>`, :ref:`Basis<class_Basis>`, :ref:`Transform2D<class_Transform2D>`, :ref:`Transform3D<class_Transform3D>`.
  3306. ::
  3307. lerp(0, 4, 0.75) # Returns 3.0
  3308. See also :ref:`inverse_lerp()<class_@GlobalScope_method_inverse_lerp>` which performs the reverse of this operation. To perform eased interpolation with :ref:`lerp()<class_@GlobalScope_method_lerp>`, combine it with :ref:`ease()<class_@GlobalScope_method_ease>` or :ref:`smoothstep()<class_@GlobalScope_method_smoothstep>`. See also :ref:`remap()<class_@GlobalScope_method_remap>` to map a continuous series of values to another.
  3309. \ **Note:** For better type safety, use :ref:`lerpf()<class_@GlobalScope_method_lerpf>`, :ref:`Vector2.lerp()<class_Vector2_method_lerp>`, :ref:`Vector3.lerp()<class_Vector3_method_lerp>`, :ref:`Vector4.lerp()<class_Vector4_method_lerp>`, :ref:`Color.lerp()<class_Color_method_lerp>`, :ref:`Quaternion.slerp()<class_Quaternion_method_slerp>`, :ref:`Basis.slerp()<class_Basis_method_slerp>`, :ref:`Transform2D.interpolate_with()<class_Transform2D_method_interpolate_with>`, or :ref:`Transform3D.interpolate_with()<class_Transform3D_method_interpolate_with>`.
  3310. .. rst-class:: classref-item-separator
  3311. ----
  3312. .. _class_@GlobalScope_method_lerp_angle:
  3313. .. rst-class:: classref-method
  3314. :ref:`float<class_float>` **lerp_angle**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_lerp_angle>`
  3315. Linearly interpolates between two angles (in radians) by a ``weight`` value between 0.0 and 1.0.
  3316. Similar to :ref:`lerp()<class_@GlobalScope_method_lerp>`, but interpolates correctly when the angles wrap around :ref:`@GDScript.TAU<class_@GDScript_constant_TAU>`. To perform eased interpolation with :ref:`lerp_angle()<class_@GlobalScope_method_lerp_angle>`, combine it with :ref:`ease()<class_@GlobalScope_method_ease>` or :ref:`smoothstep()<class_@GlobalScope_method_smoothstep>`.
  3317. ::
  3318. extends Sprite
  3319. var elapsed = 0.0
  3320. func _process(delta):
  3321. var min_angle = deg_to_rad(0.0)
  3322. var max_angle = deg_to_rad(90.0)
  3323. rotation = lerp_angle(min_angle, max_angle, elapsed)
  3324. elapsed += delta
  3325. \ **Note:** This function lerps through the shortest path between ``from`` and ``to``. However, when these two angles are approximately ``PI + k * TAU`` apart for any integer ``k``, it's not obvious which way they lerp due to floating-point precision errors. For example, ``lerp_angle(0, PI, weight)`` lerps counter-clockwise, while ``lerp_angle(0, PI + 5 * TAU, weight)`` lerps clockwise.
  3326. .. rst-class:: classref-item-separator
  3327. ----
  3328. .. _class_@GlobalScope_method_lerpf:
  3329. .. rst-class:: classref-method
  3330. :ref:`float<class_float>` **lerpf**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, weight\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_lerpf>`
  3331. Linearly interpolates between two values by the factor defined in ``weight``. To perform interpolation, ``weight`` should be between ``0.0`` and ``1.0`` (inclusive). However, values outside this range are allowed and can be used to perform *extrapolation*. If this is not desired, use :ref:`clampf()<class_@GlobalScope_method_clampf>` on the result of this function.
  3332. ::
  3333. lerpf(0, 4, 0.75) # Returns 3.0
  3334. See also :ref:`inverse_lerp()<class_@GlobalScope_method_inverse_lerp>` which performs the reverse of this operation. To perform eased interpolation with :ref:`lerp()<class_@GlobalScope_method_lerp>`, combine it with :ref:`ease()<class_@GlobalScope_method_ease>` or :ref:`smoothstep()<class_@GlobalScope_method_smoothstep>`.
  3335. .. rst-class:: classref-item-separator
  3336. ----
  3337. .. _class_@GlobalScope_method_linear_to_db:
  3338. .. rst-class:: classref-method
  3339. :ref:`float<class_float>` **linear_to_db**\ (\ lin\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_linear_to_db>`
  3340. Converts from linear energy to decibels (audio). Since volume is not normally linear, this can be used to implement volume sliders that behave as expected.
  3341. \ **Example:** Change the Master bus's volume through a :ref:`Slider<class_Slider>` node, which ranges from ``0.0`` to ``1.0``:
  3342. ::
  3343. AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), linear_to_db($Slider.value))
  3344. .. rst-class:: classref-item-separator
  3345. ----
  3346. .. _class_@GlobalScope_method_log:
  3347. .. rst-class:: classref-method
  3348. :ref:`float<class_float>` **log**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_log>`
  3349. Returns the `natural logarithm <https://en.wikipedia.org/wiki/Natural_logarithm>`__ of ``x`` (base `[i]e[/i] <https://en.wikipedia.org/wiki/E_(mathematical_constant)>`__, with *e* being approximately 2.71828). This is the amount of time needed to reach a certain level of continuous growth.
  3350. \ **Note:** This is not the same as the "log" function on most calculators, which uses a base 10 logarithm. To use base 10 logarithm, use ``log(x) / log(10)``.
  3351. ::
  3352. log(10) # Returns 2.302585
  3353. \ **Note:** The logarithm of ``0`` returns ``-inf``, while negative values return ``-nan``.
  3354. .. rst-class:: classref-item-separator
  3355. ----
  3356. .. _class_@GlobalScope_method_max:
  3357. .. rst-class:: classref-method
  3358. :ref:`Variant<class_Variant>` **max**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_max>`
  3359. Returns the maximum of the given numeric values. This function can take any number of arguments.
  3360. ::
  3361. max(1, 7, 3, -6, 5) # Returns 7
  3362. \ **Note:** When using this on vectors it will *not* perform component-wise maximum, and will pick the largest value when compared using ``x < y``. To perform component-wise maximum, use :ref:`Vector2.max()<class_Vector2_method_max>`, :ref:`Vector2i.max()<class_Vector2i_method_max>`, :ref:`Vector3.max()<class_Vector3_method_max>`, :ref:`Vector3i.max()<class_Vector3i_method_max>`, :ref:`Vector4.max()<class_Vector4_method_max>`, and :ref:`Vector4i.max()<class_Vector4i_method_max>`.
  3363. .. rst-class:: classref-item-separator
  3364. ----
  3365. .. _class_@GlobalScope_method_maxf:
  3366. .. rst-class:: classref-method
  3367. :ref:`float<class_float>` **maxf**\ (\ a\: :ref:`float<class_float>`, b\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_maxf>`
  3368. Returns the maximum of two :ref:`float<class_float>` values.
  3369. ::
  3370. maxf(3.6, 24) # Returns 24.0
  3371. maxf(-3.99, -4) # Returns -3.99
  3372. .. rst-class:: classref-item-separator
  3373. ----
  3374. .. _class_@GlobalScope_method_maxi:
  3375. .. rst-class:: classref-method
  3376. :ref:`int<class_int>` **maxi**\ (\ a\: :ref:`int<class_int>`, b\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_maxi>`
  3377. Returns the maximum of two :ref:`int<class_int>` values.
  3378. ::
  3379. maxi(1, 2) # Returns 2
  3380. maxi(-3, -4) # Returns -3
  3381. .. rst-class:: classref-item-separator
  3382. ----
  3383. .. _class_@GlobalScope_method_min:
  3384. .. rst-class:: classref-method
  3385. :ref:`Variant<class_Variant>` **min**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_min>`
  3386. Returns the minimum of the given numeric values. This function can take any number of arguments.
  3387. ::
  3388. min(1, 7, 3, -6, 5) # Returns -6
  3389. \ **Note:** When using this on vectors it will *not* perform component-wise minimum, and will pick the smallest value when compared using ``x < y``. To perform component-wise minimum, use :ref:`Vector2.min()<class_Vector2_method_min>`, :ref:`Vector2i.min()<class_Vector2i_method_min>`, :ref:`Vector3.min()<class_Vector3_method_min>`, :ref:`Vector3i.min()<class_Vector3i_method_min>`, :ref:`Vector4.min()<class_Vector4_method_min>`, and :ref:`Vector4i.min()<class_Vector4i_method_min>`.
  3390. .. rst-class:: classref-item-separator
  3391. ----
  3392. .. _class_@GlobalScope_method_minf:
  3393. .. rst-class:: classref-method
  3394. :ref:`float<class_float>` **minf**\ (\ a\: :ref:`float<class_float>`, b\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_minf>`
  3395. Returns the minimum of two :ref:`float<class_float>` values.
  3396. ::
  3397. minf(3.6, 24) # Returns 3.6
  3398. minf(-3.99, -4) # Returns -4.0
  3399. .. rst-class:: classref-item-separator
  3400. ----
  3401. .. _class_@GlobalScope_method_mini:
  3402. .. rst-class:: classref-method
  3403. :ref:`int<class_int>` **mini**\ (\ a\: :ref:`int<class_int>`, b\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_mini>`
  3404. Returns the minimum of two :ref:`int<class_int>` values.
  3405. ::
  3406. mini(1, 2) # Returns 1
  3407. mini(-3, -4) # Returns -4
  3408. .. rst-class:: classref-item-separator
  3409. ----
  3410. .. _class_@GlobalScope_method_move_toward:
  3411. .. rst-class:: classref-method
  3412. :ref:`float<class_float>` **move_toward**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, delta\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_move_toward>`
  3413. Moves ``from`` toward ``to`` by the ``delta`` amount. Will not go past ``to``.
  3414. Use a negative ``delta`` value to move away.
  3415. ::
  3416. move_toward(5, 10, 4) # Returns 9
  3417. move_toward(10, 5, 4) # Returns 6
  3418. move_toward(5, 10, 9) # Returns 10
  3419. move_toward(10, 5, -1.5) # Returns 11.5
  3420. .. rst-class:: classref-item-separator
  3421. ----
  3422. .. _class_@GlobalScope_method_nearest_po2:
  3423. .. rst-class:: classref-method
  3424. :ref:`int<class_int>` **nearest_po2**\ (\ value\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_nearest_po2>`
  3425. Returns the smallest integer power of 2 that is greater than or equal to ``value``.
  3426. ::
  3427. nearest_po2(3) # Returns 4
  3428. nearest_po2(4) # Returns 4
  3429. nearest_po2(5) # Returns 8
  3430. nearest_po2(0) # Returns 0 (this may not be expected)
  3431. nearest_po2(-1) # Returns 0 (this may not be expected)
  3432. \ **Warning:** Due to its implementation, this method returns ``0`` rather than ``1`` for values less than or equal to ``0``, with an exception for ``value`` being the smallest negative 64-bit integer (``-9223372036854775808``) in which case the ``value`` is returned unchanged.
  3433. .. rst-class:: classref-item-separator
  3434. ----
  3435. .. _class_@GlobalScope_method_pingpong:
  3436. .. rst-class:: classref-method
  3437. :ref:`float<class_float>` **pingpong**\ (\ value\: :ref:`float<class_float>`, length\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_pingpong>`
  3438. Wraps ``value`` between ``0`` and the ``length``. If the limit is reached, the next value the function returns is decreased to the ``0`` side or increased to the ``length`` side (like a triangle wave). If ``length`` is less than zero, it becomes positive.
  3439. ::
  3440. pingpong(-3.0, 3.0) # Returns 3.0
  3441. pingpong(-2.0, 3.0) # Returns 2.0
  3442. pingpong(-1.0, 3.0) # Returns 1.0
  3443. pingpong(0.0, 3.0) # Returns 0.0
  3444. pingpong(1.0, 3.0) # Returns 1.0
  3445. pingpong(2.0, 3.0) # Returns 2.0
  3446. pingpong(3.0, 3.0) # Returns 3.0
  3447. pingpong(4.0, 3.0) # Returns 2.0
  3448. pingpong(5.0, 3.0) # Returns 1.0
  3449. pingpong(6.0, 3.0) # Returns 0.0
  3450. .. rst-class:: classref-item-separator
  3451. ----
  3452. .. _class_@GlobalScope_method_posmod:
  3453. .. rst-class:: classref-method
  3454. :ref:`int<class_int>` **posmod**\ (\ x\: :ref:`int<class_int>`, y\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_posmod>`
  3455. Returns the integer modulus of ``x`` divided by ``y`` that wraps equally in positive and negative.
  3456. ::
  3457. print("#(i) (i % 3) (posmod(i, 3))")
  3458. for i in range(-3, 4):
  3459. print("%2d %2d | %2d" % [i, i % 3, posmod(i, 3)])
  3460. Prints:
  3461. .. code:: text
  3462. (i) (i % 3) (posmod(i, 3))
  3463. -3 0 | 0
  3464. -2 -2 | 1
  3465. -1 -1 | 2
  3466. 0 0 | 0
  3467. 1 1 | 1
  3468. 2 2 | 2
  3469. 3 0 | 0
  3470. .. rst-class:: classref-item-separator
  3471. ----
  3472. .. _class_@GlobalScope_method_pow:
  3473. .. rst-class:: classref-method
  3474. :ref:`float<class_float>` **pow**\ (\ base\: :ref:`float<class_float>`, exp\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_pow>`
  3475. Returns the result of ``base`` raised to the power of ``exp``.
  3476. In GDScript, this is the equivalent of the ``**`` operator.
  3477. ::
  3478. pow(2, 5) # Returns 32.0
  3479. pow(4, 1.5) # Returns 8.0
  3480. .. rst-class:: classref-item-separator
  3481. ----
  3482. .. _class_@GlobalScope_method_print:
  3483. .. rst-class:: classref-method
  3484. |void| **print**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_print>`
  3485. Converts one or more arguments of any type to string in the best way possible and prints them to the console.
  3486. .. tabs::
  3487. .. code-tab:: gdscript
  3488. var a = [1, 2, 3]
  3489. print("a", "b", a) # Prints "ab[1, 2, 3]"
  3490. .. code-tab:: csharp
  3491. Godot.Collections.Array a = [1, 2, 3];
  3492. GD.Print("a", "b", a); // Prints "ab[1, 2, 3]"
  3493. \ **Note:** Consider using :ref:`push_error()<class_@GlobalScope_method_push_error>` and :ref:`push_warning()<class_@GlobalScope_method_push_warning>` to print error and warning messages instead of :ref:`print()<class_@GlobalScope_method_print>` or :ref:`print_rich()<class_@GlobalScope_method_print_rich>`. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed. See also :ref:`Engine.print_to_stdout<class_Engine_property_print_to_stdout>` and :ref:`ProjectSettings.application/run/disable_stdout<class_ProjectSettings_property_application/run/disable_stdout>`.
  3494. .. rst-class:: classref-item-separator
  3495. ----
  3496. .. _class_@GlobalScope_method_print_rich:
  3497. .. rst-class:: classref-method
  3498. |void| **print_rich**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_print_rich>`
  3499. Converts one or more arguments of any type to string in the best way possible and prints them to the console.
  3500. The following BBCode tags are supported: ``b``, ``i``, ``u``, ``s``, ``indent``, ``code``, ``url``, ``center``, ``right``, ``color``, ``bgcolor``, ``fgcolor``.
  3501. URL tags only support URLs wrapped by a URL tag, not URLs with a different title.
  3502. When printing to standard output, the supported subset of BBCode is converted to ANSI escape codes for the terminal emulator to display. Support for ANSI escape codes varies across terminal emulators, especially for italic and strikethrough. In standard output, ``code`` is represented with faint text but without any font change. Unsupported tags are left as-is in standard output.
  3503. .. tabs::
  3504. .. code-tab:: gdscript
  3505. print_rich("[color=green][b]Hello world![/b][/color]") # Prints "Hello world!", in green with a bold font.
  3506. .. code-tab:: csharp
  3507. GD.PrintRich("[color=green][b]Hello world![/b][/color]"); // Prints "Hello world!", in green with a bold font.
  3508. \ **Note:** Consider using :ref:`push_error()<class_@GlobalScope_method_push_error>` and :ref:`push_warning()<class_@GlobalScope_method_push_warning>` to print error and warning messages instead of :ref:`print()<class_@GlobalScope_method_print>` or :ref:`print_rich()<class_@GlobalScope_method_print_rich>`. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed.
  3509. \ **Note:** Output displayed in the editor supports clickable ``[url=address]text[/url]`` tags. The ``[url]`` tag's ``address`` value is handled by :ref:`OS.shell_open()<class_OS_method_shell_open>` when clicked.
  3510. .. rst-class:: classref-item-separator
  3511. ----
  3512. .. _class_@GlobalScope_method_print_verbose:
  3513. .. rst-class:: classref-method
  3514. |void| **print_verbose**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_print_verbose>`
  3515. If verbose mode is enabled (:ref:`OS.is_stdout_verbose()<class_OS_method_is_stdout_verbose>` returning ``true``), converts one or more arguments of any type to string in the best way possible and prints them to the console.
  3516. .. rst-class:: classref-item-separator
  3517. ----
  3518. .. _class_@GlobalScope_method_printerr:
  3519. .. rst-class:: classref-method
  3520. |void| **printerr**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_printerr>`
  3521. Prints one or more arguments to strings in the best way possible to standard error line.
  3522. .. tabs::
  3523. .. code-tab:: gdscript
  3524. printerr("prints to stderr")
  3525. .. code-tab:: csharp
  3526. GD.PrintErr("prints to stderr");
  3527. .. rst-class:: classref-item-separator
  3528. ----
  3529. .. _class_@GlobalScope_method_printraw:
  3530. .. rst-class:: classref-method
  3531. |void| **printraw**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_printraw>`
  3532. Prints one or more arguments to strings in the best way possible to the OS terminal. Unlike :ref:`print()<class_@GlobalScope_method_print>`, no newline is automatically added at the end.
  3533. \ **Note:** The OS terminal is *not* the same as the editor's Output dock. The output sent to the OS terminal can be seen when running Godot from a terminal. On Windows, this requires using the ``console.exe`` executable.
  3534. .. tabs::
  3535. .. code-tab:: gdscript
  3536. # Prints "ABC" to terminal.
  3537. printraw("A")
  3538. printraw("B")
  3539. printraw("C")
  3540. .. code-tab:: csharp
  3541. // Prints "ABC" to terminal.
  3542. GD.PrintRaw("A");
  3543. GD.PrintRaw("B");
  3544. GD.PrintRaw("C");
  3545. .. rst-class:: classref-item-separator
  3546. ----
  3547. .. _class_@GlobalScope_method_prints:
  3548. .. rst-class:: classref-method
  3549. |void| **prints**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_prints>`
  3550. Prints one or more arguments to the console with a space between each argument.
  3551. .. tabs::
  3552. .. code-tab:: gdscript
  3553. prints("A", "B", "C") # Prints "A B C"
  3554. .. code-tab:: csharp
  3555. GD.PrintS("A", "B", "C"); // Prints "A B C"
  3556. .. rst-class:: classref-item-separator
  3557. ----
  3558. .. _class_@GlobalScope_method_printt:
  3559. .. rst-class:: classref-method
  3560. |void| **printt**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_printt>`
  3561. Prints one or more arguments to the console with a tab between each argument.
  3562. .. tabs::
  3563. .. code-tab:: gdscript
  3564. printt("A", "B", "C") # Prints "A B C"
  3565. .. code-tab:: csharp
  3566. GD.PrintT("A", "B", "C"); // Prints "A B C"
  3567. .. rst-class:: classref-item-separator
  3568. ----
  3569. .. _class_@GlobalScope_method_push_error:
  3570. .. rst-class:: classref-method
  3571. |void| **push_error**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_push_error>`
  3572. Pushes an error message to Godot's built-in debugger and to the OS terminal.
  3573. .. tabs::
  3574. .. code-tab:: gdscript
  3575. push_error("test error") # Prints "test error" to debugger and terminal as an error.
  3576. .. code-tab:: csharp
  3577. GD.PushError("test error"); // Prints "test error" to debugger and terminal as an error.
  3578. \ **Note:** This function does not pause project execution. To print an error message and pause project execution in debug builds, use ``assert(false, "test error")`` instead.
  3579. .. rst-class:: classref-item-separator
  3580. ----
  3581. .. _class_@GlobalScope_method_push_warning:
  3582. .. rst-class:: classref-method
  3583. |void| **push_warning**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_push_warning>`
  3584. Pushes a warning message to Godot's built-in debugger and to the OS terminal.
  3585. .. tabs::
  3586. .. code-tab:: gdscript
  3587. push_warning("test warning") # Prints "test warning" to debugger and terminal as a warning.
  3588. .. code-tab:: csharp
  3589. GD.PushWarning("test warning"); // Prints "test warning" to debugger and terminal as a warning.
  3590. .. rst-class:: classref-item-separator
  3591. ----
  3592. .. _class_@GlobalScope_method_rad_to_deg:
  3593. .. rst-class:: classref-method
  3594. :ref:`float<class_float>` **rad_to_deg**\ (\ rad\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_rad_to_deg>`
  3595. Converts an angle expressed in radians to degrees.
  3596. ::
  3597. rad_to_deg(0.523599) # Returns 30
  3598. rad_to_deg(PI) # Returns 180
  3599. rad_to_deg(PI * 2) # Returns 360
  3600. .. rst-class:: classref-item-separator
  3601. ----
  3602. .. _class_@GlobalScope_method_rand_from_seed:
  3603. .. rst-class:: classref-method
  3604. :ref:`PackedInt64Array<class_PackedInt64Array>` **rand_from_seed**\ (\ seed\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_rand_from_seed>`
  3605. Given a ``seed``, returns a :ref:`PackedInt64Array<class_PackedInt64Array>` of size ``2``, where its first element is the randomized :ref:`int<class_int>` value, and the second element is the same as ``seed``. Passing the same ``seed`` consistently returns the same array.
  3606. \ **Note:** "Seed" here refers to the internal state of the pseudo random number generator, currently implemented as a 64 bit integer.
  3607. ::
  3608. var a = rand_from_seed(4)
  3609. print(a[0]) # Prints 2879024997
  3610. print(a[1]) # Prints 4
  3611. .. rst-class:: classref-item-separator
  3612. ----
  3613. .. _class_@GlobalScope_method_randf:
  3614. .. rst-class:: classref-method
  3615. :ref:`float<class_float>` **randf**\ (\ ) :ref:`🔗<class_@GlobalScope_method_randf>`
  3616. Returns a random floating-point value between ``0.0`` and ``1.0`` (inclusive).
  3617. .. tabs::
  3618. .. code-tab:: gdscript
  3619. randf() # Returns e.g. 0.375671
  3620. .. code-tab:: csharp
  3621. GD.Randf(); // Returns e.g. 0.375671
  3622. .. rst-class:: classref-item-separator
  3623. ----
  3624. .. _class_@GlobalScope_method_randf_range:
  3625. .. rst-class:: classref-method
  3626. :ref:`float<class_float>` **randf_range**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_randf_range>`
  3627. Returns a random floating-point value between ``from`` and ``to`` (inclusive).
  3628. .. tabs::
  3629. .. code-tab:: gdscript
  3630. randf_range(0, 20.5) # Returns e.g. 7.45315
  3631. randf_range(-10, 10) # Returns e.g. -3.844535
  3632. .. code-tab:: csharp
  3633. GD.RandRange(0.0, 20.5); // Returns e.g. 7.45315
  3634. GD.RandRange(-10.0, 10.0); // Returns e.g. -3.844535
  3635. .. rst-class:: classref-item-separator
  3636. ----
  3637. .. _class_@GlobalScope_method_randfn:
  3638. .. rst-class:: classref-method
  3639. :ref:`float<class_float>` **randfn**\ (\ mean\: :ref:`float<class_float>`, deviation\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_randfn>`
  3640. Returns a `normally-distributed <https://en.wikipedia.org/wiki/Normal_distribution>`__, pseudo-random floating-point value from the specified ``mean`` and a standard ``deviation``. This is also known as a Gaussian distribution.
  3641. \ **Note:** This method uses the `Box-Muller transform <https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform>`__ algorithm.
  3642. .. rst-class:: classref-item-separator
  3643. ----
  3644. .. _class_@GlobalScope_method_randi:
  3645. .. rst-class:: classref-method
  3646. :ref:`int<class_int>` **randi**\ (\ ) :ref:`🔗<class_@GlobalScope_method_randi>`
  3647. Returns a random unsigned 32-bit integer. Use remainder to obtain a random value in the interval ``[0, N - 1]`` (where N is smaller than 2^32).
  3648. .. tabs::
  3649. .. code-tab:: gdscript
  3650. randi() # Returns random integer between 0 and 2^32 - 1
  3651. randi() % 20 # Returns random integer between 0 and 19
  3652. randi() % 100 # Returns random integer between 0 and 99
  3653. randi() % 100 + 1 # Returns random integer between 1 and 100
  3654. .. code-tab:: csharp
  3655. GD.Randi(); // Returns random integer between 0 and 2^32 - 1
  3656. GD.Randi() % 20; // Returns random integer between 0 and 19
  3657. GD.Randi() % 100; // Returns random integer between 0 and 99
  3658. GD.Randi() % 100 + 1; // Returns random integer between 1 and 100
  3659. .. rst-class:: classref-item-separator
  3660. ----
  3661. .. _class_@GlobalScope_method_randi_range:
  3662. .. rst-class:: classref-method
  3663. :ref:`int<class_int>` **randi_range**\ (\ from\: :ref:`int<class_int>`, to\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_randi_range>`
  3664. Returns a random signed 32-bit integer between ``from`` and ``to`` (inclusive). If ``to`` is lesser than ``from``, they are swapped.
  3665. .. tabs::
  3666. .. code-tab:: gdscript
  3667. randi_range(0, 1) # Returns either 0 or 1
  3668. randi_range(-10, 1000) # Returns random integer between -10 and 1000
  3669. .. code-tab:: csharp
  3670. GD.RandRange(0, 1); // Returns either 0 or 1
  3671. GD.RandRange(-10, 1000); // Returns random integer between -10 and 1000
  3672. .. rst-class:: classref-item-separator
  3673. ----
  3674. .. _class_@GlobalScope_method_randomize:
  3675. .. rst-class:: classref-method
  3676. |void| **randomize**\ (\ ) :ref:`🔗<class_@GlobalScope_method_randomize>`
  3677. Randomizes the seed (or the internal state) of the random number generator. The current implementation uses a number based on the device's time.
  3678. \ **Note:** This function is called automatically when the project is run. If you need to fix the seed to have consistent, reproducible results, use :ref:`seed()<class_@GlobalScope_method_seed>` to initialize the random number generator.
  3679. .. rst-class:: classref-item-separator
  3680. ----
  3681. .. _class_@GlobalScope_method_remap:
  3682. .. rst-class:: classref-method
  3683. :ref:`float<class_float>` **remap**\ (\ value\: :ref:`float<class_float>`, istart\: :ref:`float<class_float>`, istop\: :ref:`float<class_float>`, ostart\: :ref:`float<class_float>`, ostop\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_remap>`
  3684. Maps a ``value`` from range ``[istart, istop]`` to ``[ostart, ostop]``. See also :ref:`lerp()<class_@GlobalScope_method_lerp>` and :ref:`inverse_lerp()<class_@GlobalScope_method_inverse_lerp>`. If ``value`` is outside ``[istart, istop]``, then the resulting value will also be outside ``[ostart, ostop]``. If this is not desired, use :ref:`clamp()<class_@GlobalScope_method_clamp>` on the result of this function.
  3685. ::
  3686. remap(75, 0, 100, -1, 1) # Returns 0.5
  3687. For complex use cases where multiple ranges are needed, consider using :ref:`Curve<class_Curve>` or :ref:`Gradient<class_Gradient>` instead.
  3688. \ **Note:** If ``istart == istop``, the return value is undefined (most likely NaN, INF, or -INF).
  3689. .. rst-class:: classref-item-separator
  3690. ----
  3691. .. _class_@GlobalScope_method_rid_allocate_id:
  3692. .. rst-class:: classref-method
  3693. :ref:`int<class_int>` **rid_allocate_id**\ (\ ) :ref:`🔗<class_@GlobalScope_method_rid_allocate_id>`
  3694. Allocates a unique ID which can be used by the implementation to construct an RID. This is used mainly from native extensions to implement servers.
  3695. .. rst-class:: classref-item-separator
  3696. ----
  3697. .. _class_@GlobalScope_method_rid_from_int64:
  3698. .. rst-class:: classref-method
  3699. :ref:`RID<class_RID>` **rid_from_int64**\ (\ base\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_rid_from_int64>`
  3700. Creates an RID from a ``base``. This is used mainly from native extensions to build servers.
  3701. .. rst-class:: classref-item-separator
  3702. ----
  3703. .. _class_@GlobalScope_method_rotate_toward:
  3704. .. rst-class:: classref-method
  3705. :ref:`float<class_float>` **rotate_toward**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, delta\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_rotate_toward>`
  3706. Rotates ``from`` toward ``to`` by the ``delta`` amount. Will not go past ``to``.
  3707. Similar to :ref:`move_toward()<class_@GlobalScope_method_move_toward>`, but interpolates correctly when the angles wrap around :ref:`@GDScript.TAU<class_@GDScript_constant_TAU>`.
  3708. If ``delta`` is negative, this function will rotate away from ``to``, toward the opposite angle, and will not go past the opposite angle.
  3709. .. rst-class:: classref-item-separator
  3710. ----
  3711. .. _class_@GlobalScope_method_round:
  3712. .. rst-class:: classref-method
  3713. :ref:`Variant<class_Variant>` **round**\ (\ x\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_round>`
  3714. Rounds ``x`` to the nearest whole number, with halfway cases rounded away from 0. Supported types: :ref:`int<class_int>`, :ref:`float<class_float>`, :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>`, :ref:`Vector3i<class_Vector3i>`, :ref:`Vector4<class_Vector4>`, :ref:`Vector4i<class_Vector4i>`.
  3715. ::
  3716. round(2.4) # Returns 2
  3717. round(2.5) # Returns 3
  3718. round(2.6) # Returns 3
  3719. See also :ref:`floor()<class_@GlobalScope_method_floor>`, :ref:`ceil()<class_@GlobalScope_method_ceil>`, and :ref:`snapped()<class_@GlobalScope_method_snapped>`.
  3720. \ **Note:** For better type safety, use :ref:`roundf()<class_@GlobalScope_method_roundf>`, :ref:`roundi()<class_@GlobalScope_method_roundi>`, :ref:`Vector2.round()<class_Vector2_method_round>`, :ref:`Vector3.round()<class_Vector3_method_round>`, or :ref:`Vector4.round()<class_Vector4_method_round>`.
  3721. .. rst-class:: classref-item-separator
  3722. ----
  3723. .. _class_@GlobalScope_method_roundf:
  3724. .. rst-class:: classref-method
  3725. :ref:`float<class_float>` **roundf**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_roundf>`
  3726. Rounds ``x`` to the nearest whole number, with halfway cases rounded away from 0.
  3727. A type-safe version of :ref:`round()<class_@GlobalScope_method_round>`, returning a :ref:`float<class_float>`.
  3728. .. rst-class:: classref-item-separator
  3729. ----
  3730. .. _class_@GlobalScope_method_roundi:
  3731. .. rst-class:: classref-method
  3732. :ref:`int<class_int>` **roundi**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_roundi>`
  3733. Rounds ``x`` to the nearest whole number, with halfway cases rounded away from 0.
  3734. A type-safe version of :ref:`round()<class_@GlobalScope_method_round>`, returning an :ref:`int<class_int>`.
  3735. .. rst-class:: classref-item-separator
  3736. ----
  3737. .. _class_@GlobalScope_method_seed:
  3738. .. rst-class:: classref-method
  3739. |void| **seed**\ (\ base\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_seed>`
  3740. Sets the seed for the random number generator to ``base``. Setting the seed manually can ensure consistent, repeatable results for most random functions.
  3741. .. tabs::
  3742. .. code-tab:: gdscript
  3743. var my_seed = "Godot Rocks".hash()
  3744. seed(my_seed)
  3745. var a = randf() + randi()
  3746. seed(my_seed)
  3747. var b = randf() + randi()
  3748. # a and b are now identical
  3749. .. code-tab:: csharp
  3750. ulong mySeed = (ulong)GD.Hash("Godot Rocks");
  3751. GD.Seed(mySeed);
  3752. var a = GD.Randf() + GD.Randi();
  3753. GD.Seed(mySeed);
  3754. var b = GD.Randf() + GD.Randi();
  3755. // a and b are now identical
  3756. .. rst-class:: classref-item-separator
  3757. ----
  3758. .. _class_@GlobalScope_method_sign:
  3759. .. rst-class:: classref-method
  3760. :ref:`Variant<class_Variant>` **sign**\ (\ x\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_sign>`
  3761. Returns the same type of :ref:`Variant<class_Variant>` as ``x``, with ``-1`` for negative values, ``1`` for positive values, and ``0`` for zeros. For ``nan`` values it returns 0.
  3762. Supported types: :ref:`int<class_int>`, :ref:`float<class_float>`, :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>`, :ref:`Vector3i<class_Vector3i>`, :ref:`Vector4<class_Vector4>`, :ref:`Vector4i<class_Vector4i>`.
  3763. ::
  3764. sign(-6.0) # Returns -1
  3765. sign(0.0) # Returns 0
  3766. sign(6.0) # Returns 1
  3767. sign(NAN) # Returns 0
  3768. sign(Vector3(-6.0, 0.0, 6.0)) # Returns (-1, 0, 1)
  3769. \ **Note:** For better type safety, use :ref:`signf()<class_@GlobalScope_method_signf>`, :ref:`signi()<class_@GlobalScope_method_signi>`, :ref:`Vector2.sign()<class_Vector2_method_sign>`, :ref:`Vector2i.sign()<class_Vector2i_method_sign>`, :ref:`Vector3.sign()<class_Vector3_method_sign>`, :ref:`Vector3i.sign()<class_Vector3i_method_sign>`, :ref:`Vector4.sign()<class_Vector4_method_sign>`, or :ref:`Vector4i.sign()<class_Vector4i_method_sign>`.
  3770. .. rst-class:: classref-item-separator
  3771. ----
  3772. .. _class_@GlobalScope_method_signf:
  3773. .. rst-class:: classref-method
  3774. :ref:`float<class_float>` **signf**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_signf>`
  3775. Returns ``-1.0`` if ``x`` is negative, ``1.0`` if ``x`` is positive, and ``0.0`` if ``x`` is zero. For ``nan`` values of ``x`` it returns 0.0.
  3776. ::
  3777. signf(-6.5) # Returns -1.0
  3778. signf(0.0) # Returns 0.0
  3779. signf(6.5) # Returns 1.0
  3780. signf(NAN) # Returns 0.0
  3781. .. rst-class:: classref-item-separator
  3782. ----
  3783. .. _class_@GlobalScope_method_signi:
  3784. .. rst-class:: classref-method
  3785. :ref:`int<class_int>` **signi**\ (\ x\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_signi>`
  3786. Returns ``-1`` if ``x`` is negative, ``1`` if ``x`` is positive, and ``0`` if ``x`` is zero.
  3787. ::
  3788. signi(-6) # Returns -1
  3789. signi(0) # Returns 0
  3790. signi(6) # Returns 1
  3791. .. rst-class:: classref-item-separator
  3792. ----
  3793. .. _class_@GlobalScope_method_sin:
  3794. .. rst-class:: classref-method
  3795. :ref:`float<class_float>` **sin**\ (\ angle_rad\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_sin>`
  3796. Returns the sine of angle ``angle_rad`` in radians.
  3797. ::
  3798. sin(0.523599) # Returns 0.5
  3799. sin(deg_to_rad(90)) # Returns 1.0
  3800. .. rst-class:: classref-item-separator
  3801. ----
  3802. .. _class_@GlobalScope_method_sinh:
  3803. .. rst-class:: classref-method
  3804. :ref:`float<class_float>` **sinh**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_sinh>`
  3805. Returns the hyperbolic sine of ``x``.
  3806. ::
  3807. var a = log(2.0) # Returns 0.693147
  3808. sinh(a) # Returns 0.75
  3809. .. rst-class:: classref-item-separator
  3810. ----
  3811. .. _class_@GlobalScope_method_smoothstep:
  3812. .. rst-class:: classref-method
  3813. :ref:`float<class_float>` **smoothstep**\ (\ from\: :ref:`float<class_float>`, to\: :ref:`float<class_float>`, x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_smoothstep>`
  3814. Returns a smooth cubic Hermite interpolation between ``0`` and ``1``.
  3815. For positive ranges (when ``from <= to``) the return value is ``0`` when ``x <= from``, and ``1`` when ``x >= to``. If ``x`` lies between ``from`` and ``to``, the return value follows an S-shaped curve that smoothly transitions from ``0`` to ``1``.
  3816. For negative ranges (when ``from > to``) the function is mirrored and returns ``1`` when ``x <= to`` and ``0`` when ``x >= from``.
  3817. This S-shaped curve is the cubic Hermite interpolator, given by ``f(y) = 3*y^2 - 2*y^3`` where ``y = (x-from) / (to-from)``.
  3818. ::
  3819. smoothstep(0, 2, -5.0) # Returns 0.0
  3820. smoothstep(0, 2, 0.5) # Returns 0.15625
  3821. smoothstep(0, 2, 1.0) # Returns 0.5
  3822. smoothstep(0, 2, 2.0) # Returns 1.0
  3823. Compared to :ref:`ease()<class_@GlobalScope_method_ease>` with a curve value of ``-1.6521``, :ref:`smoothstep()<class_@GlobalScope_method_smoothstep>` returns the smoothest possible curve with no sudden changes in the derivative. If you need to perform more advanced transitions, use :ref:`Tween<class_Tween>` or :ref:`AnimationPlayer<class_AnimationPlayer>`.
  3824. \ `Comparison between smoothstep() and ease(x, -1.6521) return values <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/smoothstep_ease_comparison.png>`__\
  3825. \ `Smoothstep() return values with positive, zero, and negative ranges <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/smoothstep_range.webp>`__
  3826. .. rst-class:: classref-item-separator
  3827. ----
  3828. .. _class_@GlobalScope_method_snapped:
  3829. .. rst-class:: classref-method
  3830. :ref:`Variant<class_Variant>` **snapped**\ (\ x\: :ref:`Variant<class_Variant>`, step\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_snapped>`
  3831. Returns the multiple of ``step`` that is the closest to ``x``. This can also be used to round a floating-point number to an arbitrary number of decimals.
  3832. The returned value is the same type of :ref:`Variant<class_Variant>` as ``step``. Supported types: :ref:`int<class_int>`, :ref:`float<class_float>`, :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>`, :ref:`Vector3i<class_Vector3i>`, :ref:`Vector4<class_Vector4>`, :ref:`Vector4i<class_Vector4i>`.
  3833. ::
  3834. snapped(100, 32) # Returns 96
  3835. snapped(3.14159, 0.01) # Returns 3.14
  3836. snapped(Vector2(34, 70), Vector2(8, 8)) # Returns (32, 72)
  3837. See also :ref:`ceil()<class_@GlobalScope_method_ceil>`, :ref:`floor()<class_@GlobalScope_method_floor>`, and :ref:`round()<class_@GlobalScope_method_round>`.
  3838. \ **Note:** For better type safety, use :ref:`snappedf()<class_@GlobalScope_method_snappedf>`, :ref:`snappedi()<class_@GlobalScope_method_snappedi>`, :ref:`Vector2.snapped()<class_Vector2_method_snapped>`, :ref:`Vector2i.snapped()<class_Vector2i_method_snapped>`, :ref:`Vector3.snapped()<class_Vector3_method_snapped>`, :ref:`Vector3i.snapped()<class_Vector3i_method_snapped>`, :ref:`Vector4.snapped()<class_Vector4_method_snapped>`, or :ref:`Vector4i.snapped()<class_Vector4i_method_snapped>`.
  3839. .. rst-class:: classref-item-separator
  3840. ----
  3841. .. _class_@GlobalScope_method_snappedf:
  3842. .. rst-class:: classref-method
  3843. :ref:`float<class_float>` **snappedf**\ (\ x\: :ref:`float<class_float>`, step\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_snappedf>`
  3844. Returns the multiple of ``step`` that is the closest to ``x``. This can also be used to round a floating-point number to an arbitrary number of decimals.
  3845. A type-safe version of :ref:`snapped()<class_@GlobalScope_method_snapped>`, returning a :ref:`float<class_float>`.
  3846. ::
  3847. snappedf(32.0, 2.5) # Returns 32.5
  3848. snappedf(3.14159, 0.01) # Returns 3.14
  3849. .. rst-class:: classref-item-separator
  3850. ----
  3851. .. _class_@GlobalScope_method_snappedi:
  3852. .. rst-class:: classref-method
  3853. :ref:`int<class_int>` **snappedi**\ (\ x\: :ref:`float<class_float>`, step\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_snappedi>`
  3854. Returns the multiple of ``step`` that is the closest to ``x``.
  3855. A type-safe version of :ref:`snapped()<class_@GlobalScope_method_snapped>`, returning an :ref:`int<class_int>`.
  3856. ::
  3857. snappedi(53, 16) # Returns 48
  3858. snappedi(4096, 100) # Returns 4100
  3859. .. rst-class:: classref-item-separator
  3860. ----
  3861. .. _class_@GlobalScope_method_sqrt:
  3862. .. rst-class:: classref-method
  3863. :ref:`float<class_float>` **sqrt**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_sqrt>`
  3864. Returns the square root of ``x``, where ``x`` is a non-negative number.
  3865. ::
  3866. sqrt(9) # Returns 3
  3867. sqrt(10.24) # Returns 3.2
  3868. sqrt(-1) # Returns NaN
  3869. \ **Note:** Negative values of ``x`` return NaN ("Not a Number"). In C#, if you need negative inputs, use ``System.Numerics.Complex``.
  3870. .. rst-class:: classref-item-separator
  3871. ----
  3872. .. _class_@GlobalScope_method_step_decimals:
  3873. .. rst-class:: classref-method
  3874. :ref:`int<class_int>` **step_decimals**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_step_decimals>`
  3875. Returns the position of the first non-zero digit, after the decimal point. Note that the maximum return value is 10, which is a design decision in the implementation.
  3876. ::
  3877. var n = step_decimals(5) # n is 0
  3878. n = step_decimals(1.0005) # n is 4
  3879. n = step_decimals(0.000000005) # n is 9
  3880. .. rst-class:: classref-item-separator
  3881. ----
  3882. .. _class_@GlobalScope_method_str:
  3883. .. rst-class:: classref-method
  3884. :ref:`String<class_String>` **str**\ (\ ...\ ) |vararg| :ref:`🔗<class_@GlobalScope_method_str>`
  3885. Converts one or more arguments of any :ref:`Variant<class_Variant>` type to a :ref:`String<class_String>` in the best way possible.
  3886. ::
  3887. var a = [10, 20, 30]
  3888. var b = str(a)
  3889. print(len(a)) # Prints 3 (the number of elements in the array).
  3890. print(len(b)) # Prints 12 (the length of the string "[10, 20, 30]").
  3891. .. rst-class:: classref-item-separator
  3892. ----
  3893. .. _class_@GlobalScope_method_str_to_var:
  3894. .. rst-class:: classref-method
  3895. :ref:`Variant<class_Variant>` **str_to_var**\ (\ string\: :ref:`String<class_String>`\ ) :ref:`🔗<class_@GlobalScope_method_str_to_var>`
  3896. Converts a formatted ``string`` that was returned by :ref:`var_to_str()<class_@GlobalScope_method_var_to_str>` to the original :ref:`Variant<class_Variant>`.
  3897. .. tabs::
  3898. .. code-tab:: gdscript
  3899. var data = '{ "a": 1, "b": 2 }' # data is a String
  3900. var dict = str_to_var(data) # dict is a Dictionary
  3901. print(dict["a"]) # Prints 1
  3902. .. code-tab:: csharp
  3903. string data = "{ \"a\": 1, \"b\": 2 }"; // data is a string
  3904. var dict = GD.StrToVar(data).AsGodotDictionary(); // dict is a Dictionary
  3905. GD.Print(dict["a"]); // Prints 1
  3906. .. rst-class:: classref-item-separator
  3907. ----
  3908. .. _class_@GlobalScope_method_tan:
  3909. .. rst-class:: classref-method
  3910. :ref:`float<class_float>` **tan**\ (\ angle_rad\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_tan>`
  3911. Returns the tangent of angle ``angle_rad`` in radians.
  3912. ::
  3913. tan(deg_to_rad(45)) # Returns 1
  3914. .. rst-class:: classref-item-separator
  3915. ----
  3916. .. _class_@GlobalScope_method_tanh:
  3917. .. rst-class:: classref-method
  3918. :ref:`float<class_float>` **tanh**\ (\ x\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_tanh>`
  3919. Returns the hyperbolic tangent of ``x``.
  3920. ::
  3921. var a = log(2.0) # Returns 0.693147
  3922. tanh(a) # Returns 0.6
  3923. .. rst-class:: classref-item-separator
  3924. ----
  3925. .. _class_@GlobalScope_method_type_convert:
  3926. .. rst-class:: classref-method
  3927. :ref:`Variant<class_Variant>` **type_convert**\ (\ variant\: :ref:`Variant<class_Variant>`, type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_type_convert>`
  3928. Converts the given ``variant`` to the given ``type``, using the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` values. This method is generous with how it handles types, it can automatically convert between array types, convert numeric :ref:`String<class_String>`\ s to :ref:`int<class_int>`, and converting most things to :ref:`String<class_String>`.
  3929. If the type conversion cannot be done, this method will return the default value for that type, for example converting :ref:`Rect2<class_Rect2>` to :ref:`Vector2<class_Vector2>` will always return :ref:`Vector2.ZERO<class_Vector2_constant_ZERO>`. This method will never show error messages as long as ``type`` is a valid Variant type.
  3930. The returned value is a :ref:`Variant<class_Variant>`, but the data inside and its type will be the same as the requested type.
  3931. ::
  3932. type_convert("Hi!", TYPE_INT) # Returns 0
  3933. type_convert("123", TYPE_INT) # Returns 123
  3934. type_convert(123.4, TYPE_INT) # Returns 123
  3935. type_convert(5, TYPE_VECTOR2) # Returns (0, 0)
  3936. type_convert("Hi!", TYPE_NIL) # Returns null
  3937. .. rst-class:: classref-item-separator
  3938. ----
  3939. .. _class_@GlobalScope_method_type_string:
  3940. .. rst-class:: classref-method
  3941. :ref:`String<class_String>` **type_string**\ (\ type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_type_string>`
  3942. Returns a human-readable name of the given ``type``, using the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` values.
  3943. ::
  3944. print(TYPE_INT) # Prints 2
  3945. print(type_string(TYPE_INT)) # Prints "int"
  3946. print(type_string(TYPE_STRING)) # Prints "String"
  3947. See also :ref:`typeof()<class_@GlobalScope_method_typeof>`.
  3948. .. rst-class:: classref-item-separator
  3949. ----
  3950. .. _class_@GlobalScope_method_typeof:
  3951. .. rst-class:: classref-method
  3952. :ref:`int<class_int>` **typeof**\ (\ variable\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_typeof>`
  3953. Returns the internal type of the given ``variable``, using the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` values.
  3954. ::
  3955. var json = JSON.new()
  3956. json.parse('["a", "b", "c"]')
  3957. var result = json.get_data()
  3958. if result is Array:
  3959. print(result[0]) # Prints "a"
  3960. else:
  3961. print("Unexpected result!")
  3962. See also :ref:`type_string()<class_@GlobalScope_method_type_string>`.
  3963. .. rst-class:: classref-item-separator
  3964. ----
  3965. .. _class_@GlobalScope_method_var_to_bytes:
  3966. .. rst-class:: classref-method
  3967. :ref:`PackedByteArray<class_PackedByteArray>` **var_to_bytes**\ (\ variable\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_var_to_bytes>`
  3968. Encodes a :ref:`Variant<class_Variant>` value to a byte array, without encoding objects. Deserialization can be done with :ref:`bytes_to_var()<class_@GlobalScope_method_bytes_to_var>`.
  3969. \ **Note:** If you need object serialization, see :ref:`var_to_bytes_with_objects()<class_@GlobalScope_method_var_to_bytes_with_objects>`.
  3970. \ **Note:** Encoding :ref:`Callable<class_Callable>` is not supported and will result in an empty value, regardless of the data.
  3971. .. rst-class:: classref-item-separator
  3972. ----
  3973. .. _class_@GlobalScope_method_var_to_bytes_with_objects:
  3974. .. rst-class:: classref-method
  3975. :ref:`PackedByteArray<class_PackedByteArray>` **var_to_bytes_with_objects**\ (\ variable\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_var_to_bytes_with_objects>`
  3976. Encodes a :ref:`Variant<class_Variant>` value to a byte array. Encoding objects is allowed (and can potentially include executable code). Deserialization can be done with :ref:`bytes_to_var_with_objects()<class_@GlobalScope_method_bytes_to_var_with_objects>`.
  3977. \ **Note:** Encoding :ref:`Callable<class_Callable>` is not supported and will result in an empty value, regardless of the data.
  3978. .. rst-class:: classref-item-separator
  3979. ----
  3980. .. _class_@GlobalScope_method_var_to_str:
  3981. .. rst-class:: classref-method
  3982. :ref:`String<class_String>` **var_to_str**\ (\ variable\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_var_to_str>`
  3983. Converts a :ref:`Variant<class_Variant>` ``variable`` to a formatted :ref:`String<class_String>` that can then be parsed using :ref:`str_to_var()<class_@GlobalScope_method_str_to_var>`.
  3984. .. tabs::
  3985. .. code-tab:: gdscript
  3986. var a = { "a": 1, "b": 2 }
  3987. print(var_to_str(a))
  3988. .. code-tab:: csharp
  3989. var a = new Godot.Collections.Dictionary { ["a"] = 1, ["b"] = 2 };
  3990. GD.Print(GD.VarToStr(a));
  3991. Prints:
  3992. .. code:: text
  3993. {
  3994. "a": 1,
  3995. "b": 2
  3996. }
  3997. \ **Note:** Converting :ref:`Signal<class_Signal>` or :ref:`Callable<class_Callable>` is not supported and will result in an empty value for these types, regardless of their data.
  3998. .. rst-class:: classref-item-separator
  3999. ----
  4000. .. _class_@GlobalScope_method_weakref:
  4001. .. rst-class:: classref-method
  4002. :ref:`Variant<class_Variant>` **weakref**\ (\ obj\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_weakref>`
  4003. Returns a :ref:`WeakRef<class_WeakRef>` instance holding a weak reference to ``obj``. Returns an empty :ref:`WeakRef<class_WeakRef>` instance if ``obj`` is ``null``. Prints an error and returns ``null`` if ``obj`` is neither :ref:`Object<class_Object>`-derived nor ``null``.
  4004. A weak reference to an object is not enough to keep the object alive: when the only remaining references to a referent are weak references, garbage collection is free to destroy the referent and reuse its memory for something else. However, until the object is actually destroyed the weak reference may return the object even if there are no strong references to it.
  4005. .. rst-class:: classref-item-separator
  4006. ----
  4007. .. _class_@GlobalScope_method_wrap:
  4008. .. rst-class:: classref-method
  4009. :ref:`Variant<class_Variant>` **wrap**\ (\ value\: :ref:`Variant<class_Variant>`, min\: :ref:`Variant<class_Variant>`, max\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_@GlobalScope_method_wrap>`
  4010. Wraps the :ref:`Variant<class_Variant>` ``value`` between ``min`` and ``max``. ``min`` is *inclusive* while ``max`` is *exclusive*. This can be used for creating loop-like behavior or infinite surfaces.
  4011. Variant types :ref:`int<class_int>` and :ref:`float<class_float>` are supported. If any of the arguments is :ref:`float<class_float>`, this function returns a :ref:`float<class_float>`, otherwise it returns an :ref:`int<class_int>`.
  4012. ::
  4013. var a = wrap(4, 5, 10)
  4014. # a is 9 (int)
  4015. var a = wrap(7, 5, 10)
  4016. # a is 7 (int)
  4017. var a = wrap(10.5, 5, 10)
  4018. # a is 5.5 (float)
  4019. .. rst-class:: classref-item-separator
  4020. ----
  4021. .. _class_@GlobalScope_method_wrapf:
  4022. .. rst-class:: classref-method
  4023. :ref:`float<class_float>` **wrapf**\ (\ value\: :ref:`float<class_float>`, min\: :ref:`float<class_float>`, max\: :ref:`float<class_float>`\ ) :ref:`🔗<class_@GlobalScope_method_wrapf>`
  4024. Wraps the float ``value`` between ``min`` and ``max``. ``min`` is *inclusive* while ``max`` is *exclusive*. This can be used for creating loop-like behavior or infinite surfaces.
  4025. ::
  4026. # Infinite loop between 5.0 and 9.9
  4027. value = wrapf(value + 0.1, 5.0, 10.0)
  4028. ::
  4029. # Infinite rotation (in radians)
  4030. angle = wrapf(angle + 0.1, 0.0, TAU)
  4031. ::
  4032. # Infinite rotation (in radians)
  4033. angle = wrapf(angle + 0.1, -PI, PI)
  4034. \ **Note:** If ``min`` is ``0``, this is equivalent to :ref:`fposmod()<class_@GlobalScope_method_fposmod>`, so prefer using that instead. :ref:`wrapf()<class_@GlobalScope_method_wrapf>` is more flexible than using the :ref:`fposmod()<class_@GlobalScope_method_fposmod>` approach by giving the user control over the minimum value.
  4035. .. rst-class:: classref-item-separator
  4036. ----
  4037. .. _class_@GlobalScope_method_wrapi:
  4038. .. rst-class:: classref-method
  4039. :ref:`int<class_int>` **wrapi**\ (\ value\: :ref:`int<class_int>`, min\: :ref:`int<class_int>`, max\: :ref:`int<class_int>`\ ) :ref:`🔗<class_@GlobalScope_method_wrapi>`
  4040. Wraps the integer ``value`` between ``min`` and ``max``. ``min`` is *inclusive* while ``max`` is *exclusive*. This can be used for creating loop-like behavior or infinite surfaces.
  4041. ::
  4042. # Infinite loop between 5 and 9
  4043. frame = wrapi(frame + 1, 5, 10)
  4044. ::
  4045. # result is -2
  4046. var result = wrapi(-6, -5, -1)
  4047. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  4048. .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
  4049. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  4050. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  4051. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  4052. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  4053. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  4054. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  4055. .. |void| replace:: :abbr:`void (No return value.)`