[email protected] 300 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352
  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 related to GDScript which can be accessed in any script 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:`GodotSharp<class_GodotSharp>` | :ref:`GodotSharp<class_@GlobalScope_property_GodotSharp>` |
  49. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  50. | :ref:`IP<class_IP>` | :ref:`IP<class_@GlobalScope_property_IP>` |
  51. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  52. | :ref:`Input<class_Input>` | :ref:`Input<class_@GlobalScope_property_Input>` |
  53. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  54. | :ref:`InputMap<class_InputMap>` | :ref:`InputMap<class_@GlobalScope_property_InputMap>` |
  55. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  56. | :ref:`JavaClassWrapper<class_JavaClassWrapper>` | :ref:`JavaClassWrapper<class_@GlobalScope_property_JavaClassWrapper>` |
  57. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  58. | :ref:`JavaScriptBridge<class_JavaScriptBridge>` | :ref:`JavaScriptBridge<class_@GlobalScope_property_JavaScriptBridge>` |
  59. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  60. | :ref:`Marshalls<class_Marshalls>` | :ref:`Marshalls<class_@GlobalScope_property_Marshalls>` |
  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:`NavigationServer3D<class_NavigationServer3D>` | :ref:`NavigationServer3D<class_@GlobalScope_property_NavigationServer3D>` |
  67. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  68. | :ref:`OS<class_OS>` | :ref:`OS<class_@GlobalScope_property_OS>` |
  69. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  70. | :ref:`Performance<class_Performance>` | :ref:`Performance<class_@GlobalScope_property_Performance>` |
  71. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  72. | :ref:`PhysicsServer2D<class_PhysicsServer2D>` | :ref:`PhysicsServer2D<class_@GlobalScope_property_PhysicsServer2D>` |
  73. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  74. | :ref:`PhysicsServer2DManager<class_PhysicsServer2DManager>` | :ref:`PhysicsServer2DManager<class_@GlobalScope_property_PhysicsServer2DManager>` |
  75. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  76. | :ref:`PhysicsServer3D<class_PhysicsServer3D>` | :ref:`PhysicsServer3D<class_@GlobalScope_property_PhysicsServer3D>` |
  77. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  78. | :ref:`PhysicsServer3DManager<class_PhysicsServer3DManager>` | :ref:`PhysicsServer3DManager<class_@GlobalScope_property_PhysicsServer3DManager>` |
  79. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  80. | :ref:`ProjectSettings<class_ProjectSettings>` | :ref:`ProjectSettings<class_@GlobalScope_property_ProjectSettings>` |
  81. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  82. | :ref:`RenderingServer<class_RenderingServer>` | :ref:`RenderingServer<class_@GlobalScope_property_RenderingServer>` |
  83. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  84. | :ref:`ResourceLoader<class_ResourceLoader>` | :ref:`ResourceLoader<class_@GlobalScope_property_ResourceLoader>` |
  85. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  86. | :ref:`ResourceSaver<class_ResourceSaver>` | :ref:`ResourceSaver<class_@GlobalScope_property_ResourceSaver>` |
  87. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  88. | :ref:`ResourceUID<class_ResourceUID>` | :ref:`ResourceUID<class_@GlobalScope_property_ResourceUID>` |
  89. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  90. | :ref:`TextServerManager<class_TextServerManager>` | :ref:`TextServerManager<class_@GlobalScope_property_TextServerManager>` |
  91. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  92. | :ref:`ThemeDB<class_ThemeDB>` | :ref:`ThemeDB<class_@GlobalScope_property_ThemeDB>` |
  93. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  94. | :ref:`Time<class_Time>` | :ref:`Time<class_@GlobalScope_property_Time>` |
  95. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  96. | :ref:`TranslationServer<class_TranslationServer>` | :ref:`TranslationServer<class_@GlobalScope_property_TranslationServer>` |
  97. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  98. | :ref:`WorkerThreadPool<class_WorkerThreadPool>` | :ref:`WorkerThreadPool<class_@GlobalScope_property_WorkerThreadPool>` |
  99. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  100. | :ref:`XRServer<class_XRServer>` | :ref:`XRServer<class_@GlobalScope_property_XRServer>` |
  101. +---------------------------------------------------------------+-------------------------------------------------------------------------------------+
  102. .. rst-class:: classref-reftable-group
  103. Methods
  104. -------
  105. .. table::
  106. :widths: auto
  107. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  108. | :ref:`Variant<class_Variant>` | :ref:`abs<class_@GlobalScope_method_abs>` **(** :ref:`Variant<class_Variant>` x **)** |
  109. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  110. | :ref:`float<class_float>` | :ref:`absf<class_@GlobalScope_method_absf>` **(** :ref:`float<class_float>` x **)** |
  111. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  112. | :ref:`int<class_int>` | :ref:`absi<class_@GlobalScope_method_absi>` **(** :ref:`int<class_int>` x **)** |
  113. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  114. | :ref:`float<class_float>` | :ref:`acos<class_@GlobalScope_method_acos>` **(** :ref:`float<class_float>` x **)** |
  115. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  116. | :ref:`float<class_float>` | :ref:`acosh<class_@GlobalScope_method_acosh>` **(** :ref:`float<class_float>` x **)** |
  117. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  118. | :ref:`float<class_float>` | :ref:`asin<class_@GlobalScope_method_asin>` **(** :ref:`float<class_float>` x **)** |
  119. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  120. | :ref:`float<class_float>` | :ref:`asinh<class_@GlobalScope_method_asinh>` **(** :ref:`float<class_float>` x **)** |
  121. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  122. | :ref:`float<class_float>` | :ref:`atan<class_@GlobalScope_method_atan>` **(** :ref:`float<class_float>` x **)** |
  123. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  124. | :ref:`float<class_float>` | :ref:`atan2<class_@GlobalScope_method_atan2>` **(** :ref:`float<class_float>` y, :ref:`float<class_float>` x **)** |
  125. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  126. | :ref:`float<class_float>` | :ref:`atanh<class_@GlobalScope_method_atanh>` **(** :ref:`float<class_float>` x **)** |
  127. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  128. | :ref:`float<class_float>` | :ref:`bezier_derivative<class_@GlobalScope_method_bezier_derivative>` **(** :ref:`float<class_float>` start, :ref:`float<class_float>` control_1, :ref:`float<class_float>` control_2, :ref:`float<class_float>` end, :ref:`float<class_float>` t **)** |
  129. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  130. | :ref:`float<class_float>` | :ref:`bezier_interpolate<class_@GlobalScope_method_bezier_interpolate>` **(** :ref:`float<class_float>` start, :ref:`float<class_float>` control_1, :ref:`float<class_float>` control_2, :ref:`float<class_float>` end, :ref:`float<class_float>` t **)** |
  131. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  132. | :ref:`Variant<class_Variant>` | :ref:`bytes_to_var<class_@GlobalScope_method_bytes_to_var>` **(** :ref:`PackedByteArray<class_PackedByteArray>` bytes **)** |
  133. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  134. | :ref:`Variant<class_Variant>` | :ref:`bytes_to_var_with_objects<class_@GlobalScope_method_bytes_to_var_with_objects>` **(** :ref:`PackedByteArray<class_PackedByteArray>` bytes **)** |
  135. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  136. | :ref:`Variant<class_Variant>` | :ref:`ceil<class_@GlobalScope_method_ceil>` **(** :ref:`Variant<class_Variant>` x **)** |
  137. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  138. | :ref:`float<class_float>` | :ref:`ceilf<class_@GlobalScope_method_ceilf>` **(** :ref:`float<class_float>` x **)** |
  139. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  140. | :ref:`int<class_int>` | :ref:`ceili<class_@GlobalScope_method_ceili>` **(** :ref:`float<class_float>` x **)** |
  141. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  142. | :ref:`Variant<class_Variant>` | :ref:`clamp<class_@GlobalScope_method_clamp>` **(** :ref:`Variant<class_Variant>` value, :ref:`Variant<class_Variant>` min, :ref:`Variant<class_Variant>` max **)** |
  143. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  144. | :ref:`float<class_float>` | :ref:`clampf<class_@GlobalScope_method_clampf>` **(** :ref:`float<class_float>` value, :ref:`float<class_float>` min, :ref:`float<class_float>` max **)** |
  145. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  146. | :ref:`int<class_int>` | :ref:`clampi<class_@GlobalScope_method_clampi>` **(** :ref:`int<class_int>` value, :ref:`int<class_int>` min, :ref:`int<class_int>` max **)** |
  147. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  148. | :ref:`float<class_float>` | :ref:`cos<class_@GlobalScope_method_cos>` **(** :ref:`float<class_float>` angle_rad **)** |
  149. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  150. | :ref:`float<class_float>` | :ref:`cosh<class_@GlobalScope_method_cosh>` **(** :ref:`float<class_float>` x **)** |
  151. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  152. | :ref:`float<class_float>` | :ref:`cubic_interpolate<class_@GlobalScope_method_cubic_interpolate>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` pre, :ref:`float<class_float>` post, :ref:`float<class_float>` weight **)** |
  153. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  154. | :ref:`float<class_float>` | :ref:`cubic_interpolate_angle<class_@GlobalScope_method_cubic_interpolate_angle>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` pre, :ref:`float<class_float>` post, :ref:`float<class_float>` weight **)** |
  155. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  156. | :ref:`float<class_float>` | :ref:`cubic_interpolate_angle_in_time<class_@GlobalScope_method_cubic_interpolate_angle_in_time>` **(** :ref:`float<class_float>` 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 **)** |
  157. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  158. | :ref:`float<class_float>` | :ref:`cubic_interpolate_in_time<class_@GlobalScope_method_cubic_interpolate_in_time>` **(** :ref:`float<class_float>` 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 **)** |
  159. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  160. | :ref:`float<class_float>` | :ref:`db_to_linear<class_@GlobalScope_method_db_to_linear>` **(** :ref:`float<class_float>` db **)** |
  161. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  162. | :ref:`float<class_float>` | :ref:`deg_to_rad<class_@GlobalScope_method_deg_to_rad>` **(** :ref:`float<class_float>` deg **)** |
  163. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  164. | :ref:`float<class_float>` | :ref:`ease<class_@GlobalScope_method_ease>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` curve **)** |
  165. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  166. | :ref:`String<class_String>` | :ref:`error_string<class_@GlobalScope_method_error_string>` **(** :ref:`int<class_int>` error **)** |
  167. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  168. | :ref:`float<class_float>` | :ref:`exp<class_@GlobalScope_method_exp>` **(** :ref:`float<class_float>` x **)** |
  169. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  170. | :ref:`Variant<class_Variant>` | :ref:`floor<class_@GlobalScope_method_floor>` **(** :ref:`Variant<class_Variant>` x **)** |
  171. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | :ref:`float<class_float>` | :ref:`floorf<class_@GlobalScope_method_floorf>` **(** :ref:`float<class_float>` x **)** |
  173. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | :ref:`int<class_int>` | :ref:`floori<class_@GlobalScope_method_floori>` **(** :ref:`float<class_float>` x **)** |
  175. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | :ref:`float<class_float>` | :ref:`fmod<class_@GlobalScope_method_fmod>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)** |
  177. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | :ref:`float<class_float>` | :ref:`fposmod<class_@GlobalScope_method_fposmod>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)** |
  179. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | :ref:`int<class_int>` | :ref:`hash<class_@GlobalScope_method_hash>` **(** :ref:`Variant<class_Variant>` variable **)** |
  181. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | :ref:`Object<class_Object>` | :ref:`instance_from_id<class_@GlobalScope_method_instance_from_id>` **(** :ref:`int<class_int>` instance_id **)** |
  183. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | :ref:`float<class_float>` | :ref:`inverse_lerp<class_@GlobalScope_method_inverse_lerp>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)** |
  185. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | :ref:`bool<class_bool>` | :ref:`is_equal_approx<class_@GlobalScope_method_is_equal_approx>` **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b **)** |
  187. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | :ref:`bool<class_bool>` | :ref:`is_finite<class_@GlobalScope_method_is_finite>` **(** :ref:`float<class_float>` x **)** |
  189. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | :ref:`bool<class_bool>` | :ref:`is_inf<class_@GlobalScope_method_is_inf>` **(** :ref:`float<class_float>` x **)** |
  191. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | :ref:`bool<class_bool>` | :ref:`is_instance_id_valid<class_@GlobalScope_method_is_instance_id_valid>` **(** :ref:`int<class_int>` id **)** |
  193. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. | :ref:`bool<class_bool>` | :ref:`is_instance_valid<class_@GlobalScope_method_is_instance_valid>` **(** :ref:`Variant<class_Variant>` instance **)** |
  195. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  196. | :ref:`bool<class_bool>` | :ref:`is_nan<class_@GlobalScope_method_is_nan>` **(** :ref:`float<class_float>` x **)** |
  197. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  198. | :ref:`bool<class_bool>` | :ref:`is_same<class_@GlobalScope_method_is_same>` **(** :ref:`Variant<class_Variant>` a, :ref:`Variant<class_Variant>` b **)** |
  199. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  200. | :ref:`bool<class_bool>` | :ref:`is_zero_approx<class_@GlobalScope_method_is_zero_approx>` **(** :ref:`float<class_float>` x **)** |
  201. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  202. | :ref:`Variant<class_Variant>` | :ref:`lerp<class_@GlobalScope_method_lerp>` **(** :ref:`Variant<class_Variant>` from, :ref:`Variant<class_Variant>` to, :ref:`Variant<class_Variant>` weight **)** |
  203. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  204. | :ref:`float<class_float>` | :ref:`lerp_angle<class_@GlobalScope_method_lerp_angle>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)** |
  205. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  206. | :ref:`float<class_float>` | :ref:`lerpf<class_@GlobalScope_method_lerpf>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)** |
  207. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  208. | :ref:`float<class_float>` | :ref:`linear_to_db<class_@GlobalScope_method_linear_to_db>` **(** :ref:`float<class_float>` lin **)** |
  209. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  210. | :ref:`float<class_float>` | :ref:`log<class_@GlobalScope_method_log>` **(** :ref:`float<class_float>` x **)** |
  211. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  212. | :ref:`Variant<class_Variant>` | :ref:`max<class_@GlobalScope_method_max>` **(** ... **)** |vararg| |
  213. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  214. | :ref:`float<class_float>` | :ref:`maxf<class_@GlobalScope_method_maxf>` **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b **)** |
  215. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  216. | :ref:`int<class_int>` | :ref:`maxi<class_@GlobalScope_method_maxi>` **(** :ref:`int<class_int>` a, :ref:`int<class_int>` b **)** |
  217. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  218. | :ref:`Variant<class_Variant>` | :ref:`min<class_@GlobalScope_method_min>` **(** ... **)** |vararg| |
  219. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  220. | :ref:`float<class_float>` | :ref:`minf<class_@GlobalScope_method_minf>` **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b **)** |
  221. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  222. | :ref:`int<class_int>` | :ref:`mini<class_@GlobalScope_method_mini>` **(** :ref:`int<class_int>` a, :ref:`int<class_int>` b **)** |
  223. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  224. | :ref:`float<class_float>` | :ref:`move_toward<class_@GlobalScope_method_move_toward>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` delta **)** |
  225. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  226. | :ref:`int<class_int>` | :ref:`nearest_po2<class_@GlobalScope_method_nearest_po2>` **(** :ref:`int<class_int>` value **)** |
  227. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  228. | :ref:`float<class_float>` | :ref:`pingpong<class_@GlobalScope_method_pingpong>` **(** :ref:`float<class_float>` value, :ref:`float<class_float>` length **)** |
  229. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  230. | :ref:`int<class_int>` | :ref:`posmod<class_@GlobalScope_method_posmod>` **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y **)** |
  231. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  232. | :ref:`float<class_float>` | :ref:`pow<class_@GlobalScope_method_pow>` **(** :ref:`float<class_float>` base, :ref:`float<class_float>` exp **)** |
  233. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  234. | void | :ref:`print<class_@GlobalScope_method_print>` **(** ... **)** |vararg| |
  235. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  236. | void | :ref:`print_rich<class_@GlobalScope_method_print_rich>` **(** ... **)** |vararg| |
  237. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  238. | void | :ref:`print_verbose<class_@GlobalScope_method_print_verbose>` **(** ... **)** |vararg| |
  239. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  240. | void | :ref:`printerr<class_@GlobalScope_method_printerr>` **(** ... **)** |vararg| |
  241. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  242. | void | :ref:`printraw<class_@GlobalScope_method_printraw>` **(** ... **)** |vararg| |
  243. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  244. | void | :ref:`prints<class_@GlobalScope_method_prints>` **(** ... **)** |vararg| |
  245. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  246. | void | :ref:`printt<class_@GlobalScope_method_printt>` **(** ... **)** |vararg| |
  247. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  248. | void | :ref:`push_error<class_@GlobalScope_method_push_error>` **(** ... **)** |vararg| |
  249. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  250. | void | :ref:`push_warning<class_@GlobalScope_method_push_warning>` **(** ... **)** |vararg| |
  251. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  252. | :ref:`float<class_float>` | :ref:`rad_to_deg<class_@GlobalScope_method_rad_to_deg>` **(** :ref:`float<class_float>` rad **)** |
  253. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  254. | :ref:`PackedInt64Array<class_PackedInt64Array>` | :ref:`rand_from_seed<class_@GlobalScope_method_rand_from_seed>` **(** :ref:`int<class_int>` seed **)** |
  255. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  256. | :ref:`float<class_float>` | :ref:`randf<class_@GlobalScope_method_randf>` **(** **)** |
  257. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  258. | :ref:`float<class_float>` | :ref:`randf_range<class_@GlobalScope_method_randf_range>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)** |
  259. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  260. | :ref:`float<class_float>` | :ref:`randfn<class_@GlobalScope_method_randfn>` **(** :ref:`float<class_float>` mean, :ref:`float<class_float>` deviation **)** |
  261. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  262. | :ref:`int<class_int>` | :ref:`randi<class_@GlobalScope_method_randi>` **(** **)** |
  263. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  264. | :ref:`int<class_int>` | :ref:`randi_range<class_@GlobalScope_method_randi_range>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)** |
  265. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  266. | void | :ref:`randomize<class_@GlobalScope_method_randomize>` **(** **)** |
  267. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  268. | :ref:`float<class_float>` | :ref:`remap<class_@GlobalScope_method_remap>` **(** :ref:`float<class_float>` value, :ref:`float<class_float>` istart, :ref:`float<class_float>` istop, :ref:`float<class_float>` ostart, :ref:`float<class_float>` ostop **)** |
  269. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  270. | :ref:`int<class_int>` | :ref:`rid_allocate_id<class_@GlobalScope_method_rid_allocate_id>` **(** **)** |
  271. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  272. | :ref:`RID<class_RID>` | :ref:`rid_from_int64<class_@GlobalScope_method_rid_from_int64>` **(** :ref:`int<class_int>` base **)** |
  273. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  274. | :ref:`Variant<class_Variant>` | :ref:`round<class_@GlobalScope_method_round>` **(** :ref:`Variant<class_Variant>` x **)** |
  275. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  276. | :ref:`float<class_float>` | :ref:`roundf<class_@GlobalScope_method_roundf>` **(** :ref:`float<class_float>` x **)** |
  277. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  278. | :ref:`int<class_int>` | :ref:`roundi<class_@GlobalScope_method_roundi>` **(** :ref:`float<class_float>` x **)** |
  279. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  280. | void | :ref:`seed<class_@GlobalScope_method_seed>` **(** :ref:`int<class_int>` base **)** |
  281. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  282. | :ref:`Variant<class_Variant>` | :ref:`sign<class_@GlobalScope_method_sign>` **(** :ref:`Variant<class_Variant>` x **)** |
  283. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  284. | :ref:`float<class_float>` | :ref:`signf<class_@GlobalScope_method_signf>` **(** :ref:`float<class_float>` x **)** |
  285. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  286. | :ref:`int<class_int>` | :ref:`signi<class_@GlobalScope_method_signi>` **(** :ref:`int<class_int>` x **)** |
  287. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  288. | :ref:`float<class_float>` | :ref:`sin<class_@GlobalScope_method_sin>` **(** :ref:`float<class_float>` angle_rad **)** |
  289. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  290. | :ref:`float<class_float>` | :ref:`sinh<class_@GlobalScope_method_sinh>` **(** :ref:`float<class_float>` x **)** |
  291. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  292. | :ref:`float<class_float>` | :ref:`smoothstep<class_@GlobalScope_method_smoothstep>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` x **)** |
  293. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  294. | :ref:`Variant<class_Variant>` | :ref:`snapped<class_@GlobalScope_method_snapped>` **(** :ref:`Variant<class_Variant>` x, :ref:`Variant<class_Variant>` step **)** |
  295. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  296. | :ref:`float<class_float>` | :ref:`snappedf<class_@GlobalScope_method_snappedf>` **(** :ref:`float<class_float>` x, :ref:`float<class_float>` step **)** |
  297. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  298. | :ref:`int<class_int>` | :ref:`snappedi<class_@GlobalScope_method_snappedi>` **(** :ref:`float<class_float>` x, :ref:`int<class_int>` step **)** |
  299. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  300. | :ref:`float<class_float>` | :ref:`sqrt<class_@GlobalScope_method_sqrt>` **(** :ref:`float<class_float>` x **)** |
  301. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  302. | :ref:`int<class_int>` | :ref:`step_decimals<class_@GlobalScope_method_step_decimals>` **(** :ref:`float<class_float>` x **)** |
  303. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  304. | :ref:`String<class_String>` | :ref:`str<class_@GlobalScope_method_str>` **(** ... **)** |vararg| |
  305. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  306. | :ref:`Variant<class_Variant>` | :ref:`str_to_var<class_@GlobalScope_method_str_to_var>` **(** :ref:`String<class_String>` string **)** |
  307. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  308. | :ref:`float<class_float>` | :ref:`tan<class_@GlobalScope_method_tan>` **(** :ref:`float<class_float>` angle_rad **)** |
  309. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  310. | :ref:`float<class_float>` | :ref:`tanh<class_@GlobalScope_method_tanh>` **(** :ref:`float<class_float>` x **)** |
  311. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  312. | :ref:`int<class_int>` | :ref:`typeof<class_@GlobalScope_method_typeof>` **(** :ref:`Variant<class_Variant>` variable **)** |
  313. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  314. | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`var_to_bytes<class_@GlobalScope_method_var_to_bytes>` **(** :ref:`Variant<class_Variant>` variable **)** |
  315. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  316. | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`var_to_bytes_with_objects<class_@GlobalScope_method_var_to_bytes_with_objects>` **(** :ref:`Variant<class_Variant>` variable **)** |
  317. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  318. | :ref:`String<class_String>` | :ref:`var_to_str<class_@GlobalScope_method_var_to_str>` **(** :ref:`Variant<class_Variant>` variable **)** |
  319. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  320. | :ref:`Variant<class_Variant>` | :ref:`weakref<class_@GlobalScope_method_weakref>` **(** :ref:`Variant<class_Variant>` obj **)** |
  321. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  322. | :ref:`Variant<class_Variant>` | :ref:`wrap<class_@GlobalScope_method_wrap>` **(** :ref:`Variant<class_Variant>` value, :ref:`Variant<class_Variant>` min, :ref:`Variant<class_Variant>` max **)** |
  323. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  324. | :ref:`float<class_float>` | :ref:`wrapf<class_@GlobalScope_method_wrapf>` **(** :ref:`float<class_float>` value, :ref:`float<class_float>` min, :ref:`float<class_float>` max **)** |
  325. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  326. | :ref:`int<class_int>` | :ref:`wrapi<class_@GlobalScope_method_wrapi>` **(** :ref:`int<class_int>` value, :ref:`int<class_int>` min, :ref:`int<class_int>` max **)** |
  327. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  328. .. rst-class:: classref-section-separator
  329. ----
  330. .. rst-class:: classref-descriptions-group
  331. Enumerations
  332. ------------
  333. .. _enum_@GlobalScope_Side:
  334. .. rst-class:: classref-enumeration
  335. enum **Side**:
  336. .. _class_@GlobalScope_constant_SIDE_LEFT:
  337. .. rst-class:: classref-enumeration-constant
  338. :ref:`Side<enum_@GlobalScope_Side>` **SIDE_LEFT** = ``0``
  339. Left side, usually used for :ref:`Control<class_Control>` or :ref:`StyleBox<class_StyleBox>`-derived classes.
  340. .. _class_@GlobalScope_constant_SIDE_TOP:
  341. .. rst-class:: classref-enumeration-constant
  342. :ref:`Side<enum_@GlobalScope_Side>` **SIDE_TOP** = ``1``
  343. Top side, usually used for :ref:`Control<class_Control>` or :ref:`StyleBox<class_StyleBox>`-derived classes.
  344. .. _class_@GlobalScope_constant_SIDE_RIGHT:
  345. .. rst-class:: classref-enumeration-constant
  346. :ref:`Side<enum_@GlobalScope_Side>` **SIDE_RIGHT** = ``2``
  347. Right side, usually used for :ref:`Control<class_Control>` or :ref:`StyleBox<class_StyleBox>`-derived classes.
  348. .. _class_@GlobalScope_constant_SIDE_BOTTOM:
  349. .. rst-class:: classref-enumeration-constant
  350. :ref:`Side<enum_@GlobalScope_Side>` **SIDE_BOTTOM** = ``3``
  351. Bottom side, usually used for :ref:`Control<class_Control>` or :ref:`StyleBox<class_StyleBox>`-derived classes.
  352. .. rst-class:: classref-item-separator
  353. ----
  354. .. _enum_@GlobalScope_Corner:
  355. .. rst-class:: classref-enumeration
  356. enum **Corner**:
  357. .. _class_@GlobalScope_constant_CORNER_TOP_LEFT:
  358. .. rst-class:: classref-enumeration-constant
  359. :ref:`Corner<enum_@GlobalScope_Corner>` **CORNER_TOP_LEFT** = ``0``
  360. Top-left corner.
  361. .. _class_@GlobalScope_constant_CORNER_TOP_RIGHT:
  362. .. rst-class:: classref-enumeration-constant
  363. :ref:`Corner<enum_@GlobalScope_Corner>` **CORNER_TOP_RIGHT** = ``1``
  364. Top-right corner.
  365. .. _class_@GlobalScope_constant_CORNER_BOTTOM_RIGHT:
  366. .. rst-class:: classref-enumeration-constant
  367. :ref:`Corner<enum_@GlobalScope_Corner>` **CORNER_BOTTOM_RIGHT** = ``2``
  368. Bottom-right corner.
  369. .. _class_@GlobalScope_constant_CORNER_BOTTOM_LEFT:
  370. .. rst-class:: classref-enumeration-constant
  371. :ref:`Corner<enum_@GlobalScope_Corner>` **CORNER_BOTTOM_LEFT** = ``3``
  372. Bottom-left corner.
  373. .. rst-class:: classref-item-separator
  374. ----
  375. .. _enum_@GlobalScope_Orientation:
  376. .. rst-class:: classref-enumeration
  377. enum **Orientation**:
  378. .. _class_@GlobalScope_constant_VERTICAL:
  379. .. rst-class:: classref-enumeration-constant
  380. :ref:`Orientation<enum_@GlobalScope_Orientation>` **VERTICAL** = ``1``
  381. General vertical alignment, usually used for :ref:`Separator<class_Separator>`, :ref:`ScrollBar<class_ScrollBar>`, :ref:`Slider<class_Slider>`, etc.
  382. .. _class_@GlobalScope_constant_HORIZONTAL:
  383. .. rst-class:: classref-enumeration-constant
  384. :ref:`Orientation<enum_@GlobalScope_Orientation>` **HORIZONTAL** = ``0``
  385. General horizontal alignment, usually used for :ref:`Separator<class_Separator>`, :ref:`ScrollBar<class_ScrollBar>`, :ref:`Slider<class_Slider>`, etc.
  386. .. rst-class:: classref-item-separator
  387. ----
  388. .. _enum_@GlobalScope_ClockDirection:
  389. .. rst-class:: classref-enumeration
  390. enum **ClockDirection**:
  391. .. _class_@GlobalScope_constant_CLOCKWISE:
  392. .. rst-class:: classref-enumeration-constant
  393. :ref:`ClockDirection<enum_@GlobalScope_ClockDirection>` **CLOCKWISE** = ``0``
  394. Clockwise rotation. Used by some methods (e.g. :ref:`Image.rotate_90<class_Image_method_rotate_90>`).
  395. .. _class_@GlobalScope_constant_COUNTERCLOCKWISE:
  396. .. rst-class:: classref-enumeration-constant
  397. :ref:`ClockDirection<enum_@GlobalScope_ClockDirection>` **COUNTERCLOCKWISE** = ``1``
  398. Counter-clockwise rotation. Used by some methods (e.g. :ref:`Image.rotate_90<class_Image_method_rotate_90>`).
  399. .. rst-class:: classref-item-separator
  400. ----
  401. .. _enum_@GlobalScope_HorizontalAlignment:
  402. .. rst-class:: classref-enumeration
  403. enum **HorizontalAlignment**:
  404. .. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_LEFT:
  405. .. rst-class:: classref-enumeration-constant
  406. :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **HORIZONTAL_ALIGNMENT_LEFT** = ``0``
  407. Horizontal left alignment, usually for text-derived classes.
  408. .. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_CENTER:
  409. .. rst-class:: classref-enumeration-constant
  410. :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **HORIZONTAL_ALIGNMENT_CENTER** = ``1``
  411. Horizontal center alignment, usually for text-derived classes.
  412. .. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_RIGHT:
  413. .. rst-class:: classref-enumeration-constant
  414. :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **HORIZONTAL_ALIGNMENT_RIGHT** = ``2``
  415. Horizontal right alignment, usually for text-derived classes.
  416. .. _class_@GlobalScope_constant_HORIZONTAL_ALIGNMENT_FILL:
  417. .. rst-class:: classref-enumeration-constant
  418. :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **HORIZONTAL_ALIGNMENT_FILL** = ``3``
  419. Expand row to fit width, usually for text-derived classes.
  420. .. rst-class:: classref-item-separator
  421. ----
  422. .. _enum_@GlobalScope_VerticalAlignment:
  423. .. rst-class:: classref-enumeration
  424. enum **VerticalAlignment**:
  425. .. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_TOP:
  426. .. rst-class:: classref-enumeration-constant
  427. :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **VERTICAL_ALIGNMENT_TOP** = ``0``
  428. Vertical top alignment, usually for text-derived classes.
  429. .. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_CENTER:
  430. .. rst-class:: classref-enumeration-constant
  431. :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **VERTICAL_ALIGNMENT_CENTER** = ``1``
  432. Vertical center alignment, usually for text-derived classes.
  433. .. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_BOTTOM:
  434. .. rst-class:: classref-enumeration-constant
  435. :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **VERTICAL_ALIGNMENT_BOTTOM** = ``2``
  436. Vertical bottom alignment, usually for text-derived classes.
  437. .. _class_@GlobalScope_constant_VERTICAL_ALIGNMENT_FILL:
  438. .. rst-class:: classref-enumeration-constant
  439. :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **VERTICAL_ALIGNMENT_FILL** = ``3``
  440. Expand rows to fit height, usually for text-derived classes.
  441. .. rst-class:: classref-item-separator
  442. ----
  443. .. _enum_@GlobalScope_InlineAlignment:
  444. .. rst-class:: classref-enumeration
  445. enum **InlineAlignment**:
  446. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TOP_TO:
  447. .. rst-class:: classref-enumeration-constant
  448. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TOP_TO** = ``0``
  449. Aligns the top of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGNMENT_TO_*`` constant.
  450. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_CENTER_TO:
  451. .. rst-class:: classref-enumeration-constant
  452. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_CENTER_TO** = ``1``
  453. Aligns the center of the inline object (e.g. image, table) to the position of the text specified by ``INLINE_ALIGNMENT_TO_*`` constant.
  454. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_BASELINE_TO:
  455. .. rst-class:: classref-enumeration-constant
  456. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_BASELINE_TO** = ``3``
  457. 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.
  458. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_BOTTOM_TO:
  459. .. rst-class:: classref-enumeration-constant
  460. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_BOTTOM_TO** = ``2``
  461. Aligns the bottom 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_TO_TOP:
  463. .. rst-class:: classref-enumeration-constant
  464. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TO_TOP** = ``0``
  465. Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGNMENT_*_TO`` constant to the top of the text.
  466. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_CENTER:
  467. .. rst-class:: classref-enumeration-constant
  468. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TO_CENTER** = ``4``
  469. Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGNMENT_*_TO`` constant to the center of the text.
  470. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_BASELINE:
  471. .. rst-class:: classref-enumeration-constant
  472. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TO_BASELINE** = ``8``
  473. Aligns the position of the inline object (e.g. image, table) specified by ``INLINE_ALIGNMENT_*_TO`` constant to the baseline of the text.
  474. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TO_BOTTOM:
  475. .. rst-class:: classref-enumeration-constant
  476. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TO_BOTTOM** = ``12``
  477. Aligns inline object (e.g. image, table) to the bottom of the text.
  478. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TOP:
  479. .. rst-class:: classref-enumeration-constant
  480. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TOP** = ``0``
  481. 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``.
  482. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_CENTER:
  483. .. rst-class:: classref-enumeration-constant
  484. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_CENTER** = ``5``
  485. 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``.
  486. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_BOTTOM:
  487. .. rst-class:: classref-enumeration-constant
  488. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_BOTTOM** = ``14``
  489. 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``.
  490. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_IMAGE_MASK:
  491. .. rst-class:: classref-enumeration-constant
  492. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_IMAGE_MASK** = ``3``
  493. A bit mask for ``INLINE_ALIGNMENT_*_TO`` alignment constants.
  494. .. _class_@GlobalScope_constant_INLINE_ALIGNMENT_TEXT_MASK:
  495. .. rst-class:: classref-enumeration-constant
  496. :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` **INLINE_ALIGNMENT_TEXT_MASK** = ``12``
  497. A bit mask for ``INLINE_ALIGNMENT_TO_*`` alignment constants.
  498. .. rst-class:: classref-item-separator
  499. ----
  500. .. _enum_@GlobalScope_EulerOrder:
  501. .. rst-class:: classref-enumeration
  502. enum **EulerOrder**:
  503. .. _class_@GlobalScope_constant_EULER_ORDER_XYZ:
  504. .. rst-class:: classref-enumeration-constant
  505. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_XYZ** = ``0``
  506. 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.
  507. .. _class_@GlobalScope_constant_EULER_ORDER_XZY:
  508. .. rst-class:: classref-enumeration-constant
  509. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_XZY** = ``1``
  510. 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.
  511. .. _class_@GlobalScope_constant_EULER_ORDER_YXZ:
  512. .. rst-class:: classref-enumeration-constant
  513. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_YXZ** = ``2``
  514. 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.
  515. .. _class_@GlobalScope_constant_EULER_ORDER_YZX:
  516. .. rst-class:: classref-enumeration-constant
  517. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_YZX** = ``3``
  518. 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.
  519. .. _class_@GlobalScope_constant_EULER_ORDER_ZXY:
  520. .. rst-class:: classref-enumeration-constant
  521. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_ZXY** = ``4``
  522. 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.
  523. .. _class_@GlobalScope_constant_EULER_ORDER_ZYX:
  524. .. rst-class:: classref-enumeration-constant
  525. :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **EULER_ORDER_ZYX** = ``5``
  526. 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.
  527. .. rst-class:: classref-item-separator
  528. ----
  529. .. _enum_@GlobalScope_Key:
  530. .. rst-class:: classref-enumeration
  531. enum **Key**:
  532. .. _class_@GlobalScope_constant_KEY_NONE:
  533. .. rst-class:: classref-enumeration-constant
  534. :ref:`Key<enum_@GlobalScope_Key>` **KEY_NONE** = ``0``
  535. Enum value which doesn't correspond to any key. This is used to initialize :ref:`Key<enum_@GlobalScope_Key>` properties with a generic state.
  536. .. _class_@GlobalScope_constant_KEY_SPECIAL:
  537. .. rst-class:: classref-enumeration-constant
  538. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SPECIAL** = ``4194304``
  539. Keycodes with this bit applied are non-printable.
  540. .. _class_@GlobalScope_constant_KEY_ESCAPE:
  541. .. rst-class:: classref-enumeration-constant
  542. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ESCAPE** = ``4194305``
  543. Escape key.
  544. .. _class_@GlobalScope_constant_KEY_TAB:
  545. .. rst-class:: classref-enumeration-constant
  546. :ref:`Key<enum_@GlobalScope_Key>` **KEY_TAB** = ``4194306``
  547. Tab key.
  548. .. _class_@GlobalScope_constant_KEY_BACKTAB:
  549. .. rst-class:: classref-enumeration-constant
  550. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BACKTAB** = ``4194307``
  551. Shift + Tab key.
  552. .. _class_@GlobalScope_constant_KEY_BACKSPACE:
  553. .. rst-class:: classref-enumeration-constant
  554. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BACKSPACE** = ``4194308``
  555. Backspace key.
  556. .. _class_@GlobalScope_constant_KEY_ENTER:
  557. .. rst-class:: classref-enumeration-constant
  558. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ENTER** = ``4194309``
  559. Return key (on the main keyboard).
  560. .. _class_@GlobalScope_constant_KEY_KP_ENTER:
  561. .. rst-class:: classref-enumeration-constant
  562. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_ENTER** = ``4194310``
  563. Enter key on the numeric keypad.
  564. .. _class_@GlobalScope_constant_KEY_INSERT:
  565. .. rst-class:: classref-enumeration-constant
  566. :ref:`Key<enum_@GlobalScope_Key>` **KEY_INSERT** = ``4194311``
  567. Insert key.
  568. .. _class_@GlobalScope_constant_KEY_DELETE:
  569. .. rst-class:: classref-enumeration-constant
  570. :ref:`Key<enum_@GlobalScope_Key>` **KEY_DELETE** = ``4194312``
  571. Delete key.
  572. .. _class_@GlobalScope_constant_KEY_PAUSE:
  573. .. rst-class:: classref-enumeration-constant
  574. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PAUSE** = ``4194313``
  575. Pause key.
  576. .. _class_@GlobalScope_constant_KEY_PRINT:
  577. .. rst-class:: classref-enumeration-constant
  578. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PRINT** = ``4194314``
  579. Print Screen key.
  580. .. _class_@GlobalScope_constant_KEY_SYSREQ:
  581. .. rst-class:: classref-enumeration-constant
  582. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SYSREQ** = ``4194315``
  583. System Request key.
  584. .. _class_@GlobalScope_constant_KEY_CLEAR:
  585. .. rst-class:: classref-enumeration-constant
  586. :ref:`Key<enum_@GlobalScope_Key>` **KEY_CLEAR** = ``4194316``
  587. Clear key.
  588. .. _class_@GlobalScope_constant_KEY_HOME:
  589. .. rst-class:: classref-enumeration-constant
  590. :ref:`Key<enum_@GlobalScope_Key>` **KEY_HOME** = ``4194317``
  591. Home key.
  592. .. _class_@GlobalScope_constant_KEY_END:
  593. .. rst-class:: classref-enumeration-constant
  594. :ref:`Key<enum_@GlobalScope_Key>` **KEY_END** = ``4194318``
  595. End key.
  596. .. _class_@GlobalScope_constant_KEY_LEFT:
  597. .. rst-class:: classref-enumeration-constant
  598. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LEFT** = ``4194319``
  599. Left arrow key.
  600. .. _class_@GlobalScope_constant_KEY_UP:
  601. .. rst-class:: classref-enumeration-constant
  602. :ref:`Key<enum_@GlobalScope_Key>` **KEY_UP** = ``4194320``
  603. Up arrow key.
  604. .. _class_@GlobalScope_constant_KEY_RIGHT:
  605. .. rst-class:: classref-enumeration-constant
  606. :ref:`Key<enum_@GlobalScope_Key>` **KEY_RIGHT** = ``4194321``
  607. Right arrow key.
  608. .. _class_@GlobalScope_constant_KEY_DOWN:
  609. .. rst-class:: classref-enumeration-constant
  610. :ref:`Key<enum_@GlobalScope_Key>` **KEY_DOWN** = ``4194322``
  611. Down arrow key.
  612. .. _class_@GlobalScope_constant_KEY_PAGEUP:
  613. .. rst-class:: classref-enumeration-constant
  614. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PAGEUP** = ``4194323``
  615. Page Up key.
  616. .. _class_@GlobalScope_constant_KEY_PAGEDOWN:
  617. .. rst-class:: classref-enumeration-constant
  618. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PAGEDOWN** = ``4194324``
  619. Page Down key.
  620. .. _class_@GlobalScope_constant_KEY_SHIFT:
  621. .. rst-class:: classref-enumeration-constant
  622. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SHIFT** = ``4194325``
  623. Shift key.
  624. .. _class_@GlobalScope_constant_KEY_CTRL:
  625. .. rst-class:: classref-enumeration-constant
  626. :ref:`Key<enum_@GlobalScope_Key>` **KEY_CTRL** = ``4194326``
  627. Control key.
  628. .. _class_@GlobalScope_constant_KEY_META:
  629. .. rst-class:: classref-enumeration-constant
  630. :ref:`Key<enum_@GlobalScope_Key>` **KEY_META** = ``4194327``
  631. Meta key.
  632. .. _class_@GlobalScope_constant_KEY_ALT:
  633. .. rst-class:: classref-enumeration-constant
  634. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ALT** = ``4194328``
  635. Alt key.
  636. .. _class_@GlobalScope_constant_KEY_CAPSLOCK:
  637. .. rst-class:: classref-enumeration-constant
  638. :ref:`Key<enum_@GlobalScope_Key>` **KEY_CAPSLOCK** = ``4194329``
  639. Caps Lock key.
  640. .. _class_@GlobalScope_constant_KEY_NUMLOCK:
  641. .. rst-class:: classref-enumeration-constant
  642. :ref:`Key<enum_@GlobalScope_Key>` **KEY_NUMLOCK** = ``4194330``
  643. Num Lock key.
  644. .. _class_@GlobalScope_constant_KEY_SCROLLLOCK:
  645. .. rst-class:: classref-enumeration-constant
  646. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SCROLLLOCK** = ``4194331``
  647. Scroll Lock key.
  648. .. _class_@GlobalScope_constant_KEY_F1:
  649. .. rst-class:: classref-enumeration-constant
  650. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F1** = ``4194332``
  651. F1 key.
  652. .. _class_@GlobalScope_constant_KEY_F2:
  653. .. rst-class:: classref-enumeration-constant
  654. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F2** = ``4194333``
  655. F2 key.
  656. .. _class_@GlobalScope_constant_KEY_F3:
  657. .. rst-class:: classref-enumeration-constant
  658. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F3** = ``4194334``
  659. F3 key.
  660. .. _class_@GlobalScope_constant_KEY_F4:
  661. .. rst-class:: classref-enumeration-constant
  662. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F4** = ``4194335``
  663. F4 key.
  664. .. _class_@GlobalScope_constant_KEY_F5:
  665. .. rst-class:: classref-enumeration-constant
  666. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F5** = ``4194336``
  667. F5 key.
  668. .. _class_@GlobalScope_constant_KEY_F6:
  669. .. rst-class:: classref-enumeration-constant
  670. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F6** = ``4194337``
  671. F6 key.
  672. .. _class_@GlobalScope_constant_KEY_F7:
  673. .. rst-class:: classref-enumeration-constant
  674. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F7** = ``4194338``
  675. F7 key.
  676. .. _class_@GlobalScope_constant_KEY_F8:
  677. .. rst-class:: classref-enumeration-constant
  678. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F8** = ``4194339``
  679. F8 key.
  680. .. _class_@GlobalScope_constant_KEY_F9:
  681. .. rst-class:: classref-enumeration-constant
  682. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F9** = ``4194340``
  683. F9 key.
  684. .. _class_@GlobalScope_constant_KEY_F10:
  685. .. rst-class:: classref-enumeration-constant
  686. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F10** = ``4194341``
  687. F10 key.
  688. .. _class_@GlobalScope_constant_KEY_F11:
  689. .. rst-class:: classref-enumeration-constant
  690. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F11** = ``4194342``
  691. F11 key.
  692. .. _class_@GlobalScope_constant_KEY_F12:
  693. .. rst-class:: classref-enumeration-constant
  694. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F12** = ``4194343``
  695. F12 key.
  696. .. _class_@GlobalScope_constant_KEY_F13:
  697. .. rst-class:: classref-enumeration-constant
  698. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F13** = ``4194344``
  699. F13 key.
  700. .. _class_@GlobalScope_constant_KEY_F14:
  701. .. rst-class:: classref-enumeration-constant
  702. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F14** = ``4194345``
  703. F14 key.
  704. .. _class_@GlobalScope_constant_KEY_F15:
  705. .. rst-class:: classref-enumeration-constant
  706. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F15** = ``4194346``
  707. F15 key.
  708. .. _class_@GlobalScope_constant_KEY_F16:
  709. .. rst-class:: classref-enumeration-constant
  710. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F16** = ``4194347``
  711. F16 key.
  712. .. _class_@GlobalScope_constant_KEY_F17:
  713. .. rst-class:: classref-enumeration-constant
  714. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F17** = ``4194348``
  715. F17 key.
  716. .. _class_@GlobalScope_constant_KEY_F18:
  717. .. rst-class:: classref-enumeration-constant
  718. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F18** = ``4194349``
  719. F18 key.
  720. .. _class_@GlobalScope_constant_KEY_F19:
  721. .. rst-class:: classref-enumeration-constant
  722. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F19** = ``4194350``
  723. F19 key.
  724. .. _class_@GlobalScope_constant_KEY_F20:
  725. .. rst-class:: classref-enumeration-constant
  726. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F20** = ``4194351``
  727. F20 key.
  728. .. _class_@GlobalScope_constant_KEY_F21:
  729. .. rst-class:: classref-enumeration-constant
  730. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F21** = ``4194352``
  731. F21 key.
  732. .. _class_@GlobalScope_constant_KEY_F22:
  733. .. rst-class:: classref-enumeration-constant
  734. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F22** = ``4194353``
  735. F22 key.
  736. .. _class_@GlobalScope_constant_KEY_F23:
  737. .. rst-class:: classref-enumeration-constant
  738. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F23** = ``4194354``
  739. F23 key.
  740. .. _class_@GlobalScope_constant_KEY_F24:
  741. .. rst-class:: classref-enumeration-constant
  742. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F24** = ``4194355``
  743. F24 key.
  744. .. _class_@GlobalScope_constant_KEY_F25:
  745. .. rst-class:: classref-enumeration-constant
  746. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F25** = ``4194356``
  747. F25 key. Only supported on macOS and Linux due to a Windows limitation.
  748. .. _class_@GlobalScope_constant_KEY_F26:
  749. .. rst-class:: classref-enumeration-constant
  750. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F26** = ``4194357``
  751. F26 key. Only supported on macOS and Linux due to a Windows limitation.
  752. .. _class_@GlobalScope_constant_KEY_F27:
  753. .. rst-class:: classref-enumeration-constant
  754. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F27** = ``4194358``
  755. F27 key. Only supported on macOS and Linux due to a Windows limitation.
  756. .. _class_@GlobalScope_constant_KEY_F28:
  757. .. rst-class:: classref-enumeration-constant
  758. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F28** = ``4194359``
  759. F28 key. Only supported on macOS and Linux due to a Windows limitation.
  760. .. _class_@GlobalScope_constant_KEY_F29:
  761. .. rst-class:: classref-enumeration-constant
  762. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F29** = ``4194360``
  763. F29 key. Only supported on macOS and Linux due to a Windows limitation.
  764. .. _class_@GlobalScope_constant_KEY_F30:
  765. .. rst-class:: classref-enumeration-constant
  766. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F30** = ``4194361``
  767. F30 key. Only supported on macOS and Linux due to a Windows limitation.
  768. .. _class_@GlobalScope_constant_KEY_F31:
  769. .. rst-class:: classref-enumeration-constant
  770. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F31** = ``4194362``
  771. F31 key. Only supported on macOS and Linux due to a Windows limitation.
  772. .. _class_@GlobalScope_constant_KEY_F32:
  773. .. rst-class:: classref-enumeration-constant
  774. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F32** = ``4194363``
  775. F32 key. Only supported on macOS and Linux due to a Windows limitation.
  776. .. _class_@GlobalScope_constant_KEY_F33:
  777. .. rst-class:: classref-enumeration-constant
  778. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F33** = ``4194364``
  779. F33 key. Only supported on macOS and Linux due to a Windows limitation.
  780. .. _class_@GlobalScope_constant_KEY_F34:
  781. .. rst-class:: classref-enumeration-constant
  782. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F34** = ``4194365``
  783. F34 key. Only supported on macOS and Linux due to a Windows limitation.
  784. .. _class_@GlobalScope_constant_KEY_F35:
  785. .. rst-class:: classref-enumeration-constant
  786. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F35** = ``4194366``
  787. F35 key. Only supported on macOS and Linux due to a Windows limitation.
  788. .. _class_@GlobalScope_constant_KEY_KP_MULTIPLY:
  789. .. rst-class:: classref-enumeration-constant
  790. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_MULTIPLY** = ``4194433``
  791. Multiply (\*) key on the numeric keypad.
  792. .. _class_@GlobalScope_constant_KEY_KP_DIVIDE:
  793. .. rst-class:: classref-enumeration-constant
  794. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_DIVIDE** = ``4194434``
  795. Divide (/) key on the numeric keypad.
  796. .. _class_@GlobalScope_constant_KEY_KP_SUBTRACT:
  797. .. rst-class:: classref-enumeration-constant
  798. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_SUBTRACT** = ``4194435``
  799. Subtract (-) key on the numeric keypad.
  800. .. _class_@GlobalScope_constant_KEY_KP_PERIOD:
  801. .. rst-class:: classref-enumeration-constant
  802. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_PERIOD** = ``4194436``
  803. Period (.) key on the numeric keypad.
  804. .. _class_@GlobalScope_constant_KEY_KP_ADD:
  805. .. rst-class:: classref-enumeration-constant
  806. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_ADD** = ``4194437``
  807. Add (+) key on the numeric keypad.
  808. .. _class_@GlobalScope_constant_KEY_KP_0:
  809. .. rst-class:: classref-enumeration-constant
  810. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_0** = ``4194438``
  811. Number 0 on the numeric keypad.
  812. .. _class_@GlobalScope_constant_KEY_KP_1:
  813. .. rst-class:: classref-enumeration-constant
  814. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_1** = ``4194439``
  815. Number 1 on the numeric keypad.
  816. .. _class_@GlobalScope_constant_KEY_KP_2:
  817. .. rst-class:: classref-enumeration-constant
  818. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_2** = ``4194440``
  819. Number 2 on the numeric keypad.
  820. .. _class_@GlobalScope_constant_KEY_KP_3:
  821. .. rst-class:: classref-enumeration-constant
  822. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_3** = ``4194441``
  823. Number 3 on the numeric keypad.
  824. .. _class_@GlobalScope_constant_KEY_KP_4:
  825. .. rst-class:: classref-enumeration-constant
  826. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_4** = ``4194442``
  827. Number 4 on the numeric keypad.
  828. .. _class_@GlobalScope_constant_KEY_KP_5:
  829. .. rst-class:: classref-enumeration-constant
  830. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_5** = ``4194443``
  831. Number 5 on the numeric keypad.
  832. .. _class_@GlobalScope_constant_KEY_KP_6:
  833. .. rst-class:: classref-enumeration-constant
  834. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_6** = ``4194444``
  835. Number 6 on the numeric keypad.
  836. .. _class_@GlobalScope_constant_KEY_KP_7:
  837. .. rst-class:: classref-enumeration-constant
  838. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_7** = ``4194445``
  839. Number 7 on the numeric keypad.
  840. .. _class_@GlobalScope_constant_KEY_KP_8:
  841. .. rst-class:: classref-enumeration-constant
  842. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_8** = ``4194446``
  843. Number 8 on the numeric keypad.
  844. .. _class_@GlobalScope_constant_KEY_KP_9:
  845. .. rst-class:: classref-enumeration-constant
  846. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KP_9** = ``4194447``
  847. Number 9 on the numeric keypad.
  848. .. _class_@GlobalScope_constant_KEY_MENU:
  849. .. rst-class:: classref-enumeration-constant
  850. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MENU** = ``4194370``
  851. Context menu key.
  852. .. _class_@GlobalScope_constant_KEY_HYPER:
  853. .. rst-class:: classref-enumeration-constant
  854. :ref:`Key<enum_@GlobalScope_Key>` **KEY_HYPER** = ``4194371``
  855. Hyper key. (On Linux/X11 only).
  856. .. _class_@GlobalScope_constant_KEY_HELP:
  857. .. rst-class:: classref-enumeration-constant
  858. :ref:`Key<enum_@GlobalScope_Key>` **KEY_HELP** = ``4194373``
  859. Help key.
  860. .. _class_@GlobalScope_constant_KEY_BACK:
  861. .. rst-class:: classref-enumeration-constant
  862. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BACK** = ``4194376``
  863. Media back key. Not to be confused with the Back button on an Android device.
  864. .. _class_@GlobalScope_constant_KEY_FORWARD:
  865. .. rst-class:: classref-enumeration-constant
  866. :ref:`Key<enum_@GlobalScope_Key>` **KEY_FORWARD** = ``4194377``
  867. Media forward key.
  868. .. _class_@GlobalScope_constant_KEY_STOP:
  869. .. rst-class:: classref-enumeration-constant
  870. :ref:`Key<enum_@GlobalScope_Key>` **KEY_STOP** = ``4194378``
  871. Media stop key.
  872. .. _class_@GlobalScope_constant_KEY_REFRESH:
  873. .. rst-class:: classref-enumeration-constant
  874. :ref:`Key<enum_@GlobalScope_Key>` **KEY_REFRESH** = ``4194379``
  875. Media refresh key.
  876. .. _class_@GlobalScope_constant_KEY_VOLUMEDOWN:
  877. .. rst-class:: classref-enumeration-constant
  878. :ref:`Key<enum_@GlobalScope_Key>` **KEY_VOLUMEDOWN** = ``4194380``
  879. Volume down key.
  880. .. _class_@GlobalScope_constant_KEY_VOLUMEMUTE:
  881. .. rst-class:: classref-enumeration-constant
  882. :ref:`Key<enum_@GlobalScope_Key>` **KEY_VOLUMEMUTE** = ``4194381``
  883. Mute volume key.
  884. .. _class_@GlobalScope_constant_KEY_VOLUMEUP:
  885. .. rst-class:: classref-enumeration-constant
  886. :ref:`Key<enum_@GlobalScope_Key>` **KEY_VOLUMEUP** = ``4194382``
  887. Volume up key.
  888. .. _class_@GlobalScope_constant_KEY_MEDIAPLAY:
  889. .. rst-class:: classref-enumeration-constant
  890. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MEDIAPLAY** = ``4194388``
  891. Media play key.
  892. .. _class_@GlobalScope_constant_KEY_MEDIASTOP:
  893. .. rst-class:: classref-enumeration-constant
  894. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MEDIASTOP** = ``4194389``
  895. Media stop key.
  896. .. _class_@GlobalScope_constant_KEY_MEDIAPREVIOUS:
  897. .. rst-class:: classref-enumeration-constant
  898. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MEDIAPREVIOUS** = ``4194390``
  899. Previous song key.
  900. .. _class_@GlobalScope_constant_KEY_MEDIANEXT:
  901. .. rst-class:: classref-enumeration-constant
  902. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MEDIANEXT** = ``4194391``
  903. Next song key.
  904. .. _class_@GlobalScope_constant_KEY_MEDIARECORD:
  905. .. rst-class:: classref-enumeration-constant
  906. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MEDIARECORD** = ``4194392``
  907. Media record key.
  908. .. _class_@GlobalScope_constant_KEY_HOMEPAGE:
  909. .. rst-class:: classref-enumeration-constant
  910. :ref:`Key<enum_@GlobalScope_Key>` **KEY_HOMEPAGE** = ``4194393``
  911. Home page key.
  912. .. _class_@GlobalScope_constant_KEY_FAVORITES:
  913. .. rst-class:: classref-enumeration-constant
  914. :ref:`Key<enum_@GlobalScope_Key>` **KEY_FAVORITES** = ``4194394``
  915. Favorites key.
  916. .. _class_@GlobalScope_constant_KEY_SEARCH:
  917. .. rst-class:: classref-enumeration-constant
  918. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SEARCH** = ``4194395``
  919. Search key.
  920. .. _class_@GlobalScope_constant_KEY_STANDBY:
  921. .. rst-class:: classref-enumeration-constant
  922. :ref:`Key<enum_@GlobalScope_Key>` **KEY_STANDBY** = ``4194396``
  923. Standby key.
  924. .. _class_@GlobalScope_constant_KEY_OPENURL:
  925. .. rst-class:: classref-enumeration-constant
  926. :ref:`Key<enum_@GlobalScope_Key>` **KEY_OPENURL** = ``4194397``
  927. Open URL / Launch Browser key.
  928. .. _class_@GlobalScope_constant_KEY_LAUNCHMAIL:
  929. .. rst-class:: classref-enumeration-constant
  930. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHMAIL** = ``4194398``
  931. Launch Mail key.
  932. .. _class_@GlobalScope_constant_KEY_LAUNCHMEDIA:
  933. .. rst-class:: classref-enumeration-constant
  934. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHMEDIA** = ``4194399``
  935. Launch Media key.
  936. .. _class_@GlobalScope_constant_KEY_LAUNCH0:
  937. .. rst-class:: classref-enumeration-constant
  938. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH0** = ``4194400``
  939. Launch Shortcut 0 key.
  940. .. _class_@GlobalScope_constant_KEY_LAUNCH1:
  941. .. rst-class:: classref-enumeration-constant
  942. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH1** = ``4194401``
  943. Launch Shortcut 1 key.
  944. .. _class_@GlobalScope_constant_KEY_LAUNCH2:
  945. .. rst-class:: classref-enumeration-constant
  946. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH2** = ``4194402``
  947. Launch Shortcut 2 key.
  948. .. _class_@GlobalScope_constant_KEY_LAUNCH3:
  949. .. rst-class:: classref-enumeration-constant
  950. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH3** = ``4194403``
  951. Launch Shortcut 3 key.
  952. .. _class_@GlobalScope_constant_KEY_LAUNCH4:
  953. .. rst-class:: classref-enumeration-constant
  954. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH4** = ``4194404``
  955. Launch Shortcut 4 key.
  956. .. _class_@GlobalScope_constant_KEY_LAUNCH5:
  957. .. rst-class:: classref-enumeration-constant
  958. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH5** = ``4194405``
  959. Launch Shortcut 5 key.
  960. .. _class_@GlobalScope_constant_KEY_LAUNCH6:
  961. .. rst-class:: classref-enumeration-constant
  962. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH6** = ``4194406``
  963. Launch Shortcut 6 key.
  964. .. _class_@GlobalScope_constant_KEY_LAUNCH7:
  965. .. rst-class:: classref-enumeration-constant
  966. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH7** = ``4194407``
  967. Launch Shortcut 7 key.
  968. .. _class_@GlobalScope_constant_KEY_LAUNCH8:
  969. .. rst-class:: classref-enumeration-constant
  970. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH8** = ``4194408``
  971. Launch Shortcut 8 key.
  972. .. _class_@GlobalScope_constant_KEY_LAUNCH9:
  973. .. rst-class:: classref-enumeration-constant
  974. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCH9** = ``4194409``
  975. Launch Shortcut 9 key.
  976. .. _class_@GlobalScope_constant_KEY_LAUNCHA:
  977. .. rst-class:: classref-enumeration-constant
  978. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHA** = ``4194410``
  979. Launch Shortcut A key.
  980. .. _class_@GlobalScope_constant_KEY_LAUNCHB:
  981. .. rst-class:: classref-enumeration-constant
  982. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHB** = ``4194411``
  983. Launch Shortcut B key.
  984. .. _class_@GlobalScope_constant_KEY_LAUNCHC:
  985. .. rst-class:: classref-enumeration-constant
  986. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHC** = ``4194412``
  987. Launch Shortcut C key.
  988. .. _class_@GlobalScope_constant_KEY_LAUNCHD:
  989. .. rst-class:: classref-enumeration-constant
  990. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHD** = ``4194413``
  991. Launch Shortcut D key.
  992. .. _class_@GlobalScope_constant_KEY_LAUNCHE:
  993. .. rst-class:: classref-enumeration-constant
  994. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHE** = ``4194414``
  995. Launch Shortcut E key.
  996. .. _class_@GlobalScope_constant_KEY_LAUNCHF:
  997. .. rst-class:: classref-enumeration-constant
  998. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LAUNCHF** = ``4194415``
  999. Launch Shortcut F key.
  1000. .. _class_@GlobalScope_constant_KEY_GLOBE:
  1001. .. rst-class:: classref-enumeration-constant
  1002. :ref:`Key<enum_@GlobalScope_Key>` **KEY_GLOBE** = ``4194416``
  1003. "Globe" key on Mac / iPad keyboard.
  1004. .. _class_@GlobalScope_constant_KEY_KEYBOARD:
  1005. .. rst-class:: classref-enumeration-constant
  1006. :ref:`Key<enum_@GlobalScope_Key>` **KEY_KEYBOARD** = ``4194417``
  1007. "On-screen keyboard" key on iPad keyboard.
  1008. .. _class_@GlobalScope_constant_KEY_JIS_EISU:
  1009. .. rst-class:: classref-enumeration-constant
  1010. :ref:`Key<enum_@GlobalScope_Key>` **KEY_JIS_EISU** = ``4194418``
  1011. 英数 key on Mac keyboard.
  1012. .. _class_@GlobalScope_constant_KEY_JIS_KANA:
  1013. .. rst-class:: classref-enumeration-constant
  1014. :ref:`Key<enum_@GlobalScope_Key>` **KEY_JIS_KANA** = ``4194419``
  1015. かな key on Mac keyboard.
  1016. .. _class_@GlobalScope_constant_KEY_UNKNOWN:
  1017. .. rst-class:: classref-enumeration-constant
  1018. :ref:`Key<enum_@GlobalScope_Key>` **KEY_UNKNOWN** = ``8388607``
  1019. Unknown key.
  1020. .. _class_@GlobalScope_constant_KEY_SPACE:
  1021. .. rst-class:: classref-enumeration-constant
  1022. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SPACE** = ``32``
  1023. Space key.
  1024. .. _class_@GlobalScope_constant_KEY_EXCLAM:
  1025. .. rst-class:: classref-enumeration-constant
  1026. :ref:`Key<enum_@GlobalScope_Key>` **KEY_EXCLAM** = ``33``
  1027. ! key.
  1028. .. _class_@GlobalScope_constant_KEY_QUOTEDBL:
  1029. .. rst-class:: classref-enumeration-constant
  1030. :ref:`Key<enum_@GlobalScope_Key>` **KEY_QUOTEDBL** = ``34``
  1031. " key.
  1032. .. _class_@GlobalScope_constant_KEY_NUMBERSIGN:
  1033. .. rst-class:: classref-enumeration-constant
  1034. :ref:`Key<enum_@GlobalScope_Key>` **KEY_NUMBERSIGN** = ``35``
  1035. # key.
  1036. .. _class_@GlobalScope_constant_KEY_DOLLAR:
  1037. .. rst-class:: classref-enumeration-constant
  1038. :ref:`Key<enum_@GlobalScope_Key>` **KEY_DOLLAR** = ``36``
  1039. $ key.
  1040. .. _class_@GlobalScope_constant_KEY_PERCENT:
  1041. .. rst-class:: classref-enumeration-constant
  1042. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PERCENT** = ``37``
  1043. % key.
  1044. .. _class_@GlobalScope_constant_KEY_AMPERSAND:
  1045. .. rst-class:: classref-enumeration-constant
  1046. :ref:`Key<enum_@GlobalScope_Key>` **KEY_AMPERSAND** = ``38``
  1047. & key.
  1048. .. _class_@GlobalScope_constant_KEY_APOSTROPHE:
  1049. .. rst-class:: classref-enumeration-constant
  1050. :ref:`Key<enum_@GlobalScope_Key>` **KEY_APOSTROPHE** = ``39``
  1051. ' key.
  1052. .. _class_@GlobalScope_constant_KEY_PARENLEFT:
  1053. .. rst-class:: classref-enumeration-constant
  1054. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PARENLEFT** = ``40``
  1055. ( key.
  1056. .. _class_@GlobalScope_constant_KEY_PARENRIGHT:
  1057. .. rst-class:: classref-enumeration-constant
  1058. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PARENRIGHT** = ``41``
  1059. ) key.
  1060. .. _class_@GlobalScope_constant_KEY_ASTERISK:
  1061. .. rst-class:: classref-enumeration-constant
  1062. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ASTERISK** = ``42``
  1063. \* key.
  1064. .. _class_@GlobalScope_constant_KEY_PLUS:
  1065. .. rst-class:: classref-enumeration-constant
  1066. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PLUS** = ``43``
  1067. + key.
  1068. .. _class_@GlobalScope_constant_KEY_COMMA:
  1069. .. rst-class:: classref-enumeration-constant
  1070. :ref:`Key<enum_@GlobalScope_Key>` **KEY_COMMA** = ``44``
  1071. , key.
  1072. .. _class_@GlobalScope_constant_KEY_MINUS:
  1073. .. rst-class:: classref-enumeration-constant
  1074. :ref:`Key<enum_@GlobalScope_Key>` **KEY_MINUS** = ``45``
  1075. - key.
  1076. .. _class_@GlobalScope_constant_KEY_PERIOD:
  1077. .. rst-class:: classref-enumeration-constant
  1078. :ref:`Key<enum_@GlobalScope_Key>` **KEY_PERIOD** = ``46``
  1079. . key.
  1080. .. _class_@GlobalScope_constant_KEY_SLASH:
  1081. .. rst-class:: classref-enumeration-constant
  1082. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SLASH** = ``47``
  1083. / key.
  1084. .. _class_@GlobalScope_constant_KEY_0:
  1085. .. rst-class:: classref-enumeration-constant
  1086. :ref:`Key<enum_@GlobalScope_Key>` **KEY_0** = ``48``
  1087. Number 0 key.
  1088. .. _class_@GlobalScope_constant_KEY_1:
  1089. .. rst-class:: classref-enumeration-constant
  1090. :ref:`Key<enum_@GlobalScope_Key>` **KEY_1** = ``49``
  1091. Number 1 key.
  1092. .. _class_@GlobalScope_constant_KEY_2:
  1093. .. rst-class:: classref-enumeration-constant
  1094. :ref:`Key<enum_@GlobalScope_Key>` **KEY_2** = ``50``
  1095. Number 2 key.
  1096. .. _class_@GlobalScope_constant_KEY_3:
  1097. .. rst-class:: classref-enumeration-constant
  1098. :ref:`Key<enum_@GlobalScope_Key>` **KEY_3** = ``51``
  1099. Number 3 key.
  1100. .. _class_@GlobalScope_constant_KEY_4:
  1101. .. rst-class:: classref-enumeration-constant
  1102. :ref:`Key<enum_@GlobalScope_Key>` **KEY_4** = ``52``
  1103. Number 4 key.
  1104. .. _class_@GlobalScope_constant_KEY_5:
  1105. .. rst-class:: classref-enumeration-constant
  1106. :ref:`Key<enum_@GlobalScope_Key>` **KEY_5** = ``53``
  1107. Number 5 key.
  1108. .. _class_@GlobalScope_constant_KEY_6:
  1109. .. rst-class:: classref-enumeration-constant
  1110. :ref:`Key<enum_@GlobalScope_Key>` **KEY_6** = ``54``
  1111. Number 6 key.
  1112. .. _class_@GlobalScope_constant_KEY_7:
  1113. .. rst-class:: classref-enumeration-constant
  1114. :ref:`Key<enum_@GlobalScope_Key>` **KEY_7** = ``55``
  1115. Number 7 key.
  1116. .. _class_@GlobalScope_constant_KEY_8:
  1117. .. rst-class:: classref-enumeration-constant
  1118. :ref:`Key<enum_@GlobalScope_Key>` **KEY_8** = ``56``
  1119. Number 8 key.
  1120. .. _class_@GlobalScope_constant_KEY_9:
  1121. .. rst-class:: classref-enumeration-constant
  1122. :ref:`Key<enum_@GlobalScope_Key>` **KEY_9** = ``57``
  1123. Number 9 key.
  1124. .. _class_@GlobalScope_constant_KEY_COLON:
  1125. .. rst-class:: classref-enumeration-constant
  1126. :ref:`Key<enum_@GlobalScope_Key>` **KEY_COLON** = ``58``
  1127. : key.
  1128. .. _class_@GlobalScope_constant_KEY_SEMICOLON:
  1129. .. rst-class:: classref-enumeration-constant
  1130. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SEMICOLON** = ``59``
  1131. ; key.
  1132. .. _class_@GlobalScope_constant_KEY_LESS:
  1133. .. rst-class:: classref-enumeration-constant
  1134. :ref:`Key<enum_@GlobalScope_Key>` **KEY_LESS** = ``60``
  1135. < key.
  1136. .. _class_@GlobalScope_constant_KEY_EQUAL:
  1137. .. rst-class:: classref-enumeration-constant
  1138. :ref:`Key<enum_@GlobalScope_Key>` **KEY_EQUAL** = ``61``
  1139. = key.
  1140. .. _class_@GlobalScope_constant_KEY_GREATER:
  1141. .. rst-class:: classref-enumeration-constant
  1142. :ref:`Key<enum_@GlobalScope_Key>` **KEY_GREATER** = ``62``
  1143. > key.
  1144. .. _class_@GlobalScope_constant_KEY_QUESTION:
  1145. .. rst-class:: classref-enumeration-constant
  1146. :ref:`Key<enum_@GlobalScope_Key>` **KEY_QUESTION** = ``63``
  1147. ? key.
  1148. .. _class_@GlobalScope_constant_KEY_AT:
  1149. .. rst-class:: classref-enumeration-constant
  1150. :ref:`Key<enum_@GlobalScope_Key>` **KEY_AT** = ``64``
  1151. @ key.
  1152. .. _class_@GlobalScope_constant_KEY_A:
  1153. .. rst-class:: classref-enumeration-constant
  1154. :ref:`Key<enum_@GlobalScope_Key>` **KEY_A** = ``65``
  1155. A key.
  1156. .. _class_@GlobalScope_constant_KEY_B:
  1157. .. rst-class:: classref-enumeration-constant
  1158. :ref:`Key<enum_@GlobalScope_Key>` **KEY_B** = ``66``
  1159. B key.
  1160. .. _class_@GlobalScope_constant_KEY_C:
  1161. .. rst-class:: classref-enumeration-constant
  1162. :ref:`Key<enum_@GlobalScope_Key>` **KEY_C** = ``67``
  1163. C key.
  1164. .. _class_@GlobalScope_constant_KEY_D:
  1165. .. rst-class:: classref-enumeration-constant
  1166. :ref:`Key<enum_@GlobalScope_Key>` **KEY_D** = ``68``
  1167. D key.
  1168. .. _class_@GlobalScope_constant_KEY_E:
  1169. .. rst-class:: classref-enumeration-constant
  1170. :ref:`Key<enum_@GlobalScope_Key>` **KEY_E** = ``69``
  1171. E key.
  1172. .. _class_@GlobalScope_constant_KEY_F:
  1173. .. rst-class:: classref-enumeration-constant
  1174. :ref:`Key<enum_@GlobalScope_Key>` **KEY_F** = ``70``
  1175. F key.
  1176. .. _class_@GlobalScope_constant_KEY_G:
  1177. .. rst-class:: classref-enumeration-constant
  1178. :ref:`Key<enum_@GlobalScope_Key>` **KEY_G** = ``71``
  1179. G key.
  1180. .. _class_@GlobalScope_constant_KEY_H:
  1181. .. rst-class:: classref-enumeration-constant
  1182. :ref:`Key<enum_@GlobalScope_Key>` **KEY_H** = ``72``
  1183. H key.
  1184. .. _class_@GlobalScope_constant_KEY_I:
  1185. .. rst-class:: classref-enumeration-constant
  1186. :ref:`Key<enum_@GlobalScope_Key>` **KEY_I** = ``73``
  1187. I key.
  1188. .. _class_@GlobalScope_constant_KEY_J:
  1189. .. rst-class:: classref-enumeration-constant
  1190. :ref:`Key<enum_@GlobalScope_Key>` **KEY_J** = ``74``
  1191. J key.
  1192. .. _class_@GlobalScope_constant_KEY_K:
  1193. .. rst-class:: classref-enumeration-constant
  1194. :ref:`Key<enum_@GlobalScope_Key>` **KEY_K** = ``75``
  1195. K key.
  1196. .. _class_@GlobalScope_constant_KEY_L:
  1197. .. rst-class:: classref-enumeration-constant
  1198. :ref:`Key<enum_@GlobalScope_Key>` **KEY_L** = ``76``
  1199. L key.
  1200. .. _class_@GlobalScope_constant_KEY_M:
  1201. .. rst-class:: classref-enumeration-constant
  1202. :ref:`Key<enum_@GlobalScope_Key>` **KEY_M** = ``77``
  1203. M key.
  1204. .. _class_@GlobalScope_constant_KEY_N:
  1205. .. rst-class:: classref-enumeration-constant
  1206. :ref:`Key<enum_@GlobalScope_Key>` **KEY_N** = ``78``
  1207. N key.
  1208. .. _class_@GlobalScope_constant_KEY_O:
  1209. .. rst-class:: classref-enumeration-constant
  1210. :ref:`Key<enum_@GlobalScope_Key>` **KEY_O** = ``79``
  1211. O key.
  1212. .. _class_@GlobalScope_constant_KEY_P:
  1213. .. rst-class:: classref-enumeration-constant
  1214. :ref:`Key<enum_@GlobalScope_Key>` **KEY_P** = ``80``
  1215. P key.
  1216. .. _class_@GlobalScope_constant_KEY_Q:
  1217. .. rst-class:: classref-enumeration-constant
  1218. :ref:`Key<enum_@GlobalScope_Key>` **KEY_Q** = ``81``
  1219. Q key.
  1220. .. _class_@GlobalScope_constant_KEY_R:
  1221. .. rst-class:: classref-enumeration-constant
  1222. :ref:`Key<enum_@GlobalScope_Key>` **KEY_R** = ``82``
  1223. R key.
  1224. .. _class_@GlobalScope_constant_KEY_S:
  1225. .. rst-class:: classref-enumeration-constant
  1226. :ref:`Key<enum_@GlobalScope_Key>` **KEY_S** = ``83``
  1227. S key.
  1228. .. _class_@GlobalScope_constant_KEY_T:
  1229. .. rst-class:: classref-enumeration-constant
  1230. :ref:`Key<enum_@GlobalScope_Key>` **KEY_T** = ``84``
  1231. T key.
  1232. .. _class_@GlobalScope_constant_KEY_U:
  1233. .. rst-class:: classref-enumeration-constant
  1234. :ref:`Key<enum_@GlobalScope_Key>` **KEY_U** = ``85``
  1235. U key.
  1236. .. _class_@GlobalScope_constant_KEY_V:
  1237. .. rst-class:: classref-enumeration-constant
  1238. :ref:`Key<enum_@GlobalScope_Key>` **KEY_V** = ``86``
  1239. V key.
  1240. .. _class_@GlobalScope_constant_KEY_W:
  1241. .. rst-class:: classref-enumeration-constant
  1242. :ref:`Key<enum_@GlobalScope_Key>` **KEY_W** = ``87``
  1243. W key.
  1244. .. _class_@GlobalScope_constant_KEY_X:
  1245. .. rst-class:: classref-enumeration-constant
  1246. :ref:`Key<enum_@GlobalScope_Key>` **KEY_X** = ``88``
  1247. X key.
  1248. .. _class_@GlobalScope_constant_KEY_Y:
  1249. .. rst-class:: classref-enumeration-constant
  1250. :ref:`Key<enum_@GlobalScope_Key>` **KEY_Y** = ``89``
  1251. Y key.
  1252. .. _class_@GlobalScope_constant_KEY_Z:
  1253. .. rst-class:: classref-enumeration-constant
  1254. :ref:`Key<enum_@GlobalScope_Key>` **KEY_Z** = ``90``
  1255. Z key.
  1256. .. _class_@GlobalScope_constant_KEY_BRACKETLEFT:
  1257. .. rst-class:: classref-enumeration-constant
  1258. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BRACKETLEFT** = ``91``
  1259. [ key.
  1260. .. _class_@GlobalScope_constant_KEY_BACKSLASH:
  1261. .. rst-class:: classref-enumeration-constant
  1262. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BACKSLASH** = ``92``
  1263. \\ key.
  1264. .. _class_@GlobalScope_constant_KEY_BRACKETRIGHT:
  1265. .. rst-class:: classref-enumeration-constant
  1266. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BRACKETRIGHT** = ``93``
  1267. ] key.
  1268. .. _class_@GlobalScope_constant_KEY_ASCIICIRCUM:
  1269. .. rst-class:: classref-enumeration-constant
  1270. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ASCIICIRCUM** = ``94``
  1271. ^ key.
  1272. .. _class_@GlobalScope_constant_KEY_UNDERSCORE:
  1273. .. rst-class:: classref-enumeration-constant
  1274. :ref:`Key<enum_@GlobalScope_Key>` **KEY_UNDERSCORE** = ``95``
  1275. \_ key.
  1276. .. _class_@GlobalScope_constant_KEY_QUOTELEFT:
  1277. .. rst-class:: classref-enumeration-constant
  1278. :ref:`Key<enum_@GlobalScope_Key>` **KEY_QUOTELEFT** = ``96``
  1279. ` key.
  1280. .. _class_@GlobalScope_constant_KEY_BRACELEFT:
  1281. .. rst-class:: classref-enumeration-constant
  1282. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BRACELEFT** = ``123``
  1283. { key.
  1284. .. _class_@GlobalScope_constant_KEY_BAR:
  1285. .. rst-class:: classref-enumeration-constant
  1286. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BAR** = ``124``
  1287. | key.
  1288. .. _class_@GlobalScope_constant_KEY_BRACERIGHT:
  1289. .. rst-class:: classref-enumeration-constant
  1290. :ref:`Key<enum_@GlobalScope_Key>` **KEY_BRACERIGHT** = ``125``
  1291. } key.
  1292. .. _class_@GlobalScope_constant_KEY_ASCIITILDE:
  1293. .. rst-class:: classref-enumeration-constant
  1294. :ref:`Key<enum_@GlobalScope_Key>` **KEY_ASCIITILDE** = ``126``
  1295. ~ key.
  1296. .. _class_@GlobalScope_constant_KEY_YEN:
  1297. .. rst-class:: classref-enumeration-constant
  1298. :ref:`Key<enum_@GlobalScope_Key>` **KEY_YEN** = ``165``
  1299. ¥ key.
  1300. .. _class_@GlobalScope_constant_KEY_SECTION:
  1301. .. rst-class:: classref-enumeration-constant
  1302. :ref:`Key<enum_@GlobalScope_Key>` **KEY_SECTION** = ``167``
  1303. § key.
  1304. .. rst-class:: classref-item-separator
  1305. ----
  1306. .. _enum_@GlobalScope_KeyModifierMask:
  1307. .. rst-class:: classref-enumeration
  1308. flags **KeyModifierMask**:
  1309. .. _class_@GlobalScope_constant_KEY_CODE_MASK:
  1310. .. rst-class:: classref-enumeration-constant
  1311. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_CODE_MASK** = ``8388607``
  1312. Key Code mask.
  1313. .. _class_@GlobalScope_constant_KEY_MODIFIER_MASK:
  1314. .. rst-class:: classref-enumeration-constant
  1315. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MODIFIER_MASK** = ``532676608``
  1316. Modifier key mask.
  1317. .. _class_@GlobalScope_constant_KEY_MASK_CMD_OR_CTRL:
  1318. .. rst-class:: classref-enumeration-constant
  1319. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_CMD_OR_CTRL** = ``16777216``
  1320. 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.
  1321. .. _class_@GlobalScope_constant_KEY_MASK_SHIFT:
  1322. .. rst-class:: classref-enumeration-constant
  1323. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_SHIFT** = ``33554432``
  1324. Shift key mask.
  1325. .. _class_@GlobalScope_constant_KEY_MASK_ALT:
  1326. .. rst-class:: classref-enumeration-constant
  1327. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_ALT** = ``67108864``
  1328. Alt or Option (on macOS) key mask.
  1329. .. _class_@GlobalScope_constant_KEY_MASK_META:
  1330. .. rst-class:: classref-enumeration-constant
  1331. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_META** = ``134217728``
  1332. Command (on macOS) or Meta/Windows key mask.
  1333. .. _class_@GlobalScope_constant_KEY_MASK_CTRL:
  1334. .. rst-class:: classref-enumeration-constant
  1335. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_CTRL** = ``268435456``
  1336. Control key mask.
  1337. .. _class_@GlobalScope_constant_KEY_MASK_KPAD:
  1338. .. rst-class:: classref-enumeration-constant
  1339. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_KPAD** = ``536870912``
  1340. Keypad key mask.
  1341. .. _class_@GlobalScope_constant_KEY_MASK_GROUP_SWITCH:
  1342. .. rst-class:: classref-enumeration-constant
  1343. :ref:`KeyModifierMask<enum_@GlobalScope_KeyModifierMask>` **KEY_MASK_GROUP_SWITCH** = ``1073741824``
  1344. Group Switch key mask.
  1345. .. rst-class:: classref-item-separator
  1346. ----
  1347. .. _enum_@GlobalScope_MouseButton:
  1348. .. rst-class:: classref-enumeration
  1349. enum **MouseButton**:
  1350. .. _class_@GlobalScope_constant_MOUSE_BUTTON_NONE:
  1351. .. rst-class:: classref-enumeration-constant
  1352. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_NONE** = ``0``
  1353. 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.
  1354. .. _class_@GlobalScope_constant_MOUSE_BUTTON_LEFT:
  1355. .. rst-class:: classref-enumeration-constant
  1356. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_LEFT** = ``1``
  1357. Primary mouse button, usually assigned to the left button.
  1358. .. _class_@GlobalScope_constant_MOUSE_BUTTON_RIGHT:
  1359. .. rst-class:: classref-enumeration-constant
  1360. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_RIGHT** = ``2``
  1361. Secondary mouse button, usually assigned to the right button.
  1362. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MIDDLE:
  1363. .. rst-class:: classref-enumeration-constant
  1364. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_MIDDLE** = ``3``
  1365. Middle mouse button.
  1366. .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_UP:
  1367. .. rst-class:: classref-enumeration-constant
  1368. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_WHEEL_UP** = ``4``
  1369. Mouse wheel scrolling up.
  1370. .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_DOWN:
  1371. .. rst-class:: classref-enumeration-constant
  1372. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_WHEEL_DOWN** = ``5``
  1373. Mouse wheel scrolling down.
  1374. .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_LEFT:
  1375. .. rst-class:: classref-enumeration-constant
  1376. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_WHEEL_LEFT** = ``6``
  1377. Mouse wheel left button (only present on some mice).
  1378. .. _class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_RIGHT:
  1379. .. rst-class:: classref-enumeration-constant
  1380. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_WHEEL_RIGHT** = ``7``
  1381. Mouse wheel right button (only present on some mice).
  1382. .. _class_@GlobalScope_constant_MOUSE_BUTTON_XBUTTON1:
  1383. .. rst-class:: classref-enumeration-constant
  1384. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_XBUTTON1** = ``8``
  1385. Extra mouse button 1. This is sometimes present, usually to the sides of the mouse.
  1386. .. _class_@GlobalScope_constant_MOUSE_BUTTON_XBUTTON2:
  1387. .. rst-class:: classref-enumeration-constant
  1388. :ref:`MouseButton<enum_@GlobalScope_MouseButton>` **MOUSE_BUTTON_XBUTTON2** = ``9``
  1389. Extra mouse button 2. This is sometimes present, usually to the sides of the mouse.
  1390. .. rst-class:: classref-item-separator
  1391. ----
  1392. .. _enum_@GlobalScope_MouseButtonMask:
  1393. .. rst-class:: classref-enumeration
  1394. flags **MouseButtonMask**:
  1395. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_LEFT:
  1396. .. rst-class:: classref-enumeration-constant
  1397. :ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>` **MOUSE_BUTTON_MASK_LEFT** = ``1``
  1398. Primary mouse button mask, usually for the left button.
  1399. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_RIGHT:
  1400. .. rst-class:: classref-enumeration-constant
  1401. :ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>` **MOUSE_BUTTON_MASK_RIGHT** = ``2``
  1402. Secondary mouse button mask, usually for the right button.
  1403. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_MIDDLE:
  1404. .. rst-class:: classref-enumeration-constant
  1405. :ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>` **MOUSE_BUTTON_MASK_MIDDLE** = ``4``
  1406. Middle mouse button mask.
  1407. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_MB_XBUTTON1:
  1408. .. rst-class:: classref-enumeration-constant
  1409. :ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>` **MOUSE_BUTTON_MASK_MB_XBUTTON1** = ``128``
  1410. Extra mouse button 1 mask.
  1411. .. _class_@GlobalScope_constant_MOUSE_BUTTON_MASK_MB_XBUTTON2:
  1412. .. rst-class:: classref-enumeration-constant
  1413. :ref:`MouseButtonMask<enum_@GlobalScope_MouseButtonMask>` **MOUSE_BUTTON_MASK_MB_XBUTTON2** = ``256``
  1414. Extra mouse button 2 mask.
  1415. .. rst-class:: classref-item-separator
  1416. ----
  1417. .. _enum_@GlobalScope_JoyButton:
  1418. .. rst-class:: classref-enumeration
  1419. enum **JoyButton**:
  1420. .. _class_@GlobalScope_constant_JOY_BUTTON_INVALID:
  1421. .. rst-class:: classref-enumeration-constant
  1422. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_INVALID** = ``-1``
  1423. An invalid game controller button.
  1424. .. _class_@GlobalScope_constant_JOY_BUTTON_A:
  1425. .. rst-class:: classref-enumeration-constant
  1426. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_A** = ``0``
  1427. Game controller SDL button A. Corresponds to the bottom action button: Sony Cross, Xbox A, Nintendo B.
  1428. .. _class_@GlobalScope_constant_JOY_BUTTON_B:
  1429. .. rst-class:: classref-enumeration-constant
  1430. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_B** = ``1``
  1431. Game controller SDL button B. Corresponds to the right action button: Sony Circle, Xbox B, Nintendo A.
  1432. .. _class_@GlobalScope_constant_JOY_BUTTON_X:
  1433. .. rst-class:: classref-enumeration-constant
  1434. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_X** = ``2``
  1435. Game controller SDL button X. Corresponds to the left action button: Sony Square, Xbox X, Nintendo Y.
  1436. .. _class_@GlobalScope_constant_JOY_BUTTON_Y:
  1437. .. rst-class:: classref-enumeration-constant
  1438. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_Y** = ``3``
  1439. Game controller SDL button Y. Corresponds to the top action button: Sony Triangle, Xbox Y, Nintendo X.
  1440. .. _class_@GlobalScope_constant_JOY_BUTTON_BACK:
  1441. .. rst-class:: classref-enumeration-constant
  1442. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_BACK** = ``4``
  1443. Game controller SDL back button. Corresponds to the Sony Select, Xbox Back, Nintendo - button.
  1444. .. _class_@GlobalScope_constant_JOY_BUTTON_GUIDE:
  1445. .. rst-class:: classref-enumeration-constant
  1446. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_GUIDE** = ``5``
  1447. Game controller SDL guide button. Corresponds to the Sony PS, Xbox Home button.
  1448. .. _class_@GlobalScope_constant_JOY_BUTTON_START:
  1449. .. rst-class:: classref-enumeration-constant
  1450. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_START** = ``6``
  1451. Game controller SDL start button. Corresponds to the Nintendo + button.
  1452. .. _class_@GlobalScope_constant_JOY_BUTTON_LEFT_STICK:
  1453. .. rst-class:: classref-enumeration-constant
  1454. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_LEFT_STICK** = ``7``
  1455. Game controller SDL left stick button. Corresponds to the Sony L3, Xbox L/LS button.
  1456. .. _class_@GlobalScope_constant_JOY_BUTTON_RIGHT_STICK:
  1457. .. rst-class:: classref-enumeration-constant
  1458. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_RIGHT_STICK** = ``8``
  1459. Game controller SDL right stick button. Corresponds to the Sony R3, Xbox R/RS button.
  1460. .. _class_@GlobalScope_constant_JOY_BUTTON_LEFT_SHOULDER:
  1461. .. rst-class:: classref-enumeration-constant
  1462. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_LEFT_SHOULDER** = ``9``
  1463. Game controller SDL left shoulder button. Corresponds to the Sony L1, Xbox LB button.
  1464. .. _class_@GlobalScope_constant_JOY_BUTTON_RIGHT_SHOULDER:
  1465. .. rst-class:: classref-enumeration-constant
  1466. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_RIGHT_SHOULDER** = ``10``
  1467. Game controller SDL right shoulder button. Corresponds to the Sony R1, Xbox RB button.
  1468. .. _class_@GlobalScope_constant_JOY_BUTTON_DPAD_UP:
  1469. .. rst-class:: classref-enumeration-constant
  1470. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_DPAD_UP** = ``11``
  1471. Game controller D-pad up button.
  1472. .. _class_@GlobalScope_constant_JOY_BUTTON_DPAD_DOWN:
  1473. .. rst-class:: classref-enumeration-constant
  1474. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_DPAD_DOWN** = ``12``
  1475. Game controller D-pad down button.
  1476. .. _class_@GlobalScope_constant_JOY_BUTTON_DPAD_LEFT:
  1477. .. rst-class:: classref-enumeration-constant
  1478. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_DPAD_LEFT** = ``13``
  1479. Game controller D-pad left button.
  1480. .. _class_@GlobalScope_constant_JOY_BUTTON_DPAD_RIGHT:
  1481. .. rst-class:: classref-enumeration-constant
  1482. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_DPAD_RIGHT** = ``14``
  1483. Game controller D-pad right button.
  1484. .. _class_@GlobalScope_constant_JOY_BUTTON_MISC1:
  1485. .. rst-class:: classref-enumeration-constant
  1486. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_MISC1** = ``15``
  1487. Game controller SDL miscellaneous button. Corresponds to Xbox share button, PS5 microphone button, Nintendo Switch capture button.
  1488. .. _class_@GlobalScope_constant_JOY_BUTTON_PADDLE1:
  1489. .. rst-class:: classref-enumeration-constant
  1490. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_PADDLE1** = ``16``
  1491. Game controller SDL paddle 1 button.
  1492. .. _class_@GlobalScope_constant_JOY_BUTTON_PADDLE2:
  1493. .. rst-class:: classref-enumeration-constant
  1494. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_PADDLE2** = ``17``
  1495. Game controller SDL paddle 2 button.
  1496. .. _class_@GlobalScope_constant_JOY_BUTTON_PADDLE3:
  1497. .. rst-class:: classref-enumeration-constant
  1498. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_PADDLE3** = ``18``
  1499. Game controller SDL paddle 3 button.
  1500. .. _class_@GlobalScope_constant_JOY_BUTTON_PADDLE4:
  1501. .. rst-class:: classref-enumeration-constant
  1502. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_PADDLE4** = ``19``
  1503. Game controller SDL paddle 4 button.
  1504. .. _class_@GlobalScope_constant_JOY_BUTTON_TOUCHPAD:
  1505. .. rst-class:: classref-enumeration-constant
  1506. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_TOUCHPAD** = ``20``
  1507. Game controller SDL touchpad button.
  1508. .. _class_@GlobalScope_constant_JOY_BUTTON_SDL_MAX:
  1509. .. rst-class:: classref-enumeration-constant
  1510. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_SDL_MAX** = ``21``
  1511. The number of SDL game controller buttons.
  1512. .. _class_@GlobalScope_constant_JOY_BUTTON_MAX:
  1513. .. rst-class:: classref-enumeration-constant
  1514. :ref:`JoyButton<enum_@GlobalScope_JoyButton>` **JOY_BUTTON_MAX** = ``128``
  1515. The maximum number of game controller buttons supported by the engine. The actual limit may be lower on specific platforms:
  1516. - **Android:** Up to 36 buttons.
  1517. - **Linux:** Up to 80 buttons.
  1518. - **Windows** and **macOS:** Up to 128 buttons.
  1519. .. rst-class:: classref-item-separator
  1520. ----
  1521. .. _enum_@GlobalScope_JoyAxis:
  1522. .. rst-class:: classref-enumeration
  1523. enum **JoyAxis**:
  1524. .. _class_@GlobalScope_constant_JOY_AXIS_INVALID:
  1525. .. rst-class:: classref-enumeration-constant
  1526. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_INVALID** = ``-1``
  1527. An invalid game controller axis.
  1528. .. _class_@GlobalScope_constant_JOY_AXIS_LEFT_X:
  1529. .. rst-class:: classref-enumeration-constant
  1530. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_LEFT_X** = ``0``
  1531. Game controller left joystick x-axis.
  1532. .. _class_@GlobalScope_constant_JOY_AXIS_LEFT_Y:
  1533. .. rst-class:: classref-enumeration-constant
  1534. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_LEFT_Y** = ``1``
  1535. Game controller left joystick y-axis.
  1536. .. _class_@GlobalScope_constant_JOY_AXIS_RIGHT_X:
  1537. .. rst-class:: classref-enumeration-constant
  1538. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_RIGHT_X** = ``2``
  1539. Game controller right joystick x-axis.
  1540. .. _class_@GlobalScope_constant_JOY_AXIS_RIGHT_Y:
  1541. .. rst-class:: classref-enumeration-constant
  1542. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_RIGHT_Y** = ``3``
  1543. Game controller right joystick y-axis.
  1544. .. _class_@GlobalScope_constant_JOY_AXIS_TRIGGER_LEFT:
  1545. .. rst-class:: classref-enumeration-constant
  1546. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_TRIGGER_LEFT** = ``4``
  1547. Game controller left trigger axis.
  1548. .. _class_@GlobalScope_constant_JOY_AXIS_TRIGGER_RIGHT:
  1549. .. rst-class:: classref-enumeration-constant
  1550. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_TRIGGER_RIGHT** = ``5``
  1551. Game controller right trigger axis.
  1552. .. _class_@GlobalScope_constant_JOY_AXIS_SDL_MAX:
  1553. .. rst-class:: classref-enumeration-constant
  1554. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_SDL_MAX** = ``6``
  1555. The number of SDL game controller axes.
  1556. .. _class_@GlobalScope_constant_JOY_AXIS_MAX:
  1557. .. rst-class:: classref-enumeration-constant
  1558. :ref:`JoyAxis<enum_@GlobalScope_JoyAxis>` **JOY_AXIS_MAX** = ``10``
  1559. The maximum number of game controller axes: OpenVR supports up to 5 Joysticks making a total of 10 axes.
  1560. .. rst-class:: classref-item-separator
  1561. ----
  1562. .. _enum_@GlobalScope_MIDIMessage:
  1563. .. rst-class:: classref-enumeration
  1564. enum **MIDIMessage**:
  1565. .. _class_@GlobalScope_constant_MIDI_MESSAGE_NONE:
  1566. .. rst-class:: classref-enumeration-constant
  1567. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_NONE** = ``0``
  1568. Enum value which doesn't correspond to any MIDI message. This is used to initialize :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` properties with a generic state.
  1569. .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF:
  1570. .. rst-class:: classref-enumeration-constant
  1571. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_NOTE_OFF** = ``8``
  1572. MIDI note OFF message. Not all MIDI devices send this event; some send :ref:`MIDI_MESSAGE_NOTE_ON<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON>` with zero velocity instead. See the documentation of :ref:`InputEventMIDI<class_InputEventMIDI>` for information of how to use MIDI inputs.
  1573. .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON:
  1574. .. rst-class:: classref-enumeration-constant
  1575. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_NOTE_ON** = ``9``
  1576. MIDI note ON message. Some MIDI devices send this event with velocity zero instead of :ref:`MIDI_MESSAGE_NOTE_OFF<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF>`, but implementations vary. See the documentation of :ref:`InputEventMIDI<class_InputEventMIDI>` for information of how to use MIDI inputs.
  1577. .. _class_@GlobalScope_constant_MIDI_MESSAGE_AFTERTOUCH:
  1578. .. rst-class:: classref-enumeration-constant
  1579. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_AFTERTOUCH** = ``10``
  1580. MIDI aftertouch message. This message is most often sent by pressing down on the key after it "bottoms out".
  1581. .. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTROL_CHANGE:
  1582. .. rst-class:: classref-enumeration-constant
  1583. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_CONTROL_CHANGE** = ``11``
  1584. MIDI control change message. This message is sent when a controller value changes. Controllers include devices such as pedals and levers.
  1585. .. _class_@GlobalScope_constant_MIDI_MESSAGE_PROGRAM_CHANGE:
  1586. .. rst-class:: classref-enumeration-constant
  1587. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_PROGRAM_CHANGE** = ``12``
  1588. MIDI program change message. This message sent when the program patch number changes.
  1589. .. _class_@GlobalScope_constant_MIDI_MESSAGE_CHANNEL_PRESSURE:
  1590. .. rst-class:: classref-enumeration-constant
  1591. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_CHANNEL_PRESSURE** = ``13``
  1592. MIDI channel pressure message. This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch as it indicates the highest pressure across all keys.
  1593. .. _class_@GlobalScope_constant_MIDI_MESSAGE_PITCH_BEND:
  1594. .. rst-class:: classref-enumeration-constant
  1595. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_PITCH_BEND** = ``14``
  1596. MIDI pitch bend message. This message is sent to indicate a change in the pitch bender (wheel or lever, typically).
  1597. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_EXCLUSIVE:
  1598. .. rst-class:: classref-enumeration-constant
  1599. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_SYSTEM_EXCLUSIVE** = ``240``
  1600. MIDI system exclusive message. This has behavior exclusive to the device you're receiving input from. Getting this data is not implemented in Godot.
  1601. .. _class_@GlobalScope_constant_MIDI_MESSAGE_QUARTER_FRAME:
  1602. .. rst-class:: classref-enumeration-constant
  1603. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_QUARTER_FRAME** = ``241``
  1604. MIDI quarter frame message. Contains timing information that is used to synchronize MIDI devices. Getting this data is not implemented in Godot.
  1605. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_POSITION_POINTER:
  1606. .. rst-class:: classref-enumeration-constant
  1607. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_SONG_POSITION_POINTER** = ``242``
  1608. MIDI song position pointer message. Gives the number of 16th notes since the start of the song. Getting this data is not implemented in Godot.
  1609. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_SELECT:
  1610. .. rst-class:: classref-enumeration-constant
  1611. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_SONG_SELECT** = ``243``
  1612. MIDI song select message. Specifies which sequence or song is to be played. Getting this data is not implemented in Godot.
  1613. .. _class_@GlobalScope_constant_MIDI_MESSAGE_TUNE_REQUEST:
  1614. .. rst-class:: classref-enumeration-constant
  1615. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_TUNE_REQUEST** = ``246``
  1616. MIDI tune request message. Upon receiving a tune request, all analog synthesizers should tune their oscillators.
  1617. .. _class_@GlobalScope_constant_MIDI_MESSAGE_TIMING_CLOCK:
  1618. .. rst-class:: classref-enumeration-constant
  1619. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_TIMING_CLOCK** = ``248``
  1620. MIDI timing clock message. Sent 24 times per quarter note when synchronization is required.
  1621. .. _class_@GlobalScope_constant_MIDI_MESSAGE_START:
  1622. .. rst-class:: classref-enumeration-constant
  1623. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_START** = ``250``
  1624. MIDI start message. Start the current sequence playing. This message will be followed with Timing Clocks.
  1625. .. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTINUE:
  1626. .. rst-class:: classref-enumeration-constant
  1627. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_CONTINUE** = ``251``
  1628. MIDI continue message. Continue at the point the sequence was stopped.
  1629. .. _class_@GlobalScope_constant_MIDI_MESSAGE_STOP:
  1630. .. rst-class:: classref-enumeration-constant
  1631. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_STOP** = ``252``
  1632. MIDI stop message. Stop the current sequence.
  1633. .. _class_@GlobalScope_constant_MIDI_MESSAGE_ACTIVE_SENSING:
  1634. .. rst-class:: classref-enumeration-constant
  1635. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_ACTIVE_SENSING** = ``254``
  1636. MIDI active sensing message. This message is intended to be sent repeatedly to tell the receiver that a connection is alive.
  1637. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_RESET:
  1638. .. rst-class:: classref-enumeration-constant
  1639. :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **MIDI_MESSAGE_SYSTEM_RESET** = ``255``
  1640. MIDI system reset message. Reset all receivers in the system to power-up status. It should not be sent on power-up itself.
  1641. .. rst-class:: classref-item-separator
  1642. ----
  1643. .. _enum_@GlobalScope_Error:
  1644. .. rst-class:: classref-enumeration
  1645. enum **Error**:
  1646. .. _class_@GlobalScope_constant_OK:
  1647. .. rst-class:: classref-enumeration-constant
  1648. :ref:`Error<enum_@GlobalScope_Error>` **OK** = ``0``
  1649. Methods that return :ref:`Error<enum_@GlobalScope_Error>` return :ref:`OK<class_@GlobalScope_constant_OK>` when no error occurred.
  1650. 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.
  1651. \ **Example:**\
  1652. ::
  1653. var error = method_that_returns_error()
  1654. if error != OK:
  1655. printerr("Failure!")
  1656. # Or, alternatively:
  1657. if error:
  1658. printerr("Still failing!")
  1659. \ **Note:** Many functions do not return an error code, but will print error messages to standard output.
  1660. .. _class_@GlobalScope_constant_FAILED:
  1661. .. rst-class:: classref-enumeration-constant
  1662. :ref:`Error<enum_@GlobalScope_Error>` **FAILED** = ``1``
  1663. Generic error.
  1664. .. _class_@GlobalScope_constant_ERR_UNAVAILABLE:
  1665. .. rst-class:: classref-enumeration-constant
  1666. :ref:`Error<enum_@GlobalScope_Error>` **ERR_UNAVAILABLE** = ``2``
  1667. Unavailable error.
  1668. .. _class_@GlobalScope_constant_ERR_UNCONFIGURED:
  1669. .. rst-class:: classref-enumeration-constant
  1670. :ref:`Error<enum_@GlobalScope_Error>` **ERR_UNCONFIGURED** = ``3``
  1671. Unconfigured error.
  1672. .. _class_@GlobalScope_constant_ERR_UNAUTHORIZED:
  1673. .. rst-class:: classref-enumeration-constant
  1674. :ref:`Error<enum_@GlobalScope_Error>` **ERR_UNAUTHORIZED** = ``4``
  1675. Unauthorized error.
  1676. .. _class_@GlobalScope_constant_ERR_PARAMETER_RANGE_ERROR:
  1677. .. rst-class:: classref-enumeration-constant
  1678. :ref:`Error<enum_@GlobalScope_Error>` **ERR_PARAMETER_RANGE_ERROR** = ``5``
  1679. Parameter range error.
  1680. .. _class_@GlobalScope_constant_ERR_OUT_OF_MEMORY:
  1681. .. rst-class:: classref-enumeration-constant
  1682. :ref:`Error<enum_@GlobalScope_Error>` **ERR_OUT_OF_MEMORY** = ``6``
  1683. Out of memory (OOM) error.
  1684. .. _class_@GlobalScope_constant_ERR_FILE_NOT_FOUND:
  1685. .. rst-class:: classref-enumeration-constant
  1686. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_NOT_FOUND** = ``7``
  1687. File: Not found error.
  1688. .. _class_@GlobalScope_constant_ERR_FILE_BAD_DRIVE:
  1689. .. rst-class:: classref-enumeration-constant
  1690. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_BAD_DRIVE** = ``8``
  1691. File: Bad drive error.
  1692. .. _class_@GlobalScope_constant_ERR_FILE_BAD_PATH:
  1693. .. rst-class:: classref-enumeration-constant
  1694. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_BAD_PATH** = ``9``
  1695. File: Bad path error.
  1696. .. _class_@GlobalScope_constant_ERR_FILE_NO_PERMISSION:
  1697. .. rst-class:: classref-enumeration-constant
  1698. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_NO_PERMISSION** = ``10``
  1699. File: No permission error.
  1700. .. _class_@GlobalScope_constant_ERR_FILE_ALREADY_IN_USE:
  1701. .. rst-class:: classref-enumeration-constant
  1702. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_ALREADY_IN_USE** = ``11``
  1703. File: Already in use error.
  1704. .. _class_@GlobalScope_constant_ERR_FILE_CANT_OPEN:
  1705. .. rst-class:: classref-enumeration-constant
  1706. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_CANT_OPEN** = ``12``
  1707. File: Can't open error.
  1708. .. _class_@GlobalScope_constant_ERR_FILE_CANT_WRITE:
  1709. .. rst-class:: classref-enumeration-constant
  1710. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_CANT_WRITE** = ``13``
  1711. File: Can't write error.
  1712. .. _class_@GlobalScope_constant_ERR_FILE_CANT_READ:
  1713. .. rst-class:: classref-enumeration-constant
  1714. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_CANT_READ** = ``14``
  1715. File: Can't read error.
  1716. .. _class_@GlobalScope_constant_ERR_FILE_UNRECOGNIZED:
  1717. .. rst-class:: classref-enumeration-constant
  1718. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_UNRECOGNIZED** = ``15``
  1719. File: Unrecognized error.
  1720. .. _class_@GlobalScope_constant_ERR_FILE_CORRUPT:
  1721. .. rst-class:: classref-enumeration-constant
  1722. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_CORRUPT** = ``16``
  1723. File: Corrupt error.
  1724. .. _class_@GlobalScope_constant_ERR_FILE_MISSING_DEPENDENCIES:
  1725. .. rst-class:: classref-enumeration-constant
  1726. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_MISSING_DEPENDENCIES** = ``17``
  1727. File: Missing dependencies error.
  1728. .. _class_@GlobalScope_constant_ERR_FILE_EOF:
  1729. .. rst-class:: classref-enumeration-constant
  1730. :ref:`Error<enum_@GlobalScope_Error>` **ERR_FILE_EOF** = ``18``
  1731. File: End of file (EOF) error.
  1732. .. _class_@GlobalScope_constant_ERR_CANT_OPEN:
  1733. .. rst-class:: classref-enumeration-constant
  1734. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_OPEN** = ``19``
  1735. Can't open error.
  1736. .. _class_@GlobalScope_constant_ERR_CANT_CREATE:
  1737. .. rst-class:: classref-enumeration-constant
  1738. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_CREATE** = ``20``
  1739. Can't create error.
  1740. .. _class_@GlobalScope_constant_ERR_QUERY_FAILED:
  1741. .. rst-class:: classref-enumeration-constant
  1742. :ref:`Error<enum_@GlobalScope_Error>` **ERR_QUERY_FAILED** = ``21``
  1743. Query failed error.
  1744. .. _class_@GlobalScope_constant_ERR_ALREADY_IN_USE:
  1745. .. rst-class:: classref-enumeration-constant
  1746. :ref:`Error<enum_@GlobalScope_Error>` **ERR_ALREADY_IN_USE** = ``22``
  1747. Already in use error.
  1748. .. _class_@GlobalScope_constant_ERR_LOCKED:
  1749. .. rst-class:: classref-enumeration-constant
  1750. :ref:`Error<enum_@GlobalScope_Error>` **ERR_LOCKED** = ``23``
  1751. Locked error.
  1752. .. _class_@GlobalScope_constant_ERR_TIMEOUT:
  1753. .. rst-class:: classref-enumeration-constant
  1754. :ref:`Error<enum_@GlobalScope_Error>` **ERR_TIMEOUT** = ``24``
  1755. Timeout error.
  1756. .. _class_@GlobalScope_constant_ERR_CANT_CONNECT:
  1757. .. rst-class:: classref-enumeration-constant
  1758. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_CONNECT** = ``25``
  1759. Can't connect error.
  1760. .. _class_@GlobalScope_constant_ERR_CANT_RESOLVE:
  1761. .. rst-class:: classref-enumeration-constant
  1762. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_RESOLVE** = ``26``
  1763. Can't resolve error.
  1764. .. _class_@GlobalScope_constant_ERR_CONNECTION_ERROR:
  1765. .. rst-class:: classref-enumeration-constant
  1766. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CONNECTION_ERROR** = ``27``
  1767. Connection error.
  1768. .. _class_@GlobalScope_constant_ERR_CANT_ACQUIRE_RESOURCE:
  1769. .. rst-class:: classref-enumeration-constant
  1770. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_ACQUIRE_RESOURCE** = ``28``
  1771. Can't acquire resource error.
  1772. .. _class_@GlobalScope_constant_ERR_CANT_FORK:
  1773. .. rst-class:: classref-enumeration-constant
  1774. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CANT_FORK** = ``29``
  1775. Can't fork process error.
  1776. .. _class_@GlobalScope_constant_ERR_INVALID_DATA:
  1777. .. rst-class:: classref-enumeration-constant
  1778. :ref:`Error<enum_@GlobalScope_Error>` **ERR_INVALID_DATA** = ``30``
  1779. Invalid data error.
  1780. .. _class_@GlobalScope_constant_ERR_INVALID_PARAMETER:
  1781. .. rst-class:: classref-enumeration-constant
  1782. :ref:`Error<enum_@GlobalScope_Error>` **ERR_INVALID_PARAMETER** = ``31``
  1783. Invalid parameter error.
  1784. .. _class_@GlobalScope_constant_ERR_ALREADY_EXISTS:
  1785. .. rst-class:: classref-enumeration-constant
  1786. :ref:`Error<enum_@GlobalScope_Error>` **ERR_ALREADY_EXISTS** = ``32``
  1787. Already exists error.
  1788. .. _class_@GlobalScope_constant_ERR_DOES_NOT_EXIST:
  1789. .. rst-class:: classref-enumeration-constant
  1790. :ref:`Error<enum_@GlobalScope_Error>` **ERR_DOES_NOT_EXIST** = ``33``
  1791. Does not exist error.
  1792. .. _class_@GlobalScope_constant_ERR_DATABASE_CANT_READ:
  1793. .. rst-class:: classref-enumeration-constant
  1794. :ref:`Error<enum_@GlobalScope_Error>` **ERR_DATABASE_CANT_READ** = ``34``
  1795. Database: Read error.
  1796. .. _class_@GlobalScope_constant_ERR_DATABASE_CANT_WRITE:
  1797. .. rst-class:: classref-enumeration-constant
  1798. :ref:`Error<enum_@GlobalScope_Error>` **ERR_DATABASE_CANT_WRITE** = ``35``
  1799. Database: Write error.
  1800. .. _class_@GlobalScope_constant_ERR_COMPILATION_FAILED:
  1801. .. rst-class:: classref-enumeration-constant
  1802. :ref:`Error<enum_@GlobalScope_Error>` **ERR_COMPILATION_FAILED** = ``36``
  1803. Compilation failed error.
  1804. .. _class_@GlobalScope_constant_ERR_METHOD_NOT_FOUND:
  1805. .. rst-class:: classref-enumeration-constant
  1806. :ref:`Error<enum_@GlobalScope_Error>` **ERR_METHOD_NOT_FOUND** = ``37``
  1807. Method not found error.
  1808. .. _class_@GlobalScope_constant_ERR_LINK_FAILED:
  1809. .. rst-class:: classref-enumeration-constant
  1810. :ref:`Error<enum_@GlobalScope_Error>` **ERR_LINK_FAILED** = ``38``
  1811. Linking failed error.
  1812. .. _class_@GlobalScope_constant_ERR_SCRIPT_FAILED:
  1813. .. rst-class:: classref-enumeration-constant
  1814. :ref:`Error<enum_@GlobalScope_Error>` **ERR_SCRIPT_FAILED** = ``39``
  1815. Script failed error.
  1816. .. _class_@GlobalScope_constant_ERR_CYCLIC_LINK:
  1817. .. rst-class:: classref-enumeration-constant
  1818. :ref:`Error<enum_@GlobalScope_Error>` **ERR_CYCLIC_LINK** = ``40``
  1819. Cycling link (import cycle) error.
  1820. .. _class_@GlobalScope_constant_ERR_INVALID_DECLARATION:
  1821. .. rst-class:: classref-enumeration-constant
  1822. :ref:`Error<enum_@GlobalScope_Error>` **ERR_INVALID_DECLARATION** = ``41``
  1823. Invalid declaration error.
  1824. .. _class_@GlobalScope_constant_ERR_DUPLICATE_SYMBOL:
  1825. .. rst-class:: classref-enumeration-constant
  1826. :ref:`Error<enum_@GlobalScope_Error>` **ERR_DUPLICATE_SYMBOL** = ``42``
  1827. Duplicate symbol error.
  1828. .. _class_@GlobalScope_constant_ERR_PARSE_ERROR:
  1829. .. rst-class:: classref-enumeration-constant
  1830. :ref:`Error<enum_@GlobalScope_Error>` **ERR_PARSE_ERROR** = ``43``
  1831. Parse error.
  1832. .. _class_@GlobalScope_constant_ERR_BUSY:
  1833. .. rst-class:: classref-enumeration-constant
  1834. :ref:`Error<enum_@GlobalScope_Error>` **ERR_BUSY** = ``44``
  1835. Busy error.
  1836. .. _class_@GlobalScope_constant_ERR_SKIP:
  1837. .. rst-class:: classref-enumeration-constant
  1838. :ref:`Error<enum_@GlobalScope_Error>` **ERR_SKIP** = ``45``
  1839. Skip error.
  1840. .. _class_@GlobalScope_constant_ERR_HELP:
  1841. .. rst-class:: classref-enumeration-constant
  1842. :ref:`Error<enum_@GlobalScope_Error>` **ERR_HELP** = ``46``
  1843. Help error. Used internally when passing ``--version`` or ``--help`` as executable options.
  1844. .. _class_@GlobalScope_constant_ERR_BUG:
  1845. .. rst-class:: classref-enumeration-constant
  1846. :ref:`Error<enum_@GlobalScope_Error>` **ERR_BUG** = ``47``
  1847. Bug error, caused by an implementation issue in the method.
  1848. \ **Note:** If a built-in method returns this code, please open an issue on `the GitHub Issue Tracker <https://github.com/godotengine/godot/issues>`__.
  1849. .. _class_@GlobalScope_constant_ERR_PRINTER_ON_FIRE:
  1850. .. rst-class:: classref-enumeration-constant
  1851. :ref:`Error<enum_@GlobalScope_Error>` **ERR_PRINTER_ON_FIRE** = ``48``
  1852. Printer on fire error (This is an easter egg, no built-in methods return this error code).
  1853. .. rst-class:: classref-item-separator
  1854. ----
  1855. .. _enum_@GlobalScope_PropertyHint:
  1856. .. rst-class:: classref-enumeration
  1857. enum **PropertyHint**:
  1858. .. _class_@GlobalScope_constant_PROPERTY_HINT_NONE:
  1859. .. rst-class:: classref-enumeration-constant
  1860. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_NONE** = ``0``
  1861. The property has no hint for the editor.
  1862. .. _class_@GlobalScope_constant_PROPERTY_HINT_RANGE:
  1863. .. rst-class:: classref-enumeration-constant
  1864. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_RANGE** = ``1``
  1865. 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.
  1866. \ **Example:** ``"-360,360,1,or_greater,or_less"``.
  1867. Additionally, other keywords can be included: ``"exp"`` for exponential range editing, ``"radians"`` for editing radian angles in degrees, ``"degrees"`` to hint at an angle and ``"hide_slider"`` to hide the slider.
  1868. .. _class_@GlobalScope_constant_PROPERTY_HINT_ENUM:
  1869. .. rst-class:: classref-enumeration-constant
  1870. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_ENUM** = ``2``
  1871. Hints that an :ref:`int<class_int>` or :ref:`String<class_String>` property is an enumerated value to pick in a list specified via a hint string.
  1872. The hint string is a comma separated list of names such as ``"Hello,Something,Else"``. Whitespaces are **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"``.
  1873. .. _class_@GlobalScope_constant_PROPERTY_HINT_ENUM_SUGGESTION:
  1874. .. rst-class:: classref-enumeration-constant
  1875. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_ENUM_SUGGESTION** = ``3``
  1876. Hints that a :ref:`String<class_String>` property can be an enumerated value to pick in a list specified via a hint string such as ``"Hello,Something,Else"``.
  1877. 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.
  1878. .. _class_@GlobalScope_constant_PROPERTY_HINT_EXP_EASING:
  1879. .. rst-class:: classref-enumeration-constant
  1880. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_EXP_EASING** = ``4``
  1881. 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.
  1882. .. _class_@GlobalScope_constant_PROPERTY_HINT_LINK:
  1883. .. rst-class:: classref-enumeration-constant
  1884. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LINK** = ``5``
  1885. 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.
  1886. .. _class_@GlobalScope_constant_PROPERTY_HINT_FLAGS:
  1887. .. rst-class:: classref-enumeration-constant
  1888. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_FLAGS** = ``6``
  1889. Hints that an :ref:`int<class_int>` property is a bitmask with named bit flags.
  1890. The hint string is a comma separated list of names such as ``"Bit0,Bit1,Bit2,Bit3"``. Whitespaces are **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"``).
  1891. \ **Note:** A flag value must be at least ``1`` and at most ``2 ** 32 - 1``.
  1892. \ **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.
  1893. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_2D_RENDER:
  1894. .. rst-class:: classref-enumeration-constant
  1895. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_2D_RENDER** = ``7``
  1896. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 2D render layers.
  1897. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_2D_PHYSICS:
  1898. .. rst-class:: classref-enumeration-constant
  1899. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_2D_PHYSICS** = ``8``
  1900. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 2D physics layers.
  1901. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_2D_NAVIGATION:
  1902. .. rst-class:: classref-enumeration-constant
  1903. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_2D_NAVIGATION** = ``9``
  1904. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 2D navigation layers.
  1905. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_3D_RENDER:
  1906. .. rst-class:: classref-enumeration-constant
  1907. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_3D_RENDER** = ``10``
  1908. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 3D render layers.
  1909. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_3D_PHYSICS:
  1910. .. rst-class:: classref-enumeration-constant
  1911. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_3D_PHYSICS** = ``11``
  1912. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 3D physics layers.
  1913. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_3D_NAVIGATION:
  1914. .. rst-class:: classref-enumeration-constant
  1915. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_3D_NAVIGATION** = ``12``
  1916. Hints that an :ref:`int<class_int>` property is a bitmask using the optionally named 3D navigation layers.
  1917. .. _class_@GlobalScope_constant_PROPERTY_HINT_LAYERS_AVOIDANCE:
  1918. .. rst-class:: classref-enumeration-constant
  1919. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LAYERS_AVOIDANCE** = ``37``
  1920. Hints that an integer property is a bitmask using the optionally named avoidance layers.
  1921. .. _class_@GlobalScope_constant_PROPERTY_HINT_FILE:
  1922. .. rst-class:: classref-enumeration-constant
  1923. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_FILE** = ``13``
  1924. 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"``.
  1925. .. _class_@GlobalScope_constant_PROPERTY_HINT_DIR:
  1926. .. rst-class:: classref-enumeration-constant
  1927. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_DIR** = ``14``
  1928. 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.
  1929. .. _class_@GlobalScope_constant_PROPERTY_HINT_GLOBAL_FILE:
  1930. .. rst-class:: classref-enumeration-constant
  1931. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_GLOBAL_FILE** = ``15``
  1932. 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"``.
  1933. .. _class_@GlobalScope_constant_PROPERTY_HINT_GLOBAL_DIR:
  1934. .. rst-class:: classref-enumeration-constant
  1935. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_GLOBAL_DIR** = ``16``
  1936. 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.
  1937. .. _class_@GlobalScope_constant_PROPERTY_HINT_RESOURCE_TYPE:
  1938. .. rst-class:: classref-enumeration-constant
  1939. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_RESOURCE_TYPE** = ``17``
  1940. 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.
  1941. .. _class_@GlobalScope_constant_PROPERTY_HINT_MULTILINE_TEXT:
  1942. .. rst-class:: classref-enumeration-constant
  1943. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_MULTILINE_TEXT** = ``18``
  1944. 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.
  1945. .. _class_@GlobalScope_constant_PROPERTY_HINT_EXPRESSION:
  1946. .. rst-class:: classref-enumeration-constant
  1947. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_EXPRESSION** = ``19``
  1948. Hints that a :ref:`String<class_String>` property is an :ref:`Expression<class_Expression>`.
  1949. .. _class_@GlobalScope_constant_PROPERTY_HINT_PLACEHOLDER_TEXT:
  1950. .. rst-class:: classref-enumeration-constant
  1951. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_PLACEHOLDER_TEXT** = ``20``
  1952. 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.
  1953. .. _class_@GlobalScope_constant_PROPERTY_HINT_COLOR_NO_ALPHA:
  1954. .. rst-class:: classref-enumeration-constant
  1955. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_COLOR_NO_ALPHA** = ``21``
  1956. 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).
  1957. .. _class_@GlobalScope_constant_PROPERTY_HINT_OBJECT_ID:
  1958. .. rst-class:: classref-enumeration-constant
  1959. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_OBJECT_ID** = ``22``
  1960. .. _class_@GlobalScope_constant_PROPERTY_HINT_TYPE_STRING:
  1961. .. rst-class:: classref-enumeration-constant
  1962. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_TYPE_STRING** = ``23``
  1963. 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.
  1964. If a property is :ref:`Array<class_Array>`, hints the editor how to show elements. The ``hint_string`` must encode nested types using ``":"`` and ``"/"``.
  1965. .. tabs::
  1966. .. code-tab:: gdscript
  1967. # Array of elem_type.
  1968. hint_string = "%d:" % [elem_type]
  1969. hint_string = "%d/%d:%s" % [elem_type, elem_hint, elem_hint_string]
  1970. # Two-dimensional array of elem_type (array of arrays of elem_type).
  1971. hint_string = "%d:%d:" % [TYPE_ARRAY, elem_type]
  1972. hint_string = "%d:%d/%d:%s" % [TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]
  1973. # Three-dimensional array of elem_type (array of arrays of arrays of elem_type).
  1974. hint_string = "%d:%d:%d:" % [TYPE_ARRAY, TYPE_ARRAY, elem_type]
  1975. hint_string = "%d:%d:%d/%d:%s" % [TYPE_ARRAY, TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]
  1976. .. code-tab:: csharp
  1977. // Array of elemType.
  1978. hintString = $"{elemType:D}:";
  1979. hintString = $"{elemType:}/{elemHint:D}:{elemHintString}";
  1980. // Two-dimensional array of elemType (array of arrays of elemType).
  1981. hintString = $"{Variant.Type.Array:D}:{elemType:D}:";
  1982. hintString = $"{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
  1983. // Three-dimensional array of elemType (array of arrays of arrays of elemType).
  1984. hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}:";
  1985. hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
  1986. Examples:
  1987. .. tabs::
  1988. .. code-tab:: gdscript
  1989. hint_string = "%d:" % [TYPE_INT] # Array of integers.
  1990. hint_string = "%d/%d:1,10,1" % [TYPE_INT, PROPERTY_HINT_RANGE] # Array of integers (in range from 1 to 10).
  1991. hint_string = "%d/%d:Zero,One,Two" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum).
  1992. hint_string = "%d/%d:Zero,One,Three:3,Six:6" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum).
  1993. hint_string = "%d/%d:*.png" % [TYPE_STRING, PROPERTY_HINT_FILE] # Array of strings (file paths).
  1994. hint_string = "%d/%d:Texture2D" % [TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Array of textures.
  1995. hint_string = "%d:%d:" % [TYPE_ARRAY, TYPE_FLOAT] # Two-dimensional array of floats.
  1996. hint_string = "%d:%d/%d:" % [TYPE_ARRAY, TYPE_STRING, PROPERTY_HINT_MULTILINE_TEXT] # Two-dimensional array of multiline strings.
  1997. 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).
  1998. hint_string = "%d:%d/%d:Texture2D" % [TYPE_ARRAY, TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Two-dimensional array of textures.
  1999. .. code-tab:: csharp
  2000. hintString = $"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1"; // Array of integers (in range from 1 to 10).
  2001. hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Two"; // Array of integers (an enum).
  2002. hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6"; // Array of integers (an enum).
  2003. hintString = $"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png"; // Array of strings (file paths).
  2004. hintString = $"{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Array of textures.
  2005. hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}:"; // Two-dimensional array of floats.
  2006. hintString = $"{Variant.Type.Array:D}:{Variant.Type.String:D}/{PropertyHint.MultilineText:D}:"; // Two-dimensional array of multiline strings.
  2007. 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).
  2008. hintString = $"{Variant.Type.Array:D}:{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Two-dimensional array of textures.
  2009. \ **Note:** The trailing colon is required for properly detecting built-in types.
  2010. .. _class_@GlobalScope_constant_PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE:
  2011. .. rst-class:: classref-enumeration-constant
  2012. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE** = ``24``
  2013. .. _class_@GlobalScope_constant_PROPERTY_HINT_OBJECT_TOO_BIG:
  2014. .. rst-class:: classref-enumeration-constant
  2015. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_OBJECT_TOO_BIG** = ``25``
  2016. .. _class_@GlobalScope_constant_PROPERTY_HINT_NODE_PATH_VALID_TYPES:
  2017. .. rst-class:: classref-enumeration-constant
  2018. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_NODE_PATH_VALID_TYPES** = ``26``
  2019. .. _class_@GlobalScope_constant_PROPERTY_HINT_SAVE_FILE:
  2020. .. rst-class:: classref-enumeration-constant
  2021. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_SAVE_FILE** = ``27``
  2022. .. _class_@GlobalScope_constant_PROPERTY_HINT_GLOBAL_SAVE_FILE:
  2023. .. rst-class:: classref-enumeration-constant
  2024. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_GLOBAL_SAVE_FILE** = ``28``
  2025. .. _class_@GlobalScope_constant_PROPERTY_HINT_INT_IS_OBJECTID:
  2026. .. rst-class:: classref-enumeration-constant
  2027. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_INT_IS_OBJECTID** = ``29``
  2028. .. _class_@GlobalScope_constant_PROPERTY_HINT_INT_IS_POINTER:
  2029. .. rst-class:: classref-enumeration-constant
  2030. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_INT_IS_POINTER** = ``30``
  2031. .. _class_@GlobalScope_constant_PROPERTY_HINT_ARRAY_TYPE:
  2032. .. rst-class:: classref-enumeration-constant
  2033. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_ARRAY_TYPE** = ``31``
  2034. .. _class_@GlobalScope_constant_PROPERTY_HINT_LOCALE_ID:
  2035. .. rst-class:: classref-enumeration-constant
  2036. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LOCALE_ID** = ``32``
  2037. Hints that a string property is a locale code. Editing it will show a locale dialog for picking language and country.
  2038. .. _class_@GlobalScope_constant_PROPERTY_HINT_LOCALIZABLE_STRING:
  2039. .. rst-class:: classref-enumeration-constant
  2040. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_LOCALIZABLE_STRING** = ``33``
  2041. Hints that a dictionary property is string translation map. Dictionary keys are locale codes and, values are translated strings.
  2042. .. _class_@GlobalScope_constant_PROPERTY_HINT_NODE_TYPE:
  2043. .. rst-class:: classref-enumeration-constant
  2044. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_NODE_TYPE** = ``34``
  2045. .. _class_@GlobalScope_constant_PROPERTY_HINT_HIDE_QUATERNION_EDIT:
  2046. .. rst-class:: classref-enumeration-constant
  2047. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_HIDE_QUATERNION_EDIT** = ``35``
  2048. Hints that a quaternion property should disable the temporary euler editor.
  2049. .. _class_@GlobalScope_constant_PROPERTY_HINT_PASSWORD:
  2050. .. rst-class:: classref-enumeration-constant
  2051. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_PASSWORD** = ``36``
  2052. Hints that a string property is a password, and every character is replaced with the secret character.
  2053. .. _class_@GlobalScope_constant_PROPERTY_HINT_MAX:
  2054. .. rst-class:: classref-enumeration-constant
  2055. :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` **PROPERTY_HINT_MAX** = ``38``
  2056. Represents the size of the :ref:`PropertyHint<enum_@GlobalScope_PropertyHint>` enum.
  2057. .. rst-class:: classref-item-separator
  2058. ----
  2059. .. _enum_@GlobalScope_PropertyUsageFlags:
  2060. .. rst-class:: classref-enumeration
  2061. flags **PropertyUsageFlags**:
  2062. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NONE:
  2063. .. rst-class:: classref-enumeration-constant
  2064. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NONE** = ``0``
  2065. The property is not stored, and does not display in the editor. This is the default for non-exported properties.
  2066. .. _class_@GlobalScope_constant_PROPERTY_USAGE_STORAGE:
  2067. .. rst-class:: classref-enumeration-constant
  2068. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_STORAGE** = ``2``
  2069. The property is serialized and saved in the scene file (default).
  2070. .. _class_@GlobalScope_constant_PROPERTY_USAGE_EDITOR:
  2071. .. rst-class:: classref-enumeration-constant
  2072. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_EDITOR** = ``4``
  2073. The property is shown in the :ref:`EditorInspector<class_EditorInspector>` (default).
  2074. .. _class_@GlobalScope_constant_PROPERTY_USAGE_INTERNAL:
  2075. .. rst-class:: classref-enumeration-constant
  2076. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_INTERNAL** = ``8``
  2077. The property is excluded from the class reference.
  2078. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CHECKABLE:
  2079. .. rst-class:: classref-enumeration-constant
  2080. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_CHECKABLE** = ``16``
  2081. The property can be checked in the :ref:`EditorInspector<class_EditorInspector>`.
  2082. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CHECKED:
  2083. .. rst-class:: classref-enumeration-constant
  2084. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_CHECKED** = ``32``
  2085. The property is checked in the :ref:`EditorInspector<class_EditorInspector>`.
  2086. .. _class_@GlobalScope_constant_PROPERTY_USAGE_GROUP:
  2087. .. rst-class:: classref-enumeration-constant
  2088. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_GROUP** = ``64``
  2089. Used to group properties together in the editor. See :ref:`EditorInspector<class_EditorInspector>`.
  2090. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CATEGORY:
  2091. .. rst-class:: classref-enumeration-constant
  2092. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_CATEGORY** = ``128``
  2093. Used to categorize properties together in the editor.
  2094. .. _class_@GlobalScope_constant_PROPERTY_USAGE_SUBGROUP:
  2095. .. rst-class:: classref-enumeration-constant
  2096. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_SUBGROUP** = ``256``
  2097. Used to group properties together in the editor in a subgroup (under a group). See :ref:`EditorInspector<class_EditorInspector>`.
  2098. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CLASS_IS_BITFIELD:
  2099. .. rst-class:: classref-enumeration-constant
  2100. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_CLASS_IS_BITFIELD** = ``512``
  2101. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NO_INSTANCE_STATE:
  2102. .. rst-class:: classref-enumeration-constant
  2103. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NO_INSTANCE_STATE** = ``1024``
  2104. The property does not save its state in :ref:`PackedScene<class_PackedScene>`.
  2105. .. _class_@GlobalScope_constant_PROPERTY_USAGE_RESTART_IF_CHANGED:
  2106. .. rst-class:: classref-enumeration-constant
  2107. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_RESTART_IF_CHANGED** = ``2048``
  2108. Editing the property prompts the user for restarting the editor.
  2109. .. _class_@GlobalScope_constant_PROPERTY_USAGE_SCRIPT_VARIABLE:
  2110. .. rst-class:: classref-enumeration-constant
  2111. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_SCRIPT_VARIABLE** = ``4096``
  2112. The property is a script variable which should be serialized and saved in the scene file.
  2113. .. _class_@GlobalScope_constant_PROPERTY_USAGE_STORE_IF_NULL:
  2114. .. rst-class:: classref-enumeration-constant
  2115. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_STORE_IF_NULL** = ``8192``
  2116. .. _class_@GlobalScope_constant_PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED:
  2117. .. rst-class:: classref-enumeration-constant
  2118. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED** = ``16384``
  2119. .. _class_@GlobalScope_constant_PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE:
  2120. .. rst-class:: classref-enumeration-constant
  2121. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE** = ``32768``
  2122. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CLASS_IS_ENUM:
  2123. .. rst-class:: classref-enumeration-constant
  2124. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_CLASS_IS_ENUM** = ``65536``
  2125. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NIL_IS_VARIANT:
  2126. .. rst-class:: classref-enumeration-constant
  2127. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NIL_IS_VARIANT** = ``131072``
  2128. .. _class_@GlobalScope_constant_PROPERTY_USAGE_ARRAY:
  2129. .. rst-class:: classref-enumeration-constant
  2130. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_ARRAY** = ``262144``
  2131. The property is an array.
  2132. .. _class_@GlobalScope_constant_PROPERTY_USAGE_ALWAYS_DUPLICATE:
  2133. .. rst-class:: classref-enumeration-constant
  2134. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_ALWAYS_DUPLICATE** = ``524288``
  2135. 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.
  2136. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NEVER_DUPLICATE:
  2137. .. rst-class:: classref-enumeration-constant
  2138. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NEVER_DUPLICATE** = ``1048576``
  2139. 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.
  2140. .. _class_@GlobalScope_constant_PROPERTY_USAGE_HIGH_END_GFX:
  2141. .. rst-class:: classref-enumeration-constant
  2142. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_HIGH_END_GFX** = ``2097152``
  2143. The property is only shown in the editor if modern renderers are supported (the Compatibility rendering method is excluded).
  2144. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT:
  2145. .. rst-class:: classref-enumeration-constant
  2146. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT** = ``4194304``
  2147. .. _class_@GlobalScope_constant_PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT:
  2148. .. rst-class:: classref-enumeration-constant
  2149. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT** = ``8388608``
  2150. .. _class_@GlobalScope_constant_PROPERTY_USAGE_KEYING_INCREMENTS:
  2151. .. rst-class:: classref-enumeration-constant
  2152. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_KEYING_INCREMENTS** = ``16777216``
  2153. .. _class_@GlobalScope_constant_PROPERTY_USAGE_DEFERRED_SET_RESOURCE:
  2154. .. rst-class:: classref-enumeration-constant
  2155. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_DEFERRED_SET_RESOURCE** = ``33554432``
  2156. .. _class_@GlobalScope_constant_PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT:
  2157. .. rst-class:: classref-enumeration-constant
  2158. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT** = ``67108864``
  2159. .. _class_@GlobalScope_constant_PROPERTY_USAGE_EDITOR_BASIC_SETTING:
  2160. .. rst-class:: classref-enumeration-constant
  2161. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_EDITOR_BASIC_SETTING** = ``134217728``
  2162. .. _class_@GlobalScope_constant_PROPERTY_USAGE_READ_ONLY:
  2163. .. rst-class:: classref-enumeration-constant
  2164. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_READ_ONLY** = ``268435456``
  2165. The property is read-only in the :ref:`EditorInspector<class_EditorInspector>`.
  2166. .. _class_@GlobalScope_constant_PROPERTY_USAGE_SECRET:
  2167. .. rst-class:: classref-enumeration-constant
  2168. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_SECRET** = ``536870912``
  2169. An export preset property with this flag contains confidential information and is stored separately from the rest of the export preset configuration.
  2170. .. _class_@GlobalScope_constant_PROPERTY_USAGE_DEFAULT:
  2171. .. rst-class:: classref-enumeration-constant
  2172. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_DEFAULT** = ``6``
  2173. Default usage (storage and editor).
  2174. .. _class_@GlobalScope_constant_PROPERTY_USAGE_NO_EDITOR:
  2175. .. rst-class:: classref-enumeration-constant
  2176. :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` **PROPERTY_USAGE_NO_EDITOR** = ``2``
  2177. Default usage but without showing the property in the editor (storage).
  2178. .. rst-class:: classref-item-separator
  2179. ----
  2180. .. _enum_@GlobalScope_MethodFlags:
  2181. .. rst-class:: classref-enumeration
  2182. flags **MethodFlags**:
  2183. .. _class_@GlobalScope_constant_METHOD_FLAG_NORMAL:
  2184. .. rst-class:: classref-enumeration-constant
  2185. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_NORMAL** = ``1``
  2186. Flag for a normal method.
  2187. .. _class_@GlobalScope_constant_METHOD_FLAG_EDITOR:
  2188. .. rst-class:: classref-enumeration-constant
  2189. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_EDITOR** = ``2``
  2190. Flag for an editor method.
  2191. .. _class_@GlobalScope_constant_METHOD_FLAG_CONST:
  2192. .. rst-class:: classref-enumeration-constant
  2193. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_CONST** = ``4``
  2194. Flag for a constant method.
  2195. .. _class_@GlobalScope_constant_METHOD_FLAG_VIRTUAL:
  2196. .. rst-class:: classref-enumeration-constant
  2197. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_VIRTUAL** = ``8``
  2198. Flag for a virtual method.
  2199. .. _class_@GlobalScope_constant_METHOD_FLAG_VARARG:
  2200. .. rst-class:: classref-enumeration-constant
  2201. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_VARARG** = ``16``
  2202. Flag for a method with a variable number of arguments.
  2203. .. _class_@GlobalScope_constant_METHOD_FLAG_STATIC:
  2204. .. rst-class:: classref-enumeration-constant
  2205. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_STATIC** = ``32``
  2206. Flag for a static method.
  2207. .. _class_@GlobalScope_constant_METHOD_FLAG_OBJECT_CORE:
  2208. .. rst-class:: classref-enumeration-constant
  2209. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAG_OBJECT_CORE** = ``64``
  2210. Used internally. Allows to not dump core virtual methods (such as :ref:`Object._notification<class_Object_method__notification>`) to the JSON API.
  2211. .. _class_@GlobalScope_constant_METHOD_FLAGS_DEFAULT:
  2212. .. rst-class:: classref-enumeration-constant
  2213. :ref:`MethodFlags<enum_@GlobalScope_MethodFlags>` **METHOD_FLAGS_DEFAULT** = ``1``
  2214. Default method flags (normal).
  2215. .. rst-class:: classref-item-separator
  2216. ----
  2217. .. _enum_@GlobalScope_Variant.Type:
  2218. .. rst-class:: classref-enumeration
  2219. enum **Variant.Type**:
  2220. .. _class_@GlobalScope_constant_TYPE_NIL:
  2221. .. rst-class:: classref-enumeration-constant
  2222. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_NIL** = ``0``
  2223. Variable is ``null``.
  2224. .. _class_@GlobalScope_constant_TYPE_BOOL:
  2225. .. rst-class:: classref-enumeration-constant
  2226. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_BOOL** = ``1``
  2227. Variable is of type :ref:`bool<class_bool>`.
  2228. .. _class_@GlobalScope_constant_TYPE_INT:
  2229. .. rst-class:: classref-enumeration-constant
  2230. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_INT** = ``2``
  2231. Variable is of type :ref:`int<class_int>`.
  2232. .. _class_@GlobalScope_constant_TYPE_FLOAT:
  2233. .. rst-class:: classref-enumeration-constant
  2234. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_FLOAT** = ``3``
  2235. Variable is of type :ref:`float<class_float>`.
  2236. .. _class_@GlobalScope_constant_TYPE_STRING:
  2237. .. rst-class:: classref-enumeration-constant
  2238. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_STRING** = ``4``
  2239. Variable is of type :ref:`String<class_String>`.
  2240. .. _class_@GlobalScope_constant_TYPE_VECTOR2:
  2241. .. rst-class:: classref-enumeration-constant
  2242. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR2** = ``5``
  2243. Variable is of type :ref:`Vector2<class_Vector2>`.
  2244. .. _class_@GlobalScope_constant_TYPE_VECTOR2I:
  2245. .. rst-class:: classref-enumeration-constant
  2246. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR2I** = ``6``
  2247. Variable is of type :ref:`Vector2i<class_Vector2i>`.
  2248. .. _class_@GlobalScope_constant_TYPE_RECT2:
  2249. .. rst-class:: classref-enumeration-constant
  2250. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_RECT2** = ``7``
  2251. Variable is of type :ref:`Rect2<class_Rect2>`.
  2252. .. _class_@GlobalScope_constant_TYPE_RECT2I:
  2253. .. rst-class:: classref-enumeration-constant
  2254. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_RECT2I** = ``8``
  2255. Variable is of type :ref:`Rect2i<class_Rect2i>`.
  2256. .. _class_@GlobalScope_constant_TYPE_VECTOR3:
  2257. .. rst-class:: classref-enumeration-constant
  2258. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR3** = ``9``
  2259. Variable is of type :ref:`Vector3<class_Vector3>`.
  2260. .. _class_@GlobalScope_constant_TYPE_VECTOR3I:
  2261. .. rst-class:: classref-enumeration-constant
  2262. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR3I** = ``10``
  2263. Variable is of type :ref:`Vector3i<class_Vector3i>`.
  2264. .. _class_@GlobalScope_constant_TYPE_TRANSFORM2D:
  2265. .. rst-class:: classref-enumeration-constant
  2266. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_TRANSFORM2D** = ``11``
  2267. Variable is of type :ref:`Transform2D<class_Transform2D>`.
  2268. .. _class_@GlobalScope_constant_TYPE_VECTOR4:
  2269. .. rst-class:: classref-enumeration-constant
  2270. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR4** = ``12``
  2271. Variable is of type :ref:`Vector4<class_Vector4>`.
  2272. .. _class_@GlobalScope_constant_TYPE_VECTOR4I:
  2273. .. rst-class:: classref-enumeration-constant
  2274. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_VECTOR4I** = ``13``
  2275. Variable is of type :ref:`Vector4i<class_Vector4i>`.
  2276. .. _class_@GlobalScope_constant_TYPE_PLANE:
  2277. .. rst-class:: classref-enumeration-constant
  2278. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PLANE** = ``14``
  2279. Variable is of type :ref:`Plane<class_Plane>`.
  2280. .. _class_@GlobalScope_constant_TYPE_QUATERNION:
  2281. .. rst-class:: classref-enumeration-constant
  2282. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_QUATERNION** = ``15``
  2283. Variable is of type :ref:`Quaternion<class_Quaternion>`.
  2284. .. _class_@GlobalScope_constant_TYPE_AABB:
  2285. .. rst-class:: classref-enumeration-constant
  2286. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_AABB** = ``16``
  2287. Variable is of type :ref:`AABB<class_AABB>`.
  2288. .. _class_@GlobalScope_constant_TYPE_BASIS:
  2289. .. rst-class:: classref-enumeration-constant
  2290. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_BASIS** = ``17``
  2291. Variable is of type :ref:`Basis<class_Basis>`.
  2292. .. _class_@GlobalScope_constant_TYPE_TRANSFORM3D:
  2293. .. rst-class:: classref-enumeration-constant
  2294. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_TRANSFORM3D** = ``18``
  2295. Variable is of type :ref:`Transform3D<class_Transform3D>`.
  2296. .. _class_@GlobalScope_constant_TYPE_PROJECTION:
  2297. .. rst-class:: classref-enumeration-constant
  2298. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PROJECTION** = ``19``
  2299. Variable is of type :ref:`Projection<class_Projection>`.
  2300. .. _class_@GlobalScope_constant_TYPE_COLOR:
  2301. .. rst-class:: classref-enumeration-constant
  2302. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_COLOR** = ``20``
  2303. Variable is of type :ref:`Color<class_Color>`.
  2304. .. _class_@GlobalScope_constant_TYPE_STRING_NAME:
  2305. .. rst-class:: classref-enumeration-constant
  2306. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_STRING_NAME** = ``21``
  2307. Variable is of type :ref:`StringName<class_StringName>`.
  2308. .. _class_@GlobalScope_constant_TYPE_NODE_PATH:
  2309. .. rst-class:: classref-enumeration-constant
  2310. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_NODE_PATH** = ``22``
  2311. Variable is of type :ref:`NodePath<class_NodePath>`.
  2312. .. _class_@GlobalScope_constant_TYPE_RID:
  2313. .. rst-class:: classref-enumeration-constant
  2314. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_RID** = ``23``
  2315. Variable is of type :ref:`RID<class_RID>`.
  2316. .. _class_@GlobalScope_constant_TYPE_OBJECT:
  2317. .. rst-class:: classref-enumeration-constant
  2318. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_OBJECT** = ``24``
  2319. Variable is of type :ref:`Object<class_Object>`.
  2320. .. _class_@GlobalScope_constant_TYPE_CALLABLE:
  2321. .. rst-class:: classref-enumeration-constant
  2322. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_CALLABLE** = ``25``
  2323. Variable is of type :ref:`Callable<class_Callable>`.
  2324. .. _class_@GlobalScope_constant_TYPE_SIGNAL:
  2325. .. rst-class:: classref-enumeration-constant
  2326. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_SIGNAL** = ``26``
  2327. Variable is of type :ref:`Signal<class_Signal>`.
  2328. .. _class_@GlobalScope_constant_TYPE_DICTIONARY:
  2329. .. rst-class:: classref-enumeration-constant
  2330. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_DICTIONARY** = ``27``
  2331. Variable is of type :ref:`Dictionary<class_Dictionary>`.
  2332. .. _class_@GlobalScope_constant_TYPE_ARRAY:
  2333. .. rst-class:: classref-enumeration-constant
  2334. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_ARRAY** = ``28``
  2335. Variable is of type :ref:`Array<class_Array>`.
  2336. .. _class_@GlobalScope_constant_TYPE_PACKED_BYTE_ARRAY:
  2337. .. rst-class:: classref-enumeration-constant
  2338. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_BYTE_ARRAY** = ``29``
  2339. Variable is of type :ref:`PackedByteArray<class_PackedByteArray>`.
  2340. .. _class_@GlobalScope_constant_TYPE_PACKED_INT32_ARRAY:
  2341. .. rst-class:: classref-enumeration-constant
  2342. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_INT32_ARRAY** = ``30``
  2343. Variable is of type :ref:`PackedInt32Array<class_PackedInt32Array>`.
  2344. .. _class_@GlobalScope_constant_TYPE_PACKED_INT64_ARRAY:
  2345. .. rst-class:: classref-enumeration-constant
  2346. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_INT64_ARRAY** = ``31``
  2347. Variable is of type :ref:`PackedInt64Array<class_PackedInt64Array>`.
  2348. .. _class_@GlobalScope_constant_TYPE_PACKED_FLOAT32_ARRAY:
  2349. .. rst-class:: classref-enumeration-constant
  2350. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_FLOAT32_ARRAY** = ``32``
  2351. Variable is of type :ref:`PackedFloat32Array<class_PackedFloat32Array>`.
  2352. .. _class_@GlobalScope_constant_TYPE_PACKED_FLOAT64_ARRAY:
  2353. .. rst-class:: classref-enumeration-constant
  2354. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_FLOAT64_ARRAY** = ``33``
  2355. Variable is of type :ref:`PackedFloat64Array<class_PackedFloat64Array>`.
  2356. .. _class_@GlobalScope_constant_TYPE_PACKED_STRING_ARRAY:
  2357. .. rst-class:: classref-enumeration-constant
  2358. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_STRING_ARRAY** = ``34``
  2359. Variable is of type :ref:`PackedStringArray<class_PackedStringArray>`.
  2360. .. _class_@GlobalScope_constant_TYPE_PACKED_VECTOR2_ARRAY:
  2361. .. rst-class:: classref-enumeration-constant
  2362. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_VECTOR2_ARRAY** = ``35``
  2363. Variable is of type :ref:`PackedVector2Array<class_PackedVector2Array>`.
  2364. .. _class_@GlobalScope_constant_TYPE_PACKED_VECTOR3_ARRAY:
  2365. .. rst-class:: classref-enumeration-constant
  2366. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_VECTOR3_ARRAY** = ``36``
  2367. Variable is of type :ref:`PackedVector3Array<class_PackedVector3Array>`.
  2368. .. _class_@GlobalScope_constant_TYPE_PACKED_COLOR_ARRAY:
  2369. .. rst-class:: classref-enumeration-constant
  2370. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_PACKED_COLOR_ARRAY** = ``37``
  2371. Variable is of type :ref:`PackedColorArray<class_PackedColorArray>`.
  2372. .. _class_@GlobalScope_constant_TYPE_MAX:
  2373. .. rst-class:: classref-enumeration-constant
  2374. :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` **TYPE_MAX** = ``38``
  2375. Represents the size of the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` enum.
  2376. .. rst-class:: classref-item-separator
  2377. ----
  2378. .. _enum_@GlobalScope_Variant.Operator:
  2379. .. rst-class:: classref-enumeration
  2380. enum **Variant.Operator**:
  2381. .. _class_@GlobalScope_constant_OP_EQUAL:
  2382. .. rst-class:: classref-enumeration-constant
  2383. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_EQUAL** = ``0``
  2384. Equality operator (``==``).
  2385. .. _class_@GlobalScope_constant_OP_NOT_EQUAL:
  2386. .. rst-class:: classref-enumeration-constant
  2387. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_NOT_EQUAL** = ``1``
  2388. Inequality operator (``!=``).
  2389. .. _class_@GlobalScope_constant_OP_LESS:
  2390. .. rst-class:: classref-enumeration-constant
  2391. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_LESS** = ``2``
  2392. Less than operator (``<``).
  2393. .. _class_@GlobalScope_constant_OP_LESS_EQUAL:
  2394. .. rst-class:: classref-enumeration-constant
  2395. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_LESS_EQUAL** = ``3``
  2396. Less than or equal operator (``<=``).
  2397. .. _class_@GlobalScope_constant_OP_GREATER:
  2398. .. rst-class:: classref-enumeration-constant
  2399. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_GREATER** = ``4``
  2400. Greater than operator (``>``).
  2401. .. _class_@GlobalScope_constant_OP_GREATER_EQUAL:
  2402. .. rst-class:: classref-enumeration-constant
  2403. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_GREATER_EQUAL** = ``5``
  2404. Greater than or equal operator (``>=``).
  2405. .. _class_@GlobalScope_constant_OP_ADD:
  2406. .. rst-class:: classref-enumeration-constant
  2407. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_ADD** = ``6``
  2408. Addition operator (``+``).
  2409. .. _class_@GlobalScope_constant_OP_SUBTRACT:
  2410. .. rst-class:: classref-enumeration-constant
  2411. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_SUBTRACT** = ``7``
  2412. Subtraction operator (``-``).
  2413. .. _class_@GlobalScope_constant_OP_MULTIPLY:
  2414. .. rst-class:: classref-enumeration-constant
  2415. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_MULTIPLY** = ``8``
  2416. Multiplication operator (``*``).
  2417. .. _class_@GlobalScope_constant_OP_DIVIDE:
  2418. .. rst-class:: classref-enumeration-constant
  2419. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_DIVIDE** = ``9``
  2420. Division operator (``/``).
  2421. .. _class_@GlobalScope_constant_OP_NEGATE:
  2422. .. rst-class:: classref-enumeration-constant
  2423. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_NEGATE** = ``10``
  2424. Unary negation operator (``-``).
  2425. .. _class_@GlobalScope_constant_OP_POSITIVE:
  2426. .. rst-class:: classref-enumeration-constant
  2427. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_POSITIVE** = ``11``
  2428. Unary plus operator (``+``).
  2429. .. _class_@GlobalScope_constant_OP_MODULE:
  2430. .. rst-class:: classref-enumeration-constant
  2431. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_MODULE** = ``12``
  2432. Remainder/modulo operator (``%``).
  2433. .. _class_@GlobalScope_constant_OP_POWER:
  2434. .. rst-class:: classref-enumeration-constant
  2435. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_POWER** = ``13``
  2436. Power operator (``**``).
  2437. .. _class_@GlobalScope_constant_OP_SHIFT_LEFT:
  2438. .. rst-class:: classref-enumeration-constant
  2439. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_SHIFT_LEFT** = ``14``
  2440. Left shift operator (``<<``).
  2441. .. _class_@GlobalScope_constant_OP_SHIFT_RIGHT:
  2442. .. rst-class:: classref-enumeration-constant
  2443. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_SHIFT_RIGHT** = ``15``
  2444. Right shift operator (``>>``).
  2445. .. _class_@GlobalScope_constant_OP_BIT_AND:
  2446. .. rst-class:: classref-enumeration-constant
  2447. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_BIT_AND** = ``16``
  2448. Bitwise AND operator (``&``).
  2449. .. _class_@GlobalScope_constant_OP_BIT_OR:
  2450. .. rst-class:: classref-enumeration-constant
  2451. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_BIT_OR** = ``17``
  2452. Bitwise OR operator (``|``).
  2453. .. _class_@GlobalScope_constant_OP_BIT_XOR:
  2454. .. rst-class:: classref-enumeration-constant
  2455. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_BIT_XOR** = ``18``
  2456. Bitwise XOR operator (``^``).
  2457. .. _class_@GlobalScope_constant_OP_BIT_NEGATE:
  2458. .. rst-class:: classref-enumeration-constant
  2459. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_BIT_NEGATE** = ``19``
  2460. Bitwise NOT operator (``~``).
  2461. .. _class_@GlobalScope_constant_OP_AND:
  2462. .. rst-class:: classref-enumeration-constant
  2463. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_AND** = ``20``
  2464. Logical AND operator (``and`` or ``&&``).
  2465. .. _class_@GlobalScope_constant_OP_OR:
  2466. .. rst-class:: classref-enumeration-constant
  2467. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_OR** = ``21``
  2468. Logical OR operator (``or`` or ``||``).
  2469. .. _class_@GlobalScope_constant_OP_XOR:
  2470. .. rst-class:: classref-enumeration-constant
  2471. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_XOR** = ``22``
  2472. Logical XOR operator (not implemented in GDScript).
  2473. .. _class_@GlobalScope_constant_OP_NOT:
  2474. .. rst-class:: classref-enumeration-constant
  2475. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_NOT** = ``23``
  2476. Logical NOT operator (``not`` or ``!``).
  2477. .. _class_@GlobalScope_constant_OP_IN:
  2478. .. rst-class:: classref-enumeration-constant
  2479. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_IN** = ``24``
  2480. Logical IN operator (``in``).
  2481. .. _class_@GlobalScope_constant_OP_MAX:
  2482. .. rst-class:: classref-enumeration-constant
  2483. :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` **OP_MAX** = ``25``
  2484. Represents the size of the :ref:`Variant.Operator<enum_@GlobalScope_Variant.Operator>` enum.
  2485. .. rst-class:: classref-section-separator
  2486. ----
  2487. .. rst-class:: classref-descriptions-group
  2488. Property Descriptions
  2489. ---------------------
  2490. .. _class_@GlobalScope_property_AudioServer:
  2491. .. rst-class:: classref-property
  2492. :ref:`AudioServer<class_AudioServer>` **AudioServer**
  2493. The :ref:`AudioServer<class_AudioServer>` singleton.
  2494. .. rst-class:: classref-item-separator
  2495. ----
  2496. .. _class_@GlobalScope_property_CameraServer:
  2497. .. rst-class:: classref-property
  2498. :ref:`CameraServer<class_CameraServer>` **CameraServer**
  2499. The :ref:`CameraServer<class_CameraServer>` singleton.
  2500. .. rst-class:: classref-item-separator
  2501. ----
  2502. .. _class_@GlobalScope_property_ClassDB:
  2503. .. rst-class:: classref-property
  2504. :ref:`ClassDB<class_ClassDB>` **ClassDB**
  2505. The :ref:`ClassDB<class_ClassDB>` singleton.
  2506. .. rst-class:: classref-item-separator
  2507. ----
  2508. .. _class_@GlobalScope_property_DisplayServer:
  2509. .. rst-class:: classref-property
  2510. :ref:`DisplayServer<class_DisplayServer>` **DisplayServer**
  2511. The :ref:`DisplayServer<class_DisplayServer>` singleton.
  2512. .. rst-class:: classref-item-separator
  2513. ----
  2514. .. _class_@GlobalScope_property_EditorInterface:
  2515. .. rst-class:: classref-property
  2516. :ref:`EditorInterface<class_EditorInterface>` **EditorInterface**
  2517. The :ref:`EditorInterface<class_EditorInterface>` singleton.
  2518. \ **Note:** Only available in editor builds.
  2519. .. rst-class:: classref-item-separator
  2520. ----
  2521. .. _class_@GlobalScope_property_Engine:
  2522. .. rst-class:: classref-property
  2523. :ref:`Engine<class_Engine>` **Engine**
  2524. The :ref:`Engine<class_Engine>` singleton.
  2525. .. rst-class:: classref-item-separator
  2526. ----
  2527. .. _class_@GlobalScope_property_EngineDebugger:
  2528. .. rst-class:: classref-property
  2529. :ref:`EngineDebugger<class_EngineDebugger>` **EngineDebugger**
  2530. The :ref:`EngineDebugger<class_EngineDebugger>` singleton.
  2531. .. rst-class:: classref-item-separator
  2532. ----
  2533. .. _class_@GlobalScope_property_GDExtensionManager:
  2534. .. rst-class:: classref-property
  2535. :ref:`GDExtensionManager<class_GDExtensionManager>` **GDExtensionManager**
  2536. The :ref:`GDExtensionManager<class_GDExtensionManager>` singleton.
  2537. .. rst-class:: classref-item-separator
  2538. ----
  2539. .. _class_@GlobalScope_property_Geometry2D:
  2540. .. rst-class:: classref-property
  2541. :ref:`Geometry2D<class_Geometry2D>` **Geometry2D**
  2542. The :ref:`Geometry2D<class_Geometry2D>` singleton.
  2543. .. rst-class:: classref-item-separator
  2544. ----
  2545. .. _class_@GlobalScope_property_Geometry3D:
  2546. .. rst-class:: classref-property
  2547. :ref:`Geometry3D<class_Geometry3D>` **Geometry3D**
  2548. The :ref:`Geometry3D<class_Geometry3D>` singleton.
  2549. .. rst-class:: classref-item-separator
  2550. ----
  2551. .. _class_@GlobalScope_property_GodotSharp:
  2552. .. rst-class:: classref-property
  2553. :ref:`GodotSharp<class_GodotSharp>` **GodotSharp**
  2554. The :ref:`GodotSharp<class_GodotSharp>` singleton.
  2555. .. rst-class:: classref-item-separator
  2556. ----
  2557. .. _class_@GlobalScope_property_IP:
  2558. .. rst-class:: classref-property
  2559. :ref:`IP<class_IP>` **IP**
  2560. The :ref:`IP<class_IP>` singleton.
  2561. .. rst-class:: classref-item-separator
  2562. ----
  2563. .. _class_@GlobalScope_property_Input:
  2564. .. rst-class:: classref-property
  2565. :ref:`Input<class_Input>` **Input**
  2566. The :ref:`Input<class_Input>` singleton.
  2567. .. rst-class:: classref-item-separator
  2568. ----
  2569. .. _class_@GlobalScope_property_InputMap:
  2570. .. rst-class:: classref-property
  2571. :ref:`InputMap<class_InputMap>` **InputMap**
  2572. The :ref:`InputMap<class_InputMap>` singleton.
  2573. .. rst-class:: classref-item-separator
  2574. ----
  2575. .. _class_@GlobalScope_property_JavaClassWrapper:
  2576. .. rst-class:: classref-property
  2577. :ref:`JavaClassWrapper<class_JavaClassWrapper>` **JavaClassWrapper**
  2578. The :ref:`JavaClassWrapper<class_JavaClassWrapper>` singleton.
  2579. \ **Note:** Only implemented on Android.
  2580. .. rst-class:: classref-item-separator
  2581. ----
  2582. .. _class_@GlobalScope_property_JavaScriptBridge:
  2583. .. rst-class:: classref-property
  2584. :ref:`JavaScriptBridge<class_JavaScriptBridge>` **JavaScriptBridge**
  2585. The :ref:`JavaScriptBridge<class_JavaScriptBridge>` singleton.
  2586. \ **Note:** Only implemented on the Web platform.
  2587. .. rst-class:: classref-item-separator
  2588. ----
  2589. .. _class_@GlobalScope_property_Marshalls:
  2590. .. rst-class:: classref-property
  2591. :ref:`Marshalls<class_Marshalls>` **Marshalls**
  2592. The :ref:`Marshalls<class_Marshalls>` singleton.
  2593. .. rst-class:: classref-item-separator
  2594. ----
  2595. .. _class_@GlobalScope_property_NavigationMeshGenerator:
  2596. .. rst-class:: classref-property
  2597. :ref:`NavigationMeshGenerator<class_NavigationMeshGenerator>` **NavigationMeshGenerator**
  2598. The :ref:`NavigationMeshGenerator<class_NavigationMeshGenerator>` singleton.
  2599. .. rst-class:: classref-item-separator
  2600. ----
  2601. .. _class_@GlobalScope_property_NavigationServer2D:
  2602. .. rst-class:: classref-property
  2603. :ref:`NavigationServer2D<class_NavigationServer2D>` **NavigationServer2D**
  2604. The :ref:`NavigationServer2D<class_NavigationServer2D>` singleton.
  2605. .. rst-class:: classref-item-separator
  2606. ----
  2607. .. _class_@GlobalScope_property_NavigationServer3D:
  2608. .. rst-class:: classref-property
  2609. :ref:`NavigationServer3D<class_NavigationServer3D>` **NavigationServer3D**
  2610. The :ref:`NavigationServer3D<class_NavigationServer3D>` singleton.
  2611. .. rst-class:: classref-item-separator
  2612. ----
  2613. .. _class_@GlobalScope_property_OS:
  2614. .. rst-class:: classref-property
  2615. :ref:`OS<class_OS>` **OS**
  2616. The :ref:`OS<class_OS>` singleton.
  2617. .. rst-class:: classref-item-separator
  2618. ----
  2619. .. _class_@GlobalScope_property_Performance:
  2620. .. rst-class:: classref-property
  2621. :ref:`Performance<class_Performance>` **Performance**
  2622. The :ref:`Performance<class_Performance>` singleton.
  2623. .. rst-class:: classref-item-separator
  2624. ----
  2625. .. _class_@GlobalScope_property_PhysicsServer2D:
  2626. .. rst-class:: classref-property
  2627. :ref:`PhysicsServer2D<class_PhysicsServer2D>` **PhysicsServer2D**
  2628. The :ref:`PhysicsServer2D<class_PhysicsServer2D>` singleton.
  2629. .. rst-class:: classref-item-separator
  2630. ----
  2631. .. _class_@GlobalScope_property_PhysicsServer2DManager:
  2632. .. rst-class:: classref-property
  2633. :ref:`PhysicsServer2DManager<class_PhysicsServer2DManager>` **PhysicsServer2DManager**
  2634. The :ref:`PhysicsServer2DManager<class_PhysicsServer2DManager>` singleton.
  2635. .. rst-class:: classref-item-separator
  2636. ----
  2637. .. _class_@GlobalScope_property_PhysicsServer3D:
  2638. .. rst-class:: classref-property
  2639. :ref:`PhysicsServer3D<class_PhysicsServer3D>` **PhysicsServer3D**
  2640. The :ref:`PhysicsServer3D<class_PhysicsServer3D>` singleton.
  2641. .. rst-class:: classref-item-separator
  2642. ----
  2643. .. _class_@GlobalScope_property_PhysicsServer3DManager:
  2644. .. rst-class:: classref-property
  2645. :ref:`PhysicsServer3DManager<class_PhysicsServer3DManager>` **PhysicsServer3DManager**
  2646. The :ref:`PhysicsServer3DManager<class_PhysicsServer3DManager>` singleton.
  2647. .. rst-class:: classref-item-separator
  2648. ----
  2649. .. _class_@GlobalScope_property_ProjectSettings:
  2650. .. rst-class:: classref-property
  2651. :ref:`ProjectSettings<class_ProjectSettings>` **ProjectSettings**
  2652. The :ref:`ProjectSettings<class_ProjectSettings>` singleton.
  2653. .. rst-class:: classref-item-separator
  2654. ----
  2655. .. _class_@GlobalScope_property_RenderingServer:
  2656. .. rst-class:: classref-property
  2657. :ref:`RenderingServer<class_RenderingServer>` **RenderingServer**
  2658. The :ref:`RenderingServer<class_RenderingServer>` singleton.
  2659. .. rst-class:: classref-item-separator
  2660. ----
  2661. .. _class_@GlobalScope_property_ResourceLoader:
  2662. .. rst-class:: classref-property
  2663. :ref:`ResourceLoader<class_ResourceLoader>` **ResourceLoader**
  2664. The :ref:`ResourceLoader<class_ResourceLoader>` singleton.
  2665. .. rst-class:: classref-item-separator
  2666. ----
  2667. .. _class_@GlobalScope_property_ResourceSaver:
  2668. .. rst-class:: classref-property
  2669. :ref:`ResourceSaver<class_ResourceSaver>` **ResourceSaver**
  2670. The :ref:`ResourceSaver<class_ResourceSaver>` singleton.
  2671. .. rst-class:: classref-item-separator
  2672. ----
  2673. .. _class_@GlobalScope_property_ResourceUID:
  2674. .. rst-class:: classref-property
  2675. :ref:`ResourceUID<class_ResourceUID>` **ResourceUID**
  2676. The :ref:`ResourceUID<class_ResourceUID>` singleton.
  2677. .. rst-class:: classref-item-separator
  2678. ----
  2679. .. _class_@GlobalScope_property_TextServerManager:
  2680. .. rst-class:: classref-property
  2681. :ref:`TextServerManager<class_TextServerManager>` **TextServerManager**
  2682. The :ref:`TextServerManager<class_TextServerManager>` singleton.
  2683. .. rst-class:: classref-item-separator
  2684. ----
  2685. .. _class_@GlobalScope_property_ThemeDB:
  2686. .. rst-class:: classref-property
  2687. :ref:`ThemeDB<class_ThemeDB>` **ThemeDB**
  2688. The :ref:`ThemeDB<class_ThemeDB>` singleton.
  2689. .. rst-class:: classref-item-separator
  2690. ----
  2691. .. _class_@GlobalScope_property_Time:
  2692. .. rst-class:: classref-property
  2693. :ref:`Time<class_Time>` **Time**
  2694. The :ref:`Time<class_Time>` singleton.
  2695. .. rst-class:: classref-item-separator
  2696. ----
  2697. .. _class_@GlobalScope_property_TranslationServer:
  2698. .. rst-class:: classref-property
  2699. :ref:`TranslationServer<class_TranslationServer>` **TranslationServer**
  2700. The :ref:`TranslationServer<class_TranslationServer>` singleton.
  2701. .. rst-class:: classref-item-separator
  2702. ----
  2703. .. _class_@GlobalScope_property_WorkerThreadPool:
  2704. .. rst-class:: classref-property
  2705. :ref:`WorkerThreadPool<class_WorkerThreadPool>` **WorkerThreadPool**
  2706. The :ref:`WorkerThreadPool<class_WorkerThreadPool>` singleton.
  2707. .. rst-class:: classref-item-separator
  2708. ----
  2709. .. _class_@GlobalScope_property_XRServer:
  2710. .. rst-class:: classref-property
  2711. :ref:`XRServer<class_XRServer>` **XRServer**
  2712. The :ref:`XRServer<class_XRServer>` singleton.
  2713. .. rst-class:: classref-section-separator
  2714. ----
  2715. .. rst-class:: classref-descriptions-group
  2716. Method Descriptions
  2717. -------------------
  2718. .. _class_@GlobalScope_method_abs:
  2719. .. rst-class:: classref-method
  2720. :ref:`Variant<class_Variant>` **abs** **(** :ref:`Variant<class_Variant>` x **)**
  2721. 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>`.
  2722. ::
  2723. var a = abs(-1)
  2724. # a is 1
  2725. var b = abs(-1.2)
  2726. # b is 1.2
  2727. var c = abs(Vector2(-3.5, -4))
  2728. # c is (3.5, 4)
  2729. var d = abs(Vector2i(-5, -6))
  2730. # d is (5, 6)
  2731. var e = abs(Vector3(-7, 8.5, -3.8))
  2732. # e is (7, 8.5, 3.8)
  2733. var f = abs(Vector3i(-7, -8, -9))
  2734. # f is (7, 8, 9)
  2735. \ **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>`.
  2736. .. rst-class:: classref-item-separator
  2737. ----
  2738. .. _class_@GlobalScope_method_absf:
  2739. .. rst-class:: classref-method
  2740. :ref:`float<class_float>` **absf** **(** :ref:`float<class_float>` x **)**
  2741. Returns the absolute value of float parameter ``x`` (i.e. positive value).
  2742. ::
  2743. # a is 1.2
  2744. var a = absf(-1.2)
  2745. .. rst-class:: classref-item-separator
  2746. ----
  2747. .. _class_@GlobalScope_method_absi:
  2748. .. rst-class:: classref-method
  2749. :ref:`int<class_int>` **absi** **(** :ref:`int<class_int>` x **)**
  2750. Returns the absolute value of int parameter ``x`` (i.e. positive value).
  2751. ::
  2752. # a is 1
  2753. var a = absi(-1)
  2754. .. rst-class:: classref-item-separator
  2755. ----
  2756. .. _class_@GlobalScope_method_acos:
  2757. .. rst-class:: classref-method
  2758. :ref:`float<class_float>` **acos** **(** :ref:`float<class_float>` x **)**
  2759. 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>`.
  2760. ::
  2761. # c is 0.523599 or 30 degrees if converted with rad_to_deg(c)
  2762. var c = acos(0.866025)
  2763. .. rst-class:: classref-item-separator
  2764. ----
  2765. .. _class_@GlobalScope_method_acosh:
  2766. .. rst-class:: classref-method
  2767. :ref:`float<class_float>` **acosh** **(** :ref:`float<class_float>` x **)**
  2768. 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>`.
  2769. ::
  2770. var a = acosh(2) # Returns 1.31695789692482
  2771. cosh(a) # Returns 2
  2772. var b = acosh(-1) # Returns 0
  2773. .. rst-class:: classref-item-separator
  2774. ----
  2775. .. _class_@GlobalScope_method_asin:
  2776. .. rst-class:: classref-method
  2777. :ref:`float<class_float>` **asin** **(** :ref:`float<class_float>` x **)**
  2778. 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>`.
  2779. ::
  2780. # s is 0.523599 or 30 degrees if converted with rad_to_deg(s)
  2781. var s = asin(0.5)
  2782. .. rst-class:: classref-item-separator
  2783. ----
  2784. .. _class_@GlobalScope_method_asinh:
  2785. .. rst-class:: classref-method
  2786. :ref:`float<class_float>` **asinh** **(** :ref:`float<class_float>` x **)**
  2787. 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.
  2788. ::
  2789. var a = asinh(0.9) # Returns 0.8088669356527824
  2790. sinh(a) # Returns 0.9
  2791. .. rst-class:: classref-item-separator
  2792. ----
  2793. .. _class_@GlobalScope_method_atan:
  2794. .. rst-class:: classref-method
  2795. :ref:`float<class_float>` **atan** **(** :ref:`float<class_float>` x **)**
  2796. Returns the arc tangent of ``x`` in radians. Use it to get the angle from an angle's tangent in trigonometry.
  2797. 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``.
  2798. ::
  2799. var a = atan(0.5) # a is 0.463648
  2800. If ``x`` is between ``-PI / 2`` and ``PI / 2`` (inclusive), ``atan(tan(x))`` is equal to ``x``.
  2801. .. rst-class:: classref-item-separator
  2802. ----
  2803. .. _class_@GlobalScope_method_atan2:
  2804. .. rst-class:: classref-method
  2805. :ref:`float<class_float>` **atan2** **(** :ref:`float<class_float>` y, :ref:`float<class_float>` x **)**
  2806. 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.
  2807. Important note: The Y coordinate comes first, by convention.
  2808. ::
  2809. var a = atan2(0, -1) # a is 3.141593
  2810. .. rst-class:: classref-item-separator
  2811. ----
  2812. .. _class_@GlobalScope_method_atanh:
  2813. .. rst-class:: classref-method
  2814. :ref:`float<class_float>` **atanh** **(** :ref:`float<class_float>` x **)**
  2815. 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).
  2816. 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>`.
  2817. ::
  2818. var a = atanh(0.9) # Returns 1.47221948958322
  2819. tanh(a) # Returns 0.9
  2820. var b = atanh(-2) # Returns -inf
  2821. tanh(b) # Returns -1
  2822. .. rst-class:: classref-item-separator
  2823. ----
  2824. .. _class_@GlobalScope_method_bezier_derivative:
  2825. .. rst-class:: classref-method
  2826. :ref:`float<class_float>` **bezier_derivative** **(** :ref:`float<class_float>` start, :ref:`float<class_float>` control_1, :ref:`float<class_float>` control_2, :ref:`float<class_float>` end, :ref:`float<class_float>` t **)**
  2827. 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.
  2828. .. rst-class:: classref-item-separator
  2829. ----
  2830. .. _class_@GlobalScope_method_bezier_interpolate:
  2831. .. rst-class:: classref-method
  2832. :ref:`float<class_float>` **bezier_interpolate** **(** :ref:`float<class_float>` start, :ref:`float<class_float>` control_1, :ref:`float<class_float>` control_2, :ref:`float<class_float>` end, :ref:`float<class_float>` t **)**
  2833. 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.
  2834. .. rst-class:: classref-item-separator
  2835. ----
  2836. .. _class_@GlobalScope_method_bytes_to_var:
  2837. .. rst-class:: classref-method
  2838. :ref:`Variant<class_Variant>` **bytes_to_var** **(** :ref:`PackedByteArray<class_PackedByteArray>` bytes **)**
  2839. Decodes a byte array back to a :ref:`Variant<class_Variant>` value, without decoding objects.
  2840. \ **Note:** If you need object deserialization, see :ref:`bytes_to_var_with_objects<class_@GlobalScope_method_bytes_to_var_with_objects>`.
  2841. .. rst-class:: classref-item-separator
  2842. ----
  2843. .. _class_@GlobalScope_method_bytes_to_var_with_objects:
  2844. .. rst-class:: classref-method
  2845. :ref:`Variant<class_Variant>` **bytes_to_var_with_objects** **(** :ref:`PackedByteArray<class_PackedByteArray>` bytes **)**
  2846. Decodes a byte array back to a :ref:`Variant<class_Variant>` value. Decoding objects is allowed.
  2847. \ **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).
  2848. .. rst-class:: classref-item-separator
  2849. ----
  2850. .. _class_@GlobalScope_method_ceil:
  2851. .. rst-class:: classref-method
  2852. :ref:`Variant<class_Variant>` **ceil** **(** :ref:`Variant<class_Variant>` x **)**
  2853. 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:`Vector3<class_Vector3>`, :ref:`Vector4<class_Vector4>`.
  2854. ::
  2855. var i = ceil(1.45) # i is 2.0
  2856. i = ceil(1.001) # i is 2.0
  2857. See also :ref:`floor<class_@GlobalScope_method_floor>`, :ref:`round<class_@GlobalScope_method_round>`, and :ref:`snapped<class_@GlobalScope_method_snapped>`.
  2858. \ **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>`.
  2859. .. rst-class:: classref-item-separator
  2860. ----
  2861. .. _class_@GlobalScope_method_ceilf:
  2862. .. rst-class:: classref-method
  2863. :ref:`float<class_float>` **ceilf** **(** :ref:`float<class_float>` x **)**
  2864. Rounds ``x`` upward (towards positive infinity), returning the smallest whole number that is not less than ``x``.
  2865. A type-safe version of :ref:`ceil<class_@GlobalScope_method_ceil>`, returning a :ref:`float<class_float>`.
  2866. .. rst-class:: classref-item-separator
  2867. ----
  2868. .. _class_@GlobalScope_method_ceili:
  2869. .. rst-class:: classref-method
  2870. :ref:`int<class_int>` **ceili** **(** :ref:`float<class_float>` x **)**
  2871. Rounds ``x`` upward (towards positive infinity), returning the smallest whole number that is not less than ``x``.
  2872. A type-safe version of :ref:`ceil<class_@GlobalScope_method_ceil>`, returning an :ref:`int<class_int>`.
  2873. .. rst-class:: classref-item-separator
  2874. ----
  2875. .. _class_@GlobalScope_method_clamp:
  2876. .. rst-class:: classref-method
  2877. :ref:`Variant<class_Variant>` **clamp** **(** :ref:`Variant<class_Variant>` value, :ref:`Variant<class_Variant>` min, :ref:`Variant<class_Variant>` max **)**
  2878. 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.
  2879. ::
  2880. var a = clamp(-10, -1, 5)
  2881. # a is -1
  2882. var b = clamp(8.1, 0.9, 5.5)
  2883. # b is 5.5
  2884. var c = clamp(Vector2(-3.5, -4), Vector2(-3.2, -2), Vector2(2, 6.5))
  2885. # c is (-3.2, -2)
  2886. var d = clamp(Vector2i(7, 8), Vector2i(-3, -2), Vector2i(2, 6))
  2887. # d is (2, 6)
  2888. var e = clamp(Vector3(-7, 8.5, -3.8), Vector3(-3, -2, 5.4), Vector3(-2, 6, -4.1))
  2889. # e is (-3, -2, 5.4)
  2890. var f = clamp(Vector3i(-7, -8, -9), Vector3i(-1, 2, 3), Vector3i(-4, -5, -6))
  2891. # f is (-4, -5, -6)
  2892. \ **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>`.
  2893. .. rst-class:: classref-item-separator
  2894. ----
  2895. .. _class_@GlobalScope_method_clampf:
  2896. .. rst-class:: classref-method
  2897. :ref:`float<class_float>` **clampf** **(** :ref:`float<class_float>` value, :ref:`float<class_float>` min, :ref:`float<class_float>` max **)**
  2898. Clamps the ``value``, returning a :ref:`float<class_float>` not less than ``min`` and not more than ``max``.
  2899. ::
  2900. var speed = 42.1
  2901. var a = clampf(speed, 1.0, 20.5) # a is 20.5
  2902. speed = -10.0
  2903. var b = clampf(speed, -1.0, 1.0) # b is -1.0
  2904. .. rst-class:: classref-item-separator
  2905. ----
  2906. .. _class_@GlobalScope_method_clampi:
  2907. .. rst-class:: classref-method
  2908. :ref:`int<class_int>` **clampi** **(** :ref:`int<class_int>` value, :ref:`int<class_int>` min, :ref:`int<class_int>` max **)**
  2909. Clamps the ``value``, returning an :ref:`int<class_int>` not less than ``min`` and not more than ``max``.
  2910. ::
  2911. var speed = 42
  2912. var a = clampi(speed, 1, 20) # a is 20
  2913. speed = -10
  2914. var b = clampi(speed, -1, 1) # b is -1
  2915. .. rst-class:: classref-item-separator
  2916. ----
  2917. .. _class_@GlobalScope_method_cos:
  2918. .. rst-class:: classref-method
  2919. :ref:`float<class_float>` **cos** **(** :ref:`float<class_float>` angle_rad **)**
  2920. Returns the cosine of angle ``angle_rad`` in radians.
  2921. ::
  2922. cos(PI * 2) # Returns 1.0
  2923. cos(PI) # Returns -1.0
  2924. cos(deg_to_rad(90)) # Returns 0.0
  2925. .. rst-class:: classref-item-separator
  2926. ----
  2927. .. _class_@GlobalScope_method_cosh:
  2928. .. rst-class:: classref-method
  2929. :ref:`float<class_float>` **cosh** **(** :ref:`float<class_float>` x **)**
  2930. Returns the hyperbolic cosine of ``x`` in radians.
  2931. ::
  2932. print(cosh(1)) # Prints 1.543081
  2933. .. rst-class:: classref-item-separator
  2934. ----
  2935. .. _class_@GlobalScope_method_cubic_interpolate:
  2936. .. rst-class:: classref-method
  2937. :ref:`float<class_float>` **cubic_interpolate** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` pre, :ref:`float<class_float>` post, :ref:`float<class_float>` weight **)**
  2938. Cubic interpolates between two values by the factor defined in ``weight`` with ``pre`` and ``post`` values.
  2939. .. rst-class:: classref-item-separator
  2940. ----
  2941. .. _class_@GlobalScope_method_cubic_interpolate_angle:
  2942. .. rst-class:: classref-method
  2943. :ref:`float<class_float>` **cubic_interpolate_angle** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` pre, :ref:`float<class_float>` post, :ref:`float<class_float>` weight **)**
  2944. 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>`.
  2945. .. rst-class:: classref-item-separator
  2946. ----
  2947. .. _class_@GlobalScope_method_cubic_interpolate_angle_in_time:
  2948. .. rst-class:: classref-method
  2949. :ref:`float<class_float>` **cubic_interpolate_angle_in_time** **(** :ref:`float<class_float>` 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 **)**
  2950. 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>`.
  2951. It can perform smoother interpolation than ``cubic_interpolate()`` by the time values.
  2952. .. rst-class:: classref-item-separator
  2953. ----
  2954. .. _class_@GlobalScope_method_cubic_interpolate_in_time:
  2955. .. rst-class:: classref-method
  2956. :ref:`float<class_float>` **cubic_interpolate_in_time** **(** :ref:`float<class_float>` 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 **)**
  2957. Cubic interpolates between two values by the factor defined in ``weight`` with ``pre`` and ``post`` values.
  2958. It can perform smoother interpolation than :ref:`cubic_interpolate<class_@GlobalScope_method_cubic_interpolate>` by the time values.
  2959. .. rst-class:: classref-item-separator
  2960. ----
  2961. .. _class_@GlobalScope_method_db_to_linear:
  2962. .. rst-class:: classref-method
  2963. :ref:`float<class_float>` **db_to_linear** **(** :ref:`float<class_float>` db **)**
  2964. Converts from decibels to linear energy (audio).
  2965. .. rst-class:: classref-item-separator
  2966. ----
  2967. .. _class_@GlobalScope_method_deg_to_rad:
  2968. .. rst-class:: classref-method
  2969. :ref:`float<class_float>` **deg_to_rad** **(** :ref:`float<class_float>` deg **)**
  2970. Converts an angle expressed in degrees to radians.
  2971. ::
  2972. var r = deg_to_rad(180) # r is 3.141593
  2973. .. rst-class:: classref-item-separator
  2974. ----
  2975. .. _class_@GlobalScope_method_ease:
  2976. .. rst-class:: classref-method
  2977. :ref:`float<class_float>` **ease** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` curve **)**
  2978. 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:
  2979. ::
  2980. - Lower than -1.0 (exclusive): Ease in-out
  2981. - 1.0: Linear
  2982. - Between -1.0 and 0.0 (exclusive): Ease out-in
  2983. - 0.0: Constant
  2984. - Between 0.0 to 1.0 (exclusive): Ease out
  2985. - 1.0: Linear
  2986. - Greater than 1.0 (exclusive): Ease in
  2987. \ `ease() curve values cheatsheet <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/ease_cheatsheet.png>`__\
  2988. 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>`.
  2989. .. rst-class:: classref-item-separator
  2990. ----
  2991. .. _class_@GlobalScope_method_error_string:
  2992. .. rst-class:: classref-method
  2993. :ref:`String<class_String>` **error_string** **(** :ref:`int<class_int>` error **)**
  2994. Returns a human-readable name for the given :ref:`Error<enum_@GlobalScope_Error>` code.
  2995. ::
  2996. print(OK) # Prints 0
  2997. print(error_string(OK)) # Prints OK
  2998. print(error_string(ERR_BUSY)) # Prints Busy
  2999. print(error_string(ERR_OUT_OF_MEMORY)) # Prints Out of memory
  3000. .. rst-class:: classref-item-separator
  3001. ----
  3002. .. _class_@GlobalScope_method_exp:
  3003. .. rst-class:: classref-method
  3004. :ref:`float<class_float>` **exp** **(** :ref:`float<class_float>` x **)**
  3005. The natural exponential function. It raises the mathematical constant *e* to the power of ``x`` and returns it.
  3006. \ *e* has an approximate value of 2.71828, and can be obtained with ``exp(1)``.
  3007. For exponents to other bases use the method :ref:`pow<class_@GlobalScope_method_pow>`.
  3008. ::
  3009. var a = exp(2) # Approximately 7.39
  3010. .. rst-class:: classref-item-separator
  3011. ----
  3012. .. _class_@GlobalScope_method_floor:
  3013. .. rst-class:: classref-method
  3014. :ref:`Variant<class_Variant>` **floor** **(** :ref:`Variant<class_Variant>` x **)**
  3015. 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:`Vector3<class_Vector3>`, :ref:`Vector4<class_Vector4>`.
  3016. ::
  3017. var a = floor(2.99) # a is 2.0
  3018. a = floor(-2.99) # a is -3.0
  3019. See also :ref:`ceil<class_@GlobalScope_method_ceil>`, :ref:`round<class_@GlobalScope_method_round>`, and :ref:`snapped<class_@GlobalScope_method_snapped>`.
  3020. \ **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>`.
  3021. .. rst-class:: classref-item-separator
  3022. ----
  3023. .. _class_@GlobalScope_method_floorf:
  3024. .. rst-class:: classref-method
  3025. :ref:`float<class_float>` **floorf** **(** :ref:`float<class_float>` x **)**
  3026. Rounds ``x`` downward (towards negative infinity), returning the largest whole number that is not more than ``x``.
  3027. A type-safe version of :ref:`floor<class_@GlobalScope_method_floor>`, returning a :ref:`float<class_float>`.
  3028. .. rst-class:: classref-item-separator
  3029. ----
  3030. .. _class_@GlobalScope_method_floori:
  3031. .. rst-class:: classref-method
  3032. :ref:`int<class_int>` **floori** **(** :ref:`float<class_float>` x **)**
  3033. Rounds ``x`` downward (towards negative infinity), returning the largest whole number that is not more than ``x``.
  3034. A type-safe version of :ref:`floor<class_@GlobalScope_method_floor>`, returning an :ref:`int<class_int>`.
  3035. \ **Note:** This function is *not* the same as ``int(x)``, which rounds towards 0.
  3036. .. rst-class:: classref-item-separator
  3037. ----
  3038. .. _class_@GlobalScope_method_fmod:
  3039. .. rst-class:: classref-method
  3040. :ref:`float<class_float>` **fmod** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**
  3041. Returns the floating-point remainder of ``x`` divided by ``y``, keeping the sign of ``x``.
  3042. ::
  3043. var remainder = fmod(7, 5.5) # remainder is 1.5
  3044. For the integer remainder operation, use the ``%`` operator.
  3045. .. rst-class:: classref-item-separator
  3046. ----
  3047. .. _class_@GlobalScope_method_fposmod:
  3048. .. rst-class:: classref-method
  3049. :ref:`float<class_float>` **fposmod** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` y **)**
  3050. Returns the floating-point modulus of ``x`` divided by ``y``, wrapping equally in positive and negative.
  3051. ::
  3052. print(" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))")
  3053. for i in 7:
  3054. var x = i * 0.5 - 1.5
  3055. print("%4.1f %4.1f | %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)])
  3056. Produces:
  3057. ::
  3058. (x) (fmod(x, 1.5)) (fposmod(x, 1.5))
  3059. -1.5 -0.0 | 0.0
  3060. -1.0 -1.0 | 0.5
  3061. -0.5 -0.5 | 1.0
  3062. 0.0 0.0 | 0.0
  3063. 0.5 0.5 | 0.5
  3064. 1.0 1.0 | 1.0
  3065. 1.5 0.0 | 0.0
  3066. .. rst-class:: classref-item-separator
  3067. ----
  3068. .. _class_@GlobalScope_method_hash:
  3069. .. rst-class:: classref-method
  3070. :ref:`int<class_int>` **hash** **(** :ref:`Variant<class_Variant>` variable **)**
  3071. Returns the integer hash of the passed ``variable``.
  3072. .. tabs::
  3073. .. code-tab:: gdscript
  3074. print(hash("a")) # Prints 177670
  3075. .. code-tab:: csharp
  3076. GD.Print(GD.Hash("a")); // Prints 177670
  3077. .. rst-class:: classref-item-separator
  3078. ----
  3079. .. _class_@GlobalScope_method_instance_from_id:
  3080. .. rst-class:: classref-method
  3081. :ref:`Object<class_Object>` **instance_from_id** **(** :ref:`int<class_int>` instance_id **)**
  3082. 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>`.
  3083. .. tabs::
  3084. .. code-tab:: gdscript
  3085. var foo = "bar"
  3086. func _ready():
  3087. var id = get_instance_id()
  3088. var inst = instance_from_id(id)
  3089. print(inst.foo) # Prints bar
  3090. .. code-tab:: csharp
  3091. public partial class MyNode : Node
  3092. {
  3093. public string Foo { get; set; } = "bar";
  3094. public override void _Ready()
  3095. {
  3096. ulong id = GetInstanceId();
  3097. var inst = (MyNode)InstanceFromId(Id);
  3098. GD.Print(inst.Foo); // Prints bar
  3099. }
  3100. }
  3101. .. rst-class:: classref-item-separator
  3102. ----
  3103. .. _class_@GlobalScope_method_inverse_lerp:
  3104. .. rst-class:: classref-method
  3105. :ref:`float<class_float>` **inverse_lerp** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)**
  3106. 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.
  3107. ::
  3108. # The interpolation ratio in the `lerp()` call below is 0.75.
  3109. var middle = lerp(20, 30, 0.75)
  3110. # middle is now 27.5.
  3111. # Now, we pretend to have forgotten the original ratio and want to get it back.
  3112. var ratio = inverse_lerp(20, 30, 27.5)
  3113. # ratio is now 0.75.
  3114. 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.
  3115. .. rst-class:: classref-item-separator
  3116. ----
  3117. .. _class_@GlobalScope_method_is_equal_approx:
  3118. .. rst-class:: classref-method
  3119. :ref:`bool<class_bool>` **is_equal_approx** **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b **)**
  3120. Returns ``true`` if ``a`` and ``b`` are approximately equal to each other.
  3121. 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.
  3122. Infinity values of the same sign are considered equal.
  3123. .. rst-class:: classref-item-separator
  3124. ----
  3125. .. _class_@GlobalScope_method_is_finite:
  3126. .. rst-class:: classref-method
  3127. :ref:`bool<class_bool>` **is_finite** **(** :ref:`float<class_float>` x **)**
  3128. Returns whether ``x`` is a finite value, i.e. it is not :ref:`@GDScript.NAN<class_@GDScript_constant_NAN>`, positive infinity, or negative infinity.
  3129. .. rst-class:: classref-item-separator
  3130. ----
  3131. .. _class_@GlobalScope_method_is_inf:
  3132. .. rst-class:: classref-method
  3133. :ref:`bool<class_bool>` **is_inf** **(** :ref:`float<class_float>` x **)**
  3134. Returns ``true`` if ``x`` is either positive infinity or negative infinity.
  3135. .. rst-class:: classref-item-separator
  3136. ----
  3137. .. _class_@GlobalScope_method_is_instance_id_valid:
  3138. .. rst-class:: classref-method
  3139. :ref:`bool<class_bool>` **is_instance_id_valid** **(** :ref:`int<class_int>` id **)**
  3140. 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.
  3141. .. rst-class:: classref-item-separator
  3142. ----
  3143. .. _class_@GlobalScope_method_is_instance_valid:
  3144. .. rst-class:: classref-method
  3145. :ref:`bool<class_bool>` **is_instance_valid** **(** :ref:`Variant<class_Variant>` instance **)**
  3146. Returns ``true`` if ``instance`` is a valid Object (e.g. has not been deleted from memory).
  3147. .. rst-class:: classref-item-separator
  3148. ----
  3149. .. _class_@GlobalScope_method_is_nan:
  3150. .. rst-class:: classref-method
  3151. :ref:`bool<class_bool>` **is_nan** **(** :ref:`float<class_float>` x **)**
  3152. Returns ``true`` if ``x`` is a NaN ("Not a Number" or invalid) value.
  3153. .. rst-class:: classref-item-separator
  3154. ----
  3155. .. _class_@GlobalScope_method_is_same:
  3156. .. rst-class:: classref-method
  3157. :ref:`bool<class_bool>` **is_same** **(** :ref:`Variant<class_Variant>` a, :ref:`Variant<class_Variant>` b **)**
  3158. 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.
  3159. ::
  3160. # Vector2 is a value type
  3161. var vec2_a = Vector2(0, 0)
  3162. var vec2_b = Vector2(0, 0)
  3163. var vec2_c = Vector2(1, 1)
  3164. is_same(vec2_a, vec2_a) # true
  3165. is_same(vec2_a, vec2_b) # true
  3166. is_same(vec2_a, vec2_c) # false
  3167. # Array is a reference type
  3168. var arr_a = []
  3169. var arr_b = []
  3170. is_same(arr_a, arr_a) # true
  3171. is_same(arr_a, arr_b) # false
  3172. 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>`.
  3173. 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>` and :ref:`PackedColorArray<class_PackedColorArray>`.
  3174. .. rst-class:: classref-item-separator
  3175. ----
  3176. .. _class_@GlobalScope_method_is_zero_approx:
  3177. .. rst-class:: classref-method
  3178. :ref:`bool<class_bool>` **is_zero_approx** **(** :ref:`float<class_float>` x **)**
  3179. Returns ``true`` if ``x`` is zero or almost zero. The comparison is done using a tolerance calculation with a small internal epsilon.
  3180. This function is faster than using :ref:`is_equal_approx<class_@GlobalScope_method_is_equal_approx>` with one value as zero.
  3181. .. rst-class:: classref-item-separator
  3182. ----
  3183. .. _class_@GlobalScope_method_lerp:
  3184. .. rst-class:: classref-method
  3185. :ref:`Variant<class_Variant>` **lerp** **(** :ref:`Variant<class_Variant>` from, :ref:`Variant<class_Variant>` to, :ref:`Variant<class_Variant>` weight **)**
  3186. 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:`clamp<class_@GlobalScope_method_clamp>` on the result of this function.
  3187. 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>`.
  3188. ::
  3189. lerp(0, 4, 0.75) # Returns 3.0
  3190. 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.
  3191. \ **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>` or :ref:`Basis.slerp<class_Basis_method_slerp>`.
  3192. .. rst-class:: classref-item-separator
  3193. ----
  3194. .. _class_@GlobalScope_method_lerp_angle:
  3195. .. rst-class:: classref-method
  3196. :ref:`float<class_float>` **lerp_angle** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)**
  3197. Linearly interpolates between two angles (in radians) by a ``weight`` value between 0.0 and 1.0.
  3198. 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>`.
  3199. ::
  3200. extends Sprite
  3201. var elapsed = 0.0
  3202. func _process(delta):
  3203. var min_angle = deg_to_rad(0.0)
  3204. var max_angle = deg_to_rad(90.0)
  3205. rotation = lerp_angle(min_angle, max_angle, elapsed)
  3206. elapsed += delta
  3207. \ **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.
  3208. .. rst-class:: classref-item-separator
  3209. ----
  3210. .. _class_@GlobalScope_method_lerpf:
  3211. .. rst-class:: classref-method
  3212. :ref:`float<class_float>` **lerpf** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` weight **)**
  3213. 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.
  3214. ::
  3215. lerpf(0, 4, 0.75) # Returns 3.0
  3216. 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>`.
  3217. .. rst-class:: classref-item-separator
  3218. ----
  3219. .. _class_@GlobalScope_method_linear_to_db:
  3220. .. rst-class:: classref-method
  3221. :ref:`float<class_float>` **linear_to_db** **(** :ref:`float<class_float>` lin **)**
  3222. Converts from linear energy to decibels (audio). This can be used to implement volume sliders that behave as expected (since volume isn't linear).
  3223. \ **Example:**\
  3224. ::
  3225. # "Slider" refers to a node that inherits Range such as HSlider or VSlider.
  3226. # Its range must be configured to go from 0 to 1.
  3227. # Change the bus name if you'd like to change the volume of a specific bus only.
  3228. AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), linear_to_db($Slider.value))
  3229. .. rst-class:: classref-item-separator
  3230. ----
  3231. .. _class_@GlobalScope_method_log:
  3232. .. rst-class:: classref-method
  3233. :ref:`float<class_float>` **log** **(** :ref:`float<class_float>` x **)**
  3234. 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.
  3235. \ **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)``.
  3236. ::
  3237. log(10) # Returns 2.302585
  3238. \ **Note:** The logarithm of ``0`` returns ``-inf``, while negative values return ``-nan``.
  3239. .. rst-class:: classref-item-separator
  3240. ----
  3241. .. _class_@GlobalScope_method_max:
  3242. .. rst-class:: classref-method
  3243. :ref:`Variant<class_Variant>` **max** **(** ... **)** |vararg|
  3244. Returns the maximum of the given numeric values. This function can take any number of arguments.
  3245. ::
  3246. max(1, 7, 3, -6, 5) # Returns 7
  3247. .. rst-class:: classref-item-separator
  3248. ----
  3249. .. _class_@GlobalScope_method_maxf:
  3250. .. rst-class:: classref-method
  3251. :ref:`float<class_float>` **maxf** **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b **)**
  3252. Returns the maximum of two :ref:`float<class_float>` values.
  3253. ::
  3254. maxf(3.6, 24) # Returns 24.0
  3255. maxf(-3.99, -4) # Returns -3.99
  3256. .. rst-class:: classref-item-separator
  3257. ----
  3258. .. _class_@GlobalScope_method_maxi:
  3259. .. rst-class:: classref-method
  3260. :ref:`int<class_int>` **maxi** **(** :ref:`int<class_int>` a, :ref:`int<class_int>` b **)**
  3261. Returns the maximum of two :ref:`int<class_int>` values.
  3262. ::
  3263. maxi(1, 2) # Returns 2
  3264. maxi(-3, -4) # Returns -3
  3265. .. rst-class:: classref-item-separator
  3266. ----
  3267. .. _class_@GlobalScope_method_min:
  3268. .. rst-class:: classref-method
  3269. :ref:`Variant<class_Variant>` **min** **(** ... **)** |vararg|
  3270. Returns the minimum of the given numeric values. This function can take any number of arguments.
  3271. ::
  3272. min(1, 7, 3, -6, 5) # Returns -6
  3273. .. rst-class:: classref-item-separator
  3274. ----
  3275. .. _class_@GlobalScope_method_minf:
  3276. .. rst-class:: classref-method
  3277. :ref:`float<class_float>` **minf** **(** :ref:`float<class_float>` a, :ref:`float<class_float>` b **)**
  3278. Returns the minimum of two :ref:`float<class_float>` values.
  3279. ::
  3280. minf(3.6, 24) # Returns 3.6
  3281. minf(-3.99, -4) # Returns -4.0
  3282. .. rst-class:: classref-item-separator
  3283. ----
  3284. .. _class_@GlobalScope_method_mini:
  3285. .. rst-class:: classref-method
  3286. :ref:`int<class_int>` **mini** **(** :ref:`int<class_int>` a, :ref:`int<class_int>` b **)**
  3287. Returns the minimum of two :ref:`int<class_int>` values.
  3288. ::
  3289. mini(1, 2) # Returns 1
  3290. mini(-3, -4) # Returns -4
  3291. .. rst-class:: classref-item-separator
  3292. ----
  3293. .. _class_@GlobalScope_method_move_toward:
  3294. .. rst-class:: classref-method
  3295. :ref:`float<class_float>` **move_toward** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` delta **)**
  3296. Moves ``from`` toward ``to`` by the ``delta`` amount. Will not go past ``to``.
  3297. Use a negative ``delta`` value to move away.
  3298. ::
  3299. move_toward(5, 10, 4) # Returns 9
  3300. move_toward(10, 5, 4) # Returns 6
  3301. move_toward(5, 10, 9) # Returns 10
  3302. move_toward(10, 5, -1.5) # Returns 11.5
  3303. .. rst-class:: classref-item-separator
  3304. ----
  3305. .. _class_@GlobalScope_method_nearest_po2:
  3306. .. rst-class:: classref-method
  3307. :ref:`int<class_int>` **nearest_po2** **(** :ref:`int<class_int>` value **)**
  3308. Returns the smallest integer power of 2 that is greater than or equal to ``value``.
  3309. ::
  3310. nearest_po2(3) # Returns 4
  3311. nearest_po2(4) # Returns 4
  3312. nearest_po2(5) # Returns 8
  3313. nearest_po2(0) # Returns 0 (this may not be expected)
  3314. nearest_po2(-1) # Returns 0 (this may not be expected)
  3315. \ **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.
  3316. .. rst-class:: classref-item-separator
  3317. ----
  3318. .. _class_@GlobalScope_method_pingpong:
  3319. .. rst-class:: classref-method
  3320. :ref:`float<class_float>` **pingpong** **(** :ref:`float<class_float>` value, :ref:`float<class_float>` length **)**
  3321. 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.
  3322. ::
  3323. pingpong(-3.0, 3.0) # Returns 3.0
  3324. pingpong(-2.0, 3.0) # Returns 2.0
  3325. pingpong(-1.0, 3.0) # Returns 1.0
  3326. pingpong(0.0, 3.0) # Returns 0.0
  3327. pingpong(1.0, 3.0) # Returns 1.0
  3328. pingpong(2.0, 3.0) # Returns 2.0
  3329. pingpong(3.0, 3.0) # Returns 3.0
  3330. pingpong(4.0, 3.0) # Returns 2.0
  3331. pingpong(5.0, 3.0) # Returns 1.0
  3332. pingpong(6.0, 3.0) # Returns 0.0
  3333. .. rst-class:: classref-item-separator
  3334. ----
  3335. .. _class_@GlobalScope_method_posmod:
  3336. .. rst-class:: classref-method
  3337. :ref:`int<class_int>` **posmod** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y **)**
  3338. Returns the integer modulus of ``x`` divided by ``y`` that wraps equally in positive and negative.
  3339. ::
  3340. print("#(i) (i % 3) (posmod(i, 3))")
  3341. for i in range(-3, 4):
  3342. print("%2d %2d | %2d" % [i, i % 3, posmod(i, 3)])
  3343. Produces:
  3344. ::
  3345. (i) (i % 3) (posmod(i, 3))
  3346. -3 0 | 0
  3347. -2 -2 | 1
  3348. -1 -1 | 2
  3349. 0 0 | 0
  3350. 1 1 | 1
  3351. 2 2 | 2
  3352. 3 0 | 0
  3353. .. rst-class:: classref-item-separator
  3354. ----
  3355. .. _class_@GlobalScope_method_pow:
  3356. .. rst-class:: classref-method
  3357. :ref:`float<class_float>` **pow** **(** :ref:`float<class_float>` base, :ref:`float<class_float>` exp **)**
  3358. Returns the result of ``base`` raised to the power of ``exp``.
  3359. In GDScript, this is the equivalent of the ``**`` operator.
  3360. ::
  3361. pow(2, 5) # Returns 32.0
  3362. pow(4, 1.5) # Returns 8.0
  3363. .. rst-class:: classref-item-separator
  3364. ----
  3365. .. _class_@GlobalScope_method_print:
  3366. .. rst-class:: classref-method
  3367. void **print** **(** ... **)** |vararg|
  3368. Converts one or more arguments of any type to string in the best way possible and prints them to the console.
  3369. .. tabs::
  3370. .. code-tab:: gdscript
  3371. var a = [1, 2, 3]
  3372. print("a", "b", a) # Prints ab[1, 2, 3]
  3373. .. code-tab:: csharp
  3374. var a = new Godot.Collections.Array { 1, 2, 3 };
  3375. GD.Print("a", "b", a); // Prints ab[1, 2, 3]
  3376. \ **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.
  3377. .. rst-class:: classref-item-separator
  3378. ----
  3379. .. _class_@GlobalScope_method_print_rich:
  3380. .. rst-class:: classref-method
  3381. void **print_rich** **(** ... **)** |vararg|
  3382. Converts one or more arguments of any type to string in the best way possible and prints them to the console.
  3383. The following BBCode tags are supported: ``b``, ``i``, ``u``, ``s``, ``indent``, ``code``, ``url``, ``center``, ``right``, ``color``, ``bgcolor``, ``fgcolor``.
  3384. Color tags only support the following named colors: ``black``, ``red``, ``green``, ``yellow``, ``blue``, ``magenta``, ``pink``, ``purple``, ``cyan``, ``white``, ``orange``, ``gray``. Hexadecimal color codes are not supported.
  3385. URL tags only support URLs wrapped by a URL tag, not URLs with a different title.
  3386. 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.
  3387. .. tabs::
  3388. .. code-tab:: gdscript
  3389. print_rich("[color=green][b]Hello world![/b][/color]") # Prints out "Hello world!" in green with a bold font
  3390. .. code-tab:: csharp
  3391. GD.PrintRich("[color=green][b]Hello world![/b][/color]"); // Prints out "Hello world!" in green with a bold font
  3392. \ **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.
  3393. \ **Note:** On Windows, only Windows 10 and later correctly displays ANSI escape codes in standard output.
  3394. .. rst-class:: classref-item-separator
  3395. ----
  3396. .. _class_@GlobalScope_method_print_verbose:
  3397. .. rst-class:: classref-method
  3398. void **print_verbose** **(** ... **)** |vararg|
  3399. 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.
  3400. .. rst-class:: classref-item-separator
  3401. ----
  3402. .. _class_@GlobalScope_method_printerr:
  3403. .. rst-class:: classref-method
  3404. void **printerr** **(** ... **)** |vararg|
  3405. Prints one or more arguments to strings in the best way possible to standard error line.
  3406. .. tabs::
  3407. .. code-tab:: gdscript
  3408. printerr("prints to stderr")
  3409. .. code-tab:: csharp
  3410. GD.PrintErr("prints to stderr");
  3411. .. rst-class:: classref-item-separator
  3412. ----
  3413. .. _class_@GlobalScope_method_printraw:
  3414. .. rst-class:: classref-method
  3415. void **printraw** **(** ... **)** |vararg|
  3416. 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.
  3417. .. tabs::
  3418. .. code-tab:: gdscript
  3419. printraw("A")
  3420. printraw("B")
  3421. printraw("C")
  3422. # Prints ABC to terminal
  3423. .. code-tab:: csharp
  3424. GD.PrintRaw("A");
  3425. GD.PrintRaw("B");
  3426. GD.PrintRaw("C");
  3427. // Prints ABC to terminal
  3428. .. rst-class:: classref-item-separator
  3429. ----
  3430. .. _class_@GlobalScope_method_prints:
  3431. .. rst-class:: classref-method
  3432. void **prints** **(** ... **)** |vararg|
  3433. Prints one or more arguments to the console with a space between each argument.
  3434. .. tabs::
  3435. .. code-tab:: gdscript
  3436. prints("A", "B", "C") # Prints A B C
  3437. .. code-tab:: csharp
  3438. GD.PrintS("A", "B", "C"); // Prints A B C
  3439. .. rst-class:: classref-item-separator
  3440. ----
  3441. .. _class_@GlobalScope_method_printt:
  3442. .. rst-class:: classref-method
  3443. void **printt** **(** ... **)** |vararg|
  3444. Prints one or more arguments to the console with a tab between each argument.
  3445. .. tabs::
  3446. .. code-tab:: gdscript
  3447. printt("A", "B", "C") # Prints A B C
  3448. .. code-tab:: csharp
  3449. GD.PrintT("A", "B", "C"); // Prints A B C
  3450. .. rst-class:: classref-item-separator
  3451. ----
  3452. .. _class_@GlobalScope_method_push_error:
  3453. .. rst-class:: classref-method
  3454. void **push_error** **(** ... **)** |vararg|
  3455. Pushes an error message to Godot's built-in debugger and to the OS terminal.
  3456. .. tabs::
  3457. .. code-tab:: gdscript
  3458. push_error("test error") # Prints "test error" to debugger and terminal as error call
  3459. .. code-tab:: csharp
  3460. GD.PushError("test error"); // Prints "test error" to debugger and terminal as error call
  3461. \ **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.
  3462. .. rst-class:: classref-item-separator
  3463. ----
  3464. .. _class_@GlobalScope_method_push_warning:
  3465. .. rst-class:: classref-method
  3466. void **push_warning** **(** ... **)** |vararg|
  3467. Pushes a warning message to Godot's built-in debugger and to the OS terminal.
  3468. .. tabs::
  3469. .. code-tab:: gdscript
  3470. push_warning("test warning") # Prints "test warning" to debugger and terminal as warning call
  3471. .. code-tab:: csharp
  3472. GD.PushWarning("test warning"); // Prints "test warning" to debugger and terminal as warning call
  3473. .. rst-class:: classref-item-separator
  3474. ----
  3475. .. _class_@GlobalScope_method_rad_to_deg:
  3476. .. rst-class:: classref-method
  3477. :ref:`float<class_float>` **rad_to_deg** **(** :ref:`float<class_float>` rad **)**
  3478. Converts an angle expressed in radians to degrees.
  3479. ::
  3480. rad_to_deg(0.523599) # Returns 30
  3481. rad_to_deg(PI) # Returns 180
  3482. rad_to_deg(PI * 2) # Returns 360
  3483. .. rst-class:: classref-item-separator
  3484. ----
  3485. .. _class_@GlobalScope_method_rand_from_seed:
  3486. .. rst-class:: classref-method
  3487. :ref:`PackedInt64Array<class_PackedInt64Array>` **rand_from_seed** **(** :ref:`int<class_int>` seed **)**
  3488. 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.
  3489. \ **Note:** "Seed" here refers to the internal state of the pseudo random number generator, currently implemented as a 64 bit integer.
  3490. ::
  3491. var a = rand_from_seed(4)
  3492. print(a[0]) # Prints 2879024997
  3493. print(a[1]) # Prints 4
  3494. .. rst-class:: classref-item-separator
  3495. ----
  3496. .. _class_@GlobalScope_method_randf:
  3497. .. rst-class:: classref-method
  3498. :ref:`float<class_float>` **randf** **(** **)**
  3499. Returns a random floating point value between ``0.0`` and ``1.0`` (inclusive).
  3500. .. tabs::
  3501. .. code-tab:: gdscript
  3502. randf() # Returns e.g. 0.375671
  3503. .. code-tab:: csharp
  3504. GD.Randf(); // Returns e.g. 0.375671
  3505. .. rst-class:: classref-item-separator
  3506. ----
  3507. .. _class_@GlobalScope_method_randf_range:
  3508. .. rst-class:: classref-method
  3509. :ref:`float<class_float>` **randf_range** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)**
  3510. Returns a random floating point value between ``from`` and ``to`` (inclusive).
  3511. .. tabs::
  3512. .. code-tab:: gdscript
  3513. randf_range(0, 20.5) # Returns e.g. 7.45315
  3514. randf_range(-10, 10) # Returns e.g. -3.844535
  3515. .. code-tab:: csharp
  3516. GD.RandRange(0.0, 20.5); // Returns e.g. 7.45315
  3517. GD.RandRange(-10.0, 10.0); // Returns e.g. -3.844535
  3518. .. rst-class:: classref-item-separator
  3519. ----
  3520. .. _class_@GlobalScope_method_randfn:
  3521. .. rst-class:: classref-method
  3522. :ref:`float<class_float>` **randfn** **(** :ref:`float<class_float>` mean, :ref:`float<class_float>` deviation **)**
  3523. Returns a normally-distributed pseudo-random floating point value using Box-Muller transform with the specified ``mean`` and a standard ``deviation``. This is also called Gaussian distribution.
  3524. .. rst-class:: classref-item-separator
  3525. ----
  3526. .. _class_@GlobalScope_method_randi:
  3527. .. rst-class:: classref-method
  3528. :ref:`int<class_int>` **randi** **(** **)**
  3529. 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).
  3530. .. tabs::
  3531. .. code-tab:: gdscript
  3532. randi() # Returns random integer between 0 and 2^32 - 1
  3533. randi() % 20 # Returns random integer between 0 and 19
  3534. randi() % 100 # Returns random integer between 0 and 99
  3535. randi() % 100 + 1 # Returns random integer between 1 and 100
  3536. .. code-tab:: csharp
  3537. GD.Randi(); // Returns random integer between 0 and 2^32 - 1
  3538. GD.Randi() % 20; // Returns random integer between 0 and 19
  3539. GD.Randi() % 100; // Returns random integer between 0 and 99
  3540. GD.Randi() % 100 + 1; // Returns random integer between 1 and 100
  3541. .. rst-class:: classref-item-separator
  3542. ----
  3543. .. _class_@GlobalScope_method_randi_range:
  3544. .. rst-class:: classref-method
  3545. :ref:`int<class_int>` **randi_range** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` to **)**
  3546. Returns a random signed 32-bit integer between ``from`` and ``to`` (inclusive). If ``to`` is lesser than ``from``, they are swapped.
  3547. .. tabs::
  3548. .. code-tab:: gdscript
  3549. randi_range(0, 1) # Returns either 0 or 1
  3550. randi_range(-10, 1000) # Returns random integer between -10 and 1000
  3551. .. code-tab:: csharp
  3552. GD.RandRange(0, 1); // Returns either 0 or 1
  3553. GD.RandRange(-10, 1000); // Returns random integer between -10 and 1000
  3554. .. rst-class:: classref-item-separator
  3555. ----
  3556. .. _class_@GlobalScope_method_randomize:
  3557. .. rst-class:: classref-method
  3558. void **randomize** **(** **)**
  3559. Randomizes the seed (or the internal state) of the random number generator. The current implementation uses a number based on the device's time.
  3560. \ **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.
  3561. .. rst-class:: classref-item-separator
  3562. ----
  3563. .. _class_@GlobalScope_method_remap:
  3564. .. rst-class:: classref-method
  3565. :ref:`float<class_float>` **remap** **(** :ref:`float<class_float>` value, :ref:`float<class_float>` istart, :ref:`float<class_float>` istop, :ref:`float<class_float>` ostart, :ref:`float<class_float>` ostop **)**
  3566. 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.
  3567. ::
  3568. remap(75, 0, 100, -1, 1) # Returns 0.5
  3569. For complex use cases where multiple ranges are needed, consider using :ref:`Curve<class_Curve>` or :ref:`Gradient<class_Gradient>` instead.
  3570. .. rst-class:: classref-item-separator
  3571. ----
  3572. .. _class_@GlobalScope_method_rid_allocate_id:
  3573. .. rst-class:: classref-method
  3574. :ref:`int<class_int>` **rid_allocate_id** **(** **)**
  3575. Allocates a unique ID which can be used by the implementation to construct a RID. This is used mainly from native extensions to implement servers.
  3576. .. rst-class:: classref-item-separator
  3577. ----
  3578. .. _class_@GlobalScope_method_rid_from_int64:
  3579. .. rst-class:: classref-method
  3580. :ref:`RID<class_RID>` **rid_from_int64** **(** :ref:`int<class_int>` base **)**
  3581. Creates a RID from a ``base``. This is used mainly from native extensions to build servers.
  3582. .. rst-class:: classref-item-separator
  3583. ----
  3584. .. _class_@GlobalScope_method_round:
  3585. .. rst-class:: classref-method
  3586. :ref:`Variant<class_Variant>` **round** **(** :ref:`Variant<class_Variant>` x **)**
  3587. 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:`Vector3<class_Vector3>`, :ref:`Vector4<class_Vector4>`.
  3588. ::
  3589. round(2.4) # Returns 2
  3590. round(2.5) # Returns 3
  3591. round(2.6) # Returns 3
  3592. See also :ref:`floor<class_@GlobalScope_method_floor>`, :ref:`ceil<class_@GlobalScope_method_ceil>`, and :ref:`snapped<class_@GlobalScope_method_snapped>`.
  3593. \ **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>`.
  3594. .. rst-class:: classref-item-separator
  3595. ----
  3596. .. _class_@GlobalScope_method_roundf:
  3597. .. rst-class:: classref-method
  3598. :ref:`float<class_float>` **roundf** **(** :ref:`float<class_float>` x **)**
  3599. Rounds ``x`` to the nearest whole number, with halfway cases rounded away from 0.
  3600. A type-safe version of :ref:`round<class_@GlobalScope_method_round>`, returning a :ref:`float<class_float>`.
  3601. .. rst-class:: classref-item-separator
  3602. ----
  3603. .. _class_@GlobalScope_method_roundi:
  3604. .. rst-class:: classref-method
  3605. :ref:`int<class_int>` **roundi** **(** :ref:`float<class_float>` x **)**
  3606. Rounds ``x`` to the nearest whole number, with halfway cases rounded away from 0.
  3607. A type-safe version of :ref:`round<class_@GlobalScope_method_round>`, returning an :ref:`int<class_int>`.
  3608. .. rst-class:: classref-item-separator
  3609. ----
  3610. .. _class_@GlobalScope_method_seed:
  3611. .. rst-class:: classref-method
  3612. void **seed** **(** :ref:`int<class_int>` base **)**
  3613. Sets the seed for the random number generator to ``base``. Setting the seed manually can ensure consistent, repeatable results for most random functions.
  3614. .. tabs::
  3615. .. code-tab:: gdscript
  3616. var my_seed = "Godot Rocks".hash()
  3617. seed(my_seed)
  3618. var a = randf() + randi()
  3619. seed(my_seed)
  3620. var b = randf() + randi()
  3621. # a and b are now identical
  3622. .. code-tab:: csharp
  3623. ulong mySeed = (ulong)GD.Hash("Godot Rocks");
  3624. GD.Seed(mySeed);
  3625. var a = GD.Randf() + GD.Randi();
  3626. GD.Seed(mySeed);
  3627. var b = GD.Randf() + GD.Randi();
  3628. // a and b are now identical
  3629. .. rst-class:: classref-item-separator
  3630. ----
  3631. .. _class_@GlobalScope_method_sign:
  3632. .. rst-class:: classref-method
  3633. :ref:`Variant<class_Variant>` **sign** **(** :ref:`Variant<class_Variant>` x **)**
  3634. Returns the same type of :ref:`Variant<class_Variant>` as ``x``, with ``-1`` for negative values, ``1`` for positive values, and ``0`` for zeros. 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>`.
  3635. ::
  3636. sign(-6.0) # Returns -1
  3637. sign(0.0) # Returns 0
  3638. sign(6.0) # Returns 1
  3639. sign(Vector3(-6.0, 0.0, 6.0)) # Returns (-1, 0, 1)
  3640. \ **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>`.
  3641. .. rst-class:: classref-item-separator
  3642. ----
  3643. .. _class_@GlobalScope_method_signf:
  3644. .. rst-class:: classref-method
  3645. :ref:`float<class_float>` **signf** **(** :ref:`float<class_float>` x **)**
  3646. Returns ``-1.0`` if ``x`` is negative, ``1.0`` if ``x`` is positive, and ``0.0`` if ``x`` is zero.
  3647. ::
  3648. signf(-6.5) # Returns -1.0
  3649. signf(0.0) # Returns 0.0
  3650. signf(6.5) # Returns 1.0
  3651. .. rst-class:: classref-item-separator
  3652. ----
  3653. .. _class_@GlobalScope_method_signi:
  3654. .. rst-class:: classref-method
  3655. :ref:`int<class_int>` **signi** **(** :ref:`int<class_int>` x **)**
  3656. Returns ``-1`` if ``x`` is negative, ``1`` if ``x`` is positive, and ``0`` if if ``x`` is zero.
  3657. ::
  3658. signi(-6) # Returns -1
  3659. signi(0) # Returns 0
  3660. signi(6) # Returns 1
  3661. .. rst-class:: classref-item-separator
  3662. ----
  3663. .. _class_@GlobalScope_method_sin:
  3664. .. rst-class:: classref-method
  3665. :ref:`float<class_float>` **sin** **(** :ref:`float<class_float>` angle_rad **)**
  3666. Returns the sine of angle ``angle_rad`` in radians.
  3667. ::
  3668. sin(0.523599) # Returns 0.5
  3669. sin(deg_to_rad(90)) # Returns 1.0
  3670. .. rst-class:: classref-item-separator
  3671. ----
  3672. .. _class_@GlobalScope_method_sinh:
  3673. .. rst-class:: classref-method
  3674. :ref:`float<class_float>` **sinh** **(** :ref:`float<class_float>` x **)**
  3675. Returns the hyperbolic sine of ``x``.
  3676. ::
  3677. var a = log(2.0) # Returns 0.693147
  3678. sinh(a) # Returns 0.75
  3679. .. rst-class:: classref-item-separator
  3680. ----
  3681. .. _class_@GlobalScope_method_smoothstep:
  3682. .. rst-class:: classref-method
  3683. :ref:`float<class_float>` **smoothstep** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to, :ref:`float<class_float>` x **)**
  3684. Returns the result of smoothly interpolating the value of ``x`` between ``0`` and ``1``, based on the where ``x`` lies with respect to the edges ``from`` and ``to``.
  3685. The return value is ``0`` if ``x <= from``, and ``1`` if ``x >= to``. If ``x`` lies between ``from`` and ``to``, the returned value follows an S-shaped curve that maps ``x`` between ``0`` and ``1``.
  3686. 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)``.
  3687. ::
  3688. smoothstep(0, 2, -5.0) # Returns 0.0
  3689. smoothstep(0, 2, 0.5) # Returns 0.15625
  3690. smoothstep(0, 2, 1.0) # Returns 0.5
  3691. smoothstep(0, 2, 2.0) # Returns 1.0
  3692. 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>`.
  3693. \ `Comparison between smoothstep() and ease(x, -1.6521) return values <https://raw.githubusercontent.com/godotengine/godot-docs/master/img/smoothstep_ease_comparison.png>`__
  3694. .. rst-class:: classref-item-separator
  3695. ----
  3696. .. _class_@GlobalScope_method_snapped:
  3697. .. rst-class:: classref-method
  3698. :ref:`Variant<class_Variant>` **snapped** **(** :ref:`Variant<class_Variant>` x, :ref:`Variant<class_Variant>` step **)**
  3699. 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.
  3700. 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>`.
  3701. ::
  3702. snapped(100, 32) # Returns 96
  3703. snapped(3.14159, 0.01) # Returns 3.14
  3704. snapped(Vector2(34, 70), Vector2(8, 8)) # Returns (32, 72)
  3705. See also :ref:`ceil<class_@GlobalScope_method_ceil>`, :ref:`floor<class_@GlobalScope_method_floor>`, and :ref:`round<class_@GlobalScope_method_round>`.
  3706. \ **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>`.
  3707. .. rst-class:: classref-item-separator
  3708. ----
  3709. .. _class_@GlobalScope_method_snappedf:
  3710. .. rst-class:: classref-method
  3711. :ref:`float<class_float>` **snappedf** **(** :ref:`float<class_float>` x, :ref:`float<class_float>` step **)**
  3712. 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.
  3713. A type-safe version of :ref:`snapped<class_@GlobalScope_method_snapped>`, returning a :ref:`float<class_float>`.
  3714. ::
  3715. snappedf(32.0, 2.5) # Returns 32.5
  3716. snappedf(3.14159, 0.01) # Returns 3.14
  3717. .. rst-class:: classref-item-separator
  3718. ----
  3719. .. _class_@GlobalScope_method_snappedi:
  3720. .. rst-class:: classref-method
  3721. :ref:`int<class_int>` **snappedi** **(** :ref:`float<class_float>` x, :ref:`int<class_int>` step **)**
  3722. Returns the multiple of ``step`` that is the closest to ``x``.
  3723. A type-safe version of :ref:`snapped<class_@GlobalScope_method_snapped>`, returning an :ref:`int<class_int>`.
  3724. ::
  3725. snappedi(53, 16) # Returns 48
  3726. snappedi(4096, 100) # Returns 4100
  3727. .. rst-class:: classref-item-separator
  3728. ----
  3729. .. _class_@GlobalScope_method_sqrt:
  3730. .. rst-class:: classref-method
  3731. :ref:`float<class_float>` **sqrt** **(** :ref:`float<class_float>` x **)**
  3732. Returns the square root of ``x``, where ``x`` is a non-negative number.
  3733. ::
  3734. sqrt(9) # Returns 3
  3735. sqrt(10.24) # Returns 3.2
  3736. sqrt(-1) # Returns NaN
  3737. \ **Note:** Negative values of ``x`` return NaN ("Not a Number"). in C#, if you need negative inputs, use ``System.Numerics.Complex``.
  3738. .. rst-class:: classref-item-separator
  3739. ----
  3740. .. _class_@GlobalScope_method_step_decimals:
  3741. .. rst-class:: classref-method
  3742. :ref:`int<class_int>` **step_decimals** **(** :ref:`float<class_float>` x **)**
  3743. 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.
  3744. ::
  3745. var n = step_decimals(5) # n is 0
  3746. n = step_decimals(1.0005) # n is 4
  3747. n = step_decimals(0.000000005) # n is 9
  3748. .. rst-class:: classref-item-separator
  3749. ----
  3750. .. _class_@GlobalScope_method_str:
  3751. .. rst-class:: classref-method
  3752. :ref:`String<class_String>` **str** **(** ... **)** |vararg|
  3753. Converts one or more arguments of any :ref:`Variant<class_Variant>` type to a :ref:`String<class_String>` in the best way possible.
  3754. ::
  3755. var a = [10, 20, 30]
  3756. var b = str(a)
  3757. print(len(a)) # Prints 3 (the number of elements in the array).
  3758. print(len(b)) # Prints 12 (the length of the string "[10, 20, 30]").
  3759. .. rst-class:: classref-item-separator
  3760. ----
  3761. .. _class_@GlobalScope_method_str_to_var:
  3762. .. rst-class:: classref-method
  3763. :ref:`Variant<class_Variant>` **str_to_var** **(** :ref:`String<class_String>` string **)**
  3764. 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>`.
  3765. .. tabs::
  3766. .. code-tab:: gdscript
  3767. var data = '{ "a": 1, "b": 2 }' # data is a String
  3768. var dict = str_to_var(data) # dict is a Dictionary
  3769. print(dict["a"]) # Prints 1
  3770. .. code-tab:: csharp
  3771. string data = "{ \"a\": 1, \"b\": 2 }"; // data is a string
  3772. var dict = GD.StrToVar(data).AsGodotDictionary(); // dict is a Dictionary
  3773. GD.Print(dict["a"]); // Prints 1
  3774. .. rst-class:: classref-item-separator
  3775. ----
  3776. .. _class_@GlobalScope_method_tan:
  3777. .. rst-class:: classref-method
  3778. :ref:`float<class_float>` **tan** **(** :ref:`float<class_float>` angle_rad **)**
  3779. Returns the tangent of angle ``angle_rad`` in radians.
  3780. ::
  3781. tan(deg_to_rad(45)) # Returns 1
  3782. .. rst-class:: classref-item-separator
  3783. ----
  3784. .. _class_@GlobalScope_method_tanh:
  3785. .. rst-class:: classref-method
  3786. :ref:`float<class_float>` **tanh** **(** :ref:`float<class_float>` x **)**
  3787. Returns the hyperbolic tangent of ``x``.
  3788. ::
  3789. var a = log(2.0) # Returns 0.693147
  3790. tanh(a) # Returns 0.6
  3791. .. rst-class:: classref-item-separator
  3792. ----
  3793. .. _class_@GlobalScope_method_typeof:
  3794. .. rst-class:: classref-method
  3795. :ref:`int<class_int>` **typeof** **(** :ref:`Variant<class_Variant>` variable **)**
  3796. Returns the internal type of the given ``variable``, using the :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` values.
  3797. ::
  3798. var json = JSON.new()
  3799. json.parse('["a", "b", "c"]')
  3800. var result = json.get_data()
  3801. if typeof(result) == TYPE_ARRAY:
  3802. print(result[0]) # Prints a
  3803. else:
  3804. print("Unexpected result")
  3805. .. rst-class:: classref-item-separator
  3806. ----
  3807. .. _class_@GlobalScope_method_var_to_bytes:
  3808. .. rst-class:: classref-method
  3809. :ref:`PackedByteArray<class_PackedByteArray>` **var_to_bytes** **(** :ref:`Variant<class_Variant>` variable **)**
  3810. 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>`.
  3811. \ **Note:** If you need object serialization, see :ref:`var_to_bytes_with_objects<class_@GlobalScope_method_var_to_bytes_with_objects>`.
  3812. .. rst-class:: classref-item-separator
  3813. ----
  3814. .. _class_@GlobalScope_method_var_to_bytes_with_objects:
  3815. .. rst-class:: classref-method
  3816. :ref:`PackedByteArray<class_PackedByteArray>` **var_to_bytes_with_objects** **(** :ref:`Variant<class_Variant>` variable **)**
  3817. 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>`.
  3818. .. rst-class:: classref-item-separator
  3819. ----
  3820. .. _class_@GlobalScope_method_var_to_str:
  3821. .. rst-class:: classref-method
  3822. :ref:`String<class_String>` **var_to_str** **(** :ref:`Variant<class_Variant>` variable **)**
  3823. 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>`.
  3824. .. tabs::
  3825. .. code-tab:: gdscript
  3826. var a = { "a": 1, "b": 2 }
  3827. print(var_to_str(a))
  3828. .. code-tab:: csharp
  3829. var a = new Godot.Collections.Dictionary { ["a"] = 1, ["b"] = 2 };
  3830. GD.Print(GD.VarToStr(a));
  3831. Prints:
  3832. ::
  3833. {
  3834. "a": 1,
  3835. "b": 2
  3836. }
  3837. \ **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.
  3838. .. rst-class:: classref-item-separator
  3839. ----
  3840. .. _class_@GlobalScope_method_weakref:
  3841. .. rst-class:: classref-method
  3842. :ref:`Variant<class_Variant>` **weakref** **(** :ref:`Variant<class_Variant>` obj **)**
  3843. Returns a weak reference to an object, or ``null`` if ``obj`` is invalid.
  3844. 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.
  3845. .. rst-class:: classref-item-separator
  3846. ----
  3847. .. _class_@GlobalScope_method_wrap:
  3848. .. rst-class:: classref-method
  3849. :ref:`Variant<class_Variant>` **wrap** **(** :ref:`Variant<class_Variant>` value, :ref:`Variant<class_Variant>` min, :ref:`Variant<class_Variant>` max **)**
  3850. Wraps the :ref:`Variant<class_Variant>` ``value`` between ``min`` and ``max``. Can be used for creating loop-alike behavior or infinite surfaces.
  3851. 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>`.
  3852. ::
  3853. var a = wrap(4, 5, 10)
  3854. # a is 9 (int)
  3855. var a = wrap(7, 5, 10)
  3856. # a is 7 (int)
  3857. var a = wrap(10.5, 5, 10)
  3858. # a is 5.5 (float)
  3859. .. rst-class:: classref-item-separator
  3860. ----
  3861. .. _class_@GlobalScope_method_wrapf:
  3862. .. rst-class:: classref-method
  3863. :ref:`float<class_float>` **wrapf** **(** :ref:`float<class_float>` value, :ref:`float<class_float>` min, :ref:`float<class_float>` max **)**
  3864. Wraps the float ``value`` between ``min`` and ``max``. Can be used for creating loop-alike behavior or infinite surfaces.
  3865. ::
  3866. # Infinite loop between 5.0 and 9.9
  3867. value = wrapf(value + 0.1, 5.0, 10.0)
  3868. ::
  3869. # Infinite rotation (in radians)
  3870. angle = wrapf(angle + 0.1, 0.0, TAU)
  3871. ::
  3872. # Infinite rotation (in radians)
  3873. angle = wrapf(angle + 0.1, -PI, PI)
  3874. \ **Note:** If ``min`` is ``0``, this is equivalent to :ref:`fposmod<class_@GlobalScope_method_fposmod>`, so prefer using that instead.
  3875. \ ``wrapf`` is more flexible than using the :ref:`fposmod<class_@GlobalScope_method_fposmod>` approach by giving the user control over the minimum value.
  3876. .. rst-class:: classref-item-separator
  3877. ----
  3878. .. _class_@GlobalScope_method_wrapi:
  3879. .. rst-class:: classref-method
  3880. :ref:`int<class_int>` **wrapi** **(** :ref:`int<class_int>` value, :ref:`int<class_int>` min, :ref:`int<class_int>` max **)**
  3881. Wraps the integer ``value`` between ``min`` and ``max``. Can be used for creating loop-alike behavior or infinite surfaces.
  3882. ::
  3883. # Infinite loop between 5 and 9
  3884. frame = wrapi(frame + 1, 5, 10)
  3885. ::
  3886. # result is -2
  3887. var result = wrapi(-6, -5, -1)
  3888. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  3889. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  3890. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  3891. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  3892. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  3893. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  3894. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`