ccgo_linux_386.go 408 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551
  1. // Code generated for linux/386 by 'generator --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-macro=m_ --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -extended-errors -ignore-unsupported-alignment -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libX11/include/linux/386 -lX11 -o libxrender.go --package-name libxrender src/.libs/libXrender.a', DO NOT EDIT.
  2. //go:build linux && 386
  3. package libxrender
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libX11"
  8. "modernc.org/libc"
  9. )
  10. var _ reflect.Type
  11. var _ unsafe.Pointer
  12. const m_Above = 0
  13. const m_AllTemporary = 0
  14. const m_AllValues = 0x000F
  15. const m_AllocAll = 1
  16. const m_AllocNone = 0
  17. const m_AllowExposures = 1
  18. const m_AlreadyGrabbed = 1
  19. const m_Always = 2
  20. const m_AnyButton = 0
  21. const m_AnyKey = 0
  22. const m_AnyPropertyType = 0
  23. const m_ArcChord = 0
  24. const m_ArcPieSlice = 1
  25. const m_AsyncBoth = 6
  26. const m_AsyncKeyboard = 3
  27. const m_AsyncPointer = 0
  28. const m_AutoRepeatModeDefault = 2
  29. const m_AutoRepeatModeOff = 0
  30. const m_AutoRepeatModeOn = 1
  31. const m_BIG_ENDIAN = "__BIG_ENDIAN"
  32. const m_BUFSIZE = 2048
  33. const m_BYTE_ORDER = "__BYTE_ORDER"
  34. const m_BadAccess = 10
  35. const m_BadAlloc = 11
  36. const m_BadAtom = 5
  37. const m_BadColor = 12
  38. const m_BadCursor = 6
  39. const m_BadDrawable = 9
  40. const m_BadFont = 7
  41. const m_BadGC = 13
  42. const m_BadGlyph = 4
  43. const m_BadGlyphSet = 3
  44. const m_BadIDChoice = 14
  45. const m_BadImplementation = 17
  46. const m_BadLength = 16
  47. const m_BadMatch = 8
  48. const m_BadName = 15
  49. const m_BadPictFormat = 0
  50. const m_BadPictOp = 2
  51. const m_BadPicture = 1
  52. const m_BadPixmap = 4
  53. const m_BadRequest = 1
  54. const m_BadValue = 2
  55. const m_BadWindow = 3
  56. const m_Below = 1
  57. const m_BitmapFileInvalid = 2
  58. const m_BitmapNoMemory = 3
  59. const m_BitmapOpenFailed = 1
  60. const m_BitmapSuccess = 0
  61. const m_Bool = "int"
  62. const m_BottomIf = 3
  63. const m_Button1 = 1
  64. const m_Button2 = 2
  65. const m_Button3 = 3
  66. const m_Button4 = 4
  67. const m_Button5 = 5
  68. const m_ButtonPress = 4
  69. const m_ButtonRelease = 5
  70. const m_CLOCKS_PER_SEC = 1000000
  71. const m_CLOCK_BOOTTIME = 7
  72. const m_CLOCK_BOOTTIME_ALARM = 9
  73. const m_CLOCK_MONOTONIC = 1
  74. const m_CLOCK_MONOTONIC_COARSE = 6
  75. const m_CLOCK_MONOTONIC_RAW = 4
  76. const m_CLOCK_PROCESS_CPUTIME_ID = 2
  77. const m_CLOCK_REALTIME = 0
  78. const m_CLOCK_REALTIME_ALARM = 8
  79. const m_CLOCK_REALTIME_COARSE = 5
  80. const m_CLOCK_SGI_CYCLE = 10
  81. const m_CLOCK_TAI = 11
  82. const m_CLOCK_THREAD_CPUTIME_ID = 3
  83. const m_CLONE_CHILD_CLEARTID = 0x00200000
  84. const m_CLONE_CHILD_SETTID = 0x01000000
  85. const m_CLONE_DETACHED = 0x00400000
  86. const m_CLONE_FILES = 0x00000400
  87. const m_CLONE_FS = 0x00000200
  88. const m_CLONE_IO = 0x80000000
  89. const m_CLONE_NEWCGROUP = 0x02000000
  90. const m_CLONE_NEWIPC = 0x08000000
  91. const m_CLONE_NEWNET = 0x40000000
  92. const m_CLONE_NEWNS = 0x00020000
  93. const m_CLONE_NEWPID = 0x20000000
  94. const m_CLONE_NEWTIME = 0x00000080
  95. const m_CLONE_NEWUSER = 0x10000000
  96. const m_CLONE_NEWUTS = 0x04000000
  97. const m_CLONE_PARENT = 0x00008000
  98. const m_CLONE_PARENT_SETTID = 0x00100000
  99. const m_CLONE_PIDFD = 0x00001000
  100. const m_CLONE_PTRACE = 0x00002000
  101. const m_CLONE_SETTLS = 0x00080000
  102. const m_CLONE_SIGHAND = 0x00000800
  103. const m_CLONE_SYSVSEM = 0x00040000
  104. const m_CLONE_THREAD = 0x00010000
  105. const m_CLONE_UNTRACED = 0x00800000
  106. const m_CLONE_VFORK = 0x00004000
  107. const m_CLONE_VM = 0x00000100
  108. const m_CPLastBit = 12
  109. const m_CPU_SETSIZE = 1024
  110. const m_CSIGNAL = 0x000000ff
  111. const m_CURSORFONT = "cursor"
  112. const m_CapButt = 1
  113. const m_CapNotLast = 0
  114. const m_CapProjecting = 3
  115. const m_CapRound = 2
  116. const m_CenterGravity = 5
  117. const m_CirculateNotify = 26
  118. const m_CirculateRequest = 27
  119. const m_ClientMessage = 33
  120. const m_ClipByChildren = 0
  121. const m_ColormapInstalled = 1
  122. const m_ColormapNotify = 32
  123. const m_ColormapUninstalled = 0
  124. const m_Complex = 0
  125. const m_ConfigureNotify = 22
  126. const m_ConfigureRequest = 23
  127. const m_ControlMapIndex = 2
  128. const m_Convex = 2
  129. const m_CoordModeOrigin = 0
  130. const m_CoordModePrevious = 1
  131. const m_CopyFromParent = 0
  132. const m_CreateNotify = 16
  133. const m_CurrentTime = 0
  134. const m_CursorShape = 0
  135. const m_DefaultBlanking = 2
  136. const m_DefaultExposures = 2
  137. const m_DestroyAll = 0
  138. const m_DestroyNotify = 17
  139. const m_DirectColor = 5
  140. const m_DisableAccess = 0
  141. const m_DisableScreenInterval = 0
  142. const m_DisableScreenSaver = 0
  143. const m_DontAllowExposures = 0
  144. const m_DontCareState = 0
  145. const m_DontPreferBlanking = 0
  146. const m_E2BIG = 7
  147. const m_EACCES = 13
  148. const m_EADDRINUSE = 98
  149. const m_EADDRNOTAVAIL = 99
  150. const m_EADV = 68
  151. const m_EAFNOSUPPORT = 97
  152. const m_EAGAIN = 11
  153. const m_EALREADY = 114
  154. const m_EBADE = 52
  155. const m_EBADF = 9
  156. const m_EBADFD = 77
  157. const m_EBADMSG = 74
  158. const m_EBADR = 53
  159. const m_EBADRQC = 56
  160. const m_EBADSLT = 57
  161. const m_EBFONT = 59
  162. const m_EBUSY = 16
  163. const m_ECANCELED = 125
  164. const m_ECHILD = 10
  165. const m_ECHRNG = 44
  166. const m_ECOMM = 70
  167. const m_ECONNABORTED = 103
  168. const m_ECONNREFUSED = 111
  169. const m_ECONNRESET = 104
  170. const m_EDEADLK = 35
  171. const m_EDEADLOCK = "EDEADLK"
  172. const m_EDESTADDRREQ = 89
  173. const m_EDOM = 33
  174. const m_EDOTDOT = 73
  175. const m_EDQUOT = 122
  176. const m_EEXIST = 17
  177. const m_EFAULT = 14
  178. const m_EFBIG = 27
  179. const m_EHOSTDOWN = 112
  180. const m_EHOSTUNREACH = 113
  181. const m_EHWPOISON = 133
  182. const m_EIDRM = 43
  183. const m_EILSEQ = 84
  184. const m_EINPROGRESS = 115
  185. const m_EINTR = 4
  186. const m_EINVAL = 22
  187. const m_EIO = 5
  188. const m_EISCONN = 106
  189. const m_EISDIR = 21
  190. const m_EISNAM = 120
  191. const m_EKEYEXPIRED = 127
  192. const m_EKEYREJECTED = 129
  193. const m_EKEYREVOKED = 128
  194. const m_EL2HLT = 51
  195. const m_EL2NSYNC = 45
  196. const m_EL3HLT = 46
  197. const m_EL3RST = 47
  198. const m_ELIBACC = 79
  199. const m_ELIBBAD = 80
  200. const m_ELIBEXEC = 83
  201. const m_ELIBMAX = 82
  202. const m_ELIBSCN = 81
  203. const m_ELNRNG = 48
  204. const m_ELOOP = 40
  205. const m_EMEDIUMTYPE = 124
  206. const m_EMFILE = 24
  207. const m_EMLINK = 31
  208. const m_EMSGSIZE = 90
  209. const m_EMULTIHOP = 72
  210. const m_ENAMETOOLONG = 36
  211. const m_ENAVAIL = 119
  212. const m_ENETDOWN = 100
  213. const m_ENETRESET = 102
  214. const m_ENETUNREACH = 101
  215. const m_ENFILE = 23
  216. const m_ENOANO = 55
  217. const m_ENOBUFS = 105
  218. const m_ENOCSI = 50
  219. const m_ENODATA = 61
  220. const m_ENODEV = 19
  221. const m_ENOENT = 2
  222. const m_ENOEXEC = 8
  223. const m_ENOKEY = 126
  224. const m_ENOLCK = 37
  225. const m_ENOLINK = 67
  226. const m_ENOMEDIUM = 123
  227. const m_ENOMEM = 12
  228. const m_ENOMSG = 42
  229. const m_ENONET = 64
  230. const m_ENOPKG = 65
  231. const m_ENOPROTOOPT = 92
  232. const m_ENOSPC = 28
  233. const m_ENOSR = 63
  234. const m_ENOSTR = 60
  235. const m_ENOSYS = 38
  236. const m_ENOTBLK = 15
  237. const m_ENOTCONN = 107
  238. const m_ENOTDIR = 20
  239. const m_ENOTEMPTY = 39
  240. const m_ENOTNAM = 118
  241. const m_ENOTRECOVERABLE = 131
  242. const m_ENOTSOCK = 88
  243. const m_ENOTSUP = "EOPNOTSUPP"
  244. const m_ENOTTY = 25
  245. const m_ENOTUNIQ = 76
  246. const m_ENXIO = 6
  247. const m_EOPNOTSUPP = 95
  248. const m_EOVERFLOW = 75
  249. const m_EOWNERDEAD = 130
  250. const m_EPERM = 1
  251. const m_EPFNOSUPPORT = 96
  252. const m_EPIPE = 32
  253. const m_EPROTO = 71
  254. const m_EPROTONOSUPPORT = 93
  255. const m_EPROTOTYPE = 91
  256. const m_ERANGE = 34
  257. const m_EREMCHG = 78
  258. const m_EREMOTE = 66
  259. const m_EREMOTEIO = 121
  260. const m_ERESTART = 85
  261. const m_ERFKILL = 132
  262. const m_EROFS = 30
  263. const m_ESHUTDOWN = 108
  264. const m_ESOCKTNOSUPPORT = 94
  265. const m_ESPIPE = 29
  266. const m_ESRCH = 3
  267. const m_ESRMNT = 69
  268. const m_ESTALE = 116
  269. const m_ESTRPIPE = 86
  270. const m_ETIME = 62
  271. const m_ETIMEDOUT = 110
  272. const m_ETOOMANYREFS = 109
  273. const m_ETXTBSY = 26
  274. const m_EUCLEAN = 117
  275. const m_EUNATCH = 49
  276. const m_EUSERS = 87
  277. const m_EWOULDBLOCK = "EAGAIN"
  278. const m_EXDEV = 18
  279. const m_EXFULL = 54
  280. const m_EXIT_FAILURE = 1
  281. const m_EXIT_SUCCESS = 0
  282. const m_EastGravity = 6
  283. const m_EnableAccess = 1
  284. const m_EnterNotify = 7
  285. const m_EvenOddRule = 0
  286. const m_Expose = 12
  287. const m_FARCSPERBATCH = 256
  288. const m_FD_SETSIZE = 1024
  289. const m_FRCTSPERBATCH = 256
  290. const m_FUNCPROTO = 15
  291. const m_False = 0
  292. const m_FamilyChaos = 2
  293. const m_FamilyDECnet = 1
  294. const m_FamilyInternet = 0
  295. const m_FamilyInternet6 = 6
  296. const m_FamilyServerInterpreted = 5
  297. const m_FillOpaqueStippled = 3
  298. const m_FillSolid = 0
  299. const m_FillStippled = 2
  300. const m_FillTiled = 1
  301. const m_FilterBest = "best"
  302. const m_FilterBilinear = "bilinear"
  303. const m_FilterConvolution = "convolution"
  304. const m_FilterFast = "fast"
  305. const m_FilterGood = "good"
  306. const m_FilterNearest = "nearest"
  307. const m_FirstExtensionError = 128
  308. const m_FocusIn = 9
  309. const m_FocusOut = 10
  310. const m_FontChange = 255
  311. const m_FontLeftToRight = 0
  312. const m_FontRightToLeft = 1
  313. const m_ForgetGravity = 0
  314. const m_GCLastBit = 22
  315. const m_GXand = 0x1
  316. const m_GXandInverted = 0x4
  317. const m_GXandReverse = 0x2
  318. const m_GXclear = 0x0
  319. const m_GXcopy = 0x3
  320. const m_GXcopyInverted = 0xc
  321. const m_GXequiv = 0x9
  322. const m_GXinvert = 0xa
  323. const m_GXnand = 0xe
  324. const m_GXnoop = 0x5
  325. const m_GXnor = 0x8
  326. const m_GXor = 0x7
  327. const m_GXorInverted = 0xd
  328. const m_GXorReverse = 0xb
  329. const m_GXset = 0xf
  330. const m_GXxor = 0x6
  331. const m_GenericEvent = 35
  332. const m_GrabFrozen = 4
  333. const m_GrabInvalidTime = 2
  334. const m_GrabModeAsync = 1
  335. const m_GrabModeSync = 0
  336. const m_GrabNotViewable = 3
  337. const m_GrabSuccess = 0
  338. const m_GraphicsExpose = 13
  339. const m_GravityNotify = 24
  340. const m_GrayScale = 1
  341. const m_HAVE_CONFIG_H = 1
  342. const m_HAVE_DLFCN_H = 1
  343. const m_HAVE_INTTYPES_H = 1
  344. const m_HAVE_MEMORY_H = 1
  345. const m_HAVE_STDINT_H = 1
  346. const m_HAVE_STDLIB_H = 1
  347. const m_HAVE_STRINGS_H = 1
  348. const m_HAVE_STRING_H = 1
  349. const m_HAVE_SYS_STAT_H = 1
  350. const m_HAVE_SYS_TYPES_H = 1
  351. const m_HAVE_UNISTD_H = 1
  352. const m_HeightValue = 0x0008
  353. const m_HostDelete = 1
  354. const m_HostInsert = 0
  355. const m_INT16_MAX = 0x7fff
  356. const m_INT32_MAX = 0x7fffffff
  357. const m_INT64_MAX = 0x7fffffffffffffff
  358. const m_INT8_MAX = 0x7f
  359. const m_INTMAX_MAX = "INT64_MAX"
  360. const m_INTMAX_MIN = "INT64_MIN"
  361. const m_INTPTR_MAX = "INT32_MAX"
  362. const m_INTPTR_MIN = "INT32_MIN"
  363. const m_INT_FAST16_MAX = "INT32_MAX"
  364. const m_INT_FAST16_MIN = "INT32_MIN"
  365. const m_INT_FAST32_MAX = "INT32_MAX"
  366. const m_INT_FAST32_MIN = "INT32_MIN"
  367. const m_INT_FAST64_MAX = "INT64_MAX"
  368. const m_INT_FAST64_MIN = "INT64_MIN"
  369. const m_INT_FAST8_MAX = "INT8_MAX"
  370. const m_INT_FAST8_MIN = "INT8_MIN"
  371. const m_INT_LEAST16_MAX = "INT16_MAX"
  372. const m_INT_LEAST16_MIN = "INT16_MIN"
  373. const m_INT_LEAST32_MAX = "INT32_MAX"
  374. const m_INT_LEAST32_MIN = "INT32_MIN"
  375. const m_INT_LEAST64_MAX = "INT64_MAX"
  376. const m_INT_LEAST64_MIN = "INT64_MIN"
  377. const m_INT_LEAST8_MAX = "INT8_MAX"
  378. const m_INT_LEAST8_MIN = "INT8_MIN"
  379. const m_IconicState = 3
  380. const m_InactiveState = 4
  381. const m_IncludeInferiors = 1
  382. const m_InputFocus = 1
  383. const m_InputOnly = 2
  384. const m_InputOutput = 1
  385. const m_IsUnmapped = 0
  386. const m_IsUnviewable = 1
  387. const m_IsViewable = 2
  388. const m_JoinBevel = 2
  389. const m_JoinMiter = 0
  390. const m_JoinRound = 1
  391. const m_KeyPress = 2
  392. const m_KeyRelease = 3
  393. const m_KeymapNotify = 11
  394. const m_LASTEvent = 36
  395. const m_LITTLE_ENDIAN = "__LITTLE_ENDIAN"
  396. const m_LOCKED = 1
  397. const m_LSBFirst = 0
  398. const m_LT_OBJDIR = ".libs/"
  399. const m_LastExtensionError = 255
  400. const m_LeaveNotify = 8
  401. const m_LedModeOff = 0
  402. const m_LedModeOn = 1
  403. const m_LineDoubleDash = 2
  404. const m_LineOnOffDash = 1
  405. const m_LineSolid = 0
  406. const m_LockMapIndex = 1
  407. const m_LowerHighest = 1
  408. const m_MALLOC_0_RETURNS_NULL = 1
  409. const m_MSBFirst = 1
  410. const m_MapNotify = 19
  411. const m_MapRequest = 20
  412. const m_MappingBusy = 1
  413. const m_MappingFailed = 2
  414. const m_MappingKeyboard = 1
  415. const m_MappingModifier = 0
  416. const m_MappingNotify = 34
  417. const m_MappingPointer = 2
  418. const m_MappingSuccess = 0
  419. const m_Mod1MapIndex = 3
  420. const m_Mod2MapIndex = 4
  421. const m_Mod3MapIndex = 5
  422. const m_Mod4MapIndex = 6
  423. const m_Mod5MapIndex = 7
  424. const m_MotionNotify = 6
  425. const m_NDEBUG = 1
  426. const m_NLOCAL = 256
  427. const m_NeedFunctionPrototypes = 1
  428. const m_NeedNestedPrototypes = 1
  429. const m_NeedVarargsPrototypes = 1
  430. const m_NeedWidePrototypes = 0
  431. const m_NoEventMask = 0
  432. const m_NoExpose = 14
  433. const m_NoSymbol = 0
  434. const m_NoValue = 0x0000
  435. const m_Nonconvex = 1
  436. const m_None = 0
  437. const m_NormalState = 1
  438. const m_NorthEastGravity = 3
  439. const m_NorthGravity = 2
  440. const m_NorthWestGravity = 1
  441. const m_NotUseful = 0
  442. const m_NotifyAncestor = 0
  443. const m_NotifyDetailNone = 7
  444. const m_NotifyGrab = 1
  445. const m_NotifyHint = 1
  446. const m_NotifyInferior = 2
  447. const m_NotifyNonlinear = 3
  448. const m_NotifyNonlinearVirtual = 4
  449. const m_NotifyNormal = 0
  450. const m_NotifyPointer = 5
  451. const m_NotifyPointerRoot = 6
  452. const m_NotifyUngrab = 2
  453. const m_NotifyVirtual = 1
  454. const m_NotifyWhileGrabbed = 3
  455. const m_Opposite = 4
  456. const m_PACKAGE = "libXrender"
  457. const m_PACKAGE_BUGREPORT = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
  458. const m_PACKAGE_NAME = "libXrender"
  459. const m_PACKAGE_STRING = "libXrender 0.9.10"
  460. const m_PACKAGE_TARNAME = "libXrender"
  461. const m_PACKAGE_URL = ""
  462. const m_PACKAGE_VERSION = "0.9.10"
  463. const m_PACKAGE_VERSION_MAJOR = 0
  464. const m_PACKAGE_VERSION_MINOR = 9
  465. const m_PACKAGE_VERSION_PATCHLEVEL = 10
  466. const m_PDP_ENDIAN = "__PDP_ENDIAN"
  467. const m_PTHREAD_CANCEL_ASYNCHRONOUS = 1
  468. const m_PTHREAD_CANCEL_DEFERRED = 0
  469. const m_PTHREAD_CANCEL_DISABLE = 1
  470. const m_PTHREAD_CANCEL_ENABLE = 0
  471. const m_PTHREAD_CANCEL_MASKED = 2
  472. const m_PTHREAD_CREATE_DETACHED = 1
  473. const m_PTHREAD_CREATE_JOINABLE = 0
  474. const m_PTHREAD_EXPLICIT_SCHED = 1
  475. const m_PTHREAD_INHERIT_SCHED = 0
  476. const m_PTHREAD_MUTEX_DEFAULT = 0
  477. const m_PTHREAD_MUTEX_ERRORCHECK = 2
  478. const m_PTHREAD_MUTEX_NORMAL = 0
  479. const m_PTHREAD_MUTEX_RECURSIVE = 1
  480. const m_PTHREAD_MUTEX_ROBUST = 1
  481. const m_PTHREAD_MUTEX_STALLED = 0
  482. const m_PTHREAD_ONCE_INIT = 0
  483. const m_PTHREAD_PRIO_INHERIT = 1
  484. const m_PTHREAD_PRIO_NONE = 0
  485. const m_PTHREAD_PRIO_PROTECT = 2
  486. const m_PTHREAD_PROCESS_PRIVATE = 0
  487. const m_PTHREAD_PROCESS_SHARED = 1
  488. const m_PTHREAD_SCOPE_PROCESS = 1
  489. const m_PTHREAD_SCOPE_SYSTEM = 0
  490. const m_PTRDIFF_MAX = "INT32_MAX"
  491. const m_PTRDIFF_MIN = "INT32_MIN"
  492. const m_PTSPERBATCH = 1024
  493. const m_ParentRelative = 1
  494. const m_PictOpAdd = 12
  495. const m_PictOpAtop = 9
  496. const m_PictOpAtopReverse = 10
  497. const m_PictOpBlendMaximum = 0x3e
  498. const m_PictOpBlendMinimum = 0x30
  499. const m_PictOpClear = 0
  500. const m_PictOpColorBurn = 0x36
  501. const m_PictOpColorDodge = 0x35
  502. const m_PictOpConjointAtop = 0x29
  503. const m_PictOpConjointAtopReverse = 0x2a
  504. const m_PictOpConjointClear = 0x20
  505. const m_PictOpConjointDst = 0x22
  506. const m_PictOpConjointIn = 0x25
  507. const m_PictOpConjointInReverse = 0x26
  508. const m_PictOpConjointMaximum = 0x2b
  509. const m_PictOpConjointMinimum = 0x20
  510. const m_PictOpConjointOut = 0x27
  511. const m_PictOpConjointOutReverse = 0x28
  512. const m_PictOpConjointOver = 0x23
  513. const m_PictOpConjointOverReverse = 0x24
  514. const m_PictOpConjointSrc = 0x21
  515. const m_PictOpConjointXor = 0x2b
  516. const m_PictOpDarken = 0x33
  517. const m_PictOpDifference = 0x39
  518. const m_PictOpDisjointAtop = 0x19
  519. const m_PictOpDisjointAtopReverse = 0x1a
  520. const m_PictOpDisjointClear = 0x10
  521. const m_PictOpDisjointDst = 0x12
  522. const m_PictOpDisjointIn = 0x15
  523. const m_PictOpDisjointInReverse = 0x16
  524. const m_PictOpDisjointMaximum = 0x1b
  525. const m_PictOpDisjointMinimum = 0x10
  526. const m_PictOpDisjointOut = 0x17
  527. const m_PictOpDisjointOutReverse = 0x18
  528. const m_PictOpDisjointOver = 0x13
  529. const m_PictOpDisjointOverReverse = 0x14
  530. const m_PictOpDisjointSrc = 0x11
  531. const m_PictOpDisjointXor = 0x1b
  532. const m_PictOpDst = 2
  533. const m_PictOpExclusion = 0x3a
  534. const m_PictOpHSLColor = 0x3d
  535. const m_PictOpHSLHue = 0x3b
  536. const m_PictOpHSLLuminosity = 0x3e
  537. const m_PictOpHSLSaturation = 0x3c
  538. const m_PictOpHardLight = 0x37
  539. const m_PictOpIn = 5
  540. const m_PictOpInReverse = 6
  541. const m_PictOpLighten = 0x34
  542. const m_PictOpMaximum = 13
  543. const m_PictOpMinimum = 0
  544. const m_PictOpMultiply = 0x30
  545. const m_PictOpOut = 7
  546. const m_PictOpOutReverse = 8
  547. const m_PictOpOver = 3
  548. const m_PictOpOverReverse = 4
  549. const m_PictOpOverlay = 0x32
  550. const m_PictOpSaturate = 13
  551. const m_PictOpScreen = 0x31
  552. const m_PictOpSoftLight = 0x38
  553. const m_PictOpSrc = 1
  554. const m_PictOpXor = 11
  555. const m_PictStandardA1 = 4
  556. const m_PictStandardA4 = 3
  557. const m_PictStandardA8 = 2
  558. const m_PictStandardARGB32 = 0
  559. const m_PictStandardNUM = 5
  560. const m_PictStandardRGB24 = 1
  561. const m_PictTypeDirect = 1
  562. const m_PictTypeIndexed = 0
  563. const m_PlaceOnBottom = 1
  564. const m_PlaceOnTop = 0
  565. const m_PointerRoot = 1
  566. const m_PointerWindow = 0
  567. const m_PolyEdgeSharp = 0
  568. const m_PolyEdgeSmooth = 1
  569. const m_PolyModeImprecise = 1
  570. const m_PolyModePrecise = 0
  571. const m_PreferBlanking = 1
  572. const m_PropModeAppend = 2
  573. const m_PropModePrepend = 1
  574. const m_PropModeReplace = 0
  575. const m_PropertyDelete = 1
  576. const m_PropertyNewValue = 0
  577. const m_PropertyNotify = 28
  578. const m_PseudoColor = 3
  579. const m_QueuedAfterFlush = 2
  580. const m_QueuedAfterReading = 1
  581. const m_QueuedAlready = 0
  582. const m_RAND_MAX = 0x7fffffff
  583. const m_RENDER_MAJOR = 0
  584. const m_RENDER_MINOR = 11
  585. const m_RENDER_NAME = "RENDER"
  586. const m_RaiseLowest = 0
  587. const m_RectangleIn = 1
  588. const m_RectangleOut = 0
  589. const m_RectanglePart = 2
  590. const m_ReparentNotify = 21
  591. const m_RepeatNone = 0
  592. const m_RepeatNormal = 1
  593. const m_RepeatPad = 2
  594. const m_RepeatReflect = 3
  595. const m_ReplayKeyboard = 5
  596. const m_ReplayPointer = 2
  597. const m_ResizeRequest = 25
  598. const m_RetainPermanent = 1
  599. const m_RetainTemporary = 2
  600. const m_RevertToParent = 2
  601. const m_SCHED_BATCH = 3
  602. const m_SCHED_DEADLINE = 6
  603. const m_SCHED_FIFO = 1
  604. const m_SCHED_IDLE = 5
  605. const m_SCHED_OTHER = 0
  606. const m_SCHED_RESET_ON_FORK = 0x40000000
  607. const m_SCHED_RR = 2
  608. const m_SIG_ATOMIC_MAX = "INT32_MAX"
  609. const m_SIG_ATOMIC_MIN = "INT32_MIN"
  610. const m_SIZE_MAX = "UINT32_MAX"
  611. const m_STDC_HEADERS = 1
  612. const m_ScreenSaverActive = 1
  613. const m_ScreenSaverReset = 0
  614. const m_SelectionClear = 29
  615. const m_SelectionNotify = 31
  616. const m_SelectionRequest = 30
  617. const m_SetModeDelete = 1
  618. const m_SetModeInsert = 0
  619. const m_ShiftMapIndex = 0
  620. const m_SouthEastGravity = 9
  621. const m_SouthGravity = 8
  622. const m_SouthWestGravity = 7
  623. const m_StaticColor = 2
  624. const m_StaticGravity = 10
  625. const m_StaticGray = 0
  626. const m_Status = "int"
  627. const m_StippleShape = 2
  628. const m_SubPixelHorizontalBGR = 2
  629. const m_SubPixelHorizontalRGB = 1
  630. const m_SubPixelNone = 5
  631. const m_SubPixelUnknown = 0
  632. const m_SubPixelVerticalBGR = 4
  633. const m_SubPixelVerticalRGB = 3
  634. const m_Success = 0
  635. const m_SyncBoth = 7
  636. const m_SyncKeyboard = 4
  637. const m_SyncPointer = 1
  638. const m_TIMER_ABSTIME = 1
  639. const m_TIME_UTC = 1
  640. const m_TileShape = 1
  641. const m_TopIf = 2
  642. const m_True = 1
  643. const m_TrueColor = 4
  644. const m_UINT16_MAX = 0xffff
  645. const m_UINT32_MAX = "0xffffffffu"
  646. const m_UINT64_MAX = "0xffffffffffffffffu"
  647. const m_UINT8_MAX = 0xff
  648. const m_UINTMAX_MAX = "UINT64_MAX"
  649. const m_UINTPTR_MAX = "UINT32_MAX"
  650. const m_UINT_FAST16_MAX = "UINT32_MAX"
  651. const m_UINT_FAST32_MAX = "UINT32_MAX"
  652. const m_UINT_FAST64_MAX = "UINT64_MAX"
  653. const m_UINT_FAST8_MAX = "UINT8_MAX"
  654. const m_UINT_LEAST16_MAX = "UINT16_MAX"
  655. const m_UINT_LEAST32_MAX = "UINT32_MAX"
  656. const m_UINT_LEAST64_MAX = "UINT64_MAX"
  657. const m_UINT_LEAST8_MAX = "UINT8_MAX"
  658. const m_UNLOCKED = 0
  659. const m_UnmapGravity = 0
  660. const m_UnmapNotify = 18
  661. const m_Unsorted = 0
  662. const m_VERSION = "0.9.10"
  663. const m_VisibilityFullyObscured = 2
  664. const m_VisibilityNotify = 15
  665. const m_VisibilityPartiallyObscured = 1
  666. const m_VisibilityUnobscured = 0
  667. const m_VisualAllMask = 0x1FF
  668. const m_VisualBitsPerRGBMask = 0x100
  669. const m_VisualBlueMaskMask = 0x40
  670. const m_VisualClassMask = 0x8
  671. const m_VisualColormapSizeMask = 0x80
  672. const m_VisualDepthMask = 0x4
  673. const m_VisualGreenMaskMask = 0x20
  674. const m_VisualIDMask = 0x1
  675. const m_VisualNoMask = 0x0
  676. const m_VisualRedMaskMask = 0x10
  677. const m_VisualScreenMask = 0x2
  678. const m_WINT_MAX = "UINT32_MAX"
  679. const m_WINT_MIN = 0
  680. const m_WLNSPERBATCH = 50
  681. const m_WNOHANG = 1
  682. const m_WRCTSPERBATCH = 10
  683. const m_WUNTRACED = 2
  684. const m_WestGravity = 4
  685. const m_WhenMapped = 1
  686. const m_WidthValue = 0x0004
  687. const m_WindingRule = 1
  688. const m_WithdrawnState = 0
  689. const m_XCNOENT = 2
  690. const m_XCNOMEM = 1
  691. const m_XCSUCCESS = 0
  692. const m_XIMHotKeyStateOFF = 0x0002
  693. const m_XIMHotKeyStateON = 0x0001
  694. const m_XIMInitialState = 1
  695. const m_XIMPreeditArea = 0x0001
  696. const m_XIMPreeditCallbacks = 0x0002
  697. const m_XIMPreeditEnable = 1
  698. const m_XIMPreeditNone = 0x0010
  699. const m_XIMPreeditNothing = 0x0008
  700. const m_XIMPreeditPosition = 0x0004
  701. const m_XIMPreeditUnKnown = 0
  702. const m_XIMReverse = 1
  703. const m_XIMStatusArea = 0x0100
  704. const m_XIMStatusCallbacks = 0x0200
  705. const m_XIMStatusNone = 0x0800
  706. const m_XIMStatusNothing = 0x0400
  707. const m_XIMStringConversionBottomEdge = 0x00000008
  708. const m_XIMStringConversionBuffer = 0x0001
  709. const m_XIMStringConversionChar = 0x0004
  710. const m_XIMStringConversionConcealed = 0x00000010
  711. const m_XIMStringConversionLeftEdge = 0x00000001
  712. const m_XIMStringConversionLine = 0x0002
  713. const m_XIMStringConversionRetrieval = 0x0002
  714. const m_XIMStringConversionRightEdge = 0x00000002
  715. const m_XIMStringConversionSubstitution = 0x0001
  716. const m_XIMStringConversionTopEdge = 0x00000004
  717. const m_XIMStringConversionWord = 0x0003
  718. const m_XIMStringConversionWrapped = 0x00000020
  719. const m_XK_0 = 0x0030
  720. const m_XK_1 = 0x0031
  721. const m_XK_2 = 0x0032
  722. const m_XK_3 = 0x0033
  723. const m_XK_4 = 0x0034
  724. const m_XK_5 = 0x0035
  725. const m_XK_6 = 0x0036
  726. const m_XK_7 = 0x0037
  727. const m_XK_8 = 0x0038
  728. const m_XK_9 = 0x0039
  729. const m_XK_A = 0x0041
  730. const m_XK_AE = 0x00c6
  731. const m_XK_Aacute = 0x00c1
  732. const m_XK_Abelowdot = 0x1001ea0
  733. const m_XK_Abreve = 0x01c3
  734. const m_XK_Abreveacute = 0x1001eae
  735. const m_XK_Abrevebelowdot = 0x1001eb6
  736. const m_XK_Abrevegrave = 0x1001eb0
  737. const m_XK_Abrevehook = 0x1001eb2
  738. const m_XK_Abrevetilde = 0x1001eb4
  739. const m_XK_AccessX_Enable = 0xfe70
  740. const m_XK_AccessX_Feedback_Enable = 0xfe71
  741. const m_XK_Acircumflex = 0x00c2
  742. const m_XK_Acircumflexacute = 0x1001ea4
  743. const m_XK_Acircumflexbelowdot = 0x1001eac
  744. const m_XK_Acircumflexgrave = 0x1001ea6
  745. const m_XK_Acircumflexhook = 0x1001ea8
  746. const m_XK_Acircumflextilde = 0x1001eaa
  747. const m_XK_Adiaeresis = 0x00c4
  748. const m_XK_Agrave = 0x00c0
  749. const m_XK_Ahook = 0x1001ea2
  750. const m_XK_Alt_L = 0xffe9
  751. const m_XK_Alt_R = 0xffea
  752. const m_XK_Amacron = 0x03c0
  753. const m_XK_Aogonek = 0x01a1
  754. const m_XK_Arabic_0 = 0x1000660
  755. const m_XK_Arabic_1 = 0x1000661
  756. const m_XK_Arabic_2 = 0x1000662
  757. const m_XK_Arabic_3 = 0x1000663
  758. const m_XK_Arabic_4 = 0x1000664
  759. const m_XK_Arabic_5 = 0x1000665
  760. const m_XK_Arabic_6 = 0x1000666
  761. const m_XK_Arabic_7 = 0x1000667
  762. const m_XK_Arabic_8 = 0x1000668
  763. const m_XK_Arabic_9 = 0x1000669
  764. const m_XK_Arabic_ain = 0x05d9
  765. const m_XK_Arabic_alef = 0x05c7
  766. const m_XK_Arabic_alefmaksura = 0x05e9
  767. const m_XK_Arabic_beh = 0x05c8
  768. const m_XK_Arabic_comma = 0x05ac
  769. const m_XK_Arabic_dad = 0x05d6
  770. const m_XK_Arabic_dal = 0x05cf
  771. const m_XK_Arabic_damma = 0x05ef
  772. const m_XK_Arabic_dammatan = 0x05ec
  773. const m_XK_Arabic_ddal = 0x1000688
  774. const m_XK_Arabic_farsi_yeh = 0x10006cc
  775. const m_XK_Arabic_fatha = 0x05ee
  776. const m_XK_Arabic_fathatan = 0x05eb
  777. const m_XK_Arabic_feh = 0x05e1
  778. const m_XK_Arabic_fullstop = 0x10006d4
  779. const m_XK_Arabic_gaf = 0x10006af
  780. const m_XK_Arabic_ghain = 0x05da
  781. const m_XK_Arabic_ha = 0x05e7
  782. const m_XK_Arabic_hah = 0x05cd
  783. const m_XK_Arabic_hamza = 0x05c1
  784. const m_XK_Arabic_hamza_above = 0x1000654
  785. const m_XK_Arabic_hamza_below = 0x1000655
  786. const m_XK_Arabic_hamzaonalef = 0x05c3
  787. const m_XK_Arabic_hamzaonwaw = 0x05c4
  788. const m_XK_Arabic_hamzaonyeh = 0x05c6
  789. const m_XK_Arabic_hamzaunderalef = 0x05c5
  790. const m_XK_Arabic_heh = 0x05e7
  791. const m_XK_Arabic_heh_doachashmee = 0x10006be
  792. const m_XK_Arabic_heh_goal = 0x10006c1
  793. const m_XK_Arabic_jeem = 0x05cc
  794. const m_XK_Arabic_jeh = 0x1000698
  795. const m_XK_Arabic_kaf = 0x05e3
  796. const m_XK_Arabic_kasra = 0x05f0
  797. const m_XK_Arabic_kasratan = 0x05ed
  798. const m_XK_Arabic_keheh = 0x10006a9
  799. const m_XK_Arabic_khah = 0x05ce
  800. const m_XK_Arabic_lam = 0x05e4
  801. const m_XK_Arabic_madda_above = 0x1000653
  802. const m_XK_Arabic_maddaonalef = 0x05c2
  803. const m_XK_Arabic_meem = 0x05e5
  804. const m_XK_Arabic_noon = 0x05e6
  805. const m_XK_Arabic_noon_ghunna = 0x10006ba
  806. const m_XK_Arabic_peh = 0x100067e
  807. const m_XK_Arabic_percent = 0x100066a
  808. const m_XK_Arabic_qaf = 0x05e2
  809. const m_XK_Arabic_question_mark = 0x05bf
  810. const m_XK_Arabic_ra = 0x05d1
  811. const m_XK_Arabic_rreh = 0x1000691
  812. const m_XK_Arabic_sad = 0x05d5
  813. const m_XK_Arabic_seen = 0x05d3
  814. const m_XK_Arabic_semicolon = 0x05bb
  815. const m_XK_Arabic_shadda = 0x05f1
  816. const m_XK_Arabic_sheen = 0x05d4
  817. const m_XK_Arabic_sukun = 0x05f2
  818. const m_XK_Arabic_superscript_alef = 0x1000670
  819. const m_XK_Arabic_switch = 0xff7e
  820. const m_XK_Arabic_tah = 0x05d7
  821. const m_XK_Arabic_tatweel = 0x05e0
  822. const m_XK_Arabic_tcheh = 0x1000686
  823. const m_XK_Arabic_teh = 0x05ca
  824. const m_XK_Arabic_tehmarbuta = 0x05c9
  825. const m_XK_Arabic_thal = 0x05d0
  826. const m_XK_Arabic_theh = 0x05cb
  827. const m_XK_Arabic_tteh = 0x1000679
  828. const m_XK_Arabic_veh = 0x10006a4
  829. const m_XK_Arabic_waw = 0x05e8
  830. const m_XK_Arabic_yeh = 0x05ea
  831. const m_XK_Arabic_yeh_baree = 0x10006d2
  832. const m_XK_Arabic_zah = 0x05d8
  833. const m_XK_Arabic_zain = 0x05d2
  834. const m_XK_Aring = 0x00c5
  835. const m_XK_Armenian_AT = 0x1000538
  836. const m_XK_Armenian_AYB = 0x1000531
  837. const m_XK_Armenian_BEN = 0x1000532
  838. const m_XK_Armenian_CHA = 0x1000549
  839. const m_XK_Armenian_DA = 0x1000534
  840. const m_XK_Armenian_DZA = 0x1000541
  841. const m_XK_Armenian_E = 0x1000537
  842. const m_XK_Armenian_FE = 0x1000556
  843. const m_XK_Armenian_GHAT = 0x1000542
  844. const m_XK_Armenian_GIM = 0x1000533
  845. const m_XK_Armenian_HI = 0x1000545
  846. const m_XK_Armenian_HO = 0x1000540
  847. const m_XK_Armenian_INI = 0x100053b
  848. const m_XK_Armenian_JE = 0x100054b
  849. const m_XK_Armenian_KE = 0x1000554
  850. const m_XK_Armenian_KEN = 0x100053f
  851. const m_XK_Armenian_KHE = 0x100053d
  852. const m_XK_Armenian_LYUN = 0x100053c
  853. const m_XK_Armenian_MEN = 0x1000544
  854. const m_XK_Armenian_NU = 0x1000546
  855. const m_XK_Armenian_O = 0x1000555
  856. const m_XK_Armenian_PE = 0x100054a
  857. const m_XK_Armenian_PYUR = 0x1000553
  858. const m_XK_Armenian_RA = 0x100054c
  859. const m_XK_Armenian_RE = 0x1000550
  860. const m_XK_Armenian_SE = 0x100054d
  861. const m_XK_Armenian_SHA = 0x1000547
  862. const m_XK_Armenian_TCHE = 0x1000543
  863. const m_XK_Armenian_TO = 0x1000539
  864. const m_XK_Armenian_TSA = 0x100053e
  865. const m_XK_Armenian_TSO = 0x1000551
  866. const m_XK_Armenian_TYUN = 0x100054f
  867. const m_XK_Armenian_VEV = 0x100054e
  868. const m_XK_Armenian_VO = 0x1000548
  869. const m_XK_Armenian_VYUN = 0x1000552
  870. const m_XK_Armenian_YECH = 0x1000535
  871. const m_XK_Armenian_ZA = 0x1000536
  872. const m_XK_Armenian_ZHE = 0x100053a
  873. const m_XK_Armenian_accent = 0x100055b
  874. const m_XK_Armenian_amanak = 0x100055c
  875. const m_XK_Armenian_apostrophe = 0x100055a
  876. const m_XK_Armenian_at = 0x1000568
  877. const m_XK_Armenian_ayb = 0x1000561
  878. const m_XK_Armenian_ben = 0x1000562
  879. const m_XK_Armenian_but = 0x100055d
  880. const m_XK_Armenian_cha = 0x1000579
  881. const m_XK_Armenian_da = 0x1000564
  882. const m_XK_Armenian_dza = 0x1000571
  883. const m_XK_Armenian_e = 0x1000567
  884. const m_XK_Armenian_exclam = 0x100055c
  885. const m_XK_Armenian_fe = 0x1000586
  886. const m_XK_Armenian_full_stop = 0x1000589
  887. const m_XK_Armenian_ghat = 0x1000572
  888. const m_XK_Armenian_gim = 0x1000563
  889. const m_XK_Armenian_hi = 0x1000575
  890. const m_XK_Armenian_ho = 0x1000570
  891. const m_XK_Armenian_hyphen = 0x100058a
  892. const m_XK_Armenian_ini = 0x100056b
  893. const m_XK_Armenian_je = 0x100057b
  894. const m_XK_Armenian_ke = 0x1000584
  895. const m_XK_Armenian_ken = 0x100056f
  896. const m_XK_Armenian_khe = 0x100056d
  897. const m_XK_Armenian_ligature_ew = 0x1000587
  898. const m_XK_Armenian_lyun = 0x100056c
  899. const m_XK_Armenian_men = 0x1000574
  900. const m_XK_Armenian_nu = 0x1000576
  901. const m_XK_Armenian_o = 0x1000585
  902. const m_XK_Armenian_paruyk = 0x100055e
  903. const m_XK_Armenian_pe = 0x100057a
  904. const m_XK_Armenian_pyur = 0x1000583
  905. const m_XK_Armenian_question = 0x100055e
  906. const m_XK_Armenian_ra = 0x100057c
  907. const m_XK_Armenian_re = 0x1000580
  908. const m_XK_Armenian_se = 0x100057d
  909. const m_XK_Armenian_separation_mark = 0x100055d
  910. const m_XK_Armenian_sha = 0x1000577
  911. const m_XK_Armenian_shesht = 0x100055b
  912. const m_XK_Armenian_tche = 0x1000573
  913. const m_XK_Armenian_to = 0x1000569
  914. const m_XK_Armenian_tsa = 0x100056e
  915. const m_XK_Armenian_tso = 0x1000581
  916. const m_XK_Armenian_tyun = 0x100057f
  917. const m_XK_Armenian_verjaket = 0x1000589
  918. const m_XK_Armenian_vev = 0x100057e
  919. const m_XK_Armenian_vo = 0x1000578
  920. const m_XK_Armenian_vyun = 0x1000582
  921. const m_XK_Armenian_yech = 0x1000565
  922. const m_XK_Armenian_yentamna = 0x100058a
  923. const m_XK_Armenian_za = 0x1000566
  924. const m_XK_Armenian_zhe = 0x100056a
  925. const m_XK_Atilde = 0x00c3
  926. const m_XK_AudibleBell_Enable = 0xfe7a
  927. const m_XK_B = 0x0042
  928. const m_XK_Babovedot = 0x1001e02
  929. const m_XK_BackSpace = 0xff08
  930. const m_XK_Begin = 0xff58
  931. const m_XK_BounceKeys_Enable = 0xfe74
  932. const m_XK_Break = 0xff6b
  933. const m_XK_Byelorussian_SHORTU = 0x06be
  934. const m_XK_Byelorussian_shortu = 0x06ae
  935. const m_XK_C = 0x0043
  936. const m_XK_CH = 0xfea2
  937. const m_XK_C_H = 0xfea5
  938. const m_XK_C_h = 0xfea4
  939. const m_XK_Cabovedot = 0x02c5
  940. const m_XK_Cacute = 0x01c6
  941. const m_XK_Cancel = 0xff69
  942. const m_XK_Caps_Lock = 0xffe5
  943. const m_XK_Ccaron = 0x01c8
  944. const m_XK_Ccedilla = 0x00c7
  945. const m_XK_Ccircumflex = 0x02c6
  946. const m_XK_Ch = 0xfea1
  947. const m_XK_Clear = 0xff0b
  948. const m_XK_Codeinput = 0xff37
  949. const m_XK_ColonSign = 0x10020a1
  950. const m_XK_Control_L = 0xffe3
  951. const m_XK_Control_R = 0xffe4
  952. const m_XK_CruzeiroSign = 0x10020a2
  953. const m_XK_Cyrillic_A = 0x06e1
  954. const m_XK_Cyrillic_BE = 0x06e2
  955. const m_XK_Cyrillic_CHE = 0x06fe
  956. const m_XK_Cyrillic_CHE_descender = 0x10004b6
  957. const m_XK_Cyrillic_CHE_vertstroke = 0x10004b8
  958. const m_XK_Cyrillic_DE = 0x06e4
  959. const m_XK_Cyrillic_DZHE = 0x06bf
  960. const m_XK_Cyrillic_E = 0x06fc
  961. const m_XK_Cyrillic_EF = 0x06e6
  962. const m_XK_Cyrillic_EL = 0x06ec
  963. const m_XK_Cyrillic_EM = 0x06ed
  964. const m_XK_Cyrillic_EN = 0x06ee
  965. const m_XK_Cyrillic_EN_descender = 0x10004a2
  966. const m_XK_Cyrillic_ER = 0x06f2
  967. const m_XK_Cyrillic_ES = 0x06f3
  968. const m_XK_Cyrillic_GHE = 0x06e7
  969. const m_XK_Cyrillic_GHE_bar = 0x1000492
  970. const m_XK_Cyrillic_HA = 0x06e8
  971. const m_XK_Cyrillic_HARDSIGN = 0x06ff
  972. const m_XK_Cyrillic_HA_descender = 0x10004b2
  973. const m_XK_Cyrillic_I = 0x06e9
  974. const m_XK_Cyrillic_IE = 0x06e5
  975. const m_XK_Cyrillic_IO = 0x06b3
  976. const m_XK_Cyrillic_I_macron = 0x10004e2
  977. const m_XK_Cyrillic_JE = 0x06b8
  978. const m_XK_Cyrillic_KA = 0x06eb
  979. const m_XK_Cyrillic_KA_descender = 0x100049a
  980. const m_XK_Cyrillic_KA_vertstroke = 0x100049c
  981. const m_XK_Cyrillic_LJE = 0x06b9
  982. const m_XK_Cyrillic_NJE = 0x06ba
  983. const m_XK_Cyrillic_O = 0x06ef
  984. const m_XK_Cyrillic_O_bar = 0x10004e8
  985. const m_XK_Cyrillic_PE = 0x06f0
  986. const m_XK_Cyrillic_SCHWA = 0x10004d8
  987. const m_XK_Cyrillic_SHA = 0x06fb
  988. const m_XK_Cyrillic_SHCHA = 0x06fd
  989. const m_XK_Cyrillic_SHHA = 0x10004ba
  990. const m_XK_Cyrillic_SHORTI = 0x06ea
  991. const m_XK_Cyrillic_SOFTSIGN = 0x06f8
  992. const m_XK_Cyrillic_TE = 0x06f4
  993. const m_XK_Cyrillic_TSE = 0x06e3
  994. const m_XK_Cyrillic_U = 0x06f5
  995. const m_XK_Cyrillic_U_macron = 0x10004ee
  996. const m_XK_Cyrillic_U_straight = 0x10004ae
  997. const m_XK_Cyrillic_U_straight_bar = 0x10004b0
  998. const m_XK_Cyrillic_VE = 0x06f7
  999. const m_XK_Cyrillic_YA = 0x06f1
  1000. const m_XK_Cyrillic_YERU = 0x06f9
  1001. const m_XK_Cyrillic_YU = 0x06e0
  1002. const m_XK_Cyrillic_ZE = 0x06fa
  1003. const m_XK_Cyrillic_ZHE = 0x06f6
  1004. const m_XK_Cyrillic_ZHE_descender = 0x1000496
  1005. const m_XK_Cyrillic_a = 0x06c1
  1006. const m_XK_Cyrillic_be = 0x06c2
  1007. const m_XK_Cyrillic_che = 0x06de
  1008. const m_XK_Cyrillic_che_descender = 0x10004b7
  1009. const m_XK_Cyrillic_che_vertstroke = 0x10004b9
  1010. const m_XK_Cyrillic_de = 0x06c4
  1011. const m_XK_Cyrillic_dzhe = 0x06af
  1012. const m_XK_Cyrillic_e = 0x06dc
  1013. const m_XK_Cyrillic_ef = 0x06c6
  1014. const m_XK_Cyrillic_el = 0x06cc
  1015. const m_XK_Cyrillic_em = 0x06cd
  1016. const m_XK_Cyrillic_en = 0x06ce
  1017. const m_XK_Cyrillic_en_descender = 0x10004a3
  1018. const m_XK_Cyrillic_er = 0x06d2
  1019. const m_XK_Cyrillic_es = 0x06d3
  1020. const m_XK_Cyrillic_ghe = 0x06c7
  1021. const m_XK_Cyrillic_ghe_bar = 0x1000493
  1022. const m_XK_Cyrillic_ha = 0x06c8
  1023. const m_XK_Cyrillic_ha_descender = 0x10004b3
  1024. const m_XK_Cyrillic_hardsign = 0x06df
  1025. const m_XK_Cyrillic_i = 0x06c9
  1026. const m_XK_Cyrillic_i_macron = 0x10004e3
  1027. const m_XK_Cyrillic_ie = 0x06c5
  1028. const m_XK_Cyrillic_io = 0x06a3
  1029. const m_XK_Cyrillic_je = 0x06a8
  1030. const m_XK_Cyrillic_ka = 0x06cb
  1031. const m_XK_Cyrillic_ka_descender = 0x100049b
  1032. const m_XK_Cyrillic_ka_vertstroke = 0x100049d
  1033. const m_XK_Cyrillic_lje = 0x06a9
  1034. const m_XK_Cyrillic_nje = 0x06aa
  1035. const m_XK_Cyrillic_o = 0x06cf
  1036. const m_XK_Cyrillic_o_bar = 0x10004e9
  1037. const m_XK_Cyrillic_pe = 0x06d0
  1038. const m_XK_Cyrillic_schwa = 0x10004d9
  1039. const m_XK_Cyrillic_sha = 0x06db
  1040. const m_XK_Cyrillic_shcha = 0x06dd
  1041. const m_XK_Cyrillic_shha = 0x10004bb
  1042. const m_XK_Cyrillic_shorti = 0x06ca
  1043. const m_XK_Cyrillic_softsign = 0x06d8
  1044. const m_XK_Cyrillic_te = 0x06d4
  1045. const m_XK_Cyrillic_tse = 0x06c3
  1046. const m_XK_Cyrillic_u = 0x06d5
  1047. const m_XK_Cyrillic_u_macron = 0x10004ef
  1048. const m_XK_Cyrillic_u_straight = 0x10004af
  1049. const m_XK_Cyrillic_u_straight_bar = 0x10004b1
  1050. const m_XK_Cyrillic_ve = 0x06d7
  1051. const m_XK_Cyrillic_ya = 0x06d1
  1052. const m_XK_Cyrillic_yeru = 0x06d9
  1053. const m_XK_Cyrillic_yu = 0x06c0
  1054. const m_XK_Cyrillic_ze = 0x06da
  1055. const m_XK_Cyrillic_zhe = 0x06d6
  1056. const m_XK_Cyrillic_zhe_descender = 0x1000497
  1057. const m_XK_D = 0x0044
  1058. const m_XK_Dabovedot = 0x1001e0a
  1059. const m_XK_Dcaron = 0x01cf
  1060. const m_XK_Delete = 0xffff
  1061. const m_XK_DongSign = 0x10020ab
  1062. const m_XK_Down = 0xff54
  1063. const m_XK_Dstroke = 0x01d0
  1064. const m_XK_E = 0x0045
  1065. const m_XK_ENG = 0x03bd
  1066. const m_XK_ETH = 0x00d0
  1067. const m_XK_EZH = 0x10001b7
  1068. const m_XK_Eabovedot = 0x03cc
  1069. const m_XK_Eacute = 0x00c9
  1070. const m_XK_Ebelowdot = 0x1001eb8
  1071. const m_XK_Ecaron = 0x01cc
  1072. const m_XK_Ecircumflex = 0x00ca
  1073. const m_XK_Ecircumflexacute = 0x1001ebe
  1074. const m_XK_Ecircumflexbelowdot = 0x1001ec6
  1075. const m_XK_Ecircumflexgrave = 0x1001ec0
  1076. const m_XK_Ecircumflexhook = 0x1001ec2
  1077. const m_XK_Ecircumflextilde = 0x1001ec4
  1078. const m_XK_EcuSign = 0x10020a0
  1079. const m_XK_Ediaeresis = 0x00cb
  1080. const m_XK_Egrave = 0x00c8
  1081. const m_XK_Ehook = 0x1001eba
  1082. const m_XK_Eisu_Shift = 0xff2f
  1083. const m_XK_Eisu_toggle = 0xff30
  1084. const m_XK_Emacron = 0x03aa
  1085. const m_XK_End = 0xff57
  1086. const m_XK_Eogonek = 0x01ca
  1087. const m_XK_Escape = 0xff1b
  1088. const m_XK_Eth = 0x00d0
  1089. const m_XK_Etilde = 0x1001ebc
  1090. const m_XK_EuroSign = 0x20ac
  1091. const m_XK_Execute = 0xff62
  1092. const m_XK_F = 0x0046
  1093. const m_XK_F1 = 0xffbe
  1094. const m_XK_F10 = 0xffc7
  1095. const m_XK_F11 = 0xffc8
  1096. const m_XK_F12 = 0xffc9
  1097. const m_XK_F13 = 0xffca
  1098. const m_XK_F14 = 0xffcb
  1099. const m_XK_F15 = 0xffcc
  1100. const m_XK_F16 = 0xffcd
  1101. const m_XK_F17 = 0xffce
  1102. const m_XK_F18 = 0xffcf
  1103. const m_XK_F19 = 0xffd0
  1104. const m_XK_F2 = 0xffbf
  1105. const m_XK_F20 = 0xffd1
  1106. const m_XK_F21 = 0xffd2
  1107. const m_XK_F22 = 0xffd3
  1108. const m_XK_F23 = 0xffd4
  1109. const m_XK_F24 = 0xffd5
  1110. const m_XK_F25 = 0xffd6
  1111. const m_XK_F26 = 0xffd7
  1112. const m_XK_F27 = 0xffd8
  1113. const m_XK_F28 = 0xffd9
  1114. const m_XK_F29 = 0xffda
  1115. const m_XK_F3 = 0xffc0
  1116. const m_XK_F30 = 0xffdb
  1117. const m_XK_F31 = 0xffdc
  1118. const m_XK_F32 = 0xffdd
  1119. const m_XK_F33 = 0xffde
  1120. const m_XK_F34 = 0xffdf
  1121. const m_XK_F35 = 0xffe0
  1122. const m_XK_F4 = 0xffc1
  1123. const m_XK_F5 = 0xffc2
  1124. const m_XK_F6 = 0xffc3
  1125. const m_XK_F7 = 0xffc4
  1126. const m_XK_F8 = 0xffc5
  1127. const m_XK_F9 = 0xffc6
  1128. const m_XK_FFrancSign = 0x10020a3
  1129. const m_XK_Fabovedot = 0x1001e1e
  1130. const m_XK_Farsi_0 = 0x10006f0
  1131. const m_XK_Farsi_1 = 0x10006f1
  1132. const m_XK_Farsi_2 = 0x10006f2
  1133. const m_XK_Farsi_3 = 0x10006f3
  1134. const m_XK_Farsi_4 = 0x10006f4
  1135. const m_XK_Farsi_5 = 0x10006f5
  1136. const m_XK_Farsi_6 = 0x10006f6
  1137. const m_XK_Farsi_7 = 0x10006f7
  1138. const m_XK_Farsi_8 = 0x10006f8
  1139. const m_XK_Farsi_9 = 0x10006f9
  1140. const m_XK_Farsi_yeh = 0x10006cc
  1141. const m_XK_Find = 0xff68
  1142. const m_XK_First_Virtual_Screen = 0xfed0
  1143. const m_XK_G = 0x0047
  1144. const m_XK_Gabovedot = 0x02d5
  1145. const m_XK_Gbreve = 0x02ab
  1146. const m_XK_Gcaron = 0x10001e6
  1147. const m_XK_Gcedilla = 0x03ab
  1148. const m_XK_Gcircumflex = 0x02d8
  1149. const m_XK_Georgian_an = 0x10010d0
  1150. const m_XK_Georgian_ban = 0x10010d1
  1151. const m_XK_Georgian_can = 0x10010ea
  1152. const m_XK_Georgian_char = 0x10010ed
  1153. const m_XK_Georgian_chin = 0x10010e9
  1154. const m_XK_Georgian_cil = 0x10010ec
  1155. const m_XK_Georgian_don = 0x10010d3
  1156. const m_XK_Georgian_en = 0x10010d4
  1157. const m_XK_Georgian_fi = 0x10010f6
  1158. const m_XK_Georgian_gan = 0x10010d2
  1159. const m_XK_Georgian_ghan = 0x10010e6
  1160. const m_XK_Georgian_hae = 0x10010f0
  1161. const m_XK_Georgian_har = 0x10010f4
  1162. const m_XK_Georgian_he = 0x10010f1
  1163. const m_XK_Georgian_hie = 0x10010f2
  1164. const m_XK_Georgian_hoe = 0x10010f5
  1165. const m_XK_Georgian_in = 0x10010d8
  1166. const m_XK_Georgian_jhan = 0x10010ef
  1167. const m_XK_Georgian_jil = 0x10010eb
  1168. const m_XK_Georgian_kan = 0x10010d9
  1169. const m_XK_Georgian_khar = 0x10010e5
  1170. const m_XK_Georgian_las = 0x10010da
  1171. const m_XK_Georgian_man = 0x10010db
  1172. const m_XK_Georgian_nar = 0x10010dc
  1173. const m_XK_Georgian_on = 0x10010dd
  1174. const m_XK_Georgian_par = 0x10010de
  1175. const m_XK_Georgian_phar = 0x10010e4
  1176. const m_XK_Georgian_qar = 0x10010e7
  1177. const m_XK_Georgian_rae = 0x10010e0
  1178. const m_XK_Georgian_san = 0x10010e1
  1179. const m_XK_Georgian_shin = 0x10010e8
  1180. const m_XK_Georgian_tan = 0x10010d7
  1181. const m_XK_Georgian_tar = 0x10010e2
  1182. const m_XK_Georgian_un = 0x10010e3
  1183. const m_XK_Georgian_vin = 0x10010d5
  1184. const m_XK_Georgian_we = 0x10010f3
  1185. const m_XK_Georgian_xan = 0x10010ee
  1186. const m_XK_Georgian_zen = 0x10010d6
  1187. const m_XK_Georgian_zhar = 0x10010df
  1188. const m_XK_Greek_ALPHA = 0x07c1
  1189. const m_XK_Greek_ALPHAaccent = 0x07a1
  1190. const m_XK_Greek_BETA = 0x07c2
  1191. const m_XK_Greek_CHI = 0x07d7
  1192. const m_XK_Greek_DELTA = 0x07c4
  1193. const m_XK_Greek_EPSILON = 0x07c5
  1194. const m_XK_Greek_EPSILONaccent = 0x07a2
  1195. const m_XK_Greek_ETA = 0x07c7
  1196. const m_XK_Greek_ETAaccent = 0x07a3
  1197. const m_XK_Greek_GAMMA = 0x07c3
  1198. const m_XK_Greek_IOTA = 0x07c9
  1199. const m_XK_Greek_IOTAaccent = 0x07a4
  1200. const m_XK_Greek_IOTAdiaeresis = 0x07a5
  1201. const m_XK_Greek_IOTAdieresis = 0x07a5
  1202. const m_XK_Greek_KAPPA = 0x07ca
  1203. const m_XK_Greek_LAMBDA = 0x07cb
  1204. const m_XK_Greek_LAMDA = 0x07cb
  1205. const m_XK_Greek_MU = 0x07cc
  1206. const m_XK_Greek_NU = 0x07cd
  1207. const m_XK_Greek_OMEGA = 0x07d9
  1208. const m_XK_Greek_OMEGAaccent = 0x07ab
  1209. const m_XK_Greek_OMICRON = 0x07cf
  1210. const m_XK_Greek_OMICRONaccent = 0x07a7
  1211. const m_XK_Greek_PHI = 0x07d6
  1212. const m_XK_Greek_PI = 0x07d0
  1213. const m_XK_Greek_PSI = 0x07d8
  1214. const m_XK_Greek_RHO = 0x07d1
  1215. const m_XK_Greek_SIGMA = 0x07d2
  1216. const m_XK_Greek_TAU = 0x07d4
  1217. const m_XK_Greek_THETA = 0x07c8
  1218. const m_XK_Greek_UPSILON = 0x07d5
  1219. const m_XK_Greek_UPSILONaccent = 0x07a8
  1220. const m_XK_Greek_UPSILONdieresis = 0x07a9
  1221. const m_XK_Greek_XI = 0x07ce
  1222. const m_XK_Greek_ZETA = 0x07c6
  1223. const m_XK_Greek_accentdieresis = 0x07ae
  1224. const m_XK_Greek_alpha = 0x07e1
  1225. const m_XK_Greek_alphaaccent = 0x07b1
  1226. const m_XK_Greek_beta = 0x07e2
  1227. const m_XK_Greek_chi = 0x07f7
  1228. const m_XK_Greek_delta = 0x07e4
  1229. const m_XK_Greek_epsilon = 0x07e5
  1230. const m_XK_Greek_epsilonaccent = 0x07b2
  1231. const m_XK_Greek_eta = 0x07e7
  1232. const m_XK_Greek_etaaccent = 0x07b3
  1233. const m_XK_Greek_finalsmallsigma = 0x07f3
  1234. const m_XK_Greek_gamma = 0x07e3
  1235. const m_XK_Greek_horizbar = 0x07af
  1236. const m_XK_Greek_iota = 0x07e9
  1237. const m_XK_Greek_iotaaccent = 0x07b4
  1238. const m_XK_Greek_iotaaccentdieresis = 0x07b6
  1239. const m_XK_Greek_iotadieresis = 0x07b5
  1240. const m_XK_Greek_kappa = 0x07ea
  1241. const m_XK_Greek_lambda = 0x07eb
  1242. const m_XK_Greek_lamda = 0x07eb
  1243. const m_XK_Greek_mu = 0x07ec
  1244. const m_XK_Greek_nu = 0x07ed
  1245. const m_XK_Greek_omega = 0x07f9
  1246. const m_XK_Greek_omegaaccent = 0x07bb
  1247. const m_XK_Greek_omicron = 0x07ef
  1248. const m_XK_Greek_omicronaccent = 0x07b7
  1249. const m_XK_Greek_phi = 0x07f6
  1250. const m_XK_Greek_pi = 0x07f0
  1251. const m_XK_Greek_psi = 0x07f8
  1252. const m_XK_Greek_rho = 0x07f1
  1253. const m_XK_Greek_sigma = 0x07f2
  1254. const m_XK_Greek_switch = 0xff7e
  1255. const m_XK_Greek_tau = 0x07f4
  1256. const m_XK_Greek_theta = 0x07e8
  1257. const m_XK_Greek_upsilon = 0x07f5
  1258. const m_XK_Greek_upsilonaccent = 0x07b8
  1259. const m_XK_Greek_upsilonaccentdieresis = 0x07ba
  1260. const m_XK_Greek_upsilondieresis = 0x07b9
  1261. const m_XK_Greek_xi = 0x07ee
  1262. const m_XK_Greek_zeta = 0x07e6
  1263. const m_XK_H = 0x0048
  1264. const m_XK_Hangul = 0xff31
  1265. const m_XK_Hangul_A = 0x0ebf
  1266. const m_XK_Hangul_AE = 0x0ec0
  1267. const m_XK_Hangul_AraeA = 0x0ef6
  1268. const m_XK_Hangul_AraeAE = 0x0ef7
  1269. const m_XK_Hangul_Banja = 0xff39
  1270. const m_XK_Hangul_Cieuc = 0x0eba
  1271. const m_XK_Hangul_Codeinput = 0xff37
  1272. const m_XK_Hangul_Dikeud = 0x0ea7
  1273. const m_XK_Hangul_E = 0x0ec4
  1274. const m_XK_Hangul_EO = 0x0ec3
  1275. const m_XK_Hangul_EU = 0x0ed1
  1276. const m_XK_Hangul_End = 0xff33
  1277. const m_XK_Hangul_Hanja = 0xff34
  1278. const m_XK_Hangul_Hieuh = 0x0ebe
  1279. const m_XK_Hangul_I = 0x0ed3
  1280. const m_XK_Hangul_Ieung = 0x0eb7
  1281. const m_XK_Hangul_J_Cieuc = 0x0eea
  1282. const m_XK_Hangul_J_Dikeud = 0x0eda
  1283. const m_XK_Hangul_J_Hieuh = 0x0eee
  1284. const m_XK_Hangul_J_Ieung = 0x0ee8
  1285. const m_XK_Hangul_J_Jieuj = 0x0ee9
  1286. const m_XK_Hangul_J_Khieuq = 0x0eeb
  1287. const m_XK_Hangul_J_Kiyeog = 0x0ed4
  1288. const m_XK_Hangul_J_KiyeogSios = 0x0ed6
  1289. const m_XK_Hangul_J_KkogjiDalrinIeung = 0x0ef9
  1290. const m_XK_Hangul_J_Mieum = 0x0ee3
  1291. const m_XK_Hangul_J_Nieun = 0x0ed7
  1292. const m_XK_Hangul_J_NieunHieuh = 0x0ed9
  1293. const m_XK_Hangul_J_NieunJieuj = 0x0ed8
  1294. const m_XK_Hangul_J_PanSios = 0x0ef8
  1295. const m_XK_Hangul_J_Phieuf = 0x0eed
  1296. const m_XK_Hangul_J_Pieub = 0x0ee4
  1297. const m_XK_Hangul_J_PieubSios = 0x0ee5
  1298. const m_XK_Hangul_J_Rieul = 0x0edb
  1299. const m_XK_Hangul_J_RieulHieuh = 0x0ee2
  1300. const m_XK_Hangul_J_RieulKiyeog = 0x0edc
  1301. const m_XK_Hangul_J_RieulMieum = 0x0edd
  1302. const m_XK_Hangul_J_RieulPhieuf = 0x0ee1
  1303. const m_XK_Hangul_J_RieulPieub = 0x0ede
  1304. const m_XK_Hangul_J_RieulSios = 0x0edf
  1305. const m_XK_Hangul_J_RieulTieut = 0x0ee0
  1306. const m_XK_Hangul_J_Sios = 0x0ee6
  1307. const m_XK_Hangul_J_SsangKiyeog = 0x0ed5
  1308. const m_XK_Hangul_J_SsangSios = 0x0ee7
  1309. const m_XK_Hangul_J_Tieut = 0x0eec
  1310. const m_XK_Hangul_J_YeorinHieuh = 0x0efa
  1311. const m_XK_Hangul_Jamo = 0xff35
  1312. const m_XK_Hangul_Jeonja = 0xff38
  1313. const m_XK_Hangul_Jieuj = 0x0eb8
  1314. const m_XK_Hangul_Khieuq = 0x0ebb
  1315. const m_XK_Hangul_Kiyeog = 0x0ea1
  1316. const m_XK_Hangul_KiyeogSios = 0x0ea3
  1317. const m_XK_Hangul_KkogjiDalrinIeung = 0x0ef3
  1318. const m_XK_Hangul_Mieum = 0x0eb1
  1319. const m_XK_Hangul_MultipleCandidate = 0xff3d
  1320. const m_XK_Hangul_Nieun = 0x0ea4
  1321. const m_XK_Hangul_NieunHieuh = 0x0ea6
  1322. const m_XK_Hangul_NieunJieuj = 0x0ea5
  1323. const m_XK_Hangul_O = 0x0ec7
  1324. const m_XK_Hangul_OE = 0x0eca
  1325. const m_XK_Hangul_PanSios = 0x0ef2
  1326. const m_XK_Hangul_Phieuf = 0x0ebd
  1327. const m_XK_Hangul_Pieub = 0x0eb2
  1328. const m_XK_Hangul_PieubSios = 0x0eb4
  1329. const m_XK_Hangul_PostHanja = 0xff3b
  1330. const m_XK_Hangul_PreHanja = 0xff3a
  1331. const m_XK_Hangul_PreviousCandidate = 0xff3e
  1332. const m_XK_Hangul_Rieul = 0x0ea9
  1333. const m_XK_Hangul_RieulHieuh = 0x0eb0
  1334. const m_XK_Hangul_RieulKiyeog = 0x0eaa
  1335. const m_XK_Hangul_RieulMieum = 0x0eab
  1336. const m_XK_Hangul_RieulPhieuf = 0x0eaf
  1337. const m_XK_Hangul_RieulPieub = 0x0eac
  1338. const m_XK_Hangul_RieulSios = 0x0ead
  1339. const m_XK_Hangul_RieulTieut = 0x0eae
  1340. const m_XK_Hangul_RieulYeorinHieuh = 0x0eef
  1341. const m_XK_Hangul_Romaja = 0xff36
  1342. const m_XK_Hangul_SingleCandidate = 0xff3c
  1343. const m_XK_Hangul_Sios = 0x0eb5
  1344. const m_XK_Hangul_Special = 0xff3f
  1345. const m_XK_Hangul_SsangDikeud = 0x0ea8
  1346. const m_XK_Hangul_SsangJieuj = 0x0eb9
  1347. const m_XK_Hangul_SsangKiyeog = 0x0ea2
  1348. const m_XK_Hangul_SsangPieub = 0x0eb3
  1349. const m_XK_Hangul_SsangSios = 0x0eb6
  1350. const m_XK_Hangul_Start = 0xff32
  1351. const m_XK_Hangul_SunkyeongeumMieum = 0x0ef0
  1352. const m_XK_Hangul_SunkyeongeumPhieuf = 0x0ef4
  1353. const m_XK_Hangul_SunkyeongeumPieub = 0x0ef1
  1354. const m_XK_Hangul_Tieut = 0x0ebc
  1355. const m_XK_Hangul_U = 0x0ecc
  1356. const m_XK_Hangul_WA = 0x0ec8
  1357. const m_XK_Hangul_WAE = 0x0ec9
  1358. const m_XK_Hangul_WE = 0x0ece
  1359. const m_XK_Hangul_WEO = 0x0ecd
  1360. const m_XK_Hangul_WI = 0x0ecf
  1361. const m_XK_Hangul_YA = 0x0ec1
  1362. const m_XK_Hangul_YAE = 0x0ec2
  1363. const m_XK_Hangul_YE = 0x0ec6
  1364. const m_XK_Hangul_YEO = 0x0ec5
  1365. const m_XK_Hangul_YI = 0x0ed2
  1366. const m_XK_Hangul_YO = 0x0ecb
  1367. const m_XK_Hangul_YU = 0x0ed0
  1368. const m_XK_Hangul_YeorinHieuh = 0x0ef5
  1369. const m_XK_Hangul_switch = 0xff7e
  1370. const m_XK_Hankaku = 0xff29
  1371. const m_XK_Hcircumflex = 0x02a6
  1372. const m_XK_Hebrew_switch = 0xff7e
  1373. const m_XK_Help = 0xff6a
  1374. const m_XK_Henkan = 0xff23
  1375. const m_XK_Henkan_Mode = 0xff23
  1376. const m_XK_Hiragana = 0xff25
  1377. const m_XK_Hiragana_Katakana = 0xff27
  1378. const m_XK_Home = 0xff50
  1379. const m_XK_Hstroke = 0x02a1
  1380. const m_XK_Hyper_L = 0xffed
  1381. const m_XK_Hyper_R = 0xffee
  1382. const m_XK_I = 0x0049
  1383. const m_XK_ISO_Center_Object = 0xfe33
  1384. const m_XK_ISO_Continuous_Underline = 0xfe30
  1385. const m_XK_ISO_Discontinuous_Underline = 0xfe31
  1386. const m_XK_ISO_Emphasize = 0xfe32
  1387. const m_XK_ISO_Enter = 0xfe34
  1388. const m_XK_ISO_Fast_Cursor_Down = 0xfe2f
  1389. const m_XK_ISO_Fast_Cursor_Left = 0xfe2c
  1390. const m_XK_ISO_Fast_Cursor_Right = 0xfe2d
  1391. const m_XK_ISO_Fast_Cursor_Up = 0xfe2e
  1392. const m_XK_ISO_First_Group = 0xfe0c
  1393. const m_XK_ISO_First_Group_Lock = 0xfe0d
  1394. const m_XK_ISO_Group_Latch = 0xfe06
  1395. const m_XK_ISO_Group_Lock = 0xfe07
  1396. const m_XK_ISO_Group_Shift = 0xff7e
  1397. const m_XK_ISO_Last_Group = 0xfe0e
  1398. const m_XK_ISO_Last_Group_Lock = 0xfe0f
  1399. const m_XK_ISO_Left_Tab = 0xfe20
  1400. const m_XK_ISO_Level2_Latch = 0xfe02
  1401. const m_XK_ISO_Level3_Latch = 0xfe04
  1402. const m_XK_ISO_Level3_Lock = 0xfe05
  1403. const m_XK_ISO_Level3_Shift = 0xfe03
  1404. const m_XK_ISO_Level5_Latch = 0xfe12
  1405. const m_XK_ISO_Level5_Lock = 0xfe13
  1406. const m_XK_ISO_Level5_Shift = 0xfe11
  1407. const m_XK_ISO_Lock = 0xfe01
  1408. const m_XK_ISO_Move_Line_Down = 0xfe22
  1409. const m_XK_ISO_Move_Line_Up = 0xfe21
  1410. const m_XK_ISO_Next_Group = 0xfe08
  1411. const m_XK_ISO_Next_Group_Lock = 0xfe09
  1412. const m_XK_ISO_Partial_Line_Down = 0xfe24
  1413. const m_XK_ISO_Partial_Line_Up = 0xfe23
  1414. const m_XK_ISO_Partial_Space_Left = 0xfe25
  1415. const m_XK_ISO_Partial_Space_Right = 0xfe26
  1416. const m_XK_ISO_Prev_Group = 0xfe0a
  1417. const m_XK_ISO_Prev_Group_Lock = 0xfe0b
  1418. const m_XK_ISO_Release_Both_Margins = 0xfe2b
  1419. const m_XK_ISO_Release_Margin_Left = 0xfe29
  1420. const m_XK_ISO_Release_Margin_Right = 0xfe2a
  1421. const m_XK_ISO_Set_Margin_Left = 0xfe27
  1422. const m_XK_ISO_Set_Margin_Right = 0xfe28
  1423. const m_XK_Iabovedot = 0x02a9
  1424. const m_XK_Iacute = 0x00cd
  1425. const m_XK_Ibelowdot = 0x1001eca
  1426. const m_XK_Ibreve = 0x100012c
  1427. const m_XK_Icircumflex = 0x00ce
  1428. const m_XK_Idiaeresis = 0x00cf
  1429. const m_XK_Igrave = 0x00cc
  1430. const m_XK_Ihook = 0x1001ec8
  1431. const m_XK_Imacron = 0x03cf
  1432. const m_XK_Insert = 0xff63
  1433. const m_XK_Iogonek = 0x03c7
  1434. const m_XK_Itilde = 0x03a5
  1435. const m_XK_J = 0x004a
  1436. const m_XK_Jcircumflex = 0x02ac
  1437. const m_XK_K = 0x004b
  1438. const m_XK_KP_0 = 0xffb0
  1439. const m_XK_KP_1 = 0xffb1
  1440. const m_XK_KP_2 = 0xffb2
  1441. const m_XK_KP_3 = 0xffb3
  1442. const m_XK_KP_4 = 0xffb4
  1443. const m_XK_KP_5 = 0xffb5
  1444. const m_XK_KP_6 = 0xffb6
  1445. const m_XK_KP_7 = 0xffb7
  1446. const m_XK_KP_8 = 0xffb8
  1447. const m_XK_KP_9 = 0xffb9
  1448. const m_XK_KP_Add = 0xffab
  1449. const m_XK_KP_Begin = 0xff9d
  1450. const m_XK_KP_Decimal = 0xffae
  1451. const m_XK_KP_Delete = 0xff9f
  1452. const m_XK_KP_Divide = 0xffaf
  1453. const m_XK_KP_Down = 0xff99
  1454. const m_XK_KP_End = 0xff9c
  1455. const m_XK_KP_Enter = 0xff8d
  1456. const m_XK_KP_Equal = 0xffbd
  1457. const m_XK_KP_F1 = 0xff91
  1458. const m_XK_KP_F2 = 0xff92
  1459. const m_XK_KP_F3 = 0xff93
  1460. const m_XK_KP_F4 = 0xff94
  1461. const m_XK_KP_Home = 0xff95
  1462. const m_XK_KP_Insert = 0xff9e
  1463. const m_XK_KP_Left = 0xff96
  1464. const m_XK_KP_Multiply = 0xffaa
  1465. const m_XK_KP_Next = 0xff9b
  1466. const m_XK_KP_Page_Down = 0xff9b
  1467. const m_XK_KP_Page_Up = 0xff9a
  1468. const m_XK_KP_Prior = 0xff9a
  1469. const m_XK_KP_Right = 0xff98
  1470. const m_XK_KP_Separator = 0xffac
  1471. const m_XK_KP_Space = 0xff80
  1472. const m_XK_KP_Subtract = 0xffad
  1473. const m_XK_KP_Tab = 0xff89
  1474. const m_XK_KP_Up = 0xff97
  1475. const m_XK_Kana_Lock = 0xff2d
  1476. const m_XK_Kana_Shift = 0xff2e
  1477. const m_XK_Kanji = 0xff21
  1478. const m_XK_Kanji_Bangou = 0xff37
  1479. const m_XK_Katakana = 0xff26
  1480. const m_XK_Kcedilla = 0x03d3
  1481. const m_XK_Korean_Won = 0x0eff
  1482. const m_XK_L = 0x004c
  1483. const m_XK_L1 = 0xffc8
  1484. const m_XK_L10 = 0xffd1
  1485. const m_XK_L2 = 0xffc9
  1486. const m_XK_L3 = 0xffca
  1487. const m_XK_L4 = 0xffcb
  1488. const m_XK_L5 = 0xffcc
  1489. const m_XK_L6 = 0xffcd
  1490. const m_XK_L7 = 0xffce
  1491. const m_XK_L8 = 0xffcf
  1492. const m_XK_L9 = 0xffd0
  1493. const m_XK_Lacute = 0x01c5
  1494. const m_XK_Last_Virtual_Screen = 0xfed4
  1495. const m_XK_Lbelowdot = 0x1001e36
  1496. const m_XK_Lcaron = 0x01a5
  1497. const m_XK_Lcedilla = 0x03a6
  1498. const m_XK_Left = 0xff51
  1499. const m_XK_Linefeed = 0xff0a
  1500. const m_XK_LiraSign = 0x10020a4
  1501. const m_XK_Lstroke = 0x01a3
  1502. const m_XK_M = 0x004d
  1503. const m_XK_Mabovedot = 0x1001e40
  1504. const m_XK_Macedonia_DSE = 0x06b5
  1505. const m_XK_Macedonia_GJE = 0x06b2
  1506. const m_XK_Macedonia_KJE = 0x06bc
  1507. const m_XK_Macedonia_dse = 0x06a5
  1508. const m_XK_Macedonia_gje = 0x06a2
  1509. const m_XK_Macedonia_kje = 0x06ac
  1510. const m_XK_Mae_Koho = 0xff3e
  1511. const m_XK_Massyo = 0xff2c
  1512. const m_XK_Menu = 0xff67
  1513. const m_XK_Meta_L = 0xffe7
  1514. const m_XK_Meta_R = 0xffe8
  1515. const m_XK_MillSign = 0x10020a5
  1516. const m_XK_Mode_switch = 0xff7e
  1517. const m_XK_MouseKeys_Accel_Enable = 0xfe77
  1518. const m_XK_MouseKeys_Enable = 0xfe76
  1519. const m_XK_Muhenkan = 0xff22
  1520. const m_XK_Multi_key = 0xff20
  1521. const m_XK_MultipleCandidate = 0xff3d
  1522. const m_XK_N = 0x004e
  1523. const m_XK_Nacute = 0x01d1
  1524. const m_XK_NairaSign = 0x10020a6
  1525. const m_XK_Ncaron = 0x01d2
  1526. const m_XK_Ncedilla = 0x03d1
  1527. const m_XK_NewSheqelSign = 0x10020aa
  1528. const m_XK_Next = 0xff56
  1529. const m_XK_Next_Virtual_Screen = 0xfed2
  1530. const m_XK_Ntilde = 0x00d1
  1531. const m_XK_Num_Lock = 0xff7f
  1532. const m_XK_O = 0x004f
  1533. const m_XK_OE = 0x13bc
  1534. const m_XK_Oacute = 0x00d3
  1535. const m_XK_Obarred = 0x100019f
  1536. const m_XK_Obelowdot = 0x1001ecc
  1537. const m_XK_Ocaron = 0x10001d1
  1538. const m_XK_Ocircumflex = 0x00d4
  1539. const m_XK_Ocircumflexacute = 0x1001ed0
  1540. const m_XK_Ocircumflexbelowdot = 0x1001ed8
  1541. const m_XK_Ocircumflexgrave = 0x1001ed2
  1542. const m_XK_Ocircumflexhook = 0x1001ed4
  1543. const m_XK_Ocircumflextilde = 0x1001ed6
  1544. const m_XK_Odiaeresis = 0x00d6
  1545. const m_XK_Odoubleacute = 0x01d5
  1546. const m_XK_Ograve = 0x00d2
  1547. const m_XK_Ohook = 0x1001ece
  1548. const m_XK_Ohorn = 0x10001a0
  1549. const m_XK_Ohornacute = 0x1001eda
  1550. const m_XK_Ohornbelowdot = 0x1001ee2
  1551. const m_XK_Ohorngrave = 0x1001edc
  1552. const m_XK_Ohornhook = 0x1001ede
  1553. const m_XK_Ohorntilde = 0x1001ee0
  1554. const m_XK_Omacron = 0x03d2
  1555. const m_XK_Ooblique = 0x00d8
  1556. const m_XK_Oslash = 0x00d8
  1557. const m_XK_Otilde = 0x00d5
  1558. const m_XK_Overlay1_Enable = 0xfe78
  1559. const m_XK_Overlay2_Enable = 0xfe79
  1560. const m_XK_P = 0x0050
  1561. const m_XK_Pabovedot = 0x1001e56
  1562. const m_XK_Page_Down = 0xff56
  1563. const m_XK_Page_Up = 0xff55
  1564. const m_XK_Pause = 0xff13
  1565. const m_XK_PesetaSign = 0x10020a7
  1566. const m_XK_Pointer_Accelerate = 0xfefa
  1567. const m_XK_Pointer_Button1 = 0xfee9
  1568. const m_XK_Pointer_Button2 = 0xfeea
  1569. const m_XK_Pointer_Button3 = 0xfeeb
  1570. const m_XK_Pointer_Button4 = 0xfeec
  1571. const m_XK_Pointer_Button5 = 0xfeed
  1572. const m_XK_Pointer_Button_Dflt = 0xfee8
  1573. const m_XK_Pointer_DblClick1 = 0xfeef
  1574. const m_XK_Pointer_DblClick2 = 0xfef0
  1575. const m_XK_Pointer_DblClick3 = 0xfef1
  1576. const m_XK_Pointer_DblClick4 = 0xfef2
  1577. const m_XK_Pointer_DblClick5 = 0xfef3
  1578. const m_XK_Pointer_DblClick_Dflt = 0xfeee
  1579. const m_XK_Pointer_DfltBtnNext = 0xfefb
  1580. const m_XK_Pointer_DfltBtnPrev = 0xfefc
  1581. const m_XK_Pointer_Down = 0xfee3
  1582. const m_XK_Pointer_DownLeft = 0xfee6
  1583. const m_XK_Pointer_DownRight = 0xfee7
  1584. const m_XK_Pointer_Drag1 = 0xfef5
  1585. const m_XK_Pointer_Drag2 = 0xfef6
  1586. const m_XK_Pointer_Drag3 = 0xfef7
  1587. const m_XK_Pointer_Drag4 = 0xfef8
  1588. const m_XK_Pointer_Drag5 = 0xfefd
  1589. const m_XK_Pointer_Drag_Dflt = 0xfef4
  1590. const m_XK_Pointer_EnableKeys = 0xfef9
  1591. const m_XK_Pointer_Left = 0xfee0
  1592. const m_XK_Pointer_Right = 0xfee1
  1593. const m_XK_Pointer_Up = 0xfee2
  1594. const m_XK_Pointer_UpLeft = 0xfee4
  1595. const m_XK_Pointer_UpRight = 0xfee5
  1596. const m_XK_Prev_Virtual_Screen = 0xfed1
  1597. const m_XK_PreviousCandidate = 0xff3e
  1598. const m_XK_Print = 0xff61
  1599. const m_XK_Prior = 0xff55
  1600. const m_XK_Q = 0x0051
  1601. const m_XK_R = 0x0052
  1602. const m_XK_R1 = 0xffd2
  1603. const m_XK_R10 = 0xffdb
  1604. const m_XK_R11 = 0xffdc
  1605. const m_XK_R12 = 0xffdd
  1606. const m_XK_R13 = 0xffde
  1607. const m_XK_R14 = 0xffdf
  1608. const m_XK_R15 = 0xffe0
  1609. const m_XK_R2 = 0xffd3
  1610. const m_XK_R3 = 0xffd4
  1611. const m_XK_R4 = 0xffd5
  1612. const m_XK_R5 = 0xffd6
  1613. const m_XK_R6 = 0xffd7
  1614. const m_XK_R7 = 0xffd8
  1615. const m_XK_R8 = 0xffd9
  1616. const m_XK_R9 = 0xffda
  1617. const m_XK_Racute = 0x01c0
  1618. const m_XK_Rcaron = 0x01d8
  1619. const m_XK_Rcedilla = 0x03a3
  1620. const m_XK_Redo = 0xff66
  1621. const m_XK_RepeatKeys_Enable = 0xfe72
  1622. const m_XK_Return = 0xff0d
  1623. const m_XK_Right = 0xff53
  1624. const m_XK_Romaji = 0xff24
  1625. const m_XK_RupeeSign = 0x10020a8
  1626. const m_XK_S = 0x0053
  1627. const m_XK_SCHWA = 0x100018f
  1628. const m_XK_Sabovedot = 0x1001e60
  1629. const m_XK_Sacute = 0x01a6
  1630. const m_XK_Scaron = 0x01a9
  1631. const m_XK_Scedilla = 0x01aa
  1632. const m_XK_Scircumflex = 0x02de
  1633. const m_XK_Scroll_Lock = 0xff14
  1634. const m_XK_Select = 0xff60
  1635. const m_XK_Serbian_DJE = 0x06b1
  1636. const m_XK_Serbian_DZE = 0x06bf
  1637. const m_XK_Serbian_JE = 0x06b8
  1638. const m_XK_Serbian_LJE = 0x06b9
  1639. const m_XK_Serbian_NJE = 0x06ba
  1640. const m_XK_Serbian_TSHE = 0x06bb
  1641. const m_XK_Serbian_dje = 0x06a1
  1642. const m_XK_Serbian_dze = 0x06af
  1643. const m_XK_Serbian_je = 0x06a8
  1644. const m_XK_Serbian_lje = 0x06a9
  1645. const m_XK_Serbian_nje = 0x06aa
  1646. const m_XK_Serbian_tshe = 0x06ab
  1647. const m_XK_Shift_L = 0xffe1
  1648. const m_XK_Shift_Lock = 0xffe6
  1649. const m_XK_Shift_R = 0xffe2
  1650. const m_XK_SingleCandidate = 0xff3c
  1651. const m_XK_Sinh_a = 0x1000d85
  1652. const m_XK_Sinh_aa = 0x1000d86
  1653. const m_XK_Sinh_aa2 = 0x1000dcf
  1654. const m_XK_Sinh_ae = 0x1000d87
  1655. const m_XK_Sinh_ae2 = 0x1000dd0
  1656. const m_XK_Sinh_aee = 0x1000d88
  1657. const m_XK_Sinh_aee2 = 0x1000dd1
  1658. const m_XK_Sinh_ai = 0x1000d93
  1659. const m_XK_Sinh_ai2 = 0x1000ddb
  1660. const m_XK_Sinh_al = 0x1000dca
  1661. const m_XK_Sinh_au = 0x1000d96
  1662. const m_XK_Sinh_au2 = 0x1000dde
  1663. const m_XK_Sinh_ba = 0x1000db6
  1664. const m_XK_Sinh_bha = 0x1000db7
  1665. const m_XK_Sinh_ca = 0x1000da0
  1666. const m_XK_Sinh_cha = 0x1000da1
  1667. const m_XK_Sinh_dda = 0x1000da9
  1668. const m_XK_Sinh_ddha = 0x1000daa
  1669. const m_XK_Sinh_dha = 0x1000daf
  1670. const m_XK_Sinh_dhha = 0x1000db0
  1671. const m_XK_Sinh_e = 0x1000d91
  1672. const m_XK_Sinh_e2 = 0x1000dd9
  1673. const m_XK_Sinh_ee = 0x1000d92
  1674. const m_XK_Sinh_ee2 = 0x1000dda
  1675. const m_XK_Sinh_fa = 0x1000dc6
  1676. const m_XK_Sinh_ga = 0x1000d9c
  1677. const m_XK_Sinh_gha = 0x1000d9d
  1678. const m_XK_Sinh_h2 = 0x1000d83
  1679. const m_XK_Sinh_ha = 0x1000dc4
  1680. const m_XK_Sinh_i = 0x1000d89
  1681. const m_XK_Sinh_i2 = 0x1000dd2
  1682. const m_XK_Sinh_ii = 0x1000d8a
  1683. const m_XK_Sinh_ii2 = 0x1000dd3
  1684. const m_XK_Sinh_ja = 0x1000da2
  1685. const m_XK_Sinh_jha = 0x1000da3
  1686. const m_XK_Sinh_jnya = 0x1000da5
  1687. const m_XK_Sinh_ka = 0x1000d9a
  1688. const m_XK_Sinh_kha = 0x1000d9b
  1689. const m_XK_Sinh_kunddaliya = 0x1000df4
  1690. const m_XK_Sinh_la = 0x1000dbd
  1691. const m_XK_Sinh_lla = 0x1000dc5
  1692. const m_XK_Sinh_lu = 0x1000d8f
  1693. const m_XK_Sinh_lu2 = 0x1000ddf
  1694. const m_XK_Sinh_luu = 0x1000d90
  1695. const m_XK_Sinh_luu2 = 0x1000df3
  1696. const m_XK_Sinh_ma = 0x1000db8
  1697. const m_XK_Sinh_mba = 0x1000db9
  1698. const m_XK_Sinh_na = 0x1000db1
  1699. const m_XK_Sinh_ndda = 0x1000dac
  1700. const m_XK_Sinh_ndha = 0x1000db3
  1701. const m_XK_Sinh_ng = 0x1000d82
  1702. const m_XK_Sinh_ng2 = 0x1000d9e
  1703. const m_XK_Sinh_nga = 0x1000d9f
  1704. const m_XK_Sinh_nja = 0x1000da6
  1705. const m_XK_Sinh_nna = 0x1000dab
  1706. const m_XK_Sinh_nya = 0x1000da4
  1707. const m_XK_Sinh_o = 0x1000d94
  1708. const m_XK_Sinh_o2 = 0x1000ddc
  1709. const m_XK_Sinh_oo = 0x1000d95
  1710. const m_XK_Sinh_oo2 = 0x1000ddd
  1711. const m_XK_Sinh_pa = 0x1000db4
  1712. const m_XK_Sinh_pha = 0x1000db5
  1713. const m_XK_Sinh_ra = 0x1000dbb
  1714. const m_XK_Sinh_ri = 0x1000d8d
  1715. const m_XK_Sinh_rii = 0x1000d8e
  1716. const m_XK_Sinh_ru2 = 0x1000dd8
  1717. const m_XK_Sinh_ruu2 = 0x1000df2
  1718. const m_XK_Sinh_sa = 0x1000dc3
  1719. const m_XK_Sinh_sha = 0x1000dc1
  1720. const m_XK_Sinh_ssha = 0x1000dc2
  1721. const m_XK_Sinh_tha = 0x1000dad
  1722. const m_XK_Sinh_thha = 0x1000dae
  1723. const m_XK_Sinh_tta = 0x1000da7
  1724. const m_XK_Sinh_ttha = 0x1000da8
  1725. const m_XK_Sinh_u = 0x1000d8b
  1726. const m_XK_Sinh_u2 = 0x1000dd4
  1727. const m_XK_Sinh_uu = 0x1000d8c
  1728. const m_XK_Sinh_uu2 = 0x1000dd6
  1729. const m_XK_Sinh_va = 0x1000dc0
  1730. const m_XK_Sinh_ya = 0x1000dba
  1731. const m_XK_SlowKeys_Enable = 0xfe73
  1732. const m_XK_StickyKeys_Enable = 0xfe75
  1733. const m_XK_Super_L = 0xffeb
  1734. const m_XK_Super_R = 0xffec
  1735. const m_XK_Sys_Req = 0xff15
  1736. const m_XK_T = 0x0054
  1737. const m_XK_THORN = 0x00de
  1738. const m_XK_Tab = 0xff09
  1739. const m_XK_Tabovedot = 0x1001e6a
  1740. const m_XK_Tcaron = 0x01ab
  1741. const m_XK_Tcedilla = 0x01de
  1742. const m_XK_Terminate_Server = 0xfed5
  1743. const m_XK_Thai_baht = 0x0ddf
  1744. const m_XK_Thai_bobaimai = 0x0dba
  1745. const m_XK_Thai_chochan = 0x0da8
  1746. const m_XK_Thai_chochang = 0x0daa
  1747. const m_XK_Thai_choching = 0x0da9
  1748. const m_XK_Thai_chochoe = 0x0dac
  1749. const m_XK_Thai_dochada = 0x0dae
  1750. const m_XK_Thai_dodek = 0x0db4
  1751. const m_XK_Thai_fofa = 0x0dbd
  1752. const m_XK_Thai_fofan = 0x0dbf
  1753. const m_XK_Thai_hohip = 0x0dcb
  1754. const m_XK_Thai_honokhuk = 0x0dce
  1755. const m_XK_Thai_khokhai = 0x0da2
  1756. const m_XK_Thai_khokhon = 0x0da5
  1757. const m_XK_Thai_khokhuat = 0x0da3
  1758. const m_XK_Thai_khokhwai = 0x0da4
  1759. const m_XK_Thai_khorakhang = 0x0da6
  1760. const m_XK_Thai_kokai = 0x0da1
  1761. const m_XK_Thai_lakkhangyao = 0x0de5
  1762. const m_XK_Thai_lekchet = 0x0df7
  1763. const m_XK_Thai_lekha = 0x0df5
  1764. const m_XK_Thai_lekhok = 0x0df6
  1765. const m_XK_Thai_lekkao = 0x0df9
  1766. const m_XK_Thai_leknung = 0x0df1
  1767. const m_XK_Thai_lekpaet = 0x0df8
  1768. const m_XK_Thai_leksam = 0x0df3
  1769. const m_XK_Thai_leksi = 0x0df4
  1770. const m_XK_Thai_leksong = 0x0df2
  1771. const m_XK_Thai_leksun = 0x0df0
  1772. const m_XK_Thai_lochula = 0x0dcc
  1773. const m_XK_Thai_loling = 0x0dc5
  1774. const m_XK_Thai_lu = 0x0dc6
  1775. const m_XK_Thai_maichattawa = 0x0deb
  1776. const m_XK_Thai_maiek = 0x0de8
  1777. const m_XK_Thai_maihanakat = 0x0dd1
  1778. const m_XK_Thai_maihanakat_maitho = 0x0dde
  1779. const m_XK_Thai_maitaikhu = 0x0de7
  1780. const m_XK_Thai_maitho = 0x0de9
  1781. const m_XK_Thai_maitri = 0x0dea
  1782. const m_XK_Thai_maiyamok = 0x0de6
  1783. const m_XK_Thai_moma = 0x0dc1
  1784. const m_XK_Thai_ngongu = 0x0da7
  1785. const m_XK_Thai_nikhahit = 0x0ded
  1786. const m_XK_Thai_nonen = 0x0db3
  1787. const m_XK_Thai_nonu = 0x0db9
  1788. const m_XK_Thai_oang = 0x0dcd
  1789. const m_XK_Thai_paiyannoi = 0x0dcf
  1790. const m_XK_Thai_phinthu = 0x0dda
  1791. const m_XK_Thai_phophan = 0x0dbe
  1792. const m_XK_Thai_phophung = 0x0dbc
  1793. const m_XK_Thai_phosamphao = 0x0dc0
  1794. const m_XK_Thai_popla = 0x0dbb
  1795. const m_XK_Thai_rorua = 0x0dc3
  1796. const m_XK_Thai_ru = 0x0dc4
  1797. const m_XK_Thai_saraa = 0x0dd0
  1798. const m_XK_Thai_saraaa = 0x0dd2
  1799. const m_XK_Thai_saraae = 0x0de1
  1800. const m_XK_Thai_saraaimaimalai = 0x0de4
  1801. const m_XK_Thai_saraaimaimuan = 0x0de3
  1802. const m_XK_Thai_saraam = 0x0dd3
  1803. const m_XK_Thai_sarae = 0x0de0
  1804. const m_XK_Thai_sarai = 0x0dd4
  1805. const m_XK_Thai_saraii = 0x0dd5
  1806. const m_XK_Thai_sarao = 0x0de2
  1807. const m_XK_Thai_sarau = 0x0dd8
  1808. const m_XK_Thai_saraue = 0x0dd6
  1809. const m_XK_Thai_sarauee = 0x0dd7
  1810. const m_XK_Thai_sarauu = 0x0dd9
  1811. const m_XK_Thai_sorusi = 0x0dc9
  1812. const m_XK_Thai_sosala = 0x0dc8
  1813. const m_XK_Thai_soso = 0x0dab
  1814. const m_XK_Thai_sosua = 0x0dca
  1815. const m_XK_Thai_thanthakhat = 0x0dec
  1816. const m_XK_Thai_thonangmontho = 0x0db1
  1817. const m_XK_Thai_thophuthao = 0x0db2
  1818. const m_XK_Thai_thothahan = 0x0db7
  1819. const m_XK_Thai_thothan = 0x0db0
  1820. const m_XK_Thai_thothong = 0x0db8
  1821. const m_XK_Thai_thothung = 0x0db6
  1822. const m_XK_Thai_topatak = 0x0daf
  1823. const m_XK_Thai_totao = 0x0db5
  1824. const m_XK_Thai_wowaen = 0x0dc7
  1825. const m_XK_Thai_yoyak = 0x0dc2
  1826. const m_XK_Thai_yoying = 0x0dad
  1827. const m_XK_Thorn = 0x00de
  1828. const m_XK_Touroku = 0xff2b
  1829. const m_XK_Tslash = 0x03ac
  1830. const m_XK_U = 0x0055
  1831. const m_XK_Uacute = 0x00da
  1832. const m_XK_Ubelowdot = 0x1001ee4
  1833. const m_XK_Ubreve = 0x02dd
  1834. const m_XK_Ucircumflex = 0x00db
  1835. const m_XK_Udiaeresis = 0x00dc
  1836. const m_XK_Udoubleacute = 0x01db
  1837. const m_XK_Ugrave = 0x00d9
  1838. const m_XK_Uhook = 0x1001ee6
  1839. const m_XK_Uhorn = 0x10001af
  1840. const m_XK_Uhornacute = 0x1001ee8
  1841. const m_XK_Uhornbelowdot = 0x1001ef0
  1842. const m_XK_Uhorngrave = 0x1001eea
  1843. const m_XK_Uhornhook = 0x1001eec
  1844. const m_XK_Uhorntilde = 0x1001eee
  1845. const m_XK_Ukrainian_GHE_WITH_UPTURN = 0x06bd
  1846. const m_XK_Ukrainian_I = 0x06b6
  1847. const m_XK_Ukrainian_IE = 0x06b4
  1848. const m_XK_Ukrainian_YI = 0x06b7
  1849. const m_XK_Ukrainian_ghe_with_upturn = 0x06ad
  1850. const m_XK_Ukrainian_i = 0x06a6
  1851. const m_XK_Ukrainian_ie = 0x06a4
  1852. const m_XK_Ukrainian_yi = 0x06a7
  1853. const m_XK_Ukranian_I = 0x06b6
  1854. const m_XK_Ukranian_JE = 0x06b4
  1855. const m_XK_Ukranian_YI = 0x06b7
  1856. const m_XK_Ukranian_i = 0x06a6
  1857. const m_XK_Ukranian_je = 0x06a4
  1858. const m_XK_Ukranian_yi = 0x06a7
  1859. const m_XK_Umacron = 0x03de
  1860. const m_XK_Undo = 0xff65
  1861. const m_XK_Uogonek = 0x03d9
  1862. const m_XK_Up = 0xff52
  1863. const m_XK_Uring = 0x01d9
  1864. const m_XK_Utilde = 0x03dd
  1865. const m_XK_V = 0x0056
  1866. const m_XK_VoidSymbol = 0xffffff
  1867. const m_XK_W = 0x0057
  1868. const m_XK_Wacute = 0x1001e82
  1869. const m_XK_Wcircumflex = 0x1000174
  1870. const m_XK_Wdiaeresis = 0x1001e84
  1871. const m_XK_Wgrave = 0x1001e80
  1872. const m_XK_WonSign = 0x10020a9
  1873. const m_XK_X = 0x0058
  1874. const m_XK_Xabovedot = 0x1001e8a
  1875. const m_XK_Y = 0x0059
  1876. const m_XK_Yacute = 0x00dd
  1877. const m_XK_Ybelowdot = 0x1001ef4
  1878. const m_XK_Ycircumflex = 0x1000176
  1879. const m_XK_Ydiaeresis = 0x13be
  1880. const m_XK_Ygrave = 0x1001ef2
  1881. const m_XK_Yhook = 0x1001ef6
  1882. const m_XK_Ytilde = 0x1001ef8
  1883. const m_XK_Z = 0x005a
  1884. const m_XK_Zabovedot = 0x01af
  1885. const m_XK_Zacute = 0x01ac
  1886. const m_XK_Zcaron = 0x01ae
  1887. const m_XK_Zen_Koho = 0xff3d
  1888. const m_XK_Zenkaku = 0xff28
  1889. const m_XK_Zenkaku_Hankaku = 0xff2a
  1890. const m_XK_Zstroke = 0x10001b5
  1891. const m_XK_a = 0x0061
  1892. const m_XK_aacute = 0x00e1
  1893. const m_XK_abelowdot = 0x1001ea1
  1894. const m_XK_abovedot = 0x01ff
  1895. const m_XK_abreve = 0x01e3
  1896. const m_XK_abreveacute = 0x1001eaf
  1897. const m_XK_abrevebelowdot = 0x1001eb7
  1898. const m_XK_abrevegrave = 0x1001eb1
  1899. const m_XK_abrevehook = 0x1001eb3
  1900. const m_XK_abrevetilde = 0x1001eb5
  1901. const m_XK_acircumflex = 0x00e2
  1902. const m_XK_acircumflexacute = 0x1001ea5
  1903. const m_XK_acircumflexbelowdot = 0x1001ead
  1904. const m_XK_acircumflexgrave = 0x1001ea7
  1905. const m_XK_acircumflexhook = 0x1001ea9
  1906. const m_XK_acircumflextilde = 0x1001eab
  1907. const m_XK_acute = 0x00b4
  1908. const m_XK_adiaeresis = 0x00e4
  1909. const m_XK_ae = 0x00e6
  1910. const m_XK_agrave = 0x00e0
  1911. const m_XK_ahook = 0x1001ea3
  1912. const m_XK_amacron = 0x03e0
  1913. const m_XK_ampersand = 0x0026
  1914. const m_XK_aogonek = 0x01b1
  1915. const m_XK_apostrophe = 0x0027
  1916. const m_XK_approxeq = 0x1002248
  1917. const m_XK_aring = 0x00e5
  1918. const m_XK_asciicircum = 0x005e
  1919. const m_XK_asciitilde = 0x007e
  1920. const m_XK_asterisk = 0x002a
  1921. const m_XK_at = 0x0040
  1922. const m_XK_atilde = 0x00e3
  1923. const m_XK_b = 0x0062
  1924. const m_XK_babovedot = 0x1001e03
  1925. const m_XK_backslash = 0x005c
  1926. const m_XK_bar = 0x007c
  1927. const m_XK_because = 0x1002235
  1928. const m_XK_braceleft = 0x007b
  1929. const m_XK_braceright = 0x007d
  1930. const m_XK_bracketleft = 0x005b
  1931. const m_XK_bracketright = 0x005d
  1932. const m_XK_braille_blank = 0x1002800
  1933. const m_XK_braille_dot_1 = 0xfff1
  1934. const m_XK_braille_dot_10 = 0xfffa
  1935. const m_XK_braille_dot_2 = 0xfff2
  1936. const m_XK_braille_dot_3 = 0xfff3
  1937. const m_XK_braille_dot_4 = 0xfff4
  1938. const m_XK_braille_dot_5 = 0xfff5
  1939. const m_XK_braille_dot_6 = 0xfff6
  1940. const m_XK_braille_dot_7 = 0xfff7
  1941. const m_XK_braille_dot_8 = 0xfff8
  1942. const m_XK_braille_dot_9 = 0xfff9
  1943. const m_XK_braille_dots_1 = 0x1002801
  1944. const m_XK_braille_dots_12 = 0x1002803
  1945. const m_XK_braille_dots_123 = 0x1002807
  1946. const m_XK_braille_dots_1234 = 0x100280f
  1947. const m_XK_braille_dots_12345 = 0x100281f
  1948. const m_XK_braille_dots_123456 = 0x100283f
  1949. const m_XK_braille_dots_1234567 = 0x100287f
  1950. const m_XK_braille_dots_12345678 = 0x10028ff
  1951. const m_XK_braille_dots_1234568 = 0x10028bf
  1952. const m_XK_braille_dots_123457 = 0x100285f
  1953. const m_XK_braille_dots_1234578 = 0x10028df
  1954. const m_XK_braille_dots_123458 = 0x100289f
  1955. const m_XK_braille_dots_12346 = 0x100282f
  1956. const m_XK_braille_dots_123467 = 0x100286f
  1957. const m_XK_braille_dots_1234678 = 0x10028ef
  1958. const m_XK_braille_dots_123468 = 0x10028af
  1959. const m_XK_braille_dots_12347 = 0x100284f
  1960. const m_XK_braille_dots_123478 = 0x10028cf
  1961. const m_XK_braille_dots_12348 = 0x100288f
  1962. const m_XK_braille_dots_1235 = 0x1002817
  1963. const m_XK_braille_dots_12356 = 0x1002837
  1964. const m_XK_braille_dots_123567 = 0x1002877
  1965. const m_XK_braille_dots_1235678 = 0x10028f7
  1966. const m_XK_braille_dots_123568 = 0x10028b7
  1967. const m_XK_braille_dots_12357 = 0x1002857
  1968. const m_XK_braille_dots_123578 = 0x10028d7
  1969. const m_XK_braille_dots_12358 = 0x1002897
  1970. const m_XK_braille_dots_1236 = 0x1002827
  1971. const m_XK_braille_dots_12367 = 0x1002867
  1972. const m_XK_braille_dots_123678 = 0x10028e7
  1973. const m_XK_braille_dots_12368 = 0x10028a7
  1974. const m_XK_braille_dots_1237 = 0x1002847
  1975. const m_XK_braille_dots_12378 = 0x10028c7
  1976. const m_XK_braille_dots_1238 = 0x1002887
  1977. const m_XK_braille_dots_124 = 0x100280b
  1978. const m_XK_braille_dots_1245 = 0x100281b
  1979. const m_XK_braille_dots_12456 = 0x100283b
  1980. const m_XK_braille_dots_124567 = 0x100287b
  1981. const m_XK_braille_dots_1245678 = 0x10028fb
  1982. const m_XK_braille_dots_124568 = 0x10028bb
  1983. const m_XK_braille_dots_12457 = 0x100285b
  1984. const m_XK_braille_dots_124578 = 0x10028db
  1985. const m_XK_braille_dots_12458 = 0x100289b
  1986. const m_XK_braille_dots_1246 = 0x100282b
  1987. const m_XK_braille_dots_12467 = 0x100286b
  1988. const m_XK_braille_dots_124678 = 0x10028eb
  1989. const m_XK_braille_dots_12468 = 0x10028ab
  1990. const m_XK_braille_dots_1247 = 0x100284b
  1991. const m_XK_braille_dots_12478 = 0x10028cb
  1992. const m_XK_braille_dots_1248 = 0x100288b
  1993. const m_XK_braille_dots_125 = 0x1002813
  1994. const m_XK_braille_dots_1256 = 0x1002833
  1995. const m_XK_braille_dots_12567 = 0x1002873
  1996. const m_XK_braille_dots_125678 = 0x10028f3
  1997. const m_XK_braille_dots_12568 = 0x10028b3
  1998. const m_XK_braille_dots_1257 = 0x1002853
  1999. const m_XK_braille_dots_12578 = 0x10028d3
  2000. const m_XK_braille_dots_1258 = 0x1002893
  2001. const m_XK_braille_dots_126 = 0x1002823
  2002. const m_XK_braille_dots_1267 = 0x1002863
  2003. const m_XK_braille_dots_12678 = 0x10028e3
  2004. const m_XK_braille_dots_1268 = 0x10028a3
  2005. const m_XK_braille_dots_127 = 0x1002843
  2006. const m_XK_braille_dots_1278 = 0x10028c3
  2007. const m_XK_braille_dots_128 = 0x1002883
  2008. const m_XK_braille_dots_13 = 0x1002805
  2009. const m_XK_braille_dots_134 = 0x100280d
  2010. const m_XK_braille_dots_1345 = 0x100281d
  2011. const m_XK_braille_dots_13456 = 0x100283d
  2012. const m_XK_braille_dots_134567 = 0x100287d
  2013. const m_XK_braille_dots_1345678 = 0x10028fd
  2014. const m_XK_braille_dots_134568 = 0x10028bd
  2015. const m_XK_braille_dots_13457 = 0x100285d
  2016. const m_XK_braille_dots_134578 = 0x10028dd
  2017. const m_XK_braille_dots_13458 = 0x100289d
  2018. const m_XK_braille_dots_1346 = 0x100282d
  2019. const m_XK_braille_dots_13467 = 0x100286d
  2020. const m_XK_braille_dots_134678 = 0x10028ed
  2021. const m_XK_braille_dots_13468 = 0x10028ad
  2022. const m_XK_braille_dots_1347 = 0x100284d
  2023. const m_XK_braille_dots_13478 = 0x10028cd
  2024. const m_XK_braille_dots_1348 = 0x100288d
  2025. const m_XK_braille_dots_135 = 0x1002815
  2026. const m_XK_braille_dots_1356 = 0x1002835
  2027. const m_XK_braille_dots_13567 = 0x1002875
  2028. const m_XK_braille_dots_135678 = 0x10028f5
  2029. const m_XK_braille_dots_13568 = 0x10028b5
  2030. const m_XK_braille_dots_1357 = 0x1002855
  2031. const m_XK_braille_dots_13578 = 0x10028d5
  2032. const m_XK_braille_dots_1358 = 0x1002895
  2033. const m_XK_braille_dots_136 = 0x1002825
  2034. const m_XK_braille_dots_1367 = 0x1002865
  2035. const m_XK_braille_dots_13678 = 0x10028e5
  2036. const m_XK_braille_dots_1368 = 0x10028a5
  2037. const m_XK_braille_dots_137 = 0x1002845
  2038. const m_XK_braille_dots_1378 = 0x10028c5
  2039. const m_XK_braille_dots_138 = 0x1002885
  2040. const m_XK_braille_dots_14 = 0x1002809
  2041. const m_XK_braille_dots_145 = 0x1002819
  2042. const m_XK_braille_dots_1456 = 0x1002839
  2043. const m_XK_braille_dots_14567 = 0x1002879
  2044. const m_XK_braille_dots_145678 = 0x10028f9
  2045. const m_XK_braille_dots_14568 = 0x10028b9
  2046. const m_XK_braille_dots_1457 = 0x1002859
  2047. const m_XK_braille_dots_14578 = 0x10028d9
  2048. const m_XK_braille_dots_1458 = 0x1002899
  2049. const m_XK_braille_dots_146 = 0x1002829
  2050. const m_XK_braille_dots_1467 = 0x1002869
  2051. const m_XK_braille_dots_14678 = 0x10028e9
  2052. const m_XK_braille_dots_1468 = 0x10028a9
  2053. const m_XK_braille_dots_147 = 0x1002849
  2054. const m_XK_braille_dots_1478 = 0x10028c9
  2055. const m_XK_braille_dots_148 = 0x1002889
  2056. const m_XK_braille_dots_15 = 0x1002811
  2057. const m_XK_braille_dots_156 = 0x1002831
  2058. const m_XK_braille_dots_1567 = 0x1002871
  2059. const m_XK_braille_dots_15678 = 0x10028f1
  2060. const m_XK_braille_dots_1568 = 0x10028b1
  2061. const m_XK_braille_dots_157 = 0x1002851
  2062. const m_XK_braille_dots_1578 = 0x10028d1
  2063. const m_XK_braille_dots_158 = 0x1002891
  2064. const m_XK_braille_dots_16 = 0x1002821
  2065. const m_XK_braille_dots_167 = 0x1002861
  2066. const m_XK_braille_dots_1678 = 0x10028e1
  2067. const m_XK_braille_dots_168 = 0x10028a1
  2068. const m_XK_braille_dots_17 = 0x1002841
  2069. const m_XK_braille_dots_178 = 0x10028c1
  2070. const m_XK_braille_dots_18 = 0x1002881
  2071. const m_XK_braille_dots_2 = 0x1002802
  2072. const m_XK_braille_dots_23 = 0x1002806
  2073. const m_XK_braille_dots_234 = 0x100280e
  2074. const m_XK_braille_dots_2345 = 0x100281e
  2075. const m_XK_braille_dots_23456 = 0x100283e
  2076. const m_XK_braille_dots_234567 = 0x100287e
  2077. const m_XK_braille_dots_2345678 = 0x10028fe
  2078. const m_XK_braille_dots_234568 = 0x10028be
  2079. const m_XK_braille_dots_23457 = 0x100285e
  2080. const m_XK_braille_dots_234578 = 0x10028de
  2081. const m_XK_braille_dots_23458 = 0x100289e
  2082. const m_XK_braille_dots_2346 = 0x100282e
  2083. const m_XK_braille_dots_23467 = 0x100286e
  2084. const m_XK_braille_dots_234678 = 0x10028ee
  2085. const m_XK_braille_dots_23468 = 0x10028ae
  2086. const m_XK_braille_dots_2347 = 0x100284e
  2087. const m_XK_braille_dots_23478 = 0x10028ce
  2088. const m_XK_braille_dots_2348 = 0x100288e
  2089. const m_XK_braille_dots_235 = 0x1002816
  2090. const m_XK_braille_dots_2356 = 0x1002836
  2091. const m_XK_braille_dots_23567 = 0x1002876
  2092. const m_XK_braille_dots_235678 = 0x10028f6
  2093. const m_XK_braille_dots_23568 = 0x10028b6
  2094. const m_XK_braille_dots_2357 = 0x1002856
  2095. const m_XK_braille_dots_23578 = 0x10028d6
  2096. const m_XK_braille_dots_2358 = 0x1002896
  2097. const m_XK_braille_dots_236 = 0x1002826
  2098. const m_XK_braille_dots_2367 = 0x1002866
  2099. const m_XK_braille_dots_23678 = 0x10028e6
  2100. const m_XK_braille_dots_2368 = 0x10028a6
  2101. const m_XK_braille_dots_237 = 0x1002846
  2102. const m_XK_braille_dots_2378 = 0x10028c6
  2103. const m_XK_braille_dots_238 = 0x1002886
  2104. const m_XK_braille_dots_24 = 0x100280a
  2105. const m_XK_braille_dots_245 = 0x100281a
  2106. const m_XK_braille_dots_2456 = 0x100283a
  2107. const m_XK_braille_dots_24567 = 0x100287a
  2108. const m_XK_braille_dots_245678 = 0x10028fa
  2109. const m_XK_braille_dots_24568 = 0x10028ba
  2110. const m_XK_braille_dots_2457 = 0x100285a
  2111. const m_XK_braille_dots_24578 = 0x10028da
  2112. const m_XK_braille_dots_2458 = 0x100289a
  2113. const m_XK_braille_dots_246 = 0x100282a
  2114. const m_XK_braille_dots_2467 = 0x100286a
  2115. const m_XK_braille_dots_24678 = 0x10028ea
  2116. const m_XK_braille_dots_2468 = 0x10028aa
  2117. const m_XK_braille_dots_247 = 0x100284a
  2118. const m_XK_braille_dots_2478 = 0x10028ca
  2119. const m_XK_braille_dots_248 = 0x100288a
  2120. const m_XK_braille_dots_25 = 0x1002812
  2121. const m_XK_braille_dots_256 = 0x1002832
  2122. const m_XK_braille_dots_2567 = 0x1002872
  2123. const m_XK_braille_dots_25678 = 0x10028f2
  2124. const m_XK_braille_dots_2568 = 0x10028b2
  2125. const m_XK_braille_dots_257 = 0x1002852
  2126. const m_XK_braille_dots_2578 = 0x10028d2
  2127. const m_XK_braille_dots_258 = 0x1002892
  2128. const m_XK_braille_dots_26 = 0x1002822
  2129. const m_XK_braille_dots_267 = 0x1002862
  2130. const m_XK_braille_dots_2678 = 0x10028e2
  2131. const m_XK_braille_dots_268 = 0x10028a2
  2132. const m_XK_braille_dots_27 = 0x1002842
  2133. const m_XK_braille_dots_278 = 0x10028c2
  2134. const m_XK_braille_dots_28 = 0x1002882
  2135. const m_XK_braille_dots_3 = 0x1002804
  2136. const m_XK_braille_dots_34 = 0x100280c
  2137. const m_XK_braille_dots_345 = 0x100281c
  2138. const m_XK_braille_dots_3456 = 0x100283c
  2139. const m_XK_braille_dots_34567 = 0x100287c
  2140. const m_XK_braille_dots_345678 = 0x10028fc
  2141. const m_XK_braille_dots_34568 = 0x10028bc
  2142. const m_XK_braille_dots_3457 = 0x100285c
  2143. const m_XK_braille_dots_34578 = 0x10028dc
  2144. const m_XK_braille_dots_3458 = 0x100289c
  2145. const m_XK_braille_dots_346 = 0x100282c
  2146. const m_XK_braille_dots_3467 = 0x100286c
  2147. const m_XK_braille_dots_34678 = 0x10028ec
  2148. const m_XK_braille_dots_3468 = 0x10028ac
  2149. const m_XK_braille_dots_347 = 0x100284c
  2150. const m_XK_braille_dots_3478 = 0x10028cc
  2151. const m_XK_braille_dots_348 = 0x100288c
  2152. const m_XK_braille_dots_35 = 0x1002814
  2153. const m_XK_braille_dots_356 = 0x1002834
  2154. const m_XK_braille_dots_3567 = 0x1002874
  2155. const m_XK_braille_dots_35678 = 0x10028f4
  2156. const m_XK_braille_dots_3568 = 0x10028b4
  2157. const m_XK_braille_dots_357 = 0x1002854
  2158. const m_XK_braille_dots_3578 = 0x10028d4
  2159. const m_XK_braille_dots_358 = 0x1002894
  2160. const m_XK_braille_dots_36 = 0x1002824
  2161. const m_XK_braille_dots_367 = 0x1002864
  2162. const m_XK_braille_dots_3678 = 0x10028e4
  2163. const m_XK_braille_dots_368 = 0x10028a4
  2164. const m_XK_braille_dots_37 = 0x1002844
  2165. const m_XK_braille_dots_378 = 0x10028c4
  2166. const m_XK_braille_dots_38 = 0x1002884
  2167. const m_XK_braille_dots_4 = 0x1002808
  2168. const m_XK_braille_dots_45 = 0x1002818
  2169. const m_XK_braille_dots_456 = 0x1002838
  2170. const m_XK_braille_dots_4567 = 0x1002878
  2171. const m_XK_braille_dots_45678 = 0x10028f8
  2172. const m_XK_braille_dots_4568 = 0x10028b8
  2173. const m_XK_braille_dots_457 = 0x1002858
  2174. const m_XK_braille_dots_4578 = 0x10028d8
  2175. const m_XK_braille_dots_458 = 0x1002898
  2176. const m_XK_braille_dots_46 = 0x1002828
  2177. const m_XK_braille_dots_467 = 0x1002868
  2178. const m_XK_braille_dots_4678 = 0x10028e8
  2179. const m_XK_braille_dots_468 = 0x10028a8
  2180. const m_XK_braille_dots_47 = 0x1002848
  2181. const m_XK_braille_dots_478 = 0x10028c8
  2182. const m_XK_braille_dots_48 = 0x1002888
  2183. const m_XK_braille_dots_5 = 0x1002810
  2184. const m_XK_braille_dots_56 = 0x1002830
  2185. const m_XK_braille_dots_567 = 0x1002870
  2186. const m_XK_braille_dots_5678 = 0x10028f0
  2187. const m_XK_braille_dots_568 = 0x10028b0
  2188. const m_XK_braille_dots_57 = 0x1002850
  2189. const m_XK_braille_dots_578 = 0x10028d0
  2190. const m_XK_braille_dots_58 = 0x1002890
  2191. const m_XK_braille_dots_6 = 0x1002820
  2192. const m_XK_braille_dots_67 = 0x1002860
  2193. const m_XK_braille_dots_678 = 0x10028e0
  2194. const m_XK_braille_dots_68 = 0x10028a0
  2195. const m_XK_braille_dots_7 = 0x1002840
  2196. const m_XK_braille_dots_78 = 0x10028c0
  2197. const m_XK_braille_dots_8 = 0x1002880
  2198. const m_XK_breve = 0x01a2
  2199. const m_XK_brokenbar = 0x00a6
  2200. const m_XK_c = 0x0063
  2201. const m_XK_c_h = 0xfea3
  2202. const m_XK_cabovedot = 0x02e5
  2203. const m_XK_cacute = 0x01e6
  2204. const m_XK_caron = 0x01b7
  2205. const m_XK_ccaron = 0x01e8
  2206. const m_XK_ccedilla = 0x00e7
  2207. const m_XK_ccircumflex = 0x02e6
  2208. const m_XK_cedilla = 0x00b8
  2209. const m_XK_cent = 0x00a2
  2210. const m_XK_ch = 0xfea0
  2211. const m_XK_colon = 0x003a
  2212. const m_XK_combining_acute = 0x1000301
  2213. const m_XK_combining_belowdot = 0x1000323
  2214. const m_XK_combining_grave = 0x1000300
  2215. const m_XK_combining_hook = 0x1000309
  2216. const m_XK_combining_tilde = 0x1000303
  2217. const m_XK_comma = 0x002c
  2218. const m_XK_containsas = 0x100220B
  2219. const m_XK_copyright = 0x00a9
  2220. const m_XK_cuberoot = 0x100221B
  2221. const m_XK_currency = 0x00a4
  2222. const m_XK_d = 0x0064
  2223. const m_XK_dabovedot = 0x1001e0b
  2224. const m_XK_dcaron = 0x01ef
  2225. const m_XK_dead_A = 0xfe81
  2226. const m_XK_dead_E = 0xfe83
  2227. const m_XK_dead_I = 0xfe85
  2228. const m_XK_dead_O = 0xfe87
  2229. const m_XK_dead_U = 0xfe89
  2230. const m_XK_dead_a = 0xfe80
  2231. const m_XK_dead_abovecomma = 0xfe64
  2232. const m_XK_dead_abovedot = 0xfe56
  2233. const m_XK_dead_abovereversedcomma = 0xfe65
  2234. const m_XK_dead_abovering = 0xfe58
  2235. const m_XK_dead_aboveverticalline = 0xfe91
  2236. const m_XK_dead_acute = 0xfe51
  2237. const m_XK_dead_belowbreve = 0xfe6b
  2238. const m_XK_dead_belowcircumflex = 0xfe69
  2239. const m_XK_dead_belowcomma = 0xfe6e
  2240. const m_XK_dead_belowdiaeresis = 0xfe6c
  2241. const m_XK_dead_belowdot = 0xfe60
  2242. const m_XK_dead_belowmacron = 0xfe68
  2243. const m_XK_dead_belowring = 0xfe67
  2244. const m_XK_dead_belowtilde = 0xfe6a
  2245. const m_XK_dead_belowverticalline = 0xfe92
  2246. const m_XK_dead_breve = 0xfe55
  2247. const m_XK_dead_capital_schwa = 0xfe8b
  2248. const m_XK_dead_caron = 0xfe5a
  2249. const m_XK_dead_cedilla = 0xfe5b
  2250. const m_XK_dead_circumflex = 0xfe52
  2251. const m_XK_dead_currency = 0xfe6f
  2252. const m_XK_dead_dasia = 0xfe65
  2253. const m_XK_dead_diaeresis = 0xfe57
  2254. const m_XK_dead_doubleacute = 0xfe59
  2255. const m_XK_dead_doublegrave = 0xfe66
  2256. const m_XK_dead_e = 0xfe82
  2257. const m_XK_dead_grave = 0xfe50
  2258. const m_XK_dead_greek = 0xfe8c
  2259. const m_XK_dead_hook = 0xfe61
  2260. const m_XK_dead_horn = 0xfe62
  2261. const m_XK_dead_i = 0xfe84
  2262. const m_XK_dead_invertedbreve = 0xfe6d
  2263. const m_XK_dead_iota = 0xfe5d
  2264. const m_XK_dead_longsolidusoverlay = 0xfe93
  2265. const m_XK_dead_lowline = 0xfe90
  2266. const m_XK_dead_macron = 0xfe54
  2267. const m_XK_dead_o = 0xfe86
  2268. const m_XK_dead_ogonek = 0xfe5c
  2269. const m_XK_dead_perispomeni = 0xfe53
  2270. const m_XK_dead_psili = 0xfe64
  2271. const m_XK_dead_semivoiced_sound = 0xfe5f
  2272. const m_XK_dead_small_schwa = 0xfe8a
  2273. const m_XK_dead_stroke = 0xfe63
  2274. const m_XK_dead_tilde = 0xfe53
  2275. const m_XK_dead_u = 0xfe88
  2276. const m_XK_dead_voiced_sound = 0xfe5e
  2277. const m_XK_degree = 0x00b0
  2278. const m_XK_diaeresis = 0x00a8
  2279. const m_XK_dintegral = 0x100222C
  2280. const m_XK_division = 0x00f7
  2281. const m_XK_dollar = 0x0024
  2282. const m_XK_doubleacute = 0x01bd
  2283. const m_XK_dstroke = 0x01f0
  2284. const m_XK_e = 0x0065
  2285. const m_XK_eabovedot = 0x03ec
  2286. const m_XK_eacute = 0x00e9
  2287. const m_XK_ebelowdot = 0x1001eb9
  2288. const m_XK_ecaron = 0x01ec
  2289. const m_XK_ecircumflex = 0x00ea
  2290. const m_XK_ecircumflexacute = 0x1001ebf
  2291. const m_XK_ecircumflexbelowdot = 0x1001ec7
  2292. const m_XK_ecircumflexgrave = 0x1001ec1
  2293. const m_XK_ecircumflexhook = 0x1001ec3
  2294. const m_XK_ecircumflextilde = 0x1001ec5
  2295. const m_XK_ediaeresis = 0x00eb
  2296. const m_XK_egrave = 0x00e8
  2297. const m_XK_ehook = 0x1001ebb
  2298. const m_XK_eightsubscript = 0x1002088
  2299. const m_XK_eightsuperior = 0x1002078
  2300. const m_XK_elementof = 0x1002208
  2301. const m_XK_emacron = 0x03ba
  2302. const m_XK_emptyset = 0x1002205
  2303. const m_XK_eng = 0x03bf
  2304. const m_XK_eogonek = 0x01ea
  2305. const m_XK_equal = 0x003d
  2306. const m_XK_eth = 0x00f0
  2307. const m_XK_etilde = 0x1001ebd
  2308. const m_XK_exclam = 0x0021
  2309. const m_XK_exclamdown = 0x00a1
  2310. const m_XK_ezh = 0x1000292
  2311. const m_XK_f = 0x0066
  2312. const m_XK_fabovedot = 0x1001e1f
  2313. const m_XK_fivesubscript = 0x1002085
  2314. const m_XK_fivesuperior = 0x1002075
  2315. const m_XK_foursubscript = 0x1002084
  2316. const m_XK_foursuperior = 0x1002074
  2317. const m_XK_fourthroot = 0x100221C
  2318. const m_XK_g = 0x0067
  2319. const m_XK_gabovedot = 0x02f5
  2320. const m_XK_gbreve = 0x02bb
  2321. const m_XK_gcaron = 0x10001e7
  2322. const m_XK_gcedilla = 0x03bb
  2323. const m_XK_gcircumflex = 0x02f8
  2324. const m_XK_grave = 0x0060
  2325. const m_XK_greater = 0x003e
  2326. const m_XK_guillemotleft = 0x00ab
  2327. const m_XK_guillemotright = 0x00bb
  2328. const m_XK_h = 0x0068
  2329. const m_XK_hcircumflex = 0x02b6
  2330. const m_XK_hebrew_aleph = 0x0ce0
  2331. const m_XK_hebrew_ayin = 0x0cf2
  2332. const m_XK_hebrew_bet = 0x0ce1
  2333. const m_XK_hebrew_beth = 0x0ce1
  2334. const m_XK_hebrew_chet = 0x0ce7
  2335. const m_XK_hebrew_dalet = 0x0ce3
  2336. const m_XK_hebrew_daleth = 0x0ce3
  2337. const m_XK_hebrew_doublelowline = 0x0cdf
  2338. const m_XK_hebrew_finalkaph = 0x0cea
  2339. const m_XK_hebrew_finalmem = 0x0ced
  2340. const m_XK_hebrew_finalnun = 0x0cef
  2341. const m_XK_hebrew_finalpe = 0x0cf3
  2342. const m_XK_hebrew_finalzade = 0x0cf5
  2343. const m_XK_hebrew_finalzadi = 0x0cf5
  2344. const m_XK_hebrew_gimel = 0x0ce2
  2345. const m_XK_hebrew_gimmel = 0x0ce2
  2346. const m_XK_hebrew_he = 0x0ce4
  2347. const m_XK_hebrew_het = 0x0ce7
  2348. const m_XK_hebrew_kaph = 0x0ceb
  2349. const m_XK_hebrew_kuf = 0x0cf7
  2350. const m_XK_hebrew_lamed = 0x0cec
  2351. const m_XK_hebrew_mem = 0x0cee
  2352. const m_XK_hebrew_nun = 0x0cf0
  2353. const m_XK_hebrew_pe = 0x0cf4
  2354. const m_XK_hebrew_qoph = 0x0cf7
  2355. const m_XK_hebrew_resh = 0x0cf8
  2356. const m_XK_hebrew_samech = 0x0cf1
  2357. const m_XK_hebrew_samekh = 0x0cf1
  2358. const m_XK_hebrew_shin = 0x0cf9
  2359. const m_XK_hebrew_taf = 0x0cfa
  2360. const m_XK_hebrew_taw = 0x0cfa
  2361. const m_XK_hebrew_tet = 0x0ce8
  2362. const m_XK_hebrew_teth = 0x0ce8
  2363. const m_XK_hebrew_waw = 0x0ce5
  2364. const m_XK_hebrew_yod = 0x0ce9
  2365. const m_XK_hebrew_zade = 0x0cf6
  2366. const m_XK_hebrew_zadi = 0x0cf6
  2367. const m_XK_hebrew_zain = 0x0ce6
  2368. const m_XK_hebrew_zayin = 0x0ce6
  2369. const m_XK_hstroke = 0x02b1
  2370. const m_XK_hyphen = 0x00ad
  2371. const m_XK_i = 0x0069
  2372. const m_XK_iacute = 0x00ed
  2373. const m_XK_ibelowdot = 0x1001ecb
  2374. const m_XK_ibreve = 0x100012d
  2375. const m_XK_icircumflex = 0x00ee
  2376. const m_XK_idiaeresis = 0x00ef
  2377. const m_XK_idotless = 0x02b9
  2378. const m_XK_igrave = 0x00ec
  2379. const m_XK_ihook = 0x1001ec9
  2380. const m_XK_imacron = 0x03ef
  2381. const m_XK_iogonek = 0x03e7
  2382. const m_XK_itilde = 0x03b5
  2383. const m_XK_j = 0x006a
  2384. const m_XK_jcircumflex = 0x02bc
  2385. const m_XK_k = 0x006b
  2386. const m_XK_kana_A = 0x04b1
  2387. const m_XK_kana_CHI = 0x04c1
  2388. const m_XK_kana_E = 0x04b4
  2389. const m_XK_kana_FU = 0x04cc
  2390. const m_XK_kana_HA = 0x04ca
  2391. const m_XK_kana_HE = 0x04cd
  2392. const m_XK_kana_HI = 0x04cb
  2393. const m_XK_kana_HO = 0x04ce
  2394. const m_XK_kana_HU = 0x04cc
  2395. const m_XK_kana_I = 0x04b2
  2396. const m_XK_kana_KA = 0x04b6
  2397. const m_XK_kana_KE = 0x04b9
  2398. const m_XK_kana_KI = 0x04b7
  2399. const m_XK_kana_KO = 0x04ba
  2400. const m_XK_kana_KU = 0x04b8
  2401. const m_XK_kana_MA = 0x04cf
  2402. const m_XK_kana_ME = 0x04d2
  2403. const m_XK_kana_MI = 0x04d0
  2404. const m_XK_kana_MO = 0x04d3
  2405. const m_XK_kana_MU = 0x04d1
  2406. const m_XK_kana_N = 0x04dd
  2407. const m_XK_kana_NA = 0x04c5
  2408. const m_XK_kana_NE = 0x04c8
  2409. const m_XK_kana_NI = 0x04c6
  2410. const m_XK_kana_NO = 0x04c9
  2411. const m_XK_kana_NU = 0x04c7
  2412. const m_XK_kana_O = 0x04b5
  2413. const m_XK_kana_RA = 0x04d7
  2414. const m_XK_kana_RE = 0x04da
  2415. const m_XK_kana_RI = 0x04d8
  2416. const m_XK_kana_RO = 0x04db
  2417. const m_XK_kana_RU = 0x04d9
  2418. const m_XK_kana_SA = 0x04bb
  2419. const m_XK_kana_SE = 0x04be
  2420. const m_XK_kana_SHI = 0x04bc
  2421. const m_XK_kana_SO = 0x04bf
  2422. const m_XK_kana_SU = 0x04bd
  2423. const m_XK_kana_TA = 0x04c0
  2424. const m_XK_kana_TE = 0x04c3
  2425. const m_XK_kana_TI = 0x04c1
  2426. const m_XK_kana_TO = 0x04c4
  2427. const m_XK_kana_TSU = 0x04c2
  2428. const m_XK_kana_TU = 0x04c2
  2429. const m_XK_kana_U = 0x04b3
  2430. const m_XK_kana_WA = 0x04dc
  2431. const m_XK_kana_WO = 0x04a6
  2432. const m_XK_kana_YA = 0x04d4
  2433. const m_XK_kana_YO = 0x04d6
  2434. const m_XK_kana_YU = 0x04d5
  2435. const m_XK_kana_a = 0x04a7
  2436. const m_XK_kana_closingbracket = 0x04a3
  2437. const m_XK_kana_comma = 0x04a4
  2438. const m_XK_kana_conjunctive = 0x04a5
  2439. const m_XK_kana_e = 0x04aa
  2440. const m_XK_kana_fullstop = 0x04a1
  2441. const m_XK_kana_i = 0x04a8
  2442. const m_XK_kana_middledot = 0x04a5
  2443. const m_XK_kana_o = 0x04ab
  2444. const m_XK_kana_openingbracket = 0x04a2
  2445. const m_XK_kana_switch = 0xff7e
  2446. const m_XK_kana_tsu = 0x04af
  2447. const m_XK_kana_tu = 0x04af
  2448. const m_XK_kana_u = 0x04a9
  2449. const m_XK_kana_ya = 0x04ac
  2450. const m_XK_kana_yo = 0x04ae
  2451. const m_XK_kana_yu = 0x04ad
  2452. const m_XK_kappa = 0x03a2
  2453. const m_XK_kcedilla = 0x03f3
  2454. const m_XK_kra = 0x03a2
  2455. const m_XK_l = 0x006c
  2456. const m_XK_lacute = 0x01e5
  2457. const m_XK_lbelowdot = 0x1001e37
  2458. const m_XK_lcaron = 0x01b5
  2459. const m_XK_lcedilla = 0x03b6
  2460. const m_XK_less = 0x003c
  2461. const m_XK_lstroke = 0x01b3
  2462. const m_XK_m = 0x006d
  2463. const m_XK_mabovedot = 0x1001e41
  2464. const m_XK_macron = 0x00af
  2465. const m_XK_masculine = 0x00ba
  2466. const m_XK_minus = 0x002d
  2467. const m_XK_mu = 0x00b5
  2468. const m_XK_multiply = 0x00d7
  2469. const m_XK_n = 0x006e
  2470. const m_XK_nacute = 0x01f1
  2471. const m_XK_ncaron = 0x01f2
  2472. const m_XK_ncedilla = 0x03f1
  2473. const m_XK_ninesubscript = 0x1002089
  2474. const m_XK_ninesuperior = 0x1002079
  2475. const m_XK_nobreakspace = 0x00a0
  2476. const m_XK_notapproxeq = 0x1002247
  2477. const m_XK_notelementof = 0x1002209
  2478. const m_XK_notidentical = 0x1002262
  2479. const m_XK_notsign = 0x00ac
  2480. const m_XK_ntilde = 0x00f1
  2481. const m_XK_numbersign = 0x0023
  2482. const m_XK_numerosign = 0x06b0
  2483. const m_XK_o = 0x006f
  2484. const m_XK_oacute = 0x00f3
  2485. const m_XK_obarred = 0x1000275
  2486. const m_XK_obelowdot = 0x1001ecd
  2487. const m_XK_ocaron = 0x10001d2
  2488. const m_XK_ocircumflex = 0x00f4
  2489. const m_XK_ocircumflexacute = 0x1001ed1
  2490. const m_XK_ocircumflexbelowdot = 0x1001ed9
  2491. const m_XK_ocircumflexgrave = 0x1001ed3
  2492. const m_XK_ocircumflexhook = 0x1001ed5
  2493. const m_XK_ocircumflextilde = 0x1001ed7
  2494. const m_XK_odiaeresis = 0x00f6
  2495. const m_XK_odoubleacute = 0x01f5
  2496. const m_XK_oe = 0x13bd
  2497. const m_XK_ogonek = 0x01b2
  2498. const m_XK_ograve = 0x00f2
  2499. const m_XK_ohook = 0x1001ecf
  2500. const m_XK_ohorn = 0x10001a1
  2501. const m_XK_ohornacute = 0x1001edb
  2502. const m_XK_ohornbelowdot = 0x1001ee3
  2503. const m_XK_ohorngrave = 0x1001edd
  2504. const m_XK_ohornhook = 0x1001edf
  2505. const m_XK_ohorntilde = 0x1001ee1
  2506. const m_XK_omacron = 0x03f2
  2507. const m_XK_onehalf = 0x00bd
  2508. const m_XK_onequarter = 0x00bc
  2509. const m_XK_onesubscript = 0x1002081
  2510. const m_XK_onesuperior = 0x00b9
  2511. const m_XK_ooblique = 0x00f8
  2512. const m_XK_ordfeminine = 0x00aa
  2513. const m_XK_oslash = 0x00f8
  2514. const m_XK_otilde = 0x00f5
  2515. const m_XK_overline = 0x047e
  2516. const m_XK_p = 0x0070
  2517. const m_XK_pabovedot = 0x1001e57
  2518. const m_XK_paragraph = 0x00b6
  2519. const m_XK_parenleft = 0x0028
  2520. const m_XK_parenright = 0x0029
  2521. const m_XK_partdifferential = 0x1002202
  2522. const m_XK_percent = 0x0025
  2523. const m_XK_period = 0x002e
  2524. const m_XK_periodcentered = 0x00b7
  2525. const m_XK_plus = 0x002b
  2526. const m_XK_plusminus = 0x00b1
  2527. const m_XK_prolongedsound = 0x04b0
  2528. const m_XK_q = 0x0071
  2529. const m_XK_question = 0x003f
  2530. const m_XK_questiondown = 0x00bf
  2531. const m_XK_quotedbl = 0x0022
  2532. const m_XK_quoteleft = 0x0060
  2533. const m_XK_quoteright = 0x0027
  2534. const m_XK_r = 0x0072
  2535. const m_XK_racute = 0x01e0
  2536. const m_XK_rcaron = 0x01f8
  2537. const m_XK_rcedilla = 0x03b3
  2538. const m_XK_registered = 0x00ae
  2539. const m_XK_s = 0x0073
  2540. const m_XK_sabovedot = 0x1001e61
  2541. const m_XK_sacute = 0x01b6
  2542. const m_XK_scaron = 0x01b9
  2543. const m_XK_scedilla = 0x01ba
  2544. const m_XK_schwa = 0x1000259
  2545. const m_XK_scircumflex = 0x02fe
  2546. const m_XK_script_switch = 0xff7e
  2547. const m_XK_section = 0x00a7
  2548. const m_XK_semicolon = 0x003b
  2549. const m_XK_semivoicedsound = 0x04df
  2550. const m_XK_sevensubscript = 0x1002087
  2551. const m_XK_sevensuperior = 0x1002077
  2552. const m_XK_sixsubscript = 0x1002086
  2553. const m_XK_sixsuperior = 0x1002076
  2554. const m_XK_slash = 0x002f
  2555. const m_XK_space = 0x0020
  2556. const m_XK_squareroot = 0x100221A
  2557. const m_XK_ssharp = 0x00df
  2558. const m_XK_sterling = 0x00a3
  2559. const m_XK_stricteq = 0x1002263
  2560. const m_XK_t = 0x0074
  2561. const m_XK_tabovedot = 0x1001e6b
  2562. const m_XK_tcaron = 0x01bb
  2563. const m_XK_tcedilla = 0x01fe
  2564. const m_XK_thorn = 0x00fe
  2565. const m_XK_threequarters = 0x00be
  2566. const m_XK_threesubscript = 0x1002083
  2567. const m_XK_threesuperior = 0x00b3
  2568. const m_XK_tintegral = 0x100222D
  2569. const m_XK_tslash = 0x03bc
  2570. const m_XK_twosubscript = 0x1002082
  2571. const m_XK_twosuperior = 0x00b2
  2572. const m_XK_u = 0x0075
  2573. const m_XK_uacute = 0x00fa
  2574. const m_XK_ubelowdot = 0x1001ee5
  2575. const m_XK_ubreve = 0x02fd
  2576. const m_XK_ucircumflex = 0x00fb
  2577. const m_XK_udiaeresis = 0x00fc
  2578. const m_XK_udoubleacute = 0x01fb
  2579. const m_XK_ugrave = 0x00f9
  2580. const m_XK_uhook = 0x1001ee7
  2581. const m_XK_uhorn = 0x10001b0
  2582. const m_XK_uhornacute = 0x1001ee9
  2583. const m_XK_uhornbelowdot = 0x1001ef1
  2584. const m_XK_uhorngrave = 0x1001eeb
  2585. const m_XK_uhornhook = 0x1001eed
  2586. const m_XK_uhorntilde = 0x1001eef
  2587. const m_XK_umacron = 0x03fe
  2588. const m_XK_underscore = 0x005f
  2589. const m_XK_uogonek = 0x03f9
  2590. const m_XK_uring = 0x01f9
  2591. const m_XK_utilde = 0x03fd
  2592. const m_XK_v = 0x0076
  2593. const m_XK_voicedsound = 0x04de
  2594. const m_XK_w = 0x0077
  2595. const m_XK_wacute = 0x1001e83
  2596. const m_XK_wcircumflex = 0x1000175
  2597. const m_XK_wdiaeresis = 0x1001e85
  2598. const m_XK_wgrave = 0x1001e81
  2599. const m_XK_x = 0x0078
  2600. const m_XK_xabovedot = 0x1001e8b
  2601. const m_XK_y = 0x0079
  2602. const m_XK_yacute = 0x00fd
  2603. const m_XK_ybelowdot = 0x1001ef5
  2604. const m_XK_ycircumflex = 0x1000177
  2605. const m_XK_ydiaeresis = 0x00ff
  2606. const m_XK_yen = 0x00a5
  2607. const m_XK_ygrave = 0x1001ef3
  2608. const m_XK_yhook = 0x1001ef7
  2609. const m_XK_ytilde = 0x1001ef9
  2610. const m_XK_z = 0x007a
  2611. const m_XK_zabovedot = 0x01bf
  2612. const m_XK_zacute = 0x01bc
  2613. const m_XK_zcaron = 0x01be
  2614. const m_XK_zerosubscript = 0x1002080
  2615. const m_XK_zerosuperior = 0x1002070
  2616. const m_XK_zstroke = 0x10001b6
  2617. const m_XLookupBoth = 4
  2618. const m_XLookupChars = 2
  2619. const m_XLookupKeySym = 3
  2620. const m_XLookupNone = 1
  2621. const m_XMD_H = 1
  2622. const m_XMUTEX_INITIALIZER = "PTHREAD_MUTEX_INITIALIZER"
  2623. const m_XNArea = "area"
  2624. const m_XNAreaNeeded = "areaNeeded"
  2625. const m_XNBackground = "background"
  2626. const m_XNBackgroundPixmap = "backgroundPixmap"
  2627. const m_XNBaseFontName = "baseFontName"
  2628. const m_XNClientWindow = "clientWindow"
  2629. const m_XNColormap = "colorMap"
  2630. const m_XNContextualDrawing = "contextualDrawing"
  2631. const m_XNCursor = "cursor"
  2632. const m_XNDefaultString = "defaultString"
  2633. const m_XNDestroyCallback = "destroyCallback"
  2634. const m_XNDirectionalDependentDrawing = "directionalDependentDrawing"
  2635. const m_XNFilterEvents = "filterEvents"
  2636. const m_XNFocusWindow = "focusWindow"
  2637. const m_XNFontInfo = "fontInfo"
  2638. const m_XNFontSet = "fontSet"
  2639. const m_XNForeground = "foreground"
  2640. const m_XNGeometryCallback = "geometryCallback"
  2641. const m_XNHotKey = "hotKey"
  2642. const m_XNHotKeyState = "hotKeyState"
  2643. const m_XNInputStyle = "inputStyle"
  2644. const m_XNLineSpace = "lineSpace"
  2645. const m_XNMissingCharSet = "missingCharSet"
  2646. const m_XNOMAutomatic = "omAutomatic"
  2647. const m_XNOrientation = "orientation"
  2648. const m_XNPreeditAttributes = "preeditAttributes"
  2649. const m_XNPreeditCaretCallback = "preeditCaretCallback"
  2650. const m_XNPreeditDoneCallback = "preeditDoneCallback"
  2651. const m_XNPreeditDrawCallback = "preeditDrawCallback"
  2652. const m_XNPreeditStartCallback = "preeditStartCallback"
  2653. const m_XNPreeditState = "preeditState"
  2654. const m_XNPreeditStateNotifyCallback = "preeditStateNotifyCallback"
  2655. const m_XNQueryICValuesList = "queryICValuesList"
  2656. const m_XNQueryIMValuesList = "queryIMValuesList"
  2657. const m_XNQueryInputStyle = "queryInputStyle"
  2658. const m_XNQueryOrientation = "queryOrientation"
  2659. const m_XNR6PreeditCallback = "r6PreeditCallback"
  2660. const m_XNRequiredCharSet = "requiredCharSet"
  2661. const m_XNResetState = "resetState"
  2662. const m_XNResourceClass = "resourceClass"
  2663. const m_XNResourceName = "resourceName"
  2664. const m_XNSeparatorofNestedList = "separatorofNestedList"
  2665. const m_XNSpotLocation = "spotLocation"
  2666. const m_XNStatusAttributes = "statusAttributes"
  2667. const m_XNStatusDoneCallback = "statusDoneCallback"
  2668. const m_XNStatusDrawCallback = "statusDrawCallback"
  2669. const m_XNStatusStartCallback = "statusStartCallback"
  2670. const m_XNStdColormap = "stdColorMap"
  2671. const m_XNStringConversion = "stringConversion"
  2672. const m_XNStringConversionCallback = "stringConversionCallback"
  2673. const m_XNVaNestedList = "XNVaNestedList"
  2674. const m_XNVisiblePosition = "visiblePosition"
  2675. const m_XNegative = 0x0010
  2676. const m_XTHREADS = 1
  2677. const m_XUSE_MTSAFE_API = 1
  2678. const m_XValue = 0x0001
  2679. const m_XYBitmap = 0
  2680. const m_XYPixmap = 1
  2681. const m_X_AllocColor = 84
  2682. const m_X_AllocColorCells = 86
  2683. const m_X_AllocColorPlanes = 87
  2684. const m_X_AllocNamedColor = 85
  2685. const m_X_AllowEvents = 35
  2686. const m_X_Bell = 104
  2687. const m_X_ChangeActivePointerGrab = 30
  2688. const m_X_ChangeGC = 56
  2689. const m_X_ChangeHosts = 109
  2690. const m_X_ChangeKeyboardControl = 102
  2691. const m_X_ChangeKeyboardMapping = 100
  2692. const m_X_ChangePointerControl = 105
  2693. const m_X_ChangeProperty = 18
  2694. const m_X_ChangeSaveSet = 6
  2695. const m_X_ChangeWindowAttributes = 2
  2696. const m_X_CirculateWindow = 13
  2697. const m_X_ClearArea = 61
  2698. const m_X_CloseFont = 46
  2699. const m_X_ConfigureWindow = 12
  2700. const m_X_ConvertSelection = 24
  2701. const m_X_CopyArea = 62
  2702. const m_X_CopyColormapAndFree = 80
  2703. const m_X_CopyGC = 57
  2704. const m_X_CopyPlane = 63
  2705. const m_X_CreateColormap = 78
  2706. const m_X_CreateCursor = 93
  2707. const m_X_CreateGC = 55
  2708. const m_X_CreateGlyphCursor = 94
  2709. const m_X_CreatePixmap = 53
  2710. const m_X_CreateWindow = 1
  2711. const m_X_DeleteProperty = 19
  2712. const m_X_DestroySubwindows = 5
  2713. const m_X_DestroyWindow = 4
  2714. const m_X_Error = 0
  2715. const m_X_FillPoly = 69
  2716. const m_X_ForceScreenSaver = 115
  2717. const m_X_FreeColormap = 79
  2718. const m_X_FreeColors = 88
  2719. const m_X_FreeCursor = 95
  2720. const m_X_FreeGC = 60
  2721. const m_X_FreePixmap = 54
  2722. const m_X_GetAtomName = 17
  2723. const m_X_GetFontPath = 52
  2724. const m_X_GetGeometry = 14
  2725. const m_X_GetImage = 73
  2726. const m_X_GetInputFocus = 43
  2727. const m_X_GetKeyboardControl = 103
  2728. const m_X_GetKeyboardMapping = 101
  2729. const m_X_GetModifierMapping = 119
  2730. const m_X_GetMotionEvents = 39
  2731. const m_X_GetPointerControl = 106
  2732. const m_X_GetPointerMapping = 117
  2733. const m_X_GetProperty = 20
  2734. const m_X_GetScreenSaver = 108
  2735. const m_X_GetSelectionOwner = 23
  2736. const m_X_GetWindowAttributes = 3
  2737. const m_X_GrabButton = 28
  2738. const m_X_GrabKey = 33
  2739. const m_X_GrabKeyboard = 31
  2740. const m_X_GrabPointer = 26
  2741. const m_X_GrabServer = 36
  2742. const m_X_HAVE_UTF8_STRING = 1
  2743. const m_X_ImageText16 = 77
  2744. const m_X_ImageText8 = 76
  2745. const m_X_InstallColormap = 81
  2746. const m_X_InternAtom = 16
  2747. const m_X_KillClient = 113
  2748. const m_X_ListExtensions = 99
  2749. const m_X_ListFonts = 49
  2750. const m_X_ListFontsWithInfo = 50
  2751. const m_X_ListHosts = 110
  2752. const m_X_ListInstalledColormaps = 83
  2753. const m_X_ListProperties = 21
  2754. const m_X_LookupColor = 92
  2755. const m_X_MapSubwindows = 9
  2756. const m_X_MapWindow = 8
  2757. const m_X_NoOperation = 127
  2758. const m_X_OpenFont = 45
  2759. const m_X_PROTOCOL = 11
  2760. const m_X_PROTOCOL_REVISION = 0
  2761. const m_X_PolyArc = 68
  2762. const m_X_PolyFillArc = 71
  2763. const m_X_PolyFillRectangle = 70
  2764. const m_X_PolyLine = 65
  2765. const m_X_PolyPoint = 64
  2766. const m_X_PolyRectangle = 67
  2767. const m_X_PolySegment = 66
  2768. const m_X_PolyText16 = 75
  2769. const m_X_PolyText8 = 74
  2770. const m_X_PutImage = 72
  2771. const m_X_QueryBestSize = 97
  2772. const m_X_QueryColors = 91
  2773. const m_X_QueryExtension = 98
  2774. const m_X_QueryFont = 47
  2775. const m_X_QueryKeymap = 44
  2776. const m_X_QueryPointer = 38
  2777. const m_X_QueryTextExtents = 48
  2778. const m_X_QueryTree = 15
  2779. const m_X_RecolorCursor = 96
  2780. const m_X_RenderAddGlyphs = 20
  2781. const m_X_RenderAddGlyphsFromPicture = 21
  2782. const m_X_RenderAddTraps = 32
  2783. const m_X_RenderChangePicture = 5
  2784. const m_X_RenderColorTrapezoids = 14
  2785. const m_X_RenderColorTriangles = 15
  2786. const m_X_RenderComposite = 8
  2787. const m_X_RenderCompositeGlyphs16 = 24
  2788. const m_X_RenderCompositeGlyphs32 = 25
  2789. const m_X_RenderCompositeGlyphs8 = 23
  2790. const m_X_RenderCreateAnimCursor = 31
  2791. const m_X_RenderCreateConicalGradient = 36
  2792. const m_X_RenderCreateCursor = 27
  2793. const m_X_RenderCreateGlyphSet = 17
  2794. const m_X_RenderCreateLinearGradient = 34
  2795. const m_X_RenderCreatePicture = 4
  2796. const m_X_RenderCreateRadialGradient = 35
  2797. const m_X_RenderCreateSolidFill = 33
  2798. const m_X_RenderFillRectangles = 26
  2799. const m_X_RenderFreeGlyphSet = 19
  2800. const m_X_RenderFreeGlyphs = 22
  2801. const m_X_RenderFreePicture = 7
  2802. const m_X_RenderQueryDithers = 3
  2803. const m_X_RenderQueryFilters = 29
  2804. const m_X_RenderQueryPictFormats = 1
  2805. const m_X_RenderQueryPictIndexValues = 2
  2806. const m_X_RenderQueryVersion = 0
  2807. const m_X_RenderReferenceGlyphSet = 18
  2808. const m_X_RenderScale = 9
  2809. const m_X_RenderSetPictureClipRectangles = 6
  2810. const m_X_RenderSetPictureFilter = 30
  2811. const m_X_RenderSetPictureTransform = 28
  2812. const m_X_RenderTrapezoids = 10
  2813. const m_X_RenderTriFan = 13
  2814. const m_X_RenderTriStrip = 12
  2815. const m_X_RenderTriangles = 11
  2816. const m_X_ReparentWindow = 7
  2817. const m_X_Reply = 1
  2818. const m_X_RotateProperties = 114
  2819. const m_X_SendEvent = 25
  2820. const m_X_SetAccessControl = 111
  2821. const m_X_SetClipRectangles = 59
  2822. const m_X_SetCloseDownMode = 112
  2823. const m_X_SetDashes = 58
  2824. const m_X_SetFontPath = 51
  2825. const m_X_SetInputFocus = 42
  2826. const m_X_SetModifierMapping = 118
  2827. const m_X_SetPointerMapping = 116
  2828. const m_X_SetScreenSaver = 107
  2829. const m_X_SetSelectionOwner = 22
  2830. const m_X_StoreColors = 89
  2831. const m_X_StoreNamedColor = 90
  2832. const m_X_TCP_PORT = 6000
  2833. const m_X_TranslateCoords = 40
  2834. const m_X_UngrabButton = 29
  2835. const m_X_UngrabKey = 34
  2836. const m_X_UngrabKeyboard = 32
  2837. const m_X_UngrabPointer = 27
  2838. const m_X_UngrabServer = 37
  2839. const m_X_UninstallColormap = 82
  2840. const m_X_UnmapSubwindows = 11
  2841. const m_X_UnmapWindow = 10
  2842. const m_X_WarpPointer = 41
  2843. const m_XlibSpecificationRelease = 6
  2844. const m_YNegative = 0x0020
  2845. const m_YSorted = 1
  2846. const m_YValue = 0x0002
  2847. const m_YXBanded = 3
  2848. const m_YXSorted = 2
  2849. const m_ZLNSPERBATCH = 1024
  2850. const m_ZPixmap = 2
  2851. const m_ZRCTSPERBATCH = 256
  2852. const m_ZoomState = 2
  2853. const m__FILE_OFFSET_BITS = 64
  2854. const m__GNU_SOURCE = 1
  2855. const m__ILP32 = 1
  2856. const m__REDIR_TIME64 = 1
  2857. const m__STDC_PREDEF_H = 1
  2858. const m__X11_XLIBINT_H_ = 1
  2859. const m__XBCOPYFUNC = "_Xbcopy"
  2860. const m__X_INLINE = "inline"
  2861. const m__X_RESTRICT_KYWD = "restrict"
  2862. const m__Xconst = "const"
  2863. const m___ATOMIC_ACQUIRE = 2
  2864. const m___ATOMIC_ACQ_REL = 4
  2865. const m___ATOMIC_CONSUME = 1
  2866. const m___ATOMIC_HLE_ACQUIRE = 65536
  2867. const m___ATOMIC_HLE_RELEASE = 131072
  2868. const m___ATOMIC_RELAXED = 0
  2869. const m___ATOMIC_RELEASE = 3
  2870. const m___ATOMIC_SEQ_CST = 5
  2871. const m___BIGGEST_ALIGNMENT__ = 16
  2872. const m___BIG_ENDIAN = 4321
  2873. const m___BYTE_ORDER = 1234
  2874. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  2875. const m___CCGO__ = 1
  2876. const m___CHAR_BIT__ = 8
  2877. const m___DBL_DECIMAL_DIG__ = 17
  2878. const m___DBL_DIG__ = 15
  2879. const m___DBL_HAS_DENORM__ = 1
  2880. const m___DBL_HAS_INFINITY__ = 1
  2881. const m___DBL_HAS_QUIET_NAN__ = 1
  2882. const m___DBL_IS_IEC_60559__ = 2
  2883. const m___DBL_MANT_DIG__ = 53
  2884. const m___DBL_MAX_10_EXP__ = 308
  2885. const m___DBL_MAX_EXP__ = 1024
  2886. const m___DEC128_EPSILON__ = 1e-33
  2887. const m___DEC128_MANT_DIG__ = 34
  2888. const m___DEC128_MAX_EXP__ = 6145
  2889. const m___DEC128_MAX__ = "9.999999999999999999999999999999999E6144"
  2890. const m___DEC128_MIN__ = 1e-6143
  2891. const m___DEC128_SUBNORMAL_MIN__ = 0.000000000000000000000000000000001e-6143
  2892. const m___DEC32_EPSILON__ = 1e-6
  2893. const m___DEC32_MANT_DIG__ = 7
  2894. const m___DEC32_MAX_EXP__ = 97
  2895. const m___DEC32_MAX__ = 9.999999e96
  2896. const m___DEC32_MIN__ = 1e-95
  2897. const m___DEC32_SUBNORMAL_MIN__ = 0.000001e-95
  2898. const m___DEC64_EPSILON__ = 1e-15
  2899. const m___DEC64_MANT_DIG__ = 16
  2900. const m___DEC64_MAX_EXP__ = 385
  2901. const m___DEC64_MAX__ = "9.999999999999999E384"
  2902. const m___DEC64_MIN__ = 1e-383
  2903. const m___DEC64_SUBNORMAL_MIN__ = 0.000000000000001e-383
  2904. const m___DECIMAL_BID_FORMAT__ = 1
  2905. const m___DECIMAL_DIG__ = 17
  2906. const m___DEC_EVAL_METHOD__ = 2
  2907. const m___ELF__ = 1
  2908. const m___FINITE_MATH_ONLY__ = 0
  2909. const m___FLOAT_WORD_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  2910. const m___FLT128_DECIMAL_DIG__ = 36
  2911. const m___FLT128_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  2912. const m___FLT128_DIG__ = 33
  2913. const m___FLT128_EPSILON__ = 1.92592994438723585305597794258492732e-34
  2914. const m___FLT128_HAS_DENORM__ = 1
  2915. const m___FLT128_HAS_INFINITY__ = 1
  2916. const m___FLT128_HAS_QUIET_NAN__ = 1
  2917. const m___FLT128_IS_IEC_60559__ = 2
  2918. const m___FLT128_MANT_DIG__ = 113
  2919. const m___FLT128_MAX_10_EXP__ = 4932
  2920. const m___FLT128_MAX_EXP__ = 16384
  2921. const m___FLT128_MAX__ = "1.18973149535723176508575932662800702e+4932"
  2922. const m___FLT128_MIN__ = 3.36210314311209350626267781732175260e-4932
  2923. const m___FLT128_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  2924. const m___FLT32X_DECIMAL_DIG__ = 17
  2925. const m___FLT32X_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  2926. const m___FLT32X_DIG__ = 15
  2927. const m___FLT32X_EPSILON__ = 2.22044604925031308084726333618164062e-16
  2928. const m___FLT32X_HAS_DENORM__ = 1
  2929. const m___FLT32X_HAS_INFINITY__ = 1
  2930. const m___FLT32X_HAS_QUIET_NAN__ = 1
  2931. const m___FLT32X_IS_IEC_60559__ = 2
  2932. const m___FLT32X_MANT_DIG__ = 53
  2933. const m___FLT32X_MAX_10_EXP__ = 308
  2934. const m___FLT32X_MAX_EXP__ = 1024
  2935. const m___FLT32X_MAX__ = 1.79769313486231570814527423731704357e+308
  2936. const m___FLT32X_MIN__ = 2.22507385850720138309023271733240406e-308
  2937. const m___FLT32X_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  2938. const m___FLT32_DECIMAL_DIG__ = 9
  2939. const m___FLT32_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  2940. const m___FLT32_DIG__ = 6
  2941. const m___FLT32_EPSILON__ = 1.19209289550781250000000000000000000e-7
  2942. const m___FLT32_HAS_DENORM__ = 1
  2943. const m___FLT32_HAS_INFINITY__ = 1
  2944. const m___FLT32_HAS_QUIET_NAN__ = 1
  2945. const m___FLT32_IS_IEC_60559__ = 2
  2946. const m___FLT32_MANT_DIG__ = 24
  2947. const m___FLT32_MAX_10_EXP__ = 38
  2948. const m___FLT32_MAX_EXP__ = 128
  2949. const m___FLT32_MAX__ = 3.40282346638528859811704183484516925e+38
  2950. const m___FLT32_MIN__ = 1.17549435082228750796873653722224568e-38
  2951. const m___FLT32_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  2952. const m___FLT64X_DECIMAL_DIG__ = 36
  2953. const m___FLT64X_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  2954. const m___FLT64X_DIG__ = 33
  2955. const m___FLT64X_EPSILON__ = 1.92592994438723585305597794258492732e-34
  2956. const m___FLT64X_HAS_DENORM__ = 1
  2957. const m___FLT64X_HAS_INFINITY__ = 1
  2958. const m___FLT64X_HAS_QUIET_NAN__ = 1
  2959. const m___FLT64X_IS_IEC_60559__ = 2
  2960. const m___FLT64X_MANT_DIG__ = 113
  2961. const m___FLT64X_MAX_10_EXP__ = 4932
  2962. const m___FLT64X_MAX_EXP__ = 16384
  2963. const m___FLT64X_MAX__ = "1.18973149535723176508575932662800702e+4932"
  2964. const m___FLT64X_MIN__ = 3.36210314311209350626267781732175260e-4932
  2965. const m___FLT64X_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  2966. const m___FLT64_DECIMAL_DIG__ = 17
  2967. const m___FLT64_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  2968. const m___FLT64_DIG__ = 15
  2969. const m___FLT64_EPSILON__ = 2.22044604925031308084726333618164062e-16
  2970. const m___FLT64_HAS_DENORM__ = 1
  2971. const m___FLT64_HAS_INFINITY__ = 1
  2972. const m___FLT64_HAS_QUIET_NAN__ = 1
  2973. const m___FLT64_IS_IEC_60559__ = 2
  2974. const m___FLT64_MANT_DIG__ = 53
  2975. const m___FLT64_MAX_10_EXP__ = 308
  2976. const m___FLT64_MAX_EXP__ = 1024
  2977. const m___FLT64_MAX__ = 1.79769313486231570814527423731704357e+308
  2978. const m___FLT64_MIN__ = 2.22507385850720138309023271733240406e-308
  2979. const m___FLT64_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  2980. const m___FLT_DECIMAL_DIG__ = 9
  2981. const m___FLT_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  2982. const m___FLT_DIG__ = 6
  2983. const m___FLT_EPSILON__ = 1.19209289550781250000000000000000000e-7
  2984. const m___FLT_EVAL_METHOD_TS_18661_3__ = 2
  2985. const m___FLT_EVAL_METHOD__ = 2
  2986. const m___FLT_HAS_DENORM__ = 1
  2987. const m___FLT_HAS_INFINITY__ = 1
  2988. const m___FLT_HAS_QUIET_NAN__ = 1
  2989. const m___FLT_IS_IEC_60559__ = 2
  2990. const m___FLT_MANT_DIG__ = 24
  2991. const m___FLT_MAX_10_EXP__ = 38
  2992. const m___FLT_MAX_EXP__ = 128
  2993. const m___FLT_MAX__ = 3.40282346638528859811704183484516925e+38
  2994. const m___FLT_MIN__ = 1.17549435082228750796873653722224568e-38
  2995. const m___FLT_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  2996. const m___FLT_RADIX__ = 2
  2997. const m___FUNCTION__ = "__func__"
  2998. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  2999. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  3000. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  3001. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  3002. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  3003. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  3004. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  3005. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  3006. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  3007. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  3008. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  3009. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  3010. const m___GCC_CONSTRUCTIVE_SIZE = 64
  3011. const m___GCC_DESTRUCTIVE_SIZE = 64
  3012. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  3013. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  3014. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  3015. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  3016. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  3017. const m___GCC_IEC_559 = 2
  3018. const m___GCC_IEC_559_COMPLEX = 2
  3019. const m___GNUC_EXECUTION_CHARSET_NAME = "UTF-8"
  3020. const m___GNUC_MINOR__ = 2
  3021. const m___GNUC_PATCHLEVEL__ = 0
  3022. const m___GNUC_STDC_INLINE__ = 1
  3023. const m___GNUC_WIDE_EXECUTION_CHARSET_NAME = "UTF-32LE"
  3024. const m___GNUC__ = 12
  3025. const m___GXX_ABI_VERSION = 1017
  3026. const m___HAVE_SPECULATION_SAFE_VALUE = 1
  3027. const m___ILP32__ = 1
  3028. const m___INT16_MAX__ = 0x7fff
  3029. const m___INT32_MAX__ = 0x7fffffff
  3030. const m___INT32_TYPE__ = "int"
  3031. const m___INT64_MAX__ = 0x7fffffffffffffff
  3032. const m___INT8_MAX__ = 0x7f
  3033. const m___INTMAX_MAX__ = 0x7fffffffffffffff
  3034. const m___INTMAX_WIDTH__ = 64
  3035. const m___INTPTR_MAX__ = 0x7fffffff
  3036. const m___INTPTR_TYPE__ = "int"
  3037. const m___INTPTR_WIDTH__ = 32
  3038. const m___INT_FAST16_MAX__ = 0x7fffffff
  3039. const m___INT_FAST16_TYPE__ = "int"
  3040. const m___INT_FAST16_WIDTH__ = 32
  3041. const m___INT_FAST32_MAX__ = 0x7fffffff
  3042. const m___INT_FAST32_TYPE__ = "int"
  3043. const m___INT_FAST32_WIDTH__ = 32
  3044. const m___INT_FAST64_MAX__ = 0x7fffffffffffffff
  3045. const m___INT_FAST64_WIDTH__ = 64
  3046. const m___INT_FAST8_MAX__ = 0x7f
  3047. const m___INT_FAST8_WIDTH__ = 8
  3048. const m___INT_LEAST16_MAX__ = 0x7fff
  3049. const m___INT_LEAST16_WIDTH__ = 16
  3050. const m___INT_LEAST32_MAX__ = 0x7fffffff
  3051. const m___INT_LEAST32_TYPE__ = "int"
  3052. const m___INT_LEAST32_WIDTH__ = 32
  3053. const m___INT_LEAST64_MAX__ = 0x7fffffffffffffff
  3054. const m___INT_LEAST64_WIDTH__ = 64
  3055. const m___INT_LEAST8_MAX__ = 0x7f
  3056. const m___INT_LEAST8_WIDTH__ = 8
  3057. const m___INT_MAX__ = 0x7fffffff
  3058. const m___INT_WIDTH__ = 32
  3059. const m___LAHF_SAHF__ = 1
  3060. const m___LDBL_DECIMAL_DIG__ = 17
  3061. const m___LDBL_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  3062. const m___LDBL_DIG__ = 15
  3063. const m___LDBL_EPSILON__ = 2.22044604925031308084726333618164062e-16
  3064. const m___LDBL_HAS_DENORM__ = 1
  3065. const m___LDBL_HAS_INFINITY__ = 1
  3066. const m___LDBL_HAS_QUIET_NAN__ = 1
  3067. const m___LDBL_IS_IEC_60559__ = 2
  3068. const m___LDBL_MANT_DIG__ = 53
  3069. const m___LDBL_MAX_10_EXP__ = 308
  3070. const m___LDBL_MAX_EXP__ = 1024
  3071. const m___LDBL_MAX__ = 1.79769313486231570814527423731704357e+308
  3072. const m___LDBL_MIN__ = 2.22507385850720138309023271733240406e-308
  3073. const m___LDBL_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  3074. const m___LITTLE_ENDIAN = 1234
  3075. const m___LONG_DOUBLE_64__ = 1
  3076. const m___LONG_LONG_MAX__ = 0x7fffffffffffffff
  3077. const m___LONG_LONG_WIDTH__ = 64
  3078. const m___LONG_MAX = 0x7fffffff
  3079. const m___LONG_MAX__ = 0x7fffffff
  3080. const m___LONG_WIDTH__ = 32
  3081. const m___NO_INLINE__ = 1
  3082. const m___ORDER_BIG_ENDIAN__ = 4321
  3083. const m___ORDER_LITTLE_ENDIAN__ = 1234
  3084. const m___ORDER_PDP_ENDIAN__ = 3412
  3085. const m___PDP_ENDIAN = 3412
  3086. const m___PIC__ = 2
  3087. const m___PIE__ = 2
  3088. const m___PRAGMA_REDEFINE_EXTNAME = 1
  3089. const m___PRETTY_FUNCTION__ = "__func__"
  3090. const m___PTRDIFF_MAX__ = 0x7fffffff
  3091. const m___PTRDIFF_TYPE__ = "int"
  3092. const m___PTRDIFF_WIDTH__ = 32
  3093. const m___SCHAR_MAX__ = 0x7f
  3094. const m___SCHAR_WIDTH__ = 8
  3095. const m___SEG_FS = 1
  3096. const m___SEG_GS = 1
  3097. const m___SHRT_MAX__ = 0x7fff
  3098. const m___SHRT_WIDTH__ = 16
  3099. const m___SIG_ATOMIC_MAX__ = 0x7fffffff
  3100. const m___SIG_ATOMIC_TYPE__ = "int"
  3101. const m___SIG_ATOMIC_WIDTH__ = 32
  3102. const m___SIZEOF_DOUBLE__ = 8
  3103. const m___SIZEOF_FLOAT128__ = 16
  3104. const m___SIZEOF_FLOAT80__ = 12
  3105. const m___SIZEOF_FLOAT__ = 4
  3106. const m___SIZEOF_INT__ = 4
  3107. const m___SIZEOF_LONG_DOUBLE__ = 8
  3108. const m___SIZEOF_LONG_LONG__ = 8
  3109. const m___SIZEOF_LONG__ = 4
  3110. const m___SIZEOF_POINTER__ = 4
  3111. const m___SIZEOF_PTRDIFF_T__ = 4
  3112. const m___SIZEOF_SHORT__ = 2
  3113. const m___SIZEOF_SIZE_T__ = 4
  3114. const m___SIZEOF_WCHAR_T__ = 4
  3115. const m___SIZEOF_WINT_T__ = 4
  3116. const m___SIZE_MAX__ = 0xffffffff
  3117. const m___SIZE_WIDTH__ = 32
  3118. const m___STDC_HOSTED__ = 1
  3119. const m___STDC_IEC_559_COMPLEX__ = 1
  3120. const m___STDC_IEC_559__ = 1
  3121. const m___STDC_IEC_60559_BFP__ = 201404
  3122. const m___STDC_IEC_60559_COMPLEX__ = 201404
  3123. const m___STDC_ISO_10646__ = 201706
  3124. const m___STDC_UTF_16__ = 1
  3125. const m___STDC_UTF_32__ = 1
  3126. const m___STDC_VERSION__ = 201710
  3127. const m___STDC__ = 1
  3128. const m___UINT16_MAX__ = 0xffff
  3129. const m___UINT32_MAX__ = 0xffffffff
  3130. const m___UINT64_MAX__ = "0xffffffffffffffffU"
  3131. const m___UINT8_MAX__ = 0xff
  3132. const m___UINTMAX_MAX__ = "0xffffffffffffffffU"
  3133. const m___UINTPTR_MAX__ = 0xffffffff
  3134. const m___UINT_FAST16_MAX__ = 0xffffffff
  3135. const m___UINT_FAST32_MAX__ = 0xffffffff
  3136. const m___UINT_FAST64_MAX__ = "0xffffffffffffffffU"
  3137. const m___UINT_FAST8_MAX__ = 0xff
  3138. const m___UINT_LEAST16_MAX__ = 0xffff
  3139. const m___UINT_LEAST32_MAX__ = 0xffffffff
  3140. const m___UINT_LEAST64_MAX__ = "0xffffffffffffffffU"
  3141. const m___UINT_LEAST8_MAX__ = 0xff
  3142. const m___USE_TIME_BITS64 = 1
  3143. const m___VERSION__ = "12.2.0"
  3144. const m___WCHAR_MAX__ = 0x7fffffff
  3145. const m___WCHAR_WIDTH__ = 32
  3146. const m___WINT_MAX__ = 0xffffffff
  3147. const m___WINT_MIN__ = 0
  3148. const m___WINT_WIDTH__ = 32
  3149. const m___code_model_32__ = 1
  3150. const m___gnu_linux__ = 1
  3151. const m___i386 = 1
  3152. const m___i386__ = 1
  3153. const m___i686 = 1
  3154. const m___i686__ = 1
  3155. const m___inline = "inline"
  3156. const m___linux = 1
  3157. const m___linux__ = 1
  3158. const m___pentiumpro = 1
  3159. const m___pentiumpro__ = 1
  3160. const m___pic__ = 2
  3161. const m___pie__ = 2
  3162. const m___restrict = "restrict"
  3163. const m___restrict_arr = "restrict"
  3164. const m___tm_gmtoff = "tm_gmtoff"
  3165. const m___tm_zone = "tm_zone"
  3166. const m___unix = 1
  3167. const m___unix__ = 1
  3168. const m_alloca = "__builtin_alloca"
  3169. const m_i386 = 1
  3170. const m_linux = 1
  3171. const m_sz_xAllocColorCellsReply = 32
  3172. const m_sz_xAllocColorCellsReq = 12
  3173. const m_sz_xAllocColorPlanesReply = 32
  3174. const m_sz_xAllocColorPlanesReq = 16
  3175. const m_sz_xAllocColorReply = 32
  3176. const m_sz_xAllocColorReq = 16
  3177. const m_sz_xAllocNamedColorReply = 32
  3178. const m_sz_xAllocNamedColorReq = 12
  3179. const m_sz_xAllowEventsReq = 8
  3180. const m_sz_xAnimCursorElt = 8
  3181. const m_sz_xArc = 12
  3182. const m_sz_xBellReq = 4
  3183. const m_sz_xChangeActivePointerGrabReq = 16
  3184. const m_sz_xChangeGCReq = 12
  3185. const m_sz_xChangeHostsReq = 8
  3186. const m_sz_xChangeKeyboardControlReq = 8
  3187. const m_sz_xChangeKeyboardMappingReq = 8
  3188. const m_sz_xChangeModeReq = 4
  3189. const m_sz_xChangePointerControlReq = 12
  3190. const m_sz_xChangePropertyReq = 24
  3191. const m_sz_xChangeSaveSetReq = 8
  3192. const m_sz_xChangeWindowAttributesReq = 12
  3193. const m_sz_xCharInfo = 12
  3194. const m_sz_xCirculateWindowReq = 8
  3195. const m_sz_xClearAreaReq = 16
  3196. const m_sz_xColorItem = 12
  3197. const m_sz_xConfigureWindowReq = 12
  3198. const m_sz_xConnClientPrefix = 12
  3199. const m_sz_xConnSetup = 32
  3200. const m_sz_xConnSetupPrefix = 8
  3201. const m_sz_xConvertSelectionReq = 24
  3202. const m_sz_xCopyAreaReq = 28
  3203. const m_sz_xCopyColormapAndFreeReq = 12
  3204. const m_sz_xCopyGCReq = 16
  3205. const m_sz_xCopyPlaneReq = 32
  3206. const m_sz_xCreateColormapReq = 16
  3207. const m_sz_xCreateCursorReq = 32
  3208. const m_sz_xCreateGCReq = 16
  3209. const m_sz_xCreateGlyphCursorReq = 32
  3210. const m_sz_xCreatePixmapReq = 16
  3211. const m_sz_xCreateWindowReq = 32
  3212. const m_sz_xDeletePropertyReq = 12
  3213. const m_sz_xDepth = 8
  3214. const m_sz_xDirectFormat = 16
  3215. const m_sz_xError = 32
  3216. const m_sz_xEvent = 32
  3217. const m_sz_xFillPolyReq = 16
  3218. const m_sz_xFontProp = 8
  3219. const m_sz_xForceScreenSaverReq = 4
  3220. const m_sz_xFreeColorsReq = 12
  3221. const m_sz_xGenericReply = 32
  3222. const m_sz_xGetAtomNameReply = 32
  3223. const m_sz_xGetFontPathReply = 32
  3224. const m_sz_xGetGeometryReply = 32
  3225. const m_sz_xGetImageReply = 32
  3226. const m_sz_xGetImageReq = 20
  3227. const m_sz_xGetInputFocusReply = 32
  3228. const m_sz_xGetKeyboardControlReply = 52
  3229. const m_sz_xGetKeyboardMappingReply = 32
  3230. const m_sz_xGetKeyboardMappingReq = 8
  3231. const m_sz_xGetModifierMappingReply = 32
  3232. const m_sz_xGetMotionEventsReply = 32
  3233. const m_sz_xGetMotionEventsReq = 16
  3234. const m_sz_xGetPointerControlReply = 32
  3235. const m_sz_xGetPointerMappingReply = 32
  3236. const m_sz_xGetPropertyReply = 32
  3237. const m_sz_xGetPropertyReq = 24
  3238. const m_sz_xGetScreenSaverReply = 32
  3239. const m_sz_xGetSelectionOwnerReply = 32
  3240. const m_sz_xGetWindowAttributesReply = 44
  3241. const m_sz_xGlyphElt = 8
  3242. const m_sz_xGlyphInfo = 12
  3243. const m_sz_xGrabButtonReq = 24
  3244. const m_sz_xGrabKeyReq = 16
  3245. const m_sz_xGrabKeyboardReply = 32
  3246. const m_sz_xGrabKeyboardReq = 16
  3247. const m_sz_xGrabPointerReply = 32
  3248. const m_sz_xGrabPointerReq = 24
  3249. const m_sz_xHostEntry = 4
  3250. const m_sz_xImageText16Req = 16
  3251. const m_sz_xImageText8Req = 16
  3252. const m_sz_xImageTextReq = 16
  3253. const m_sz_xIndexValue = 12
  3254. const m_sz_xInternAtomReply = 32
  3255. const m_sz_xInternAtomReq = 8
  3256. const m_sz_xKeymapEvent = 32
  3257. const m_sz_xLineFixed = 16
  3258. const m_sz_xListExtensionsReply = 32
  3259. const m_sz_xListFontsReply = 32
  3260. const m_sz_xListFontsReq = 8
  3261. const m_sz_xListFontsWithInfoReply = 60
  3262. const m_sz_xListFontsWithInfoReq = 8
  3263. const m_sz_xListHostsReply = 32
  3264. const m_sz_xListHostsReq = 4
  3265. const m_sz_xListInstalledColormapsReply = 32
  3266. const m_sz_xListPropertiesReply = 32
  3267. const m_sz_xLookupColorReply = 32
  3268. const m_sz_xLookupColorReq = 12
  3269. const m_sz_xOpenFontReq = 12
  3270. const m_sz_xPictDepth = 8
  3271. const m_sz_xPictFormInfo = 28
  3272. const m_sz_xPictScreen = 8
  3273. const m_sz_xPictVisual = 8
  3274. const m_sz_xPixmapFormat = 8
  3275. const m_sz_xPoint = 4
  3276. const m_sz_xPointFixed = 8
  3277. const m_sz_xPolyArcReq = 12
  3278. const m_sz_xPolyFillArcReq = 12
  3279. const m_sz_xPolyFillRectangleReq = 12
  3280. const m_sz_xPolyLineReq = 12
  3281. const m_sz_xPolyPointReq = 12
  3282. const m_sz_xPolyRectangleReq = 12
  3283. const m_sz_xPolySegmentReq = 12
  3284. const m_sz_xPolyText16Req = 16
  3285. const m_sz_xPolyText8Req = 16
  3286. const m_sz_xPolyTextReq = 16
  3287. const m_sz_xPropIconSize = 24
  3288. const m_sz_xPutImageReq = 24
  3289. const m_sz_xQueryBestSizeReply = 32
  3290. const m_sz_xQueryBestSizeReq = 12
  3291. const m_sz_xQueryColorsReply = 32
  3292. const m_sz_xQueryColorsReq = 8
  3293. const m_sz_xQueryExtensionReply = 32
  3294. const m_sz_xQueryExtensionReq = 8
  3295. const m_sz_xQueryFontReply = 60
  3296. const m_sz_xQueryKeymapReply = 40
  3297. const m_sz_xQueryPointerReply = 32
  3298. const m_sz_xQueryTextExtentsReply = 32
  3299. const m_sz_xQueryTextExtentsReq = 8
  3300. const m_sz_xQueryTreeReply = 32
  3301. const m_sz_xRecolorCursorReq = 20
  3302. const m_sz_xRectangle = 8
  3303. const m_sz_xRenderAddGlyphsReq = 12
  3304. const m_sz_xRenderAddTrapsReq = 12
  3305. const m_sz_xRenderChangePictureReq = 12
  3306. const m_sz_xRenderColor = 8
  3307. const m_sz_xRenderCompositeGlyphs16Req = 28
  3308. const m_sz_xRenderCompositeGlyphs32Req = 28
  3309. const m_sz_xRenderCompositeGlyphs8Req = 28
  3310. const m_sz_xRenderCompositeReq = 36
  3311. const m_sz_xRenderCreateAnimCursorReq = 8
  3312. const m_sz_xRenderCreateConicalGradientReq = 24
  3313. const m_sz_xRenderCreateCursorReq = 16
  3314. const m_sz_xRenderCreateGlyphSetReq = 12
  3315. const m_sz_xRenderCreateLinearGradientReq = 28
  3316. const m_sz_xRenderCreatePictureReq = 20
  3317. const m_sz_xRenderCreateRadialGradientReq = 36
  3318. const m_sz_xRenderCreateSolidFillReq = 16
  3319. const m_sz_xRenderFillRectanglesReq = 20
  3320. const m_sz_xRenderFreeGlyphSetReq = 8
  3321. const m_sz_xRenderFreeGlyphsReq = 8
  3322. const m_sz_xRenderFreePictureReq = 8
  3323. const m_sz_xRenderQueryFiltersReply = 32
  3324. const m_sz_xRenderQueryFiltersReq = 8
  3325. const m_sz_xRenderQueryPictFormatsReply = 32
  3326. const m_sz_xRenderQueryPictFormatsReq = 4
  3327. const m_sz_xRenderQueryPictIndexValuesReply = 32
  3328. const m_sz_xRenderQueryPictIndexValuesReq = 8
  3329. const m_sz_xRenderQueryVersionReply = 32
  3330. const m_sz_xRenderQueryVersionReq = 12
  3331. const m_sz_xRenderReferenceGlyphSetReq = 24
  3332. const m_sz_xRenderScaleReq = 32
  3333. const m_sz_xRenderSetPictureClipRectanglesReq = 12
  3334. const m_sz_xRenderSetPictureFilterReq = 12
  3335. const m_sz_xRenderSetPictureTransformReq = 44
  3336. const m_sz_xRenderTransform = 36
  3337. const m_sz_xRenderTrapezoidsReq = 24
  3338. const m_sz_xRenderTriFanReq = 24
  3339. const m_sz_xRenderTriStripReq = 24
  3340. const m_sz_xRenderTrianglesReq = 24
  3341. const m_sz_xReparentWindowReq = 16
  3342. const m_sz_xReply = 32
  3343. const m_sz_xReq = 4
  3344. const m_sz_xResourceReq = 8
  3345. const m_sz_xRotatePropertiesReq = 12
  3346. const m_sz_xSegment = 8
  3347. const m_sz_xSendEventReq = 44
  3348. const m_sz_xSetAccessControlReq = 4
  3349. const m_sz_xSetClipRectanglesReq = 12
  3350. const m_sz_xSetCloseDownModeReq = 4
  3351. const m_sz_xSetDashesReq = 12
  3352. const m_sz_xSetFontPathReq = 8
  3353. const m_sz_xSetInputFocusReq = 12
  3354. const m_sz_xSetMappingReply = 32
  3355. const m_sz_xSetModifierMappingReply = 32
  3356. const m_sz_xSetModifierMappingReq = 4
  3357. const m_sz_xSetPointerMappingReply = 32
  3358. const m_sz_xSetPointerMappingReq = 4
  3359. const m_sz_xSetScreenSaverReq = 12
  3360. const m_sz_xSetSelectionOwnerReq = 16
  3361. const m_sz_xSpanFix = 12
  3362. const m_sz_xStoreColorsReq = 8
  3363. const m_sz_xStoreNamedColorReq = 16
  3364. const m_sz_xTextElt = 2
  3365. const m_sz_xTimecoord = 8
  3366. const m_sz_xTranslateCoordsReply = 32
  3367. const m_sz_xTranslateCoordsReq = 16
  3368. const m_sz_xTrap = 24
  3369. const m_sz_xTrapezoid = 40
  3370. const m_sz_xTriangle = 24
  3371. const m_sz_xUngrabButtonReq = 12
  3372. const m_sz_xUngrabKeyReq = 12
  3373. const m_sz_xVisualType = 24
  3374. const m_sz_xWarpPointerReq = 24
  3375. const m_sz_xWindowRoot = 40
  3376. const m_sz_xrgb = 8
  3377. const m_unix = 1
  3378. const m_xFalse = 0
  3379. const m_xTrue = 1
  3380. const m_xfree = "free"
  3381. const m_xmalloc = "malloc"
  3382. const m_xthread_self = "pthread_self"
  3383. type t__builtin_va_list = uintptr
  3384. type t__predefined_size_t = uint32
  3385. type t__predefined_wchar_t = int32
  3386. type t__predefined_ptrdiff_t = int32
  3387. type Tuintptr_t = uint32
  3388. type Tintptr_t = int32
  3389. type Tint8_t = int8
  3390. type Tint16_t = int16
  3391. type Tint32_t = int32
  3392. type Tint64_t = int64
  3393. type Tintmax_t = int64
  3394. type Tuint8_t = uint8
  3395. type Tuint16_t = uint16
  3396. type Tuint32_t = uint32
  3397. type Tuint64_t = uint64
  3398. type Tuintmax_t = uint64
  3399. type Tint_fast8_t = int8
  3400. type Tint_fast64_t = int64
  3401. type Tint_least8_t = int8
  3402. type Tint_least16_t = int16
  3403. type Tint_least32_t = int32
  3404. type Tint_least64_t = int64
  3405. type Tuint_fast8_t = uint8
  3406. type Tuint_fast64_t = uint64
  3407. type Tuint_least8_t = uint8
  3408. type Tuint_least16_t = uint16
  3409. type Tuint_least32_t = uint32
  3410. type Tuint_least64_t = uint64
  3411. type Tint_fast16_t = int32
  3412. type Tint_fast32_t = int32
  3413. type Tuint_fast16_t = uint32
  3414. type Tuint_fast32_t = uint32
  3415. type Tsize_t = uint32
  3416. type Tssize_t = int32
  3417. type Tregister_t = int32
  3418. type Ttime_t = int64
  3419. type Tsuseconds_t = int64
  3420. type Tu_int64_t = uint64
  3421. type Tmode_t = uint32
  3422. type Tnlink_t = uint32
  3423. type Toff_t = int64
  3424. type Tino_t = uint64
  3425. type Tdev_t = uint64
  3426. type Tblksize_t = int32
  3427. type Tblkcnt_t = int64
  3428. type Tfsblkcnt_t = uint64
  3429. type Tfsfilcnt_t = uint64
  3430. type Ttimer_t = uintptr
  3431. type Tclockid_t = int32
  3432. type Tclock_t = int32
  3433. type Tpid_t = int32
  3434. type Tid_t = uint32
  3435. type Tuid_t = uint32
  3436. type Tgid_t = uint32
  3437. type Tkey_t = int32
  3438. type Tuseconds_t = uint32
  3439. type Tpthread_t = uintptr
  3440. type Tpthread_once_t = int32
  3441. type Tpthread_key_t = uint32
  3442. type Tpthread_spinlock_t = int32
  3443. type Tpthread_mutexattr_t = struct {
  3444. F__attr uint32
  3445. }
  3446. type Tpthread_condattr_t = struct {
  3447. F__attr uint32
  3448. }
  3449. type Tpthread_barrierattr_t = struct {
  3450. F__attr uint32
  3451. }
  3452. type Tpthread_rwlockattr_t = struct {
  3453. F__attr [2]uint32
  3454. }
  3455. type Tpthread_attr_t = struct {
  3456. F__u struct {
  3457. F__vi [0][9]int32
  3458. F__s [0][9]uint32
  3459. F__i [9]int32
  3460. }
  3461. }
  3462. type Tpthread_mutex_t = struct {
  3463. F__u struct {
  3464. F__vi [0][6]int32
  3465. F__p [0][6]uintptr
  3466. F__i [6]int32
  3467. }
  3468. F__ccgo_room int32
  3469. }
  3470. type Tpthread_cond_t = struct {
  3471. F__u struct {
  3472. F__vi [0][12]int32
  3473. F__p [0][12]uintptr
  3474. F__i [12]int32
  3475. }
  3476. }
  3477. type Tpthread_rwlock_t = struct {
  3478. F__u struct {
  3479. F__vi [0][8]int32
  3480. F__p [0][8]uintptr
  3481. F__i [8]int32
  3482. }
  3483. }
  3484. type Tpthread_barrier_t = struct {
  3485. F__u struct {
  3486. F__vi [0][5]int32
  3487. F__p [0][5]uintptr
  3488. F__i [5]int32
  3489. }
  3490. }
  3491. type Tu_int8_t = uint8
  3492. type Tu_int16_t = uint16
  3493. type Tu_int32_t = uint32
  3494. type Tcaddr_t = uintptr
  3495. type Tu_char = uint8
  3496. type Tu_short = uint16
  3497. type Tushort = uint16
  3498. type Tu_int = uint32
  3499. type Tuint = uint32
  3500. type Tu_long = uint32
  3501. type Tulong = uint32
  3502. type Tquad_t = int64
  3503. type Tu_quad_t = uint64
  3504. type Ttimeval = struct {
  3505. Ftv_sec Ttime_t
  3506. Ftv_usec Tsuseconds_t
  3507. }
  3508. type Ttimespec = struct {
  3509. Ftv_sec Ttime_t
  3510. Ftv_nsec int32
  3511. F__ccgo12 uint32
  3512. }
  3513. type Tsigset_t = struct {
  3514. F__bits [32]uint32
  3515. }
  3516. type t__sigset_t = Tsigset_t
  3517. type Tfd_mask = uint32
  3518. type Tfd_set = struct {
  3519. Ffds_bits [32]uint32
  3520. }
  3521. type TXID = uint32
  3522. type TMask = uint32
  3523. type TAtom = uint32
  3524. type TVisualID = uint32
  3525. type TTime = uint32
  3526. type TWindow = uint32
  3527. type TDrawable = uint32
  3528. type TFont = uint32
  3529. type TPixmap = uint32
  3530. type TCursor = uint32
  3531. type TColormap = uint32
  3532. type TGContext = uint32
  3533. type TKeySym = uint32
  3534. type TKeyCode = uint8
  3535. type Twchar_t = int32
  3536. type Tmax_align_t = struct {
  3537. F__ll int64
  3538. F__ld float64
  3539. }
  3540. type Tptrdiff_t = int32
  3541. type TXPointer = uintptr
  3542. type TXExtData = struct {
  3543. Fnumber int32
  3544. Fnext uintptr
  3545. Ffree_private uintptr
  3546. Fprivate_data TXPointer
  3547. }
  3548. type T_XExtData = TXExtData
  3549. type TXExtCodes = struct {
  3550. Fextension int32
  3551. Fmajor_opcode int32
  3552. Ffirst_event int32
  3553. Ffirst_error int32
  3554. }
  3555. type TXPixmapFormatValues = struct {
  3556. Fdepth int32
  3557. Fbits_per_pixel int32
  3558. Fscanline_pad int32
  3559. }
  3560. type TXGCValues = struct {
  3561. Ffunction int32
  3562. Fplane_mask uint32
  3563. Fforeground uint32
  3564. Fbackground uint32
  3565. Fline_width int32
  3566. Fline_style int32
  3567. Fcap_style int32
  3568. Fjoin_style int32
  3569. Ffill_style int32
  3570. Ffill_rule int32
  3571. Farc_mode int32
  3572. Ftile TPixmap
  3573. Fstipple TPixmap
  3574. Fts_x_origin int32
  3575. Fts_y_origin int32
  3576. Ffont TFont
  3577. Fsubwindow_mode int32
  3578. Fgraphics_exposures int32
  3579. Fclip_x_origin int32
  3580. Fclip_y_origin int32
  3581. Fclip_mask TPixmap
  3582. Fdash_offset int32
  3583. Fdashes int8
  3584. }
  3585. type TGC = uintptr
  3586. type T_XGC = struct {
  3587. Fext_data uintptr
  3588. Fgid TGContext
  3589. Frects int32
  3590. Fdashes int32
  3591. Fdirty uint32
  3592. Fvalues TXGCValues
  3593. }
  3594. type TVisual = struct {
  3595. Fext_data uintptr
  3596. Fvisualid TVisualID
  3597. Fclass int32
  3598. Fred_mask uint32
  3599. Fgreen_mask uint32
  3600. Fblue_mask uint32
  3601. Fbits_per_rgb int32
  3602. Fmap_entries int32
  3603. }
  3604. type TDepth = struct {
  3605. Fdepth int32
  3606. Fnvisuals int32
  3607. Fvisuals uintptr
  3608. }
  3609. type T_XDisplay = struct {
  3610. Fext_data uintptr
  3611. Ffree_funcs uintptr
  3612. Ffd int32
  3613. Fconn_checker int32
  3614. Fproto_major_version int32
  3615. Fproto_minor_version int32
  3616. Fvendor uintptr
  3617. Fresource_base TXID
  3618. Fresource_mask TXID
  3619. Fresource_id TXID
  3620. Fresource_shift int32
  3621. Fresource_alloc uintptr
  3622. Fbyte_order int32
  3623. Fbitmap_unit int32
  3624. Fbitmap_pad int32
  3625. Fbitmap_bit_order int32
  3626. Fnformats int32
  3627. Fpixmap_format uintptr
  3628. Fvnumber int32
  3629. Frelease int32
  3630. Fhead uintptr
  3631. Ftail uintptr
  3632. Fqlen int32
  3633. Flast_request_read uint32
  3634. Frequest uint32
  3635. Flast_req uintptr
  3636. Fbuffer uintptr
  3637. Fbufptr uintptr
  3638. Fbufmax uintptr
  3639. Fmax_request_size uint32
  3640. Fdb uintptr
  3641. Fsynchandler uintptr
  3642. Fdisplay_name uintptr
  3643. Fdefault_screen int32
  3644. Fnscreens int32
  3645. Fscreens uintptr
  3646. Fmotion_buffer uint32
  3647. Fflags uint32
  3648. Fmin_keycode int32
  3649. Fmax_keycode int32
  3650. Fkeysyms uintptr
  3651. Fmodifiermap uintptr
  3652. Fkeysyms_per_keycode int32
  3653. Fxdefaults uintptr
  3654. Fscratch_buffer uintptr
  3655. Fscratch_length uint32
  3656. Fext_number int32
  3657. Fext_procs uintptr
  3658. Fevent_vec [128]uintptr
  3659. Fwire_vec [128]uintptr
  3660. Flock_meaning TKeySym
  3661. Flock uintptr
  3662. Fasync_handlers uintptr
  3663. Fbigreq_size uint32
  3664. Flock_fns uintptr
  3665. Fidlist_alloc uintptr
  3666. Fkey_bindings uintptr
  3667. Fcursor_font TFont
  3668. Fatoms uintptr
  3669. Fmode_switch uint32
  3670. Fnum_lock uint32
  3671. Fcontext_db uintptr
  3672. Ferror_vec uintptr
  3673. Fcms struct {
  3674. FdefaultCCCs TXPointer
  3675. FclientCmaps TXPointer
  3676. FperVisualIntensityMaps TXPointer
  3677. }
  3678. Fim_filters uintptr
  3679. Fqfree uintptr
  3680. Fnext_event_serial_num uint32
  3681. Fflushes uintptr
  3682. Fim_fd_info uintptr
  3683. Fim_fd_length int32
  3684. Fconn_watchers uintptr
  3685. Fwatcher_count int32
  3686. Ffiledes TXPointer
  3687. Fsavedsynchandler uintptr
  3688. Fresource_max TXID
  3689. Fxcmisc_opcode int32
  3690. Fxkb_info uintptr
  3691. Ftrans_conn uintptr
  3692. Fxcb uintptr
  3693. Fnext_cookie uint32
  3694. Fgeneric_event_vec [128]uintptr
  3695. Fgeneric_event_copy_vec [128]uintptr
  3696. Fcookiejar uintptr
  3697. Flast_request_read_upper32bit uint32
  3698. Frequest_upper32bit uint32
  3699. Ferror_threads uintptr
  3700. Fexit_handler TXIOErrorExitHandler
  3701. Fexit_handler_data uintptr
  3702. Fin_ifevent TCARD32
  3703. Fifevent_thread Txthread_t
  3704. }
  3705. type TScreen = struct {
  3706. Fext_data uintptr
  3707. Fdisplay uintptr
  3708. Froot TWindow
  3709. Fwidth int32
  3710. Fheight int32
  3711. Fmwidth int32
  3712. Fmheight int32
  3713. Fndepths int32
  3714. Fdepths uintptr
  3715. Froot_depth int32
  3716. Froot_visual uintptr
  3717. Fdefault_gc TGC
  3718. Fcmap TColormap
  3719. Fwhite_pixel uint32
  3720. Fblack_pixel uint32
  3721. Fmax_maps int32
  3722. Fmin_maps int32
  3723. Fbacking_store int32
  3724. Fsave_unders int32
  3725. Froot_input_mask int32
  3726. }
  3727. type TScreenFormat = struct {
  3728. Fext_data uintptr
  3729. Fdepth int32
  3730. Fbits_per_pixel int32
  3731. Fscanline_pad int32
  3732. }
  3733. type TXSetWindowAttributes = struct {
  3734. Fbackground_pixmap TPixmap
  3735. Fbackground_pixel uint32
  3736. Fborder_pixmap TPixmap
  3737. Fborder_pixel uint32
  3738. Fbit_gravity int32
  3739. Fwin_gravity int32
  3740. Fbacking_store int32
  3741. Fbacking_planes uint32
  3742. Fbacking_pixel uint32
  3743. Fsave_under int32
  3744. Fevent_mask int32
  3745. Fdo_not_propagate_mask int32
  3746. Foverride_redirect int32
  3747. Fcolormap TColormap
  3748. Fcursor TCursor
  3749. }
  3750. type TXWindowAttributes = struct {
  3751. Fx int32
  3752. Fy int32
  3753. Fwidth int32
  3754. Fheight int32
  3755. Fborder_width int32
  3756. Fdepth int32
  3757. Fvisual uintptr
  3758. Froot TWindow
  3759. Fclass int32
  3760. Fbit_gravity int32
  3761. Fwin_gravity int32
  3762. Fbacking_store int32
  3763. Fbacking_planes uint32
  3764. Fbacking_pixel uint32
  3765. Fsave_under int32
  3766. Fcolormap TColormap
  3767. Fmap_installed int32
  3768. Fmap_state int32
  3769. Fall_event_masks int32
  3770. Fyour_event_mask int32
  3771. Fdo_not_propagate_mask int32
  3772. Foverride_redirect int32
  3773. Fscreen uintptr
  3774. }
  3775. type TXHostAddress = struct {
  3776. Ffamily int32
  3777. Flength int32
  3778. Faddress uintptr
  3779. }
  3780. type TXServerInterpretedAddress = struct {
  3781. Ftypelength int32
  3782. Fvaluelength int32
  3783. Ftype1 uintptr
  3784. Fvalue uintptr
  3785. }
  3786. type TXImage = struct {
  3787. Fwidth int32
  3788. Fheight int32
  3789. Fxoffset int32
  3790. Fformat int32
  3791. Fdata uintptr
  3792. Fbyte_order int32
  3793. Fbitmap_unit int32
  3794. Fbitmap_bit_order int32
  3795. Fbitmap_pad int32
  3796. Fdepth int32
  3797. Fbytes_per_line int32
  3798. Fbits_per_pixel int32
  3799. Fred_mask uint32
  3800. Fgreen_mask uint32
  3801. Fblue_mask uint32
  3802. Fobdata TXPointer
  3803. Ff Tfuncs
  3804. }
  3805. type T_XImage = TXImage
  3806. type TXWindowChanges = struct {
  3807. Fx int32
  3808. Fy int32
  3809. Fwidth int32
  3810. Fheight int32
  3811. Fborder_width int32
  3812. Fsibling TWindow
  3813. Fstack_mode int32
  3814. }
  3815. type TXColor = struct {
  3816. Fpixel uint32
  3817. Fred uint16
  3818. Fgreen uint16
  3819. Fblue uint16
  3820. Fflags int8
  3821. Fpad int8
  3822. }
  3823. type TXSegment = struct {
  3824. Fx1 int16
  3825. Fy1 int16
  3826. Fx2 int16
  3827. Fy2 int16
  3828. }
  3829. type TXPoint = struct {
  3830. Fx int16
  3831. Fy int16
  3832. }
  3833. type TXRectangle = struct {
  3834. Fx int16
  3835. Fy int16
  3836. Fwidth uint16
  3837. Fheight uint16
  3838. }
  3839. type TXArc = struct {
  3840. Fx int16
  3841. Fy int16
  3842. Fwidth uint16
  3843. Fheight uint16
  3844. Fangle1 int16
  3845. Fangle2 int16
  3846. }
  3847. type TXKeyboardControl = struct {
  3848. Fkey_click_percent int32
  3849. Fbell_percent int32
  3850. Fbell_pitch int32
  3851. Fbell_duration int32
  3852. Fled int32
  3853. Fled_mode int32
  3854. Fkey int32
  3855. Fauto_repeat_mode int32
  3856. }
  3857. type TXKeyboardState = struct {
  3858. Fkey_click_percent int32
  3859. Fbell_percent int32
  3860. Fbell_pitch uint32
  3861. Fbell_duration uint32
  3862. Fled_mask uint32
  3863. Fglobal_auto_repeat int32
  3864. Fauto_repeats [32]int8
  3865. }
  3866. type TXTimeCoord = struct {
  3867. Ftime TTime
  3868. Fx int16
  3869. Fy int16
  3870. }
  3871. type TXModifierKeymap = struct {
  3872. Fmax_keypermod int32
  3873. Fmodifiermap uintptr
  3874. }
  3875. type TDisplay = struct {
  3876. Fext_data uintptr
  3877. Ffree_funcs uintptr
  3878. Ffd int32
  3879. Fconn_checker int32
  3880. Fproto_major_version int32
  3881. Fproto_minor_version int32
  3882. Fvendor uintptr
  3883. Fresource_base TXID
  3884. Fresource_mask TXID
  3885. Fresource_id TXID
  3886. Fresource_shift int32
  3887. Fresource_alloc uintptr
  3888. Fbyte_order int32
  3889. Fbitmap_unit int32
  3890. Fbitmap_pad int32
  3891. Fbitmap_bit_order int32
  3892. Fnformats int32
  3893. Fpixmap_format uintptr
  3894. Fvnumber int32
  3895. Frelease int32
  3896. Fhead uintptr
  3897. Ftail uintptr
  3898. Fqlen int32
  3899. Flast_request_read uint32
  3900. Frequest uint32
  3901. Flast_req uintptr
  3902. Fbuffer uintptr
  3903. Fbufptr uintptr
  3904. Fbufmax uintptr
  3905. Fmax_request_size uint32
  3906. Fdb uintptr
  3907. Fsynchandler uintptr
  3908. Fdisplay_name uintptr
  3909. Fdefault_screen int32
  3910. Fnscreens int32
  3911. Fscreens uintptr
  3912. Fmotion_buffer uint32
  3913. Fflags uint32
  3914. Fmin_keycode int32
  3915. Fmax_keycode int32
  3916. Fkeysyms uintptr
  3917. Fmodifiermap uintptr
  3918. Fkeysyms_per_keycode int32
  3919. Fxdefaults uintptr
  3920. Fscratch_buffer uintptr
  3921. Fscratch_length uint32
  3922. Fext_number int32
  3923. Fext_procs uintptr
  3924. Fevent_vec [128]uintptr
  3925. Fwire_vec [128]uintptr
  3926. Flock_meaning TKeySym
  3927. Flock uintptr
  3928. Fasync_handlers uintptr
  3929. Fbigreq_size uint32
  3930. Flock_fns uintptr
  3931. Fidlist_alloc uintptr
  3932. Fkey_bindings uintptr
  3933. Fcursor_font TFont
  3934. Fatoms uintptr
  3935. Fmode_switch uint32
  3936. Fnum_lock uint32
  3937. Fcontext_db uintptr
  3938. Ferror_vec uintptr
  3939. Fcms struct {
  3940. FdefaultCCCs TXPointer
  3941. FclientCmaps TXPointer
  3942. FperVisualIntensityMaps TXPointer
  3943. }
  3944. Fim_filters uintptr
  3945. Fqfree uintptr
  3946. Fnext_event_serial_num uint32
  3947. Fflushes uintptr
  3948. Fim_fd_info uintptr
  3949. Fim_fd_length int32
  3950. Fconn_watchers uintptr
  3951. Fwatcher_count int32
  3952. Ffiledes TXPointer
  3953. Fsavedsynchandler uintptr
  3954. Fresource_max TXID
  3955. Fxcmisc_opcode int32
  3956. Fxkb_info uintptr
  3957. Ftrans_conn uintptr
  3958. Fxcb uintptr
  3959. Fnext_cookie uint32
  3960. Fgeneric_event_vec [128]uintptr
  3961. Fgeneric_event_copy_vec [128]uintptr
  3962. Fcookiejar uintptr
  3963. Flast_request_read_upper32bit uint32
  3964. Frequest_upper32bit uint32
  3965. Ferror_threads uintptr
  3966. Fexit_handler TXIOErrorExitHandler
  3967. Fexit_handler_data uintptr
  3968. Fin_ifevent TCARD32
  3969. Fifevent_thread Txthread_t
  3970. }
  3971. type T_XPrivDisplay = uintptr
  3972. type TXKeyEvent = struct {
  3973. Ftype1 int32
  3974. Fserial uint32
  3975. Fsend_event int32
  3976. Fdisplay uintptr
  3977. Fwindow TWindow
  3978. Froot TWindow
  3979. Fsubwindow TWindow
  3980. Ftime TTime
  3981. Fx int32
  3982. Fy int32
  3983. Fx_root int32
  3984. Fy_root int32
  3985. Fstate uint32
  3986. Fkeycode uint32
  3987. Fsame_screen int32
  3988. }
  3989. type TXKeyPressedEvent = struct {
  3990. Ftype1 int32
  3991. Fserial uint32
  3992. Fsend_event int32
  3993. Fdisplay uintptr
  3994. Fwindow TWindow
  3995. Froot TWindow
  3996. Fsubwindow TWindow
  3997. Ftime TTime
  3998. Fx int32
  3999. Fy int32
  4000. Fx_root int32
  4001. Fy_root int32
  4002. Fstate uint32
  4003. Fkeycode uint32
  4004. Fsame_screen int32
  4005. }
  4006. type TXKeyReleasedEvent = struct {
  4007. Ftype1 int32
  4008. Fserial uint32
  4009. Fsend_event int32
  4010. Fdisplay uintptr
  4011. Fwindow TWindow
  4012. Froot TWindow
  4013. Fsubwindow TWindow
  4014. Ftime TTime
  4015. Fx int32
  4016. Fy int32
  4017. Fx_root int32
  4018. Fy_root int32
  4019. Fstate uint32
  4020. Fkeycode uint32
  4021. Fsame_screen int32
  4022. }
  4023. type TXButtonEvent = struct {
  4024. Ftype1 int32
  4025. Fserial uint32
  4026. Fsend_event int32
  4027. Fdisplay uintptr
  4028. Fwindow TWindow
  4029. Froot TWindow
  4030. Fsubwindow TWindow
  4031. Ftime TTime
  4032. Fx int32
  4033. Fy int32
  4034. Fx_root int32
  4035. Fy_root int32
  4036. Fstate uint32
  4037. Fbutton uint32
  4038. Fsame_screen int32
  4039. }
  4040. type TXButtonPressedEvent = struct {
  4041. Ftype1 int32
  4042. Fserial uint32
  4043. Fsend_event int32
  4044. Fdisplay uintptr
  4045. Fwindow TWindow
  4046. Froot TWindow
  4047. Fsubwindow TWindow
  4048. Ftime TTime
  4049. Fx int32
  4050. Fy int32
  4051. Fx_root int32
  4052. Fy_root int32
  4053. Fstate uint32
  4054. Fbutton uint32
  4055. Fsame_screen int32
  4056. }
  4057. type TXButtonReleasedEvent = struct {
  4058. Ftype1 int32
  4059. Fserial uint32
  4060. Fsend_event int32
  4061. Fdisplay uintptr
  4062. Fwindow TWindow
  4063. Froot TWindow
  4064. Fsubwindow TWindow
  4065. Ftime TTime
  4066. Fx int32
  4067. Fy int32
  4068. Fx_root int32
  4069. Fy_root int32
  4070. Fstate uint32
  4071. Fbutton uint32
  4072. Fsame_screen int32
  4073. }
  4074. type TXMotionEvent = struct {
  4075. Ftype1 int32
  4076. Fserial uint32
  4077. Fsend_event int32
  4078. Fdisplay uintptr
  4079. Fwindow TWindow
  4080. Froot TWindow
  4081. Fsubwindow TWindow
  4082. Ftime TTime
  4083. Fx int32
  4084. Fy int32
  4085. Fx_root int32
  4086. Fy_root int32
  4087. Fstate uint32
  4088. Fis_hint int8
  4089. Fsame_screen int32
  4090. }
  4091. type TXPointerMovedEvent = struct {
  4092. Ftype1 int32
  4093. Fserial uint32
  4094. Fsend_event int32
  4095. Fdisplay uintptr
  4096. Fwindow TWindow
  4097. Froot TWindow
  4098. Fsubwindow TWindow
  4099. Ftime TTime
  4100. Fx int32
  4101. Fy int32
  4102. Fx_root int32
  4103. Fy_root int32
  4104. Fstate uint32
  4105. Fis_hint int8
  4106. Fsame_screen int32
  4107. }
  4108. type TXCrossingEvent = struct {
  4109. Ftype1 int32
  4110. Fserial uint32
  4111. Fsend_event int32
  4112. Fdisplay uintptr
  4113. Fwindow TWindow
  4114. Froot TWindow
  4115. Fsubwindow TWindow
  4116. Ftime TTime
  4117. Fx int32
  4118. Fy int32
  4119. Fx_root int32
  4120. Fy_root int32
  4121. Fmode int32
  4122. Fdetail int32
  4123. Fsame_screen int32
  4124. Ffocus int32
  4125. Fstate uint32
  4126. }
  4127. type TXEnterWindowEvent = struct {
  4128. Ftype1 int32
  4129. Fserial uint32
  4130. Fsend_event int32
  4131. Fdisplay uintptr
  4132. Fwindow TWindow
  4133. Froot TWindow
  4134. Fsubwindow TWindow
  4135. Ftime TTime
  4136. Fx int32
  4137. Fy int32
  4138. Fx_root int32
  4139. Fy_root int32
  4140. Fmode int32
  4141. Fdetail int32
  4142. Fsame_screen int32
  4143. Ffocus int32
  4144. Fstate uint32
  4145. }
  4146. type TXLeaveWindowEvent = struct {
  4147. Ftype1 int32
  4148. Fserial uint32
  4149. Fsend_event int32
  4150. Fdisplay uintptr
  4151. Fwindow TWindow
  4152. Froot TWindow
  4153. Fsubwindow TWindow
  4154. Ftime TTime
  4155. Fx int32
  4156. Fy int32
  4157. Fx_root int32
  4158. Fy_root int32
  4159. Fmode int32
  4160. Fdetail int32
  4161. Fsame_screen int32
  4162. Ffocus int32
  4163. Fstate uint32
  4164. }
  4165. type TXFocusChangeEvent = struct {
  4166. Ftype1 int32
  4167. Fserial uint32
  4168. Fsend_event int32
  4169. Fdisplay uintptr
  4170. Fwindow TWindow
  4171. Fmode int32
  4172. Fdetail int32
  4173. }
  4174. type TXFocusInEvent = struct {
  4175. Ftype1 int32
  4176. Fserial uint32
  4177. Fsend_event int32
  4178. Fdisplay uintptr
  4179. Fwindow TWindow
  4180. Fmode int32
  4181. Fdetail int32
  4182. }
  4183. type TXFocusOutEvent = struct {
  4184. Ftype1 int32
  4185. Fserial uint32
  4186. Fsend_event int32
  4187. Fdisplay uintptr
  4188. Fwindow TWindow
  4189. Fmode int32
  4190. Fdetail int32
  4191. }
  4192. type TXKeymapEvent = struct {
  4193. Ftype1 int32
  4194. Fserial uint32
  4195. Fsend_event int32
  4196. Fdisplay uintptr
  4197. Fwindow TWindow
  4198. Fkey_vector [32]int8
  4199. }
  4200. type TXExposeEvent = struct {
  4201. Ftype1 int32
  4202. Fserial uint32
  4203. Fsend_event int32
  4204. Fdisplay uintptr
  4205. Fwindow TWindow
  4206. Fx int32
  4207. Fy int32
  4208. Fwidth int32
  4209. Fheight int32
  4210. Fcount int32
  4211. }
  4212. type TXGraphicsExposeEvent = struct {
  4213. Ftype1 int32
  4214. Fserial uint32
  4215. Fsend_event int32
  4216. Fdisplay uintptr
  4217. Fdrawable TDrawable
  4218. Fx int32
  4219. Fy int32
  4220. Fwidth int32
  4221. Fheight int32
  4222. Fcount int32
  4223. Fmajor_code int32
  4224. Fminor_code int32
  4225. }
  4226. type TXNoExposeEvent = struct {
  4227. Ftype1 int32
  4228. Fserial uint32
  4229. Fsend_event int32
  4230. Fdisplay uintptr
  4231. Fdrawable TDrawable
  4232. Fmajor_code int32
  4233. Fminor_code int32
  4234. }
  4235. type TXVisibilityEvent = struct {
  4236. Ftype1 int32
  4237. Fserial uint32
  4238. Fsend_event int32
  4239. Fdisplay uintptr
  4240. Fwindow TWindow
  4241. Fstate int32
  4242. }
  4243. type TXCreateWindowEvent = struct {
  4244. Ftype1 int32
  4245. Fserial uint32
  4246. Fsend_event int32
  4247. Fdisplay uintptr
  4248. Fparent TWindow
  4249. Fwindow TWindow
  4250. Fx int32
  4251. Fy int32
  4252. Fwidth int32
  4253. Fheight int32
  4254. Fborder_width int32
  4255. Foverride_redirect int32
  4256. }
  4257. type TXDestroyWindowEvent = struct {
  4258. Ftype1 int32
  4259. Fserial uint32
  4260. Fsend_event int32
  4261. Fdisplay uintptr
  4262. Fevent TWindow
  4263. Fwindow TWindow
  4264. }
  4265. type TXUnmapEvent = struct {
  4266. Ftype1 int32
  4267. Fserial uint32
  4268. Fsend_event int32
  4269. Fdisplay uintptr
  4270. Fevent TWindow
  4271. Fwindow TWindow
  4272. Ffrom_configure int32
  4273. }
  4274. type TXMapEvent = struct {
  4275. Ftype1 int32
  4276. Fserial uint32
  4277. Fsend_event int32
  4278. Fdisplay uintptr
  4279. Fevent TWindow
  4280. Fwindow TWindow
  4281. Foverride_redirect int32
  4282. }
  4283. type TXMapRequestEvent = struct {
  4284. Ftype1 int32
  4285. Fserial uint32
  4286. Fsend_event int32
  4287. Fdisplay uintptr
  4288. Fparent TWindow
  4289. Fwindow TWindow
  4290. }
  4291. type TXReparentEvent = struct {
  4292. Ftype1 int32
  4293. Fserial uint32
  4294. Fsend_event int32
  4295. Fdisplay uintptr
  4296. Fevent TWindow
  4297. Fwindow TWindow
  4298. Fparent TWindow
  4299. Fx int32
  4300. Fy int32
  4301. Foverride_redirect int32
  4302. }
  4303. type TXConfigureEvent = struct {
  4304. Ftype1 int32
  4305. Fserial uint32
  4306. Fsend_event int32
  4307. Fdisplay uintptr
  4308. Fevent TWindow
  4309. Fwindow TWindow
  4310. Fx int32
  4311. Fy int32
  4312. Fwidth int32
  4313. Fheight int32
  4314. Fborder_width int32
  4315. Fabove TWindow
  4316. Foverride_redirect int32
  4317. }
  4318. type TXGravityEvent = struct {
  4319. Ftype1 int32
  4320. Fserial uint32
  4321. Fsend_event int32
  4322. Fdisplay uintptr
  4323. Fevent TWindow
  4324. Fwindow TWindow
  4325. Fx int32
  4326. Fy int32
  4327. }
  4328. type TXResizeRequestEvent = struct {
  4329. Ftype1 int32
  4330. Fserial uint32
  4331. Fsend_event int32
  4332. Fdisplay uintptr
  4333. Fwindow TWindow
  4334. Fwidth int32
  4335. Fheight int32
  4336. }
  4337. type TXConfigureRequestEvent = struct {
  4338. Ftype1 int32
  4339. Fserial uint32
  4340. Fsend_event int32
  4341. Fdisplay uintptr
  4342. Fparent TWindow
  4343. Fwindow TWindow
  4344. Fx int32
  4345. Fy int32
  4346. Fwidth int32
  4347. Fheight int32
  4348. Fborder_width int32
  4349. Fabove TWindow
  4350. Fdetail int32
  4351. Fvalue_mask uint32
  4352. }
  4353. type TXCirculateEvent = struct {
  4354. Ftype1 int32
  4355. Fserial uint32
  4356. Fsend_event int32
  4357. Fdisplay uintptr
  4358. Fevent TWindow
  4359. Fwindow TWindow
  4360. Fplace int32
  4361. }
  4362. type TXCirculateRequestEvent = struct {
  4363. Ftype1 int32
  4364. Fserial uint32
  4365. Fsend_event int32
  4366. Fdisplay uintptr
  4367. Fparent TWindow
  4368. Fwindow TWindow
  4369. Fplace int32
  4370. }
  4371. type TXPropertyEvent = struct {
  4372. Ftype1 int32
  4373. Fserial uint32
  4374. Fsend_event int32
  4375. Fdisplay uintptr
  4376. Fwindow TWindow
  4377. Fatom TAtom
  4378. Ftime TTime
  4379. Fstate int32
  4380. }
  4381. type TXSelectionClearEvent = struct {
  4382. Ftype1 int32
  4383. Fserial uint32
  4384. Fsend_event int32
  4385. Fdisplay uintptr
  4386. Fwindow TWindow
  4387. Fselection TAtom
  4388. Ftime TTime
  4389. }
  4390. type TXSelectionRequestEvent = struct {
  4391. Ftype1 int32
  4392. Fserial uint32
  4393. Fsend_event int32
  4394. Fdisplay uintptr
  4395. Fowner TWindow
  4396. Frequestor TWindow
  4397. Fselection TAtom
  4398. Ftarget TAtom
  4399. Fproperty TAtom
  4400. Ftime TTime
  4401. }
  4402. type TXSelectionEvent = struct {
  4403. Ftype1 int32
  4404. Fserial uint32
  4405. Fsend_event int32
  4406. Fdisplay uintptr
  4407. Frequestor TWindow
  4408. Fselection TAtom
  4409. Ftarget TAtom
  4410. Fproperty TAtom
  4411. Ftime TTime
  4412. }
  4413. type TXColormapEvent = struct {
  4414. Ftype1 int32
  4415. Fserial uint32
  4416. Fsend_event int32
  4417. Fdisplay uintptr
  4418. Fwindow TWindow
  4419. Fcolormap TColormap
  4420. Fnew1 int32
  4421. Fstate int32
  4422. }
  4423. type TXClientMessageEvent = struct {
  4424. Ftype1 int32
  4425. Fserial uint32
  4426. Fsend_event int32
  4427. Fdisplay uintptr
  4428. Fwindow TWindow
  4429. Fmessage_type TAtom
  4430. Fformat int32
  4431. Fdata struct {
  4432. Fs [0][10]int16
  4433. Fl [0][5]int32
  4434. Fb [20]int8
  4435. }
  4436. }
  4437. type TXMappingEvent = struct {
  4438. Ftype1 int32
  4439. Fserial uint32
  4440. Fsend_event int32
  4441. Fdisplay uintptr
  4442. Fwindow TWindow
  4443. Frequest int32
  4444. Ffirst_keycode int32
  4445. Fcount int32
  4446. }
  4447. type TXErrorEvent = struct {
  4448. Ftype1 int32
  4449. Fdisplay uintptr
  4450. Fresourceid TXID
  4451. Fserial uint32
  4452. Ferror_code uint8
  4453. Frequest_code uint8
  4454. Fminor_code uint8
  4455. }
  4456. type TXAnyEvent = struct {
  4457. Ftype1 int32
  4458. Fserial uint32
  4459. Fsend_event int32
  4460. Fdisplay uintptr
  4461. Fwindow TWindow
  4462. }
  4463. type TXGenericEvent = struct {
  4464. Ftype1 int32
  4465. Fserial uint32
  4466. Fsend_event int32
  4467. Fdisplay uintptr
  4468. Fextension int32
  4469. Fevtype int32
  4470. }
  4471. type TXGenericEventCookie = struct {
  4472. Ftype1 int32
  4473. Fserial uint32
  4474. Fsend_event int32
  4475. Fdisplay uintptr
  4476. Fextension int32
  4477. Fevtype int32
  4478. Fcookie uint32
  4479. Fdata uintptr
  4480. }
  4481. type TXEvent = struct {
  4482. Fxany [0]TXAnyEvent
  4483. Fxkey [0]TXKeyEvent
  4484. Fxbutton [0]TXButtonEvent
  4485. Fxmotion [0]TXMotionEvent
  4486. Fxcrossing [0]TXCrossingEvent
  4487. Fxfocus [0]TXFocusChangeEvent
  4488. Fxexpose [0]TXExposeEvent
  4489. Fxgraphicsexpose [0]TXGraphicsExposeEvent
  4490. Fxnoexpose [0]TXNoExposeEvent
  4491. Fxvisibility [0]TXVisibilityEvent
  4492. Fxcreatewindow [0]TXCreateWindowEvent
  4493. Fxdestroywindow [0]TXDestroyWindowEvent
  4494. Fxunmap [0]TXUnmapEvent
  4495. Fxmap [0]TXMapEvent
  4496. Fxmaprequest [0]TXMapRequestEvent
  4497. Fxreparent [0]TXReparentEvent
  4498. Fxconfigure [0]TXConfigureEvent
  4499. Fxgravity [0]TXGravityEvent
  4500. Fxresizerequest [0]TXResizeRequestEvent
  4501. Fxconfigurerequest [0]TXConfigureRequestEvent
  4502. Fxcirculate [0]TXCirculateEvent
  4503. Fxcirculaterequest [0]TXCirculateRequestEvent
  4504. Fxproperty [0]TXPropertyEvent
  4505. Fxselectionclear [0]TXSelectionClearEvent
  4506. Fxselectionrequest [0]TXSelectionRequestEvent
  4507. Fxselection [0]TXSelectionEvent
  4508. Fxcolormap [0]TXColormapEvent
  4509. Fxclient [0]TXClientMessageEvent
  4510. Fxmapping [0]TXMappingEvent
  4511. Fxerror [0]TXErrorEvent
  4512. Fxkeymap [0]TXKeymapEvent
  4513. Fxgeneric [0]TXGenericEvent
  4514. Fxcookie [0]TXGenericEventCookie
  4515. Fpad [0][24]int32
  4516. Ftype1 int32
  4517. F__ccgo_pad35 [92]byte
  4518. }
  4519. type T_XEvent = TXEvent
  4520. type TXCharStruct = struct {
  4521. Flbearing int16
  4522. Frbearing int16
  4523. Fwidth int16
  4524. Fascent int16
  4525. Fdescent int16
  4526. Fattributes uint16
  4527. }
  4528. type TXFontProp = struct {
  4529. Fname TAtom
  4530. Fcard32 uint32
  4531. }
  4532. type TXFontStruct = struct {
  4533. Fext_data uintptr
  4534. Ffid TFont
  4535. Fdirection uint32
  4536. Fmin_char_or_byte2 uint32
  4537. Fmax_char_or_byte2 uint32
  4538. Fmin_byte1 uint32
  4539. Fmax_byte1 uint32
  4540. Fall_chars_exist int32
  4541. Fdefault_char uint32
  4542. Fn_properties int32
  4543. Fproperties uintptr
  4544. Fmin_bounds TXCharStruct
  4545. Fmax_bounds TXCharStruct
  4546. Fper_char uintptr
  4547. Fascent int32
  4548. Fdescent int32
  4549. }
  4550. type TXTextItem = struct {
  4551. Fchars uintptr
  4552. Fnchars int32
  4553. Fdelta int32
  4554. Ffont TFont
  4555. }
  4556. type TXChar2b = struct {
  4557. Fbyte1 uint8
  4558. Fbyte2 uint8
  4559. }
  4560. type TXTextItem16 = struct {
  4561. Fchars uintptr
  4562. Fnchars int32
  4563. Fdelta int32
  4564. Ffont TFont
  4565. }
  4566. type TXEDataObject = struct {
  4567. Fgc [0]TGC
  4568. Fvisual [0]uintptr
  4569. Fscreen [0]uintptr
  4570. Fpixmap_format [0]uintptr
  4571. Ffont [0]uintptr
  4572. Fdisplay uintptr
  4573. }
  4574. type TXFontSetExtents = struct {
  4575. Fmax_ink_extent TXRectangle
  4576. Fmax_logical_extent TXRectangle
  4577. }
  4578. type TXOM = uintptr
  4579. type TXOC = uintptr
  4580. type TXFontSet = uintptr
  4581. type TXmbTextItem = struct {
  4582. Fchars uintptr
  4583. Fnchars int32
  4584. Fdelta int32
  4585. Ffont_set TXFontSet
  4586. }
  4587. type TXwcTextItem = struct {
  4588. Fchars uintptr
  4589. Fnchars int32
  4590. Fdelta int32
  4591. Ffont_set TXFontSet
  4592. }
  4593. type TXOMCharSetList = struct {
  4594. Fcharset_count int32
  4595. Fcharset_list uintptr
  4596. }
  4597. type TXOrientation = int32
  4598. const _XOMOrientation_LTR_TTB = 0
  4599. const _XOMOrientation_RTL_TTB = 1
  4600. const _XOMOrientation_TTB_LTR = 2
  4601. const _XOMOrientation_TTB_RTL = 3
  4602. const _XOMOrientation_Context = 4
  4603. type TXOMOrientation = struct {
  4604. Fnum_orientation int32
  4605. Forientation uintptr
  4606. }
  4607. type TXOMFontInfo = struct {
  4608. Fnum_font int32
  4609. Ffont_struct_list uintptr
  4610. Ffont_name_list uintptr
  4611. }
  4612. type TXIM = uintptr
  4613. type TXIC = uintptr
  4614. type TXIMProc = uintptr
  4615. type TXICProc = uintptr
  4616. type TXIDProc = uintptr
  4617. type TXIMStyle = uint32
  4618. type TXIMStyles = struct {
  4619. Fcount_styles uint16
  4620. Fsupported_styles uintptr
  4621. }
  4622. type TXVaNestedList = uintptr
  4623. type TXIMCallback = struct {
  4624. Fclient_data TXPointer
  4625. Fcallback TXIMProc
  4626. }
  4627. type TXICCallback = struct {
  4628. Fclient_data TXPointer
  4629. Fcallback TXICProc
  4630. }
  4631. type TXIMFeedback = uint32
  4632. type TXIMText = struct {
  4633. Flength uint16
  4634. Ffeedback uintptr
  4635. Fencoding_is_wchar int32
  4636. Fstring1 struct {
  4637. Fwide_char [0]uintptr
  4638. Fmulti_byte uintptr
  4639. }
  4640. }
  4641. type T_XIMText = TXIMText
  4642. type TXIMPreeditState = uint32
  4643. type TXIMPreeditStateNotifyCallbackStruct = struct {
  4644. Fstate TXIMPreeditState
  4645. }
  4646. type T_XIMPreeditStateNotifyCallbackStruct = TXIMPreeditStateNotifyCallbackStruct
  4647. type TXIMResetState = uint32
  4648. type TXIMStringConversionFeedback = uint32
  4649. type TXIMStringConversionText = struct {
  4650. Flength uint16
  4651. Ffeedback uintptr
  4652. Fencoding_is_wchar int32
  4653. Fstring1 struct {
  4654. Fwcs [0]uintptr
  4655. Fmbs uintptr
  4656. }
  4657. }
  4658. type T_XIMStringConversionText = TXIMStringConversionText
  4659. type TXIMStringConversionPosition = uint16
  4660. type TXIMStringConversionType = uint16
  4661. type TXIMStringConversionOperation = uint16
  4662. type TXIMCaretDirection = int32
  4663. const _XIMForwardChar = 0
  4664. const _XIMBackwardChar = 1
  4665. const _XIMForwardWord = 2
  4666. const _XIMBackwardWord = 3
  4667. const _XIMCaretUp = 4
  4668. const _XIMCaretDown = 5
  4669. const _XIMNextLine = 6
  4670. const _XIMPreviousLine = 7
  4671. const _XIMLineStart = 8
  4672. const _XIMLineEnd = 9
  4673. const _XIMAbsolutePosition = 10
  4674. const _XIMDontChange = 11
  4675. type TXIMStringConversionCallbackStruct = struct {
  4676. Fposition TXIMStringConversionPosition
  4677. Fdirection TXIMCaretDirection
  4678. Foperation TXIMStringConversionOperation
  4679. Ffactor uint16
  4680. Ftext uintptr
  4681. }
  4682. type T_XIMStringConversionCallbackStruct = TXIMStringConversionCallbackStruct
  4683. type TXIMPreeditDrawCallbackStruct = struct {
  4684. Fcaret int32
  4685. Fchg_first int32
  4686. Fchg_length int32
  4687. Ftext uintptr
  4688. }
  4689. type T_XIMPreeditDrawCallbackStruct = TXIMPreeditDrawCallbackStruct
  4690. type TXIMCaretStyle = int32
  4691. const _XIMIsInvisible = 0
  4692. const _XIMIsPrimary = 1
  4693. const _XIMIsSecondary = 2
  4694. type TXIMPreeditCaretCallbackStruct = struct {
  4695. Fposition int32
  4696. Fdirection TXIMCaretDirection
  4697. Fstyle TXIMCaretStyle
  4698. }
  4699. type T_XIMPreeditCaretCallbackStruct = TXIMPreeditCaretCallbackStruct
  4700. type TXIMStatusDataType = int32
  4701. const _XIMTextType = 0
  4702. const _XIMBitmapType = 1
  4703. type TXIMStatusDrawCallbackStruct = struct {
  4704. Ftype1 TXIMStatusDataType
  4705. Fdata struct {
  4706. Fbitmap [0]TPixmap
  4707. Ftext uintptr
  4708. }
  4709. }
  4710. type T_XIMStatusDrawCallbackStruct = TXIMStatusDrawCallbackStruct
  4711. type TXIMHotKeyTrigger = struct {
  4712. Fkeysym TKeySym
  4713. Fmodifier int32
  4714. Fmodifier_mask int32
  4715. }
  4716. type T_XIMHotKeyTrigger = TXIMHotKeyTrigger
  4717. type TXIMHotKeyTriggers = struct {
  4718. Fnum_hot_key int32
  4719. Fkey uintptr
  4720. }
  4721. type T_XIMHotKeyTriggers = TXIMHotKeyTriggers
  4722. type TXIMHotKeyState = uint32
  4723. type TXIMValuesList = struct {
  4724. Fcount_values uint16
  4725. Fsupported_values uintptr
  4726. }
  4727. type TXErrorHandler = uintptr
  4728. type TXIOErrorHandler = uintptr
  4729. type TXIOErrorExitHandler = uintptr
  4730. type TXConnectionWatchProc = uintptr
  4731. type TINT32 = int32
  4732. type TINT16 = int16
  4733. type TINT8 = int8
  4734. type TCARD64 = uint64
  4735. type TCARD32 = uint32
  4736. type TCARD16 = uint16
  4737. type TCARD8 = uint8
  4738. type TBITS32 = uint32
  4739. type TBITS16 = uint16
  4740. type TBYTE = uint8
  4741. type TBOOL = uint8
  4742. type TxSegment = struct {
  4743. Fx1 TINT16
  4744. Fy1 TINT16
  4745. Fx2 TINT16
  4746. Fy2 TINT16
  4747. }
  4748. type T_xSegment = TxSegment
  4749. type TxPoint = struct {
  4750. Fx TINT16
  4751. Fy TINT16
  4752. }
  4753. type T_xPoint = TxPoint
  4754. type TxRectangle = struct {
  4755. Fx TINT16
  4756. Fy TINT16
  4757. Fwidth TCARD16
  4758. Fheight TCARD16
  4759. }
  4760. type T_xRectangle = TxRectangle
  4761. type TxArc = struct {
  4762. Fx TINT16
  4763. Fy TINT16
  4764. Fwidth TCARD16
  4765. Fheight TCARD16
  4766. Fangle1 TINT16
  4767. Fangle2 TINT16
  4768. }
  4769. type T_xArc = TxArc
  4770. type TKeyButMask = uint16
  4771. type TxConnClientPrefix = struct {
  4772. FbyteOrder TCARD8
  4773. Fpad TBYTE
  4774. FmajorVersion TCARD16
  4775. FminorVersion TCARD16
  4776. FnbytesAuthProto TCARD16
  4777. FnbytesAuthString TCARD16
  4778. Fpad2 TCARD16
  4779. }
  4780. type TxConnSetupPrefix = struct {
  4781. Fsuccess TCARD8
  4782. FlengthReason TBYTE
  4783. FmajorVersion TCARD16
  4784. FminorVersion TCARD16
  4785. Flength TCARD16
  4786. }
  4787. type TxConnSetup = struct {
  4788. Frelease TCARD32
  4789. FridBase TCARD32
  4790. FridMask TCARD32
  4791. FmotionBufferSize TCARD32
  4792. FnbytesVendor TCARD16
  4793. FmaxRequestSize TCARD16
  4794. FnumRoots TCARD8
  4795. FnumFormats TCARD8
  4796. FimageByteOrder TCARD8
  4797. FbitmapBitOrder TCARD8
  4798. FbitmapScanlineUnit TCARD8
  4799. FbitmapScanlinePad TCARD8
  4800. FminKeyCode TCARD8
  4801. FmaxKeyCode TCARD8
  4802. Fpad2 TCARD32
  4803. }
  4804. type TxPixmapFormat = struct {
  4805. Fdepth TCARD8
  4806. FbitsPerPixel TCARD8
  4807. FscanLinePad TCARD8
  4808. Fpad1 TCARD8
  4809. Fpad2 TCARD32
  4810. }
  4811. type TxDepth = struct {
  4812. Fdepth TCARD8
  4813. Fpad1 TCARD8
  4814. FnVisuals TCARD16
  4815. Fpad2 TCARD32
  4816. }
  4817. type TxVisualType = struct {
  4818. FvisualID TCARD32
  4819. Fclass TCARD8
  4820. FbitsPerRGB TCARD8
  4821. FcolormapEntries TCARD16
  4822. FredMask TCARD32
  4823. FgreenMask TCARD32
  4824. FblueMask TCARD32
  4825. Fpad TCARD32
  4826. }
  4827. type TxWindowRoot = struct {
  4828. FwindowId TCARD32
  4829. FdefaultColormap TCARD32
  4830. FwhitePixel TCARD32
  4831. FblackPixel TCARD32
  4832. FcurrentInputMask TCARD32
  4833. FpixWidth TCARD16
  4834. FpixHeight TCARD16
  4835. FmmWidth TCARD16
  4836. FmmHeight TCARD16
  4837. FminInstalledMaps TCARD16
  4838. FmaxInstalledMaps TCARD16
  4839. FrootVisualID TCARD32
  4840. FbackingStore TCARD8
  4841. FsaveUnders TBOOL
  4842. FrootDepth TCARD8
  4843. FnDepths TCARD8
  4844. }
  4845. type TxTimecoord = struct {
  4846. Ftime TCARD32
  4847. Fx TINT16
  4848. Fy TINT16
  4849. }
  4850. type TxHostEntry = struct {
  4851. Ffamily TCARD8
  4852. Fpad TBYTE
  4853. Flength TCARD16
  4854. }
  4855. type TxCharInfo = struct {
  4856. FleftSideBearing TINT16
  4857. FrightSideBearing TINT16
  4858. FcharacterWidth TINT16
  4859. Fascent TINT16
  4860. Fdescent TINT16
  4861. Fattributes TCARD16
  4862. }
  4863. type TxFontProp = struct {
  4864. Fname TCARD32
  4865. Fvalue TCARD32
  4866. }
  4867. type TxTextElt = struct {
  4868. Flen1 TCARD8
  4869. Fdelta TINT8
  4870. }
  4871. type TxColorItem = struct {
  4872. Fpixel TCARD32
  4873. Fred TCARD16
  4874. Fgreen TCARD16
  4875. Fblue TCARD16
  4876. Fflags TCARD8
  4877. Fpad TCARD8
  4878. }
  4879. type Txrgb = struct {
  4880. Fred TCARD16
  4881. Fgreen TCARD16
  4882. Fblue TCARD16
  4883. Fpad TCARD16
  4884. }
  4885. type TKEYCODE = uint8
  4886. type TxGenericReply = struct {
  4887. Ftype1 TBYTE
  4888. Fdata1 TBYTE
  4889. FsequenceNumber TCARD16
  4890. Flength TCARD32
  4891. Fdata00 TCARD32
  4892. Fdata01 TCARD32
  4893. Fdata02 TCARD32
  4894. Fdata03 TCARD32
  4895. Fdata04 TCARD32
  4896. Fdata05 TCARD32
  4897. }
  4898. type TxGetWindowAttributesReply = struct {
  4899. Ftype1 TBYTE
  4900. FbackingStore TCARD8
  4901. FsequenceNumber TCARD16
  4902. Flength TCARD32
  4903. FvisualID TCARD32
  4904. Fclass TCARD16
  4905. FbitGravity TCARD8
  4906. FwinGravity TCARD8
  4907. FbackingBitPlanes TCARD32
  4908. FbackingPixel TCARD32
  4909. FsaveUnder TBOOL
  4910. FmapInstalled TBOOL
  4911. FmapState TCARD8
  4912. Foverride TBOOL
  4913. Fcolormap TCARD32
  4914. FallEventMasks TCARD32
  4915. FyourEventMask TCARD32
  4916. FdoNotPropagateMask TCARD16
  4917. Fpad TCARD16
  4918. }
  4919. type TxGetGeometryReply = struct {
  4920. Ftype1 TBYTE
  4921. Fdepth TCARD8
  4922. FsequenceNumber TCARD16
  4923. Flength TCARD32
  4924. Froot TCARD32
  4925. Fx TINT16
  4926. Fy TINT16
  4927. Fwidth TCARD16
  4928. Fheight TCARD16
  4929. FborderWidth TCARD16
  4930. Fpad1 TCARD16
  4931. Fpad2 TCARD32
  4932. Fpad3 TCARD32
  4933. }
  4934. type TxQueryTreeReply = struct {
  4935. Ftype1 TBYTE
  4936. Fpad1 TBYTE
  4937. FsequenceNumber TCARD16
  4938. Flength TCARD32
  4939. Froot TCARD32
  4940. Fparent TCARD32
  4941. FnChildren TCARD16
  4942. Fpad2 TCARD16
  4943. Fpad3 TCARD32
  4944. Fpad4 TCARD32
  4945. Fpad5 TCARD32
  4946. }
  4947. type TxInternAtomReply = struct {
  4948. Ftype1 TBYTE
  4949. Fpad1 TBYTE
  4950. FsequenceNumber TCARD16
  4951. Flength TCARD32
  4952. Fatom TCARD32
  4953. Fpad2 TCARD32
  4954. Fpad3 TCARD32
  4955. Fpad4 TCARD32
  4956. Fpad5 TCARD32
  4957. Fpad6 TCARD32
  4958. }
  4959. type TxGetAtomNameReply = struct {
  4960. Ftype1 TBYTE
  4961. Fpad1 TBYTE
  4962. FsequenceNumber TCARD16
  4963. Flength TCARD32
  4964. FnameLength TCARD16
  4965. Fpad2 TCARD16
  4966. Fpad3 TCARD32
  4967. Fpad4 TCARD32
  4968. Fpad5 TCARD32
  4969. Fpad6 TCARD32
  4970. Fpad7 TCARD32
  4971. }
  4972. type TxGetPropertyReply = struct {
  4973. Ftype1 TBYTE
  4974. Fformat TCARD8
  4975. FsequenceNumber TCARD16
  4976. Flength TCARD32
  4977. FpropertyType TCARD32
  4978. FbytesAfter TCARD32
  4979. FnItems TCARD32
  4980. Fpad1 TCARD32
  4981. Fpad2 TCARD32
  4982. Fpad3 TCARD32
  4983. }
  4984. type TxListPropertiesReply = struct {
  4985. Ftype1 TBYTE
  4986. Fpad1 TBYTE
  4987. FsequenceNumber TCARD16
  4988. Flength TCARD32
  4989. FnProperties TCARD16
  4990. Fpad2 TCARD16
  4991. Fpad3 TCARD32
  4992. Fpad4 TCARD32
  4993. Fpad5 TCARD32
  4994. Fpad6 TCARD32
  4995. Fpad7 TCARD32
  4996. }
  4997. type TxGetSelectionOwnerReply = struct {
  4998. Ftype1 TBYTE
  4999. Fpad1 TBYTE
  5000. FsequenceNumber TCARD16
  5001. Flength TCARD32
  5002. Fowner TCARD32
  5003. Fpad2 TCARD32
  5004. Fpad3 TCARD32
  5005. Fpad4 TCARD32
  5006. Fpad5 TCARD32
  5007. Fpad6 TCARD32
  5008. }
  5009. type TxGrabPointerReply = struct {
  5010. Ftype1 TBYTE
  5011. Fstatus TBYTE
  5012. FsequenceNumber TCARD16
  5013. Flength TCARD32
  5014. Fpad1 TCARD32
  5015. Fpad2 TCARD32
  5016. Fpad3 TCARD32
  5017. Fpad4 TCARD32
  5018. Fpad5 TCARD32
  5019. Fpad6 TCARD32
  5020. }
  5021. type TxGrabKeyboardReply = struct {
  5022. Ftype1 TBYTE
  5023. Fstatus TBYTE
  5024. FsequenceNumber TCARD16
  5025. Flength TCARD32
  5026. Fpad1 TCARD32
  5027. Fpad2 TCARD32
  5028. Fpad3 TCARD32
  5029. Fpad4 TCARD32
  5030. Fpad5 TCARD32
  5031. Fpad6 TCARD32
  5032. }
  5033. type TxQueryPointerReply = struct {
  5034. Ftype1 TBYTE
  5035. FsameScreen TBOOL
  5036. FsequenceNumber TCARD16
  5037. Flength TCARD32
  5038. Froot TCARD32
  5039. Fchild TCARD32
  5040. FrootX TINT16
  5041. FrootY TINT16
  5042. FwinX TINT16
  5043. FwinY TINT16
  5044. Fmask TCARD16
  5045. Fpad1 TCARD16
  5046. Fpad TCARD32
  5047. }
  5048. type TxGetMotionEventsReply = struct {
  5049. Ftype1 TBYTE
  5050. Fpad1 TBYTE
  5051. FsequenceNumber TCARD16
  5052. Flength TCARD32
  5053. FnEvents TCARD32
  5054. Fpad2 TCARD32
  5055. Fpad3 TCARD32
  5056. Fpad4 TCARD32
  5057. Fpad5 TCARD32
  5058. Fpad6 TCARD32
  5059. }
  5060. type TxTranslateCoordsReply = struct {
  5061. Ftype1 TBYTE
  5062. FsameScreen TBOOL
  5063. FsequenceNumber TCARD16
  5064. Flength TCARD32
  5065. Fchild TCARD32
  5066. FdstX TINT16
  5067. FdstY TINT16
  5068. Fpad2 TCARD32
  5069. Fpad3 TCARD32
  5070. Fpad4 TCARD32
  5071. Fpad5 TCARD32
  5072. }
  5073. type TxGetInputFocusReply = struct {
  5074. Ftype1 TBYTE
  5075. FrevertTo TCARD8
  5076. FsequenceNumber TCARD16
  5077. Flength TCARD32
  5078. Ffocus TCARD32
  5079. Fpad1 TCARD32
  5080. Fpad2 TCARD32
  5081. Fpad3 TCARD32
  5082. Fpad4 TCARD32
  5083. Fpad5 TCARD32
  5084. }
  5085. type TxQueryKeymapReply = struct {
  5086. Ftype1 TBYTE
  5087. Fpad1 TBYTE
  5088. FsequenceNumber TCARD16
  5089. Flength TCARD32
  5090. Fmap1 [32]TBYTE
  5091. }
  5092. type TxQueryFontReply = struct {
  5093. Ftype1 TBYTE
  5094. Fpad1 TBYTE
  5095. FsequenceNumber TCARD16
  5096. Flength TCARD32
  5097. FminBounds TxCharInfo
  5098. Fwalign1 TCARD32
  5099. FmaxBounds TxCharInfo
  5100. Fwalign2 TCARD32
  5101. FminCharOrByte2 TCARD16
  5102. FmaxCharOrByte2 TCARD16
  5103. FdefaultChar TCARD16
  5104. FnFontProps TCARD16
  5105. FdrawDirection TCARD8
  5106. FminByte1 TCARD8
  5107. FmaxByte1 TCARD8
  5108. FallCharsExist TBOOL
  5109. FfontAscent TINT16
  5110. FfontDescent TINT16
  5111. FnCharInfos TCARD32
  5112. }
  5113. type T_xQueryFontReply = TxQueryFontReply
  5114. type TxQueryTextExtentsReply = struct {
  5115. Ftype1 TBYTE
  5116. FdrawDirection TCARD8
  5117. FsequenceNumber TCARD16
  5118. Flength TCARD32
  5119. FfontAscent TINT16
  5120. FfontDescent TINT16
  5121. FoverallAscent TINT16
  5122. FoverallDescent TINT16
  5123. FoverallWidth TINT32
  5124. FoverallLeft TINT32
  5125. FoverallRight TINT32
  5126. Fpad TCARD32
  5127. }
  5128. type TxListFontsReply = struct {
  5129. Ftype1 TBYTE
  5130. Fpad1 TBYTE
  5131. FsequenceNumber TCARD16
  5132. Flength TCARD32
  5133. FnFonts TCARD16
  5134. Fpad2 TCARD16
  5135. Fpad3 TCARD32
  5136. Fpad4 TCARD32
  5137. Fpad5 TCARD32
  5138. Fpad6 TCARD32
  5139. Fpad7 TCARD32
  5140. }
  5141. type TxListFontsWithInfoReply = struct {
  5142. Ftype1 TBYTE
  5143. FnameLength TCARD8
  5144. FsequenceNumber TCARD16
  5145. Flength TCARD32
  5146. FminBounds TxCharInfo
  5147. Fwalign1 TCARD32
  5148. FmaxBounds TxCharInfo
  5149. Fwalign2 TCARD32
  5150. FminCharOrByte2 TCARD16
  5151. FmaxCharOrByte2 TCARD16
  5152. FdefaultChar TCARD16
  5153. FnFontProps TCARD16
  5154. FdrawDirection TCARD8
  5155. FminByte1 TCARD8
  5156. FmaxByte1 TCARD8
  5157. FallCharsExist TBOOL
  5158. FfontAscent TINT16
  5159. FfontDescent TINT16
  5160. FnReplies TCARD32
  5161. }
  5162. type TxGetFontPathReply = struct {
  5163. Ftype1 TBYTE
  5164. Fpad1 TBYTE
  5165. FsequenceNumber TCARD16
  5166. Flength TCARD32
  5167. FnPaths TCARD16
  5168. Fpad2 TCARD16
  5169. Fpad3 TCARD32
  5170. Fpad4 TCARD32
  5171. Fpad5 TCARD32
  5172. Fpad6 TCARD32
  5173. Fpad7 TCARD32
  5174. }
  5175. type TxGetImageReply = struct {
  5176. Ftype1 TBYTE
  5177. Fdepth TCARD8
  5178. FsequenceNumber TCARD16
  5179. Flength TCARD32
  5180. Fvisual TCARD32
  5181. Fpad3 TCARD32
  5182. Fpad4 TCARD32
  5183. Fpad5 TCARD32
  5184. Fpad6 TCARD32
  5185. Fpad7 TCARD32
  5186. }
  5187. type TxListInstalledColormapsReply = struct {
  5188. Ftype1 TBYTE
  5189. Fpad1 TBYTE
  5190. FsequenceNumber TCARD16
  5191. Flength TCARD32
  5192. FnColormaps TCARD16
  5193. Fpad2 TCARD16
  5194. Fpad3 TCARD32
  5195. Fpad4 TCARD32
  5196. Fpad5 TCARD32
  5197. Fpad6 TCARD32
  5198. Fpad7 TCARD32
  5199. }
  5200. type TxAllocColorReply = struct {
  5201. Ftype1 TBYTE
  5202. Fpad1 TBYTE
  5203. FsequenceNumber TCARD16
  5204. Flength TCARD32
  5205. Fred TCARD16
  5206. Fgreen TCARD16
  5207. Fblue TCARD16
  5208. Fpad2 TCARD16
  5209. Fpixel TCARD32
  5210. Fpad3 TCARD32
  5211. Fpad4 TCARD32
  5212. Fpad5 TCARD32
  5213. }
  5214. type TxAllocNamedColorReply = struct {
  5215. Ftype1 TBYTE
  5216. Fpad1 TBYTE
  5217. FsequenceNumber TCARD16
  5218. Flength TCARD32
  5219. Fpixel TCARD32
  5220. FexactRed TCARD16
  5221. FexactGreen TCARD16
  5222. FexactBlue TCARD16
  5223. FscreenRed TCARD16
  5224. FscreenGreen TCARD16
  5225. FscreenBlue TCARD16
  5226. Fpad2 TCARD32
  5227. Fpad3 TCARD32
  5228. }
  5229. type TxAllocColorCellsReply = struct {
  5230. Ftype1 TBYTE
  5231. Fpad1 TBYTE
  5232. FsequenceNumber TCARD16
  5233. Flength TCARD32
  5234. FnPixels TCARD16
  5235. FnMasks TCARD16
  5236. Fpad3 TCARD32
  5237. Fpad4 TCARD32
  5238. Fpad5 TCARD32
  5239. Fpad6 TCARD32
  5240. Fpad7 TCARD32
  5241. }
  5242. type TxAllocColorPlanesReply = struct {
  5243. Ftype1 TBYTE
  5244. Fpad1 TBYTE
  5245. FsequenceNumber TCARD16
  5246. Flength TCARD32
  5247. FnPixels TCARD16
  5248. Fpad2 TCARD16
  5249. FredMask TCARD32
  5250. FgreenMask TCARD32
  5251. FblueMask TCARD32
  5252. Fpad3 TCARD32
  5253. Fpad4 TCARD32
  5254. }
  5255. type TxQueryColorsReply = struct {
  5256. Ftype1 TBYTE
  5257. Fpad1 TBYTE
  5258. FsequenceNumber TCARD16
  5259. Flength TCARD32
  5260. FnColors TCARD16
  5261. Fpad2 TCARD16
  5262. Fpad3 TCARD32
  5263. Fpad4 TCARD32
  5264. Fpad5 TCARD32
  5265. Fpad6 TCARD32
  5266. Fpad7 TCARD32
  5267. }
  5268. type TxLookupColorReply = struct {
  5269. Ftype1 TBYTE
  5270. Fpad1 TBYTE
  5271. FsequenceNumber TCARD16
  5272. Flength TCARD32
  5273. FexactRed TCARD16
  5274. FexactGreen TCARD16
  5275. FexactBlue TCARD16
  5276. FscreenRed TCARD16
  5277. FscreenGreen TCARD16
  5278. FscreenBlue TCARD16
  5279. Fpad3 TCARD32
  5280. Fpad4 TCARD32
  5281. Fpad5 TCARD32
  5282. }
  5283. type TxQueryBestSizeReply = struct {
  5284. Ftype1 TBYTE
  5285. Fpad1 TBYTE
  5286. FsequenceNumber TCARD16
  5287. Flength TCARD32
  5288. Fwidth TCARD16
  5289. Fheight TCARD16
  5290. Fpad3 TCARD32
  5291. Fpad4 TCARD32
  5292. Fpad5 TCARD32
  5293. Fpad6 TCARD32
  5294. Fpad7 TCARD32
  5295. }
  5296. type TxQueryExtensionReply = struct {
  5297. Ftype1 TBYTE
  5298. Fpad1 TBYTE
  5299. FsequenceNumber TCARD16
  5300. Flength TCARD32
  5301. Fpresent TBOOL
  5302. Fmajor_opcode TCARD8
  5303. Ffirst_event TCARD8
  5304. Ffirst_error TCARD8
  5305. Fpad3 TCARD32
  5306. Fpad4 TCARD32
  5307. Fpad5 TCARD32
  5308. Fpad6 TCARD32
  5309. Fpad7 TCARD32
  5310. }
  5311. type TxListExtensionsReply = struct {
  5312. Ftype1 TBYTE
  5313. FnExtensions TCARD8
  5314. FsequenceNumber TCARD16
  5315. Flength TCARD32
  5316. Fpad2 TCARD32
  5317. Fpad3 TCARD32
  5318. Fpad4 TCARD32
  5319. Fpad5 TCARD32
  5320. Fpad6 TCARD32
  5321. Fpad7 TCARD32
  5322. }
  5323. type TxSetMappingReply = struct {
  5324. Ftype1 TBYTE
  5325. Fsuccess TCARD8
  5326. FsequenceNumber TCARD16
  5327. Flength TCARD32
  5328. Fpad2 TCARD32
  5329. Fpad3 TCARD32
  5330. Fpad4 TCARD32
  5331. Fpad5 TCARD32
  5332. Fpad6 TCARD32
  5333. Fpad7 TCARD32
  5334. }
  5335. type TxSetPointerMappingReply = struct {
  5336. Ftype1 TBYTE
  5337. Fsuccess TCARD8
  5338. FsequenceNumber TCARD16
  5339. Flength TCARD32
  5340. Fpad2 TCARD32
  5341. Fpad3 TCARD32
  5342. Fpad4 TCARD32
  5343. Fpad5 TCARD32
  5344. Fpad6 TCARD32
  5345. Fpad7 TCARD32
  5346. }
  5347. type TxSetModifierMappingReply = struct {
  5348. Ftype1 TBYTE
  5349. Fsuccess TCARD8
  5350. FsequenceNumber TCARD16
  5351. Flength TCARD32
  5352. Fpad2 TCARD32
  5353. Fpad3 TCARD32
  5354. Fpad4 TCARD32
  5355. Fpad5 TCARD32
  5356. Fpad6 TCARD32
  5357. Fpad7 TCARD32
  5358. }
  5359. type TxGetPointerMappingReply = struct {
  5360. Ftype1 TBYTE
  5361. FnElts TCARD8
  5362. FsequenceNumber TCARD16
  5363. Flength TCARD32
  5364. Fpad2 TCARD32
  5365. Fpad3 TCARD32
  5366. Fpad4 TCARD32
  5367. Fpad5 TCARD32
  5368. Fpad6 TCARD32
  5369. Fpad7 TCARD32
  5370. }
  5371. type TxGetKeyboardMappingReply = struct {
  5372. Ftype1 TBYTE
  5373. FkeySymsPerKeyCode TCARD8
  5374. FsequenceNumber TCARD16
  5375. Flength TCARD32
  5376. Fpad2 TCARD32
  5377. Fpad3 TCARD32
  5378. Fpad4 TCARD32
  5379. Fpad5 TCARD32
  5380. Fpad6 TCARD32
  5381. Fpad7 TCARD32
  5382. }
  5383. type TxGetModifierMappingReply = struct {
  5384. Ftype1 TBYTE
  5385. FnumKeyPerModifier TCARD8
  5386. FsequenceNumber TCARD16
  5387. Flength TCARD32
  5388. Fpad1 TCARD32
  5389. Fpad2 TCARD32
  5390. Fpad3 TCARD32
  5391. Fpad4 TCARD32
  5392. Fpad5 TCARD32
  5393. Fpad6 TCARD32
  5394. }
  5395. type TxGetKeyboardControlReply = struct {
  5396. Ftype1 TBYTE
  5397. FglobalAutoRepeat TBOOL
  5398. FsequenceNumber TCARD16
  5399. Flength TCARD32
  5400. FledMask TCARD32
  5401. FkeyClickPercent TCARD8
  5402. FbellPercent TCARD8
  5403. FbellPitch TCARD16
  5404. FbellDuration TCARD16
  5405. Fpad TCARD16
  5406. Fmap1 [32]TBYTE
  5407. }
  5408. type TxGetPointerControlReply = struct {
  5409. Ftype1 TBYTE
  5410. Fpad1 TBYTE
  5411. FsequenceNumber TCARD16
  5412. Flength TCARD32
  5413. FaccelNumerator TCARD16
  5414. FaccelDenominator TCARD16
  5415. Fthreshold TCARD16
  5416. Fpad2 TCARD16
  5417. Fpad3 TCARD32
  5418. Fpad4 TCARD32
  5419. Fpad5 TCARD32
  5420. Fpad6 TCARD32
  5421. }
  5422. type TxGetScreenSaverReply = struct {
  5423. Ftype1 TBYTE
  5424. Fpad1 TBYTE
  5425. FsequenceNumber TCARD16
  5426. Flength TCARD32
  5427. Ftimeout TCARD16
  5428. Finterval TCARD16
  5429. FpreferBlanking TBOOL
  5430. FallowExposures TBOOL
  5431. Fpad2 TCARD16
  5432. Fpad3 TCARD32
  5433. Fpad4 TCARD32
  5434. Fpad5 TCARD32
  5435. Fpad6 TCARD32
  5436. }
  5437. type TxListHostsReply = struct {
  5438. Ftype1 TBYTE
  5439. Fenabled TBOOL
  5440. FsequenceNumber TCARD16
  5441. Flength TCARD32
  5442. FnHosts TCARD16
  5443. Fpad1 TCARD16
  5444. Fpad3 TCARD32
  5445. Fpad4 TCARD32
  5446. Fpad5 TCARD32
  5447. Fpad6 TCARD32
  5448. Fpad7 TCARD32
  5449. }
  5450. type TxError = struct {
  5451. Ftype1 TBYTE
  5452. FerrorCode TBYTE
  5453. FsequenceNumber TCARD16
  5454. FresourceID TCARD32
  5455. FminorCode TCARD16
  5456. FmajorCode TCARD8
  5457. Fpad1 TBYTE
  5458. Fpad3 TCARD32
  5459. Fpad4 TCARD32
  5460. Fpad5 TCARD32
  5461. Fpad6 TCARD32
  5462. Fpad7 TCARD32
  5463. }
  5464. type TxEvent = struct {
  5465. Fu struct {
  5466. FkeyButtonPointer [0]struct {
  5467. Fpad00 TCARD32
  5468. Ftime TCARD32
  5469. Froot TCARD32
  5470. Fevent TCARD32
  5471. Fchild TCARD32
  5472. FrootX TINT16
  5473. FrootY TINT16
  5474. FeventX TINT16
  5475. FeventY TINT16
  5476. Fstate TKeyButMask
  5477. FsameScreen TBOOL
  5478. Fpad1 TBYTE
  5479. }
  5480. FenterLeave [0]struct {
  5481. Fpad00 TCARD32
  5482. Ftime TCARD32
  5483. Froot TCARD32
  5484. Fevent TCARD32
  5485. Fchild TCARD32
  5486. FrootX TINT16
  5487. FrootY TINT16
  5488. FeventX TINT16
  5489. FeventY TINT16
  5490. Fstate TKeyButMask
  5491. Fmode TBYTE
  5492. Fflags TBYTE
  5493. }
  5494. Ffocus [0]struct {
  5495. Fpad00 TCARD32
  5496. Fwindow TCARD32
  5497. Fmode TBYTE
  5498. Fpad1 TBYTE
  5499. Fpad2 TBYTE
  5500. Fpad3 TBYTE
  5501. }
  5502. Fexpose [0]struct {
  5503. Fpad00 TCARD32
  5504. Fwindow TCARD32
  5505. Fx TCARD16
  5506. Fy TCARD16
  5507. Fwidth TCARD16
  5508. Fheight TCARD16
  5509. Fcount TCARD16
  5510. Fpad2 TCARD16
  5511. }
  5512. FgraphicsExposure [0]struct {
  5513. Fpad00 TCARD32
  5514. Fdrawable TCARD32
  5515. Fx TCARD16
  5516. Fy TCARD16
  5517. Fwidth TCARD16
  5518. Fheight TCARD16
  5519. FminorEvent TCARD16
  5520. Fcount TCARD16
  5521. FmajorEvent TBYTE
  5522. Fpad1 TBYTE
  5523. Fpad2 TBYTE
  5524. Fpad3 TBYTE
  5525. }
  5526. FnoExposure [0]struct {
  5527. Fpad00 TCARD32
  5528. Fdrawable TCARD32
  5529. FminorEvent TCARD16
  5530. FmajorEvent TBYTE
  5531. Fbpad TBYTE
  5532. }
  5533. Fvisibility [0]struct {
  5534. Fpad00 TCARD32
  5535. Fwindow TCARD32
  5536. Fstate TCARD8
  5537. Fpad1 TBYTE
  5538. Fpad2 TBYTE
  5539. Fpad3 TBYTE
  5540. }
  5541. FcreateNotify [0]struct {
  5542. Fpad00 TCARD32
  5543. Fparent TCARD32
  5544. Fwindow TCARD32
  5545. Fx TINT16
  5546. Fy TINT16
  5547. Fwidth TCARD16
  5548. Fheight TCARD16
  5549. FborderWidth TCARD16
  5550. Foverride TBOOL
  5551. Fbpad TBYTE
  5552. }
  5553. FdestroyNotify [0]struct {
  5554. Fpad00 TCARD32
  5555. Fevent TCARD32
  5556. Fwindow TCARD32
  5557. }
  5558. FunmapNotify [0]struct {
  5559. Fpad00 TCARD32
  5560. Fevent TCARD32
  5561. Fwindow TCARD32
  5562. FfromConfigure TBOOL
  5563. Fpad1 TBYTE
  5564. Fpad2 TBYTE
  5565. Fpad3 TBYTE
  5566. }
  5567. FmapNotify [0]struct {
  5568. Fpad00 TCARD32
  5569. Fevent TCARD32
  5570. Fwindow TCARD32
  5571. Foverride TBOOL
  5572. Fpad1 TBYTE
  5573. Fpad2 TBYTE
  5574. Fpad3 TBYTE
  5575. }
  5576. FmapRequest [0]struct {
  5577. Fpad00 TCARD32
  5578. Fparent TCARD32
  5579. Fwindow TCARD32
  5580. }
  5581. Freparent [0]struct {
  5582. Fpad00 TCARD32
  5583. Fevent TCARD32
  5584. Fwindow TCARD32
  5585. Fparent TCARD32
  5586. Fx TINT16
  5587. Fy TINT16
  5588. Foverride TBOOL
  5589. Fpad1 TBYTE
  5590. Fpad2 TBYTE
  5591. Fpad3 TBYTE
  5592. }
  5593. FconfigureNotify [0]struct {
  5594. Fpad00 TCARD32
  5595. Fevent TCARD32
  5596. Fwindow TCARD32
  5597. FaboveSibling TCARD32
  5598. Fx TINT16
  5599. Fy TINT16
  5600. Fwidth TCARD16
  5601. Fheight TCARD16
  5602. FborderWidth TCARD16
  5603. Foverride TBOOL
  5604. Fbpad TBYTE
  5605. }
  5606. FconfigureRequest [0]struct {
  5607. Fpad00 TCARD32
  5608. Fparent TCARD32
  5609. Fwindow TCARD32
  5610. Fsibling TCARD32
  5611. Fx TINT16
  5612. Fy TINT16
  5613. Fwidth TCARD16
  5614. Fheight TCARD16
  5615. FborderWidth TCARD16
  5616. FvalueMask TCARD16
  5617. Fpad1 TCARD32
  5618. }
  5619. Fgravity [0]struct {
  5620. Fpad00 TCARD32
  5621. Fevent TCARD32
  5622. Fwindow TCARD32
  5623. Fx TINT16
  5624. Fy TINT16
  5625. Fpad1 TCARD32
  5626. Fpad2 TCARD32
  5627. Fpad3 TCARD32
  5628. Fpad4 TCARD32
  5629. }
  5630. FresizeRequest [0]struct {
  5631. Fpad00 TCARD32
  5632. Fwindow TCARD32
  5633. Fwidth TCARD16
  5634. Fheight TCARD16
  5635. }
  5636. Fcirculate [0]struct {
  5637. Fpad00 TCARD32
  5638. Fevent TCARD32
  5639. Fwindow TCARD32
  5640. Fparent TCARD32
  5641. Fplace TBYTE
  5642. Fpad1 TBYTE
  5643. Fpad2 TBYTE
  5644. Fpad3 TBYTE
  5645. }
  5646. Fproperty [0]struct {
  5647. Fpad00 TCARD32
  5648. Fwindow TCARD32
  5649. Fatom TCARD32
  5650. Ftime TCARD32
  5651. Fstate TBYTE
  5652. Fpad1 TBYTE
  5653. Fpad2 TCARD16
  5654. }
  5655. FselectionClear [0]struct {
  5656. Fpad00 TCARD32
  5657. Ftime TCARD32
  5658. Fwindow TCARD32
  5659. Fatom TCARD32
  5660. }
  5661. FselectionRequest [0]struct {
  5662. Fpad00 TCARD32
  5663. Ftime TCARD32
  5664. Fowner TCARD32
  5665. Frequestor TCARD32
  5666. Fselection TCARD32
  5667. Ftarget TCARD32
  5668. Fproperty TCARD32
  5669. }
  5670. FselectionNotify [0]struct {
  5671. Fpad00 TCARD32
  5672. Ftime TCARD32
  5673. Frequestor TCARD32
  5674. Fselection TCARD32
  5675. Ftarget TCARD32
  5676. Fproperty TCARD32
  5677. }
  5678. Fcolormap [0]struct {
  5679. Fpad00 TCARD32
  5680. Fwindow TCARD32
  5681. Fcolormap TCARD32
  5682. Fnew1 TBOOL
  5683. Fstate TBYTE
  5684. Fpad1 TBYTE
  5685. Fpad2 TBYTE
  5686. }
  5687. FmappingNotify [0]struct {
  5688. Fpad00 TCARD32
  5689. Frequest TCARD8
  5690. FfirstKeyCode TCARD8
  5691. Fcount TCARD8
  5692. Fpad1 TBYTE
  5693. }
  5694. FclientMessage [0]struct {
  5695. Fpad00 TCARD32
  5696. Fwindow TCARD32
  5697. Fu struct {
  5698. Fs [0]struct {
  5699. Ftype1 TCARD32
  5700. Fshorts0 TINT16
  5701. Fshorts1 TINT16
  5702. Fshorts2 TINT16
  5703. Fshorts3 TINT16
  5704. Fshorts4 TINT16
  5705. Fshorts5 TINT16
  5706. Fshorts6 TINT16
  5707. Fshorts7 TINT16
  5708. Fshorts8 TINT16
  5709. Fshorts9 TINT16
  5710. }
  5711. Fb [0]struct {
  5712. Ftype1 TCARD32
  5713. Fbytes [20]TINT8
  5714. }
  5715. Fl struct {
  5716. Ftype1 TCARD32
  5717. Flongs0 TINT32
  5718. Flongs1 TINT32
  5719. Flongs2 TINT32
  5720. Flongs3 TINT32
  5721. Flongs4 TINT32
  5722. }
  5723. }
  5724. }
  5725. Fu struct {
  5726. Ftype1 TBYTE
  5727. Fdetail TBYTE
  5728. FsequenceNumber TCARD16
  5729. }
  5730. F__ccgo_pad26 [28]byte
  5731. }
  5732. }
  5733. type T_xEvent = TxEvent
  5734. type TxGenericEvent = struct {
  5735. Ftype1 TBYTE
  5736. Fextension TCARD8
  5737. FsequenceNumber TCARD16
  5738. Flength TCARD32
  5739. Fevtype TCARD16
  5740. Fpad2 TCARD16
  5741. Fpad3 TCARD32
  5742. Fpad4 TCARD32
  5743. Fpad5 TCARD32
  5744. Fpad6 TCARD32
  5745. Fpad7 TCARD32
  5746. }
  5747. type TxKeymapEvent = struct {
  5748. Ftype1 TBYTE
  5749. Fmap1 [31]TBYTE
  5750. }
  5751. type TxReply = struct {
  5752. Fgeom [0]TxGetGeometryReply
  5753. Ftree [0]TxQueryTreeReply
  5754. Fatom [0]TxInternAtomReply
  5755. FatomName [0]TxGetAtomNameReply
  5756. Fproperty [0]TxGetPropertyReply
  5757. FlistProperties [0]TxListPropertiesReply
  5758. Fselection [0]TxGetSelectionOwnerReply
  5759. FgrabPointer [0]TxGrabPointerReply
  5760. FgrabKeyboard [0]TxGrabKeyboardReply
  5761. Fpointer [0]TxQueryPointerReply
  5762. FmotionEvents [0]TxGetMotionEventsReply
  5763. Fcoords [0]TxTranslateCoordsReply
  5764. FinputFocus [0]TxGetInputFocusReply
  5765. FtextExtents [0]TxQueryTextExtentsReply
  5766. Ffonts [0]TxListFontsReply
  5767. FfontPath [0]TxGetFontPathReply
  5768. Fimage [0]TxGetImageReply
  5769. Fcolormaps [0]TxListInstalledColormapsReply
  5770. FallocColor [0]TxAllocColorReply
  5771. FallocNamedColor [0]TxAllocNamedColorReply
  5772. FcolorCells [0]TxAllocColorCellsReply
  5773. FcolorPlanes [0]TxAllocColorPlanesReply
  5774. Fcolors [0]TxQueryColorsReply
  5775. FlookupColor [0]TxLookupColorReply
  5776. FbestSize [0]TxQueryBestSizeReply
  5777. Fextension [0]TxQueryExtensionReply
  5778. Fextensions [0]TxListExtensionsReply
  5779. FsetModifierMapping [0]TxSetModifierMappingReply
  5780. FgetModifierMapping [0]TxGetModifierMappingReply
  5781. FsetPointerMapping [0]TxSetPointerMappingReply
  5782. FgetKeyboardMapping [0]TxGetKeyboardMappingReply
  5783. FgetPointerMapping [0]TxGetPointerMappingReply
  5784. FpointerControl [0]TxGetPointerControlReply
  5785. FscreenSaver [0]TxGetScreenSaverReply
  5786. Fhosts [0]TxListHostsReply
  5787. Ferror1 [0]TxError
  5788. Fevent [0]TxEvent
  5789. Fgeneric TxGenericReply
  5790. }
  5791. type TxReq = struct {
  5792. FreqType TCARD8
  5793. Fdata TCARD8
  5794. Flength TCARD16
  5795. }
  5796. type T_xReq = TxReq
  5797. type TxResourceReq = struct {
  5798. FreqType TCARD8
  5799. Fpad TBYTE
  5800. Flength TCARD16
  5801. Fid TCARD32
  5802. }
  5803. type TxCreateWindowReq = struct {
  5804. FreqType TCARD8
  5805. Fdepth TCARD8
  5806. Flength TCARD16
  5807. Fwid TCARD32
  5808. Fparent TCARD32
  5809. Fx TINT16
  5810. Fy TINT16
  5811. Fwidth TCARD16
  5812. Fheight TCARD16
  5813. FborderWidth TCARD16
  5814. Fclass TCARD16
  5815. Fvisual TCARD32
  5816. Fmask TCARD32
  5817. }
  5818. type TxChangeWindowAttributesReq = struct {
  5819. FreqType TCARD8
  5820. Fpad TBYTE
  5821. Flength TCARD16
  5822. Fwindow TCARD32
  5823. FvalueMask TCARD32
  5824. }
  5825. type TxChangeSaveSetReq = struct {
  5826. FreqType TCARD8
  5827. Fmode TBYTE
  5828. Flength TCARD16
  5829. Fwindow TCARD32
  5830. }
  5831. type TxReparentWindowReq = struct {
  5832. FreqType TCARD8
  5833. Fpad TBYTE
  5834. Flength TCARD16
  5835. Fwindow TCARD32
  5836. Fparent TCARD32
  5837. Fx TINT16
  5838. Fy TINT16
  5839. }
  5840. type TxConfigureWindowReq = struct {
  5841. FreqType TCARD8
  5842. Fpad TCARD8
  5843. Flength TCARD16
  5844. Fwindow TCARD32
  5845. Fmask TCARD16
  5846. Fpad2 TCARD16
  5847. }
  5848. type TxCirculateWindowReq = struct {
  5849. FreqType TCARD8
  5850. Fdirection TCARD8
  5851. Flength TCARD16
  5852. Fwindow TCARD32
  5853. }
  5854. type TxInternAtomReq = struct {
  5855. FreqType TCARD8
  5856. FonlyIfExists TBOOL
  5857. Flength TCARD16
  5858. Fnbytes TCARD16
  5859. Fpad TCARD16
  5860. }
  5861. type TxChangePropertyReq = struct {
  5862. FreqType TCARD8
  5863. Fmode TCARD8
  5864. Flength TCARD16
  5865. Fwindow TCARD32
  5866. Fproperty TCARD32
  5867. Ftype1 TCARD32
  5868. Fformat TCARD8
  5869. Fpad [3]TBYTE
  5870. FnUnits TCARD32
  5871. }
  5872. type TxDeletePropertyReq = struct {
  5873. FreqType TCARD8
  5874. Fpad TBYTE
  5875. Flength TCARD16
  5876. Fwindow TCARD32
  5877. Fproperty TCARD32
  5878. }
  5879. type TxGetPropertyReq = struct {
  5880. FreqType TCARD8
  5881. Fdelete1 TBOOL
  5882. Flength TCARD16
  5883. Fwindow TCARD32
  5884. Fproperty TCARD32
  5885. Ftype1 TCARD32
  5886. FlongOffset TCARD32
  5887. FlongLength TCARD32
  5888. }
  5889. type TxSetSelectionOwnerReq = struct {
  5890. FreqType TCARD8
  5891. Fpad TBYTE
  5892. Flength TCARD16
  5893. Fwindow TCARD32
  5894. Fselection TCARD32
  5895. Ftime TCARD32
  5896. }
  5897. type TxConvertSelectionReq = struct {
  5898. FreqType TCARD8
  5899. Fpad TBYTE
  5900. Flength TCARD16
  5901. Frequestor TCARD32
  5902. Fselection TCARD32
  5903. Ftarget TCARD32
  5904. Fproperty TCARD32
  5905. Ftime TCARD32
  5906. }
  5907. type TxSendEventReq = struct {
  5908. FreqType TCARD8
  5909. Fpropagate TBOOL
  5910. Flength TCARD16
  5911. Fdestination TCARD32
  5912. FeventMask TCARD32
  5913. Fevent TxEvent
  5914. }
  5915. type TxGrabPointerReq = struct {
  5916. FreqType TCARD8
  5917. FownerEvents TBOOL
  5918. Flength TCARD16
  5919. FgrabWindow TCARD32
  5920. FeventMask TCARD16
  5921. FpointerMode TBYTE
  5922. FkeyboardMode TBYTE
  5923. FconfineTo TCARD32
  5924. Fcursor TCARD32
  5925. Ftime TCARD32
  5926. }
  5927. type TxGrabButtonReq = struct {
  5928. FreqType TCARD8
  5929. FownerEvents TBOOL
  5930. Flength TCARD16
  5931. FgrabWindow TCARD32
  5932. FeventMask TCARD16
  5933. FpointerMode TBYTE
  5934. FkeyboardMode TBYTE
  5935. FconfineTo TCARD32
  5936. Fcursor TCARD32
  5937. Fbutton TCARD8
  5938. Fpad TBYTE
  5939. Fmodifiers TCARD16
  5940. }
  5941. type TxUngrabButtonReq = struct {
  5942. FreqType TCARD8
  5943. Fbutton TCARD8
  5944. Flength TCARD16
  5945. FgrabWindow TCARD32
  5946. Fmodifiers TCARD16
  5947. Fpad TCARD16
  5948. }
  5949. type TxChangeActivePointerGrabReq = struct {
  5950. FreqType TCARD8
  5951. Fpad TBYTE
  5952. Flength TCARD16
  5953. Fcursor TCARD32
  5954. Ftime TCARD32
  5955. FeventMask TCARD16
  5956. Fpad2 TCARD16
  5957. }
  5958. type TxGrabKeyboardReq = struct {
  5959. FreqType TCARD8
  5960. FownerEvents TBOOL
  5961. Flength TCARD16
  5962. FgrabWindow TCARD32
  5963. Ftime TCARD32
  5964. FpointerMode TBYTE
  5965. FkeyboardMode TBYTE
  5966. Fpad TCARD16
  5967. }
  5968. type TxGrabKeyReq = struct {
  5969. FreqType TCARD8
  5970. FownerEvents TBOOL
  5971. Flength TCARD16
  5972. FgrabWindow TCARD32
  5973. Fmodifiers TCARD16
  5974. Fkey TCARD8
  5975. FpointerMode TBYTE
  5976. FkeyboardMode TBYTE
  5977. Fpad1 TBYTE
  5978. Fpad2 TBYTE
  5979. Fpad3 TBYTE
  5980. }
  5981. type TxUngrabKeyReq = struct {
  5982. FreqType TCARD8
  5983. Fkey TCARD8
  5984. Flength TCARD16
  5985. FgrabWindow TCARD32
  5986. Fmodifiers TCARD16
  5987. Fpad TCARD16
  5988. }
  5989. type TxAllowEventsReq = struct {
  5990. FreqType TCARD8
  5991. Fmode TCARD8
  5992. Flength TCARD16
  5993. Ftime TCARD32
  5994. }
  5995. type TxGetMotionEventsReq = struct {
  5996. FreqType TCARD8
  5997. Fpad TBYTE
  5998. Flength TCARD16
  5999. Fwindow TCARD32
  6000. Fstart TCARD32
  6001. Fstop TCARD32
  6002. }
  6003. type TxTranslateCoordsReq = struct {
  6004. FreqType TCARD8
  6005. Fpad TBYTE
  6006. Flength TCARD16
  6007. FsrcWid TCARD32
  6008. FdstWid TCARD32
  6009. FsrcX TINT16
  6010. FsrcY TINT16
  6011. }
  6012. type TxWarpPointerReq = struct {
  6013. FreqType TCARD8
  6014. Fpad TBYTE
  6015. Flength TCARD16
  6016. FsrcWid TCARD32
  6017. FdstWid TCARD32
  6018. FsrcX TINT16
  6019. FsrcY TINT16
  6020. FsrcWidth TCARD16
  6021. FsrcHeight TCARD16
  6022. FdstX TINT16
  6023. FdstY TINT16
  6024. }
  6025. type TxSetInputFocusReq = struct {
  6026. FreqType TCARD8
  6027. FrevertTo TCARD8
  6028. Flength TCARD16
  6029. Ffocus TCARD32
  6030. Ftime TCARD32
  6031. }
  6032. type TxOpenFontReq = struct {
  6033. FreqType TCARD8
  6034. Fpad TBYTE
  6035. Flength TCARD16
  6036. Ffid TCARD32
  6037. Fnbytes TCARD16
  6038. Fpad1 TBYTE
  6039. Fpad2 TBYTE
  6040. }
  6041. type TxQueryTextExtentsReq = struct {
  6042. FreqType TCARD8
  6043. FoddLength TBOOL
  6044. Flength TCARD16
  6045. Ffid TCARD32
  6046. }
  6047. type TxListFontsReq = struct {
  6048. FreqType TCARD8
  6049. Fpad TBYTE
  6050. Flength TCARD16
  6051. FmaxNames TCARD16
  6052. Fnbytes TCARD16
  6053. }
  6054. type TxListFontsWithInfoReq = struct {
  6055. FreqType TCARD8
  6056. Fpad TBYTE
  6057. Flength TCARD16
  6058. FmaxNames TCARD16
  6059. Fnbytes TCARD16
  6060. }
  6061. type TxSetFontPathReq = struct {
  6062. FreqType TCARD8
  6063. Fpad TBYTE
  6064. Flength TCARD16
  6065. FnFonts TCARD16
  6066. Fpad1 TBYTE
  6067. Fpad2 TBYTE
  6068. }
  6069. type TxCreatePixmapReq = struct {
  6070. FreqType TCARD8
  6071. Fdepth TCARD8
  6072. Flength TCARD16
  6073. Fpid TCARD32
  6074. Fdrawable TCARD32
  6075. Fwidth TCARD16
  6076. Fheight TCARD16
  6077. }
  6078. type TxCreateGCReq = struct {
  6079. FreqType TCARD8
  6080. Fpad TBYTE
  6081. Flength TCARD16
  6082. Fgc TCARD32
  6083. Fdrawable TCARD32
  6084. Fmask TCARD32
  6085. }
  6086. type TxChangeGCReq = struct {
  6087. FreqType TCARD8
  6088. Fpad TBYTE
  6089. Flength TCARD16
  6090. Fgc TCARD32
  6091. Fmask TCARD32
  6092. }
  6093. type TxCopyGCReq = struct {
  6094. FreqType TCARD8
  6095. Fpad TBYTE
  6096. Flength TCARD16
  6097. FsrcGC TCARD32
  6098. FdstGC TCARD32
  6099. Fmask TCARD32
  6100. }
  6101. type TxSetDashesReq = struct {
  6102. FreqType TCARD8
  6103. Fpad TBYTE
  6104. Flength TCARD16
  6105. Fgc TCARD32
  6106. FdashOffset TCARD16
  6107. FnDashes TCARD16
  6108. }
  6109. type TxSetClipRectanglesReq = struct {
  6110. FreqType TCARD8
  6111. Fordering TBYTE
  6112. Flength TCARD16
  6113. Fgc TCARD32
  6114. FxOrigin TINT16
  6115. FyOrigin TINT16
  6116. }
  6117. type TxClearAreaReq = struct {
  6118. FreqType TCARD8
  6119. Fexposures TBOOL
  6120. Flength TCARD16
  6121. Fwindow TCARD32
  6122. Fx TINT16
  6123. Fy TINT16
  6124. Fwidth TCARD16
  6125. Fheight TCARD16
  6126. }
  6127. type TxCopyAreaReq = struct {
  6128. FreqType TCARD8
  6129. Fpad TBYTE
  6130. Flength TCARD16
  6131. FsrcDrawable TCARD32
  6132. FdstDrawable TCARD32
  6133. Fgc TCARD32
  6134. FsrcX TINT16
  6135. FsrcY TINT16
  6136. FdstX TINT16
  6137. FdstY TINT16
  6138. Fwidth TCARD16
  6139. Fheight TCARD16
  6140. }
  6141. type TxCopyPlaneReq = struct {
  6142. FreqType TCARD8
  6143. Fpad TBYTE
  6144. Flength TCARD16
  6145. FsrcDrawable TCARD32
  6146. FdstDrawable TCARD32
  6147. Fgc TCARD32
  6148. FsrcX TINT16
  6149. FsrcY TINT16
  6150. FdstX TINT16
  6151. FdstY TINT16
  6152. Fwidth TCARD16
  6153. Fheight TCARD16
  6154. FbitPlane TCARD32
  6155. }
  6156. type TxPolyPointReq = struct {
  6157. FreqType TCARD8
  6158. FcoordMode TBYTE
  6159. Flength TCARD16
  6160. Fdrawable TCARD32
  6161. Fgc TCARD32
  6162. }
  6163. type TxPolyLineReq = struct {
  6164. FreqType TCARD8
  6165. FcoordMode TBYTE
  6166. Flength TCARD16
  6167. Fdrawable TCARD32
  6168. Fgc TCARD32
  6169. }
  6170. type TxPolySegmentReq = struct {
  6171. FreqType TCARD8
  6172. Fpad TBYTE
  6173. Flength TCARD16
  6174. Fdrawable TCARD32
  6175. Fgc TCARD32
  6176. }
  6177. type TxPolyArcReq = struct {
  6178. FreqType TCARD8
  6179. Fpad TBYTE
  6180. Flength TCARD16
  6181. Fdrawable TCARD32
  6182. Fgc TCARD32
  6183. }
  6184. type TxPolyRectangleReq = struct {
  6185. FreqType TCARD8
  6186. Fpad TBYTE
  6187. Flength TCARD16
  6188. Fdrawable TCARD32
  6189. Fgc TCARD32
  6190. }
  6191. type TxPolyFillRectangleReq = struct {
  6192. FreqType TCARD8
  6193. Fpad TBYTE
  6194. Flength TCARD16
  6195. Fdrawable TCARD32
  6196. Fgc TCARD32
  6197. }
  6198. type TxPolyFillArcReq = struct {
  6199. FreqType TCARD8
  6200. Fpad TBYTE
  6201. Flength TCARD16
  6202. Fdrawable TCARD32
  6203. Fgc TCARD32
  6204. }
  6205. type TxFillPolyReq = struct {
  6206. FreqType TCARD8
  6207. Fpad TBYTE
  6208. Flength TCARD16
  6209. Fdrawable TCARD32
  6210. Fgc TCARD32
  6211. Fshape TBYTE
  6212. FcoordMode TBYTE
  6213. Fpad1 TCARD16
  6214. }
  6215. type T_FillPolyReq = TxFillPolyReq
  6216. type TxPutImageReq = struct {
  6217. FreqType TCARD8
  6218. Fformat TCARD8
  6219. Flength TCARD16
  6220. Fdrawable TCARD32
  6221. Fgc TCARD32
  6222. Fwidth TCARD16
  6223. Fheight TCARD16
  6224. FdstX TINT16
  6225. FdstY TINT16
  6226. FleftPad TCARD8
  6227. Fdepth TCARD8
  6228. Fpad TCARD16
  6229. }
  6230. type T_PutImageReq = TxPutImageReq
  6231. type TxGetImageReq = struct {
  6232. FreqType TCARD8
  6233. Fformat TCARD8
  6234. Flength TCARD16
  6235. Fdrawable TCARD32
  6236. Fx TINT16
  6237. Fy TINT16
  6238. Fwidth TCARD16
  6239. Fheight TCARD16
  6240. FplaneMask TCARD32
  6241. }
  6242. type TxPolyTextReq = struct {
  6243. FreqType TCARD8
  6244. Fpad TCARD8
  6245. Flength TCARD16
  6246. Fdrawable TCARD32
  6247. Fgc TCARD32
  6248. Fx TINT16
  6249. Fy TINT16
  6250. }
  6251. type TxPolyText8Req = struct {
  6252. FreqType TCARD8
  6253. Fpad TCARD8
  6254. Flength TCARD16
  6255. Fdrawable TCARD32
  6256. Fgc TCARD32
  6257. Fx TINT16
  6258. Fy TINT16
  6259. }
  6260. type TxPolyText16Req = struct {
  6261. FreqType TCARD8
  6262. Fpad TCARD8
  6263. Flength TCARD16
  6264. Fdrawable TCARD32
  6265. Fgc TCARD32
  6266. Fx TINT16
  6267. Fy TINT16
  6268. }
  6269. type TxImageTextReq = struct {
  6270. FreqType TCARD8
  6271. FnChars TBYTE
  6272. Flength TCARD16
  6273. Fdrawable TCARD32
  6274. Fgc TCARD32
  6275. Fx TINT16
  6276. Fy TINT16
  6277. }
  6278. type TxImageText8Req = struct {
  6279. FreqType TCARD8
  6280. FnChars TBYTE
  6281. Flength TCARD16
  6282. Fdrawable TCARD32
  6283. Fgc TCARD32
  6284. Fx TINT16
  6285. Fy TINT16
  6286. }
  6287. type TxImageText16Req = struct {
  6288. FreqType TCARD8
  6289. FnChars TBYTE
  6290. Flength TCARD16
  6291. Fdrawable TCARD32
  6292. Fgc TCARD32
  6293. Fx TINT16
  6294. Fy TINT16
  6295. }
  6296. type TxCreateColormapReq = struct {
  6297. FreqType TCARD8
  6298. Falloc TBYTE
  6299. Flength TCARD16
  6300. Fmid TCARD32
  6301. Fwindow TCARD32
  6302. Fvisual TCARD32
  6303. }
  6304. type TxCopyColormapAndFreeReq = struct {
  6305. FreqType TCARD8
  6306. Fpad TBYTE
  6307. Flength TCARD16
  6308. Fmid TCARD32
  6309. FsrcCmap TCARD32
  6310. }
  6311. type TxAllocColorReq = struct {
  6312. FreqType TCARD8
  6313. Fpad TBYTE
  6314. Flength TCARD16
  6315. Fcmap TCARD32
  6316. Fred TCARD16
  6317. Fgreen TCARD16
  6318. Fblue TCARD16
  6319. Fpad2 TCARD16
  6320. }
  6321. type TxAllocNamedColorReq = struct {
  6322. FreqType TCARD8
  6323. Fpad TBYTE
  6324. Flength TCARD16
  6325. Fcmap TCARD32
  6326. Fnbytes TCARD16
  6327. Fpad1 TBYTE
  6328. Fpad2 TBYTE
  6329. }
  6330. type TxAllocColorCellsReq = struct {
  6331. FreqType TCARD8
  6332. Fcontiguous TBOOL
  6333. Flength TCARD16
  6334. Fcmap TCARD32
  6335. Fcolors TCARD16
  6336. Fplanes TCARD16
  6337. }
  6338. type TxAllocColorPlanesReq = struct {
  6339. FreqType TCARD8
  6340. Fcontiguous TBOOL
  6341. Flength TCARD16
  6342. Fcmap TCARD32
  6343. Fcolors TCARD16
  6344. Fred TCARD16
  6345. Fgreen TCARD16
  6346. Fblue TCARD16
  6347. }
  6348. type TxFreeColorsReq = struct {
  6349. FreqType TCARD8
  6350. Fpad TBYTE
  6351. Flength TCARD16
  6352. Fcmap TCARD32
  6353. FplaneMask TCARD32
  6354. }
  6355. type TxStoreColorsReq = struct {
  6356. FreqType TCARD8
  6357. Fpad TBYTE
  6358. Flength TCARD16
  6359. Fcmap TCARD32
  6360. }
  6361. type TxStoreNamedColorReq = struct {
  6362. FreqType TCARD8
  6363. Fflags TCARD8
  6364. Flength TCARD16
  6365. Fcmap TCARD32
  6366. Fpixel TCARD32
  6367. Fnbytes TCARD16
  6368. Fpad1 TBYTE
  6369. Fpad2 TBYTE
  6370. }
  6371. type TxQueryColorsReq = struct {
  6372. FreqType TCARD8
  6373. Fpad TBYTE
  6374. Flength TCARD16
  6375. Fcmap TCARD32
  6376. }
  6377. type TxLookupColorReq = struct {
  6378. FreqType TCARD8
  6379. Fpad TBYTE
  6380. Flength TCARD16
  6381. Fcmap TCARD32
  6382. Fnbytes TCARD16
  6383. Fpad1 TBYTE
  6384. Fpad2 TBYTE
  6385. }
  6386. type TxCreateCursorReq = struct {
  6387. FreqType TCARD8
  6388. Fpad TBYTE
  6389. Flength TCARD16
  6390. Fcid TCARD32
  6391. Fsource TCARD32
  6392. Fmask TCARD32
  6393. FforeRed TCARD16
  6394. FforeGreen TCARD16
  6395. FforeBlue TCARD16
  6396. FbackRed TCARD16
  6397. FbackGreen TCARD16
  6398. FbackBlue TCARD16
  6399. Fx TCARD16
  6400. Fy TCARD16
  6401. }
  6402. type TxCreateGlyphCursorReq = struct {
  6403. FreqType TCARD8
  6404. Fpad TBYTE
  6405. Flength TCARD16
  6406. Fcid TCARD32
  6407. Fsource TCARD32
  6408. Fmask TCARD32
  6409. FsourceChar TCARD16
  6410. FmaskChar TCARD16
  6411. FforeRed TCARD16
  6412. FforeGreen TCARD16
  6413. FforeBlue TCARD16
  6414. FbackRed TCARD16
  6415. FbackGreen TCARD16
  6416. FbackBlue TCARD16
  6417. }
  6418. type TxRecolorCursorReq = struct {
  6419. FreqType TCARD8
  6420. Fpad TBYTE
  6421. Flength TCARD16
  6422. Fcursor TCARD32
  6423. FforeRed TCARD16
  6424. FforeGreen TCARD16
  6425. FforeBlue TCARD16
  6426. FbackRed TCARD16
  6427. FbackGreen TCARD16
  6428. FbackBlue TCARD16
  6429. }
  6430. type TxQueryBestSizeReq = struct {
  6431. FreqType TCARD8
  6432. Fclass TCARD8
  6433. Flength TCARD16
  6434. Fdrawable TCARD32
  6435. Fwidth TCARD16
  6436. Fheight TCARD16
  6437. }
  6438. type TxQueryExtensionReq = struct {
  6439. FreqType TCARD8
  6440. Fpad TBYTE
  6441. Flength TCARD16
  6442. Fnbytes TCARD16
  6443. Fpad1 TBYTE
  6444. Fpad2 TBYTE
  6445. }
  6446. type TxSetModifierMappingReq = struct {
  6447. FreqType TCARD8
  6448. FnumKeyPerModifier TCARD8
  6449. Flength TCARD16
  6450. }
  6451. type TxSetPointerMappingReq = struct {
  6452. FreqType TCARD8
  6453. FnElts TCARD8
  6454. Flength TCARD16
  6455. }
  6456. type TxGetKeyboardMappingReq = struct {
  6457. FreqType TCARD8
  6458. Fpad TBYTE
  6459. Flength TCARD16
  6460. FfirstKeyCode TCARD8
  6461. Fcount TCARD8
  6462. Fpad1 TCARD16
  6463. }
  6464. type TxChangeKeyboardMappingReq = struct {
  6465. FreqType TCARD8
  6466. FkeyCodes TCARD8
  6467. Flength TCARD16
  6468. FfirstKeyCode TCARD8
  6469. FkeySymsPerKeyCode TCARD8
  6470. Fpad1 TCARD16
  6471. }
  6472. type TxChangeKeyboardControlReq = struct {
  6473. FreqType TCARD8
  6474. Fpad TBYTE
  6475. Flength TCARD16
  6476. Fmask TCARD32
  6477. }
  6478. type TxBellReq = struct {
  6479. FreqType TCARD8
  6480. Fpercent TINT8
  6481. Flength TCARD16
  6482. }
  6483. type TxChangePointerControlReq = struct {
  6484. FreqType TCARD8
  6485. Fpad TBYTE
  6486. Flength TCARD16
  6487. FaccelNum TINT16
  6488. FaccelDenum TINT16
  6489. Fthreshold TINT16
  6490. FdoAccel TBOOL
  6491. FdoThresh TBOOL
  6492. }
  6493. type TxSetScreenSaverReq = struct {
  6494. FreqType TCARD8
  6495. Fpad TBYTE
  6496. Flength TCARD16
  6497. Ftimeout TINT16
  6498. Finterval TINT16
  6499. FpreferBlank TBYTE
  6500. FallowExpose TBYTE
  6501. Fpad2 TCARD16
  6502. }
  6503. type TxChangeHostsReq = struct {
  6504. FreqType TCARD8
  6505. Fmode TBYTE
  6506. Flength TCARD16
  6507. FhostFamily TCARD8
  6508. Fpad TBYTE
  6509. FhostLength TCARD16
  6510. }
  6511. type TxListHostsReq = struct {
  6512. FreqType TCARD8
  6513. Fpad TBYTE
  6514. Flength TCARD16
  6515. }
  6516. type TxChangeModeReq = struct {
  6517. FreqType TCARD8
  6518. Fmode TBYTE
  6519. Flength TCARD16
  6520. }
  6521. type TxSetAccessControlReq = struct {
  6522. FreqType TCARD8
  6523. Fmode TBYTE
  6524. Flength TCARD16
  6525. }
  6526. type TxSetCloseDownModeReq = struct {
  6527. FreqType TCARD8
  6528. Fmode TBYTE
  6529. Flength TCARD16
  6530. }
  6531. type TxForceScreenSaverReq = struct {
  6532. FreqType TCARD8
  6533. Fmode TBYTE
  6534. Flength TCARD16
  6535. }
  6536. type TxRotatePropertiesReq = struct {
  6537. FreqType TCARD8
  6538. Fpad TBYTE
  6539. Flength TCARD16
  6540. Fwindow TCARD32
  6541. FnAtoms TCARD16
  6542. FnPositions TINT16
  6543. }
  6544. type Tsched_param = struct {
  6545. Fsched_priority int32
  6546. F__reserved1 int32
  6547. F__reserved2 [4]int32
  6548. F__reserved3 int32
  6549. }
  6550. type Tcpu_set_t = struct {
  6551. F__bits [32]uint32
  6552. }
  6553. type Tlocale_t = uintptr
  6554. type Ttm = struct {
  6555. Ftm_sec int32
  6556. Ftm_min int32
  6557. Ftm_hour int32
  6558. Ftm_mday int32
  6559. Ftm_mon int32
  6560. Ftm_year int32
  6561. Ftm_wday int32
  6562. Ftm_yday int32
  6563. Ftm_isdst int32
  6564. Ftm_gmtoff int32
  6565. Ftm_zone uintptr
  6566. }
  6567. type Titimerspec = struct {
  6568. Fit_interval Ttimespec
  6569. Fit_value Ttimespec
  6570. }
  6571. type t__ptcb = struct {
  6572. F__f uintptr
  6573. F__x uintptr
  6574. F__next uintptr
  6575. }
  6576. type Tcpu_set_t1 = struct {
  6577. F__bits [32]uint32
  6578. }
  6579. type Txthread_t = uintptr
  6580. type Txthread_key_t = uint32
  6581. type Txcondition_rec = struct {
  6582. F__u struct {
  6583. F__vi [0][12]int32
  6584. F__p [0][12]uintptr
  6585. F__i [12]int32
  6586. }
  6587. }
  6588. type Txmutex_rec = struct {
  6589. F__u struct {
  6590. F__vi [0][6]int32
  6591. F__p [0][6]uintptr
  6592. F__i [6]int32
  6593. }
  6594. F__ccgo_room int32
  6595. }
  6596. type Txcondition_t = uintptr
  6597. type Txmutex_t = uintptr
  6598. type T_XQEvent = struct {
  6599. Fnext uintptr
  6600. Fevent TXEvent
  6601. Fqserial_num uint32
  6602. }
  6603. type T_XSQEvent = T_XQEvent
  6604. type Tdiv_t = struct {
  6605. Fquot int32
  6606. Frem int32
  6607. }
  6608. type Tldiv_t = struct {
  6609. Fquot int32
  6610. Frem int32
  6611. }
  6612. type Tlldiv_t = struct {
  6613. Fquot int64
  6614. Frem int64
  6615. }
  6616. type TLockInfoPtr = uintptr
  6617. type T_XLockPtrs = struct {
  6618. Flock_display uintptr
  6619. Funlock_display uintptr
  6620. }
  6621. type T_XAsyncHandler = struct {
  6622. Fnext uintptr
  6623. Fhandler uintptr
  6624. Fdata TXPointer
  6625. }
  6626. type T_XInternalAsync = T_XAsyncHandler
  6627. type T_XAsyncErrorState = struct {
  6628. Fmin_sequence_number uint32
  6629. Fmax_sequence_number uint32
  6630. Ferror_code uint8
  6631. Fmajor_opcode uint8
  6632. Fminor_opcode uint16
  6633. Flast_error_received uint8
  6634. Ferror_count int32
  6635. }
  6636. type T_XAsyncEState = T_XAsyncErrorState
  6637. type TFreeFuncType = uintptr
  6638. type TFreeModmapType = uintptr
  6639. type T_XFreeFuncRec = struct {
  6640. Fatoms TFreeFuncType
  6641. Fmodifiermap TFreeModmapType
  6642. Fkey_bindings TFreeFuncType
  6643. Fcontext_db TFreeFuncType
  6644. FdefaultCCCs TFreeFuncType
  6645. FclientCmaps TFreeFuncType
  6646. FintensityMaps TFreeFuncType
  6647. Fim_filters TFreeFuncType
  6648. Fxkb TFreeFuncType
  6649. }
  6650. type T_XFreeFuncs = T_XFreeFuncRec
  6651. type TCreateGCType = uintptr
  6652. type TCopyGCType = uintptr
  6653. type TFlushGCType = uintptr
  6654. type TFreeGCType = uintptr
  6655. type TCreateFontType = uintptr
  6656. type TFreeFontType = uintptr
  6657. type TCloseDisplayType = uintptr
  6658. type TErrorType = uintptr
  6659. type TErrorStringType = uintptr
  6660. type TPrintErrorType = uintptr
  6661. type TBeforeFlushType = uintptr
  6662. type T_XExtension = struct {
  6663. Fnext uintptr
  6664. Fcodes TXExtCodes
  6665. Fcreate_GC TCreateGCType
  6666. Fcopy_GC TCopyGCType
  6667. Fflush_GC TFlushGCType
  6668. Ffree_GC TFreeGCType
  6669. Fcreate_Font TCreateFontType
  6670. Ffree_Font TFreeFontType
  6671. Fclose_display TCloseDisplayType
  6672. Ferror1 TErrorType
  6673. Ferror_string TErrorStringType
  6674. Fname uintptr
  6675. Ferror_values TPrintErrorType
  6676. Fbefore_flush TBeforeFlushType
  6677. Fnext_flush uintptr
  6678. }
  6679. type T_XExten = T_XExtension
  6680. type T_XInternalConnectionProc = uintptr
  6681. type T_XConnectionInfo = struct {
  6682. Ffd int32
  6683. Fread_callback T_XInternalConnectionProc
  6684. Fcall_data TXPointer
  6685. Fwatch_data uintptr
  6686. Fnext uintptr
  6687. }
  6688. type T_XConnWatchInfo = struct {
  6689. Ffn TXConnectionWatchProc
  6690. Fclient_data TXPointer
  6691. Fnext uintptr
  6692. }
  6693. type TXSizeHints = struct {
  6694. Fflags int32
  6695. Fx int32
  6696. Fy int32
  6697. Fwidth int32
  6698. Fheight int32
  6699. Fmin_width int32
  6700. Fmin_height int32
  6701. Fmax_width int32
  6702. Fmax_height int32
  6703. Fwidth_inc int32
  6704. Fheight_inc int32
  6705. Fmin_aspect struct {
  6706. Fx int32
  6707. Fy int32
  6708. }
  6709. Fmax_aspect struct {
  6710. Fx int32
  6711. Fy int32
  6712. }
  6713. Fbase_width int32
  6714. Fbase_height int32
  6715. Fwin_gravity int32
  6716. }
  6717. type TXWMHints = struct {
  6718. Fflags int32
  6719. Finput int32
  6720. Finitial_state int32
  6721. Ficon_pixmap TPixmap
  6722. Ficon_window TWindow
  6723. Ficon_x int32
  6724. Ficon_y int32
  6725. Ficon_mask TPixmap
  6726. Fwindow_group TXID
  6727. }
  6728. type TXTextProperty = struct {
  6729. Fvalue uintptr
  6730. Fencoding TAtom
  6731. Fformat int32
  6732. Fnitems uint32
  6733. }
  6734. type TXICCEncodingStyle = int32
  6735. const _XStringStyle = 0
  6736. const _XCompoundTextStyle = 1
  6737. const _XTextStyle = 2
  6738. const _XStdICCTextStyle = 3
  6739. const _XUTF8StringStyle = 4
  6740. type TXIconSize = struct {
  6741. Fmin_width int32
  6742. Fmin_height int32
  6743. Fmax_width int32
  6744. Fmax_height int32
  6745. Fwidth_inc int32
  6746. Fheight_inc int32
  6747. }
  6748. type TXClassHint = struct {
  6749. Fres_name uintptr
  6750. Fres_class uintptr
  6751. }
  6752. type TXComposeStatus = struct {
  6753. Fcompose_ptr TXPointer
  6754. Fchars_matched int32
  6755. }
  6756. type T_XComposeStatus = TXComposeStatus
  6757. type TRegion = uintptr
  6758. type TXVisualInfo = struct {
  6759. Fvisual uintptr
  6760. Fvisualid TVisualID
  6761. Fscreen int32
  6762. Fdepth int32
  6763. Fclass int32
  6764. Fred_mask uint32
  6765. Fgreen_mask uint32
  6766. Fblue_mask uint32
  6767. Fcolormap_size int32
  6768. Fbits_per_rgb int32
  6769. }
  6770. type TXStandardColormap = struct {
  6771. Fcolormap TColormap
  6772. Fred_max uint32
  6773. Fred_mult uint32
  6774. Fgreen_max uint32
  6775. Fgreen_mult uint32
  6776. Fblue_max uint32
  6777. Fblue_mult uint32
  6778. Fbase_pixel uint32
  6779. Fvisualid TVisualID
  6780. Fkillid TXID
  6781. }
  6782. type TXContext = int32
  6783. type Tpointer = uintptr
  6784. type TClientPtr = uintptr
  6785. type TFontPtr = uintptr
  6786. type TFSID = uint32
  6787. type TAccContext = uint32
  6788. type TOSTimePtr = uintptr
  6789. type TBlockHandlerProcPtr = uintptr
  6790. type TGlyph = uint32
  6791. type TGlyphSet = uint32
  6792. type TPicture = uint32
  6793. type TPictFormat = uint32
  6794. type TxDirectFormat = struct {
  6795. Fred TCARD16
  6796. FredMask TCARD16
  6797. Fgreen TCARD16
  6798. FgreenMask TCARD16
  6799. Fblue TCARD16
  6800. FblueMask TCARD16
  6801. Falpha TCARD16
  6802. FalphaMask TCARD16
  6803. }
  6804. type TxPictFormInfo = struct {
  6805. Fid TCARD32
  6806. Ftype1 TCARD8
  6807. Fdepth TCARD8
  6808. Fpad1 TCARD16
  6809. Fdirect TxDirectFormat
  6810. Fcolormap TCARD32
  6811. }
  6812. type TxPictVisual = struct {
  6813. Fvisual TCARD32
  6814. Fformat TCARD32
  6815. }
  6816. type TxPictDepth = struct {
  6817. Fdepth TCARD8
  6818. Fpad1 TCARD8
  6819. FnPictVisuals TCARD16
  6820. Fpad2 TCARD32
  6821. }
  6822. type TxPictScreen = struct {
  6823. FnDepth TCARD32
  6824. Ffallback TCARD32
  6825. }
  6826. type TxIndexValue = struct {
  6827. Fpixel TCARD32
  6828. Fred TCARD16
  6829. Fgreen TCARD16
  6830. Fblue TCARD16
  6831. Falpha TCARD16
  6832. }
  6833. type TxRenderColor = struct {
  6834. Fred TCARD16
  6835. Fgreen TCARD16
  6836. Fblue TCARD16
  6837. Falpha TCARD16
  6838. }
  6839. type TxPointFixed = struct {
  6840. Fx TINT32
  6841. Fy TINT32
  6842. }
  6843. type TxLineFixed = struct {
  6844. Fp1 TxPointFixed
  6845. Fp2 TxPointFixed
  6846. }
  6847. type TxTriangle = struct {
  6848. Fp1 TxPointFixed
  6849. Fp2 TxPointFixed
  6850. Fp3 TxPointFixed
  6851. }
  6852. type TxTrapezoid = struct {
  6853. Ftop TINT32
  6854. Fbottom TINT32
  6855. Fleft TxLineFixed
  6856. Fright TxLineFixed
  6857. }
  6858. type TxGlyphInfo = struct {
  6859. Fwidth TCARD16
  6860. Fheight TCARD16
  6861. Fx TINT16
  6862. Fy TINT16
  6863. FxOff TINT16
  6864. FyOff TINT16
  6865. }
  6866. type TxGlyphElt = struct {
  6867. Flen1 TCARD8
  6868. Fpad1 TCARD8
  6869. Fpad2 TCARD16
  6870. Fdeltax TINT16
  6871. Fdeltay TINT16
  6872. }
  6873. type TxSpanFix = struct {
  6874. Fl TINT32
  6875. Fr TINT32
  6876. Fy TINT32
  6877. }
  6878. type TxTrap = struct {
  6879. Ftop TxSpanFix
  6880. Fbot TxSpanFix
  6881. }
  6882. type TxRenderQueryVersionReq = struct {
  6883. FreqType TCARD8
  6884. FrenderReqType TCARD8
  6885. Flength TCARD16
  6886. FmajorVersion TCARD32
  6887. FminorVersion TCARD32
  6888. }
  6889. type TxRenderQueryVersionReply = struct {
  6890. Ftype1 TBYTE
  6891. Fpad1 TBYTE
  6892. FsequenceNumber TCARD16
  6893. Flength TCARD32
  6894. FmajorVersion TCARD32
  6895. FminorVersion TCARD32
  6896. Fpad2 TCARD32
  6897. Fpad3 TCARD32
  6898. Fpad4 TCARD32
  6899. Fpad5 TCARD32
  6900. }
  6901. type TxRenderQueryPictFormatsReq = struct {
  6902. FreqType TCARD8
  6903. FrenderReqType TCARD8
  6904. Flength TCARD16
  6905. }
  6906. type TxRenderQueryPictFormatsReply = struct {
  6907. Ftype1 TBYTE
  6908. Fpad1 TBYTE
  6909. FsequenceNumber TCARD16
  6910. Flength TCARD32
  6911. FnumFormats TCARD32
  6912. FnumScreens TCARD32
  6913. FnumDepths TCARD32
  6914. FnumVisuals TCARD32
  6915. FnumSubpixel TCARD32
  6916. Fpad5 TCARD32
  6917. }
  6918. type TxRenderQueryPictIndexValuesReq = struct {
  6919. FreqType TCARD8
  6920. FrenderReqType TCARD8
  6921. Flength TCARD16
  6922. Fformat TCARD32
  6923. }
  6924. type TxRenderQueryPictIndexValuesReply = struct {
  6925. Ftype1 TBYTE
  6926. Fpad1 TBYTE
  6927. FsequenceNumber TCARD16
  6928. Flength TCARD32
  6929. FnumIndexValues TCARD32
  6930. Fpad2 TCARD32
  6931. Fpad3 TCARD32
  6932. Fpad4 TCARD32
  6933. Fpad5 TCARD32
  6934. Fpad6 TCARD32
  6935. }
  6936. type TxRenderCreatePictureReq = struct {
  6937. FreqType TCARD8
  6938. FrenderReqType TCARD8
  6939. Flength TCARD16
  6940. Fpid TCARD32
  6941. Fdrawable TCARD32
  6942. Fformat TCARD32
  6943. Fmask TCARD32
  6944. }
  6945. type TxRenderChangePictureReq = struct {
  6946. FreqType TCARD8
  6947. FrenderReqType TCARD8
  6948. Flength TCARD16
  6949. Fpicture TCARD32
  6950. Fmask TCARD32
  6951. }
  6952. type TxRenderSetPictureClipRectanglesReq = struct {
  6953. FreqType TCARD8
  6954. FrenderReqType TCARD8
  6955. Flength TCARD16
  6956. Fpicture TCARD32
  6957. FxOrigin TINT16
  6958. FyOrigin TINT16
  6959. }
  6960. type TxRenderFreePictureReq = struct {
  6961. FreqType TCARD8
  6962. FrenderReqType TCARD8
  6963. Flength TCARD16
  6964. Fpicture TCARD32
  6965. }
  6966. type TxRenderCompositeReq = struct {
  6967. FreqType TCARD8
  6968. FrenderReqType TCARD8
  6969. Flength TCARD16
  6970. Fop TCARD8
  6971. Fpad1 TCARD8
  6972. Fpad2 TCARD16
  6973. Fsrc TCARD32
  6974. Fmask TCARD32
  6975. Fdst TCARD32
  6976. FxSrc TINT16
  6977. FySrc TINT16
  6978. FxMask TINT16
  6979. FyMask TINT16
  6980. FxDst TINT16
  6981. FyDst TINT16
  6982. Fwidth TCARD16
  6983. Fheight TCARD16
  6984. }
  6985. type TxRenderScaleReq = struct {
  6986. FreqType TCARD8
  6987. FrenderReqType TCARD8
  6988. Flength TCARD16
  6989. Fsrc TCARD32
  6990. Fdst TCARD32
  6991. FcolorScale TCARD32
  6992. FalphaScale TCARD32
  6993. FxSrc TINT16
  6994. FySrc TINT16
  6995. FxDst TINT16
  6996. FyDst TINT16
  6997. Fwidth TCARD16
  6998. Fheight TCARD16
  6999. }
  7000. type TxRenderTrapezoidsReq = struct {
  7001. FreqType TCARD8
  7002. FrenderReqType TCARD8
  7003. Flength TCARD16
  7004. Fop TCARD8
  7005. Fpad1 TCARD8
  7006. Fpad2 TCARD16
  7007. Fsrc TCARD32
  7008. Fdst TCARD32
  7009. FmaskFormat TCARD32
  7010. FxSrc TINT16
  7011. FySrc TINT16
  7012. }
  7013. type TxRenderTrianglesReq = struct {
  7014. FreqType TCARD8
  7015. FrenderReqType TCARD8
  7016. Flength TCARD16
  7017. Fop TCARD8
  7018. Fpad1 TCARD8
  7019. Fpad2 TCARD16
  7020. Fsrc TCARD32
  7021. Fdst TCARD32
  7022. FmaskFormat TCARD32
  7023. FxSrc TINT16
  7024. FySrc TINT16
  7025. }
  7026. type TxRenderTriStripReq = struct {
  7027. FreqType TCARD8
  7028. FrenderReqType TCARD8
  7029. Flength TCARD16
  7030. Fop TCARD8
  7031. Fpad1 TCARD8
  7032. Fpad2 TCARD16
  7033. Fsrc TCARD32
  7034. Fdst TCARD32
  7035. FmaskFormat TCARD32
  7036. FxSrc TINT16
  7037. FySrc TINT16
  7038. }
  7039. type TxRenderTriFanReq = struct {
  7040. FreqType TCARD8
  7041. FrenderReqType TCARD8
  7042. Flength TCARD16
  7043. Fop TCARD8
  7044. Fpad1 TCARD8
  7045. Fpad2 TCARD16
  7046. Fsrc TCARD32
  7047. Fdst TCARD32
  7048. FmaskFormat TCARD32
  7049. FxSrc TINT16
  7050. FySrc TINT16
  7051. }
  7052. type TxRenderCreateGlyphSetReq = struct {
  7053. FreqType TCARD8
  7054. FrenderReqType TCARD8
  7055. Flength TCARD16
  7056. Fgsid TCARD32
  7057. Fformat TCARD32
  7058. }
  7059. type TxRenderReferenceGlyphSetReq = struct {
  7060. FreqType TCARD8
  7061. FrenderReqType TCARD8
  7062. Flength TCARD16
  7063. Fgsid TCARD32
  7064. Fexisting TCARD32
  7065. }
  7066. type TxRenderFreeGlyphSetReq = struct {
  7067. FreqType TCARD8
  7068. FrenderReqType TCARD8
  7069. Flength TCARD16
  7070. Fglyphset TCARD32
  7071. }
  7072. type TxRenderAddGlyphsReq = struct {
  7073. FreqType TCARD8
  7074. FrenderReqType TCARD8
  7075. Flength TCARD16
  7076. Fglyphset TCARD32
  7077. Fnglyphs TCARD32
  7078. }
  7079. type TxRenderFreeGlyphsReq = struct {
  7080. FreqType TCARD8
  7081. FrenderReqType TCARD8
  7082. Flength TCARD16
  7083. Fglyphset TCARD32
  7084. }
  7085. type TxRenderCompositeGlyphsReq = struct {
  7086. FreqType TCARD8
  7087. FrenderReqType TCARD8
  7088. Flength TCARD16
  7089. Fop TCARD8
  7090. Fpad1 TCARD8
  7091. Fpad2 TCARD16
  7092. Fsrc TCARD32
  7093. Fdst TCARD32
  7094. FmaskFormat TCARD32
  7095. Fglyphset TCARD32
  7096. FxSrc TINT16
  7097. FySrc TINT16
  7098. }
  7099. type TxRenderCompositeGlyphs8Req = struct {
  7100. FreqType TCARD8
  7101. FrenderReqType TCARD8
  7102. Flength TCARD16
  7103. Fop TCARD8
  7104. Fpad1 TCARD8
  7105. Fpad2 TCARD16
  7106. Fsrc TCARD32
  7107. Fdst TCARD32
  7108. FmaskFormat TCARD32
  7109. Fglyphset TCARD32
  7110. FxSrc TINT16
  7111. FySrc TINT16
  7112. }
  7113. type TxRenderCompositeGlyphs16Req = struct {
  7114. FreqType TCARD8
  7115. FrenderReqType TCARD8
  7116. Flength TCARD16
  7117. Fop TCARD8
  7118. Fpad1 TCARD8
  7119. Fpad2 TCARD16
  7120. Fsrc TCARD32
  7121. Fdst TCARD32
  7122. FmaskFormat TCARD32
  7123. Fglyphset TCARD32
  7124. FxSrc TINT16
  7125. FySrc TINT16
  7126. }
  7127. type TxRenderCompositeGlyphs32Req = struct {
  7128. FreqType TCARD8
  7129. FrenderReqType TCARD8
  7130. Flength TCARD16
  7131. Fop TCARD8
  7132. Fpad1 TCARD8
  7133. Fpad2 TCARD16
  7134. Fsrc TCARD32
  7135. Fdst TCARD32
  7136. FmaskFormat TCARD32
  7137. Fglyphset TCARD32
  7138. FxSrc TINT16
  7139. FySrc TINT16
  7140. }
  7141. type TxRenderFillRectanglesReq = struct {
  7142. FreqType TCARD8
  7143. FrenderReqType TCARD8
  7144. Flength TCARD16
  7145. Fop TCARD8
  7146. Fpad1 TCARD8
  7147. Fpad2 TCARD16
  7148. Fdst TCARD32
  7149. Fcolor TxRenderColor
  7150. }
  7151. type TxRenderCreateCursorReq = struct {
  7152. FreqType TCARD8
  7153. FrenderReqType TCARD8
  7154. Flength TCARD16
  7155. Fcid TCARD32
  7156. Fsrc TCARD32
  7157. Fx TCARD16
  7158. Fy TCARD16
  7159. }
  7160. type TxRenderTransform = struct {
  7161. Fmatrix11 TINT32
  7162. Fmatrix12 TINT32
  7163. Fmatrix13 TINT32
  7164. Fmatrix21 TINT32
  7165. Fmatrix22 TINT32
  7166. Fmatrix23 TINT32
  7167. Fmatrix31 TINT32
  7168. Fmatrix32 TINT32
  7169. Fmatrix33 TINT32
  7170. }
  7171. type TxRenderSetPictureTransformReq = struct {
  7172. FreqType TCARD8
  7173. FrenderReqType TCARD8
  7174. Flength TCARD16
  7175. Fpicture TCARD32
  7176. Ftransform TxRenderTransform
  7177. }
  7178. type TxRenderQueryFiltersReq = struct {
  7179. FreqType TCARD8
  7180. FrenderReqType TCARD8
  7181. Flength TCARD16
  7182. Fdrawable TCARD32
  7183. }
  7184. type TxRenderQueryFiltersReply = struct {
  7185. Ftype1 TBYTE
  7186. Fpad1 TBYTE
  7187. FsequenceNumber TCARD16
  7188. Flength TCARD32
  7189. FnumAliases TCARD32
  7190. FnumFilters TCARD32
  7191. Fpad2 TCARD32
  7192. Fpad3 TCARD32
  7193. Fpad4 TCARD32
  7194. Fpad5 TCARD32
  7195. }
  7196. type TxRenderSetPictureFilterReq = struct {
  7197. FreqType TCARD8
  7198. FrenderReqType TCARD8
  7199. Flength TCARD16
  7200. Fpicture TCARD32
  7201. Fnbytes TCARD16
  7202. Fpad TCARD16
  7203. }
  7204. type TxAnimCursorElt = struct {
  7205. Fcursor TCARD32
  7206. Fdelay TCARD32
  7207. }
  7208. type TxRenderCreateAnimCursorReq = struct {
  7209. FreqType TCARD8
  7210. FrenderReqType TCARD8
  7211. Flength TCARD16
  7212. Fcid TCARD32
  7213. }
  7214. type TxRenderAddTrapsReq = struct {
  7215. FreqType TCARD8
  7216. FrenderReqType TCARD8
  7217. Flength TCARD16
  7218. Fpicture TCARD32
  7219. FxOff TINT16
  7220. FyOff TINT16
  7221. }
  7222. type TxRenderCreateSolidFillReq = struct {
  7223. FreqType TCARD8
  7224. FrenderReqType TCARD8
  7225. Flength TCARD16
  7226. Fpid TCARD32
  7227. Fcolor TxRenderColor
  7228. }
  7229. type TxRenderCreateLinearGradientReq = struct {
  7230. FreqType TCARD8
  7231. FrenderReqType TCARD8
  7232. Flength TCARD16
  7233. Fpid TCARD32
  7234. Fp1 TxPointFixed
  7235. Fp2 TxPointFixed
  7236. FnStops TCARD32
  7237. }
  7238. type TxRenderCreateRadialGradientReq = struct {
  7239. FreqType TCARD8
  7240. FrenderReqType TCARD8
  7241. Flength TCARD16
  7242. Fpid TCARD32
  7243. Finner TxPointFixed
  7244. Fouter TxPointFixed
  7245. Finner_radius TINT32
  7246. Fouter_radius TINT32
  7247. FnStops TCARD32
  7248. }
  7249. type TxRenderCreateConicalGradientReq = struct {
  7250. FreqType TCARD8
  7251. FrenderReqType TCARD8
  7252. Flength TCARD16
  7253. Fpid TCARD32
  7254. Fcenter TxPointFixed
  7255. Fangle TINT32
  7256. FnStops TCARD32
  7257. }
  7258. type TXRenderDirectFormat = struct {
  7259. Fred int16
  7260. FredMask int16
  7261. Fgreen int16
  7262. FgreenMask int16
  7263. Fblue int16
  7264. FblueMask int16
  7265. Falpha int16
  7266. FalphaMask int16
  7267. }
  7268. type TXRenderPictFormat = struct {
  7269. Fid TPictFormat
  7270. Ftype1 int32
  7271. Fdepth int32
  7272. Fdirect TXRenderDirectFormat
  7273. Fcolormap TColormap
  7274. }
  7275. type TXRenderPictureAttributes = struct {
  7276. Frepeat int32
  7277. Falpha_map TPicture
  7278. Falpha_x_origin int32
  7279. Falpha_y_origin int32
  7280. Fclip_x_origin int32
  7281. Fclip_y_origin int32
  7282. Fclip_mask TPixmap
  7283. Fgraphics_exposures int32
  7284. Fsubwindow_mode int32
  7285. Fpoly_edge int32
  7286. Fpoly_mode int32
  7287. Fdither TAtom
  7288. Fcomponent_alpha int32
  7289. }
  7290. type T_XRenderPictureAttributes = TXRenderPictureAttributes
  7291. type TXRenderColor = struct {
  7292. Fred uint16
  7293. Fgreen uint16
  7294. Fblue uint16
  7295. Falpha uint16
  7296. }
  7297. type TXGlyphInfo = struct {
  7298. Fwidth uint16
  7299. Fheight uint16
  7300. Fx int16
  7301. Fy int16
  7302. FxOff int16
  7303. FyOff int16
  7304. }
  7305. type T_XGlyphInfo = TXGlyphInfo
  7306. type TXGlyphElt8 = struct {
  7307. Fglyphset TGlyphSet
  7308. Fchars uintptr
  7309. Fnchars int32
  7310. FxOff int32
  7311. FyOff int32
  7312. }
  7313. type T_XGlyphElt8 = TXGlyphElt8
  7314. type TXGlyphElt16 = struct {
  7315. Fglyphset TGlyphSet
  7316. Fchars uintptr
  7317. Fnchars int32
  7318. FxOff int32
  7319. FyOff int32
  7320. }
  7321. type T_XGlyphElt16 = TXGlyphElt16
  7322. type TXGlyphElt32 = struct {
  7323. Fglyphset TGlyphSet
  7324. Fchars uintptr
  7325. Fnchars int32
  7326. FxOff int32
  7327. FyOff int32
  7328. }
  7329. type T_XGlyphElt32 = TXGlyphElt32
  7330. type TXDouble = float64
  7331. type TXPointDouble = struct {
  7332. Fx TXDouble
  7333. Fy TXDouble
  7334. }
  7335. type T_XPointDouble = TXPointDouble
  7336. type TXFixed = int32
  7337. type TXPointFixed = struct {
  7338. Fx TXFixed
  7339. Fy TXFixed
  7340. }
  7341. type T_XPointFixed = TXPointFixed
  7342. type TXLineFixed = struct {
  7343. Fp1 TXPointFixed
  7344. Fp2 TXPointFixed
  7345. }
  7346. type T_XLineFixed = TXLineFixed
  7347. type TXTriangle = struct {
  7348. Fp1 TXPointFixed
  7349. Fp2 TXPointFixed
  7350. Fp3 TXPointFixed
  7351. }
  7352. type T_XTriangle = TXTriangle
  7353. type TXCircle = struct {
  7354. Fx TXFixed
  7355. Fy TXFixed
  7356. Fradius TXFixed
  7357. }
  7358. type T_XCircle = TXCircle
  7359. type TXTrapezoid = struct {
  7360. Ftop TXFixed
  7361. Fbottom TXFixed
  7362. Fleft TXLineFixed
  7363. Fright TXLineFixed
  7364. }
  7365. type T_XTrapezoid = TXTrapezoid
  7366. type TXTransform = struct {
  7367. Fmatrix [3][3]TXFixed
  7368. }
  7369. type T_XTransform = TXTransform
  7370. type TXFilters = struct {
  7371. Fnfilter int32
  7372. Ffilter uintptr
  7373. Fnalias int32
  7374. Falias uintptr
  7375. }
  7376. type T_XFilters = TXFilters
  7377. type TXIndexValue = struct {
  7378. Fpixel uint32
  7379. Fred uint16
  7380. Fgreen uint16
  7381. Fblue uint16
  7382. Falpha uint16
  7383. }
  7384. type T_XIndexValue = TXIndexValue
  7385. type TXAnimCursor = struct {
  7386. Fcursor TCursor
  7387. Fdelay uint32
  7388. }
  7389. type T_XAnimCursor = TXAnimCursor
  7390. type TXSpanFix = struct {
  7391. Fleft TXFixed
  7392. Fright TXFixed
  7393. Fy TXFixed
  7394. }
  7395. type T_XSpanFix = TXSpanFix
  7396. type TXTrap = struct {
  7397. Ftop TXSpanFix
  7398. Fbottom TXSpanFix
  7399. }
  7400. type T_XTrap = TXTrap
  7401. type TXLinearGradient = struct {
  7402. Fp1 TXPointFixed
  7403. Fp2 TXPointFixed
  7404. }
  7405. type T_XLinearGradient = TXLinearGradient
  7406. type TXRadialGradient = struct {
  7407. Finner TXCircle
  7408. Fouter TXCircle
  7409. }
  7410. type T_XRadialGradient = TXRadialGradient
  7411. type TXConicalGradient = struct {
  7412. Fcenter TXPointFixed
  7413. Fangle TXFixed
  7414. }
  7415. type T_XConicalGradient = TXConicalGradient
  7416. type TXRenderVisual = struct {
  7417. Fvisual uintptr
  7418. Fformat uintptr
  7419. }
  7420. type TXRenderDepth = struct {
  7421. Fdepth int32
  7422. Fnvisuals int32
  7423. Fvisuals uintptr
  7424. }
  7425. type TXRenderScreen = struct {
  7426. Fdepths uintptr
  7427. Fndepths int32
  7428. Ffallback uintptr
  7429. Fsubpixel int32
  7430. }
  7431. type TXRenderInfo = struct {
  7432. Fmajor_version int32
  7433. Fminor_version int32
  7434. Fformat uintptr
  7435. Fnformat int32
  7436. Fscreen uintptr
  7437. Fnscreen int32
  7438. Fdepth uintptr
  7439. Fndepth int32
  7440. Fvisual uintptr
  7441. Fnvisual int32
  7442. Fsubpixel uintptr
  7443. Fnsubpixel int32
  7444. Ffilter uintptr
  7445. Fnfilter int32
  7446. Ffilter_alias uintptr
  7447. Fnfilter_alias int32
  7448. }
  7449. type T_XRenderInfo = TXRenderInfo
  7450. type TXRenderExtDisplayInfo = struct {
  7451. Fnext uintptr
  7452. Fdisplay uintptr
  7453. Fcodes uintptr
  7454. Finfo uintptr
  7455. }
  7456. type T_XRenderExtDisplayInfo = TXRenderExtDisplayInfo
  7457. type TXRenderExtInfo = struct {
  7458. Fhead uintptr
  7459. Fcur uintptr
  7460. Fndisplays int32
  7461. }
  7462. type T_XRenderExtInfo = TXRenderExtInfo
  7463. /*
  7464. * Xlib uses long for 32-bit values. Xrender uses int. This
  7465. * matters on alpha. Note that this macro assumes that int is 32 bits
  7466. * except on WORD64 machines where it is 64 bits.
  7467. */
  7468. func XXRenderAddTraps(tls *libc.TLS, dpy uintptr, picture TPicture, xOff int32, yOff int32, traps uintptr, ntrap int32) {
  7469. bp := tls.Alloc(16)
  7470. defer tls.Free(16)
  7471. var _BRlen TCARD32
  7472. var info, req uintptr
  7473. var len1, n int32
  7474. var max_req, v1 uint32
  7475. var _ /* _BRdat at bp+0 */ TCARD32
  7476. _, _, _, _, _, _, _ = _BRlen, info, len1, max_req, n, req, v1
  7477. info = XXRenderFindDisplay(tls, dpy)
  7478. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  7479. v1 = (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size
  7480. } else {
  7481. v1 = (*TDisplay)(unsafe.Pointer(dpy)).Fmax_request_size
  7482. }
  7483. max_req = v1
  7484. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  7485. return
  7486. }
  7487. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  7488. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  7489. }
  7490. for ntrap != 0 {
  7491. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderAddTraps), uint32(m_sz_xRenderAddTrapsReq))
  7492. (*TxRenderAddTrapsReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  7493. (*TxRenderAddTrapsReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderAddTraps)
  7494. (*TxRenderAddTrapsReq)(unsafe.Pointer(req)).Fpicture = picture
  7495. (*TxRenderAddTrapsReq)(unsafe.Pointer(req)).FxOff = int16(xOff)
  7496. (*TxRenderAddTrapsReq)(unsafe.Pointer(req)).FyOff = int16(yOff)
  7497. n = ntrap
  7498. len1 = n * int32(libc.Int32FromInt32(m_sz_xTrap)>>libc.Int32FromInt32(2))
  7499. if libc.Uint32FromInt32(len1) > max_req-uint32((*TxRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) {
  7500. n = libc.Int32FromUint32((max_req - uint32((*TxRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)) / libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xTrap)>>libc.Int32FromInt32(2)))
  7501. len1 = n * int32(libc.Int32FromInt32(m_sz_xTrap)>>libc.Int32FromInt32(2))
  7502. }
  7503. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderAddTrapsReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  7504. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  7505. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) - int32(1))
  7506. (*TxRenderAddTrapsReq)(unsafe.Pointer(req)).Flength = uint16(0)
  7507. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  7508. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  7509. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  7510. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  7511. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  7512. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  7513. } else {
  7514. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  7515. }
  7516. } else {
  7517. len1 = len1
  7518. (*TxRenderAddTrapsReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) + len1)
  7519. }
  7520. } else {
  7521. (*TxRenderAddTrapsReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderAddTrapsReq)(unsafe.Pointer(req)).Flength) + len1)
  7522. }
  7523. len1 <<= int32(2)
  7524. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  7525. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, traps, libc.Uint32FromInt32(len1))
  7526. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(len1+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  7527. } else {
  7528. libx11.X_XSend(tls, dpy, traps, len1)
  7529. }
  7530. ntrap -= n
  7531. traps += uintptr(n) * 24
  7532. }
  7533. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  7534. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  7535. }
  7536. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  7537. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  7538. }
  7539. }
  7540. type Tfuncs = struct {
  7541. Fcreate_image uintptr
  7542. Fdestroy_image uintptr
  7543. Fget_pixel uintptr
  7544. Fput_pixel uintptr
  7545. Fsub_image uintptr
  7546. Fadd_pixel uintptr
  7547. }
  7548. /*
  7549. * Xlib uses long for 32-bit values. Xrender uses int. This
  7550. * matters on alpha. Note that this macro assumes that int is 32 bits
  7551. * except on WORD64 machines where it is 64 bits.
  7552. */
  7553. func XXRenderParseColor(tls *libc.TLS, dpy uintptr, spec uintptr, def uintptr) (r int32) {
  7554. bp := tls.Alloc(32)
  7555. defer tls.Free(32)
  7556. var c int8
  7557. var colormap TColormap
  7558. var i, n, v2 int32
  7559. var pShort, v3, p4, p5, p6 uintptr
  7560. var _ /* coreColor at bp+8 */ TXColor
  7561. var _ /* elements at bp+0 */ [4]uint16
  7562. _, _, _, _, _, _, _, _, _, _ = c, colormap, i, n, pShort, v2, v3, p4, p5, p6
  7563. if !(libc.Xstrncmp(tls, spec, __ccgo_ts, uint32(5)) != 0) {
  7564. spec += uintptr(5)
  7565. /*
  7566. * Attempt to parse the value portion.
  7567. */
  7568. pShort = bp
  7569. i = 0
  7570. for {
  7571. if !(i < int32(4)) {
  7572. break
  7573. }
  7574. n = 0
  7575. *(*uint16)(unsafe.Pointer(pShort)) = uint16(0)
  7576. for int32(*(*int8)(unsafe.Pointer(spec))) != int32('/') && int32(*(*int8)(unsafe.Pointer(spec))) != int32('\000') {
  7577. n++
  7578. v2 = n
  7579. if v2 > int32(4) {
  7580. return 0
  7581. }
  7582. v3 = spec
  7583. spec++
  7584. c = *(*int8)(unsafe.Pointer(v3))
  7585. p4 = pShort
  7586. *(*uint16)(unsafe.Pointer(p4)) = uint16(int32(*(*uint16)(unsafe.Pointer(p4))) << libc.Int32FromInt32(4))
  7587. if int32(c) >= int32('0') && int32(c) <= int32('9') {
  7588. p5 = pShort
  7589. *(*uint16)(unsafe.Pointer(p5)) = uint16(int32(*(*uint16)(unsafe.Pointer(p5))) | (int32(c) - libc.Int32FromUint8('0')))
  7590. } else {
  7591. if int32(c) >= int32('a') && int32(c) <= int32('f') {
  7592. p6 = pShort
  7593. *(*uint16)(unsafe.Pointer(p6)) = uint16(int32(*(*uint16)(unsafe.Pointer(p6))) | (int32(c) - (libc.Int32FromUint8('a') - libc.Int32FromInt32(10))))
  7594. } else {
  7595. return 0
  7596. }
  7597. }
  7598. }
  7599. if n == 0 {
  7600. return 0
  7601. }
  7602. if n < int32(4) {
  7603. *(*uint16)(unsafe.Pointer(pShort)) = uint16(uint32(*(*uint16)(unsafe.Pointer(pShort))) * uint32(0xFFFF) / libc.Uint32FromInt32(libc.Int32FromInt32(1)<<(n*libc.Int32FromInt32(4))-libc.Int32FromInt32(1)))
  7604. }
  7605. goto _1
  7606. _1:
  7607. ;
  7608. i++
  7609. pShort += 2
  7610. spec++
  7611. }
  7612. (*TXRenderColor)(unsafe.Pointer(def)).Fred = (*(*[4]uint16)(unsafe.Pointer(bp)))[0]
  7613. (*TXRenderColor)(unsafe.Pointer(def)).Fgreen = (*(*[4]uint16)(unsafe.Pointer(bp)))[int32(1)]
  7614. (*TXRenderColor)(unsafe.Pointer(def)).Fblue = (*(*[4]uint16)(unsafe.Pointer(bp)))[int32(2)]
  7615. (*TXRenderColor)(unsafe.Pointer(def)).Falpha = (*(*[4]uint16)(unsafe.Pointer(bp)))[int32(3)]
  7616. } else {
  7617. colormap = (*TScreen)(unsafe.Pointer((*struct {
  7618. Fext_data uintptr
  7619. Fprivate1 uintptr
  7620. Ffd int32
  7621. Fprivate2 int32
  7622. Fproto_major_version int32
  7623. Fproto_minor_version int32
  7624. Fvendor uintptr
  7625. Fprivate3 TXID
  7626. Fprivate4 TXID
  7627. Fprivate5 TXID
  7628. Fprivate6 int32
  7629. Fresource_alloc uintptr
  7630. Fbyte_order int32
  7631. Fbitmap_unit int32
  7632. Fbitmap_pad int32
  7633. Fbitmap_bit_order int32
  7634. Fnformats int32
  7635. Fpixmap_format uintptr
  7636. Fprivate8 int32
  7637. Frelease int32
  7638. Fprivate9 uintptr
  7639. Fprivate10 uintptr
  7640. Fqlen int32
  7641. Flast_request_read uint32
  7642. Frequest uint32
  7643. Fprivate11 TXPointer
  7644. Fprivate12 TXPointer
  7645. Fprivate13 TXPointer
  7646. Fprivate14 TXPointer
  7647. Fmax_request_size uint32
  7648. Fdb uintptr
  7649. Fprivate15 uintptr
  7650. Fdisplay_name uintptr
  7651. Fdefault_screen int32
  7652. Fnscreens int32
  7653. Fscreens uintptr
  7654. Fmotion_buffer uint32
  7655. Fprivate16 uint32
  7656. Fmin_keycode int32
  7657. Fmax_keycode int32
  7658. Fprivate17 TXPointer
  7659. Fprivate18 TXPointer
  7660. Fprivate19 int32
  7661. Fxdefaults uintptr
  7662. })(unsafe.Pointer(dpy)).Fscreens + uintptr((*struct {
  7663. Fext_data uintptr
  7664. Fprivate1 uintptr
  7665. Ffd int32
  7666. Fprivate2 int32
  7667. Fproto_major_version int32
  7668. Fproto_minor_version int32
  7669. Fvendor uintptr
  7670. Fprivate3 TXID
  7671. Fprivate4 TXID
  7672. Fprivate5 TXID
  7673. Fprivate6 int32
  7674. Fresource_alloc uintptr
  7675. Fbyte_order int32
  7676. Fbitmap_unit int32
  7677. Fbitmap_pad int32
  7678. Fbitmap_bit_order int32
  7679. Fnformats int32
  7680. Fpixmap_format uintptr
  7681. Fprivate8 int32
  7682. Frelease int32
  7683. Fprivate9 uintptr
  7684. Fprivate10 uintptr
  7685. Fqlen int32
  7686. Flast_request_read uint32
  7687. Frequest uint32
  7688. Fprivate11 TXPointer
  7689. Fprivate12 TXPointer
  7690. Fprivate13 TXPointer
  7691. Fprivate14 TXPointer
  7692. Fmax_request_size uint32
  7693. Fdb uintptr
  7694. Fprivate15 uintptr
  7695. Fdisplay_name uintptr
  7696. Fdefault_screen int32
  7697. Fnscreens int32
  7698. Fscreens uintptr
  7699. Fmotion_buffer uint32
  7700. Fprivate16 uint32
  7701. Fmin_keycode int32
  7702. Fmax_keycode int32
  7703. Fprivate17 TXPointer
  7704. Fprivate18 TXPointer
  7705. Fprivate19 int32
  7706. Fxdefaults uintptr
  7707. })(unsafe.Pointer(dpy)).Fdefault_screen)*80)).Fcmap
  7708. if !(libx11.XXParseColor(tls, dpy, colormap, spec, bp+8) != 0) {
  7709. return 0
  7710. }
  7711. (*TXRenderColor)(unsafe.Pointer(def)).Fred = (*(*TXColor)(unsafe.Pointer(bp + 8))).Fred
  7712. (*TXRenderColor)(unsafe.Pointer(def)).Fgreen = (*(*TXColor)(unsafe.Pointer(bp + 8))).Fgreen
  7713. (*TXRenderColor)(unsafe.Pointer(def)).Fblue = (*(*TXColor)(unsafe.Pointer(bp + 8))).Fblue
  7714. (*TXRenderColor)(unsafe.Pointer(def)).Falpha = uint16(0xffff)
  7715. }
  7716. (*TXRenderColor)(unsafe.Pointer(def)).Fred = uint16(libc.Uint32FromInt32(libc.Int32FromUint16((*TXRenderColor)(unsafe.Pointer(def)).Fred)*libc.Int32FromUint16((*TXRenderColor)(unsafe.Pointer(def)).Falpha)) / uint32(0xffff))
  7717. (*TXRenderColor)(unsafe.Pointer(def)).Fgreen = uint16(libc.Uint32FromInt32(libc.Int32FromUint16((*TXRenderColor)(unsafe.Pointer(def)).Fgreen)*libc.Int32FromUint16((*TXRenderColor)(unsafe.Pointer(def)).Falpha)) / uint32(0xffff))
  7718. (*TXRenderColor)(unsafe.Pointer(def)).Fblue = uint16(libc.Uint32FromInt32(libc.Int32FromUint16((*TXRenderColor)(unsafe.Pointer(def)).Fblue)*libc.Int32FromUint16((*TXRenderColor)(unsafe.Pointer(def)).Falpha)) / uint32(0xffff))
  7719. return int32(1)
  7720. }
  7721. /*
  7722. * Xlib uses long for 32-bit values. Xrender uses int. This
  7723. * matters on alpha. Note that this macro assumes that int is 32 bits
  7724. * except on WORD64 machines where it is 64 bits.
  7725. */
  7726. func XXRenderComposite(tls *libc.TLS, dpy uintptr, op int32, src TPicture, mask TPicture, dst TPicture, src_x int32, src_y int32, mask_x int32, mask_y int32, dst_x int32, dst_y int32, width uint32, height uint32) {
  7727. var info, req uintptr
  7728. _, _ = info, req
  7729. info = XXRenderFindDisplay(tls, dpy)
  7730. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  7731. return
  7732. }
  7733. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  7734. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  7735. }
  7736. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderComposite), uint32(m_sz_xRenderCompositeReq))
  7737. (*TxRenderCompositeReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  7738. (*TxRenderCompositeReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderComposite)
  7739. (*TxRenderCompositeReq)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  7740. (*TxRenderCompositeReq)(unsafe.Pointer(req)).Fsrc = src
  7741. (*TxRenderCompositeReq)(unsafe.Pointer(req)).Fmask = mask
  7742. (*TxRenderCompositeReq)(unsafe.Pointer(req)).Fdst = dst
  7743. (*TxRenderCompositeReq)(unsafe.Pointer(req)).FxSrc = int16(src_x)
  7744. (*TxRenderCompositeReq)(unsafe.Pointer(req)).FySrc = int16(src_y)
  7745. (*TxRenderCompositeReq)(unsafe.Pointer(req)).FxMask = int16(mask_x)
  7746. (*TxRenderCompositeReq)(unsafe.Pointer(req)).FyMask = int16(mask_y)
  7747. (*TxRenderCompositeReq)(unsafe.Pointer(req)).FxDst = int16(dst_x)
  7748. (*TxRenderCompositeReq)(unsafe.Pointer(req)).FyDst = int16(dst_y)
  7749. (*TxRenderCompositeReq)(unsafe.Pointer(req)).Fwidth = uint16(width)
  7750. (*TxRenderCompositeReq)(unsafe.Pointer(req)).Fheight = uint16(height)
  7751. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  7752. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  7753. }
  7754. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  7755. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  7756. }
  7757. }
  7758. /*
  7759. * Xlib uses long for 32-bit values. Xrender uses int. This
  7760. * matters on alpha. Note that this macro assumes that int is 32 bits
  7761. * except on WORD64 machines where it is 64 bits.
  7762. */
  7763. func XXRenderCreateCursor(tls *libc.TLS, dpy uintptr, source TPicture, x uint32, y uint32) (r TCursor) {
  7764. var cid, v1 TCursor
  7765. var info, req uintptr
  7766. _, _, _, _ = cid, info, req, v1
  7767. info = XXRenderFindDisplay(tls, dpy)
  7768. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  7769. return uint32(0)
  7770. }
  7771. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  7772. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  7773. }
  7774. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCreateCursor), uint32(m_sz_xRenderCreateCursorReq))
  7775. (*TxRenderCreateCursorReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  7776. (*TxRenderCreateCursorReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCreateCursor)
  7777. v1 = (*(*func(*libc.TLS, uintptr) TXID)(unsafe.Pointer(&struct{ uintptr }{(*struct {
  7778. Fext_data uintptr
  7779. Fprivate1 uintptr
  7780. Ffd int32
  7781. Fprivate2 int32
  7782. Fproto_major_version int32
  7783. Fproto_minor_version int32
  7784. Fvendor uintptr
  7785. Fprivate3 TXID
  7786. Fprivate4 TXID
  7787. Fprivate5 TXID
  7788. Fprivate6 int32
  7789. Fresource_alloc uintptr
  7790. Fbyte_order int32
  7791. Fbitmap_unit int32
  7792. Fbitmap_pad int32
  7793. Fbitmap_bit_order int32
  7794. Fnformats int32
  7795. Fpixmap_format uintptr
  7796. Fprivate8 int32
  7797. Frelease int32
  7798. Fprivate9 uintptr
  7799. Fprivate10 uintptr
  7800. Fqlen int32
  7801. Flast_request_read uint32
  7802. Frequest uint32
  7803. Fprivate11 TXPointer
  7804. Fprivate12 TXPointer
  7805. Fprivate13 TXPointer
  7806. Fprivate14 TXPointer
  7807. Fmax_request_size uint32
  7808. Fdb uintptr
  7809. Fprivate15 uintptr
  7810. Fdisplay_name uintptr
  7811. Fdefault_screen int32
  7812. Fnscreens int32
  7813. Fscreens uintptr
  7814. Fmotion_buffer uint32
  7815. Fprivate16 uint32
  7816. Fmin_keycode int32
  7817. Fmax_keycode int32
  7818. Fprivate17 TXPointer
  7819. Fprivate18 TXPointer
  7820. Fprivate19 int32
  7821. Fxdefaults uintptr
  7822. })(unsafe.Pointer(dpy)).Fresource_alloc})))(tls, dpy)
  7823. cid = v1
  7824. (*TxRenderCreateCursorReq)(unsafe.Pointer(req)).Fcid = v1
  7825. (*TxRenderCreateCursorReq)(unsafe.Pointer(req)).Fsrc = source
  7826. (*TxRenderCreateCursorReq)(unsafe.Pointer(req)).Fx = uint16(x)
  7827. (*TxRenderCreateCursorReq)(unsafe.Pointer(req)).Fy = uint16(y)
  7828. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  7829. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  7830. }
  7831. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  7832. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  7833. }
  7834. return cid
  7835. }
  7836. func XXRenderCreateAnimCursor(tls *libc.TLS, dpy uintptr, ncursor int32, cursors uintptr) (r TCursor) {
  7837. bp := tls.Alloc(16)
  7838. defer tls.Free(16)
  7839. var _BRlen TCARD32
  7840. var cid, v1 TCursor
  7841. var info, req uintptr
  7842. var len1 int32
  7843. var _ /* _BRdat at bp+0 */ TCARD32
  7844. _, _, _, _, _, _ = _BRlen, cid, info, len1, req, v1
  7845. info = XXRenderFindDisplay(tls, dpy)
  7846. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  7847. return uint32(0)
  7848. }
  7849. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  7850. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  7851. }
  7852. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCreateAnimCursor), uint32(m_sz_xRenderCreateAnimCursorReq))
  7853. (*TxRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  7854. (*TxRenderCreateAnimCursorReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCreateAnimCursor)
  7855. v1 = (*(*func(*libc.TLS, uintptr) TXID)(unsafe.Pointer(&struct{ uintptr }{(*struct {
  7856. Fext_data uintptr
  7857. Fprivate1 uintptr
  7858. Ffd int32
  7859. Fprivate2 int32
  7860. Fproto_major_version int32
  7861. Fproto_minor_version int32
  7862. Fvendor uintptr
  7863. Fprivate3 TXID
  7864. Fprivate4 TXID
  7865. Fprivate5 TXID
  7866. Fprivate6 int32
  7867. Fresource_alloc uintptr
  7868. Fbyte_order int32
  7869. Fbitmap_unit int32
  7870. Fbitmap_pad int32
  7871. Fbitmap_bit_order int32
  7872. Fnformats int32
  7873. Fpixmap_format uintptr
  7874. Fprivate8 int32
  7875. Frelease int32
  7876. Fprivate9 uintptr
  7877. Fprivate10 uintptr
  7878. Fqlen int32
  7879. Flast_request_read uint32
  7880. Frequest uint32
  7881. Fprivate11 TXPointer
  7882. Fprivate12 TXPointer
  7883. Fprivate13 TXPointer
  7884. Fprivate14 TXPointer
  7885. Fmax_request_size uint32
  7886. Fdb uintptr
  7887. Fprivate15 uintptr
  7888. Fdisplay_name uintptr
  7889. Fdefault_screen int32
  7890. Fnscreens int32
  7891. Fscreens uintptr
  7892. Fmotion_buffer uint32
  7893. Fprivate16 uint32
  7894. Fmin_keycode int32
  7895. Fmax_keycode int32
  7896. Fprivate17 TXPointer
  7897. Fprivate18 TXPointer
  7898. Fprivate19 int32
  7899. Fxdefaults uintptr
  7900. })(unsafe.Pointer(dpy)).Fresource_alloc})))(tls, dpy)
  7901. cid = v1
  7902. (*TxRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Fcid = v1
  7903. len1 = ncursor * int32(m_sz_xAnimCursorElt) >> int32(2)
  7904. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  7905. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  7906. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) - int32(1))
  7907. (*TxRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength = uint16(0)
  7908. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  7909. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  7910. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  7911. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  7912. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  7913. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  7914. } else {
  7915. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  7916. }
  7917. } else {
  7918. len1 = len1
  7919. (*TxRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) + len1)
  7920. }
  7921. } else {
  7922. (*TxRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderCreateAnimCursorReq)(unsafe.Pointer(req)).Flength) + len1)
  7923. }
  7924. len1 <<= int32(2)
  7925. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  7926. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, cursors, libc.Uint32FromInt32(len1))
  7927. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(len1+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  7928. } else {
  7929. libx11.X_XSend(tls, dpy, cursors, len1)
  7930. }
  7931. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  7932. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  7933. }
  7934. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  7935. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  7936. }
  7937. return cid
  7938. }
  7939. /*
  7940. * Xlib uses long for 32-bit values. Xrender uses int. This
  7941. * matters on alpha. Note that this macro assumes that int is 32 bits
  7942. * except on WORD64 machines where it is 64 bits.
  7943. */
  7944. /* precompute the maximum size of batching request allowed */
  7945. func XXRenderFillRectangle(tls *libc.TLS, dpy uintptr, op int32, dst TPicture, color uintptr, x int32, y int32, width uint32, height uint32) {
  7946. var info, rect, req, p1 uintptr
  7947. _, _, _, _ = info, rect, req, p1
  7948. info = XXRenderFindDisplay(tls, dpy)
  7949. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  7950. return
  7951. }
  7952. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  7953. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  7954. }
  7955. req = (*TDisplay)(unsafe.Pointer(dpy)).Flast_req
  7956. /* if same as previous request, with same drawable, batch requests */
  7957. if libc.Int32FromUint8((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType) == (*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode && libc.Int32FromUint8((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType) == int32(m_X_RenderFillRectangles) && libc.Int32FromUint8((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop) == op && (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst == dst && libc.Int32FromUint16((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred) == libc.Int32FromUint16((*TXRenderColor)(unsafe.Pointer(color)).Fred) && libc.Int32FromUint16((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen) == libc.Int32FromUint16((*TXRenderColor)(unsafe.Pointer(color)).Fgreen) && libc.Int32FromUint16((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue) == libc.Int32FromUint16((*TXRenderColor)(unsafe.Pointer(color)).Fblue) && libc.Int32FromUint16((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha) == libc.Int32FromUint16((*TXRenderColor)(unsafe.Pointer(color)).Falpha) && (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(m_sz_xRectangle) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax && int32((*TDisplay)(unsafe.Pointer(dpy)).Fbufptr)-int32(req) < libc.Int32FromInt32(m_sz_xRenderFillRectanglesReq)+libc.Int32FromInt32(m_FRCTSPERBATCH)*libc.Int32FromInt32(m_sz_xRectangle) {
  7958. p1 = req + 2
  7959. *(*TCARD16)(unsafe.Pointer(p1)) = TCARD16(int32(*(*TCARD16)(unsafe.Pointer(p1))) + libc.Int32FromInt32(m_sz_xRectangle)>>libc.Int32FromInt32(2))
  7960. rect = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  7961. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(m_sz_xRectangle)
  7962. } else {
  7963. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderFillRectangles), libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xRenderFillRectanglesReq)+libc.Int32FromInt32(m_sz_xRectangle)))
  7964. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  7965. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderFillRectangles)
  7966. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  7967. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = dst
  7968. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*TXRenderColor)(unsafe.Pointer(color)).Fred
  7969. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*TXRenderColor)(unsafe.Pointer(color)).Fgreen
  7970. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*TXRenderColor)(unsafe.Pointer(color)).Fblue
  7971. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*TXRenderColor)(unsafe.Pointer(color)).Falpha
  7972. rect = req + libc.UintptrFromInt32(1)*20
  7973. }
  7974. (*TxRectangle)(unsafe.Pointer(rect)).Fx = int16(x)
  7975. (*TxRectangle)(unsafe.Pointer(rect)).Fy = int16(y)
  7976. (*TxRectangle)(unsafe.Pointer(rect)).Fwidth = uint16(width)
  7977. (*TxRectangle)(unsafe.Pointer(rect)).Fheight = uint16(height)
  7978. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  7979. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  7980. }
  7981. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  7982. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  7983. }
  7984. }
  7985. /*
  7986. * Xlib uses long for 32-bit values. Xrender uses int. This
  7987. * matters on alpha. Note that this macro assumes that int is 32 bits
  7988. * except on WORD64 machines where it is 64 bits.
  7989. */
  7990. /* precompute the maximum size of batching request allowed */
  7991. func XXRenderFillRectangles(tls *libc.TLS, dpy uintptr, op int32, dst TPicture, color uintptr, rectangles uintptr, n_rects int32) {
  7992. bp := tls.Alloc(16)
  7993. defer tls.Free(16)
  7994. var _BRlen TCARD32
  7995. var info, req uintptr
  7996. var len1, n int32
  7997. var _ /* _BRdat at bp+0 */ TCARD32
  7998. _, _, _, _, _ = _BRlen, info, len1, n, req
  7999. info = XXRenderFindDisplay(tls, dpy)
  8000. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8001. return
  8002. }
  8003. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8004. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8005. }
  8006. for n_rects != 0 {
  8007. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderFillRectangles), uint32(m_sz_xRenderFillRectanglesReq))
  8008. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8009. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderFillRectangles)
  8010. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  8011. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fdst = dst
  8012. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fred = (*TXRenderColor)(unsafe.Pointer(color)).Fred
  8013. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*TXRenderColor)(unsafe.Pointer(color)).Fgreen
  8014. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*TXRenderColor)(unsafe.Pointer(color)).Fblue
  8015. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*TXRenderColor)(unsafe.Pointer(color)).Falpha
  8016. n = n_rects
  8017. len1 = n << int32(1)
  8018. if !((*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0) && libc.Uint32FromInt32(len1) > (*TDisplay)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) {
  8019. n = libc.Int32FromUint32(((*TDisplay)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)) >> int32(1))
  8020. len1 = n << int32(1)
  8021. }
  8022. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  8023. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  8024. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) - int32(1))
  8025. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength = uint16(0)
  8026. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  8027. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  8028. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  8029. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8030. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  8031. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8032. } else {
  8033. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  8034. }
  8035. } else {
  8036. len1 = len1
  8037. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) + len1)
  8038. }
  8039. } else {
  8040. (*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderFillRectanglesReq)(unsafe.Pointer(req)).Flength) + len1)
  8041. }
  8042. len1 <<= int32(2) /* watch out for macros... */
  8043. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8044. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, rectangles, libc.Uint32FromInt32(len1))
  8045. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(len1+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8046. } else {
  8047. libx11.X_XSend(tls, dpy, rectangles, len1)
  8048. }
  8049. n_rects -= n
  8050. rectangles += uintptr(n) * 8
  8051. }
  8052. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8053. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8054. }
  8055. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8056. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8057. }
  8058. }
  8059. const m_ARG_MAX = 131072
  8060. const m_BC_BASE_MAX = 99
  8061. const m_BC_DIM_MAX = 2048
  8062. const m_BC_SCALE_MAX = 99
  8063. const m_BC_STRING_MAX = 1000
  8064. const m_CHARCLASS_NAME_MAX = 14
  8065. const m_CHAR_BIT = 8
  8066. const m_CHAR_MAX = 255
  8067. const m_CHAR_MIN = 0
  8068. const m_COLL_WEIGHTS_MAX = 2
  8069. const m_DELAYTIMER_MAX = 0x7fffffff
  8070. const m_EXPR_NEST_MAX = 32
  8071. const m_FILESIZEBITS = 64
  8072. const m_HOST_NAME_MAX = 255
  8073. const m_INT_MAX = 2147483647
  8074. const m_IOV_MAX = 1024
  8075. const m_LINE_MAX = 4096
  8076. const m_LLONG_MAX = 0x7fffffffffffffff
  8077. const m_LOGIN_NAME_MAX = 256
  8078. const m_LONG_BIT = 32
  8079. const m_LONG_MAX = "__LONG_MAX"
  8080. const m_MB_LEN_MAX = 4
  8081. const m_MQ_PRIO_MAX = 32768
  8082. const m_NAME_MAX = 255
  8083. const m_NGROUPS_MAX = 32
  8084. const m_NL_ARGMAX = 9
  8085. const m_NL_LANGMAX = 32
  8086. const m_NL_MSGMAX = 32767
  8087. const m_NL_NMAX = 16
  8088. const m_NL_SETMAX = 255
  8089. const m_NL_TEXTMAX = 2048
  8090. const m_NZERO = 20
  8091. const m_PAGESIZE = 4096
  8092. const m_PAGE_SIZE = "PAGESIZE"
  8093. const m_PATH_MAX = 4096
  8094. const m_PIPE_BUF = 4096
  8095. const m_PTHREAD_DESTRUCTOR_ITERATIONS = 4
  8096. const m_PTHREAD_KEYS_MAX = 128
  8097. const m_PTHREAD_STACK_MIN = 2048
  8098. const m_RE_DUP_MAX = 255
  8099. const m_SCHAR_MAX = 127
  8100. const m_SEM_NSEMS_MAX = 256
  8101. const m_SEM_VALUE_MAX = 0x7fffffff
  8102. const m_SHRT_MAX = 0x7fff
  8103. const m_SSIZE_MAX = "LONG_MAX"
  8104. const m_SYMLOOP_MAX = 40
  8105. const m_TTY_NAME_MAX = 32
  8106. const m_TZNAME_MAX = 6
  8107. const m_UCHAR_MAX = 255
  8108. const m_UINT_MAX = 0xffffffff
  8109. const m_USHRT_MAX = 0xffff
  8110. const m_WORD_BIT = 32
  8111. const m__POSIX2_BC_BASE_MAX = 99
  8112. const m__POSIX2_BC_DIM_MAX = 2048
  8113. const m__POSIX2_BC_SCALE_MAX = 99
  8114. const m__POSIX2_BC_STRING_MAX = 1000
  8115. const m__POSIX2_CHARCLASS_NAME_MAX = 14
  8116. const m__POSIX2_COLL_WEIGHTS_MAX = 2
  8117. const m__POSIX2_EXPR_NEST_MAX = 32
  8118. const m__POSIX2_LINE_MAX = 2048
  8119. const m__POSIX2_RE_DUP_MAX = 255
  8120. const m__POSIX_AIO_LISTIO_MAX = 2
  8121. const m__POSIX_AIO_MAX = 1
  8122. const m__POSIX_ARG_MAX = 4096
  8123. const m__POSIX_CHILD_MAX = 25
  8124. const m__POSIX_CLOCKRES_MIN = 20000000
  8125. const m__POSIX_DELAYTIMER_MAX = 32
  8126. const m__POSIX_HOST_NAME_MAX = 255
  8127. const m__POSIX_LINK_MAX = 8
  8128. const m__POSIX_LOGIN_NAME_MAX = 9
  8129. const m__POSIX_MAX_CANON = 255
  8130. const m__POSIX_MAX_INPUT = 255
  8131. const m__POSIX_MQ_OPEN_MAX = 8
  8132. const m__POSIX_MQ_PRIO_MAX = 32
  8133. const m__POSIX_NAME_MAX = 14
  8134. const m__POSIX_NGROUPS_MAX = 8
  8135. const m__POSIX_OPEN_MAX = 20
  8136. const m__POSIX_PATH_MAX = 256
  8137. const m__POSIX_PIPE_BUF = 512
  8138. const m__POSIX_RE_DUP_MAX = 255
  8139. const m__POSIX_RTSIG_MAX = 8
  8140. const m__POSIX_SEM_NSEMS_MAX = 256
  8141. const m__POSIX_SEM_VALUE_MAX = 32767
  8142. const m__POSIX_SIGQUEUE_MAX = 32
  8143. const m__POSIX_SSIZE_MAX = 32767
  8144. const m__POSIX_SS_REPL_MAX = 4
  8145. const m__POSIX_STREAM_MAX = 8
  8146. const m__POSIX_SYMLINK_MAX = 255
  8147. const m__POSIX_SYMLOOP_MAX = 8
  8148. const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
  8149. const m__POSIX_THREAD_KEYS_MAX = 128
  8150. const m__POSIX_THREAD_THREADS_MAX = 64
  8151. const m__POSIX_TIMER_MAX = 32
  8152. const m__POSIX_TRACE_EVENT_NAME_MAX = 30
  8153. const m__POSIX_TRACE_NAME_MAX = 8
  8154. const m__POSIX_TRACE_SYS_MAX = 8
  8155. const m__POSIX_TRACE_USER_EVENT_MAX = 32
  8156. const m__POSIX_TTY_NAME_MAX = 9
  8157. const m__POSIX_TZNAME_MAX = 6
  8158. const m__XOPEN_IOV_MAX = 16
  8159. const m__XOPEN_NAME_MAX = 255
  8160. const m__XOPEN_PATH_MAX = 1024
  8161. /*
  8162. * Xlib uses long for 32-bit values. Xrender uses int. This
  8163. * matters on alpha. Note that this macro assumes that int is 32 bits
  8164. * except on WORD64 machines where it is 64 bits.
  8165. */
  8166. /* Support signed or unsigned plain-char */
  8167. /* Implementation choices... */
  8168. /* Arbitrary numbers... */
  8169. /* POSIX/SUS requirements follow. These numbers come directly
  8170. * from SUS and have nothing to do with the host system. */
  8171. func XXRenderQueryFilters(tls *libc.TLS, dpy uintptr, drawable TDrawable) (r uintptr) {
  8172. bp := tls.Alloc(48)
  8173. defer tls.Free(48)
  8174. var filters, info, name, req, xri uintptr
  8175. var i, l int32
  8176. var nbytes, nbytesAlias, nbytesName, reply_left, v1 uint32
  8177. var _ /* len at bp+32 */ int8
  8178. var _ /* rep at bp+0 */ TxRenderQueryFiltersReply
  8179. _, _, _, _, _, _, _, _, _, _, _, _ = filters, i, info, l, name, nbytes, nbytesAlias, nbytesName, reply_left, req, xri, v1
  8180. info = XXRenderFindDisplay(tls, dpy)
  8181. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8182. return libc.UintptrFromInt32(0)
  8183. }
  8184. if !(XXRenderQueryFormats(tls, dpy) != 0) {
  8185. return libc.UintptrFromInt32(0)
  8186. }
  8187. xri = (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
  8188. if (*TXRenderInfo)(unsafe.Pointer(xri)).Fminor_version < int32(6) {
  8189. return libc.UintptrFromInt32(0)
  8190. }
  8191. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8192. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8193. }
  8194. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderQueryFilters), uint32(m_sz_xRenderQueryFiltersReq))
  8195. (*TxRenderQueryFiltersReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8196. (*TxRenderQueryFiltersReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderQueryFilters)
  8197. (*TxRenderQueryFiltersReq)(unsafe.Pointer(req)).Fdrawable = drawable
  8198. if !(libx11.X_XReply(tls, dpy, bp, 0, m_xFalse) != 0) {
  8199. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8200. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8201. }
  8202. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8203. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8204. }
  8205. return libc.UintptrFromInt32(0)
  8206. }
  8207. /*
  8208. * Limit each component of combined size to 1/4 the max, which is far
  8209. * more than they should ever possibly need.
  8210. */
  8211. if (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).Flength < libc.Uint32FromInt32(libc.Int32FromInt32(m_INT_MAX)>>libc.Int32FromInt32(2)) && (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumFilters < uint32(libc.Uint32FromInt32(libc.Int32FromInt32(m_INT_MAX)/libc.Int32FromInt32(4))/libc.Uint32FromInt64(4)) && (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumAliases < uint32(libc.Uint32FromInt32(libc.Int32FromInt32(m_INT_MAX)/libc.Int32FromInt32(4))/libc.Uint32FromInt64(2)) {
  8212. /*
  8213. * Compute total number of bytes for filter names
  8214. */
  8215. nbytes = (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).Flength << int32(2)
  8216. nbytesAlias = (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumAliases * uint32(2)
  8217. if (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumAliases&uint32(1) != 0 {
  8218. nbytesAlias += uint32(2)
  8219. }
  8220. nbytesName = nbytes - nbytesAlias
  8221. /*
  8222. * Allocate one giant block for the whole data structure
  8223. */
  8224. if uint32(16)+(*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumFilters*uint32(4)+(*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumAliases*uint32(2)+nbytesName == uint32(0) {
  8225. v1 = uint32(1)
  8226. } else {
  8227. v1 = uint32(16) + (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumFilters*uint32(4) + (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumAliases*uint32(2) + nbytesName
  8228. }
  8229. filters = libc.Xmalloc(tls, v1)
  8230. } else {
  8231. filters = libc.UintptrFromInt32(0)
  8232. }
  8233. if !(filters != 0) {
  8234. libx11.X_XEatDataWords(tls, dpy, (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).Flength)
  8235. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8236. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8237. }
  8238. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8239. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8240. }
  8241. return libc.UintptrFromInt32(0)
  8242. }
  8243. /*
  8244. * Layout:
  8245. * XFilters
  8246. * numFilters char * pointers to filter names
  8247. * numAliases short alias values
  8248. * nbytesName char strings
  8249. */
  8250. (*TXFilters)(unsafe.Pointer(filters)).Fnfilter = libc.Int32FromUint32((*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumFilters)
  8251. (*TXFilters)(unsafe.Pointer(filters)).Fnalias = libc.Int32FromUint32((*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumAliases)
  8252. (*TXFilters)(unsafe.Pointer(filters)).Ffilter = filters + libc.UintptrFromInt32(1)*16
  8253. (*TXFilters)(unsafe.Pointer(filters)).Falias = (*TXFilters)(unsafe.Pointer(filters)).Ffilter + uintptr((*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumFilters)*4
  8254. name = (*TXFilters)(unsafe.Pointer(filters)).Falias + uintptr((*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumAliases)*2
  8255. /*
  8256. * Read the filter aliases
  8257. */
  8258. libx11.X_XReadPad(tls, dpy, (*TXFilters)(unsafe.Pointer(filters)).Falias, libc.Int32FromUint32(libc.Uint32FromInt32(2)*(*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumAliases))
  8259. reply_left = uint32(8) + (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).Flength - uint32(2)*(*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumAliases
  8260. /*
  8261. * Read the filter names
  8262. */
  8263. i = 0
  8264. for {
  8265. if !(libc.Uint32FromInt32(i) < (*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumFilters) {
  8266. break
  8267. }
  8268. libx11.X_XRead(tls, dpy, bp+32, int32(1))
  8269. reply_left--
  8270. l = int32(*(*int8)(unsafe.Pointer(bp + 32))) & int32(0xff)
  8271. if libc.Uint32FromInt32(l)+uint32(1) > nbytesName {
  8272. libx11.X_XEatDataWords(tls, dpy, reply_left)
  8273. libc.Xfree(tls, filters)
  8274. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8275. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8276. }
  8277. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8278. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8279. }
  8280. return libc.UintptrFromInt32(0)
  8281. }
  8282. nbytesName -= libc.Uint32FromInt32(l + int32(1))
  8283. *(*uintptr)(unsafe.Pointer((*TXFilters)(unsafe.Pointer(filters)).Ffilter + uintptr(i)*4)) = name
  8284. libx11.X_XRead(tls, dpy, name, l)
  8285. reply_left -= libc.Uint32FromInt32(l)
  8286. *(*int8)(unsafe.Pointer(name + uintptr(l))) = int8('\000')
  8287. name += uintptr(l + int32(1))
  8288. goto _2
  8289. _2:
  8290. ;
  8291. i++
  8292. }
  8293. i = int32(name) - int32((*TXFilters)(unsafe.Pointer(filters)).Falias+uintptr((*(*TxRenderQueryFiltersReply)(unsafe.Pointer(bp))).FnumAliases)*2)
  8294. if i&int32(3) != 0 {
  8295. libx11.X_XEatData(tls, dpy, libc.Uint32FromInt32(int32(4)-i&int32(3)))
  8296. }
  8297. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8298. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8299. }
  8300. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8301. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8302. }
  8303. return filters
  8304. }
  8305. func XXRenderSetPictureFilter(tls *libc.TLS, dpy uintptr, picture TPicture, filter uintptr, params uintptr, nparams int32) {
  8306. var info, req, p1 uintptr
  8307. var nbytes int32
  8308. _, _, _, _ = info, nbytes, req, p1
  8309. info = XXRenderFindDisplay(tls, dpy)
  8310. nbytes = libc.Int32FromUint32(libc.Xstrlen(tls, filter))
  8311. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8312. return
  8313. }
  8314. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8315. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8316. }
  8317. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderSetPictureFilter), uint32(m_sz_xRenderSetPictureFilterReq))
  8318. (*TxRenderSetPictureFilterReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8319. (*TxRenderSetPictureFilterReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderSetPictureFilter)
  8320. (*TxRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fpicture = picture
  8321. (*TxRenderSetPictureFilterReq)(unsafe.Pointer(req)).Fnbytes = libc.Uint16FromInt32(nbytes)
  8322. p1 = req + 2
  8323. *(*TCARD16)(unsafe.Pointer(p1)) = TCARD16(int32(*(*TCARD16)(unsafe.Pointer(p1))) + ((nbytes+libc.Int32FromInt32(3))>>libc.Int32FromInt32(2) + nparams))
  8324. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8325. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, filter, libc.Uint32FromInt32(nbytes))
  8326. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(nbytes+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8327. } else {
  8328. libx11.X_XSend(tls, dpy, filter, nbytes)
  8329. }
  8330. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nparams<<libc.Int32FromInt32(2)) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8331. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, params, libc.Uint32FromInt32(nparams<<libc.Int32FromInt32(2)))
  8332. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(nparams<<libc.Int32FromInt32(2)+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8333. } else {
  8334. libx11.X_XSend(tls, dpy, params, int32(nparams<<libc.Int32FromInt32(2)))
  8335. }
  8336. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8337. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8338. }
  8339. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8340. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8341. }
  8342. }
  8343. /*
  8344. * Xlib uses long for 32-bit values. Xrender uses int. This
  8345. * matters on alpha. Note that this macro assumes that int is 32 bits
  8346. * except on WORD64 machines where it is 64 bits.
  8347. */
  8348. func XXRenderCreateGlyphSet(tls *libc.TLS, dpy uintptr, format uintptr) (r TGlyphSet) {
  8349. var gsid, v1 TGlyphSet
  8350. var info, req uintptr
  8351. _, _, _, _ = gsid, info, req, v1
  8352. info = XXRenderFindDisplay(tls, dpy)
  8353. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8354. return uint32(0)
  8355. }
  8356. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8357. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8358. }
  8359. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCreateGlyphSet), uint32(m_sz_xRenderCreateGlyphSetReq))
  8360. (*TxRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8361. (*TxRenderCreateGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCreateGlyphSet)
  8362. v1 = (*(*func(*libc.TLS, uintptr) TXID)(unsafe.Pointer(&struct{ uintptr }{(*struct {
  8363. Fext_data uintptr
  8364. Fprivate1 uintptr
  8365. Ffd int32
  8366. Fprivate2 int32
  8367. Fproto_major_version int32
  8368. Fproto_minor_version int32
  8369. Fvendor uintptr
  8370. Fprivate3 TXID
  8371. Fprivate4 TXID
  8372. Fprivate5 TXID
  8373. Fprivate6 int32
  8374. Fresource_alloc uintptr
  8375. Fbyte_order int32
  8376. Fbitmap_unit int32
  8377. Fbitmap_pad int32
  8378. Fbitmap_bit_order int32
  8379. Fnformats int32
  8380. Fpixmap_format uintptr
  8381. Fprivate8 int32
  8382. Frelease int32
  8383. Fprivate9 uintptr
  8384. Fprivate10 uintptr
  8385. Fqlen int32
  8386. Flast_request_read uint32
  8387. Frequest uint32
  8388. Fprivate11 TXPointer
  8389. Fprivate12 TXPointer
  8390. Fprivate13 TXPointer
  8391. Fprivate14 TXPointer
  8392. Fmax_request_size uint32
  8393. Fdb uintptr
  8394. Fprivate15 uintptr
  8395. Fdisplay_name uintptr
  8396. Fdefault_screen int32
  8397. Fnscreens int32
  8398. Fscreens uintptr
  8399. Fmotion_buffer uint32
  8400. Fprivate16 uint32
  8401. Fmin_keycode int32
  8402. Fmax_keycode int32
  8403. Fprivate17 TXPointer
  8404. Fprivate18 TXPointer
  8405. Fprivate19 int32
  8406. Fxdefaults uintptr
  8407. })(unsafe.Pointer(dpy)).Fresource_alloc})))(tls, dpy)
  8408. gsid = v1
  8409. (*TxRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fgsid = v1
  8410. (*TxRenderCreateGlyphSetReq)(unsafe.Pointer(req)).Fformat = (*TXRenderPictFormat)(unsafe.Pointer(format)).Fid
  8411. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8412. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8413. }
  8414. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8415. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8416. }
  8417. return gsid
  8418. }
  8419. func XXRenderReferenceGlyphSet(tls *libc.TLS, dpy uintptr, existing TGlyphSet) (r TGlyphSet) {
  8420. var gsid, v1 TGlyphSet
  8421. var info, req uintptr
  8422. _, _, _, _ = gsid, info, req, v1
  8423. info = XXRenderFindDisplay(tls, dpy)
  8424. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8425. return uint32(0)
  8426. }
  8427. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8428. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8429. }
  8430. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderReferenceGlyphSet), uint32(m_sz_xRenderReferenceGlyphSetReq))
  8431. (*TxRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8432. (*TxRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderReferenceGlyphSet)
  8433. v1 = (*(*func(*libc.TLS, uintptr) TXID)(unsafe.Pointer(&struct{ uintptr }{(*struct {
  8434. Fext_data uintptr
  8435. Fprivate1 uintptr
  8436. Ffd int32
  8437. Fprivate2 int32
  8438. Fproto_major_version int32
  8439. Fproto_minor_version int32
  8440. Fvendor uintptr
  8441. Fprivate3 TXID
  8442. Fprivate4 TXID
  8443. Fprivate5 TXID
  8444. Fprivate6 int32
  8445. Fresource_alloc uintptr
  8446. Fbyte_order int32
  8447. Fbitmap_unit int32
  8448. Fbitmap_pad int32
  8449. Fbitmap_bit_order int32
  8450. Fnformats int32
  8451. Fpixmap_format uintptr
  8452. Fprivate8 int32
  8453. Frelease int32
  8454. Fprivate9 uintptr
  8455. Fprivate10 uintptr
  8456. Fqlen int32
  8457. Flast_request_read uint32
  8458. Frequest uint32
  8459. Fprivate11 TXPointer
  8460. Fprivate12 TXPointer
  8461. Fprivate13 TXPointer
  8462. Fprivate14 TXPointer
  8463. Fmax_request_size uint32
  8464. Fdb uintptr
  8465. Fprivate15 uintptr
  8466. Fdisplay_name uintptr
  8467. Fdefault_screen int32
  8468. Fnscreens int32
  8469. Fscreens uintptr
  8470. Fmotion_buffer uint32
  8471. Fprivate16 uint32
  8472. Fmin_keycode int32
  8473. Fmax_keycode int32
  8474. Fprivate17 TXPointer
  8475. Fprivate18 TXPointer
  8476. Fprivate19 int32
  8477. Fxdefaults uintptr
  8478. })(unsafe.Pointer(dpy)).Fresource_alloc})))(tls, dpy)
  8479. gsid = v1
  8480. (*TxRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fgsid = v1
  8481. (*TxRenderReferenceGlyphSetReq)(unsafe.Pointer(req)).Fexisting = existing
  8482. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8483. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8484. }
  8485. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8486. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8487. }
  8488. return gsid
  8489. }
  8490. func XXRenderFreeGlyphSet(tls *libc.TLS, dpy uintptr, glyphset TGlyphSet) {
  8491. var info, req uintptr
  8492. _, _ = info, req
  8493. info = XXRenderFindDisplay(tls, dpy)
  8494. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8495. return
  8496. }
  8497. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8498. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8499. }
  8500. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderFreeGlyphSet), uint32(m_sz_xRenderFreeGlyphSetReq))
  8501. (*TxRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8502. (*TxRenderFreeGlyphSetReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderFreeGlyphSet)
  8503. (*TxRenderFreeGlyphSetReq)(unsafe.Pointer(req)).Fglyphset = glyphset
  8504. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8505. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8506. }
  8507. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8508. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8509. }
  8510. }
  8511. func XXRenderAddGlyphs(tls *libc.TLS, dpy uintptr, glyphset TGlyphSet, gids uintptr, glyphs uintptr, nglyphs int32, images uintptr, nbyte_images int32) {
  8512. bp := tls.Alloc(16)
  8513. defer tls.Free(16)
  8514. var _BRlen TCARD32
  8515. var info, req uintptr
  8516. var len1 int32
  8517. var _ /* _BRdat at bp+0 */ TCARD32
  8518. _, _, _, _ = _BRlen, info, len1, req
  8519. info = XXRenderFindDisplay(tls, dpy)
  8520. if nbyte_images&int32(3) != 0 {
  8521. nbyte_images += int32(4) - nbyte_images&int32(3)
  8522. }
  8523. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8524. return
  8525. }
  8526. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8527. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8528. }
  8529. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderAddGlyphs), uint32(m_sz_xRenderAddGlyphsReq))
  8530. (*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8531. (*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderAddGlyphs)
  8532. (*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).Fglyphset = glyphset
  8533. (*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).Fnglyphs = libc.Uint32FromInt32(nglyphs)
  8534. len1 = int32((nglyphs*(libc.Int32FromInt32(m_sz_xGlyphInfo)+libc.Int32FromInt32(4)) + nbyte_images) >> int32(2))
  8535. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  8536. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  8537. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) - int32(1))
  8538. (*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength = uint16(0)
  8539. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  8540. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  8541. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  8542. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8543. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  8544. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8545. } else {
  8546. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  8547. }
  8548. } else {
  8549. len1 = len1
  8550. (*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) + len1)
  8551. }
  8552. } else {
  8553. (*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderAddGlyphsReq)(unsafe.Pointer(req)).Flength) + len1)
  8554. }
  8555. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(nglyphs*libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8556. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, gids, libc.Uint32FromInt32(int32(nglyphs*libc.Int32FromInt32(4))))
  8557. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(nglyphs*libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8558. } else {
  8559. libx11.X_XSend(tls, dpy, gids, int32(nglyphs*libc.Int32FromInt32(4)))
  8560. }
  8561. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nglyphs*libc.Int32FromInt32(m_sz_xGlyphInfo)) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8562. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, glyphs, libc.Uint32FromInt32(nglyphs*libc.Int32FromInt32(m_sz_xGlyphInfo)))
  8563. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(nglyphs*libc.Int32FromInt32(m_sz_xGlyphInfo)+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8564. } else {
  8565. libx11.X_XSend(tls, dpy, glyphs, int32(nglyphs*libc.Int32FromInt32(m_sz_xGlyphInfo)))
  8566. }
  8567. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbyte_images) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8568. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, images, libc.Uint32FromInt32(nbyte_images))
  8569. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(nbyte_images+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8570. } else {
  8571. libx11.X_XSend(tls, dpy, images, nbyte_images)
  8572. }
  8573. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8574. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8575. }
  8576. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8577. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8578. }
  8579. }
  8580. func XXRenderFreeGlyphs(tls *libc.TLS, dpy uintptr, glyphset TGlyphSet, gids uintptr, nglyphs int32) {
  8581. bp := tls.Alloc(16)
  8582. defer tls.Free(16)
  8583. var _BRlen TCARD32
  8584. var info, req uintptr
  8585. var len1 int32
  8586. var _ /* _BRdat at bp+0 */ TCARD32
  8587. _, _, _, _ = _BRlen, info, len1, req
  8588. info = XXRenderFindDisplay(tls, dpy)
  8589. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8590. return
  8591. }
  8592. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8593. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8594. }
  8595. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderFreeGlyphs), uint32(m_sz_xRenderFreeGlyphsReq))
  8596. (*TxRenderFreeGlyphsReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8597. (*TxRenderFreeGlyphsReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderFreeGlyphs)
  8598. (*TxRenderFreeGlyphsReq)(unsafe.Pointer(req)).Fglyphset = glyphset
  8599. len1 = nglyphs
  8600. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  8601. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  8602. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) - int32(1))
  8603. (*TxRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength = uint16(0)
  8604. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  8605. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  8606. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  8607. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8608. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  8609. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8610. } else {
  8611. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  8612. }
  8613. } else {
  8614. len1 = len1
  8615. (*TxRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) + len1)
  8616. }
  8617. } else {
  8618. (*TxRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderFreeGlyphsReq)(unsafe.Pointer(req)).Flength) + len1)
  8619. }
  8620. len1 <<= int32(2)
  8621. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8622. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, gids, libc.Uint32FromInt32(len1))
  8623. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(len1+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8624. } else {
  8625. libx11.X_XSend(tls, dpy, gids, len1)
  8626. }
  8627. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8628. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8629. }
  8630. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8631. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8632. }
  8633. }
  8634. func XXRenderCompositeString8(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, glyphset TGlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string1 uintptr, nchar int32) {
  8635. var elt, info, req, p2 uintptr
  8636. var len1, nbytes int32
  8637. var v1 uint32
  8638. _, _, _, _, _, _, _ = elt, info, len1, nbytes, req, v1, p2
  8639. info = XXRenderFindDisplay(tls, dpy)
  8640. if !(nchar != 0) {
  8641. return
  8642. }
  8643. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8644. return
  8645. }
  8646. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8647. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8648. }
  8649. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCompositeGlyphs8), uint32(m_sz_xRenderCompositeGlyphs8Req))
  8650. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8651. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCompositeGlyphs8)
  8652. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  8653. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src
  8654. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst
  8655. if maskFormat != 0 {
  8656. v1 = (*TXRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
  8657. } else {
  8658. v1 = uint32(0)
  8659. }
  8660. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = v1
  8661. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset
  8662. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = int16(xSrc)
  8663. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = int16(ySrc)
  8664. /*
  8665. * xGlyphElt must be aligned on a 32-bit boundary; this is
  8666. * easily done by filling no more than 252 glyphs in each
  8667. * bucket
  8668. */
  8669. len1 = int32(m_sz_xGlyphElt)*((nchar+int32(252)-int32(1))/int32(252)) + nchar
  8670. p2 = req + 2
  8671. *(*TCARD16)(unsafe.Pointer(p2)) = TCARD16(int32(*(*TCARD16)(unsafe.Pointer(p2))) + (len1+libc.Int32FromInt32(3))>>libc.Int32FromInt32(2)) /* convert to number of 32-bit words */
  8672. /*
  8673. * If the entire request does not fit into the remaining space in the
  8674. * buffer, flush the buffer first.
  8675. */
  8676. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8677. libx11.X_XFlush(tls, dpy)
  8678. }
  8679. for nchar > int32(252) {
  8680. nbytes = libc.Int32FromInt32(252) + libc.Int32FromInt32(m_sz_xGlyphElt)
  8681. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8682. libx11.X_XFlush(tls, dpy)
  8683. }
  8684. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  8685. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(nbytes))
  8686. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes)
  8687. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = uint8(252)
  8688. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(xDst)
  8689. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(yDst)
  8690. xDst = 0
  8691. yDst = 0
  8692. libc.Xmemcpy(tls, elt+libc.UintptrFromInt32(1)*8, string1, uint32(252))
  8693. nchar = nchar - int32(252)
  8694. string1 += uintptr(252)
  8695. }
  8696. if nchar != 0 {
  8697. nbytes = (nchar + int32(m_sz_xGlyphElt) + int32(3)) & ^libc.Int32FromInt32(3)
  8698. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8699. libx11.X_XFlush(tls, dpy)
  8700. }
  8701. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  8702. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(nbytes))
  8703. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes)
  8704. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = libc.Uint8FromInt32(nchar)
  8705. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(xDst)
  8706. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(yDst)
  8707. libc.Xmemcpy(tls, elt+libc.UintptrFromInt32(1)*8, string1, libc.Uint32FromInt32(nchar))
  8708. }
  8709. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8710. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8711. }
  8712. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8713. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8714. }
  8715. }
  8716. func XXRenderCompositeString16(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, glyphset TGlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string1 uintptr, nchar int32) {
  8717. var elt, info, req, p2 uintptr
  8718. var len1, nbytes int32
  8719. var v1 uint32
  8720. _, _, _, _, _, _, _ = elt, info, len1, nbytes, req, v1, p2
  8721. info = XXRenderFindDisplay(tls, dpy)
  8722. if !(nchar != 0) {
  8723. return
  8724. }
  8725. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8726. return
  8727. }
  8728. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8729. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8730. }
  8731. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCompositeGlyphs16), uint32(m_sz_xRenderCompositeGlyphs16Req))
  8732. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8733. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCompositeGlyphs16)
  8734. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  8735. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src
  8736. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst
  8737. if maskFormat != 0 {
  8738. v1 = (*TXRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
  8739. } else {
  8740. v1 = uint32(0)
  8741. }
  8742. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = v1
  8743. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset
  8744. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = int16(xSrc)
  8745. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = int16(ySrc)
  8746. len1 = int32(m_sz_xGlyphElt)*((nchar+int32(254)-int32(1))/int32(254)) + nchar*int32(2)
  8747. p2 = req + 2
  8748. *(*TCARD16)(unsafe.Pointer(p2)) = TCARD16(int32(*(*TCARD16)(unsafe.Pointer(p2))) + (len1+libc.Int32FromInt32(3))>>libc.Int32FromInt32(2)) /* convert to number of 32-bit words */
  8749. /*
  8750. * If the entire request does not fit into the remaining space in the
  8751. * buffer, flush the buffer first.
  8752. */
  8753. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8754. libx11.X_XFlush(tls, dpy)
  8755. }
  8756. for nchar > int32(254) {
  8757. nbytes = libc.Int32FromInt32(254)*libc.Int32FromInt32(2) + libc.Int32FromInt32(m_sz_xGlyphElt)
  8758. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8759. libx11.X_XFlush(tls, dpy)
  8760. }
  8761. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  8762. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(nbytes))
  8763. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes)
  8764. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = uint8(254)
  8765. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(xDst)
  8766. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(yDst)
  8767. xDst = 0
  8768. yDst = 0
  8769. libc.Xmemcpy(tls, elt+libc.UintptrFromInt32(1)*8, string1, libc.Uint32FromInt32(libc.Int32FromInt32(254)*libc.Int32FromInt32(2)))
  8770. nchar = nchar - int32(254)
  8771. string1 += uintptr(254) * 2
  8772. }
  8773. if nchar != 0 {
  8774. nbytes = (nchar*int32(2) + int32(m_sz_xGlyphElt) + int32(3)) & ^libc.Int32FromInt32(3)
  8775. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8776. libx11.X_XFlush(tls, dpy)
  8777. }
  8778. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  8779. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(nbytes))
  8780. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes)
  8781. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = libc.Uint8FromInt32(nchar)
  8782. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(xDst)
  8783. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(yDst)
  8784. libc.Xmemcpy(tls, elt+libc.UintptrFromInt32(1)*8, string1, libc.Uint32FromInt32(nchar*int32(2)))
  8785. }
  8786. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8787. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8788. }
  8789. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8790. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8791. }
  8792. }
  8793. func XXRenderCompositeString32(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, glyphset TGlyphSet, xSrc int32, ySrc int32, xDst int32, yDst int32, string1 uintptr, nchar int32) {
  8794. var elt, info, req, p2 uintptr
  8795. var len1, nbytes int32
  8796. var v1 uint32
  8797. _, _, _, _, _, _, _ = elt, info, len1, nbytes, req, v1, p2
  8798. info = XXRenderFindDisplay(tls, dpy)
  8799. if !(nchar != 0) {
  8800. return
  8801. }
  8802. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8803. return
  8804. }
  8805. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8806. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8807. }
  8808. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCompositeGlyphs32), uint32(m_sz_xRenderCompositeGlyphs32Req))
  8809. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8810. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCompositeGlyphs32)
  8811. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  8812. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src
  8813. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst
  8814. if maskFormat != 0 {
  8815. v1 = (*TXRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
  8816. } else {
  8817. v1 = uint32(0)
  8818. }
  8819. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = v1
  8820. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = glyphset
  8821. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = int16(xSrc)
  8822. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = int16(ySrc)
  8823. len1 = int32(m_sz_xGlyphElt)*((nchar+int32(254)-int32(1))/int32(254)) + nchar*int32(4)
  8824. p2 = req + 2
  8825. *(*TCARD16)(unsafe.Pointer(p2)) = TCARD16(int32(*(*TCARD16)(unsafe.Pointer(p2))) + (len1+libc.Int32FromInt32(3))>>libc.Int32FromInt32(2)) /* convert to number of 32-bit words */
  8826. /*
  8827. * If the entire request does not fit into the remaining space in the
  8828. * buffer, flush the buffer first.
  8829. */
  8830. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8831. libx11.X_XFlush(tls, dpy)
  8832. }
  8833. for nchar > int32(254) {
  8834. nbytes = libc.Int32FromInt32(254)*libc.Int32FromInt32(4) + libc.Int32FromInt32(m_sz_xGlyphElt)
  8835. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8836. libx11.X_XFlush(tls, dpy)
  8837. }
  8838. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  8839. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(nbytes))
  8840. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes)
  8841. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = uint8(254)
  8842. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(xDst)
  8843. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(yDst)
  8844. xDst = 0
  8845. yDst = 0
  8846. libc.Xmemcpy(tls, elt+libc.UintptrFromInt32(1)*8, string1, libc.Uint32FromInt32(libc.Int32FromInt32(254)*libc.Int32FromInt32(4)))
  8847. nchar = nchar - int32(254)
  8848. string1 += uintptr(254) * 4
  8849. }
  8850. if nchar != 0 {
  8851. nbytes = nchar*int32(4) + int32(m_sz_xGlyphElt)
  8852. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nbytes) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8853. libx11.X_XFlush(tls, dpy)
  8854. }
  8855. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  8856. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(nbytes))
  8857. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(nbytes)
  8858. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = libc.Uint8FromInt32(nchar)
  8859. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(xDst)
  8860. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(yDst)
  8861. libc.Xmemcpy(tls, elt+libc.UintptrFromInt32(1)*8, string1, libc.Uint32FromInt32(nchar*int32(4)))
  8862. }
  8863. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8864. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  8865. }
  8866. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  8867. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  8868. }
  8869. }
  8870. func XXRenderCompositeText8(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) {
  8871. bp := tls.Alloc(16)
  8872. defer tls.Free(16)
  8873. var chars, elt, info, req, p3 uintptr
  8874. var elen, i, len1, nchars, this_chars, v5 int32
  8875. var v1 uint32
  8876. var _ /* glyphset at bp+0 */ TGlyphSet
  8877. _, _, _, _, _, _, _, _, _, _, _, _ = chars, elen, elt, i, info, len1, nchars, req, this_chars, v1, v5, p3
  8878. info = XXRenderFindDisplay(tls, dpy)
  8879. if !(nelt != 0) {
  8880. return
  8881. }
  8882. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  8883. return
  8884. }
  8885. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  8886. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  8887. }
  8888. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCompositeGlyphs8), uint32(m_sz_xRenderCompositeGlyphs8Req))
  8889. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  8890. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCompositeGlyphs8)
  8891. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  8892. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fsrc = src
  8893. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fdst = dst
  8894. if maskFormat != 0 {
  8895. v1 = (*TXRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
  8896. } else {
  8897. v1 = uint32(0)
  8898. }
  8899. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FmaskFormat = v1
  8900. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).Fglyphset = (*(*TXGlyphElt8)(unsafe.Pointer(elts))).Fglyphset
  8901. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FxSrc = int16(xSrc)
  8902. (*TxRenderCompositeGlyphs8Req)(unsafe.Pointer(req)).FySrc = int16(ySrc)
  8903. /*
  8904. * Compute the space necessary
  8905. */
  8906. len1 = 0
  8907. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt8)(unsafe.Pointer(elts))).Fglyphset
  8908. i = 0
  8909. for {
  8910. if !(i < nelt) {
  8911. break
  8912. }
  8913. /*
  8914. * Check for glyphset change
  8915. */
  8916. if (*(*TXGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset != *(*TGlyphSet)(unsafe.Pointer(bp)) {
  8917. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset
  8918. len1 += int32((libc.Int32FromInt32(m_sz_xGlyphElt) + libc.Int32FromInt32(4)) >> libc.Int32FromInt32(2))
  8919. }
  8920. nchars = (*(*TXGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20))).Fnchars
  8921. /*
  8922. * xGlyphElt must be aligned on a 32-bit boundary; this is
  8923. * easily done by filling no more than 252 glyphs in each
  8924. * bucket
  8925. */
  8926. elen = int32(m_sz_xGlyphElt)*((nchars+int32(252)-int32(1))/int32(252)) + nchars
  8927. len1 += (elen + int32(3)) >> int32(2)
  8928. goto _2
  8929. _2:
  8930. ;
  8931. i++
  8932. }
  8933. p3 = req + 2
  8934. *(*TCARD16)(unsafe.Pointer(p3)) = TCARD16(int32(*(*TCARD16)(unsafe.Pointer(p3))) + len1)
  8935. /*
  8936. * Send the glyphs
  8937. */
  8938. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt8)(unsafe.Pointer(elts))).Fglyphset
  8939. i = 0
  8940. for {
  8941. if !(i < nelt) {
  8942. break
  8943. }
  8944. /*
  8945. * Switch glyphsets
  8946. */
  8947. if (*(*TXGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset != *(*TGlyphSet)(unsafe.Pointer(bp)) {
  8948. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset
  8949. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(libc.Int32FromInt32(m_sz_xGlyphElt)) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8950. libx11.X_XFlush(tls, dpy)
  8951. }
  8952. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  8953. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xGlyphElt)))
  8954. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Int32FromInt32(m_sz_xGlyphElt))
  8955. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = uint8(0xff)
  8956. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = 0
  8957. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = 0
  8958. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8959. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  8960. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8961. } else {
  8962. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  8963. }
  8964. }
  8965. nchars = (*(*TXGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20))).Fnchars
  8966. xDst = (*(*TXGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20))).FxOff
  8967. yDst = (*(*TXGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20))).FyOff
  8968. chars = (*(*TXGlyphElt8)(unsafe.Pointer(elts + uintptr(i)*20))).Fchars
  8969. for nchars != 0 {
  8970. if nchars > int32(252) {
  8971. v5 = int32(252)
  8972. } else {
  8973. v5 = nchars
  8974. }
  8975. this_chars = v5
  8976. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(libc.Int32FromInt32(m_sz_xGlyphElt)) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8977. libx11.X_XFlush(tls, dpy)
  8978. }
  8979. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  8980. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xGlyphElt)))
  8981. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Int32FromInt32(m_sz_xGlyphElt))
  8982. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = libc.Uint8FromInt32(this_chars)
  8983. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(xDst)
  8984. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(yDst)
  8985. xDst = 0
  8986. yDst = 0
  8987. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_chars) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  8988. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, chars, libc.Uint32FromInt32(this_chars))
  8989. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(this_chars+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  8990. } else {
  8991. libx11.X_XSend(tls, dpy, chars, this_chars)
  8992. }
  8993. nchars -= this_chars
  8994. chars += uintptr(this_chars)
  8995. }
  8996. goto _4
  8997. _4:
  8998. ;
  8999. i++
  9000. }
  9001. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9002. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9003. }
  9004. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9005. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9006. }
  9007. }
  9008. func XXRenderCompositeText16(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) {
  9009. bp := tls.Alloc(16)
  9010. defer tls.Free(16)
  9011. var chars, elt, info, req, p3 uintptr
  9012. var elen, i, len1, nchars, this_bytes, this_chars, v5 int32
  9013. var v1 uint32
  9014. var _ /* glyphset at bp+0 */ TGlyphSet
  9015. _, _, _, _, _, _, _, _, _, _, _, _, _ = chars, elen, elt, i, info, len1, nchars, req, this_bytes, this_chars, v1, v5, p3
  9016. info = XXRenderFindDisplay(tls, dpy)
  9017. if !(nelt != 0) {
  9018. return
  9019. }
  9020. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9021. return
  9022. }
  9023. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9024. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9025. }
  9026. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCompositeGlyphs16), uint32(m_sz_xRenderCompositeGlyphs16Req))
  9027. (*TxRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9028. (*TxRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCompositeGlyphs16)
  9029. (*TxRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  9030. (*TxRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fsrc = src
  9031. (*TxRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fdst = dst
  9032. if maskFormat != 0 {
  9033. v1 = (*TXRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
  9034. } else {
  9035. v1 = uint32(0)
  9036. }
  9037. (*TxRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FmaskFormat = v1
  9038. (*TxRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).Fglyphset = (*(*TXGlyphElt16)(unsafe.Pointer(elts))).Fglyphset
  9039. (*TxRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FxSrc = int16(xSrc)
  9040. (*TxRenderCompositeGlyphs16Req)(unsafe.Pointer(req)).FySrc = int16(ySrc)
  9041. /*
  9042. * Compute the space necessary
  9043. */
  9044. len1 = 0
  9045. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt16)(unsafe.Pointer(elts))).Fglyphset
  9046. i = 0
  9047. for {
  9048. if !(i < nelt) {
  9049. break
  9050. }
  9051. /*
  9052. * Check for glyphset change
  9053. */
  9054. if (*(*TXGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset != *(*TGlyphSet)(unsafe.Pointer(bp)) {
  9055. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset
  9056. len1 += int32((libc.Int32FromInt32(m_sz_xGlyphElt) + libc.Int32FromInt32(4)) >> libc.Int32FromInt32(2))
  9057. }
  9058. nchars = (*(*TXGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20))).Fnchars
  9059. /*
  9060. * xGlyphElt must be aligned on a 32-bit boundary; this is
  9061. * easily done by filling no more than 254 glyphs in each
  9062. * bucket
  9063. */
  9064. elen = int32(m_sz_xGlyphElt)*((nchars+int32(254)-int32(1))/int32(254)) + nchars*int32(2)
  9065. len1 += (elen + int32(3)) >> int32(2)
  9066. goto _2
  9067. _2:
  9068. ;
  9069. i++
  9070. }
  9071. p3 = req + 2
  9072. *(*TCARD16)(unsafe.Pointer(p3)) = TCARD16(int32(*(*TCARD16)(unsafe.Pointer(p3))) + len1)
  9073. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt16)(unsafe.Pointer(elts))).Fglyphset
  9074. i = 0
  9075. for {
  9076. if !(i < nelt) {
  9077. break
  9078. }
  9079. /*
  9080. * Switch glyphsets
  9081. */
  9082. if (*(*TXGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset != *(*TGlyphSet)(unsafe.Pointer(bp)) {
  9083. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset
  9084. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(libc.Int32FromInt32(m_sz_xGlyphElt)) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9085. libx11.X_XFlush(tls, dpy)
  9086. }
  9087. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  9088. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xGlyphElt)))
  9089. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Int32FromInt32(m_sz_xGlyphElt))
  9090. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = uint8(0xff)
  9091. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = 0
  9092. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = 0
  9093. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9094. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  9095. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9096. } else {
  9097. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  9098. }
  9099. }
  9100. nchars = (*(*TXGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20))).Fnchars
  9101. xDst = (*(*TXGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20))).FxOff
  9102. yDst = (*(*TXGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20))).FyOff
  9103. chars = (*(*TXGlyphElt16)(unsafe.Pointer(elts + uintptr(i)*20))).Fchars
  9104. for nchars != 0 {
  9105. if nchars > int32(254) {
  9106. v5 = int32(254)
  9107. } else {
  9108. v5 = nchars
  9109. }
  9110. this_chars = v5
  9111. this_bytes = this_chars * int32(2)
  9112. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(libc.Int32FromInt32(m_sz_xGlyphElt)) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9113. libx11.X_XFlush(tls, dpy)
  9114. }
  9115. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  9116. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xGlyphElt)))
  9117. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Int32FromInt32(m_sz_xGlyphElt))
  9118. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = libc.Uint8FromInt32(this_chars)
  9119. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(xDst)
  9120. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(yDst)
  9121. xDst = 0
  9122. yDst = 0
  9123. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_bytes) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9124. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, chars, libc.Uint32FromInt32(this_bytes))
  9125. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(this_bytes+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9126. } else {
  9127. libx11.X_XSend(tls, dpy, chars, this_bytes)
  9128. }
  9129. nchars -= this_chars
  9130. chars += uintptr(this_chars) * 2
  9131. }
  9132. goto _4
  9133. _4:
  9134. ;
  9135. i++
  9136. }
  9137. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9138. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9139. }
  9140. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9141. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9142. }
  9143. }
  9144. func XXRenderCompositeText32(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, elts uintptr, nelt int32) {
  9145. bp := tls.Alloc(16)
  9146. defer tls.Free(16)
  9147. var chars, elt, info, req, p3 uintptr
  9148. var elen, i, len1, nchars, this_bytes, this_chars, v5 int32
  9149. var v1 uint32
  9150. var _ /* glyphset at bp+0 */ TGlyphSet
  9151. _, _, _, _, _, _, _, _, _, _, _, _, _ = chars, elen, elt, i, info, len1, nchars, req, this_bytes, this_chars, v1, v5, p3
  9152. info = XXRenderFindDisplay(tls, dpy)
  9153. if !(nelt != 0) {
  9154. return
  9155. }
  9156. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9157. return
  9158. }
  9159. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9160. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9161. }
  9162. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCompositeGlyphs32), uint32(m_sz_xRenderCompositeGlyphs32Req))
  9163. (*TxRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9164. (*TxRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCompositeGlyphs32)
  9165. (*TxRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  9166. (*TxRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fsrc = src
  9167. (*TxRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fdst = dst
  9168. if maskFormat != 0 {
  9169. v1 = (*TXRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
  9170. } else {
  9171. v1 = uint32(0)
  9172. }
  9173. (*TxRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FmaskFormat = v1
  9174. (*TxRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).Fglyphset = (*(*TXGlyphElt32)(unsafe.Pointer(elts))).Fglyphset
  9175. (*TxRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FxSrc = int16(xSrc)
  9176. (*TxRenderCompositeGlyphs32Req)(unsafe.Pointer(req)).FySrc = int16(ySrc)
  9177. /*
  9178. * Compute the space necessary
  9179. */
  9180. len1 = 0
  9181. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt32)(unsafe.Pointer(elts))).Fglyphset
  9182. i = 0
  9183. for {
  9184. if !(i < nelt) {
  9185. break
  9186. }
  9187. /*
  9188. * Check for glyphset change
  9189. */
  9190. if (*(*TXGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset != *(*TGlyphSet)(unsafe.Pointer(bp)) {
  9191. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset
  9192. len1 += int32((libc.Int32FromInt32(m_sz_xGlyphElt) + libc.Int32FromInt32(4)) >> libc.Int32FromInt32(2))
  9193. }
  9194. nchars = (*(*TXGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20))).Fnchars
  9195. elen = int32(m_sz_xGlyphElt)*((nchars+int32(254)-int32(1))/int32(254)) + nchars*int32(4)
  9196. len1 += (elen + int32(3)) >> int32(2)
  9197. goto _2
  9198. _2:
  9199. ;
  9200. i++
  9201. }
  9202. p3 = req + 2
  9203. *(*TCARD16)(unsafe.Pointer(p3)) = TCARD16(int32(*(*TCARD16)(unsafe.Pointer(p3))) + len1)
  9204. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt32)(unsafe.Pointer(elts))).Fglyphset
  9205. i = 0
  9206. for {
  9207. if !(i < nelt) {
  9208. break
  9209. }
  9210. /*
  9211. * Switch glyphsets
  9212. */
  9213. if (*(*TXGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset != *(*TGlyphSet)(unsafe.Pointer(bp)) {
  9214. *(*TGlyphSet)(unsafe.Pointer(bp)) = (*(*TXGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20))).Fglyphset
  9215. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(libc.Int32FromInt32(m_sz_xGlyphElt)) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9216. libx11.X_XFlush(tls, dpy)
  9217. }
  9218. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  9219. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xGlyphElt)))
  9220. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Int32FromInt32(m_sz_xGlyphElt))
  9221. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = uint8(0xff)
  9222. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = 0
  9223. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = 0
  9224. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9225. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  9226. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9227. } else {
  9228. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  9229. }
  9230. }
  9231. nchars = (*(*TXGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20))).Fnchars
  9232. xDst = (*(*TXGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20))).FxOff
  9233. yDst = (*(*TXGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20))).FyOff
  9234. chars = (*(*TXGlyphElt32)(unsafe.Pointer(elts + uintptr(i)*20))).Fchars
  9235. for nchars != 0 {
  9236. if nchars > int32(254) {
  9237. v5 = int32(254)
  9238. } else {
  9239. v5 = nchars
  9240. }
  9241. this_chars = v5
  9242. this_bytes = this_chars * int32(4)
  9243. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(libc.Int32FromInt32(m_sz_xGlyphElt)) > (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9244. libx11.X_XFlush(tls, dpy)
  9245. }
  9246. elt = (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr
  9247. libc.Xmemset(tls, elt, int32('\000'), libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xGlyphElt)))
  9248. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Int32FromInt32(m_sz_xGlyphElt))
  9249. (*TxGlyphElt)(unsafe.Pointer(elt)).Flen1 = libc.Uint8FromInt32(this_chars)
  9250. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltax = int16(xDst)
  9251. (*TxGlyphElt)(unsafe.Pointer(elt)).Fdeltay = int16(yDst)
  9252. xDst = 0
  9253. yDst = 0
  9254. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(this_bytes) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9255. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, chars, libc.Uint32FromInt32(this_bytes))
  9256. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(this_bytes+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9257. } else {
  9258. libx11.X_XSend(tls, dpy, chars, this_bytes)
  9259. }
  9260. nchars -= this_chars
  9261. chars += uintptr(this_chars) * 4
  9262. }
  9263. goto _4
  9264. _4:
  9265. ;
  9266. i++
  9267. }
  9268. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9269. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9270. }
  9271. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9272. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9273. }
  9274. }
  9275. const m_FALSE = 0
  9276. const m_MAXSHORT = 32767
  9277. const m_NUMPTSTOBUFFER = 200
  9278. const m_TRUE = 1
  9279. type T_XRegion = struct {
  9280. Fsize int32
  9281. FnumRects int32
  9282. Frects uintptr
  9283. Fextents TBOX
  9284. }
  9285. type TBox = struct {
  9286. Fx1 int16
  9287. Fx2 int16
  9288. Fy1 int16
  9289. Fy2 int16
  9290. }
  9291. type TBOX = struct {
  9292. Fx1 int16
  9293. Fx2 int16
  9294. Fy1 int16
  9295. Fy2 int16
  9296. }
  9297. type TBoxRec = struct {
  9298. Fx1 int16
  9299. Fx2 int16
  9300. Fy1 int16
  9301. Fy2 int16
  9302. }
  9303. type TBoxPtr = uintptr
  9304. type TRECTANGLE = struct {
  9305. Fx int16
  9306. Fy int16
  9307. Fwidth int16
  9308. Fheight int16
  9309. }
  9310. type TRectangleRec = struct {
  9311. Fx int16
  9312. Fy int16
  9313. Fwidth int16
  9314. Fheight int16
  9315. }
  9316. type TRectanglePtr = uintptr
  9317. type TREGION = struct {
  9318. Fsize int32
  9319. FnumRects int32
  9320. Frects uintptr
  9321. Fextents TBOX
  9322. }
  9323. type TPOINTBLOCK = struct {
  9324. Fpts [200]TXPoint
  9325. Fnext uintptr
  9326. }
  9327. type T_POINTBLOCK = TPOINTBLOCK
  9328. func __XRenderProcessPictureAttributes(tls *libc.TLS, dpy uintptr, req uintptr, valuemask uint32, attributes uintptr) {
  9329. bp := tls.Alloc(128)
  9330. defer tls.Free(128)
  9331. var nvalues, v15 uint32
  9332. var value, v1, v10, v11, v12, v13, v2, v3, v4, v5, v6, v7, v8, v9, p14 uintptr
  9333. var _ /* values at bp+0 */ [32]uint32
  9334. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = nvalues, value, v1, v10, v11, v12, v13, v15, v2, v3, v4, v5, v6, v7, v8, v9, p14
  9335. value = bp
  9336. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  9337. v1 = value
  9338. value += 4
  9339. *(*uint32)(unsafe.Pointer(v1)) = libc.Uint32FromInt32((*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Frepeat)
  9340. }
  9341. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  9342. v2 = value
  9343. value += 4
  9344. *(*uint32)(unsafe.Pointer(v2)) = (*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_map
  9345. }
  9346. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(2)) != 0 {
  9347. v3 = value
  9348. value += 4
  9349. *(*uint32)(unsafe.Pointer(v3)) = libc.Uint32FromInt32((*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_x_origin)
  9350. }
  9351. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(3)) != 0 {
  9352. v4 = value
  9353. value += 4
  9354. *(*uint32)(unsafe.Pointer(v4)) = libc.Uint32FromInt32((*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Falpha_y_origin)
  9355. }
  9356. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(4)) != 0 {
  9357. v5 = value
  9358. value += 4
  9359. *(*uint32)(unsafe.Pointer(v5)) = libc.Uint32FromInt32((*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_x_origin)
  9360. }
  9361. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(5)) != 0 {
  9362. v6 = value
  9363. value += 4
  9364. *(*uint32)(unsafe.Pointer(v6)) = libc.Uint32FromInt32((*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_y_origin)
  9365. }
  9366. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(6)) != 0 {
  9367. v7 = value
  9368. value += 4
  9369. *(*uint32)(unsafe.Pointer(v7)) = (*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Fclip_mask
  9370. }
  9371. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(7)) != 0 {
  9372. v8 = value
  9373. value += 4
  9374. *(*uint32)(unsafe.Pointer(v8)) = libc.Uint32FromInt32((*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Fgraphics_exposures)
  9375. }
  9376. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(8)) != 0 {
  9377. v9 = value
  9378. value += 4
  9379. *(*uint32)(unsafe.Pointer(v9)) = libc.Uint32FromInt32((*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Fsubwindow_mode)
  9380. }
  9381. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(9)) != 0 {
  9382. v10 = value
  9383. value += 4
  9384. *(*uint32)(unsafe.Pointer(v10)) = libc.Uint32FromInt32((*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_edge)
  9385. }
  9386. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(10)) != 0 {
  9387. v11 = value
  9388. value += 4
  9389. *(*uint32)(unsafe.Pointer(v11)) = libc.Uint32FromInt32((*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Fpoly_mode)
  9390. }
  9391. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(11)) != 0 {
  9392. v12 = value
  9393. value += 4
  9394. *(*uint32)(unsafe.Pointer(v12)) = (*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Fdither
  9395. }
  9396. if valuemask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(12)) != 0 {
  9397. v13 = value
  9398. value += 4
  9399. *(*uint32)(unsafe.Pointer(v13)) = libc.Uint32FromInt32((*TXRenderPictureAttributes)(unsafe.Pointer(attributes)).Fcomponent_alpha)
  9400. }
  9401. p14 = req + 2
  9402. v15 = libc.Uint32FromInt32((int32(value) - t__predefined_ptrdiff_t(bp)) / 4)
  9403. nvalues = v15
  9404. *(*TCARD16)(unsafe.Pointer(p14)) = TCARD16(uint32(*(*TCARD16)(unsafe.Pointer(p14))) + v15)
  9405. nvalues <<= uint32(2) /* watch out for macros... */
  9406. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(libc.Int32FromUint32(nvalues)) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9407. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(libc.Int32FromUint32(nvalues)))
  9408. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(libc.Int32FromUint32(nvalues)+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9409. } else {
  9410. libx11.X_XSend(tls, dpy, bp, libc.Int32FromUint32(nvalues))
  9411. }
  9412. }
  9413. func XXRenderCreatePicture(tls *libc.TLS, dpy uintptr, drawable TDrawable, format uintptr, valuemask uint32, attributes uintptr) (r TPicture) {
  9414. var info, req uintptr
  9415. var pid, v1 TPicture
  9416. var v2 TCARD32
  9417. _, _, _, _, _ = info, pid, req, v1, v2
  9418. info = XXRenderFindDisplay(tls, dpy)
  9419. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9420. return uint32(0)
  9421. }
  9422. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9423. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9424. }
  9425. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCreatePicture), uint32(m_sz_xRenderCreatePictureReq))
  9426. (*TxRenderCreatePictureReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9427. (*TxRenderCreatePictureReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCreatePicture)
  9428. v1 = (*(*func(*libc.TLS, uintptr) TXID)(unsafe.Pointer(&struct{ uintptr }{(*struct {
  9429. Fext_data uintptr
  9430. Fprivate1 uintptr
  9431. Ffd int32
  9432. Fprivate2 int32
  9433. Fproto_major_version int32
  9434. Fproto_minor_version int32
  9435. Fvendor uintptr
  9436. Fprivate3 TXID
  9437. Fprivate4 TXID
  9438. Fprivate5 TXID
  9439. Fprivate6 int32
  9440. Fresource_alloc uintptr
  9441. Fbyte_order int32
  9442. Fbitmap_unit int32
  9443. Fbitmap_pad int32
  9444. Fbitmap_bit_order int32
  9445. Fnformats int32
  9446. Fpixmap_format uintptr
  9447. Fprivate8 int32
  9448. Frelease int32
  9449. Fprivate9 uintptr
  9450. Fprivate10 uintptr
  9451. Fqlen int32
  9452. Flast_request_read uint32
  9453. Frequest uint32
  9454. Fprivate11 TXPointer
  9455. Fprivate12 TXPointer
  9456. Fprivate13 TXPointer
  9457. Fprivate14 TXPointer
  9458. Fmax_request_size uint32
  9459. Fdb uintptr
  9460. Fprivate15 uintptr
  9461. Fdisplay_name uintptr
  9462. Fdefault_screen int32
  9463. Fnscreens int32
  9464. Fscreens uintptr
  9465. Fmotion_buffer uint32
  9466. Fprivate16 uint32
  9467. Fmin_keycode int32
  9468. Fmax_keycode int32
  9469. Fprivate17 TXPointer
  9470. Fprivate18 TXPointer
  9471. Fprivate19 int32
  9472. Fxdefaults uintptr
  9473. })(unsafe.Pointer(dpy)).Fresource_alloc})))(tls, dpy)
  9474. pid = v1
  9475. (*TxRenderCreatePictureReq)(unsafe.Pointer(req)).Fpid = v1
  9476. (*TxRenderCreatePictureReq)(unsafe.Pointer(req)).Fdrawable = drawable
  9477. (*TxRenderCreatePictureReq)(unsafe.Pointer(req)).Fformat = (*TXRenderPictFormat)(unsafe.Pointer(format)).Fid
  9478. v2 = valuemask
  9479. (*TxRenderCreatePictureReq)(unsafe.Pointer(req)).Fmask = v2
  9480. if v2 != 0 {
  9481. __XRenderProcessPictureAttributes(tls, dpy, req, valuemask, attributes)
  9482. }
  9483. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9484. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9485. }
  9486. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9487. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9488. }
  9489. return pid
  9490. }
  9491. func XXRenderChangePicture(tls *libc.TLS, dpy uintptr, picture TPicture, valuemask uint32, attributes uintptr) {
  9492. var info, req uintptr
  9493. _, _ = info, req
  9494. info = XXRenderFindDisplay(tls, dpy)
  9495. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9496. return
  9497. }
  9498. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9499. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9500. }
  9501. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderChangePicture), uint32(m_sz_xRenderChangePictureReq))
  9502. (*TxRenderChangePictureReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9503. (*TxRenderChangePictureReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderChangePicture)
  9504. (*TxRenderChangePictureReq)(unsafe.Pointer(req)).Fpicture = picture
  9505. (*TxRenderChangePictureReq)(unsafe.Pointer(req)).Fmask = valuemask
  9506. __XRenderProcessPictureAttributes(tls, dpy, req, valuemask, attributes)
  9507. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9508. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9509. }
  9510. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9511. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9512. }
  9513. }
  9514. func __XRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, info uintptr, picture TPicture, xOrigin int32, yOrigin int32, rects uintptr, n int32) {
  9515. bp := tls.Alloc(16)
  9516. defer tls.Free(16)
  9517. var _BRlen TCARD32
  9518. var len1 int32
  9519. var req uintptr
  9520. var _ /* _BRdat at bp+0 */ TCARD32
  9521. _, _, _ = _BRlen, len1, req
  9522. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderSetPictureClipRectangles), uint32(m_sz_xRenderSetPictureClipRectanglesReq))
  9523. (*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9524. (*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderSetPictureClipRectangles)
  9525. (*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Fpicture = picture
  9526. (*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FxOrigin = int16(xOrigin)
  9527. (*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).FyOrigin = int16(yOrigin)
  9528. len1 = n << int32(1)
  9529. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  9530. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  9531. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) - int32(1))
  9532. (*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength = uint16(0)
  9533. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  9534. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  9535. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  9536. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9537. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  9538. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9539. } else {
  9540. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  9541. }
  9542. } else {
  9543. len1 = int32(1)
  9544. (*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) + len1)
  9545. }
  9546. } else {
  9547. (*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderSetPictureClipRectanglesReq)(unsafe.Pointer(req)).Flength) + len1)
  9548. }
  9549. len1 <<= int32(2)
  9550. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9551. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, rects, libc.Uint32FromInt32(len1))
  9552. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(len1+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9553. } else {
  9554. libx11.X_XSend(tls, dpy, rects, len1)
  9555. }
  9556. }
  9557. func XXRenderSetPictureClipRectangles(tls *libc.TLS, dpy uintptr, picture TPicture, xOrigin int32, yOrigin int32, rects uintptr, n int32) {
  9558. var info uintptr
  9559. _ = info
  9560. info = XXRenderFindDisplay(tls, dpy)
  9561. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9562. return
  9563. }
  9564. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9565. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9566. }
  9567. __XRenderSetPictureClipRectangles(tls, dpy, info, picture, xOrigin, yOrigin, rects, n)
  9568. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9569. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9570. }
  9571. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9572. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9573. }
  9574. }
  9575. func XXRenderSetPictureClipRegion(tls *libc.TLS, dpy uintptr, picture TPicture, r TRegion) {
  9576. var i, v3 int32
  9577. var info, pb, pr, xr, v1 uintptr
  9578. var total uint32
  9579. _, _, _, _, _, _, _, _ = i, info, pb, pr, total, xr, v1, v3
  9580. info = XXRenderFindDisplay(tls, dpy)
  9581. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9582. return
  9583. }
  9584. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9585. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9586. }
  9587. total = libc.Uint32FromInt32((*T_XRegion)(unsafe.Pointer(r)).FnumRects) * uint32(8)
  9588. v1 = libx11.X_XAllocTemp(tls, dpy, total)
  9589. xr = v1
  9590. if v1 != 0 {
  9591. pr = xr
  9592. pb = (*T_XRegion)(unsafe.Pointer(r)).Frects
  9593. i = (*T_XRegion)(unsafe.Pointer(r)).FnumRects
  9594. for {
  9595. i--
  9596. v3 = i
  9597. if !(v3 >= 0) {
  9598. break
  9599. }
  9600. (*TXRectangle)(unsafe.Pointer(pr)).Fx = (*TBOX)(unsafe.Pointer(pb)).Fx1
  9601. (*TXRectangle)(unsafe.Pointer(pr)).Fy = (*TBOX)(unsafe.Pointer(pb)).Fy1
  9602. (*TXRectangle)(unsafe.Pointer(pr)).Fwidth = libc.Uint16FromInt32(int32((*TBOX)(unsafe.Pointer(pb)).Fx2) - int32((*TBOX)(unsafe.Pointer(pb)).Fx1))
  9603. (*TXRectangle)(unsafe.Pointer(pr)).Fheight = libc.Uint16FromInt32(int32((*TBOX)(unsafe.Pointer(pb)).Fy2) - int32((*TBOX)(unsafe.Pointer(pb)).Fy1))
  9604. goto _2
  9605. _2:
  9606. ;
  9607. pr += 8
  9608. pb += 8
  9609. }
  9610. }
  9611. if xr != 0 || !((*T_XRegion)(unsafe.Pointer(r)).FnumRects != 0) {
  9612. __XRenderSetPictureClipRectangles(tls, dpy, info, picture, 0, 0, xr, (*T_XRegion)(unsafe.Pointer(r)).FnumRects)
  9613. }
  9614. if xr != 0 {
  9615. libx11.X_XFreeTemp(tls, dpy, xr, total)
  9616. }
  9617. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9618. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9619. }
  9620. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9621. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9622. }
  9623. }
  9624. func XXRenderSetPictureTransform(tls *libc.TLS, dpy uintptr, picture TPicture, transform uintptr) {
  9625. var info, req uintptr
  9626. _, _ = info, req
  9627. info = XXRenderFindDisplay(tls, dpy)
  9628. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9629. return
  9630. }
  9631. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9632. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9633. }
  9634. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderSetPictureTransform), uint32(m_sz_xRenderSetPictureTransformReq))
  9635. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9636. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderSetPictureTransform)
  9637. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).Fpicture = picture
  9638. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix11 = *(*TXFixed)(unsafe.Pointer(transform))
  9639. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix12 = *(*TXFixed)(unsafe.Pointer(transform + 1*4))
  9640. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix13 = *(*TXFixed)(unsafe.Pointer(transform + 2*4))
  9641. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix21 = *(*TXFixed)(unsafe.Pointer(transform + 1*12))
  9642. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix22 = *(*TXFixed)(unsafe.Pointer(transform + 1*12 + 1*4))
  9643. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix23 = *(*TXFixed)(unsafe.Pointer(transform + 1*12 + 2*4))
  9644. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix31 = *(*TXFixed)(unsafe.Pointer(transform + 2*12))
  9645. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix32 = *(*TXFixed)(unsafe.Pointer(transform + 2*12 + 1*4))
  9646. (*TxRenderSetPictureTransformReq)(unsafe.Pointer(req)).Ftransform.Fmatrix33 = *(*TXFixed)(unsafe.Pointer(transform + 2*12 + 2*4))
  9647. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9648. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9649. }
  9650. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9651. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9652. }
  9653. }
  9654. func XXRenderFreePicture(tls *libc.TLS, dpy uintptr, picture TPicture) {
  9655. var info, req uintptr
  9656. _, _ = info, req
  9657. info = XXRenderFindDisplay(tls, dpy)
  9658. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9659. return
  9660. }
  9661. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9662. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9663. }
  9664. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderFreePicture), uint32(m_sz_xRenderFreePictureReq))
  9665. (*TxRenderFreePictureReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9666. (*TxRenderFreePictureReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderFreePicture)
  9667. (*TxRenderFreePictureReq)(unsafe.Pointer(req)).Fpicture = picture
  9668. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9669. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9670. }
  9671. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9672. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9673. }
  9674. }
  9675. func XXRenderCreateSolidFill(tls *libc.TLS, dpy uintptr, color uintptr) (r TPicture) {
  9676. var info, req uintptr
  9677. var pid, v1 TPicture
  9678. _, _, _, _ = info, pid, req, v1
  9679. info = XXRenderFindDisplay(tls, dpy)
  9680. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9681. return uint32(0)
  9682. }
  9683. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9684. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9685. }
  9686. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCreateSolidFill), uint32(m_sz_xRenderCreateSolidFillReq))
  9687. (*TxRenderCreateSolidFillReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9688. (*TxRenderCreateSolidFillReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCreateSolidFill)
  9689. v1 = (*(*func(*libc.TLS, uintptr) TXID)(unsafe.Pointer(&struct{ uintptr }{(*struct {
  9690. Fext_data uintptr
  9691. Fprivate1 uintptr
  9692. Ffd int32
  9693. Fprivate2 int32
  9694. Fproto_major_version int32
  9695. Fproto_minor_version int32
  9696. Fvendor uintptr
  9697. Fprivate3 TXID
  9698. Fprivate4 TXID
  9699. Fprivate5 TXID
  9700. Fprivate6 int32
  9701. Fresource_alloc uintptr
  9702. Fbyte_order int32
  9703. Fbitmap_unit int32
  9704. Fbitmap_pad int32
  9705. Fbitmap_bit_order int32
  9706. Fnformats int32
  9707. Fpixmap_format uintptr
  9708. Fprivate8 int32
  9709. Frelease int32
  9710. Fprivate9 uintptr
  9711. Fprivate10 uintptr
  9712. Fqlen int32
  9713. Flast_request_read uint32
  9714. Frequest uint32
  9715. Fprivate11 TXPointer
  9716. Fprivate12 TXPointer
  9717. Fprivate13 TXPointer
  9718. Fprivate14 TXPointer
  9719. Fmax_request_size uint32
  9720. Fdb uintptr
  9721. Fprivate15 uintptr
  9722. Fdisplay_name uintptr
  9723. Fdefault_screen int32
  9724. Fnscreens int32
  9725. Fscreens uintptr
  9726. Fmotion_buffer uint32
  9727. Fprivate16 uint32
  9728. Fmin_keycode int32
  9729. Fmax_keycode int32
  9730. Fprivate17 TXPointer
  9731. Fprivate18 TXPointer
  9732. Fprivate19 int32
  9733. Fxdefaults uintptr
  9734. })(unsafe.Pointer(dpy)).Fresource_alloc})))(tls, dpy)
  9735. pid = v1
  9736. (*TxRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fpid = v1
  9737. (*TxRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fred = (*TXRenderColor)(unsafe.Pointer(color)).Fred
  9738. (*TxRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fgreen = (*TXRenderColor)(unsafe.Pointer(color)).Fgreen
  9739. (*TxRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Fblue = (*TXRenderColor)(unsafe.Pointer(color)).Fblue
  9740. (*TxRenderCreateSolidFillReq)(unsafe.Pointer(req)).Fcolor.Falpha = (*TXRenderColor)(unsafe.Pointer(color)).Falpha
  9741. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9742. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9743. }
  9744. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9745. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9746. }
  9747. return pid
  9748. }
  9749. func XXRenderCreateLinearGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) (r TPicture) {
  9750. bp := tls.Alloc(16)
  9751. defer tls.Free(16)
  9752. var _BRlen TCARD32
  9753. var info, req uintptr
  9754. var len1 int32
  9755. var pid, v1 TPicture
  9756. var _ /* _BRdat at bp+0 */ TCARD32
  9757. _, _, _, _, _, _ = _BRlen, info, len1, pid, req, v1
  9758. info = XXRenderFindDisplay(tls, dpy)
  9759. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9760. return uint32(0)
  9761. }
  9762. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9763. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9764. }
  9765. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCreateLinearGradient), uint32(m_sz_xRenderCreateLinearGradientReq))
  9766. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9767. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCreateLinearGradient)
  9768. v1 = (*(*func(*libc.TLS, uintptr) TXID)(unsafe.Pointer(&struct{ uintptr }{(*struct {
  9769. Fext_data uintptr
  9770. Fprivate1 uintptr
  9771. Ffd int32
  9772. Fprivate2 int32
  9773. Fproto_major_version int32
  9774. Fproto_minor_version int32
  9775. Fvendor uintptr
  9776. Fprivate3 TXID
  9777. Fprivate4 TXID
  9778. Fprivate5 TXID
  9779. Fprivate6 int32
  9780. Fresource_alloc uintptr
  9781. Fbyte_order int32
  9782. Fbitmap_unit int32
  9783. Fbitmap_pad int32
  9784. Fbitmap_bit_order int32
  9785. Fnformats int32
  9786. Fpixmap_format uintptr
  9787. Fprivate8 int32
  9788. Frelease int32
  9789. Fprivate9 uintptr
  9790. Fprivate10 uintptr
  9791. Fqlen int32
  9792. Flast_request_read uint32
  9793. Frequest uint32
  9794. Fprivate11 TXPointer
  9795. Fprivate12 TXPointer
  9796. Fprivate13 TXPointer
  9797. Fprivate14 TXPointer
  9798. Fmax_request_size uint32
  9799. Fdb uintptr
  9800. Fprivate15 uintptr
  9801. Fdisplay_name uintptr
  9802. Fdefault_screen int32
  9803. Fnscreens int32
  9804. Fscreens uintptr
  9805. Fmotion_buffer uint32
  9806. Fprivate16 uint32
  9807. Fmin_keycode int32
  9808. Fmax_keycode int32
  9809. Fprivate17 TXPointer
  9810. Fprivate18 TXPointer
  9811. Fprivate19 int32
  9812. Fxdefaults uintptr
  9813. })(unsafe.Pointer(dpy)).Fresource_alloc})))(tls, dpy)
  9814. pid = v1
  9815. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fpid = v1
  9816. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fx = (*TXLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fx
  9817. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp1.Fy = (*TXLinearGradient)(unsafe.Pointer(gradient)).Fp1.Fy
  9818. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fx = (*TXLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fx
  9819. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Fp2.Fy = (*TXLinearGradient)(unsafe.Pointer(gradient)).Fp2.Fy
  9820. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).FnStops = libc.Uint32FromInt32(nStops)
  9821. len1 = nStops * int32(3)
  9822. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  9823. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  9824. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) - int32(1))
  9825. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength = uint16(0)
  9826. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  9827. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  9828. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  9829. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9830. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  9831. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9832. } else {
  9833. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  9834. }
  9835. } else {
  9836. len1 = int32(6)
  9837. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) + len1)
  9838. }
  9839. } else {
  9840. (*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderCreateLinearGradientReq)(unsafe.Pointer(req)).Flength) + len1)
  9841. }
  9842. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*libc.Int32FromInt32(4)) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9843. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, stops, libc.Uint32FromInt32(nStops*libc.Int32FromInt32(4)))
  9844. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(nStops*libc.Int32FromInt32(4)+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9845. } else {
  9846. libx11.X_XSend(tls, dpy, stops, int32(nStops*libc.Int32FromInt32(4)))
  9847. }
  9848. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*libc.Int32FromInt32(8)) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9849. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, colors, libc.Uint32FromInt32(nStops*libc.Int32FromInt32(8)))
  9850. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(nStops*libc.Int32FromInt32(8)+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9851. } else {
  9852. libx11.X_XSend(tls, dpy, colors, int32(nStops*libc.Int32FromInt32(8)))
  9853. }
  9854. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9855. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9856. }
  9857. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9858. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9859. }
  9860. return pid
  9861. }
  9862. func XXRenderCreateRadialGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) (r TPicture) {
  9863. bp := tls.Alloc(16)
  9864. defer tls.Free(16)
  9865. var _BRlen TCARD32
  9866. var info, req uintptr
  9867. var len1 int32
  9868. var pid, v1 TPicture
  9869. var _ /* _BRdat at bp+0 */ TCARD32
  9870. _, _, _, _, _, _ = _BRlen, info, len1, pid, req, v1
  9871. info = XXRenderFindDisplay(tls, dpy)
  9872. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9873. return uint32(0)
  9874. }
  9875. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9876. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9877. }
  9878. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCreateRadialGradient), uint32(m_sz_xRenderCreateRadialGradientReq))
  9879. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9880. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCreateRadialGradient)
  9881. v1 = (*(*func(*libc.TLS, uintptr) TXID)(unsafe.Pointer(&struct{ uintptr }{(*struct {
  9882. Fext_data uintptr
  9883. Fprivate1 uintptr
  9884. Ffd int32
  9885. Fprivate2 int32
  9886. Fproto_major_version int32
  9887. Fproto_minor_version int32
  9888. Fvendor uintptr
  9889. Fprivate3 TXID
  9890. Fprivate4 TXID
  9891. Fprivate5 TXID
  9892. Fprivate6 int32
  9893. Fresource_alloc uintptr
  9894. Fbyte_order int32
  9895. Fbitmap_unit int32
  9896. Fbitmap_pad int32
  9897. Fbitmap_bit_order int32
  9898. Fnformats int32
  9899. Fpixmap_format uintptr
  9900. Fprivate8 int32
  9901. Frelease int32
  9902. Fprivate9 uintptr
  9903. Fprivate10 uintptr
  9904. Fqlen int32
  9905. Flast_request_read uint32
  9906. Frequest uint32
  9907. Fprivate11 TXPointer
  9908. Fprivate12 TXPointer
  9909. Fprivate13 TXPointer
  9910. Fprivate14 TXPointer
  9911. Fmax_request_size uint32
  9912. Fdb uintptr
  9913. Fprivate15 uintptr
  9914. Fdisplay_name uintptr
  9915. Fdefault_screen int32
  9916. Fnscreens int32
  9917. Fscreens uintptr
  9918. Fmotion_buffer uint32
  9919. Fprivate16 uint32
  9920. Fmin_keycode int32
  9921. Fmax_keycode int32
  9922. Fprivate17 TXPointer
  9923. Fprivate18 TXPointer
  9924. Fprivate19 int32
  9925. Fxdefaults uintptr
  9926. })(unsafe.Pointer(dpy)).Fresource_alloc})))(tls, dpy)
  9927. pid = v1
  9928. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fpid = v1
  9929. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fx = (*TXRadialGradient)(unsafe.Pointer(gradient)).Finner.Fx
  9930. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner.Fy = (*TXRadialGradient)(unsafe.Pointer(gradient)).Finner.Fy
  9931. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fx = (*TXRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fx
  9932. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter.Fy = (*TXRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fy
  9933. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Finner_radius = (*TXRadialGradient)(unsafe.Pointer(gradient)).Finner.Fradius
  9934. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Fouter_radius = (*TXRadialGradient)(unsafe.Pointer(gradient)).Fouter.Fradius
  9935. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).FnStops = libc.Uint32FromInt32(nStops)
  9936. len1 = nStops * int32(3)
  9937. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  9938. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  9939. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) - int32(1))
  9940. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength = uint16(0)
  9941. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  9942. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  9943. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  9944. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9945. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  9946. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9947. } else {
  9948. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  9949. }
  9950. } else {
  9951. len1 = int32(6)
  9952. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) + len1)
  9953. }
  9954. } else {
  9955. (*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderCreateRadialGradientReq)(unsafe.Pointer(req)).Flength) + len1)
  9956. }
  9957. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*libc.Int32FromInt32(4)) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9958. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, stops, libc.Uint32FromInt32(nStops*libc.Int32FromInt32(4)))
  9959. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(nStops*libc.Int32FromInt32(4)+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9960. } else {
  9961. libx11.X_XSend(tls, dpy, stops, int32(nStops*libc.Int32FromInt32(4)))
  9962. }
  9963. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*libc.Int32FromInt32(8)) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  9964. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, colors, libc.Uint32FromInt32(nStops*libc.Int32FromInt32(8)))
  9965. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(nStops*libc.Int32FromInt32(8)+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  9966. } else {
  9967. libx11.X_XSend(tls, dpy, colors, int32(nStops*libc.Int32FromInt32(8)))
  9968. }
  9969. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9970. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  9971. }
  9972. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  9973. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  9974. }
  9975. return pid
  9976. }
  9977. func XXRenderCreateConicalGradient(tls *libc.TLS, dpy uintptr, gradient uintptr, stops uintptr, colors uintptr, nStops int32) (r TPicture) {
  9978. bp := tls.Alloc(16)
  9979. defer tls.Free(16)
  9980. var _BRlen TCARD32
  9981. var info, req uintptr
  9982. var len1 int32
  9983. var pid, v1 TPicture
  9984. var _ /* _BRdat at bp+0 */ TCARD32
  9985. _, _, _, _, _, _ = _BRlen, info, len1, pid, req, v1
  9986. info = XXRenderFindDisplay(tls, dpy)
  9987. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  9988. return uint32(0)
  9989. }
  9990. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  9991. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  9992. }
  9993. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderCreateConicalGradient), uint32(m_sz_xRenderCreateConicalGradientReq))
  9994. (*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  9995. (*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderCreateConicalGradient)
  9996. v1 = (*(*func(*libc.TLS, uintptr) TXID)(unsafe.Pointer(&struct{ uintptr }{(*struct {
  9997. Fext_data uintptr
  9998. Fprivate1 uintptr
  9999. Ffd int32
  10000. Fprivate2 int32
  10001. Fproto_major_version int32
  10002. Fproto_minor_version int32
  10003. Fvendor uintptr
  10004. Fprivate3 TXID
  10005. Fprivate4 TXID
  10006. Fprivate5 TXID
  10007. Fprivate6 int32
  10008. Fresource_alloc uintptr
  10009. Fbyte_order int32
  10010. Fbitmap_unit int32
  10011. Fbitmap_pad int32
  10012. Fbitmap_bit_order int32
  10013. Fnformats int32
  10014. Fpixmap_format uintptr
  10015. Fprivate8 int32
  10016. Frelease int32
  10017. Fprivate9 uintptr
  10018. Fprivate10 uintptr
  10019. Fqlen int32
  10020. Flast_request_read uint32
  10021. Frequest uint32
  10022. Fprivate11 TXPointer
  10023. Fprivate12 TXPointer
  10024. Fprivate13 TXPointer
  10025. Fprivate14 TXPointer
  10026. Fmax_request_size uint32
  10027. Fdb uintptr
  10028. Fprivate15 uintptr
  10029. Fdisplay_name uintptr
  10030. Fdefault_screen int32
  10031. Fnscreens int32
  10032. Fscreens uintptr
  10033. Fmotion_buffer uint32
  10034. Fprivate16 uint32
  10035. Fmin_keycode int32
  10036. Fmax_keycode int32
  10037. Fprivate17 TXPointer
  10038. Fprivate18 TXPointer
  10039. Fprivate19 int32
  10040. Fxdefaults uintptr
  10041. })(unsafe.Pointer(dpy)).Fresource_alloc})))(tls, dpy)
  10042. pid = v1
  10043. (*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fpid = v1
  10044. (*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fx = (*TXConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fx
  10045. (*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fcenter.Fy = (*TXConicalGradient)(unsafe.Pointer(gradient)).Fcenter.Fy
  10046. (*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Fangle = (*TXConicalGradient)(unsafe.Pointer(gradient)).Fangle
  10047. (*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).FnStops = libc.Uint32FromInt32(nStops)
  10048. len1 = nStops * int32(3)
  10049. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  10050. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  10051. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) - int32(1))
  10052. (*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength = uint16(0)
  10053. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  10054. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  10055. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  10056. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10057. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  10058. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10059. } else {
  10060. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  10061. }
  10062. } else {
  10063. len1 = int32(6)
  10064. (*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) + len1)
  10065. }
  10066. } else {
  10067. (*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderCreateConicalGradientReq)(unsafe.Pointer(req)).Flength) + len1)
  10068. }
  10069. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*libc.Int32FromInt32(4)) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10070. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, stops, libc.Uint32FromInt32(nStops*libc.Int32FromInt32(4)))
  10071. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(nStops*libc.Int32FromInt32(4)+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10072. } else {
  10073. libx11.X_XSend(tls, dpy, stops, int32(nStops*libc.Int32FromInt32(4)))
  10074. }
  10075. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(nStops*libc.Int32FromInt32(8)) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10076. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, colors, libc.Uint32FromInt32(nStops*libc.Int32FromInt32(8)))
  10077. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(nStops*libc.Int32FromInt32(8)+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10078. } else {
  10079. libx11.X_XSend(tls, dpy, colors, int32(nStops*libc.Int32FromInt32(8)))
  10080. }
  10081. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  10082. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  10083. }
  10084. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  10085. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  10086. }
  10087. return pid
  10088. }
  10089. /*
  10090. * Xlib uses long for 32-bit values. Xrender uses int. This
  10091. * matters on alpha. Note that this macro assumes that int is 32 bits
  10092. * except on WORD64 machines where it is 64 bits.
  10093. */
  10094. type TEdge = struct {
  10095. Fedge TXLineFixed
  10096. Fcurrent_x TXFixed
  10097. FclockWise int32
  10098. Fnext uintptr
  10099. Fprev uintptr
  10100. }
  10101. /*
  10102. * Xlib uses long for 32-bit values. Xrender uses int. This
  10103. * matters on alpha. Note that this macro assumes that int is 32 bits
  10104. * except on WORD64 machines where it is 64 bits.
  10105. */
  10106. type T_Edge = TEdge
  10107. func _CompareEdge(tls *libc.TLS, o1 uintptr, o2 uintptr) (r int32) {
  10108. var e1, e2 uintptr
  10109. _, _ = e1, e2
  10110. e1 = o1
  10111. e2 = o2
  10112. return (*TEdge)(unsafe.Pointer(e1)).Fedge.Fp1.Fy - (*TEdge)(unsafe.Pointer(e2)).Fedge.Fp1.Fy
  10113. }
  10114. func _XRenderComputeX(tls *libc.TLS, line uintptr, y TXFixed) (r TXFixed) {
  10115. var dx, dy TXFixed
  10116. var ex float64
  10117. _, _, _ = dx, dy, ex
  10118. dx = (*TXLineFixed)(unsafe.Pointer(line)).Fp2.Fx - (*TXLineFixed)(unsafe.Pointer(line)).Fp1.Fx
  10119. ex = float64(float64(y-(*TXLineFixed)(unsafe.Pointer(line)).Fp1.Fy) * float64(dx))
  10120. dy = (*TXLineFixed)(unsafe.Pointer(line)).Fp2.Fy - (*TXLineFixed)(unsafe.Pointer(line)).Fp1.Fy
  10121. return (*TXLineFixed)(unsafe.Pointer(line)).Fp1.Fx + int32(ex/float64(dy))
  10122. }
  10123. func _XRenderComputeInverseSlope(tls *libc.TLS, l uintptr) (r float64) {
  10124. return float64((*TXLineFixed)(unsafe.Pointer(l)).Fp2.Fx-(*TXLineFixed)(unsafe.Pointer(l)).Fp1.Fx) / libc.Float64FromInt32(65536) / (float64((*TXLineFixed)(unsafe.Pointer(l)).Fp2.Fy-(*TXLineFixed)(unsafe.Pointer(l)).Fp1.Fy) / libc.Float64FromInt32(65536))
  10125. }
  10126. func _XRenderComputeXIntercept(tls *libc.TLS, l uintptr, inverse_slope float64) (r float64) {
  10127. return float64((*TXLineFixed)(unsafe.Pointer(l)).Fp1.Fx)/libc.Float64FromInt32(65536) - TXDouble(inverse_slope*(float64((*TXLineFixed)(unsafe.Pointer(l)).Fp1.Fy)/libc.Float64FromInt32(65536)))
  10128. }
  10129. func _XRenderComputeIntersect(tls *libc.TLS, l1 uintptr, l2 uintptr) (r TXFixed) {
  10130. var b1, b2, m1, m2 float64
  10131. _, _, _, _ = b1, b2, m1, m2
  10132. /*
  10133. * x = m1y + b1
  10134. * x = m2y + b2
  10135. * m1y + b1 = m2y + b2
  10136. * y * (m1 - m2) = b2 - b1
  10137. * y = (b2 - b1) / (m1 - m2)
  10138. */
  10139. m1 = _XRenderComputeInverseSlope(tls, l1)
  10140. b1 = _XRenderComputeXIntercept(tls, l1, m1)
  10141. m2 = _XRenderComputeInverseSlope(tls, l2)
  10142. b2 = _XRenderComputeXIntercept(tls, l2, m2)
  10143. return int32(float64((b2 - b1) / (m1 - m2) * libc.Float64FromInt32(65536)))
  10144. }
  10145. func _XRenderComputeTrapezoids(tls *libc.TLS, edges uintptr, nedges int32, winding int32, traps uintptr) (r int32) {
  10146. var active, e, en, next, v6 uintptr
  10147. var inactive, ntraps int32
  10148. var intersect, next_y, y TXFixed
  10149. var v7 bool
  10150. _, _, _, _, _, _, _, _, _, _, _ = active, e, en, inactive, intersect, next, next_y, ntraps, y, v6, v7
  10151. ntraps = 0
  10152. libc.Xqsort(tls, edges, libc.Uint32FromInt32(nedges), uint32(32), __ccgo_fp(_CompareEdge))
  10153. y = (*(*TEdge)(unsafe.Pointer(edges))).Fedge.Fp1.Fy
  10154. active = libc.UintptrFromInt32(0)
  10155. inactive = 0
  10156. for active != 0 || inactive < nedges {
  10157. /* insert new active edges into list */
  10158. for inactive < nedges {
  10159. e = edges + uintptr(inactive)*32
  10160. if (*TEdge)(unsafe.Pointer(e)).Fedge.Fp1.Fy > y {
  10161. break
  10162. }
  10163. /* move this edge into the active list */
  10164. inactive++
  10165. (*TEdge)(unsafe.Pointer(e)).Fnext = active
  10166. (*TEdge)(unsafe.Pointer(e)).Fprev = libc.UintptrFromInt32(0)
  10167. if active != 0 {
  10168. (*TEdge)(unsafe.Pointer(active)).Fprev = e
  10169. }
  10170. active = e
  10171. }
  10172. /* compute x coordinates along this group */
  10173. e = active
  10174. for {
  10175. if !(e != 0) {
  10176. break
  10177. }
  10178. (*TEdge)(unsafe.Pointer(e)).Fcurrent_x = _XRenderComputeX(tls, e, y)
  10179. goto _1
  10180. _1:
  10181. ;
  10182. e = (*TEdge)(unsafe.Pointer(e)).Fnext
  10183. }
  10184. /* sort active list */
  10185. e = active
  10186. for {
  10187. if !(e != 0) {
  10188. break
  10189. }
  10190. next = (*TEdge)(unsafe.Pointer(e)).Fnext
  10191. /*
  10192. * Find one later in the list that belongs before the
  10193. * current one
  10194. */
  10195. en = next
  10196. for {
  10197. if !(en != 0) {
  10198. break
  10199. }
  10200. if (*TEdge)(unsafe.Pointer(en)).Fcurrent_x < (*TEdge)(unsafe.Pointer(e)).Fcurrent_x || (*TEdge)(unsafe.Pointer(en)).Fcurrent_x == (*TEdge)(unsafe.Pointer(e)).Fcurrent_x && (*TEdge)(unsafe.Pointer(en)).Fedge.Fp2.Fx < (*TEdge)(unsafe.Pointer(e)).Fedge.Fp2.Fx {
  10201. /*
  10202. * insert en before e
  10203. *
  10204. * extract en
  10205. */
  10206. (*TEdge)(unsafe.Pointer((*TEdge)(unsafe.Pointer(en)).Fprev)).Fnext = (*TEdge)(unsafe.Pointer(en)).Fnext
  10207. if (*TEdge)(unsafe.Pointer(en)).Fnext != 0 {
  10208. (*TEdge)(unsafe.Pointer((*TEdge)(unsafe.Pointer(en)).Fnext)).Fprev = (*TEdge)(unsafe.Pointer(en)).Fprev
  10209. }
  10210. /*
  10211. * insert en
  10212. */
  10213. if (*TEdge)(unsafe.Pointer(e)).Fprev != 0 {
  10214. (*TEdge)(unsafe.Pointer((*TEdge)(unsafe.Pointer(e)).Fprev)).Fnext = en
  10215. } else {
  10216. active = en
  10217. }
  10218. (*TEdge)(unsafe.Pointer(en)).Fprev = (*TEdge)(unsafe.Pointer(e)).Fprev
  10219. (*TEdge)(unsafe.Pointer(e)).Fprev = en
  10220. (*TEdge)(unsafe.Pointer(en)).Fnext = e
  10221. /*
  10222. * start over at en
  10223. */
  10224. next = en
  10225. break
  10226. }
  10227. goto _3
  10228. _3:
  10229. ;
  10230. en = (*TEdge)(unsafe.Pointer(en)).Fnext
  10231. }
  10232. goto _2
  10233. _2:
  10234. ;
  10235. e = next
  10236. }
  10237. /* find next inflection point */
  10238. next_y = (*TEdge)(unsafe.Pointer(active)).Fedge.Fp2.Fy
  10239. e = active
  10240. for {
  10241. if !(e != 0) {
  10242. break
  10243. }
  10244. if (*TEdge)(unsafe.Pointer(e)).Fedge.Fp2.Fy < next_y {
  10245. next_y = (*TEdge)(unsafe.Pointer(e)).Fedge.Fp2.Fy
  10246. }
  10247. en = (*TEdge)(unsafe.Pointer(e)).Fnext
  10248. /* check intersect */
  10249. if en != 0 && (*TEdge)(unsafe.Pointer(e)).Fedge.Fp2.Fx > (*TEdge)(unsafe.Pointer(en)).Fedge.Fp2.Fx {
  10250. intersect = _XRenderComputeIntersect(tls, e, (*TEdge)(unsafe.Pointer(e)).Fnext)
  10251. /* make sure this point is below the actual intersection */
  10252. intersect = intersect + int32(1)
  10253. if intersect < next_y {
  10254. next_y = intersect
  10255. }
  10256. }
  10257. goto _4
  10258. _4:
  10259. ;
  10260. e = en
  10261. }
  10262. /* check next inactive point */
  10263. if inactive < nedges && (*(*TEdge)(unsafe.Pointer(edges + uintptr(inactive)*32))).Fedge.Fp1.Fy < next_y {
  10264. next_y = (*(*TEdge)(unsafe.Pointer(edges + uintptr(inactive)*32))).Fedge.Fp1.Fy
  10265. }
  10266. /* walk the list generating trapezoids */
  10267. e = active
  10268. for {
  10269. if v7 = e != 0; v7 {
  10270. v6 = (*TEdge)(unsafe.Pointer(e)).Fnext
  10271. en = v6
  10272. }
  10273. if !(v7 && v6 != 0) {
  10274. break
  10275. }
  10276. (*TXTrapezoid)(unsafe.Pointer(traps)).Ftop = y
  10277. (*TXTrapezoid)(unsafe.Pointer(traps)).Fbottom = next_y
  10278. (*TXTrapezoid)(unsafe.Pointer(traps)).Fleft = (*TEdge)(unsafe.Pointer(e)).Fedge
  10279. (*TXTrapezoid)(unsafe.Pointer(traps)).Fright = (*TEdge)(unsafe.Pointer(en)).Fedge
  10280. traps += 40
  10281. ntraps++
  10282. goto _5
  10283. _5:
  10284. ;
  10285. e = (*TEdge)(unsafe.Pointer(en)).Fnext
  10286. }
  10287. y = next_y
  10288. /* delete inactive edges from list */
  10289. e = active
  10290. for {
  10291. if !(e != 0) {
  10292. break
  10293. }
  10294. next = (*TEdge)(unsafe.Pointer(e)).Fnext
  10295. if (*TEdge)(unsafe.Pointer(e)).Fedge.Fp2.Fy <= y {
  10296. if (*TEdge)(unsafe.Pointer(e)).Fprev != 0 {
  10297. (*TEdge)(unsafe.Pointer((*TEdge)(unsafe.Pointer(e)).Fprev)).Fnext = (*TEdge)(unsafe.Pointer(e)).Fnext
  10298. } else {
  10299. active = (*TEdge)(unsafe.Pointer(e)).Fnext
  10300. }
  10301. if (*TEdge)(unsafe.Pointer(e)).Fnext != 0 {
  10302. (*TEdge)(unsafe.Pointer((*TEdge)(unsafe.Pointer(e)).Fnext)).Fprev = (*TEdge)(unsafe.Pointer(e)).Fprev
  10303. }
  10304. }
  10305. goto _8
  10306. _8:
  10307. ;
  10308. e = next
  10309. }
  10310. }
  10311. return ntraps
  10312. }
  10313. func XXRenderCompositeDoublePoly(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, xSrc int32, ySrc int32, xDst int32, yDst int32, fpoints uintptr, npoints int32, winding int32) {
  10314. var bottom, firstx, firsty, prevx, prevy, top, x, y TXFixed
  10315. var edges, traps uintptr
  10316. var i, nedges, ntraps int32
  10317. var v1 uint32
  10318. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bottom, edges, firstx, firsty, i, nedges, ntraps, prevx, prevy, top, traps, x, y, v1
  10319. prevx = 0
  10320. prevy = 0
  10321. firstx = 0
  10322. firsty = 0
  10323. top = 0
  10324. bottom = 0 /* GCCism */
  10325. if libc.Uint32FromInt32(npoints)*uint32(32)+libc.Uint32FromInt32(npoints*npoints)*uint32(40) == uint32(0) {
  10326. v1 = uint32(1)
  10327. } else {
  10328. v1 = libc.Uint32FromInt32(npoints)*uint32(32) + libc.Uint32FromInt32(npoints*npoints)*uint32(40)
  10329. }
  10330. edges = libc.Xmalloc(tls, v1)
  10331. if !(edges != 0) {
  10332. return
  10333. }
  10334. traps = edges + uintptr(npoints)*32
  10335. nedges = 0
  10336. i = 0
  10337. for {
  10338. if !(i <= npoints) {
  10339. break
  10340. }
  10341. if i == npoints {
  10342. x = firstx
  10343. y = firsty
  10344. } else {
  10345. x = int32(TXDouble((*(*TXPointDouble)(unsafe.Pointer(fpoints + uintptr(i)*16))).Fx * libc.Float64FromInt32(65536)))
  10346. y = int32(TXDouble((*(*TXPointDouble)(unsafe.Pointer(fpoints + uintptr(i)*16))).Fy * libc.Float64FromInt32(65536)))
  10347. }
  10348. if i != 0 {
  10349. if y < top {
  10350. top = y
  10351. } else {
  10352. if y > bottom {
  10353. bottom = y
  10354. }
  10355. }
  10356. if prevy < y {
  10357. (*(*TEdge)(unsafe.Pointer(edges + uintptr(nedges)*32))).Fedge.Fp1.Fx = prevx
  10358. (*(*TEdge)(unsafe.Pointer(edges + uintptr(nedges)*32))).Fedge.Fp1.Fy = prevy
  10359. (*(*TEdge)(unsafe.Pointer(edges + uintptr(nedges)*32))).Fedge.Fp2.Fx = x
  10360. (*(*TEdge)(unsafe.Pointer(edges + uintptr(nedges)*32))).Fedge.Fp2.Fy = y
  10361. (*(*TEdge)(unsafe.Pointer(edges + uintptr(nedges)*32))).FclockWise = int32(m_True)
  10362. nedges++
  10363. } else {
  10364. if prevy > y {
  10365. (*(*TEdge)(unsafe.Pointer(edges + uintptr(nedges)*32))).Fedge.Fp1.Fx = x
  10366. (*(*TEdge)(unsafe.Pointer(edges + uintptr(nedges)*32))).Fedge.Fp1.Fy = y
  10367. (*(*TEdge)(unsafe.Pointer(edges + uintptr(nedges)*32))).Fedge.Fp2.Fx = prevx
  10368. (*(*TEdge)(unsafe.Pointer(edges + uintptr(nedges)*32))).Fedge.Fp2.Fy = prevy
  10369. (*(*TEdge)(unsafe.Pointer(edges + uintptr(nedges)*32))).FclockWise = m_False
  10370. nedges++
  10371. }
  10372. }
  10373. /* drop horizontal edges */
  10374. } else {
  10375. top = y
  10376. bottom = y
  10377. firstx = x
  10378. firsty = y
  10379. }
  10380. prevx = x
  10381. prevy = y
  10382. goto _2
  10383. _2:
  10384. ;
  10385. i++
  10386. }
  10387. ntraps = _XRenderComputeTrapezoids(tls, edges, nedges, winding, traps)
  10388. /* XXX adjust xSrc/xDst */
  10389. XXRenderCompositeTrapezoids(tls, dpy, op, src, dst, maskFormat, xSrc, ySrc, traps, ntraps)
  10390. libc.Xfree(tls, edges)
  10391. }
  10392. /*
  10393. * Xlib uses long for 32-bit values. Xrender uses int. This
  10394. * matters on alpha. Note that this macro assumes that int is 32 bits
  10395. * except on WORD64 machines where it is 64 bits.
  10396. */
  10397. func XXRenderCompositeTrapezoids(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, xSrc int32, ySrc int32, traps uintptr, ntrap int32) {
  10398. bp := tls.Alloc(16)
  10399. defer tls.Free(16)
  10400. var _BRlen TCARD32
  10401. var info, req uintptr
  10402. var len1, n int32
  10403. var max_req, v1, v2 uint32
  10404. var _ /* _BRdat at bp+0 */ TCARD32
  10405. _, _, _, _, _, _, _, _ = _BRlen, info, len1, max_req, n, req, v1, v2
  10406. info = XXRenderFindDisplay(tls, dpy)
  10407. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  10408. v1 = (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size
  10409. } else {
  10410. v1 = (*TDisplay)(unsafe.Pointer(dpy)).Fmax_request_size
  10411. }
  10412. max_req = v1
  10413. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  10414. return
  10415. }
  10416. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  10417. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  10418. }
  10419. for ntrap != 0 {
  10420. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderTrapezoids), uint32(m_sz_xRenderTrapezoidsReq))
  10421. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  10422. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderTrapezoids)
  10423. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  10424. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Fsrc = src
  10425. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Fdst = dst
  10426. if maskFormat != 0 {
  10427. v2 = (*TXRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
  10428. } else {
  10429. v2 = uint32(0)
  10430. }
  10431. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).FmaskFormat = v2
  10432. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).FxSrc = int16(xSrc)
  10433. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).FySrc = int16(ySrc)
  10434. n = ntrap
  10435. len1 = n * int32(libc.Int32FromInt32(m_sz_xTrapezoid)>>libc.Int32FromInt32(2))
  10436. if libc.Uint32FromInt32(len1) > max_req-uint32((*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) {
  10437. n = libc.Int32FromUint32((max_req - uint32((*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)) / libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xTrapezoid)>>libc.Int32FromInt32(2)))
  10438. len1 = n * int32(libc.Int32FromInt32(m_sz_xTrapezoid)>>libc.Int32FromInt32(2))
  10439. }
  10440. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  10441. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  10442. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) - int32(1))
  10443. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength = uint16(0)
  10444. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  10445. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  10446. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  10447. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10448. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  10449. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10450. } else {
  10451. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  10452. }
  10453. } else {
  10454. len1 = len1
  10455. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) + len1)
  10456. }
  10457. } else {
  10458. (*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderTrapezoidsReq)(unsafe.Pointer(req)).Flength) + len1)
  10459. }
  10460. len1 <<= int32(2)
  10461. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10462. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, traps, libc.Uint32FromInt32(len1))
  10463. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(len1+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10464. } else {
  10465. libx11.X_XSend(tls, dpy, traps, len1)
  10466. }
  10467. ntrap -= n
  10468. traps += uintptr(n) * 40
  10469. }
  10470. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  10471. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  10472. }
  10473. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  10474. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  10475. }
  10476. }
  10477. /*
  10478. * Xlib uses long for 32-bit values. Xrender uses int. This
  10479. * matters on alpha. Note that this macro assumes that int is 32 bits
  10480. * except on WORD64 machines where it is 64 bits.
  10481. */
  10482. func XXRenderCompositeTriangles(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, xSrc int32, ySrc int32, triangles uintptr, ntriangle int32) {
  10483. bp := tls.Alloc(16)
  10484. defer tls.Free(16)
  10485. var _BRlen TCARD32
  10486. var info, req uintptr
  10487. var len1, n int32
  10488. var v1 uint32
  10489. var _ /* _BRdat at bp+0 */ TCARD32
  10490. _, _, _, _, _, _ = _BRlen, info, len1, n, req, v1
  10491. info = XXRenderFindDisplay(tls, dpy)
  10492. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  10493. return
  10494. }
  10495. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  10496. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  10497. }
  10498. for ntriangle != 0 {
  10499. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderTriangles), uint32(m_sz_xRenderTrianglesReq))
  10500. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  10501. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderTriangles)
  10502. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  10503. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).Fsrc = src
  10504. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).Fdst = dst
  10505. if maskFormat != 0 {
  10506. v1 = (*TXRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
  10507. } else {
  10508. v1 = uint32(0)
  10509. }
  10510. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).FmaskFormat = v1
  10511. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).FxSrc = int16(xSrc)
  10512. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).FySrc = int16(ySrc)
  10513. n = ntriangle
  10514. len1 = n * int32(libc.Int32FromInt32(m_sz_xTriangle)>>libc.Int32FromInt32(2))
  10515. if !((*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0) && libc.Uint32FromInt32(len1) > (*TDisplay)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*TxRenderTrianglesReq)(unsafe.Pointer(req)).Flength) {
  10516. n = libc.Int32FromUint32(((*TDisplay)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*TxRenderTrianglesReq)(unsafe.Pointer(req)).Flength)) / libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xTriangle)>>libc.Int32FromInt32(2)))
  10517. len1 = n * int32(libc.Int32FromInt32(m_sz_xTriangle)>>libc.Int32FromInt32(2))
  10518. }
  10519. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderTrianglesReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  10520. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  10521. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderTrianglesReq)(unsafe.Pointer(req)).Flength) - int32(1))
  10522. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).Flength = uint16(0)
  10523. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  10524. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  10525. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  10526. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10527. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  10528. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10529. } else {
  10530. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  10531. }
  10532. } else {
  10533. len1 = len1
  10534. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderTrianglesReq)(unsafe.Pointer(req)).Flength) + len1)
  10535. }
  10536. } else {
  10537. (*TxRenderTrianglesReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderTrianglesReq)(unsafe.Pointer(req)).Flength) + len1)
  10538. }
  10539. len1 <<= int32(2)
  10540. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10541. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, triangles, libc.Uint32FromInt32(len1))
  10542. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(len1+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10543. } else {
  10544. libx11.X_XSend(tls, dpy, triangles, len1)
  10545. }
  10546. ntriangle -= n
  10547. triangles += uintptr(n) * 24
  10548. }
  10549. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  10550. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  10551. }
  10552. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  10553. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  10554. }
  10555. }
  10556. func XXRenderCompositeTriStrip(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, xSrc int32, ySrc int32, points uintptr, npoint int32) {
  10557. bp := tls.Alloc(16)
  10558. defer tls.Free(16)
  10559. var _BRlen TCARD32
  10560. var info, req uintptr
  10561. var len1, n int32
  10562. var v1 uint32
  10563. var _ /* _BRdat at bp+0 */ TCARD32
  10564. _, _, _, _, _, _ = _BRlen, info, len1, n, req, v1
  10565. info = XXRenderFindDisplay(tls, dpy)
  10566. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  10567. return
  10568. }
  10569. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  10570. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  10571. }
  10572. for npoint > int32(2) {
  10573. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderTriStrip), uint32(m_sz_xRenderTriStripReq))
  10574. (*TxRenderTriStripReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  10575. (*TxRenderTriStripReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderTriStrip)
  10576. (*TxRenderTriStripReq)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  10577. (*TxRenderTriStripReq)(unsafe.Pointer(req)).Fsrc = src
  10578. (*TxRenderTriStripReq)(unsafe.Pointer(req)).Fdst = dst
  10579. if maskFormat != 0 {
  10580. v1 = (*TXRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
  10581. } else {
  10582. v1 = uint32(0)
  10583. }
  10584. (*TxRenderTriStripReq)(unsafe.Pointer(req)).FmaskFormat = v1
  10585. (*TxRenderTriStripReq)(unsafe.Pointer(req)).FxSrc = int16(xSrc)
  10586. (*TxRenderTriStripReq)(unsafe.Pointer(req)).FySrc = int16(ySrc)
  10587. n = npoint
  10588. len1 = n * int32(libc.Int32FromInt32(m_sz_xPointFixed)>>libc.Int32FromInt32(2))
  10589. if !((*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0) && libc.Uint32FromInt32(len1) > (*TDisplay)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*TxRenderTriStripReq)(unsafe.Pointer(req)).Flength) {
  10590. n = libc.Int32FromUint32(((*TDisplay)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*TxRenderTriStripReq)(unsafe.Pointer(req)).Flength)) / libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xPointFixed)>>libc.Int32FromInt32(2)))
  10591. len1 = n * int32(libc.Int32FromInt32(m_sz_xPointFixed)>>libc.Int32FromInt32(2))
  10592. }
  10593. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderTriStripReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  10594. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  10595. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderTriStripReq)(unsafe.Pointer(req)).Flength) - int32(1))
  10596. (*TxRenderTriStripReq)(unsafe.Pointer(req)).Flength = uint16(0)
  10597. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  10598. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  10599. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  10600. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10601. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  10602. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10603. } else {
  10604. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  10605. }
  10606. } else {
  10607. len1 = len1
  10608. (*TxRenderTriStripReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderTriStripReq)(unsafe.Pointer(req)).Flength) + len1)
  10609. }
  10610. } else {
  10611. (*TxRenderTriStripReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderTriStripReq)(unsafe.Pointer(req)).Flength) + len1)
  10612. }
  10613. len1 <<= int32(2)
  10614. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10615. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, points, libc.Uint32FromInt32(len1))
  10616. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(len1+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10617. } else {
  10618. libx11.X_XSend(tls, dpy, points, len1)
  10619. }
  10620. npoint -= n - int32(2)
  10621. points += uintptr(n-libc.Int32FromInt32(2)) * 8
  10622. }
  10623. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  10624. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  10625. }
  10626. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  10627. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  10628. }
  10629. }
  10630. func XXRenderCompositeTriFan(tls *libc.TLS, dpy uintptr, op int32, src TPicture, dst TPicture, maskFormat uintptr, xSrc int32, ySrc int32, points uintptr, npoint int32) {
  10631. bp := tls.Alloc(16)
  10632. defer tls.Free(16)
  10633. var _BRlen TCARD32
  10634. var first, info, p, req uintptr
  10635. var len1, n int32
  10636. var v1 uint32
  10637. var _ /* _BRdat at bp+0 */ TCARD32
  10638. _, _, _, _, _, _, _, _ = _BRlen, first, info, len1, n, p, req, v1
  10639. info = XXRenderFindDisplay(tls, dpy)
  10640. first = points
  10641. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  10642. return
  10643. }
  10644. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  10645. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  10646. }
  10647. points += 8
  10648. npoint--
  10649. for npoint > int32(1) {
  10650. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderTriFan), libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xRenderTriFanReq)+libc.Int32FromInt32(m_sz_xPointFixed)))
  10651. (*TxRenderTriFanReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  10652. (*TxRenderTriFanReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderTriFan)
  10653. (*TxRenderTriFanReq)(unsafe.Pointer(req)).Fop = libc.Uint8FromInt32(op)
  10654. (*TxRenderTriFanReq)(unsafe.Pointer(req)).Fsrc = src
  10655. (*TxRenderTriFanReq)(unsafe.Pointer(req)).Fdst = dst
  10656. if maskFormat != 0 {
  10657. v1 = (*TXRenderPictFormat)(unsafe.Pointer(maskFormat)).Fid
  10658. } else {
  10659. v1 = uint32(0)
  10660. }
  10661. (*TxRenderTriFanReq)(unsafe.Pointer(req)).FmaskFormat = v1
  10662. (*TxRenderTriFanReq)(unsafe.Pointer(req)).FxSrc = int16(xSrc)
  10663. (*TxRenderTriFanReq)(unsafe.Pointer(req)).FySrc = int16(ySrc)
  10664. p = req + libc.UintptrFromInt32(1)*24
  10665. (*TxPointFixed)(unsafe.Pointer(p)).Fx = (*TXPointFixed)(unsafe.Pointer(first)).Fx
  10666. (*TxPointFixed)(unsafe.Pointer(p)).Fy = (*TXPointFixed)(unsafe.Pointer(first)).Fy
  10667. n = npoint
  10668. len1 = n * int32(libc.Int32FromInt32(m_sz_xPointFixed)>>libc.Int32FromInt32(2))
  10669. if !((*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0) && libc.Uint32FromInt32(len1) > (*TDisplay)(unsafe.Pointer(dpy)).Fmax_request_size-uint32((*TxRenderTriFanReq)(unsafe.Pointer(req)).Flength) {
  10670. n = libc.Int32FromUint32(((*TDisplay)(unsafe.Pointer(dpy)).Fmax_request_size - uint32((*TxRenderTriFanReq)(unsafe.Pointer(req)).Flength)) / libc.Uint32FromInt32(libc.Int32FromInt32(m_sz_xPointFixed)>>libc.Int32FromInt32(2)))
  10671. len1 = n * int32(libc.Int32FromInt32(m_sz_xPointFixed)>>libc.Int32FromInt32(2))
  10672. }
  10673. if libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderTriFanReq)(unsafe.Pointer(req)).Flength)+len1) > uint32(libc.Uint32FromInt32(65535)) {
  10674. if (*TDisplay)(unsafe.Pointer(dpy)).Fbigreq_size != 0 {
  10675. _BRlen = libc.Uint32FromInt32(libc.Int32FromUint16((*TxRenderTriFanReq)(unsafe.Pointer(req)).Flength) - int32(1))
  10676. (*TxRenderTriFanReq)(unsafe.Pointer(req)).Flength = uint16(0)
  10677. *(*TCARD32)(unsafe.Pointer(bp)) = *(*TCARD32)(unsafe.Pointer(req + uintptr(_BRlen)*4))
  10678. libc.Xmemmove(tls, req+uintptr(8), req+uintptr(4), (_BRlen-uint32(1))<<int32(2))
  10679. *(*TCARD32)(unsafe.Pointer(req + 1*4)) = _BRlen + libc.Uint32FromInt32(len1) + uint32(2)
  10680. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(int32(libc.Int32FromInt32(4))) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10681. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, bp, libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))))
  10682. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(int32(libc.Int32FromInt32(4))+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10683. } else {
  10684. libx11.X_XSend(tls, dpy, bp, int32(libc.Int32FromInt32(4)))
  10685. }
  10686. } else {
  10687. len1 = len1
  10688. (*TxRenderTriFanReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderTriFanReq)(unsafe.Pointer(req)).Flength) + len1)
  10689. }
  10690. } else {
  10691. (*TxRenderTriFanReq)(unsafe.Pointer(req)).Flength = libc.Uint16FromInt32(libc.Int32FromUint16((*TxRenderTriFanReq)(unsafe.Pointer(req)).Flength) + len1)
  10692. }
  10693. len1 <<= int32(2)
  10694. if (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr+uintptr(len1) <= (*TDisplay)(unsafe.Pointer(dpy)).Fbufmax {
  10695. libc.Xmemcpy(tls, (*TDisplay)(unsafe.Pointer(dpy)).Fbufptr, points, libc.Uint32FromInt32(len1))
  10696. *(*uintptr)(unsafe.Pointer(dpy + 108)) += uintptr(libc.Uint32FromInt32(len1+libc.Int32FromInt32(3)) & libc.Uint32FromInt32(^libc.Int32FromInt32(3)))
  10697. } else {
  10698. libx11.X_XSend(tls, dpy, points, len1)
  10699. }
  10700. npoint -= n - int32(1)
  10701. points += uintptr(n-libc.Int32FromInt32(1)) * 8
  10702. }
  10703. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  10704. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  10705. }
  10706. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  10707. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  10708. }
  10709. }
  10710. // C documentation
  10711. //
  10712. // /*
  10713. // * XRenderExtFindDisplay - look for a display in this extension; keeps a
  10714. // * cache of the most-recently used for efficiency. (Replaces
  10715. // * XextFindDisplay.)
  10716. // */
  10717. func _XRenderExtFindDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) (r uintptr) {
  10718. var dpyinfo, v1 uintptr
  10719. _, _ = dpyinfo, v1
  10720. /*
  10721. * see if this was the most recently accessed display
  10722. */
  10723. v1 = (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur
  10724. dpyinfo = v1
  10725. if v1 != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy {
  10726. return dpyinfo
  10727. }
  10728. /*
  10729. * look for display in list
  10730. */
  10731. if libx11.X_XLockMutex_fn != 0 {
  10732. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XLockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  10733. }
  10734. dpyinfo = (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead
  10735. for {
  10736. if !(dpyinfo != 0) {
  10737. break
  10738. }
  10739. if (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy {
  10740. (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo /* cache most recently used */
  10741. if libx11.X_XUnlockMutex_fn != 0 {
  10742. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XUnlockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  10743. }
  10744. return dpyinfo
  10745. }
  10746. goto _2
  10747. _2:
  10748. ;
  10749. dpyinfo = (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext
  10750. }
  10751. if libx11.X_XUnlockMutex_fn != 0 {
  10752. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XUnlockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  10753. }
  10754. return libc.UintptrFromInt32(0)
  10755. }
  10756. /*
  10757. * If the server is missing support for any of the required depths on
  10758. * any screen, tell the application that Render is not present.
  10759. */
  10760. /*
  10761. * Render requires support for depth 1, 4, 8, 24 and 32 pixmaps
  10762. */
  10763. type TDepthCheckRec = struct {
  10764. Fnext uintptr
  10765. Fdpy uintptr
  10766. Fmissing TCARD32
  10767. Fserial uint32
  10768. }
  10769. /*
  10770. * If the server is missing support for any of the required depths on
  10771. * any screen, tell the application that Render is not present.
  10772. */
  10773. /*
  10774. * Render requires support for depth 1, 4, 8, 24 and 32 pixmaps
  10775. */
  10776. type T_DepthCheckRec = TDepthCheckRec
  10777. type TDepthCheckPtr = uintptr
  10778. var _depthChecks TDepthCheckPtr
  10779. func _XRenderDepthCheckErrorHandler(tls *libc.TLS, dpy uintptr, evt uintptr) (r int32) {
  10780. var d TDepthCheckPtr
  10781. _ = d
  10782. if libc.Int32FromUint8((*TXErrorEvent)(unsafe.Pointer(evt)).Frequest_code) == int32(m_X_CreatePixmap) && libc.Int32FromUint8((*TXErrorEvent)(unsafe.Pointer(evt)).Ferror_code) == int32(m_BadValue) {
  10783. if libx11.X_XLockMutex_fn != 0 {
  10784. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XLockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  10785. }
  10786. d = _depthChecks
  10787. for {
  10788. if !(d != 0) {
  10789. break
  10790. }
  10791. if (*T_DepthCheckRec)(unsafe.Pointer(d)).Fdpy == dpy {
  10792. if libc.Int32FromUint32((*TXErrorEvent)(unsafe.Pointer(evt)).Fserial-(*T_DepthCheckRec)(unsafe.Pointer(d)).Fserial) >= 0 {
  10793. *(*TCARD32)(unsafe.Pointer(d + 8)) |= uint32(libc.Uint32FromUint32(1) << ((*TXErrorEvent)(unsafe.Pointer(evt)).Fresourceid - libc.Uint32FromInt32(1)))
  10794. }
  10795. break
  10796. }
  10797. goto _1
  10798. _1:
  10799. ;
  10800. d = (*T_DepthCheckRec)(unsafe.Pointer(d)).Fnext
  10801. }
  10802. if libx11.X_XUnlockMutex_fn != 0 {
  10803. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XUnlockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  10804. }
  10805. }
  10806. return 0
  10807. }
  10808. func _XRenderHasDepths(tls *libc.TLS, dpy uintptr) (r int32) {
  10809. bp := tls.Alloc(16)
  10810. defer tls.Free(16)
  10811. var d, s int32
  10812. var depths, missing TCARD32
  10813. var dp, scr uintptr
  10814. var p TPixmap
  10815. var previousHandler TXErrorHandler
  10816. var _ /* dc at bp+0 */ TDepthCheckRec
  10817. _, _, _, _, _, _, _, _ = d, depths, dp, missing, p, previousHandler, s, scr
  10818. s = 0
  10819. for {
  10820. if !(s < (*struct {
  10821. Fext_data uintptr
  10822. Fprivate1 uintptr
  10823. Ffd int32
  10824. Fprivate2 int32
  10825. Fproto_major_version int32
  10826. Fproto_minor_version int32
  10827. Fvendor uintptr
  10828. Fprivate3 TXID
  10829. Fprivate4 TXID
  10830. Fprivate5 TXID
  10831. Fprivate6 int32
  10832. Fresource_alloc uintptr
  10833. Fbyte_order int32
  10834. Fbitmap_unit int32
  10835. Fbitmap_pad int32
  10836. Fbitmap_bit_order int32
  10837. Fnformats int32
  10838. Fpixmap_format uintptr
  10839. Fprivate8 int32
  10840. Frelease int32
  10841. Fprivate9 uintptr
  10842. Fprivate10 uintptr
  10843. Fqlen int32
  10844. Flast_request_read uint32
  10845. Frequest uint32
  10846. Fprivate11 TXPointer
  10847. Fprivate12 TXPointer
  10848. Fprivate13 TXPointer
  10849. Fprivate14 TXPointer
  10850. Fmax_request_size uint32
  10851. Fdb uintptr
  10852. Fprivate15 uintptr
  10853. Fdisplay_name uintptr
  10854. Fdefault_screen int32
  10855. Fnscreens int32
  10856. Fscreens uintptr
  10857. Fmotion_buffer uint32
  10858. Fprivate16 uint32
  10859. Fmin_keycode int32
  10860. Fmax_keycode int32
  10861. Fprivate17 TXPointer
  10862. Fprivate18 TXPointer
  10863. Fprivate19 int32
  10864. Fxdefaults uintptr
  10865. })(unsafe.Pointer(dpy)).Fnscreens) {
  10866. break
  10867. }
  10868. depths = uint32(0)
  10869. scr = (*struct {
  10870. Fext_data uintptr
  10871. Fprivate1 uintptr
  10872. Ffd int32
  10873. Fprivate2 int32
  10874. Fproto_major_version int32
  10875. Fproto_minor_version int32
  10876. Fvendor uintptr
  10877. Fprivate3 TXID
  10878. Fprivate4 TXID
  10879. Fprivate5 TXID
  10880. Fprivate6 int32
  10881. Fresource_alloc uintptr
  10882. Fbyte_order int32
  10883. Fbitmap_unit int32
  10884. Fbitmap_pad int32
  10885. Fbitmap_bit_order int32
  10886. Fnformats int32
  10887. Fpixmap_format uintptr
  10888. Fprivate8 int32
  10889. Frelease int32
  10890. Fprivate9 uintptr
  10891. Fprivate10 uintptr
  10892. Fqlen int32
  10893. Flast_request_read uint32
  10894. Frequest uint32
  10895. Fprivate11 TXPointer
  10896. Fprivate12 TXPointer
  10897. Fprivate13 TXPointer
  10898. Fprivate14 TXPointer
  10899. Fmax_request_size uint32
  10900. Fdb uintptr
  10901. Fprivate15 uintptr
  10902. Fdisplay_name uintptr
  10903. Fdefault_screen int32
  10904. Fnscreens int32
  10905. Fscreens uintptr
  10906. Fmotion_buffer uint32
  10907. Fprivate16 uint32
  10908. Fmin_keycode int32
  10909. Fmax_keycode int32
  10910. Fprivate17 TXPointer
  10911. Fprivate18 TXPointer
  10912. Fprivate19 int32
  10913. Fxdefaults uintptr
  10914. })(unsafe.Pointer(dpy)).Fscreens + uintptr(s)*80
  10915. d = 0
  10916. for {
  10917. if !(d < (*TScreen)(unsafe.Pointer(scr)).Fndepths) {
  10918. break
  10919. }
  10920. depths |= uint32(libc.Uint32FromUint32(1) << ((*(*TDepth)(unsafe.Pointer((*TScreen)(unsafe.Pointer(scr)).Fdepths + uintptr(d)*12))).Fdepth - libc.Int32FromInt32(1)))
  10921. goto _2
  10922. _2:
  10923. ;
  10924. d++
  10925. }
  10926. missing = ^depths & uint32(libc.Uint32FromUint32(1)<<(libc.Int32FromInt32(1)-libc.Int32FromInt32(1))|libc.Uint32FromUint32(1)<<(libc.Int32FromInt32(4)-libc.Int32FromInt32(1))|libc.Uint32FromUint32(1)<<(libc.Int32FromInt32(8)-libc.Int32FromInt32(1))|libc.Uint32FromUint32(1)<<(libc.Int32FromInt32(24)-libc.Int32FromInt32(1))|libc.Uint32FromUint32(1)<<(libc.Int32FromInt32(32)-libc.Int32FromInt32(1)))
  10927. if missing != 0 {
  10928. /*
  10929. * Ok, this is ugly. It should be sufficient at this
  10930. * point to just return False, but Xinerama is broken at
  10931. * this point and only advertises depths which have an
  10932. * associated visual. Of course, the other depths still
  10933. * work, but the only way to find out is to try them.
  10934. */
  10935. (*(*TDepthCheckRec)(unsafe.Pointer(bp))).Fdpy = dpy
  10936. (*(*TDepthCheckRec)(unsafe.Pointer(bp))).Fmissing = uint32(0)
  10937. (*(*TDepthCheckRec)(unsafe.Pointer(bp))).Fserial = libx11.XXNextRequest(tls, dpy)
  10938. if libx11.X_XLockMutex_fn != 0 {
  10939. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XLockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  10940. }
  10941. (*(*TDepthCheckRec)(unsafe.Pointer(bp))).Fnext = _depthChecks
  10942. _depthChecks = bp
  10943. if libx11.X_XUnlockMutex_fn != 0 {
  10944. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XUnlockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  10945. }
  10946. /*
  10947. * I suspect this is not really thread safe, but Xlib doesn't
  10948. * provide a lot of options here
  10949. */
  10950. previousHandler = libx11.XXSetErrorHandler(tls, __ccgo_fp(_XRenderDepthCheckErrorHandler))
  10951. /*
  10952. * Try each missing depth and see if pixmap creation succeeds
  10953. */
  10954. d = int32(1)
  10955. for {
  10956. if !(d <= int32(32)) {
  10957. break
  10958. }
  10959. /* don't check depth 1 == Xcursor recurses... */
  10960. if missing&uint32(libc.Uint32FromUint32(1)<<(d-libc.Int32FromInt32(1))) != 0 && d != int32(1) {
  10961. p = libx11.XXCreatePixmap(tls, dpy, (*TScreen)(unsafe.Pointer((*struct {
  10962. Fext_data uintptr
  10963. Fprivate1 uintptr
  10964. Ffd int32
  10965. Fprivate2 int32
  10966. Fproto_major_version int32
  10967. Fproto_minor_version int32
  10968. Fvendor uintptr
  10969. Fprivate3 TXID
  10970. Fprivate4 TXID
  10971. Fprivate5 TXID
  10972. Fprivate6 int32
  10973. Fresource_alloc uintptr
  10974. Fbyte_order int32
  10975. Fbitmap_unit int32
  10976. Fbitmap_pad int32
  10977. Fbitmap_bit_order int32
  10978. Fnformats int32
  10979. Fpixmap_format uintptr
  10980. Fprivate8 int32
  10981. Frelease int32
  10982. Fprivate9 uintptr
  10983. Fprivate10 uintptr
  10984. Fqlen int32
  10985. Flast_request_read uint32
  10986. Frequest uint32
  10987. Fprivate11 TXPointer
  10988. Fprivate12 TXPointer
  10989. Fprivate13 TXPointer
  10990. Fprivate14 TXPointer
  10991. Fmax_request_size uint32
  10992. Fdb uintptr
  10993. Fprivate15 uintptr
  10994. Fdisplay_name uintptr
  10995. Fdefault_screen int32
  10996. Fnscreens int32
  10997. Fscreens uintptr
  10998. Fmotion_buffer uint32
  10999. Fprivate16 uint32
  11000. Fmin_keycode int32
  11001. Fmax_keycode int32
  11002. Fprivate17 TXPointer
  11003. Fprivate18 TXPointer
  11004. Fprivate19 int32
  11005. Fxdefaults uintptr
  11006. })(unsafe.Pointer(dpy)).Fscreens+uintptr(s)*80)).Froot, uint32(1), uint32(1), libc.Uint32FromInt32(d))
  11007. libx11.XXFreePixmap(tls, dpy, p)
  11008. }
  11009. goto _3
  11010. _3:
  11011. ;
  11012. d++
  11013. }
  11014. libx11.XXSync(tls, dpy, m_False)
  11015. libx11.XXSetErrorHandler(tls, previousHandler)
  11016. /*
  11017. * Unhook from the list of depth check records
  11018. */
  11019. if libx11.X_XLockMutex_fn != 0 {
  11020. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XLockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  11021. }
  11022. dp = uintptr(unsafe.Pointer(&_depthChecks))
  11023. for {
  11024. if !(*(*uintptr)(unsafe.Pointer(dp)) != 0) {
  11025. break
  11026. }
  11027. if *(*uintptr)(unsafe.Pointer(dp)) == bp {
  11028. *(*uintptr)(unsafe.Pointer(dp)) = (*(*TDepthCheckRec)(unsafe.Pointer(bp))).Fnext
  11029. break
  11030. }
  11031. goto _4
  11032. _4:
  11033. ;
  11034. dp = *(*uintptr)(unsafe.Pointer(dp))
  11035. }
  11036. if libx11.X_XUnlockMutex_fn != 0 {
  11037. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XUnlockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  11038. }
  11039. if (*(*TDepthCheckRec)(unsafe.Pointer(bp))).Fmissing != 0 {
  11040. return m_False
  11041. }
  11042. }
  11043. goto _1
  11044. _1:
  11045. ;
  11046. s++
  11047. }
  11048. return int32(m_True)
  11049. }
  11050. // C documentation
  11051. //
  11052. // /*
  11053. // * XRenderExtAddDisplay - add a display to this extension. (Replaces
  11054. // * XextAddDisplay)
  11055. // */
  11056. func _XRenderExtAddDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr, ext_name uintptr) (r uintptr) {
  11057. var codes, dpyinfo uintptr
  11058. _, _ = codes, dpyinfo
  11059. dpyinfo = libc.Xmalloc(tls, libc.Uint32FromInt64(16))
  11060. if !(dpyinfo != 0) {
  11061. return libc.UintptrFromInt32(0)
  11062. }
  11063. (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay = dpy
  11064. (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Finfo = libc.UintptrFromInt32(0)
  11065. if _XRenderHasDepths(tls, dpy) != 0 {
  11066. (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = libx11.XXInitExtension(tls, dpy, ext_name)
  11067. } else {
  11068. (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes = libc.UintptrFromInt32(0)
  11069. }
  11070. /*
  11071. * if the server has the extension, then we can initialize the
  11072. * appropriate function vectors
  11073. */
  11074. if (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes != 0 {
  11075. libx11.XXESetCloseDisplay(tls, dpy, (*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fcodes)).Fextension, __ccgo_fp(_XRenderCloseDisplay))
  11076. } else {
  11077. /* The server doesn't have this extension.
  11078. * Use a private Xlib-internal extension to hang the close_display
  11079. * hook on so that the "cache" (extinfo->cur) is properly cleaned.
  11080. * (XBUG 7955)
  11081. */
  11082. codes = libx11.XXAddExtension(tls, dpy)
  11083. if !(codes != 0) {
  11084. libx11.XXFree(tls, dpyinfo)
  11085. return libc.UintptrFromInt32(0)
  11086. }
  11087. libx11.XXESetCloseDisplay(tls, dpy, (*TXExtCodes)(unsafe.Pointer(codes)).Fextension, __ccgo_fp(_XRenderCloseDisplay))
  11088. }
  11089. /*
  11090. * now, chain it onto the list
  11091. */
  11092. if libx11.X_XLockMutex_fn != 0 {
  11093. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XLockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  11094. }
  11095. (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext = (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead
  11096. (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = dpyinfo
  11097. (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = dpyinfo
  11098. (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays++
  11099. if libx11.X_XUnlockMutex_fn != 0 {
  11100. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XUnlockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  11101. }
  11102. return dpyinfo
  11103. }
  11104. // C documentation
  11105. //
  11106. // /*
  11107. // * XRenderExtRemoveDisplay - remove the indicated display from the
  11108. // * extension object. (Replaces XextRemoveDisplay.)
  11109. // */
  11110. func _XRenderExtRemoveDisplay(tls *libc.TLS, extinfo uintptr, dpy uintptr) (r int32) {
  11111. var dpyinfo, prev uintptr
  11112. _, _ = dpyinfo, prev
  11113. /*
  11114. * locate this display and its back link so that it can be removed
  11115. */
  11116. if libx11.X_XLockMutex_fn != 0 {
  11117. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XLockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  11118. }
  11119. prev = libc.UintptrFromInt32(0)
  11120. dpyinfo = (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead
  11121. for {
  11122. if !(dpyinfo != 0) {
  11123. break
  11124. }
  11125. if (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fdisplay == dpy {
  11126. break
  11127. }
  11128. prev = dpyinfo
  11129. goto _1
  11130. _1:
  11131. ;
  11132. dpyinfo = (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext
  11133. }
  11134. if !(dpyinfo != 0) {
  11135. if libx11.X_XUnlockMutex_fn != 0 {
  11136. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XUnlockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  11137. }
  11138. return 0 /* hmm, actually an error */
  11139. }
  11140. /*
  11141. * remove the display from the list; handles going to zero
  11142. */
  11143. if prev != 0 {
  11144. (*TXRenderExtDisplayInfo)(unsafe.Pointer(prev)).Fnext = (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext
  11145. } else {
  11146. (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fhead = (*TXRenderExtDisplayInfo)(unsafe.Pointer(dpyinfo)).Fnext
  11147. }
  11148. (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fndisplays--
  11149. if dpyinfo == (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur {
  11150. (*TXRenderExtInfo)(unsafe.Pointer(extinfo)).Fcur = libc.UintptrFromInt32(0)
  11151. } /* flush cache */
  11152. if libx11.X_XUnlockMutex_fn != 0 {
  11153. (*(*func(*libc.TLS, TLockInfoPtr))(unsafe.Pointer(&struct{ uintptr }{libx11.X_XUnlockMutex_fn})))(tls, libx11.X_Xglobal_lock)
  11154. }
  11155. libc.Xfree(tls, dpyinfo)
  11156. return int32(1)
  11157. }
  11158. func XXRenderFindDisplay(tls *libc.TLS, dpy uintptr) (r uintptr) {
  11159. var dpyinfo uintptr
  11160. _ = dpyinfo
  11161. dpyinfo = _XRenderExtFindDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy)
  11162. if !(dpyinfo != 0) {
  11163. dpyinfo = _XRenderExtAddDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy, uintptr(unsafe.Pointer(&XXRenderExtensionName)))
  11164. }
  11165. return dpyinfo
  11166. }
  11167. func _XRenderCloseDisplay(tls *libc.TLS, dpy uintptr, codes uintptr) (r int32) {
  11168. var info uintptr
  11169. _ = info
  11170. info = XXRenderFindDisplay(tls, dpy)
  11171. if info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 {
  11172. libx11.XXFree(tls, (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo)
  11173. }
  11174. return _XRenderExtRemoveDisplay(tls, uintptr(unsafe.Pointer(&XXRenderExtensionInfo)), dpy)
  11175. }
  11176. /****************************************************************************
  11177. * *
  11178. * Render public interfaces *
  11179. * *
  11180. ****************************************************************************/
  11181. func XXRenderQueryExtension(tls *libc.TLS, dpy uintptr, event_basep uintptr, error_basep uintptr) (r int32) {
  11182. var info uintptr
  11183. _ = info
  11184. info = XXRenderFindDisplay(tls, dpy)
  11185. if info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0 {
  11186. *(*int32)(unsafe.Pointer(event_basep)) = (*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_event
  11187. *(*int32)(unsafe.Pointer(error_basep)) = (*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Ffirst_error
  11188. return int32(m_True)
  11189. } else {
  11190. return m_False
  11191. }
  11192. return r
  11193. }
  11194. func XXRenderQueryVersion(tls *libc.TLS, dpy uintptr, major_versionp uintptr, minor_versionp uintptr) (r int32) {
  11195. var info, xri uintptr
  11196. _, _ = info, xri
  11197. info = XXRenderFindDisplay(tls, dpy)
  11198. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  11199. return 0
  11200. }
  11201. if !(XXRenderQueryFormats(tls, dpy) != 0) {
  11202. return 0
  11203. }
  11204. xri = (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
  11205. *(*int32)(unsafe.Pointer(major_versionp)) = (*TXRenderInfo)(unsafe.Pointer(xri)).Fmajor_version
  11206. *(*int32)(unsafe.Pointer(minor_versionp)) = (*TXRenderInfo)(unsafe.Pointer(xri)).Fminor_version
  11207. return int32(1)
  11208. }
  11209. func __XRenderFindFormat(tls *libc.TLS, xri uintptr, format TPictFormat) (r uintptr) {
  11210. var nf int32
  11211. _ = nf
  11212. nf = 0
  11213. for {
  11214. if !(nf < (*TXRenderInfo)(unsafe.Pointer(xri)).Fnformat) {
  11215. break
  11216. }
  11217. if (*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fid == format {
  11218. return (*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32
  11219. }
  11220. goto _1
  11221. _1:
  11222. ;
  11223. nf++
  11224. }
  11225. return libc.UintptrFromInt32(0)
  11226. }
  11227. func __XRenderFindVisual(tls *libc.TLS, dpy uintptr, vid TVisualID) (r uintptr) {
  11228. return libx11.X_XVIDtoVisual(tls, dpy, vid)
  11229. }
  11230. type T_XrenderVersionState = struct {
  11231. Fversion_seq uint32
  11232. Ferror1 int32
  11233. Fmajor_version int32
  11234. Fminor_version int32
  11235. }
  11236. type T_renderVersionState = T_XrenderVersionState
  11237. func __XRenderVersionHandler(tls *libc.TLS, dpy uintptr, rep uintptr, buf uintptr, len1 int32, data TXPointer) (r int32) {
  11238. bp := tls.Alloc(32)
  11239. defer tls.Free(32)
  11240. var repl, state uintptr
  11241. var _ /* replbuf at bp+0 */ TxRenderQueryVersionReply
  11242. _, _ = repl, state
  11243. state = data
  11244. if (*TDisplay)(unsafe.Pointer(dpy)).Flast_request_read != (*T_XrenderVersionState)(unsafe.Pointer(state)).Fversion_seq {
  11245. return m_False
  11246. }
  11247. if libc.Int32FromUint8((*TxReply)(unsafe.Pointer(rep)).Fgeneric.Ftype1) == m_X_Error {
  11248. (*T_XrenderVersionState)(unsafe.Pointer(state)).Ferror1 = int32(m_True)
  11249. return m_False
  11250. }
  11251. repl = libx11.X_XGetAsyncReply(tls, dpy, bp, rep, buf, len1, (libc.Int32FromInt32(m_sz_xRenderQueryVersionReply)-libc.Int32FromInt32(m_sz_xReply))>>libc.Int32FromInt32(2), int32(m_True))
  11252. (*T_XrenderVersionState)(unsafe.Pointer(state)).Fmajor_version = libc.Int32FromUint32((*TxRenderQueryVersionReply)(unsafe.Pointer(repl)).FmajorVersion)
  11253. (*T_XrenderVersionState)(unsafe.Pointer(state)).Fminor_version = libc.Int32FromUint32((*TxRenderQueryVersionReply)(unsafe.Pointer(repl)).FminorVersion)
  11254. return int32(m_True)
  11255. }
  11256. func XXRenderQueryFormats(tls *libc.TLS, dpy uintptr) (r int32) {
  11257. bp := tls.Alloc(64)
  11258. defer tls.Free(64)
  11259. var depth, format, info, req, screen, visual, vreq, xData, xDepth, xFormat, xScreen, xSubpixel, xVisual, xri uintptr
  11260. var nbytes, rlength, v1, v2, v3 uint32
  11261. var nd, nf, ns, nv int32
  11262. var _ /* async at bp+0 */ T_XAsyncHandler
  11263. var _ /* async_state at bp+12 */ T_XrenderVersionState
  11264. var _ /* rep at bp+28 */ TxRenderQueryPictFormatsReply
  11265. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = depth, format, info, nbytes, nd, nf, ns, nv, req, rlength, screen, visual, vreq, xData, xDepth, xFormat, xScreen, xSubpixel, xVisual, xri, v1, v2, v3
  11266. info = XXRenderFindDisplay(tls, dpy)
  11267. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  11268. return 0
  11269. }
  11270. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11271. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  11272. }
  11273. if (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo != 0 {
  11274. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11275. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  11276. }
  11277. return int32(1)
  11278. }
  11279. vreq = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderQueryVersion), uint32(m_sz_xRenderQueryVersionReq))
  11280. (*TxRenderQueryVersionReq)(unsafe.Pointer(vreq)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  11281. (*TxRenderQueryVersionReq)(unsafe.Pointer(vreq)).FrenderReqType = uint8(m_X_RenderQueryVersion)
  11282. (*TxRenderQueryVersionReq)(unsafe.Pointer(vreq)).FmajorVersion = uint32(m_RENDER_MAJOR)
  11283. (*TxRenderQueryVersionReq)(unsafe.Pointer(vreq)).FminorVersion = uint32(m_RENDER_MINOR)
  11284. (*(*T_XrenderVersionState)(unsafe.Pointer(bp + 12))).Fversion_seq = (*TDisplay)(unsafe.Pointer(dpy)).Frequest
  11285. (*(*T_XrenderVersionState)(unsafe.Pointer(bp + 12))).Ferror1 = m_False
  11286. (*(*T_XAsyncHandler)(unsafe.Pointer(bp))).Fnext = (*TDisplay)(unsafe.Pointer(dpy)).Fasync_handlers
  11287. (*(*T_XAsyncHandler)(unsafe.Pointer(bp))).Fhandler = __ccgo_fp(__XRenderVersionHandler)
  11288. (*(*T_XAsyncHandler)(unsafe.Pointer(bp))).Fdata = bp + 12
  11289. (*TDisplay)(unsafe.Pointer(dpy)).Fasync_handlers = bp
  11290. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderQueryPictFormats), uint32(m_sz_xRenderQueryPictFormatsReq))
  11291. (*TxRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  11292. (*TxRenderQueryPictFormatsReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderQueryPictFormats)
  11293. if !(libx11.X_XReply(tls, dpy, bp+28, 0, m_xFalse) != 0) {
  11294. if (*TDisplay)(unsafe.Pointer(dpy)).Fasync_handlers == bp {
  11295. (*TDisplay)(unsafe.Pointer(dpy)).Fasync_handlers = (*T_XAsyncHandler)(unsafe.Pointer(bp)).Fnext
  11296. } else {
  11297. libx11.X_XDeqAsyncHandler(tls, dpy, bp)
  11298. }
  11299. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11300. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  11301. }
  11302. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  11303. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  11304. }
  11305. return 0
  11306. }
  11307. if (*TDisplay)(unsafe.Pointer(dpy)).Fasync_handlers == bp {
  11308. (*TDisplay)(unsafe.Pointer(dpy)).Fasync_handlers = (*T_XAsyncHandler)(unsafe.Pointer(bp)).Fnext
  11309. } else {
  11310. libx11.X_XDeqAsyncHandler(tls, dpy, bp)
  11311. }
  11312. if (*(*T_XrenderVersionState)(unsafe.Pointer(bp + 12))).Ferror1 != 0 {
  11313. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11314. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  11315. }
  11316. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  11317. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  11318. }
  11319. return 0
  11320. }
  11321. /*
  11322. * Check for the lack of sub-pixel data
  11323. */
  11324. if (*(*T_XrenderVersionState)(unsafe.Pointer(bp + 12))).Fmajor_version == 0 && (*(*T_XrenderVersionState)(unsafe.Pointer(bp + 12))).Fminor_version < int32(6) {
  11325. (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumSubpixel = uint32(0)
  11326. }
  11327. if (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumFormats < uint32(libc.Uint32FromInt32(libc.Int32FromInt32(m_INT_MAX)/libc.Int32FromInt32(4))/libc.Uint32FromInt64(32)) && (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumScreens < uint32(libc.Uint32FromInt32(libc.Int32FromInt32(m_INT_MAX)/libc.Int32FromInt32(4))/libc.Uint32FromInt64(16)) && (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumDepths < uint32(libc.Uint32FromInt32(libc.Int32FromInt32(m_INT_MAX)/libc.Int32FromInt32(4))/libc.Uint32FromInt64(12)) && (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumVisuals < uint32(libc.Uint32FromInt32(libc.Int32FromInt32(m_INT_MAX)/libc.Int32FromInt32(4))/libc.Uint32FromInt64(8)) && (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumSubpixel < libc.Uint32FromInt32(libc.Int32FromInt32(m_INT_MAX)/libc.Int32FromInt32(4)/libc.Int32FromInt32(4)) && (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).Flength < libc.Uint32FromInt32(libc.Int32FromInt32(m_INT_MAX)>>libc.Int32FromInt32(2)) {
  11328. if uint32(64)+(*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumFormats*uint32(32)+(*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumScreens*uint32(16)+(*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumDepths*uint32(12)+(*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumVisuals*uint32(8) == uint32(0) {
  11329. v1 = uint32(1)
  11330. } else {
  11331. v1 = uint32(64) + (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumFormats*uint32(32) + (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumScreens*uint32(16) + (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumDepths*uint32(12) + (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumVisuals*uint32(8)
  11332. }
  11333. xri = libc.Xmalloc(tls, v1)
  11334. rlength = (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumFormats*uint32(28) + (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumScreens*uint32(8) + (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumDepths*uint32(8) + (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumVisuals*uint32(8) + (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumSubpixel*uint32(4)
  11335. if rlength == uint32(0) {
  11336. v2 = uint32(1)
  11337. } else {
  11338. v2 = rlength
  11339. }
  11340. xData = libc.Xmalloc(tls, v2)
  11341. nbytes = (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).Flength << int32(2)
  11342. } else {
  11343. xri = libc.UintptrFromInt32(0)
  11344. xData = libc.UintptrFromInt32(0)
  11345. v3 = libc.Uint32FromInt32(0)
  11346. nbytes = v3
  11347. rlength = v3
  11348. }
  11349. if !(xri != 0) || !(xData != 0) || nbytes < rlength {
  11350. if xri != 0 {
  11351. libc.Xfree(tls, xri)
  11352. }
  11353. if xData != 0 {
  11354. libc.Xfree(tls, xData)
  11355. }
  11356. libx11.X_XEatDataWords(tls, dpy, (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).Flength)
  11357. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11358. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  11359. }
  11360. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  11361. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  11362. }
  11363. return 0
  11364. }
  11365. (*TXRenderInfo)(unsafe.Pointer(xri)).Fmajor_version = (*(*T_XrenderVersionState)(unsafe.Pointer(bp + 12))).Fmajor_version
  11366. (*TXRenderInfo)(unsafe.Pointer(xri)).Fminor_version = (*(*T_XrenderVersionState)(unsafe.Pointer(bp + 12))).Fminor_version
  11367. (*TXRenderInfo)(unsafe.Pointer(xri)).Fformat = xri + libc.UintptrFromInt32(1)*64
  11368. (*TXRenderInfo)(unsafe.Pointer(xri)).Fnformat = libc.Int32FromUint32((*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumFormats)
  11369. (*TXRenderInfo)(unsafe.Pointer(xri)).Fscreen = (*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr((*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumFormats)*32
  11370. (*TXRenderInfo)(unsafe.Pointer(xri)).Fnscreen = libc.Int32FromUint32((*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumScreens)
  11371. (*TXRenderInfo)(unsafe.Pointer(xri)).Fdepth = (*TXRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr((*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumScreens)*16
  11372. (*TXRenderInfo)(unsafe.Pointer(xri)).Fndepth = libc.Int32FromUint32((*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumDepths)
  11373. (*TXRenderInfo)(unsafe.Pointer(xri)).Fvisual = (*TXRenderInfo)(unsafe.Pointer(xri)).Fdepth + uintptr((*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumDepths)*12
  11374. (*TXRenderInfo)(unsafe.Pointer(xri)).Fnvisual = libc.Int32FromUint32((*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumVisuals)
  11375. libx11.X_XRead(tls, dpy, xData, libc.Int32FromUint32(rlength))
  11376. format = (*TXRenderInfo)(unsafe.Pointer(xri)).Fformat
  11377. xFormat = xData
  11378. nf = 0
  11379. for {
  11380. if !(libc.Uint32FromInt32(nf) < (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumFormats) {
  11381. break
  11382. }
  11383. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fid = (*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fid
  11384. (*TXRenderPictFormat)(unsafe.Pointer(format)).Ftype1 = libc.Int32FromUint8((*TxPictFormInfo)(unsafe.Pointer(xFormat)).Ftype1)
  11385. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fdepth = libc.Int32FromUint8((*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fdepth)
  11386. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fred = libc.Int16FromUint16((*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fred)
  11387. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FredMask = libc.Int16FromUint16((*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FredMask)
  11388. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fgreen = libc.Int16FromUint16((*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fgreen)
  11389. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FgreenMask = libc.Int16FromUint16((*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FgreenMask)
  11390. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Fblue = libc.Int16FromUint16((*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Fblue)
  11391. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FblueMask = libc.Int16FromUint16((*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FblueMask)
  11392. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fdirect.Falpha = libc.Int16FromUint16((*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.Falpha)
  11393. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fdirect.FalphaMask = libc.Int16FromUint16((*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fdirect.FalphaMask)
  11394. (*TXRenderPictFormat)(unsafe.Pointer(format)).Fcolormap = (*TxPictFormInfo)(unsafe.Pointer(xFormat)).Fcolormap
  11395. format += 32
  11396. xFormat += 28
  11397. goto _4
  11398. _4:
  11399. ;
  11400. nf++
  11401. }
  11402. xScreen = xFormat
  11403. screen = (*TXRenderInfo)(unsafe.Pointer(xri)).Fscreen
  11404. depth = (*TXRenderInfo)(unsafe.Pointer(xri)).Fdepth
  11405. visual = (*TXRenderInfo)(unsafe.Pointer(xri)).Fvisual
  11406. ns = 0
  11407. for {
  11408. if !(ns < (*TXRenderInfo)(unsafe.Pointer(xri)).Fnscreen) {
  11409. break
  11410. }
  11411. (*TXRenderScreen)(unsafe.Pointer(screen)).Fdepths = depth
  11412. (*TXRenderScreen)(unsafe.Pointer(screen)).Fndepths = libc.Int32FromUint32((*TxPictScreen)(unsafe.Pointer(xScreen)).FnDepth)
  11413. (*TXRenderScreen)(unsafe.Pointer(screen)).Ffallback = __XRenderFindFormat(tls, xri, (*TxPictScreen)(unsafe.Pointer(xScreen)).Ffallback)
  11414. (*TXRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = m_SubPixelUnknown
  11415. xDepth = xScreen + libc.UintptrFromInt32(1)*8
  11416. if libc.Uint32FromInt32((*TXRenderScreen)(unsafe.Pointer(screen)).Fndepths) > (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumDepths {
  11417. libc.Xfree(tls, xri)
  11418. libc.Xfree(tls, xData)
  11419. libx11.X_XEatDataWords(tls, dpy, (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).Flength)
  11420. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11421. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  11422. }
  11423. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  11424. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  11425. }
  11426. return 0
  11427. }
  11428. (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumDepths -= libc.Uint32FromInt32((*TXRenderScreen)(unsafe.Pointer(screen)).Fndepths)
  11429. nd = 0
  11430. for {
  11431. if !(nd < (*TXRenderScreen)(unsafe.Pointer(screen)).Fndepths) {
  11432. break
  11433. }
  11434. (*TXRenderDepth)(unsafe.Pointer(depth)).Fdepth = libc.Int32FromUint8((*TxPictDepth)(unsafe.Pointer(xDepth)).Fdepth)
  11435. (*TXRenderDepth)(unsafe.Pointer(depth)).Fnvisuals = libc.Int32FromUint16((*TxPictDepth)(unsafe.Pointer(xDepth)).FnPictVisuals)
  11436. (*TXRenderDepth)(unsafe.Pointer(depth)).Fvisuals = visual
  11437. xVisual = xDepth + libc.UintptrFromInt32(1)*8
  11438. if libc.Uint32FromInt32((*TXRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) > (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumVisuals {
  11439. libc.Xfree(tls, xri)
  11440. libc.Xfree(tls, xData)
  11441. libx11.X_XEatDataWords(tls, dpy, (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).Flength)
  11442. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11443. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  11444. }
  11445. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  11446. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  11447. }
  11448. return 0
  11449. }
  11450. (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumVisuals -= libc.Uint32FromInt32((*TXRenderDepth)(unsafe.Pointer(depth)).Fnvisuals)
  11451. nv = 0
  11452. for {
  11453. if !(nv < (*TXRenderDepth)(unsafe.Pointer(depth)).Fnvisuals) {
  11454. break
  11455. }
  11456. (*TXRenderVisual)(unsafe.Pointer(visual)).Fvisual = __XRenderFindVisual(tls, dpy, (*TxPictVisual)(unsafe.Pointer(xVisual)).Fvisual)
  11457. (*TXRenderVisual)(unsafe.Pointer(visual)).Fformat = __XRenderFindFormat(tls, xri, (*TxPictVisual)(unsafe.Pointer(xVisual)).Fformat)
  11458. visual += 8
  11459. xVisual += 8
  11460. goto _7
  11461. _7:
  11462. ;
  11463. nv++
  11464. }
  11465. depth += 12
  11466. xDepth = xVisual
  11467. goto _6
  11468. _6:
  11469. ;
  11470. nd++
  11471. }
  11472. screen += 16
  11473. xScreen = xDepth
  11474. goto _5
  11475. _5:
  11476. ;
  11477. ns++
  11478. }
  11479. xSubpixel = xScreen
  11480. screen = (*TXRenderInfo)(unsafe.Pointer(xri)).Fscreen
  11481. ns = 0
  11482. for {
  11483. if !(libc.Uint32FromInt32(ns) < (*(*TxRenderQueryPictFormatsReply)(unsafe.Pointer(bp + 28))).FnumSubpixel) {
  11484. break
  11485. }
  11486. (*TXRenderScreen)(unsafe.Pointer(screen)).Fsubpixel = libc.Int32FromUint32(*(*TCARD32)(unsafe.Pointer(xSubpixel)))
  11487. xSubpixel += 4
  11488. screen += 16
  11489. goto _8
  11490. _8:
  11491. ;
  11492. ns++
  11493. }
  11494. (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo = xri
  11495. /*
  11496. * Skip any extra data
  11497. */
  11498. if nbytes > rlength {
  11499. libx11.X_XEatData(tls, dpy, nbytes-rlength)
  11500. }
  11501. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11502. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  11503. }
  11504. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  11505. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  11506. }
  11507. libc.Xfree(tls, xData)
  11508. return int32(1)
  11509. }
  11510. func XXRenderQuerySubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32) (r int32) {
  11511. var info, xri uintptr
  11512. _, _ = info, xri
  11513. info = XXRenderFindDisplay(tls, dpy)
  11514. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  11515. return m_SubPixelUnknown
  11516. }
  11517. if !(XXRenderQueryFormats(tls, dpy) != 0) {
  11518. return m_SubPixelUnknown
  11519. }
  11520. xri = (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
  11521. return (*(*TXRenderScreen)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*16))).Fsubpixel
  11522. }
  11523. func XXRenderSetSubpixelOrder(tls *libc.TLS, dpy uintptr, screen int32, subpixel int32) (r int32) {
  11524. var info, xri uintptr
  11525. _, _ = info, xri
  11526. info = XXRenderFindDisplay(tls, dpy)
  11527. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  11528. return m_False
  11529. }
  11530. if !(XXRenderQueryFormats(tls, dpy) != 0) {
  11531. return m_False
  11532. }
  11533. xri = (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
  11534. (*(*TXRenderScreen)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fscreen + uintptr(screen)*16))).Fsubpixel = subpixel
  11535. return int32(m_True)
  11536. }
  11537. func XXRenderFindVisualFormat(tls *libc.TLS, dpy uintptr, visual uintptr) (r uintptr) {
  11538. var info, xri, xrv uintptr
  11539. var nv int32
  11540. _, _, _, _ = info, nv, xri, xrv
  11541. info = XXRenderFindDisplay(tls, dpy)
  11542. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  11543. return libc.UintptrFromInt32(0)
  11544. }
  11545. if !(XXRenderQueryFormats(tls, dpy) != 0) {
  11546. return libc.UintptrFromInt32(0)
  11547. }
  11548. xri = (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
  11549. nv = 0
  11550. xrv = (*TXRenderInfo)(unsafe.Pointer(xri)).Fvisual
  11551. for {
  11552. if !(nv < (*TXRenderInfo)(unsafe.Pointer(xri)).Fnvisual) {
  11553. break
  11554. }
  11555. if (*TXRenderVisual)(unsafe.Pointer(xrv)).Fvisual == visual {
  11556. return (*TXRenderVisual)(unsafe.Pointer(xrv)).Fformat
  11557. }
  11558. goto _1
  11559. _1:
  11560. ;
  11561. nv++
  11562. xrv += 8
  11563. }
  11564. return libc.UintptrFromInt32(0)
  11565. }
  11566. func XXRenderFindFormat(tls *libc.TLS, dpy uintptr, mask uint32, template uintptr, count int32) (r uintptr) {
  11567. var info, xri uintptr
  11568. var nf, v2 int32
  11569. _, _, _, _ = info, nf, xri, v2
  11570. info = XXRenderFindDisplay(tls, dpy)
  11571. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  11572. return libc.UintptrFromInt32(0)
  11573. }
  11574. if !(XXRenderQueryFormats(tls, dpy) != 0) {
  11575. return libc.UintptrFromInt32(0)
  11576. }
  11577. xri = (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Finfo
  11578. nf = 0
  11579. for {
  11580. if !(nf < (*TXRenderInfo)(unsafe.Pointer(xri)).Fnformat) {
  11581. break
  11582. }
  11583. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  11584. if (*TXRenderPictFormat)(unsafe.Pointer(template)).Fid != (*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fid {
  11585. goto _1
  11586. }
  11587. }
  11588. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  11589. if (*TXRenderPictFormat)(unsafe.Pointer(template)).Ftype1 != (*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Ftype1 {
  11590. goto _1
  11591. }
  11592. }
  11593. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(2)) != 0 {
  11594. if (*TXRenderPictFormat)(unsafe.Pointer(template)).Fdepth != (*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fdepth {
  11595. goto _1
  11596. }
  11597. }
  11598. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(3)) != 0 {
  11599. if int32((*TXRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fred) != int32((*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fdirect.Fred) {
  11600. goto _1
  11601. }
  11602. }
  11603. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(4)) != 0 {
  11604. if int32((*TXRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FredMask) != int32((*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fdirect.FredMask) {
  11605. goto _1
  11606. }
  11607. }
  11608. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(5)) != 0 {
  11609. if int32((*TXRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fgreen) != int32((*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fdirect.Fgreen) {
  11610. goto _1
  11611. }
  11612. }
  11613. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(6)) != 0 {
  11614. if int32((*TXRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FgreenMask) != int32((*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fdirect.FgreenMask) {
  11615. goto _1
  11616. }
  11617. }
  11618. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(7)) != 0 {
  11619. if int32((*TXRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Fblue) != int32((*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fdirect.Fblue) {
  11620. goto _1
  11621. }
  11622. }
  11623. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(8)) != 0 {
  11624. if int32((*TXRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FblueMask) != int32((*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fdirect.FblueMask) {
  11625. goto _1
  11626. }
  11627. }
  11628. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(9)) != 0 {
  11629. if int32((*TXRenderPictFormat)(unsafe.Pointer(template)).Fdirect.Falpha) != int32((*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fdirect.Falpha) {
  11630. goto _1
  11631. }
  11632. }
  11633. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(10)) != 0 {
  11634. if int32((*TXRenderPictFormat)(unsafe.Pointer(template)).Fdirect.FalphaMask) != int32((*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fdirect.FalphaMask) {
  11635. goto _1
  11636. }
  11637. }
  11638. if mask&libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(11)) != 0 {
  11639. if (*TXRenderPictFormat)(unsafe.Pointer(template)).Fcolormap != (*(*TXRenderPictFormat)(unsafe.Pointer((*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32))).Fcolormap {
  11640. goto _1
  11641. }
  11642. }
  11643. v2 = count
  11644. count--
  11645. if v2 == 0 {
  11646. return (*TXRenderInfo)(unsafe.Pointer(xri)).Fformat + uintptr(nf)*32
  11647. }
  11648. goto _1
  11649. _1:
  11650. ;
  11651. nf++
  11652. }
  11653. return libc.UintptrFromInt32(0)
  11654. }
  11655. func XXRenderFindStandardFormat(tls *libc.TLS, dpy uintptr, format int32) (r uintptr) {
  11656. if 0 <= format && format < int32(m_PictStandardNUM) {
  11657. return XXRenderFindFormat(tls, dpy, _standardFormats[format].Fmask, uintptr(unsafe.Pointer(&_standardFormats))+uintptr(format)*36, 0)
  11658. }
  11659. return libc.UintptrFromInt32(0)
  11660. }
  11661. var _standardFormats = [5]struct {
  11662. Ftempl TXRenderPictFormat
  11663. Fmask uint32
  11664. }{
  11665. 0: {
  11666. Ftempl: TXRenderPictFormat{
  11667. Ftype1: int32(m_PictTypeDirect),
  11668. Fdepth: int32(32),
  11669. Fdirect: TXRenderDirectFormat{
  11670. Fred: int16(16),
  11671. FredMask: int16(0xff),
  11672. Fgreen: int16(8),
  11673. FgreenMask: int16(0xff),
  11674. FblueMask: int16(0xff),
  11675. Falpha: int16(24),
  11676. FalphaMask: int16(0xff),
  11677. },
  11678. },
  11679. Fmask: libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(2) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(3) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(4) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(5) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(6) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(7) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(8) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(9) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(10)),
  11680. },
  11681. 1: {
  11682. Ftempl: TXRenderPictFormat{
  11683. Ftype1: int32(m_PictTypeDirect),
  11684. Fdepth: int32(24),
  11685. Fdirect: TXRenderDirectFormat{
  11686. Fred: int16(16),
  11687. FredMask: int16(0xff),
  11688. Fgreen: int16(8),
  11689. FgreenMask: int16(0xff),
  11690. FblueMask: int16(0xff),
  11691. },
  11692. },
  11693. Fmask: libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(2) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(3) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(4) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(5) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(6) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(7) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(8) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(10)),
  11694. },
  11695. 2: {
  11696. Ftempl: TXRenderPictFormat{
  11697. Ftype1: int32(m_PictTypeDirect),
  11698. Fdepth: int32(8),
  11699. Fdirect: TXRenderDirectFormat{
  11700. FalphaMask: int16(0xff),
  11701. },
  11702. },
  11703. Fmask: libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(2) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(4) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(6) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(8) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(9) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(10)),
  11704. },
  11705. 3: {
  11706. Ftempl: TXRenderPictFormat{
  11707. Ftype1: int32(m_PictTypeDirect),
  11708. Fdepth: int32(4),
  11709. Fdirect: TXRenderDirectFormat{
  11710. FalphaMask: int16(0x0f),
  11711. },
  11712. },
  11713. Fmask: libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(2) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(4) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(6) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(8) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(9) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(10)),
  11714. },
  11715. 4: {
  11716. Ftempl: TXRenderPictFormat{
  11717. Ftype1: int32(m_PictTypeDirect),
  11718. Fdepth: int32(1),
  11719. Fdirect: TXRenderDirectFormat{
  11720. FalphaMask: int16(0x01),
  11721. },
  11722. },
  11723. Fmask: libc.Uint32FromInt32(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(2) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(4) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(6) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(8) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(9) | libc.Int32FromInt32(1)<<libc.Int32FromInt32(10)),
  11724. },
  11725. }
  11726. func XXRenderQueryPictIndexValues(tls *libc.TLS, dpy uintptr, format uintptr, num uintptr) (r uintptr) {
  11727. bp := tls.Alloc(48)
  11728. defer tls.Free(48)
  11729. var i, nbytes, nread, rlength, v1, v2, v3 uint32
  11730. var info, req, values uintptr
  11731. var _ /* rep at bp+0 */ TxRenderQueryPictIndexValuesReply
  11732. var _ /* value at bp+32 */ TxIndexValue
  11733. _, _, _, _, _, _, _, _, _, _ = i, info, nbytes, nread, req, rlength, values, v1, v2, v3
  11734. info = XXRenderFindDisplay(tls, dpy)
  11735. if !(info != 0 && (*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes != 0) {
  11736. return libc.UintptrFromInt32(0)
  11737. }
  11738. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11739. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Flock_display})))(tls, dpy)
  11740. }
  11741. req = libx11.X_XGetRequest(tls, dpy, uint8(m_X_RenderQueryPictIndexValues), uint32(m_sz_xRenderQueryPictIndexValuesReq))
  11742. (*TxRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FreqType = libc.Uint8FromInt32((*TXExtCodes)(unsafe.Pointer((*TXRenderExtDisplayInfo)(unsafe.Pointer(info)).Fcodes)).Fmajor_opcode)
  11743. (*TxRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).FrenderReqType = uint8(m_X_RenderQueryPictIndexValues)
  11744. (*TxRenderQueryPictIndexValuesReq)(unsafe.Pointer(req)).Fformat = (*TXRenderPictFormat)(unsafe.Pointer(format)).Fid
  11745. if !(libx11.X_XReply(tls, dpy, bp, 0, m_xFalse) != 0) {
  11746. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11747. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  11748. }
  11749. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  11750. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  11751. }
  11752. return libc.UintptrFromInt32(0)
  11753. }
  11754. if (*(*TxRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp))).Flength < libc.Uint32FromInt32(libc.Int32FromInt32(m_INT_MAX)>>libc.Int32FromInt32(2)) && (*(*TxRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp))).FnumIndexValues < uint32(libc.Uint32FromInt32(m_INT_MAX)/libc.Uint32FromInt64(12)) {
  11755. /* request data length */
  11756. nbytes = (*(*TxRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp))).Flength << int32(2)
  11757. /* bytes of actual data in the request */
  11758. nread = (*(*TxRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp))).FnumIndexValues * uint32(m_sz_xIndexValue)
  11759. /* size of array returned to application */
  11760. rlength = (*(*TxRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp))).FnumIndexValues * uint32(12)
  11761. /* allocate returned data */
  11762. if rlength == uint32(0) {
  11763. v1 = uint32(1)
  11764. } else {
  11765. v1 = rlength
  11766. }
  11767. values = libc.Xmalloc(tls, v1)
  11768. } else {
  11769. v3 = libc.Uint32FromInt32(0)
  11770. rlength = v3
  11771. v2 = v3
  11772. nread = v2
  11773. nbytes = v2
  11774. values = libc.UintptrFromInt32(0)
  11775. }
  11776. if !(values != 0) {
  11777. libx11.X_XEatDataWords(tls, dpy, (*(*TxRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp))).Flength)
  11778. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11779. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  11780. }
  11781. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  11782. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  11783. }
  11784. return libc.UintptrFromInt32(0)
  11785. }
  11786. /* read the values one at a time and convert */
  11787. *(*int32)(unsafe.Pointer(num)) = libc.Int32FromUint32((*(*TxRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp))).FnumIndexValues)
  11788. i = uint32(0)
  11789. for {
  11790. if !(i < (*(*TxRenderQueryPictIndexValuesReply)(unsafe.Pointer(bp))).FnumIndexValues) {
  11791. break
  11792. }
  11793. libx11.X_XRead(tls, dpy, bp+32, int32(m_sz_xIndexValue))
  11794. (*(*TXIndexValue)(unsafe.Pointer(values + uintptr(i)*12))).Fpixel = (*(*TxIndexValue)(unsafe.Pointer(bp + 32))).Fpixel
  11795. (*(*TXIndexValue)(unsafe.Pointer(values + uintptr(i)*12))).Fred = (*(*TxIndexValue)(unsafe.Pointer(bp + 32))).Fred
  11796. (*(*TXIndexValue)(unsafe.Pointer(values + uintptr(i)*12))).Fgreen = (*(*TxIndexValue)(unsafe.Pointer(bp + 32))).Fgreen
  11797. (*(*TXIndexValue)(unsafe.Pointer(values + uintptr(i)*12))).Fblue = (*(*TxIndexValue)(unsafe.Pointer(bp + 32))).Fblue
  11798. (*(*TXIndexValue)(unsafe.Pointer(values + uintptr(i)*12))).Falpha = (*(*TxIndexValue)(unsafe.Pointer(bp + 32))).Falpha
  11799. goto _4
  11800. _4:
  11801. ;
  11802. i++
  11803. }
  11804. /* skip any padding */
  11805. if nbytes > nread {
  11806. libx11.X_XEatData(tls, dpy, nbytes-nread)
  11807. }
  11808. if (*TDisplay)(unsafe.Pointer(dpy)).Flock_fns != 0 {
  11809. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*T_XLockPtrs)(unsafe.Pointer((*TDisplay)(unsafe.Pointer(dpy)).Flock_fns)).Funlock_display})))(tls, dpy)
  11810. }
  11811. if (*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler != 0 {
  11812. (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TDisplay)(unsafe.Pointer(dpy)).Fsynchandler})))(tls, dpy)
  11813. }
  11814. return values
  11815. }
  11816. func __ccgo_fp(f interface{}) uintptr {
  11817. type iface [2]uintptr
  11818. return (*iface)(unsafe.Pointer(&f))[1]
  11819. }
  11820. /*
  11821. * Xlib uses long for 32-bit values. Xrender uses int. This
  11822. * matters on alpha. Note that this macro assumes that int is 32 bits
  11823. * except on WORD64 machines where it is 64 bits.
  11824. */
  11825. /* Support signed or unsigned plain-char */
  11826. /* Implementation choices... */
  11827. /* Arbitrary numbers... */
  11828. /* POSIX/SUS requirements follow. These numbers come directly
  11829. * from SUS and have nothing to do with the host system. */
  11830. var XXRenderExtensionInfo TXRenderExtInfo
  11831. var XXRenderExtensionName = [7]int8{'R', 'E', 'N', 'D', 'E', 'R'}
  11832. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  11833. var __ccgo_ts1 = "rgba:\x00"