1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913 |
- <?xml version="1.0"?>
- <!-- This file was automatically generated from C sources - DO NOT EDIT!
- To affect the contents of this file, edit the original C definitions,
- and/or use gtk-doc annotations. -->
- <repository version="1.2"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GObject" version="2.0"/>
- <include name="cairo" version="1.0"/>
- <package name="pango"/>
- <c:include name="pango/pango.h"/>
- <namespace name="Pango"
- version="1.0"
- shared-library="libpango-1.0.so.0"
- c:identifier-prefixes="Pango"
- c:symbol-prefixes="pango">
- <alias name="Glyph" c:type="PangoGlyph">
- <doc xml:space="preserve">A #PangoGlyph represents a single glyph in the output form of a string.</doc>
- <type name="guint32" c:type="guint32"/>
- </alias>
- <alias name="GlyphUnit" c:type="PangoGlyphUnit">
- <doc xml:space="preserve">The #PangoGlyphUnit type is used to store dimensions within
- Pango. Dimensions are stored in 1/%PANGO_SCALE of a device unit.
- (A device unit might be a pixel for screen display, or
- a point on a printer.) %PANGO_SCALE is currently 1024, and
- may change in the future (unlikely though), but you should not
- depend on its exact value. The PANGO_PIXELS() macro can be used
- to convert from glyph units into device units with correct rounding.</doc>
- <type name="gint32" c:type="gint32"/>
- </alias>
- <alias name="LayoutRun" c:type="PangoLayoutRun">
- <doc xml:space="preserve">The #PangoLayoutRun structure represents a single run within
- a #PangoLayoutLine; it is simply an alternate name for
- #PangoGlyphItem.
- See the #PangoGlyphItem docs for details on the fields.</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem"/>
- </alias>
- <constant name="ANALYSIS_FLAG_CENTERED_BASELINE"
- value="1"
- c:type="PANGO_ANALYSIS_FLAG_CENTERED_BASELINE"
- version="1.16">
- <doc xml:space="preserve">Whether the segment should be shifted to center around the baseline.
- Used in vertical writing directions mostly.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="ANALYSIS_FLAG_IS_ELLIPSIS"
- value="2"
- c:type="PANGO_ANALYSIS_FLAG_IS_ELLIPSIS"
- version="1.36.7">
- <doc xml:space="preserve">This flag is used to mark runs that hold ellipsized text,
- in an ellipsized layout.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="ATTR_INDEX_FROM_TEXT_BEGINNING"
- value="0"
- c:type="PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING"
- version="1.24">
- <doc xml:space="preserve">This value can be used to set the start_index member of a #PangoAttribute
- such that the attribute covers from the beginning of the text.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <enumeration name="Alignment"
- glib:type-name="PangoAlignment"
- glib:get-type="pango_alignment_get_type"
- c:type="PangoAlignment">
- <doc xml:space="preserve">A #PangoAlignment describes how to align the lines of a #PangoLayout within the
- available space. If the #PangoLayout is set to justify
- using pango_layout_set_justify(), this only has effect for partial lines.</doc>
- <member name="left"
- value="0"
- c:identifier="PANGO_ALIGN_LEFT"
- glib:nick="left">
- <doc xml:space="preserve">Put all available space on the right</doc>
- </member>
- <member name="center"
- value="1"
- c:identifier="PANGO_ALIGN_CENTER"
- glib:nick="center">
- <doc xml:space="preserve">Center the line within the available space</doc>
- </member>
- <member name="right"
- value="2"
- c:identifier="PANGO_ALIGN_RIGHT"
- glib:nick="right">
- <doc xml:space="preserve">Put all available space on the left</doc>
- </member>
- </enumeration>
- <record name="Analysis" c:type="PangoAnalysis">
- <doc xml:space="preserve">The #PangoAnalysis structure stores information about
- the properties of a segment of text.</doc>
- <field name="shape_engine" writable="1">
- <doc xml:space="preserve">the engine for doing rendering-system-dependent processing.</doc>
- <type name="EngineShape" c:type="PangoEngineShape*"/>
- </field>
- <field name="lang_engine" writable="1">
- <doc xml:space="preserve">the engine for doing rendering-system-independent processing.</doc>
- <type name="EngineLang" c:type="PangoEngineLang*"/>
- </field>
- <field name="font" writable="1">
- <doc xml:space="preserve">the font for this segment.</doc>
- <type name="Font" c:type="PangoFont*"/>
- </field>
- <field name="level" writable="1">
- <doc xml:space="preserve">the bidirectional level for this segment.</doc>
- <type name="guint8" c:type="guint8"/>
- </field>
- <field name="gravity" writable="1">
- <doc xml:space="preserve">the glyph orientation for this segment (A #PangoGravity).</doc>
- <type name="guint8" c:type="guint8"/>
- </field>
- <field name="flags" writable="1">
- <doc xml:space="preserve">boolean flags for this segment (currently only one) (Since: 1.16).</doc>
- <type name="guint8" c:type="guint8"/>
- </field>
- <field name="script" writable="1">
- <doc xml:space="preserve">the detected script for this segment (A #PangoScript) (Since: 1.18).</doc>
- <type name="guint8" c:type="guint8"/>
- </field>
- <field name="language" writable="1">
- <doc xml:space="preserve">the detected language for this segment.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </field>
- <field name="extra_attrs" writable="1">
- <doc xml:space="preserve">extra attributes for this segment.</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </field>
- </record>
- <record name="AttrClass" c:type="PangoAttrClass">
- <doc xml:space="preserve">The #PangoAttrClass structure stores the type and operations for
- a particular type of attribute. The functions in this structure should
- not be called directly. Instead, one should use the wrapper functions
- provided for #PangoAttribute.</doc>
- <field name="type" writable="1">
- <doc xml:space="preserve">the type ID for this attribute</doc>
- <type name="AttrType" c:type="PangoAttrType"/>
- </field>
- <field name="copy" introspectable="0">
- <callback name="copy" introspectable="0">
- <return-value>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="attr" transfer-ownership="none">
- <type name="Attribute" c:type="const PangoAttribute*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="destroy">
- <callback name="destroy">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="attr" transfer-ownership="none">
- <type name="Attribute" c:type="PangoAttribute*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="equal">
- <callback name="equal">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="attr1" transfer-ownership="none">
- <type name="Attribute" c:type="const PangoAttribute*"/>
- </parameter>
- <parameter name="attr2" transfer-ownership="none">
- <type name="Attribute" c:type="const PangoAttribute*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- </record>
- <record name="AttrColor" c:type="PangoAttrColor">
- <doc xml:space="preserve">The #PangoAttrColor structure is used to represent attributes that
- are colors.</doc>
- <field name="attr" writable="1">
- <doc xml:space="preserve">the common portion of the attribute</doc>
- <type name="Attribute" c:type="PangoAttribute"/>
- </field>
- <field name="color" writable="1">
- <doc xml:space="preserve">the #PangoColor which is the value of the attribute</doc>
- <type name="Color" c:type="PangoColor"/>
- </field>
- </record>
- <callback name="AttrDataCopyFunc" c:type="PangoAttrDataCopyFunc">
- <doc xml:space="preserve">Type of a function that can duplicate user data for an attribute.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">new copy of @user_data.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="0">
- <doc xml:space="preserve">user data to copy</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="AttrFilterFunc" c:type="PangoAttrFilterFunc">
- <doc xml:space="preserve">Type of a function filtering a list of attributes.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the attribute should be selected for
- filtering, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="attribute" transfer-ownership="none">
- <doc xml:space="preserve">a Pango attribute</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="1">
- <doc xml:space="preserve">user data passed to the function</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="AttrFloat" c:type="PangoAttrFloat">
- <doc xml:space="preserve">The #PangoAttrFloat structure is used to represent attributes with
- a float or double value.</doc>
- <field name="attr" writable="1">
- <doc xml:space="preserve">the common portion of the attribute</doc>
- <type name="Attribute" c:type="PangoAttribute"/>
- </field>
- <field name="value" writable="1">
- <doc xml:space="preserve">the value of the attribute</doc>
- <type name="gdouble" c:type="double"/>
- </field>
- </record>
- <record name="AttrFontDesc" c:type="PangoAttrFontDesc">
- <doc xml:space="preserve">The #PangoAttrFontDesc structure is used to store an attribute that
- sets all aspects of the font description at once.</doc>
- <field name="attr" writable="1">
- <doc xml:space="preserve">the common portion of the attribute</doc>
- <type name="Attribute" c:type="PangoAttribute"/>
- </field>
- <field name="desc" writable="1">
- <doc xml:space="preserve">the font description which is the value of this attribute</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </field>
- <function name="new"
- c:identifier="pango_attr_font_desc_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new font description attribute. This attribute
- allows setting family, style, weight, variant, stretch,
- and size simultaneously.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">the font description</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <record name="AttrFontFeatures"
- c:type="PangoAttrFontFeatures"
- version="1.38">
- <doc xml:space="preserve">The #PangoAttrFontFeatures structure is used to represent OpenType
- font features as an attribute.</doc>
- <field name="attr" writable="1">
- <doc xml:space="preserve">the common portion of the attribute</doc>
- <type name="Attribute" c:type="PangoAttribute"/>
- </field>
- <field name="features" writable="1">
- <doc xml:space="preserve">the featues, as a string in CSS syntax</doc>
- <type name="utf8" c:type="gchar*"/>
- </field>
- <function name="new"
- c:identifier="pango_attr_font_features_new"
- version="1.38"
- introspectable="0">
- <doc xml:space="preserve">Create a new font features tag attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="features" transfer-ownership="none">
- <doc xml:space="preserve">a string with OpenType font features, in CSS syntax</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <record name="AttrInt" c:type="PangoAttrInt">
- <doc xml:space="preserve">The #PangoAttrInt structure is used to represent attributes with
- an integer or enumeration value.</doc>
- <field name="attr" writable="1">
- <doc xml:space="preserve">the common portion of the attribute</doc>
- <type name="Attribute" c:type="PangoAttribute"/>
- </field>
- <field name="value" writable="1">
- <doc xml:space="preserve">the value of the attribute</doc>
- <type name="gint" c:type="int"/>
- </field>
- </record>
- <record name="AttrIterator" c:type="PangoAttrIterator" disguised="1">
- <doc xml:space="preserve">The #PangoAttrIterator structure is used to represent an
- iterator through a #PangoAttrList. A new iterator is created
- with pango_attr_list_get_iterator(). Once the iterator
- is created, it can be advanced through the style changes
- in the text using pango_attr_iterator_next(). At each
- style change, the range of the current style segment and the
- attributes currently in effect can be queried.</doc>
- <method name="copy"
- c:identifier="pango_attr_iterator_copy"
- introspectable="0">
- <doc xml:space="preserve">Copy a #PangoAttrIterator</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated
- #PangoAttrIterator, which should be freed with
- pango_attr_iterator_destroy().</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </return-value>
- <parameters>
- <instance-parameter name="iterator" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrIterator.</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="destroy" c:identifier="pango_attr_iterator_destroy">
- <doc xml:space="preserve">Destroy a #PangoAttrIterator and free all associated memory.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iterator" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrIterator.</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get"
- c:identifier="pango_attr_iterator_get"
- introspectable="0">
- <doc xml:space="preserve">Find the current attribute of a particular type at the iterator
- location. When multiple attributes of the same type overlap,
- the attribute whose range starts closest to the current location
- is used.</doc>
- <return-value nullable="1">
- <doc xml:space="preserve">the current attribute of the given type,
- or %NULL if no attribute of that type applies to the
- current location.</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <instance-parameter name="iterator" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrIterator</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </instance-parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the type of attribute to find.</doc>
- <type name="AttrType" c:type="PangoAttrType"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_attrs"
- c:identifier="pango_attr_iterator_get_attrs"
- version="1.2">
- <doc xml:space="preserve">Gets a list of all attributes at the current position of the
- iterator.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a list of
- all attributes for the current range.
- To free this value, call pango_attribute_destroy() on
- each value and g_slist_free() on the list.</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Attribute"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="iterator" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrIterator</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_font" c:identifier="pango_attr_iterator_get_font">
- <doc xml:space="preserve">Get the font and other attributes at the current iterator position.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iterator" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrIterator</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </instance-parameter>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription to fill in with the current values.
- The family name in this structure will be set using
- pango_font_description_set_family_static() using values from
- an attribute in the #PangoAttrList associated with the iterator,
- so if you plan to keep it around, you must call:
- <literal>pango_font_description_set_family (desc, pango_font_description_get_family (desc))</literal>.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </parameter>
- <parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL, location to store language tag for item, or %NULL
- if none is found.</doc>
- <type name="Language" c:type="PangoLanguage**"/>
- </parameter>
- <parameter name="extra_attrs"
- transfer-ownership="full"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL,
- location in which to store a list of non-font
- attributes at the the current position; only the highest priority
- value of each attribute will be added to this list. In order
- to free this value, you must call pango_attribute_destroy() on
- each member.</doc>
- <type name="GLib.SList" c:type="GSList**">
- <type name="Attribute"/>
- </type>
- </parameter>
- </parameters>
- </method>
- <method name="next" c:identifier="pango_attr_iterator_next">
- <doc xml:space="preserve">Advance the iterator until the next change of style.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if the iterator is at the end of the list, otherwise %TRUE</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iterator" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrIterator</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="range" c:identifier="pango_attr_iterator_range">
- <doc xml:space="preserve">Get the range of the current segment. Note that the
- stored return values are signed, not unsigned like
- the values in #PangoAttribute. To deal with this API
- oversight, stored return values that wouldn't fit into
- a signed integer are clamped to %G_MAXINT.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iterator" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrIterator</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </instance-parameter>
- <parameter name="start"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the start of the range</doc>
- <type name="gint" c:type="gint*"/>
- </parameter>
- <parameter name="end"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the end of the range</doc>
- <type name="gint" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="AttrLanguage" c:type="PangoAttrLanguage">
- <doc xml:space="preserve">The #PangoAttrLanguage structure is used to represent attributes that
- are languages.</doc>
- <field name="attr" writable="1">
- <doc xml:space="preserve">the common portion of the attribute</doc>
- <type name="Attribute" c:type="PangoAttribute"/>
- </field>
- <field name="value" writable="1">
- <doc xml:space="preserve">the #PangoLanguage which is the value of the attribute</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </field>
- <function name="new"
- c:identifier="pango_attr_language_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new language tag attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">language tag</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <record name="AttrList"
- c:type="PangoAttrList"
- glib:type-name="PangoAttrList"
- glib:get-type="pango_attr_list_get_type"
- c:symbol-prefix="attr_list">
- <doc xml:space="preserve">The #PangoAttrList structure represents a list of attributes
- that apply to a section of text. The attributes are, in general,
- allowed to overlap in an arbitrary fashion, however, if the
- attributes are manipulated only through pango_attr_list_change(),
- the overlap between properties will meet stricter criteria.
- Since the #PangoAttrList structure is stored as a linear list,
- it is not suitable for storing attributes for large amounts
- of text. In general, you should not use a single #PangoAttrList
- for more than one paragraph of text.</doc>
- <constructor name="new" c:identifier="pango_attr_list_new">
- <doc xml:space="preserve">Create a new empty attribute list with a reference count of one.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttrList,
- which should be freed with pango_attr_list_unref().</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </return-value>
- </constructor>
- <method name="change" c:identifier="pango_attr_list_change">
- <doc xml:space="preserve">Insert the given attribute into the #PangoAttrList. It will
- replace any attributes of the same type on that segment
- and be merged with any adjoining attributes that are identical.
- This function is slower than pango_attr_list_insert() for
- creating a attribute list in order (potentially much slower
- for large lists). However, pango_attr_list_insert() is not
- suitable for continually changing a set of attributes
- since it never removes or combines existing attributes.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrList</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </instance-parameter>
- <parameter name="attr" transfer-ownership="full">
- <doc xml:space="preserve">the attribute to insert. Ownership of this
- value is assumed by the list.</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </parameter>
- </parameters>
- </method>
- <method name="copy" c:identifier="pango_attr_list_copy">
- <doc xml:space="preserve">Copy @list and return an identical new list.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoAttrList, with a
- reference count of one, which should
- be freed with pango_attr_list_unref().
- Returns %NULL if @list was %NULL.</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </return-value>
- <parameters>
- <instance-parameter name="list"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoAttrList, may be %NULL</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="filter"
- c:identifier="pango_attr_list_filter"
- version="1.2">
- <doc xml:space="preserve">Given a #PangoAttrList and callback function, removes any elements
- of @list for which @func returns %TRUE and inserts them into
- a new list.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the new #PangoAttrList or
- %NULL if no attributes of the given types were found.</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </return-value>
- <parameters>
- <instance-parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrList</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </instance-parameter>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="1">
- <doc xml:space="preserve">callback function; returns %TRUE
- if an attribute should be filtered out.</doc>
- <type name="AttrFilterFunc" c:type="PangoAttrFilterFunc"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Data to be passed to @func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_iterator"
- c:identifier="pango_attr_list_get_iterator"
- introspectable="0">
- <doc xml:space="preserve">Create a iterator initialized to the beginning of the list.
- @list must not be modified until this iterator is freed.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttrIterator, which should
- be freed with pango_attr_iterator_destroy().</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </return-value>
- <parameters>
- <instance-parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrList</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="insert" c:identifier="pango_attr_list_insert">
- <doc xml:space="preserve">Insert the given attribute into the #PangoAttrList. It will
- be inserted after all other attributes with a matching
- @start_index.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrList</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </instance-parameter>
- <parameter name="attr" transfer-ownership="full">
- <doc xml:space="preserve">the attribute to insert. Ownership of this
- value is assumed by the list.</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </parameter>
- </parameters>
- </method>
- <method name="insert_before"
- c:identifier="pango_attr_list_insert_before">
- <doc xml:space="preserve">Insert the given attribute into the #PangoAttrList. It will
- be inserted before all other attributes with a matching
- @start_index.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrList</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </instance-parameter>
- <parameter name="attr" transfer-ownership="full">
- <doc xml:space="preserve">the attribute to insert. Ownership of this
- value is assumed by the list.</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </parameter>
- </parameters>
- </method>
- <method name="ref" c:identifier="pango_attr_list_ref" version="1.10">
- <doc xml:space="preserve">Increase the reference count of the given attribute list by one.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">The attribute list passed in</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </return-value>
- <parameters>
- <instance-parameter name="list"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoAttrList, may be %NULL</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="splice" c:identifier="pango_attr_list_splice">
- <doc xml:space="preserve">This function opens up a hole in @list, fills it in with attributes from
- the left, and then merges @other on top of the hole.
- This operation is equivalent to stretching every attribute
- that applies at position @pos in @list by an amount @len,
- and then calling pango_attr_list_change() with a copy
- of each attribute in @other in sequence (offset in position by @pos).
- This operation proves useful for, for instance, inserting
- a pre-edit string in the middle of an edit buffer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrList</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </instance-parameter>
- <parameter name="other" transfer-ownership="none">
- <doc xml:space="preserve">another #PangoAttrList</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </parameter>
- <parameter name="pos" transfer-ownership="none">
- <doc xml:space="preserve">the position in @list at which to insert @other</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">the length of the spliced segment. (Note that this
- must be specified since the attributes in @other
- may only be present at some subsection of this range)</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="unref" c:identifier="pango_attr_list_unref">
- <doc xml:space="preserve">Decrease the reference count of the given attribute list by one.
- If the result is zero, free the attribute list and the attributes
- it contains.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="list"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoAttrList, may be %NULL</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </instance-parameter>
- </parameters>
- </method>
- </record>
- <record name="AttrShape" c:type="PangoAttrShape">
- <doc xml:space="preserve">The #PangoAttrShape structure is used to represent attributes which
- impose shape restrictions.</doc>
- <field name="attr" writable="1">
- <doc xml:space="preserve">the common portion of the attribute</doc>
- <type name="Attribute" c:type="PangoAttribute"/>
- </field>
- <field name="ink_rect" writable="1">
- <doc xml:space="preserve">the ink rectangle to restrict to</doc>
- <type name="Rectangle" c:type="PangoRectangle"/>
- </field>
- <field name="logical_rect" writable="1">
- <doc xml:space="preserve">the logical rectangle to restrict to</doc>
- <type name="Rectangle" c:type="PangoRectangle"/>
- </field>
- <field name="data" writable="1">
- <doc xml:space="preserve">user data set (see pango_attr_shape_new_with_data())</doc>
- <type name="gpointer" c:type="gpointer"/>
- </field>
- <field name="copy_func" writable="1">
- <doc xml:space="preserve">copy function for the user data</doc>
- <type name="AttrDataCopyFunc" c:type="PangoAttrDataCopyFunc"/>
- </field>
- <field name="destroy_func" writable="1">
- <doc xml:space="preserve">destroy function for the user data</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </field>
- <function name="new"
- c:identifier="pango_attr_shape_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new shape attribute. A shape is used to impose a
- particular ink and logical rectangle on the result of shaping a
- particular glyph. This might be used, for instance, for
- embedding a picture or a widget inside a #PangoLayout.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="ink_rect" transfer-ownership="none">
- <doc xml:space="preserve">ink rectangle to assign to each character</doc>
- <type name="Rectangle" c:type="const PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect" transfer-ownership="none">
- <doc xml:space="preserve">logical rectangle to assign to each character</doc>
- <type name="Rectangle" c:type="const PangoRectangle*"/>
- </parameter>
- </parameters>
- </function>
- <function name="new_with_data"
- c:identifier="pango_attr_shape_new_with_data"
- version="1.8"
- introspectable="0">
- <doc xml:space="preserve">Like pango_attr_shape_new(), but a user data pointer is also
- provided; this pointer can be accessed when later
- rendering the glyph.</doc>
- <return-value>
- <doc xml:space="preserve">the newly allocated #PangoAttribute, which should be
- freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="ink_rect" transfer-ownership="none">
- <doc xml:space="preserve">ink rectangle to assign to each character</doc>
- <type name="Rectangle" c:type="const PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect" transfer-ownership="none">
- <doc xml:space="preserve">logical rectangle to assign to each character</doc>
- <type name="Rectangle" c:type="const PangoRectangle*"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data pointer</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="copy_func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="notified"
- destroy="4">
- <doc xml:space="preserve">function to copy @data when the
- attribute is copied. If %NULL, @data is simply
- copied as a pointer.</doc>
- <type name="AttrDataCopyFunc" c:type="PangoAttrDataCopyFunc"/>
- </parameter>
- <parameter name="destroy_func"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async">
- <doc xml:space="preserve">function to free @data when the
- attribute is freed, or %NULL</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <record name="AttrSize" c:type="PangoAttrSize">
- <doc xml:space="preserve">The #PangoAttrSize structure is used to represent attributes which
- set font size.</doc>
- <field name="attr" writable="1">
- <doc xml:space="preserve">the common portion of the attribute</doc>
- <type name="Attribute" c:type="PangoAttribute"/>
- </field>
- <field name="size" writable="1">
- <doc xml:space="preserve">size of font, in units of 1/%PANGO_SCALE of a point (for
- %PANGO_ATTR_SIZE) or of a device uni (for %PANGO_ATTR_ABSOLUTE_SIZE)</doc>
- <type name="gint" c:type="int"/>
- </field>
- <field name="absolute" writable="1" bits="1">
- <doc xml:space="preserve">whether the font size is in device units or points.
- This field is only present for compatibility with Pango-1.8.0
- (%PANGO_ATTR_ABSOLUTE_SIZE was added in 1.8.1); and always will
- be %FALSE for %PANGO_ATTR_SIZE and %TRUE for %PANGO_ATTR_ABSOLUTE_SIZE.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <function name="new"
- c:identifier="pango_attr_size_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new font-size attribute in fractional points.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <doc xml:space="preserve">the font size, in %PANGO_SCALE<!-- -->ths of a point.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="new_absolute"
- c:identifier="pango_attr_size_new_absolute"
- version="1.8"
- introspectable="0">
- <doc xml:space="preserve">Create a new font-size attribute in device units.</doc>
- <return-value>
- <doc xml:space="preserve">the newly allocated #PangoAttribute, which should be
- freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <doc xml:space="preserve">the font size, in %PANGO_SCALE<!-- -->ths of a device unit.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <record name="AttrString" c:type="PangoAttrString">
- <doc xml:space="preserve">The #PangoAttrString structure is used to represent attributes with
- a string value.</doc>
- <field name="attr" writable="1">
- <doc xml:space="preserve">the common portion of the attribute</doc>
- <type name="Attribute" c:type="PangoAttribute"/>
- </field>
- <field name="value" writable="1">
- <doc xml:space="preserve">the string which is the value of the attribute</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- </record>
- <enumeration name="AttrType"
- glib:type-name="PangoAttrType"
- glib:get-type="pango_attr_type_get_type"
- c:type="PangoAttrType">
- <doc xml:space="preserve">The #PangoAttrType
- distinguishes between different types of attributes. Along with the
- predefined values, it is possible to allocate additional values
- for custom attributes using pango_attr_type_register(). The predefined
- values are given below. The type of structure used to store the
- attribute is listed in parentheses after the description.</doc>
- <member name="invalid"
- value="0"
- c:identifier="PANGO_ATTR_INVALID"
- glib:nick="invalid">
- <doc xml:space="preserve">does not happen</doc>
- </member>
- <member name="language"
- value="1"
- c:identifier="PANGO_ATTR_LANGUAGE"
- glib:nick="language">
- <doc xml:space="preserve">language (#PangoAttrLanguage)</doc>
- </member>
- <member name="family"
- value="2"
- c:identifier="PANGO_ATTR_FAMILY"
- glib:nick="family">
- <doc xml:space="preserve">font family name list (#PangoAttrString)</doc>
- </member>
- <member name="style"
- value="3"
- c:identifier="PANGO_ATTR_STYLE"
- glib:nick="style">
- <doc xml:space="preserve">font slant style (#PangoAttrInt)</doc>
- </member>
- <member name="weight"
- value="4"
- c:identifier="PANGO_ATTR_WEIGHT"
- glib:nick="weight">
- <doc xml:space="preserve">font weight (#PangoAttrInt)</doc>
- </member>
- <member name="variant"
- value="5"
- c:identifier="PANGO_ATTR_VARIANT"
- glib:nick="variant">
- <doc xml:space="preserve">font variant (normal or small caps) (#PangoAttrInt)</doc>
- </member>
- <member name="stretch"
- value="6"
- c:identifier="PANGO_ATTR_STRETCH"
- glib:nick="stretch">
- <doc xml:space="preserve">font stretch (#PangoAttrInt)</doc>
- </member>
- <member name="size"
- value="7"
- c:identifier="PANGO_ATTR_SIZE"
- glib:nick="size">
- <doc xml:space="preserve">font size in points scaled by %PANGO_SCALE (#PangoAttrInt)</doc>
- </member>
- <member name="font_desc"
- value="8"
- c:identifier="PANGO_ATTR_FONT_DESC"
- glib:nick="font-desc">
- <doc xml:space="preserve">font description (#PangoAttrFontDesc)</doc>
- </member>
- <member name="foreground"
- value="9"
- c:identifier="PANGO_ATTR_FOREGROUND"
- glib:nick="foreground">
- <doc xml:space="preserve">foreground color (#PangoAttrColor)</doc>
- </member>
- <member name="background"
- value="10"
- c:identifier="PANGO_ATTR_BACKGROUND"
- glib:nick="background">
- <doc xml:space="preserve">background color (#PangoAttrColor)</doc>
- </member>
- <member name="underline"
- value="11"
- c:identifier="PANGO_ATTR_UNDERLINE"
- glib:nick="underline">
- <doc xml:space="preserve">whether the text has an underline (#PangoAttrInt)</doc>
- </member>
- <member name="strikethrough"
- value="12"
- c:identifier="PANGO_ATTR_STRIKETHROUGH"
- glib:nick="strikethrough">
- <doc xml:space="preserve">whether the text is struck-through (#PangoAttrInt)</doc>
- </member>
- <member name="rise"
- value="13"
- c:identifier="PANGO_ATTR_RISE"
- glib:nick="rise">
- <doc xml:space="preserve">baseline displacement (#PangoAttrInt)</doc>
- </member>
- <member name="shape"
- value="14"
- c:identifier="PANGO_ATTR_SHAPE"
- glib:nick="shape">
- <doc xml:space="preserve">shape (#PangoAttrShape)</doc>
- </member>
- <member name="scale"
- value="15"
- c:identifier="PANGO_ATTR_SCALE"
- glib:nick="scale">
- <doc xml:space="preserve">font size scale factor (#PangoAttrFloat)</doc>
- </member>
- <member name="fallback"
- value="16"
- c:identifier="PANGO_ATTR_FALLBACK"
- glib:nick="fallback">
- <doc xml:space="preserve">whether fallback is enabled (#PangoAttrInt)</doc>
- </member>
- <member name="letter_spacing"
- value="17"
- c:identifier="PANGO_ATTR_LETTER_SPACING"
- glib:nick="letter-spacing">
- <doc xml:space="preserve">letter spacing (#PangoAttrInt)</doc>
- </member>
- <member name="underline_color"
- value="18"
- c:identifier="PANGO_ATTR_UNDERLINE_COLOR"
- glib:nick="underline-color">
- <doc xml:space="preserve">underline color (#PangoAttrColor)</doc>
- </member>
- <member name="strikethrough_color"
- value="19"
- c:identifier="PANGO_ATTR_STRIKETHROUGH_COLOR"
- glib:nick="strikethrough-color">
- <doc xml:space="preserve">strikethrough color (#PangoAttrColor)</doc>
- </member>
- <member name="absolute_size"
- value="20"
- c:identifier="PANGO_ATTR_ABSOLUTE_SIZE"
- glib:nick="absolute-size">
- <doc xml:space="preserve">font size in pixels scaled by %PANGO_SCALE (#PangoAttrInt)</doc>
- </member>
- <member name="gravity"
- value="21"
- c:identifier="PANGO_ATTR_GRAVITY"
- glib:nick="gravity">
- <doc xml:space="preserve">base text gravity (#PangoAttrInt)</doc>
- </member>
- <member name="gravity_hint"
- value="22"
- c:identifier="PANGO_ATTR_GRAVITY_HINT"
- glib:nick="gravity-hint">
- <doc xml:space="preserve">gravity hint (#PangoAttrInt)</doc>
- </member>
- <member name="font_features"
- value="23"
- c:identifier="PANGO_ATTR_FONT_FEATURES"
- glib:nick="font-features">
- <doc xml:space="preserve">OpenType font features (#PangoAttrString). Since 1.38</doc>
- </member>
- <member name="foreground_alpha"
- value="24"
- c:identifier="PANGO_ATTR_FOREGROUND_ALPHA"
- glib:nick="foreground-alpha">
- <doc xml:space="preserve">foreground alpha (#PangoAttrInt). Since 1.38</doc>
- </member>
- <member name="background_alpha"
- value="25"
- c:identifier="PANGO_ATTR_BACKGROUND_ALPHA"
- glib:nick="background-alpha">
- <doc xml:space="preserve">background alpha (#PangoAttrInt). Since 1.38</doc>
- </member>
- <function name="get_name"
- c:identifier="pango_attr_type_get_name"
- version="1.22">
- <doc xml:space="preserve">Fetches the attribute type name passed in when registering the type using
- pango_attr_type_register().
- The returned value is an interned string (see g_intern_string() for what
- that means) that should not be modified or freed.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the type ID name (which may be %NULL), or
- %NULL if @type is a built-in Pango attribute type or invalid.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">an attribute type ID to fetch the name for</doc>
- <type name="AttrType" c:type="PangoAttrType"/>
- </parameter>
- </parameters>
- </function>
- <function name="register" c:identifier="pango_attr_type_register">
- <doc xml:space="preserve">Allocate a new attribute type ID. The attribute type name can be accessed
- later by using pango_attr_type_get_name().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the new type ID.</doc>
- <type name="AttrType" c:type="PangoAttrType"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">an identifier for the type</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- </enumeration>
- <record name="Attribute" c:type="PangoAttribute">
- <doc xml:space="preserve">The #PangoAttribute structure represents the common portions of all
- attributes. Particular types of attributes include this structure
- as their initial portion. The common portion of the attribute holds
- the range to which the value in the type-specific part of the attribute
- applies and should be initialized using pango_attribute_init().
- By default an attribute will have an all-inclusive range of [0,%G_MAXUINT].</doc>
- <field name="klass" writable="1">
- <doc xml:space="preserve">the class structure holding information about the type of the attribute</doc>
- <type name="AttrClass" c:type="const PangoAttrClass*"/>
- </field>
- <field name="start_index" writable="1">
- <doc xml:space="preserve">the start index of the range (in bytes).</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="end_index" writable="1">
- <doc xml:space="preserve">end index of the range (in bytes). The character at this index
- is not included in the range.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <method name="copy"
- c:identifier="pango_attribute_copy"
- introspectable="0">
- <doc xml:space="preserve">Make a copy of an attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <instance-parameter name="attr" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttribute</doc>
- <type name="Attribute" c:type="const PangoAttribute*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="destroy" c:identifier="pango_attribute_destroy">
- <doc xml:space="preserve">Destroy a #PangoAttribute and free all associated memory.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="attr" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttribute.</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="equal" c:identifier="pango_attribute_equal">
- <doc xml:space="preserve">Compare two attributes for equality. This compares only the
- actual value of the two attributes and not the ranges that the
- attributes apply to.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the two attributes have the same value.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="attr1" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttribute</doc>
- <type name="Attribute" c:type="const PangoAttribute*"/>
- </instance-parameter>
- <parameter name="attr2" transfer-ownership="none">
- <doc xml:space="preserve">another #PangoAttribute</doc>
- <type name="Attribute" c:type="const PangoAttribute*"/>
- </parameter>
- </parameters>
- </method>
- <method name="init" c:identifier="pango_attribute_init" version="1.20">
- <doc xml:space="preserve">Initializes @attr's klass to @klass,
- it's start_index to %PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING
- and end_index to %PANGO_ATTR_INDEX_TO_TEXT_END
- such that the attribute applies
- to the entire text by default.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="attr" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttribute</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </instance-parameter>
- <parameter name="klass" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrClass</doc>
- <type name="AttrClass" c:type="const PangoAttrClass*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <enumeration name="BidiType"
- version="1.22"
- glib:type-name="PangoBidiType"
- glib:get-type="pango_bidi_type_get_type"
- c:type="PangoBidiType">
- <doc xml:space="preserve">The #PangoBidiType type represents the bidirectional character
- type of a Unicode character as specified by the
- <ulink url="http://www.unicode.org/reports/tr9/">Unicode bidirectional algorithm</ulink>.</doc>
- <member name="l"
- value="0"
- c:identifier="PANGO_BIDI_TYPE_L"
- glib:nick="l">
- <doc xml:space="preserve">Left-to-Right</doc>
- </member>
- <member name="lre"
- value="1"
- c:identifier="PANGO_BIDI_TYPE_LRE"
- glib:nick="lre">
- <doc xml:space="preserve">Left-to-Right Embedding</doc>
- </member>
- <member name="lro"
- value="2"
- c:identifier="PANGO_BIDI_TYPE_LRO"
- glib:nick="lro">
- <doc xml:space="preserve">Left-to-Right Override</doc>
- </member>
- <member name="r"
- value="3"
- c:identifier="PANGO_BIDI_TYPE_R"
- glib:nick="r">
- <doc xml:space="preserve">Right-to-Left</doc>
- </member>
- <member name="al"
- value="4"
- c:identifier="PANGO_BIDI_TYPE_AL"
- glib:nick="al">
- <doc xml:space="preserve">Right-to-Left Arabic</doc>
- </member>
- <member name="rle"
- value="5"
- c:identifier="PANGO_BIDI_TYPE_RLE"
- glib:nick="rle">
- <doc xml:space="preserve">Right-to-Left Embedding</doc>
- </member>
- <member name="rlo"
- value="6"
- c:identifier="PANGO_BIDI_TYPE_RLO"
- glib:nick="rlo">
- <doc xml:space="preserve">Right-to-Left Override</doc>
- </member>
- <member name="pdf"
- value="7"
- c:identifier="PANGO_BIDI_TYPE_PDF"
- glib:nick="pdf">
- <doc xml:space="preserve">Pop Directional Format</doc>
- </member>
- <member name="en"
- value="8"
- c:identifier="PANGO_BIDI_TYPE_EN"
- glib:nick="en">
- <doc xml:space="preserve">European Number</doc>
- </member>
- <member name="es"
- value="9"
- c:identifier="PANGO_BIDI_TYPE_ES"
- glib:nick="es">
- <doc xml:space="preserve">European Number Separator</doc>
- </member>
- <member name="et"
- value="10"
- c:identifier="PANGO_BIDI_TYPE_ET"
- glib:nick="et">
- <doc xml:space="preserve">European Number Terminator</doc>
- </member>
- <member name="an"
- value="11"
- c:identifier="PANGO_BIDI_TYPE_AN"
- glib:nick="an">
- <doc xml:space="preserve">Arabic Number</doc>
- </member>
- <member name="cs"
- value="12"
- c:identifier="PANGO_BIDI_TYPE_CS"
- glib:nick="cs">
- <doc xml:space="preserve">Common Number Separator</doc>
- </member>
- <member name="nsm"
- value="13"
- c:identifier="PANGO_BIDI_TYPE_NSM"
- glib:nick="nsm">
- <doc xml:space="preserve">Nonspacing Mark</doc>
- </member>
- <member name="bn"
- value="14"
- c:identifier="PANGO_BIDI_TYPE_BN"
- glib:nick="bn">
- <doc xml:space="preserve">Boundary Neutral</doc>
- </member>
- <member name="b"
- value="15"
- c:identifier="PANGO_BIDI_TYPE_B"
- glib:nick="b">
- <doc xml:space="preserve">Paragraph Separator</doc>
- </member>
- <member name="s"
- value="16"
- c:identifier="PANGO_BIDI_TYPE_S"
- glib:nick="s">
- <doc xml:space="preserve">Segment Separator</doc>
- </member>
- <member name="ws"
- value="17"
- c:identifier="PANGO_BIDI_TYPE_WS"
- glib:nick="ws">
- <doc xml:space="preserve">Whitespace</doc>
- </member>
- <member name="on"
- value="18"
- c:identifier="PANGO_BIDI_TYPE_ON"
- glib:nick="on">
- <doc xml:space="preserve">Other Neutrals</doc>
- </member>
- <function name="for_unichar"
- c:identifier="pango_bidi_type_for_unichar"
- version="1.22">
- <doc xml:space="preserve">Determines the normative bidirectional character type of a
- character, as specified in the Unicode Character Database.
- A simplified version of this function is available as
- pango_unichar_direction().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the bidirectional character type, as used in the
- Unicode bidirectional algorithm.</doc>
- <type name="BidiType" c:type="PangoBidiType"/>
- </return-value>
- <parameters>
- <parameter name="ch" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- </parameters>
- </function>
- </enumeration>
- <record name="Color"
- c:type="PangoColor"
- glib:type-name="PangoColor"
- glib:get-type="pango_color_get_type"
- c:symbol-prefix="color">
- <doc xml:space="preserve">The #PangoColor structure is used to
- represent a color in an uncalibrated RGB color-space.</doc>
- <field name="red" writable="1">
- <doc xml:space="preserve">value of red component</doc>
- <type name="guint16" c:type="guint16"/>
- </field>
- <field name="green" writable="1">
- <doc xml:space="preserve">value of green component</doc>
- <type name="guint16" c:type="guint16"/>
- </field>
- <field name="blue" writable="1">
- <doc xml:space="preserve">value of blue component</doc>
- <type name="guint16" c:type="guint16"/>
- </field>
- <method name="copy" c:identifier="pango_color_copy">
- <doc xml:space="preserve">Creates a copy of @src, which should be freed with
- pango_color_free(). Primarily used by language bindings,
- not that useful otherwise (since colors can just be copied
- by assignment in C).</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoColor, which
- should be freed with pango_color_free(), or %NULL if
- @src was %NULL.</doc>
- <type name="Color" c:type="PangoColor*"/>
- </return-value>
- <parameters>
- <instance-parameter name="src"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">color to copy, may be %NULL</doc>
- <type name="Color" c:type="const PangoColor*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="pango_color_free">
- <doc xml:space="preserve">Frees a color allocated by pango_color_copy().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="color"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">an allocated #PangoColor, may be %NULL</doc>
- <type name="Color" c:type="PangoColor*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="parse" c:identifier="pango_color_parse">
- <doc xml:space="preserve">Fill in the fields of a color from a string specification. The
- string can either one of a large set of standard names. (Taken
- from the CSS <ulink url="http://dev.w3.org/csswg/css-color/#named-colors">specification</ulink>), or it can be a hexadecimal
- value in the
- form '&num;rgb' '&num;rrggbb' '&num;rrrgggbbb' or '&num;rrrrggggbbbb' where
- 'r', 'g' and 'b' are hex digits of the red, green, and blue
- components of the color, respectively. (White in the four
- forms is '&num;fff' '&num;ffffff' '&num;fffffffff' and '&num;ffffffffffff')</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if parsing of the specifier succeeded,
- otherwise false.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="color"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoColor structure in which to store the
- result, or %NULL</doc>
- <type name="Color" c:type="PangoColor*"/>
- </instance-parameter>
- <parameter name="spec" transfer-ownership="none">
- <doc xml:space="preserve">a string specifying the new color</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_string"
- c:identifier="pango_color_to_string"
- version="1.16">
- <doc xml:space="preserve">Returns a textual specification of @color in the hexadecimal form
- <literal>&num;rrrrggggbbbb</literal>, where <literal>r</literal>,
- <literal>g</literal> and <literal>b</literal> are hex digits representing
- the red, green, and blue components respectively.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-allocated text string that must be freed with g_free().</doc>
- <type name="utf8" c:type="gchar*"/>
- </return-value>
- <parameters>
- <instance-parameter name="color" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoColor</doc>
- <type name="Color" c:type="const PangoColor*"/>
- </instance-parameter>
- </parameters>
- </method>
- </record>
- <class name="Context"
- c:symbol-prefix="context"
- c:type="PangoContext"
- parent="GObject.Object"
- glib:type-name="PangoContext"
- glib:get-type="pango_context_get_type"
- glib:type-struct="ContextClass">
- <doc xml:space="preserve">The #PangoContext structure stores global information
- used to control the itemization process.</doc>
- <constructor name="new" c:identifier="pango_context_new">
- <doc xml:space="preserve">Creates a new #PangoContext initialized to default values.
- This function is not particularly useful as it should always
- be followed by a pango_context_set_font_map() call, and the
- function pango_font_map_create_context() does these two steps
- together and hence users are recommended to use that.
- If you are using Pango as part of a higher-level system,
- that system may have it's own way of create a #PangoContext.
- For instance, the GTK+ toolkit has, among others,
- gdk_pango_context_get_for_screen(), and
- gtk_widget_get_pango_context(). Use those instead.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoContext, which should
- be freed with g_object_unref().</doc>
- <type name="Context" c:type="PangoContext*"/>
- </return-value>
- </constructor>
- <method name="changed"
- c:identifier="pango_context_changed"
- version="1.32.4">
- <doc xml:space="preserve">Forces a change in the context, which will cause any #PangoLayout
- using this context to re-layout.
- This function is only useful when implementing a new backend
- for Pango, something applications won't do. Backends should
- call this function if they have attached extra data to the context
- and such data is changed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_base_dir" c:identifier="pango_context_get_base_dir">
- <doc xml:space="preserve">Retrieves the base direction for the context. See
- pango_context_set_base_dir().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the base direction for the context.</doc>
- <type name="Direction" c:type="PangoDirection"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_base_gravity"
- c:identifier="pango_context_get_base_gravity"
- version="1.16">
- <doc xml:space="preserve">Retrieves the base gravity for the context. See
- pango_context_set_base_gravity().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the base gravity for the context.</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_font_description"
- c:identifier="pango_context_get_font_description">
- <doc xml:space="preserve">Retrieve the default font description for the context.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a pointer to the context's default font
- description. This value must not be modified or freed.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_font_map"
- c:identifier="pango_context_get_font_map"
- version="1.6">
- <doc xml:space="preserve">Gets the #PangoFontMap used to look up fonts for this context.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the font map for the #PangoContext.
- This value is owned by Pango and should not be unreferenced.</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_gravity"
- c:identifier="pango_context_get_gravity"
- version="1.16">
- <doc xml:space="preserve">Retrieves the gravity for the context. This is similar to
- pango_context_get_base_gravity(), except for when the base gravity
- is %PANGO_GRAVITY_AUTO for which pango_gravity_get_for_matrix() is used
- to return the gravity from the current context matrix.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the resolved gravity for the context.</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_gravity_hint"
- c:identifier="pango_context_get_gravity_hint"
- version="1.16">
- <doc xml:space="preserve">Retrieves the gravity hint for the context. See
- pango_context_set_gravity_hint() for details.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the gravity hint for the context.</doc>
- <type name="GravityHint" c:type="PangoGravityHint"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_language" c:identifier="pango_context_get_language">
- <doc xml:space="preserve">Retrieves the global language tag for the context.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the global language tag.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_matrix"
- c:identifier="pango_context_get_matrix"
- version="1.6">
- <doc xml:space="preserve">Gets the transformation matrix that will be applied when
- rendering with this context. See pango_context_set_matrix().</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the matrix, or %NULL if no matrix has
- been set (which is the same as the identity matrix). The returned
- matrix is owned by Pango and must not be modified or freed.</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_metrics" c:identifier="pango_context_get_metrics">
- <doc xml:space="preserve">Get overall metric information for a particular font
- description. Since the metrics may be substantially different for
- different scripts, a language tag can be provided to indicate that
- the metrics should be retrieved that correspond to the script(s)
- used by that language.
- The #PangoFontDescription is interpreted in the same way as
- by pango_itemize(), and the family name may be a comma separated
- list of figures. If characters from multiple of these families
- would be used to render the string, then the returned fonts would
- be a composite of the metrics for the fonts loaded for the
- individual families.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
- when finished using the object.</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="desc"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFontDescription structure. %NULL means that the
- font description from the context will be used.</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- <parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">language tag used to determine which script to get
- the metrics for. %NULL means that the language tag from the context
- will be used. If no language tag is set on the context, metrics
- for the default language (as determined by pango_language_get_default())
- will be returned.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_serial"
- c:identifier="pango_context_get_serial"
- version="1.32.4">
- <doc xml:space="preserve">Returns the current serial number of @context. The serial number is
- initialized to an small number larger than zero when a new context
- is created and is increased whenever the context is changed using any
- of the setter functions, or the #PangoFontMap it uses to find fonts has
- changed. The serial may wrap, but will never have the value 0. Since it
- can wrap, never compare it with "less than", always use "not equals".
- This can be used to automatically detect changes to a #PangoContext, and
- is only useful when implementing objects that need update when their
- #PangoContext changes, like #PangoLayout.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The current serial number of @context.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="list_families" c:identifier="pango_context_list_families">
- <doc xml:space="preserve">List all families for a context.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="families"
- direction="out"
- caller-allocates="0"
- transfer-ownership="container">
- <doc xml:space="preserve">location to store a pointer to
- an array of #PangoFontFamily *. This array should be freed
- with g_free().</doc>
- <array length="1" zero-terminated="0" c:type="PangoFontFamily***">
- <type name="FontFamily" c:type="PangoFontFamily**"/>
- </array>
- </parameter>
- <parameter name="n_families"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the number of elements in @descs</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="load_font" c:identifier="pango_context_load_font">
- <doc xml:space="preserve">Loads the font in one of the fontmaps in the context
- that is the closest match for @desc.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoFont
- that was loaded, or %NULL if no font matched.</doc>
- <type name="Font" c:type="PangoFont*"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription describing the font to load</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- </parameters>
- </method>
- <method name="load_fontset" c:identifier="pango_context_load_fontset">
- <doc xml:space="preserve">Load a set of fonts in the context that can be used to render
- a font matching @desc.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated
- #PangoFontset loaded, or %NULL if no font matched.</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription describing the fonts to load</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLanguage the fonts will be used for</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_base_dir" c:identifier="pango_context_set_base_dir">
- <doc xml:space="preserve">Sets the base direction for the context.
- The base direction is used in applying the Unicode bidirectional
- algorithm; if the @direction is %PANGO_DIRECTION_LTR or
- %PANGO_DIRECTION_RTL, then the value will be used as the paragraph
- direction in the Unicode bidirectional algorithm. A value of
- %PANGO_DIRECTION_WEAK_LTR or %PANGO_DIRECTION_WEAK_RTL is used only
- for paragraphs that do not contain any strong characters themselves.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="direction" transfer-ownership="none">
- <doc xml:space="preserve">the new base direction</doc>
- <type name="Direction" c:type="PangoDirection"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_base_gravity"
- c:identifier="pango_context_set_base_gravity"
- version="1.16">
- <doc xml:space="preserve">Sets the base gravity for the context.
- The base gravity is used in laying vertical text out.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="gravity" transfer-ownership="none">
- <doc xml:space="preserve">the new base gravity</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_font_description"
- c:identifier="pango_context_set_font_description">
- <doc xml:space="preserve">Set the default font description for the context</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">the new pango font description</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_font_map" c:identifier="pango_context_set_font_map">
- <doc xml:space="preserve">Sets the font map to be searched when fonts are looked-up in this context.
- This is only for internal use by Pango backends, a #PangoContext obtained
- via one of the recommended methods should already have a suitable font map.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="font_map" transfer-ownership="none">
- <doc xml:space="preserve">the #PangoFontMap to set.</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_gravity_hint"
- c:identifier="pango_context_set_gravity_hint"
- version="1.16">
- <doc xml:space="preserve">Sets the gravity hint for the context.
- The gravity hint is used in laying vertical text out, and is only relevant
- if gravity of the context as returned by pango_context_get_gravity()
- is set %PANGO_GRAVITY_EAST or %PANGO_GRAVITY_WEST.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="hint" transfer-ownership="none">
- <doc xml:space="preserve">the new gravity hint</doc>
- <type name="GravityHint" c:type="PangoGravityHint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_language" c:identifier="pango_context_set_language">
- <doc xml:space="preserve">Sets the global language tag for the context. The default language
- for the locale of the running process can be found using
- pango_language_get_default().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">the new language tag.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_matrix"
- c:identifier="pango_context_set_matrix"
- version="1.6">
- <doc xml:space="preserve">Sets the transformation matrix that will be applied when rendering
- with this context. Note that reported metrics are in the user space
- coordinates before the application of the matrix, not device-space
- coordinates after the application of the matrix. So, they don't scale
- with the matrix, though they may change slightly for different
- matrices, depending on how the text is fit to the pixel grid.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </instance-parameter>
- <parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix, or %NULL to unset any existing
- matrix. (No matrix set is the same as setting the identity matrix.)</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </parameter>
- </parameters>
- </method>
- </class>
- <record name="ContextClass"
- c:type="PangoContextClass"
- disguised="1"
- glib:is-gtype-struct-for="Context">
- </record>
- <record name="Coverage" c:type="PangoCoverage" disguised="1">
- <doc xml:space="preserve">The #PangoCoverage structure represents a map from Unicode characters
- to #PangoCoverageLevel. It is an opaque structure with no public fields.</doc>
- <method name="copy"
- c:identifier="pango_coverage_copy"
- introspectable="0">
- <doc xml:space="preserve">Copy an existing #PangoCoverage. (This function may now be unnecessary
- since we refcount the structure. File a bug if you use it.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoCoverage,
- with a reference count of one, which should be freed
- with pango_coverage_unref().</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </return-value>
- <parameters>
- <instance-parameter name="coverage" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoCoverage</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get" c:identifier="pango_coverage_get">
- <doc xml:space="preserve">Determine whether a particular index is covered by @coverage</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the coverage level of @coverage for character @index_.</doc>
- <type name="CoverageLevel" c:type="PangoCoverageLevel"/>
- </return-value>
- <parameters>
- <instance-parameter name="coverage" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoCoverage</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </instance-parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">the index to check</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="max" c:identifier="pango_coverage_max">
- <doc xml:space="preserve">Set the coverage for each index in @coverage to be the max (better)
- value of the current coverage for the index and the coverage for
- the corresponding index in @other.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="coverage" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoCoverage</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </instance-parameter>
- <parameter name="other" transfer-ownership="none">
- <doc xml:space="preserve">another #PangoCoverage</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="ref" c:identifier="pango_coverage_ref" introspectable="0">
- <doc xml:space="preserve">Increase the reference count on the #PangoCoverage by one</doc>
- <return-value>
- <doc xml:space="preserve">@coverage</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </return-value>
- <parameters>
- <instance-parameter name="coverage" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoCoverage</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="set" c:identifier="pango_coverage_set">
- <doc xml:space="preserve">Modify a particular index within @coverage</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="coverage" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoCoverage</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </instance-parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">the index to modify</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="level" transfer-ownership="none">
- <doc xml:space="preserve">the new level for @index_</doc>
- <type name="CoverageLevel" c:type="PangoCoverageLevel"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_bytes" c:identifier="pango_coverage_to_bytes">
- <doc xml:space="preserve">Convert a #PangoCoverage structure into a flat binary format</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="coverage" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoCoverage</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </instance-parameter>
- <parameter name="bytes"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">
- location to store result (must be freed with g_free())</doc>
- <array length="1" zero-terminated="0" c:type="guchar**">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="n_bytes"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store size of result</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unref" c:identifier="pango_coverage_unref">
- <doc xml:space="preserve">Decrease the reference count on the #PangoCoverage by one.
- If the result is zero, free the coverage and all associated memory.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="coverage" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoCoverage</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <function name="from_bytes"
- c:identifier="pango_coverage_from_bytes"
- introspectable="0">
- <doc xml:space="preserve">Convert data generated from pango_coverage_to_bytes() back
- to a #PangoCoverage</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a newly allocated
- #PangoCoverage, or %NULL if the data was invalid.</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </return-value>
- <parameters>
- <parameter name="bytes" transfer-ownership="none">
- <doc xml:space="preserve">binary data
- representing a #PangoCoverage</doc>
- <array length="1" zero-terminated="0" c:type="guchar*">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="n_bytes" transfer-ownership="none">
- <doc xml:space="preserve">the size of @bytes in bytes</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="new"
- c:identifier="pango_coverage_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new #PangoCoverage</doc>
- <return-value>
- <doc xml:space="preserve">the newly allocated #PangoCoverage,
- initialized to %PANGO_COVERAGE_NONE
- with a reference count of one, which
- should be freed with pango_coverage_unref().</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </return-value>
- </function>
- </record>
- <enumeration name="CoverageLevel"
- glib:type-name="PangoCoverageLevel"
- glib:get-type="pango_coverage_level_get_type"
- c:type="PangoCoverageLevel">
- <doc xml:space="preserve">Used to indicate how well a font can represent a particular Unicode
- character point for a particular script.</doc>
- <member name="none"
- value="0"
- c:identifier="PANGO_COVERAGE_NONE"
- glib:nick="none">
- <doc xml:space="preserve">The character is not representable with the font.</doc>
- </member>
- <member name="fallback"
- value="1"
- c:identifier="PANGO_COVERAGE_FALLBACK"
- glib:nick="fallback">
- <doc xml:space="preserve">The character is represented in a way that may be
- comprehensible but is not the correct graphical form.
- For instance, a Hangul character represented as a
- a sequence of Jamos, or a Latin transliteration of a Cyrillic word.</doc>
- </member>
- <member name="approximate"
- value="2"
- c:identifier="PANGO_COVERAGE_APPROXIMATE"
- glib:nick="approximate">
- <doc xml:space="preserve">The character is represented as basically the correct
- graphical form, but with a stylistic variant inappropriate for
- the current script.</doc>
- </member>
- <member name="exact"
- value="3"
- c:identifier="PANGO_COVERAGE_EXACT"
- glib:nick="exact">
- <doc xml:space="preserve">The character is represented as the correct graphical form.</doc>
- </member>
- </enumeration>
- <enumeration name="Direction"
- glib:type-name="PangoDirection"
- glib:get-type="pango_direction_get_type"
- c:type="PangoDirection">
- <doc xml:space="preserve">The #PangoDirection type represents a direction in the
- Unicode bidirectional algorithm; not every value in this
- enumeration makes sense for every usage of #PangoDirection;
- for example, the return value of pango_unichar_direction()
- and pango_find_base_dir() cannot be %PANGO_DIRECTION_WEAK_LTR
- or %PANGO_DIRECTION_WEAK_RTL, since every character is either
- neutral or has a strong direction; on the other hand
- %PANGO_DIRECTION_NEUTRAL doesn't make sense to pass
- to pango_itemize_with_base_dir().
- The %PANGO_DIRECTION_TTB_LTR, %PANGO_DIRECTION_TTB_RTL
- values come from an earlier interpretation of this
- enumeration as the writing direction of a block of
- text and are no longer used; See #PangoGravity for how
- vertical text is handled in Pango.</doc>
- <member name="ltr"
- value="0"
- c:identifier="PANGO_DIRECTION_LTR"
- glib:nick="ltr">
- <doc xml:space="preserve">A strong left-to-right direction</doc>
- </member>
- <member name="rtl"
- value="1"
- c:identifier="PANGO_DIRECTION_RTL"
- glib:nick="rtl">
- <doc xml:space="preserve">A strong right-to-left direction</doc>
- </member>
- <member name="ttb_ltr"
- value="2"
- c:identifier="PANGO_DIRECTION_TTB_LTR"
- glib:nick="ttb-ltr">
- <doc xml:space="preserve">Deprecated value; treated the
- same as %PANGO_DIRECTION_RTL.</doc>
- </member>
- <member name="ttb_rtl"
- value="3"
- c:identifier="PANGO_DIRECTION_TTB_RTL"
- glib:nick="ttb-rtl">
- <doc xml:space="preserve">Deprecated value; treated the
- same as %PANGO_DIRECTION_LTR</doc>
- </member>
- <member name="weak_ltr"
- value="4"
- c:identifier="PANGO_DIRECTION_WEAK_LTR"
- glib:nick="weak-ltr">
- <doc xml:space="preserve">A weak left-to-right direction</doc>
- </member>
- <member name="weak_rtl"
- value="5"
- c:identifier="PANGO_DIRECTION_WEAK_RTL"
- glib:nick="weak-rtl">
- <doc xml:space="preserve">A weak right-to-left direction</doc>
- </member>
- <member name="neutral"
- value="6"
- c:identifier="PANGO_DIRECTION_NEUTRAL"
- glib:nick="neutral">
- <doc xml:space="preserve">No direction specified</doc>
- </member>
- </enumeration>
- <constant name="ENGINE_TYPE_LANG"
- value="PangoEngineLang"
- c:type="PANGO_ENGINE_TYPE_LANG"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">A string constant defining the engine type for language engines.
- These engines derive from #PangoEngineLang.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="ENGINE_TYPE_SHAPE"
- value="PangoEngineShape"
- c:type="PANGO_ENGINE_TYPE_SHAPE"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">A string constant defining the engine type for shaping engines.
- These engines derive from #PangoEngineShape.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <enumeration name="EllipsizeMode"
- glib:type-name="PangoEllipsizeMode"
- glib:get-type="pango_ellipsize_mode_get_type"
- c:type="PangoEllipsizeMode">
- <doc xml:space="preserve">The #PangoEllipsizeMode type describes what sort of (if any)
- ellipsization should be applied to a line of text. In
- the ellipsization process characters are removed from the
- text in order to make it fit to a given width and replaced
- with an ellipsis.</doc>
- <member name="none"
- value="0"
- c:identifier="PANGO_ELLIPSIZE_NONE"
- glib:nick="none">
- <doc xml:space="preserve">No ellipsization</doc>
- </member>
- <member name="start"
- value="1"
- c:identifier="PANGO_ELLIPSIZE_START"
- glib:nick="start">
- <doc xml:space="preserve">Omit characters at the start of the text</doc>
- </member>
- <member name="middle"
- value="2"
- c:identifier="PANGO_ELLIPSIZE_MIDDLE"
- glib:nick="middle">
- <doc xml:space="preserve">Omit characters in the middle of the text</doc>
- </member>
- <member name="end"
- value="3"
- c:identifier="PANGO_ELLIPSIZE_END"
- glib:nick="end">
- <doc xml:space="preserve">Omit characters at the end of the text</doc>
- </member>
- </enumeration>
- <class name="Engine"
- c:symbol-prefix="engine"
- c:type="PangoEngine"
- deprecated="1"
- deprecated-version="1.38"
- parent="GObject.Object"
- abstract="1"
- glib:type-name="PangoEngine"
- glib:get-type="pango_engine_get_type"
- glib:type-struct="EngineClass">
- <doc xml:space="preserve">#PangoEngine is the base class for all types of language and
- script specific engines. It has no functionality by itself.</doc>
- <field name="parent_instance" readable="0" private="1">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- </class>
- <record name="EngineClass"
- c:type="PangoEngineClass"
- glib:is-gtype-struct-for="Engine"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Class structure for #PangoEngine</doc>
- <field name="parent_class" readable="0" private="1">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- </record>
- <record name="EngineInfo"
- c:type="PangoEngineInfo"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">The #PangoEngineInfo structure contains information about a particular
- engine. It contains the following fields:</doc>
- <field name="id" writable="1">
- <doc xml:space="preserve">a unique string ID for the engine.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="engine_type" writable="1">
- <doc xml:space="preserve">a string identifying the engine type.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="render_type" writable="1">
- <doc xml:space="preserve">a string identifying the render type.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="scripts" writable="1">
- <doc xml:space="preserve">array of scripts this engine supports.</doc>
- <type name="EngineScriptInfo" c:type="PangoEngineScriptInfo*"/>
- </field>
- <field name="n_scripts" writable="1">
- <doc xml:space="preserve">number of items in @scripts.</doc>
- <type name="gint" c:type="gint"/>
- </field>
- </record>
- <class name="EngineLang"
- c:symbol-prefix="engine_lang"
- c:type="PangoEngineLang"
- deprecated="1"
- deprecated-version="1.38"
- parent="Engine"
- abstract="1"
- glib:type-name="PangoEngineLang"
- glib:get-type="pango_engine_lang_get_type"
- glib:type-struct="EngineLangClass">
- <doc xml:space="preserve">The #PangoEngineLang class is implemented by engines that
- customize the rendering-system independent part of the
- Pango pipeline for a particular script or language. For
- instance, a custom #PangoEngineLang could be provided for
- Thai to implement the dictionary-based word boundary
- lookups needed for that language.</doc>
- <virtual-method name="script_break">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="engine" transfer-ownership="none">
- <type name="EngineLang" c:type="PangoEngineLang*"/>
- </instance-parameter>
- <parameter name="text" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="analysis" transfer-ownership="none">
- <type name="Analysis" c:type="PangoAnalysis*"/>
- </parameter>
- <parameter name="attrs" transfer-ownership="none">
- <type name="LogAttr" c:type="PangoLogAttr*"/>
- </parameter>
- <parameter name="attrs_len" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </virtual-method>
- <field name="parent_instance" readable="0" private="1">
- <type name="Engine" c:type="PangoEngine"/>
- </field>
- </class>
- <record name="EngineLangClass"
- c:type="PangoEngineLangClass"
- glib:is-gtype-struct-for="EngineLang"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Class structure for #PangoEngineLang</doc>
- <field name="parent_class" readable="0" private="1">
- <type name="EngineClass" c:type="PangoEngineClass"/>
- </field>
- <field name="script_break">
- <callback name="script_break">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="engine" transfer-ownership="none">
- <type name="EngineLang" c:type="PangoEngineLang*"/>
- </parameter>
- <parameter name="text" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="analysis" transfer-ownership="none">
- <type name="Analysis" c:type="PangoAnalysis*"/>
- </parameter>
- <parameter name="attrs" transfer-ownership="none">
- <type name="LogAttr" c:type="PangoLogAttr*"/>
- </parameter>
- <parameter name="attrs_len" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- </record>
- <record name="EngineScriptInfo"
- c:type="PangoEngineScriptInfo"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">The #PangoEngineScriptInfo structure contains
- information about how the shaper covers a particular script.</doc>
- <field name="script" writable="1">
- <doc xml:space="preserve">a #PangoScript. The value %PANGO_SCRIPT_COMMON has
- the special meaning here of "all scripts"</doc>
- <type name="Script" c:type="PangoScript"/>
- </field>
- <field name="langs" writable="1">
- <doc xml:space="preserve">a semicolon separated list of languages that this
- engine handles for this script. This may be empty,
- in which case the engine is saying that it is a
- fallback choice for all languages for this range,
- but should not be used if another engine
- indicates that it is specific for the language for
- a given code point. An entry in this list of "*"
- indicates that this engine is specific to all
- languages for this range.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </field>
- </record>
- <class name="EngineShape"
- c:symbol-prefix="engine_shape"
- c:type="PangoEngineShape"
- deprecated="1"
- deprecated-version="1.38"
- parent="Engine"
- abstract="1"
- glib:type-name="PangoEngineShape"
- glib:get-type="pango_engine_shape_get_type"
- glib:type-struct="EngineShapeClass">
- <doc xml:space="preserve">The #PangoEngineShape class is implemented by engines that
- customize the rendering-system dependent part of the
- Pango pipeline for a particular script or language.
- A #PangoEngineShape implementation is then specific to both
- a particular rendering system or group of rendering systems
- and to a particular script. For instance, there is one
- #PangoEngineShape implementation to handle shaping Arabic
- for Fontconfig-based backends.</doc>
- <virtual-method name="covers">
- <return-value transfer-ownership="none">
- <type name="CoverageLevel" c:type="PangoCoverageLevel"/>
- </return-value>
- <parameters>
- <instance-parameter name="engine" transfer-ownership="none">
- <type name="EngineShape" c:type="PangoEngineShape*"/>
- </instance-parameter>
- <parameter name="font" transfer-ownership="none">
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="language" transfer-ownership="none">
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- <parameter name="wc" transfer-ownership="none">
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="script_shape">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="engine" transfer-ownership="none">
- <type name="EngineShape" c:type="PangoEngineShape*"/>
- </instance-parameter>
- <parameter name="font" transfer-ownership="none">
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="item_text" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="item_length" transfer-ownership="none">
- <type name="guint" c:type="unsigned int"/>
- </parameter>
- <parameter name="analysis" transfer-ownership="none">
- <type name="Analysis" c:type="const PangoAnalysis*"/>
- </parameter>
- <parameter name="glyphs" transfer-ownership="none">
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </parameter>
- <parameter name="paragraph_text" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="paragraph_length" transfer-ownership="none">
- <type name="guint" c:type="unsigned int"/>
- </parameter>
- </parameters>
- </virtual-method>
- <field name="parent_instance">
- <type name="Engine" c:type="PangoEngine"/>
- </field>
- </class>
- <record name="EngineShapeClass"
- c:type="PangoEngineShapeClass"
- glib:is-gtype-struct-for="EngineShape"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Class structure for #PangoEngineShape</doc>
- <field name="parent_class" readable="0" private="1">
- <type name="EngineClass" c:type="PangoEngineClass"/>
- </field>
- <field name="script_shape">
- <callback name="script_shape">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="engine" transfer-ownership="none">
- <type name="EngineShape" c:type="PangoEngineShape*"/>
- </parameter>
- <parameter name="font" transfer-ownership="none">
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="item_text" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="item_length" transfer-ownership="none">
- <type name="guint" c:type="unsigned int"/>
- </parameter>
- <parameter name="analysis" transfer-ownership="none">
- <type name="Analysis" c:type="const PangoAnalysis*"/>
- </parameter>
- <parameter name="glyphs" transfer-ownership="none">
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </parameter>
- <parameter name="paragraph_text" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="paragraph_length" transfer-ownership="none">
- <type name="guint" c:type="unsigned int"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="covers">
- <callback name="covers">
- <return-value transfer-ownership="none">
- <type name="CoverageLevel" c:type="PangoCoverageLevel"/>
- </return-value>
- <parameters>
- <parameter name="engine" transfer-ownership="none">
- <type name="EngineShape" c:type="PangoEngineShape*"/>
- </parameter>
- <parameter name="font" transfer-ownership="none">
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="language" transfer-ownership="none">
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- <parameter name="wc" transfer-ownership="none">
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- </record>
- <class name="Font"
- c:symbol-prefix="font"
- c:type="PangoFont"
- parent="GObject.Object"
- abstract="1"
- glib:type-name="PangoFont"
- glib:get-type="pango_font_get_type"
- glib:type-struct="FontClass">
- <doc xml:space="preserve">The #PangoFont structure is used to represent
- a font in a rendering-system-independent matter.
- To create an implementation of a #PangoFont,
- the rendering-system specific code should allocate
- a larger structure that contains a nested
- #PangoFont, fill in the <structfield>klass</structfield> member of
- the nested #PangoFont with a pointer to
- a appropriate #PangoFontClass, then call
- pango_font_init() on the structure.
- The #PangoFont structure contains one member
- which the implementation fills in.</doc>
- <function name="descriptions_free"
- c:identifier="pango_font_descriptions_free">
- <doc xml:space="preserve">Frees an array of font descriptions.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="descs"
- transfer-ownership="full"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a pointer
- to an array of #PangoFontDescription, may be %NULL</doc>
- <array length="1"
- zero-terminated="0"
- c:type="PangoFontDescription**">
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </array>
- </parameter>
- <parameter name="n_descs" transfer-ownership="none">
- <doc xml:space="preserve">number of font descriptions in @descs</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <virtual-method name="describe" invoker="describe">
- <doc xml:space="preserve">Returns a description of the font, with font size set in points.
- Use pango_font_describe_with_absolute_size() if you want the font
- size in device units.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-allocated #PangoFontDescription object.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="describe_absolute">
- <return-value transfer-ownership="full">
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font" transfer-ownership="none">
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="find_shaper"
- invoker="find_shaper"
- introspectable="0">
- <doc xml:space="preserve">Finds the best matching shaper for a font for a particular
- language tag and character point.</doc>
- <return-value>
- <doc xml:space="preserve">the best matching shaper.</doc>
- <type name="EngineShape" c:type="PangoEngineShape*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- <parameter name="lang" transfer-ownership="none">
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- <parameter name="ch" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character.</doc>
- <type name="guint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_coverage"
- invoker="get_coverage"
- introspectable="0">
- <doc xml:space="preserve">Computes the coverage map for a given font and language tag.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-allocated #PangoCoverage
- object.</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- <parameter name="lang" transfer-ownership="none">
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_font_map"
- invoker="get_font_map"
- version="1.10">
- <doc xml:space="preserve">Gets the font map for which the font was created.
- Note that the font maintains a <firstterm>weak</firstterm> reference
- to the font map, so if all references to font map are dropped, the font
- map will be finalized even if there are fonts created with the font
- map that are still alive. In that case this function will return %NULL.
- It is the responsibility of the user to ensure that the font map is kept
- alive. In most uses this is not an issue as a #PangoContext holds
- a reference to the font map.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the #PangoFontMap for the
- font, or %NULL if @font is %NULL.</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFont, or %NULL</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_glyph_extents" invoker="get_glyph_extents">
- <doc xml:space="preserve">Gets the logical and ink extents of a glyph within a font. The
- coordinate system for each rectangle has its origin at the
- base line and horizontal origin of the character with increasing
- coordinates extending to the right and down. The macros PANGO_ASCENT(),
- PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert
- from the extents rectangle to more traditional font metrics. The units
- of the rectangles are in 1/PANGO_SCALE of a device unit.
- If @font is %NULL, this function gracefully sets some sane values in the
- output variables and returns.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="font"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- <parameter name="glyph" transfer-ownership="none">
- <doc xml:space="preserve">the glyph index</doc>
- <type name="Glyph" c:type="PangoGlyph"/>
- </parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the extents of the glyph
- as drawn or %NULL to indicate that the result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the logical extents of
- the glyph or %NULL to indicate that the result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_metrics" invoker="get_metrics">
- <doc xml:space="preserve">Gets overall metric information for a font. Since the metrics may be
- substantially different for different scripts, a language tag can
- be provided to indicate that the metrics should be retrieved that
- correspond to the script(s) used by that language.
- If @font is %NULL, this function gracefully sets some sane values in the
- output variables and returns.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
- when finished using the object.</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- <parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">language tag used to determine which script to get the metrics
- for, or %NULL to indicate to get the metrics for the entire font.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="describe" c:identifier="pango_font_describe">
- <doc xml:space="preserve">Returns a description of the font, with font size set in points.
- Use pango_font_describe_with_absolute_size() if you want the font
- size in device units.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-allocated #PangoFontDescription object.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="describe_with_absolute_size"
- c:identifier="pango_font_describe_with_absolute_size"
- version="1.14">
- <doc xml:space="preserve">Returns a description of the font, with absolute font size set
- (in device units). Use pango_font_describe() if you want the font
- size in points.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-allocated #PangoFontDescription object.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="find_shaper"
- c:identifier="pango_font_find_shaper"
- introspectable="0">
- <doc xml:space="preserve">Finds the best matching shaper for a font for a particular
- language tag and character point.</doc>
- <return-value>
- <doc xml:space="preserve">the best matching shaper.</doc>
- <type name="EngineShape" c:type="PangoEngineShape*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">the language tag</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- <parameter name="ch" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character.</doc>
- <type name="guint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_coverage"
- c:identifier="pango_font_get_coverage"
- introspectable="0">
- <doc xml:space="preserve">Computes the coverage map for a given font and language tag.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-allocated #PangoCoverage
- object.</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">the language tag</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_font_map"
- c:identifier="pango_font_get_font_map"
- version="1.10">
- <doc xml:space="preserve">Gets the font map for which the font was created.
- Note that the font maintains a <firstterm>weak</firstterm> reference
- to the font map, so if all references to font map are dropped, the font
- map will be finalized even if there are fonts created with the font
- map that are still alive. In that case this function will return %NULL.
- It is the responsibility of the user to ensure that the font map is kept
- alive. In most uses this is not an issue as a #PangoContext holds
- a reference to the font map.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the #PangoFontMap for the
- font, or %NULL if @font is %NULL.</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFont, or %NULL</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_glyph_extents"
- c:identifier="pango_font_get_glyph_extents">
- <doc xml:space="preserve">Gets the logical and ink extents of a glyph within a font. The
- coordinate system for each rectangle has its origin at the
- base line and horizontal origin of the character with increasing
- coordinates extending to the right and down. The macros PANGO_ASCENT(),
- PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert
- from the extents rectangle to more traditional font metrics. The units
- of the rectangles are in 1/PANGO_SCALE of a device unit.
- If @font is %NULL, this function gracefully sets some sane values in the
- output variables and returns.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="font"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- <parameter name="glyph" transfer-ownership="none">
- <doc xml:space="preserve">the glyph index</doc>
- <type name="Glyph" c:type="PangoGlyph"/>
- </parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the extents of the glyph
- as drawn or %NULL to indicate that the result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the logical extents of
- the glyph or %NULL to indicate that the result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_metrics" c:identifier="pango_font_get_metrics">
- <doc xml:space="preserve">Gets overall metric information for a font. Since the metrics may be
- substantially different for different scripts, a language tag can
- be provided to indicate that the metrics should be retrieved that
- correspond to the script(s) used by that language.
- If @font is %NULL, this function gracefully sets some sane values in the
- output variables and returns.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
- when finished using the object.</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </return-value>
- <parameters>
- <instance-parameter name="font"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </instance-parameter>
- <parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">language tag used to determine which script to get the metrics
- for, or %NULL to indicate to get the metrics for the entire font.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </method>
- <field name="parent_instance">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- </class>
- <record name="FontClass"
- c:type="PangoFontClass"
- glib:is-gtype-struct-for="Font">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="describe">
- <callback name="describe">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-allocated #PangoFontDescription object.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_coverage" introspectable="0">
- <callback name="get_coverage" introspectable="0">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-allocated #PangoCoverage
- object.</doc>
- <type name="Coverage" c:type="PangoCoverage*"/>
- </return-value>
- <parameters>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="lang" transfer-ownership="none">
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="find_shaper" introspectable="0">
- <callback name="find_shaper" introspectable="0">
- <return-value>
- <doc xml:space="preserve">the best matching shaper.</doc>
- <type name="EngineShape" c:type="PangoEngineShape*"/>
- </return-value>
- <parameters>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="lang" transfer-ownership="none">
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- <parameter name="ch" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character.</doc>
- <type name="guint32" c:type="guint32"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_glyph_extents">
- <callback name="get_glyph_extents">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="font"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="glyph" transfer-ownership="none">
- <doc xml:space="preserve">the glyph index</doc>
- <type name="Glyph" c:type="PangoGlyph"/>
- </parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the extents of the glyph
- as drawn or %NULL to indicate that the result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the logical extents of
- the glyph or %NULL to indicate that the result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_metrics">
- <callback name="get_metrics">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
- when finished using the object.</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </return-value>
- <parameters>
- <parameter name="font"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">language tag used to determine which script to get the metrics
- for, or %NULL to indicate to get the metrics for the entire font.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_font_map">
- <callback name="get_font_map">
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the #PangoFontMap for the
- font, or %NULL if @font is %NULL.</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </return-value>
- <parameters>
- <parameter name="font"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFont, or %NULL</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="describe_absolute">
- <callback name="describe_absolute">
- <return-value transfer-ownership="full">
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <parameter name="font" transfer-ownership="none">
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_pango_reserved1" introspectable="0">
- <callback name="_pango_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_pango_reserved2" introspectable="0">
- <callback name="_pango_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <record name="FontDescription"
- c:type="PangoFontDescription"
- glib:type-name="PangoFontDescription"
- glib:get-type="pango_font_description_get_type"
- c:symbol-prefix="font_description">
- <doc xml:space="preserve">The #PangoFontDescription structure represents the description
- of an ideal font. These structures are used both to list
- what fonts are available on the system and also for specifying
- the characteristics of a font to load.</doc>
- <constructor name="new" c:identifier="pango_font_description_new">
- <doc xml:space="preserve">Creates a new font description structure with all fields unset.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoFontDescription, which
- should be freed using pango_font_description_free().</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- </constructor>
- <method name="better_match"
- c:identifier="pango_font_description_better_match">
- <doc xml:space="preserve">Determines if the style attributes of @new_match are a closer match
- for @desc than those of @old_match are, or if @old_match is %NULL,
- determines if @new_match is a match at all.
- Approximate matching is done for
- weight and style; other style attributes must match exactly.
- Style attributes are all attributes other than family and size-related
- attributes. Approximate matching for style considers PANGO_STYLE_OBLIQUE
- and PANGO_STYLE_ITALIC as matches, but not as good a match as when the
- styles are equal.
- Note that @old_match must match @desc.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @new_match is a better match</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="old_match"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFontDescription, or %NULL</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- <parameter name="new_match" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- </parameters>
- </method>
- <method name="copy" c:identifier="pango_font_description_copy">
- <doc xml:space="preserve">Make a copy of a #PangoFontDescription.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated
- #PangoFontDescription, which should be freed with
- pango_font_description_free(), or %NULL if @desc was
- %NULL.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFontDescription, may be %NULL</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="copy_static"
- c:identifier="pango_font_description_copy_static">
- <doc xml:space="preserve">Like pango_font_description_copy(), but only a shallow copy is made
- of the family name and other allocated fields. The result can only
- be used until @desc is modified or freed. This is meant to be used
- when the copy is only needed temporarily.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated
- #PangoFontDescription, which should be freed with
- pango_font_description_free(), or %NULL if @desc was
- %NULL.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFontDescription, may be %NULL</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="equal" c:identifier="pango_font_description_equal">
- <doc xml:space="preserve">Compares two font descriptions for equality. Two font descriptions
- are considered equal if the fonts they describe are provably identical.
- This means that their masks do not have to match, as long as other fields
- are all the same. (Two font descriptions may result in identical fonts
- being loaded, but still compare %FALSE.)</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the two font descriptions are identical,
- %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc1" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="desc2" transfer-ownership="none">
- <doc xml:space="preserve">another #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="pango_font_description_free">
- <doc xml:space="preserve">Frees a font description.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFontDescription, may be %NULL</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_family"
- c:identifier="pango_font_description_get_family">
- <doc xml:space="preserve">Gets the family name field of a font description. See
- pango_font_description_set_family().</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the family name field for the font
- description, or %NULL if not previously set. This
- has the same life-time as the font description itself
- and should not be freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription.</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_gravity"
- c:identifier="pango_font_description_get_gravity"
- version="1.16">
- <doc xml:space="preserve">Gets the gravity field of a font description. See
- pango_font_description_set_gravity().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the gravity field for the font description. Use
- pango_font_description_get_set_fields() to find out if
- the field was explicitly set or not.</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_set_fields"
- c:identifier="pango_font_description_get_set_fields">
- <doc xml:space="preserve">Determines which fields in a font description have been set.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a bitmask with bits set corresponding to the
- fields in @desc that have been set.</doc>
- <type name="FontMask" c:type="PangoFontMask"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_size" c:identifier="pango_font_description_get_size">
- <doc xml:space="preserve">Gets the size field of a font description.
- See pango_font_description_set_size().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the size field for the font description in points or device units.
- You must call pango_font_description_get_size_is_absolute()
- to find out which is the case. Returns 0 if the size field has not
- previously been set or it has been set to 0 explicitly.
- Use pango_font_description_get_set_fields() to
- find out if the field was explicitly set or not.</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_size_is_absolute"
- c:identifier="pango_font_description_get_size_is_absolute"
- version="1.8">
- <doc xml:space="preserve">Determines whether the size of the font is in points (not absolute) or device units (absolute).
- See pango_font_description_set_size() and pango_font_description_set_absolute_size().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether the size for the font description is in
- points or device units. Use pango_font_description_get_set_fields() to
- find out if the size field of the font description was explicitly set or not.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_stretch"
- c:identifier="pango_font_description_get_stretch">
- <doc xml:space="preserve">Gets the stretch field of a font description.
- See pango_font_description_set_stretch().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the stretch field for the font description. Use
- pango_font_description_get_set_fields() to find out if
- the field was explicitly set or not.</doc>
- <type name="Stretch" c:type="PangoStretch"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription.</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_style" c:identifier="pango_font_description_get_style">
- <doc xml:space="preserve">Gets the style field of a #PangoFontDescription. See
- pango_font_description_set_style().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the style field for the font description.
- Use pango_font_description_get_set_fields() to find out if
- the field was explicitly set or not.</doc>
- <type name="Style" c:type="PangoStyle"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_variant"
- c:identifier="pango_font_description_get_variant">
- <doc xml:space="preserve">Gets the variant field of a #PangoFontDescription. See
- pango_font_description_set_variant().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the variant field for the font description. Use
- pango_font_description_get_set_fields() to find out if
- the field was explicitly set or not.</doc>
- <type name="Variant" c:type="PangoVariant"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription.</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_weight"
- c:identifier="pango_font_description_get_weight">
- <doc xml:space="preserve">Gets the weight field of a font description. See
- pango_font_description_set_weight().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the weight field for the font description. Use
- pango_font_description_get_set_fields() to find out if
- the field was explicitly set or not.</doc>
- <type name="Weight" c:type="PangoWeight"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="hash" c:identifier="pango_font_description_hash">
- <doc xml:space="preserve">Computes a hash of a #PangoFontDescription structure suitable
- to be used, for example, as an argument to g_hash_table_new().
- The hash value is independent of @desc->mask.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the hash value.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="merge" c:identifier="pango_font_description_merge">
- <doc xml:space="preserve">Merges the fields that are set in @desc_to_merge into the fields in
- @desc. If @replace_existing is %FALSE, only fields in @desc that
- are not already set are affected. If %TRUE, then fields that are
- already set will be replaced as well.
- If @desc_to_merge is %NULL, this function performs nothing.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="desc_to_merge"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #PangoFontDescription to merge from, or %NULL</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- <parameter name="replace_existing" transfer-ownership="none">
- <doc xml:space="preserve">if %TRUE, replace fields in @desc with the
- corresponding values from @desc_to_merge, even if they
- are already exist.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="merge_static"
- c:identifier="pango_font_description_merge_static">
- <doc xml:space="preserve">Like pango_font_description_merge(), but only a shallow copy is made
- of the family name and other allocated fields. @desc can only be
- used until @desc_to_merge is modified or freed. This is meant
- to be used when the merged font description is only needed temporarily.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="desc_to_merge" transfer-ownership="none">
- <doc xml:space="preserve">the #PangoFontDescription to merge from</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- <parameter name="replace_existing" transfer-ownership="none">
- <doc xml:space="preserve">if %TRUE, replace fields in @desc with the
- corresponding values from @desc_to_merge, even if they
- are already exist.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_absolute_size"
- c:identifier="pango_font_description_set_absolute_size"
- version="1.8">
- <doc xml:space="preserve">Sets the size field of a font description, in device units. This is mutually
- exclusive with pango_font_description_set_size() which sets the font size
- in points.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="size" transfer-ownership="none">
- <doc xml:space="preserve">the new size, in Pango units. There are %PANGO_SCALE Pango units in one
- device unit. For an output backend where a device unit is a pixel, a @size
- value of 10 * PANGO_SCALE gives a 10 pixel font.</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_family"
- c:identifier="pango_font_description_set_family">
- <doc xml:space="preserve">Sets the family name field of a font description. The family
- name represents a family of related font styles, and will
- resolve to a particular #PangoFontFamily. In some uses of
- #PangoFontDescription, it is also possible to use a comma
- separated list of family names for this field.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a string representing the family name.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_family_static"
- c:identifier="pango_font_description_set_family_static">
- <doc xml:space="preserve">Like pango_font_description_set_family(), except that no
- copy of @family is made. The caller must make sure that the
- string passed in stays around until @desc has been freed
- or the name is set again. This function can be used if
- @family is a static string such as a C string literal, or
- if @desc is only needed temporarily.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a string representing the family name.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_gravity"
- c:identifier="pango_font_description_set_gravity"
- version="1.16">
- <doc xml:space="preserve">Sets the gravity field of a font description. The gravity field
- specifies how the glyphs should be rotated. If @gravity is
- %PANGO_GRAVITY_AUTO, this actually unsets the gravity mask on
- the font description.
- This function is seldom useful to the user. Gravity should normally
- be set on a #PangoContext.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="gravity" transfer-ownership="none">
- <doc xml:space="preserve">the gravity for the font description.</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_size" c:identifier="pango_font_description_set_size">
- <doc xml:space="preserve">Sets the size field of a font description in fractional points. This is mutually
- exclusive with pango_font_description_set_absolute_size().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="size" transfer-ownership="none">
- <doc xml:space="preserve">the size of the font in points, scaled by PANGO_SCALE. (That is,
- a @size value of 10 * PANGO_SCALE is a 10 point font. The conversion
- factor between points and device units depends on system configuration
- and the output device. For screen display, a logical DPI of 96 is
- common, in which case a 10 point font corresponds to a 10 * (96 / 72) = 13.3
- pixel font. Use pango_font_description_set_absolute_size() if you need
- a particular size in device units.</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_stretch"
- c:identifier="pango_font_description_set_stretch">
- <doc xml:space="preserve">Sets the stretch field of a font description. The stretch field
- specifies how narrow or wide the font should be.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="stretch" transfer-ownership="none">
- <doc xml:space="preserve">the stretch for the font description</doc>
- <type name="Stretch" c:type="PangoStretch"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_style" c:identifier="pango_font_description_set_style">
- <doc xml:space="preserve">Sets the style field of a #PangoFontDescription. The
- #PangoStyle enumeration describes whether the font is slanted and
- the manner in which it is slanted; it can be either
- #PANGO_STYLE_NORMAL, #PANGO_STYLE_ITALIC, or #PANGO_STYLE_OBLIQUE.
- Most fonts will either have a italic style or an oblique
- style, but not both, and font matching in Pango will
- match italic specifications with oblique fonts and vice-versa
- if an exact match is not found.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="style" transfer-ownership="none">
- <doc xml:space="preserve">the style for the font description</doc>
- <type name="Style" c:type="PangoStyle"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_variant"
- c:identifier="pango_font_description_set_variant">
- <doc xml:space="preserve">Sets the variant field of a font description. The #PangoVariant
- can either be %PANGO_VARIANT_NORMAL or %PANGO_VARIANT_SMALL_CAPS.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="variant" transfer-ownership="none">
- <doc xml:space="preserve">the variant type for the font description.</doc>
- <type name="Variant" c:type="PangoVariant"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_weight"
- c:identifier="pango_font_description_set_weight">
- <doc xml:space="preserve">Sets the weight field of a font description. The weight field
- specifies how bold or light the font should be. In addition
- to the values of the #PangoWeight enumeration, other intermediate
- numeric values are possible.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="weight" transfer-ownership="none">
- <doc xml:space="preserve">the weight for the font description.</doc>
- <type name="Weight" c:type="PangoWeight"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_filename"
- c:identifier="pango_font_description_to_filename">
- <doc xml:space="preserve">Creates a filename representation of a font description. The
- filename is identical to the result from calling
- pango_font_description_to_string(), but with underscores instead of
- characters that are untypical in filenames, and in lower case only.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new string that must be freed with g_free().</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="to_string" c:identifier="pango_font_description_to_string">
- <doc xml:space="preserve">Creates a string representation of a font description. See
- pango_font_description_from_string() for a description of the
- format of the string representation. The family list in the
- string description will only have a terminating comma if the
- last word of the list is a valid style option.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new string that must be freed with g_free().</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="unset_fields"
- c:identifier="pango_font_description_unset_fields">
- <doc xml:space="preserve">Unsets some of the fields in a #PangoFontDescription. The unset
- fields will get back to their default values.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </instance-parameter>
- <parameter name="to_unset" transfer-ownership="none">
- <doc xml:space="preserve">bitmask of fields in the @desc to unset.</doc>
- <type name="FontMask" c:type="PangoFontMask"/>
- </parameter>
- </parameters>
- </method>
- <function name="from_string"
- c:identifier="pango_font_description_from_string">
- <doc xml:space="preserve">Creates a new font description from a string representation in the
- form "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]", where FAMILY-LIST is a
- comma separated list of families optionally terminated by a comma,
- STYLE_OPTIONS is a whitespace separated list of words where each word
- describes one of style, variant, weight, stretch, or gravity, and SIZE
- is a decimal number (size in points) or optionally followed by the
- unit modifier "px" for absolute size. Any one of the options may
- be absent. If FAMILY-LIST is absent, then the family_name field of
- the resulting font description will be initialized to %NULL. If
- STYLE-OPTIONS is missing, then all style options will be set to the
- default values. If SIZE is missing, the size in the resulting font
- description will be set to 0.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #PangoFontDescription.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">string representation of a font description.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <class name="FontFace"
- c:symbol-prefix="font_face"
- c:type="PangoFontFace"
- parent="GObject.Object"
- abstract="1"
- glib:type-name="PangoFontFace"
- glib:get-type="pango_font_face_get_type"
- glib:type-struct="FontFaceClass">
- <doc xml:space="preserve">The #PangoFontFace structure is used to represent a group of fonts with
- the same family, slant, weight, width, but varying sizes.</doc>
- <virtual-method name="describe" invoker="describe">
- <doc xml:space="preserve">Returns the family, style, variant, weight and stretch of
- a #PangoFontFace. The size field of the resulting font description
- will be unset.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-created #PangoFontDescription structure
- holding the description of the face. Use pango_font_description_free()
- to free the result.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <instance-parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_face_name" invoker="get_face_name">
- <doc xml:space="preserve">Gets a name representing the style of this face among the
- different faces in the #PangoFontFamily for the face. This
- name is unique among all faces in the family and is suitable
- for displaying to users.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the face name for the face. This string is
- owned by the face object and must not be modified or freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace.</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="is_synthesized"
- invoker="is_synthesized"
- version="1.18">
- <doc xml:space="preserve">Returns whether a #PangoFontFace is synthesized by the underlying
- font rendering engine from another face, perhaps by shearing, emboldening,
- or lightening it.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether @face is synthesized.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="list_sizes" invoker="list_sizes" version="1.4">
- <doc xml:space="preserve">List the available sizes for a font. This is only applicable to bitmap
- fonts. For scalable fonts, stores %NULL at the location pointed to by
- @sizes and 0 at the location pointed to by @n_sizes. The sizes returned
- are in Pango units and are sorted in ascending order.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace.</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </instance-parameter>
- <parameter name="sizes"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- nullable="1"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">
- location to store a pointer to an array of int. This array
- should be freed with g_free().</doc>
- <array length="1" zero-terminated="0" c:type="int**">
- <type name="gint" c:type="int*"/>
- </array>
- </parameter>
- <parameter name="n_sizes"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the number of elements in @sizes</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="describe" c:identifier="pango_font_face_describe">
- <doc xml:space="preserve">Returns the family, style, variant, weight and stretch of
- a #PangoFontFace. The size field of the resulting font description
- will be unset.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-created #PangoFontDescription structure
- holding the description of the face. Use pango_font_description_free()
- to free the result.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <instance-parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_face_name"
- c:identifier="pango_font_face_get_face_name">
- <doc xml:space="preserve">Gets a name representing the style of this face among the
- different faces in the #PangoFontFamily for the face. This
- name is unique among all faces in the family and is suitable
- for displaying to users.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the face name for the face. This string is
- owned by the face object and must not be modified or freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace.</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_synthesized"
- c:identifier="pango_font_face_is_synthesized"
- version="1.18">
- <doc xml:space="preserve">Returns whether a #PangoFontFace is synthesized by the underlying
- font rendering engine from another face, perhaps by shearing, emboldening,
- or lightening it.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether @face is synthesized.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="list_sizes"
- c:identifier="pango_font_face_list_sizes"
- version="1.4">
- <doc xml:space="preserve">List the available sizes for a font. This is only applicable to bitmap
- fonts. For scalable fonts, stores %NULL at the location pointed to by
- @sizes and 0 at the location pointed to by @n_sizes. The sizes returned
- are in Pango units and are sorted in ascending order.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace.</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </instance-parameter>
- <parameter name="sizes"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- nullable="1"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">
- location to store a pointer to an array of int. This array
- should be freed with g_free().</doc>
- <array length="1" zero-terminated="0" c:type="int**">
- <type name="gint" c:type="int*"/>
- </array>
- </parameter>
- <parameter name="n_sizes"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the number of elements in @sizes</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <field name="parent_instance">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- </class>
- <record name="FontFaceClass"
- c:type="PangoFontFaceClass"
- glib:is-gtype-struct-for="FontFace">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="get_face_name">
- <callback name="get_face_name">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the face name for the face. This string is
- owned by the face object and must not be modified or freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace.</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="describe">
- <callback name="describe">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-created #PangoFontDescription structure
- holding the description of the face. Use pango_font_description_free()
- to free the result.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="list_sizes">
- <callback name="list_sizes">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace.</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </parameter>
- <parameter name="sizes"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- nullable="1"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">
- location to store a pointer to an array of int. This array
- should be freed with g_free().</doc>
- <array length="2" zero-terminated="0" c:type="int**">
- <type name="gint" c:type="int*"/>
- </array>
- </parameter>
- <parameter name="n_sizes"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the number of elements in @sizes</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="is_synthesized">
- <callback name="is_synthesized">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether @face is synthesized.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="face" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFace</doc>
- <type name="FontFace" c:type="PangoFontFace*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_pango_reserved3" introspectable="0">
- <callback name="_pango_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_pango_reserved4" introspectable="0">
- <callback name="_pango_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <class name="FontFamily"
- c:symbol-prefix="font_family"
- c:type="PangoFontFamily"
- parent="GObject.Object"
- abstract="1"
- glib:type-name="PangoFontFamily"
- glib:get-type="pango_font_family_get_type"
- glib:type-struct="FontFamilyClass">
- <doc xml:space="preserve">The #PangoFontFamily structure is used to represent a family of related
- font faces. The faces in a family share a common design, but differ in
- slant, weight, width and other aspects.</doc>
- <virtual-method name="get_name" invoker="get_name">
- <doc xml:space="preserve">Gets the name of the family. The name is unique among all
- fonts for the font backend and can be used in a #PangoFontDescription
- to specify that a face from this family is desired.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the name of the family. This string is owned
- by the family object and must not be modified or freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFamily</doc>
- <type name="FontFamily" c:type="PangoFontFamily*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="is_monospace" invoker="is_monospace" version="1.4">
- <doc xml:space="preserve">A monospace font is a font designed for text display where the the
- characters form a regular grid. For Western languages this would
- mean that the advance width of all characters are the same, but
- this categorization also includes Asian fonts which include
- double-width characters: characters that occupy two grid cells.
- g_unichar_iswide() returns a result that indicates whether a
- character is typically double-width in a monospace font.
- The best way to find out the grid-cell size is to call
- pango_font_metrics_get_approximate_digit_width(), since the results
- of pango_font_metrics_get_approximate_char_width() may be affected
- by double-width characters.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the family is monospace.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFamily</doc>
- <type name="FontFamily" c:type="PangoFontFamily*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="list_faces" invoker="list_faces">
- <doc xml:space="preserve">Lists the different font faces that make up @family. The faces
- in a family share a common design, but differ in slant, weight,
- width and other aspects.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFamily</doc>
- <type name="FontFamily" c:type="PangoFontFamily*"/>
- </instance-parameter>
- <parameter name="faces"
- direction="out"
- caller-allocates="0"
- transfer-ownership="container"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">
- location to store an array of pointers to #PangoFontFace objects,
- or %NULL. This array should be freed with g_free() when it is no
- longer needed.</doc>
- <array length="1" zero-terminated="0" c:type="PangoFontFace***">
- <type name="FontFace" c:type="PangoFontFace**"/>
- </array>
- </parameter>
- <parameter name="n_faces"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store number of elements in @faces.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="get_name" c:identifier="pango_font_family_get_name">
- <doc xml:space="preserve">Gets the name of the family. The name is unique among all
- fonts for the font backend and can be used in a #PangoFontDescription
- to specify that a face from this family is desired.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the name of the family. This string is owned
- by the family object and must not be modified or freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFamily</doc>
- <type name="FontFamily" c:type="PangoFontFamily*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_monospace"
- c:identifier="pango_font_family_is_monospace"
- version="1.4">
- <doc xml:space="preserve">A monospace font is a font designed for text display where the the
- characters form a regular grid. For Western languages this would
- mean that the advance width of all characters are the same, but
- this categorization also includes Asian fonts which include
- double-width characters: characters that occupy two grid cells.
- g_unichar_iswide() returns a result that indicates whether a
- character is typically double-width in a monospace font.
- The best way to find out the grid-cell size is to call
- pango_font_metrics_get_approximate_digit_width(), since the results
- of pango_font_metrics_get_approximate_char_width() may be affected
- by double-width characters.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the family is monospace.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFamily</doc>
- <type name="FontFamily" c:type="PangoFontFamily*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="list_faces" c:identifier="pango_font_family_list_faces">
- <doc xml:space="preserve">Lists the different font faces that make up @family. The faces
- in a family share a common design, but differ in slant, weight,
- width and other aspects.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFamily</doc>
- <type name="FontFamily" c:type="PangoFontFamily*"/>
- </instance-parameter>
- <parameter name="faces"
- direction="out"
- caller-allocates="0"
- transfer-ownership="container"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">
- location to store an array of pointers to #PangoFontFace objects,
- or %NULL. This array should be freed with g_free() when it is no
- longer needed.</doc>
- <array length="1" zero-terminated="0" c:type="PangoFontFace***">
- <type name="FontFace" c:type="PangoFontFace**"/>
- </array>
- </parameter>
- <parameter name="n_faces"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store number of elements in @faces.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <field name="parent_instance">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- </class>
- <record name="FontFamilyClass"
- c:type="PangoFontFamilyClass"
- glib:is-gtype-struct-for="FontFamily">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="list_faces">
- <callback name="list_faces">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFamily</doc>
- <type name="FontFamily" c:type="PangoFontFamily*"/>
- </parameter>
- <parameter name="faces"
- direction="out"
- caller-allocates="0"
- transfer-ownership="container"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">
- location to store an array of pointers to #PangoFontFace objects,
- or %NULL. This array should be freed with g_free() when it is no
- longer needed.</doc>
- <array length="2" zero-terminated="0" c:type="PangoFontFace***">
- <type name="FontFace" c:type="PangoFontFace**"/>
- </array>
- </parameter>
- <parameter name="n_faces"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store number of elements in @faces.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_name">
- <callback name="get_name">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the name of the family. This string is owned
- by the family object and must not be modified or freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFamily</doc>
- <type name="FontFamily" c:type="PangoFontFamily*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="is_monospace">
- <callback name="is_monospace">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the family is monospace.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontFamily</doc>
- <type name="FontFamily" c:type="PangoFontFamily*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_pango_reserved2" introspectable="0">
- <callback name="_pango_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_pango_reserved3" introspectable="0">
- <callback name="_pango_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_pango_reserved4" introspectable="0">
- <callback name="_pango_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <class name="FontMap"
- c:symbol-prefix="font_map"
- c:type="PangoFontMap"
- parent="GObject.Object"
- abstract="1"
- glib:type-name="PangoFontMap"
- glib:get-type="pango_font_map_get_type"
- glib:type-struct="FontMapClass">
- <doc xml:space="preserve">The #PangoFontMap represents the set of fonts available for a
- particular rendering system. This is a virtual object with
- implementations being specific to particular rendering systems. To
- create an implementation of a #PangoFontMap, the rendering-system
- specific code should allocate a larger structure that contains a nested
- #PangoFontMap, fill in the <structfield>klass</structfield> member of the nested #PangoFontMap with a
- pointer to a appropriate #PangoFontMapClass, then call
- pango_font_map_init() on the structure.
- The #PangoFontMap structure contains one member which the implementation
- fills in.</doc>
- <virtual-method name="changed" invoker="changed" version="1.34">
- <doc xml:space="preserve">Forces a change in the context, which will cause any #PangoContext
- using this fontmap to change.
- This function is only useful when implementing a new backend
- for Pango, something applications won't do. Backends should
- call this function if they have attached extra data to the context
- and such data is changed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_serial" invoker="get_serial" version="1.32.4">
- <doc xml:space="preserve">Returns the current serial number of @fontmap. The serial number is
- initialized to an small number larger than zero when a new fontmap
- is created and is increased whenever the fontmap is changed. It may
- wrap, but will never have the value 0. Since it can wrap, never compare
- it with "less than", always use "not equals".
- The fontmap can only be changed using backend-specific API, like changing
- fontmap resolution.
- This can be used to automatically detect changes to a #PangoFontMap, like
- in #PangoContext.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The current serial number of @fontmap.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="list_families" invoker="list_families">
- <doc xml:space="preserve">List all families for a fontmap.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- <parameter name="families"
- direction="out"
- caller-allocates="0"
- transfer-ownership="container">
- <doc xml:space="preserve">location to store a pointer to an array of #PangoFontFamily *.
- This array should be freed with g_free().</doc>
- <array length="1" zero-terminated="0" c:type="PangoFontFamily***">
- <type name="FontFamily" c:type="PangoFontFamily**"/>
- </array>
- </parameter>
- <parameter name="n_families"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the number of elements in @families</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="load_font" invoker="load_font">
- <doc xml:space="preserve">Load the font in the fontmap that is the closest match for @desc.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoFont
- loaded, or %NULL if no font matched.</doc>
- <type name="Font" c:type="PangoFont*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- <parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">the #PangoContext the font will be used with</doc>
- <type name="Context" c:type="PangoContext*"/>
- </parameter>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription describing the font to load</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="load_fontset" invoker="load_fontset">
- <doc xml:space="preserve">Load a set of fonts in the fontmap that can be used to render
- a font matching @desc.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated
- #PangoFontset loaded, or %NULL if no font matched.</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- <parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">the #PangoContext the font will be used with</doc>
- <type name="Context" c:type="PangoContext*"/>
- </parameter>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription describing the font to load</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLanguage the fonts will be used for</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="changed"
- c:identifier="pango_font_map_changed"
- version="1.34">
- <doc xml:space="preserve">Forces a change in the context, which will cause any #PangoContext
- using this fontmap to change.
- This function is only useful when implementing a new backend
- for Pango, something applications won't do. Backends should
- call this function if they have attached extra data to the context
- and such data is changed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="create_context"
- c:identifier="pango_font_map_create_context"
- version="1.22">
- <doc xml:space="preserve">Creates a #PangoContext connected to @fontmap. This is equivalent
- to pango_context_new() followed by pango_context_set_font_map().
- If you are using Pango as part of a higher-level system,
- that system may have it's own way of create a #PangoContext.
- For instance, the GTK+ toolkit has, among others,
- gdk_pango_context_get_for_screen(), and
- gtk_widget_get_pango_context(). Use those instead.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoContext,
- which should be freed with g_object_unref().</doc>
- <type name="Context" c:type="PangoContext*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_serial"
- c:identifier="pango_font_map_get_serial"
- version="1.32.4">
- <doc xml:space="preserve">Returns the current serial number of @fontmap. The serial number is
- initialized to an small number larger than zero when a new fontmap
- is created and is increased whenever the fontmap is changed. It may
- wrap, but will never have the value 0. Since it can wrap, never compare
- it with "less than", always use "not equals".
- The fontmap can only be changed using backend-specific API, like changing
- fontmap resolution.
- This can be used to automatically detect changes to a #PangoFontMap, like
- in #PangoContext.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The current serial number of @fontmap.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_shape_engine_type"
- c:identifier="pango_font_map_get_shape_engine_type"
- version="1.4"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Returns the render ID for shape engines for this fontmap.
- See the <structfield>render_type</structfield> field of
- #PangoEngineInfo.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the ID string for shape engines for
- this fontmap. Owned by Pango, should not be modified
- or freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="list_families" c:identifier="pango_font_map_list_families">
- <doc xml:space="preserve">List all families for a fontmap.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- <parameter name="families"
- direction="out"
- caller-allocates="0"
- transfer-ownership="container">
- <doc xml:space="preserve">location to store a pointer to an array of #PangoFontFamily *.
- This array should be freed with g_free().</doc>
- <array length="1" zero-terminated="0" c:type="PangoFontFamily***">
- <type name="FontFamily" c:type="PangoFontFamily**"/>
- </array>
- </parameter>
- <parameter name="n_families"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the number of elements in @families</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="load_font" c:identifier="pango_font_map_load_font">
- <doc xml:space="preserve">Load the font in the fontmap that is the closest match for @desc.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoFont
- loaded, or %NULL if no font matched.</doc>
- <type name="Font" c:type="PangoFont*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- <parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">the #PangoContext the font will be used with</doc>
- <type name="Context" c:type="PangoContext*"/>
- </parameter>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription describing the font to load</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- </parameters>
- </method>
- <method name="load_fontset" c:identifier="pango_font_map_load_fontset">
- <doc xml:space="preserve">Load a set of fonts in the fontmap that can be used to render
- a font matching @desc.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated
- #PangoFontset loaded, or %NULL if no font matched.</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </instance-parameter>
- <parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">the #PangoContext the font will be used with</doc>
- <type name="Context" c:type="PangoContext*"/>
- </parameter>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription describing the font to load</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLanguage the fonts will be used for</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </method>
- <field name="parent_instance">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- </class>
- <record name="FontMapClass"
- c:type="PangoFontMapClass"
- glib:is-gtype-struct-for="FontMap">
- <doc xml:space="preserve">The #PangoFontMapClass structure holds the virtual functions for
- a particular #PangoFontMap implementation.</doc>
- <field name="parent_class">
- <doc xml:space="preserve">parent #GObjectClass.</doc>
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="load_font">
- <callback name="load_font">
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoFont
- loaded, or %NULL if no font matched.</doc>
- <type name="Font" c:type="PangoFont*"/>
- </return-value>
- <parameters>
- <parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </parameter>
- <parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">the #PangoContext the font will be used with</doc>
- <type name="Context" c:type="PangoContext*"/>
- </parameter>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription describing the font to load</doc>
- <type name="FontDescription"
- c:type="const PangoFontDescription*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="list_families">
- <callback name="list_families">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </parameter>
- <parameter name="families"
- direction="out"
- caller-allocates="0"
- transfer-ownership="container">
- <doc xml:space="preserve">location to store a pointer to an array of #PangoFontFamily *.
- This array should be freed with g_free().</doc>
- <array length="2"
- zero-terminated="0"
- c:type="PangoFontFamily***">
- <type name="FontFamily" c:type="PangoFontFamily**"/>
- </array>
- </parameter>
- <parameter name="n_families"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the number of elements in @families</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="load_fontset">
- <callback name="load_fontset">
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated
- #PangoFontset loaded, or %NULL if no font matched.</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </return-value>
- <parameters>
- <parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </parameter>
- <parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">the #PangoContext the font will be used with</doc>
- <type name="Context" c:type="PangoContext*"/>
- </parameter>
- <parameter name="desc" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontDescription describing the font to load</doc>
- <type name="FontDescription"
- c:type="const PangoFontDescription*"/>
- </parameter>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLanguage the fonts will be used for</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="shape_engine_type">
- <doc xml:space="preserve">the type of rendering-system-dependent engines that
- can handle fonts of this fonts loaded with this fontmap.</doc>
- <type name="utf8" c:type="const char*"/>
- </field>
- <field name="get_serial">
- <callback name="get_serial">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The current serial number of @fontmap.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="changed">
- <callback name="changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fontmap" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMap</doc>
- <type name="FontMap" c:type="PangoFontMap*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_pango_reserved1" introspectable="0">
- <callback name="_pango_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_pango_reserved2" introspectable="0">
- <callback name="_pango_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <bitfield name="FontMask"
- glib:type-name="PangoFontMask"
- glib:get-type="pango_font_mask_get_type"
- c:type="PangoFontMask">
- <doc xml:space="preserve">The bits in a #PangoFontMask correspond to fields in a
- #PangoFontDescription that have been set.</doc>
- <member name="family"
- value="1"
- c:identifier="PANGO_FONT_MASK_FAMILY"
- glib:nick="family">
- <doc xml:space="preserve">the font family is specified.</doc>
- </member>
- <member name="style"
- value="2"
- c:identifier="PANGO_FONT_MASK_STYLE"
- glib:nick="style">
- <doc xml:space="preserve">the font style is specified.</doc>
- </member>
- <member name="variant"
- value="4"
- c:identifier="PANGO_FONT_MASK_VARIANT"
- glib:nick="variant">
- <doc xml:space="preserve">the font variant is specified.</doc>
- </member>
- <member name="weight"
- value="8"
- c:identifier="PANGO_FONT_MASK_WEIGHT"
- glib:nick="weight">
- <doc xml:space="preserve">the font weight is specified.</doc>
- </member>
- <member name="stretch"
- value="16"
- c:identifier="PANGO_FONT_MASK_STRETCH"
- glib:nick="stretch">
- <doc xml:space="preserve">the font stretch is specified.</doc>
- </member>
- <member name="size"
- value="32"
- c:identifier="PANGO_FONT_MASK_SIZE"
- glib:nick="size">
- <doc xml:space="preserve">the font size is specified.</doc>
- </member>
- <member name="gravity"
- value="64"
- c:identifier="PANGO_FONT_MASK_GRAVITY"
- glib:nick="gravity">
- <doc xml:space="preserve">the font gravity is specified (Since: 1.16.)</doc>
- </member>
- </bitfield>
- <record name="FontMetrics"
- c:type="PangoFontMetrics"
- glib:type-name="PangoFontMetrics"
- glib:get-type="pango_font_metrics_get_type"
- c:symbol-prefix="font_metrics">
- <doc xml:space="preserve">A #PangoFontMetrics structure holds the overall metric information
- for a font (possibly restricted to a script). The fields of this
- structure are private to implementations of a font backend. See
- the documentation of the corresponding getters for documentation
- of their meaning.</doc>
- <field name="ref_count" readable="0" private="1">
- <type name="guint" c:type="guint"/>
- </field>
- <field name="ascent" readable="0" private="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="descent" readable="0" private="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="approximate_char_width" readable="0" private="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="approximate_digit_width" readable="0" private="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="underline_position" readable="0" private="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="underline_thickness" readable="0" private="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="strikethrough_position" readable="0" private="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="strikethrough_thickness" readable="0" private="1">
- <type name="gint" c:type="int"/>
- </field>
- <constructor name="new" c:identifier="pango_font_metrics_new">
- <doc xml:space="preserve">Creates a new #PangoFontMetrics structure. This is only for
- internal use by Pango backends and there is no public way
- to set the fields of the structure.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a newly-created #PangoFontMetrics structure
- with a reference count of 1.</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </return-value>
- </constructor>
- <method name="get_approximate_char_width"
- c:identifier="pango_font_metrics_get_approximate_char_width">
- <doc xml:space="preserve">Gets the approximate character width for a font metrics structure.
- This is merely a representative value useful, for example, for
- determining the initial size for a window. Actual characters in
- text will be wider and narrower than this.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the character width, in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="metrics" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMetrics structure</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_approximate_digit_width"
- c:identifier="pango_font_metrics_get_approximate_digit_width">
- <doc xml:space="preserve">Gets the approximate digit width for a font metrics structure.
- This is merely a representative value useful, for example, for
- determining the initial size for a window. Actual digits in
- text can be wider or narrower than this, though this value
- is generally somewhat more accurate than the result of
- pango_font_metrics_get_approximate_char_width() for digits.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the digit width, in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="metrics" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMetrics structure</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_ascent" c:identifier="pango_font_metrics_get_ascent">
- <doc xml:space="preserve">Gets the ascent from a font metrics structure. The ascent is
- the distance from the baseline to the logical top of a line
- of text. (The logical top may be above or below the top of the
- actual drawn ink. It is necessary to lay out the text to figure
- where the ink will be.)</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the ascent, in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="metrics" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMetrics structure</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_descent" c:identifier="pango_font_metrics_get_descent">
- <doc xml:space="preserve">Gets the descent from a font metrics structure. The descent is
- the distance from the baseline to the logical bottom of a line
- of text. (The logical bottom may be above or below the bottom of the
- actual drawn ink. It is necessary to lay out the text to figure
- where the ink will be.)</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the descent, in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="metrics" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMetrics structure</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_strikethrough_position"
- c:identifier="pango_font_metrics_get_strikethrough_position"
- version="1.6">
- <doc xml:space="preserve">Gets the suggested position to draw the strikethrough.
- The value returned is the distance <emphasis>above</emphasis> the
- baseline of the top of the strikethrough.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the suggested strikethrough position, in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="metrics" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMetrics structure</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_strikethrough_thickness"
- c:identifier="pango_font_metrics_get_strikethrough_thickness"
- version="1.6">
- <doc xml:space="preserve">Gets the suggested thickness to draw for the strikethrough.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the suggested strikethrough thickness, in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="metrics" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMetrics structure</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_underline_position"
- c:identifier="pango_font_metrics_get_underline_position"
- version="1.6">
- <doc xml:space="preserve">Gets the suggested position to draw the underline.
- The value returned is the distance <emphasis>above</emphasis> the
- baseline of the top of the underline. Since most fonts have
- underline positions beneath the baseline, this value is typically
- negative.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the suggested underline position, in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="metrics" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMetrics structure</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_underline_thickness"
- c:identifier="pango_font_metrics_get_underline_thickness"
- version="1.6">
- <doc xml:space="preserve">Gets the suggested thickness to draw for the underline.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the suggested underline thickness, in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="metrics" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontMetrics structure</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="ref" c:identifier="pango_font_metrics_ref">
- <doc xml:space="preserve">Increase the reference count of a font metrics structure by one.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">@metrics</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </return-value>
- <parameters>
- <instance-parameter name="metrics"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFontMetrics structure, may be %NULL</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="unref" c:identifier="pango_font_metrics_unref">
- <doc xml:space="preserve">Decrease the reference count of a font metrics structure by one. If
- the result is zero, frees the structure and any associated
- memory.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="metrics"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoFontMetrics structure, may be %NULL</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </instance-parameter>
- </parameters>
- </method>
- </record>
- <class name="Fontset"
- c:symbol-prefix="fontset"
- c:type="PangoFontset"
- parent="GObject.Object"
- abstract="1"
- glib:type-name="PangoFontset"
- glib:get-type="pango_fontset_get_type"
- glib:type-struct="FontsetClass">
- <doc xml:space="preserve">A #PangoFontset represents a set of #PangoFont to use
- when rendering text. It is the result of resolving a
- #PangoFontDescription against a particular #PangoContext.
- It has operations for finding the component font for
- a particular Unicode character, and for finding a composite
- set of metrics for the entire fontset.</doc>
- <virtual-method name="foreach" invoker="foreach" version="1.4">
- <doc xml:space="preserve">Iterates through all the fonts in a fontset, calling @func for
- each one. If @func returns %TRUE, that stops the iteration.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontset</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </instance-parameter>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="1">
- <doc xml:space="preserve">Callback function</doc>
- <type name="FontsetForeachFunc" c:type="PangoFontsetForeachFunc"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to the callback function</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_font" invoker="get_font">
- <doc xml:space="preserve">Returns the font in the fontset that contains the best glyph for the
- Unicode character @wc.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #PangoFont. The caller must call
- g_object_unref when finished with the font.</doc>
- <type name="Font" c:type="PangoFont*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontset</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </instance-parameter>
- <parameter name="wc" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_language">
- <return-value transfer-ownership="full">
- <type name="Language" c:type="PangoLanguage*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontset" transfer-ownership="none">
- <type name="Fontset" c:type="PangoFontset*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_metrics" invoker="get_metrics">
- <doc xml:space="preserve">Get overall metric information for the fonts in the fontset.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
- when finished using the object.</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontset</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <method name="foreach"
- c:identifier="pango_fontset_foreach"
- version="1.4">
- <doc xml:space="preserve">Iterates through all the fonts in a fontset, calling @func for
- each one. If @func returns %TRUE, that stops the iteration.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontset</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </instance-parameter>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="1">
- <doc xml:space="preserve">Callback function</doc>
- <type name="FontsetForeachFunc" c:type="PangoFontsetForeachFunc"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to the callback function</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_font" c:identifier="pango_fontset_get_font">
- <doc xml:space="preserve">Returns the font in the fontset that contains the best glyph for the
- Unicode character @wc.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #PangoFont. The caller must call
- g_object_unref when finished with the font.</doc>
- <type name="Font" c:type="PangoFont*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontset</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </instance-parameter>
- <parameter name="wc" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_metrics" c:identifier="pango_fontset_get_metrics">
- <doc xml:space="preserve">Get overall metric information for the fonts in the fontset.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
- when finished using the object.</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontset</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </instance-parameter>
- </parameters>
- </method>
- <field name="parent_instance">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- </class>
- <record name="FontsetClass"
- c:type="PangoFontsetClass"
- glib:is-gtype-struct-for="Fontset">
- <doc xml:space="preserve">The #PangoFontsetClass structure holds the virtual functions for
- a particular #PangoFontset implementation.</doc>
- <field name="parent_class">
- <doc xml:space="preserve">parent #GObjectClass.</doc>
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="get_font">
- <callback name="get_font">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #PangoFont. The caller must call
- g_object_unref when finished with the font.</doc>
- <type name="Font" c:type="PangoFont*"/>
- </return-value>
- <parameters>
- <parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontset</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </parameter>
- <parameter name="wc" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_metrics">
- <callback name="get_metrics">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #PangoFontMetrics object. The caller must call pango_font_metrics_unref()
- when finished using the object.</doc>
- <type name="FontMetrics" c:type="PangoFontMetrics*"/>
- </return-value>
- <parameters>
- <parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontset</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_language">
- <callback name="get_language">
- <return-value transfer-ownership="full">
- <type name="Language" c:type="PangoLanguage*"/>
- </return-value>
- <parameters>
- <parameter name="fontset" transfer-ownership="none">
- <type name="Fontset" c:type="PangoFontset*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="foreach">
- <callback name="foreach">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontset</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </parameter>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="2">
- <doc xml:space="preserve">Callback function</doc>
- <type name="FontsetForeachFunc"
- c:type="PangoFontsetForeachFunc"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to the callback function</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_pango_reserved1" introspectable="0">
- <callback name="_pango_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_pango_reserved2" introspectable="0">
- <callback name="_pango_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_pango_reserved3" introspectable="0">
- <callback name="_pango_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_pango_reserved4" introspectable="0">
- <callback name="_pango_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <callback name="FontsetForeachFunc"
- c:type="PangoFontsetForeachFunc"
- version="1.4">
- <doc xml:space="preserve">A callback function used by pango_fontset_foreach() when enumerating
- the fonts in a fontset.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">if %TRUE, stop iteration and return immediately.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontset</doc>
- <type name="Fontset" c:type="PangoFontset*"/>
- </parameter>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a font from @fontset</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">callback data</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <class name="FontsetSimple"
- c:symbol-prefix="fontset_simple"
- c:type="PangoFontsetSimple"
- parent="Fontset"
- glib:type-name="PangoFontsetSimple"
- glib:get-type="pango_fontset_simple_get_type"
- glib:type-struct="FontsetSimpleClass">
- <doc xml:space="preserve">#PangoFontsetSimple is a implementation of the abstract
- #PangoFontset base class in terms of an array of fonts,
- which the creator provides when constructing the
- #PangoFontsetSimple.</doc>
- <constructor name="new" c:identifier="pango_fontset_simple_new">
- <doc xml:space="preserve">Creates a new #PangoFontsetSimple for the given language.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoFontsetSimple, which should
- be freed with g_object_unref().</doc>
- <type name="FontsetSimple" c:type="PangoFontsetSimple*"/>
- </return-value>
- <parameters>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLanguage tag</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="append" c:identifier="pango_fontset_simple_append">
- <doc xml:space="preserve">Adds a font to the fontset.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontsetSimple.</doc>
- <type name="FontsetSimple" c:type="PangoFontsetSimple*"/>
- </instance-parameter>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont.</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- </parameters>
- </method>
- <method name="size" c:identifier="pango_fontset_simple_size">
- <doc xml:space="preserve">Returns the number of fonts in the fontset.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the size of @fontset.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="fontset" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFontsetSimple.</doc>
- <type name="FontsetSimple" c:type="PangoFontsetSimple*"/>
- </instance-parameter>
- </parameters>
- </method>
- </class>
- <record name="FontsetSimpleClass"
- c:type="PangoFontsetSimpleClass"
- disguised="1"
- glib:is-gtype-struct-for="FontsetSimple">
- </record>
- <constant name="GLYPH_EMPTY" value="268435455" c:type="PANGO_GLYPH_EMPTY">
- <doc xml:space="preserve">The %PANGO_GLYPH_EMPTY macro represents a #PangoGlyph value that has a
- special meaning, which is a zero-width empty glyph. This is useful for
- example in shaper modules, to use as the glyph for various zero-width
- Unicode characters (those passing pango_is_zero_width()).</doc>
- <type name="Glyph" c:type="PangoGlyph"/>
- </constant>
- <constant name="GLYPH_INVALID_INPUT"
- value="4294967295"
- c:type="PANGO_GLYPH_INVALID_INPUT"
- version="1.20">
- <doc xml:space="preserve">The %PANGO_GLYPH_INVALID_INPUT macro represents a #PangoGlyph value that has a
- special meaning of invalid input. #PangoLayout produces one such glyph
- per invalid input UTF-8 byte and such a glyph is rendered as a crossed
- box.
- Note that this value is defined such that it has the %PANGO_GLYPH_UNKNOWN_FLAG
- on.</doc>
- <type name="Glyph" c:type="PangoGlyph"/>
- </constant>
- <constant name="GLYPH_UNKNOWN_FLAG"
- value="268435456"
- c:type="PANGO_GLYPH_UNKNOWN_FLAG">
- <doc xml:space="preserve">The %PANGO_GLYPH_UNKNOWN_FLAG macro is a flag value that can be added to
- a #gunichar value of a valid Unicode character, to produce a #PangoGlyph
- value, representing an unknown-character glyph for the respective #gunichar.</doc>
- <type name="Glyph" c:type="PangoGlyph"/>
- </constant>
- <record name="GlyphGeometry" c:type="PangoGlyphGeometry">
- <doc xml:space="preserve">The #PangoGlyphGeometry structure contains width and positioning
- information for a single glyph.</doc>
- <field name="width" writable="1">
- <doc xml:space="preserve">the logical width to use for the the character.</doc>
- <type name="GlyphUnit" c:type="PangoGlyphUnit"/>
- </field>
- <field name="x_offset" writable="1">
- <doc xml:space="preserve">horizontal offset from nominal character position.</doc>
- <type name="GlyphUnit" c:type="PangoGlyphUnit"/>
- </field>
- <field name="y_offset" writable="1">
- <doc xml:space="preserve">vertical offset from nominal character position.</doc>
- <type name="GlyphUnit" c:type="PangoGlyphUnit"/>
- </field>
- </record>
- <record name="GlyphInfo" c:type="PangoGlyphInfo">
- <doc xml:space="preserve">The #PangoGlyphInfo structure represents a single glyph together with
- positioning information and visual attributes.
- It contains the following fields.</doc>
- <field name="glyph" writable="1">
- <doc xml:space="preserve">the glyph itself.</doc>
- <type name="Glyph" c:type="PangoGlyph"/>
- </field>
- <field name="geometry" writable="1">
- <doc xml:space="preserve">the positional information about the glyph.</doc>
- <type name="GlyphGeometry" c:type="PangoGlyphGeometry"/>
- </field>
- <field name="attr" writable="1">
- <doc xml:space="preserve">the visual attributes of the glyph.</doc>
- <type name="GlyphVisAttr" c:type="PangoGlyphVisAttr"/>
- </field>
- </record>
- <record name="GlyphItem"
- c:type="PangoGlyphItem"
- glib:type-name="PangoGlyphItem"
- glib:get-type="pango_glyph_item_get_type"
- c:symbol-prefix="glyph_item">
- <doc xml:space="preserve">A #PangoGlyphItem is a pair of a #PangoItem and the glyphs
- resulting from shaping the text corresponding to an item.
- As an example of the usage of #PangoGlyphItem, the results
- of shaping text with #PangoLayout is a list of #PangoLayoutLine,
- each of which contains a list of #PangoGlyphItem.</doc>
- <field name="item" writable="1">
- <doc xml:space="preserve">corresponding #PangoItem.</doc>
- <type name="Item" c:type="PangoItem*"/>
- </field>
- <field name="glyphs" writable="1">
- <doc xml:space="preserve">corresponding #PangoGlyphString.</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </field>
- <method name="apply_attrs"
- c:identifier="pango_glyph_item_apply_attrs"
- version="1.2">
- <doc xml:space="preserve">Splits a shaped item (PangoGlyphItem) into multiple items based
- on an attribute list. The idea is that if you have attributes
- that don't affect shaping, such as color or underline, to avoid
- affecting shaping, you filter them out (pango_attr_list_filter()),
- apply the shaping process and then reapply them to the result using
- this function.
- All attributes that start or end inside a cluster are applied
- to that cluster; for instance, if half of a cluster is underlined
- and the other-half strikethrough, then the cluster will end
- up with both underline and strikethrough attributes. In these
- cases, it may happen that item->extra_attrs for some of the
- result items can have multiple attributes of the same type.
- This function takes ownership of @glyph_item; it will be reused
- as one of the elements in the list.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a
- list of glyph items resulting from splitting @glyph_item. Free
- the elements using pango_glyph_item_free(), the list using
- g_slist_free().</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="GlyphItem"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="glyph_item" transfer-ownership="none">
- <doc xml:space="preserve">a shaped item</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </instance-parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">text that @list applies to</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrList</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </parameter>
- </parameters>
- </method>
- <method name="copy" c:identifier="pango_glyph_item_copy" version="1.20">
- <doc xml:space="preserve">Make a deep copy of an existing #PangoGlyphItem structure.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoGlyphItem, which should
- be freed with pango_glyph_item_free(), or %NULL
- if @orig was %NULL.</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </return-value>
- <parameters>
- <instance-parameter name="orig"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoGlyphItem, may be %NULL</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="pango_glyph_item_free" version="1.6">
- <doc xml:space="preserve">Frees a #PangoGlyphItem and resources to which it points.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="glyph_item"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoGlyphItem, may be %NULL</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_logical_widths"
- c:identifier="pango_glyph_item_get_logical_widths"
- version="1.26">
- <doc xml:space="preserve">Given a #PangoGlyphItem and the corresponding
- text, determine the screen width corresponding to each character. When
- multiple characters compose a single cluster, the width of the entire
- cluster is divided equally among the characters.
- See also pango_glyph_string_get_logical_widths().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="glyph_item" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphItem</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </instance-parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">text that @glyph_item corresponds to
- (glyph_item->item->offset is an offset from the
- start of @text)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="logical_widths" transfer-ownership="none">
- <doc xml:space="preserve">an array whose length is the number of
- characters in glyph_item (equal to
- glyph_item->item->num_chars) to be filled in with
- the resulting character widths.</doc>
- <array zero-terminated="0" c:type="int*">
- <type name="gint" c:type="int"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="letter_space"
- c:identifier="pango_glyph_item_letter_space"
- version="1.6">
- <doc xml:space="preserve">Adds spacing between the graphemes of @glyph_item to
- give the effect of typographic letter spacing.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="glyph_item" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphItem</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </instance-parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">text that @glyph_item corresponds to
- (glyph_item->item->offset is an offset from the
- start of @text)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="log_attrs" transfer-ownership="none">
- <doc xml:space="preserve">logical attributes for the item
- (the first logical attribute refers to the position
- before the first character in the item)</doc>
- <array zero-terminated="0" c:type="PangoLogAttr*">
- <type name="LogAttr" c:type="PangoLogAttr"/>
- </array>
- </parameter>
- <parameter name="letter_spacing" transfer-ownership="none">
- <doc xml:space="preserve">amount of letter spacing to add
- in Pango units. May be negative, though too large
- negative values will give ugly results.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="split" c:identifier="pango_glyph_item_split" version="1.2">
- <doc xml:space="preserve">Modifies @orig to cover only the text after @split_index, and
- returns a new item that covers the text before @split_index that
- used to be in @orig. You can think of @split_index as the length of
- the returned item. @split_index may not be 0, and it may not be
- greater than or equal to the length of @orig (that is, there must
- be at least one byte assigned to each item, you can't create a
- zero-length item).
- This function is similar in function to pango_item_split() (and uses
- it internally.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated item representing text before
- @split_index, which should be freed
- with pango_glyph_item_free().</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </return-value>
- <parameters>
- <instance-parameter name="orig" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoItem</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </instance-parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">text to which positions in @orig apply</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="split_index" transfer-ownership="none">
- <doc xml:space="preserve">byte index of position to split item, relative to the start of the item</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="GlyphItemIter"
- c:type="PangoGlyphItemIter"
- version="1.22"
- glib:type-name="PangoGlyphItemIter"
- glib:get-type="pango_glyph_item_iter_get_type"
- c:symbol-prefix="glyph_item_iter">
- <doc xml:space="preserve">A #PangoGlyphItemIter is an iterator over the clusters in a
- #PangoGlyphItem. The <firstterm>forward direction</firstterm> of the
- iterator is the logical direction of text. That is, with increasing
- @start_index and @start_char values. If @glyph_item is right-to-left
- (that is, if <literal>@glyph_item->item->analysis.level</literal> is odd),
- then @start_glyph decreases as the iterator moves forward. Moreover,
- in right-to-left cases, @start_glyph is greater than @end_glyph.
- An iterator should be initialized using either of
- pango_glyph_item_iter_init_start() and
- pango_glyph_item_iter_init_end(), for forward and backward iteration
- respectively, and walked over using any desired mixture of
- pango_glyph_item_iter_next_cluster() and
- pango_glyph_item_iter_prev_cluster(). A common idiom for doing a
- forward iteration over the clusters is:
- <programlisting>
- PangoGlyphItemIter cluster_iter;
- gboolean have_cluster;
- for (have_cluster = pango_glyph_item_iter_init_start (&amp;cluster_iter,
- glyph_item, text);
- have_cluster;
- have_cluster = pango_glyph_item_iter_next_cluster (&amp;cluster_iter))
- {
- ...
- }
- </programlisting>
- Note that @text is the start of the text for layout, which is then
- indexed by <literal>@glyph_item->item->offset</literal> to get to the
- text of @glyph_item. The @start_index and @end_index values can directly
- index into @text. The @start_glyph, @end_glyph, @start_char, and @end_char
- values however are zero-based for the @glyph_item. For each cluster, the
- item pointed at by the start variables is included in the cluster while
- the one pointed at by end variables is not.
- None of the members of a #PangoGlyphItemIter should be modified manually.</doc>
- <field name="glyph_item" writable="1">
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </field>
- <field name="text" writable="1">
- <type name="utf8" c:type="const gchar*"/>
- </field>
- <field name="start_glyph" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="start_index" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="start_char" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="end_glyph" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="end_index" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="end_char" writable="1">
- <type name="gint" c:type="int"/>
- </field>
- <method name="copy"
- c:identifier="pango_glyph_item_iter_copy"
- version="1.22">
- <doc xml:space="preserve">Make a shallow copy of an existing #PangoGlyphItemIter structure.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoGlyphItemIter, which should
- be freed with pango_glyph_item_iter_free(), or %NULL
- if @orig was %NULL.</doc>
- <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
- </return-value>
- <parameters>
- <instance-parameter name="orig"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoGlyphItemIter, may be %NULL</doc>
- <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free"
- c:identifier="pango_glyph_item_iter_free"
- version="1.22">
- <doc xml:space="preserve">Frees a #PangoGlyphItemIter created by pango_glyph_item_iter_copy().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoGlyphItemIter, may be %NULL</doc>
- <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="init_end"
- c:identifier="pango_glyph_item_iter_init_end"
- version="1.22">
- <doc xml:space="preserve">Initializes a #PangoGlyphItemIter structure to point to the
- last cluster in a glyph item.
- See #PangoGlyphItemIter for details of cluster orders.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if there are no clusters in the glyph item</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphItemIter</doc>
- <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
- </instance-parameter>
- <parameter name="glyph_item" transfer-ownership="none">
- <doc xml:space="preserve">the glyph item to iterate over</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">text corresponding to the glyph item</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="init_start"
- c:identifier="pango_glyph_item_iter_init_start"
- version="1.22">
- <doc xml:space="preserve">Initializes a #PangoGlyphItemIter structure to point to the
- first cluster in a glyph item.
- See #PangoGlyphItemIter for details of cluster orders.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if there are no clusters in the glyph item</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphItemIter</doc>
- <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
- </instance-parameter>
- <parameter name="glyph_item" transfer-ownership="none">
- <doc xml:space="preserve">the glyph item to iterate over</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">text corresponding to the glyph item</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="next_cluster"
- c:identifier="pango_glyph_item_iter_next_cluster"
- version="1.22">
- <doc xml:space="preserve">Advances the iterator to the next cluster in the glyph item.
- See #PangoGlyphItemIter for details of cluster orders.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the iterator was advanced, %FALSE if we were already on the
- last cluster.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphItemIter</doc>
- <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="prev_cluster"
- c:identifier="pango_glyph_item_iter_prev_cluster"
- version="1.22">
- <doc xml:space="preserve">Moves the iterator to the preceding cluster in the glyph item.
- See #PangoGlyphItemIter for details of cluster orders.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the iterator was moved, %FALSE if we were already on the
- first cluster.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphItemIter</doc>
- <type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- </record>
- <record name="GlyphString"
- c:type="PangoGlyphString"
- glib:type-name="PangoGlyphString"
- glib:get-type="pango_glyph_string_get_type"
- c:symbol-prefix="glyph_string">
- <doc xml:space="preserve">The #PangoGlyphString structure is used to store strings
- of glyphs with geometry and visual attribute information.
- The storage for the glyph information is owned
- by the structure which simplifies memory management.</doc>
- <field name="num_glyphs" writable="1">
- <doc xml:space="preserve">number of the glyphs in this glyph string.</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="glyphs" writable="1">
- <doc xml:space="preserve">array of glyph information
- for the glyph string.</doc>
- <array length="0" zero-terminated="0" c:type="PangoGlyphInfo*">
- <type name="GlyphInfo" c:type="PangoGlyphInfo"/>
- </array>
- </field>
- <field name="log_clusters" writable="1">
- <doc xml:space="preserve">logical cluster info, indexed by the byte index
- within the text corresponding to the glyph string.</doc>
- <type name="gint" c:type="gint*"/>
- </field>
- <field name="space" readable="0" private="1">
- <type name="gint" c:type="gint"/>
- </field>
- <constructor name="new" c:identifier="pango_glyph_string_new">
- <doc xml:space="preserve">Create a new #PangoGlyphString.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoGlyphString, which
- should be freed with pango_glyph_string_free().</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </return-value>
- </constructor>
- <method name="copy" c:identifier="pango_glyph_string_copy">
- <doc xml:space="preserve">Copy a glyph string and associated storage.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoGlyphString,
- which should be freed with pango_glyph_string_free(),
- or %NULL if @string was %NULL.</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </return-value>
- <parameters>
- <instance-parameter name="string"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoGlyphString, may be %NULL</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="extents" c:identifier="pango_glyph_string_extents">
- <doc xml:space="preserve">Compute the logical and ink extents of a glyph string. See the documentation
- for pango_font_get_glyph_extents() for details about the interpretation
- of the rectangles.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphString</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </instance-parameter>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the extents of the glyph string
- as drawn or %NULL to indicate that the result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the logical extents of the
- glyph string or %NULL to indicate that the result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="extents_range"
- c:identifier="pango_glyph_string_extents_range">
- <doc xml:space="preserve">Computes the extents of a sub-portion of a glyph string. The extents are
- relative to the start of the glyph string range (the origin of their
- coordinate system is at the start of the range, not at the start of the entire
- glyph string).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphString</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </instance-parameter>
- <parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">start index</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">end index (the range is the set of bytes with
- indices such that start <= index < end)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to
- store the extents of the glyph string range as drawn or
- %NULL to indicate that the result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to
- store the logical extents of the glyph string range or
- %NULL to indicate that the result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="pango_glyph_string_free">
- <doc xml:space="preserve">Free a glyph string and associated storage.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="string"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoGlyphString, may be %NULL</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_logical_widths"
- c:identifier="pango_glyph_string_get_logical_widths">
- <doc xml:space="preserve">Given a #PangoGlyphString resulting from pango_shape() and the corresponding
- text, determine the screen width corresponding to each character. When
- multiple characters compose a single cluster, the width of the entire
- cluster is divided equally among the characters.
- See also pango_glyph_item_get_logical_widths().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphString</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </instance-parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text corresponding to the glyphs</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the length of @text, in bytes</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="embedding_level" transfer-ownership="none">
- <doc xml:space="preserve">the embedding level of the string</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="logical_widths" transfer-ownership="none">
- <doc xml:space="preserve">an array whose length is the number of
- characters in text (equal to g_utf8_strlen (text,
- length) unless text has NUL bytes) to be filled in
- with the resulting character widths.</doc>
- <array zero-terminated="0" c:type="int*">
- <type name="gint" c:type="int"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="get_width"
- c:identifier="pango_glyph_string_get_width"
- version="1.14">
- <doc xml:space="preserve">Computes the logical width of the glyph string as can also be computed
- using pango_glyph_string_extents(). However, since this only computes the
- width, it's much faster. This is in fact only a convenience function that
- computes the sum of geometry.width for each glyph in the @glyphs.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the logical width of the glyph string.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphString</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="index_to_x" c:identifier="pango_glyph_string_index_to_x">
- <doc xml:space="preserve">Converts from character position to x position. (X position
- is measured from the left edge of the run). Character positions
- are computed by dividing up each cluster into equal portions.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">the glyphs return from pango_shape()</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </instance-parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text for the run</doc>
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the number of bytes (not characters) in @text.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="analysis" transfer-ownership="none">
- <doc xml:space="preserve">the analysis information return from pango_itemize()</doc>
- <type name="Analysis" c:type="PangoAnalysis*"/>
- </parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">the byte index within @text</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="trailing" transfer-ownership="none">
- <doc xml:space="preserve">whether we should compute the result for the beginning (%FALSE)
- or end (%TRUE) of the character.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="x_pos"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store result</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_size" c:identifier="pango_glyph_string_set_size">
- <doc xml:space="preserve">Resize a glyph string to the given length.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="string" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphString.</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </instance-parameter>
- <parameter name="new_len" transfer-ownership="none">
- <doc xml:space="preserve">the new length of the string.</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="x_to_index" c:identifier="pango_glyph_string_x_to_index">
- <doc xml:space="preserve">Convert from x offset to character position. Character positions
- are computed by dividing up each cluster into equal portions.
- In scripts where positioning within a cluster is not allowed
- (such as Thai), the returned value may not be a valid cursor
- position; the caller must combine the result with the logical
- attributes for the text to compute the valid cursor position.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">the glyphs returned from pango_shape()</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </instance-parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text for the run</doc>
- <type name="utf8" c:type="char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the number of bytes (not characters) in text.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="analysis" transfer-ownership="none">
- <doc xml:space="preserve">the analysis information return from pango_itemize()</doc>
- <type name="Analysis" c:type="PangoAnalysis*"/>
- </parameter>
- <parameter name="x_pos" transfer-ownership="none">
- <doc xml:space="preserve">the x offset (in Pango units)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="index_"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store calculated byte index within @text</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="trailing"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store a boolean indicating
- whether the user clicked on the leading or trailing
- edge of the character.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="GlyphVisAttr" c:type="PangoGlyphVisAttr">
- <doc xml:space="preserve">The PangoGlyphVisAttr is used to communicate information between
- the shaping phase and the rendering phase. More attributes may be
- added in the future.</doc>
- <field name="is_cluster_start" writable="1" bits="1">
- <doc xml:space="preserve">set for the first logical glyph in each cluster. (Clusters
- are stored in visual order, within the cluster, glyphs
- are always ordered in logical order, since visual
- order is meaningless; that is, in Arabic text, accent glyphs
- follow the glyphs for the base character.)</doc>
- <type name="guint" c:type="guint"/>
- </field>
- </record>
- <enumeration name="Gravity"
- version="1.16"
- glib:type-name="PangoGravity"
- glib:get-type="pango_gravity_get_type"
- c:type="PangoGravity">
- <doc xml:space="preserve">The #PangoGravity type represents the orientation of glyphs in a segment
- of text. This is useful when rendering vertical text layouts. In
- those situations, the layout is rotated using a non-identity PangoMatrix,
- and then glyph orientation is controlled using #PangoGravity.
- Not every value in this enumeration makes sense for every usage of
- #PangoGravity; for example, %PANGO_GRAVITY_AUTO only can be passed to
- pango_context_set_base_gravity() and can only be returned by
- pango_context_get_base_gravity().
- See also: #PangoGravityHint</doc>
- <member name="south"
- value="0"
- c:identifier="PANGO_GRAVITY_SOUTH"
- glib:nick="south">
- <doc xml:space="preserve">Glyphs stand upright (default)</doc>
- </member>
- <member name="east"
- value="1"
- c:identifier="PANGO_GRAVITY_EAST"
- glib:nick="east">
- <doc xml:space="preserve">Glyphs are rotated 90 degrees clockwise</doc>
- </member>
- <member name="north"
- value="2"
- c:identifier="PANGO_GRAVITY_NORTH"
- glib:nick="north">
- <doc xml:space="preserve">Glyphs are upside-down</doc>
- </member>
- <member name="west"
- value="3"
- c:identifier="PANGO_GRAVITY_WEST"
- glib:nick="west">
- <doc xml:space="preserve">Glyphs are rotated 90 degrees counter-clockwise</doc>
- </member>
- <member name="auto"
- value="4"
- c:identifier="PANGO_GRAVITY_AUTO"
- glib:nick="auto">
- <doc xml:space="preserve">Gravity is resolved from the context matrix</doc>
- </member>
- <function name="get_for_matrix"
- c:identifier="pango_gravity_get_for_matrix"
- version="1.16">
- <doc xml:space="preserve">Finds the gravity that best matches the rotation component
- in a #PangoMatrix.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the gravity of @matrix, which will never be
- %PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </return-value>
- <parameters>
- <parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_for_script"
- c:identifier="pango_gravity_get_for_script"
- version="1.16">
- <doc xml:space="preserve">Based on the script, base gravity, and hint, returns actual gravity
- to use in laying out a single #PangoItem.
- If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
- preferred gravity of @script. To get the preferred gravity of a script,
- pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">resolved gravity suitable to use for a run of text
- with @script.</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </return-value>
- <parameters>
- <parameter name="script" transfer-ownership="none">
- <doc xml:space="preserve">#PangoScript to query</doc>
- <type name="Script" c:type="PangoScript"/>
- </parameter>
- <parameter name="base_gravity" transfer-ownership="none">
- <doc xml:space="preserve">base gravity of the paragraph</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </parameter>
- <parameter name="hint" transfer-ownership="none">
- <doc xml:space="preserve">orientation hint</doc>
- <type name="GravityHint" c:type="PangoGravityHint"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_for_script_and_width"
- c:identifier="pango_gravity_get_for_script_and_width"
- version="1.26">
- <doc xml:space="preserve">Based on the script, East Asian width, base gravity, and hint,
- returns actual gravity to use in laying out a single character
- or #PangoItem.
- This function is similar to pango_gravity_get_for_script() except
- that this function makes a distinction between narrow/half-width and
- wide/full-width characters also. Wide/full-width characters always
- stand <emphasis>upright</emphasis>, that is, they always take the base gravity,
- whereas narrow/full-width characters are always rotated in vertical
- context.
- If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
- preferred gravity of @script.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">resolved gravity suitable to use for a run of text
- with @script and @wide.</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </return-value>
- <parameters>
- <parameter name="script" transfer-ownership="none">
- <doc xml:space="preserve">#PangoScript to query</doc>
- <type name="Script" c:type="PangoScript"/>
- </parameter>
- <parameter name="wide" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE for wide characters as returned by g_unichar_iswide()</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="base_gravity" transfer-ownership="none">
- <doc xml:space="preserve">base gravity of the paragraph</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </parameter>
- <parameter name="hint" transfer-ownership="none">
- <doc xml:space="preserve">orientation hint</doc>
- <type name="GravityHint" c:type="PangoGravityHint"/>
- </parameter>
- </parameters>
- </function>
- <function name="to_rotation"
- c:identifier="pango_gravity_to_rotation"
- version="1.16">
- <doc xml:space="preserve">Converts a #PangoGravity value to its natural rotation in radians.
- @gravity should not be %PANGO_GRAVITY_AUTO.
- Note that pango_matrix_rotate() takes angle in degrees, not radians.
- So, to call pango_matrix_rotate() with the output of this function
- you should multiply it by (180. / G_PI).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the rotation value corresponding to @gravity.</doc>
- <type name="gdouble" c:type="double"/>
- </return-value>
- <parameters>
- <parameter name="gravity" transfer-ownership="none">
- <doc xml:space="preserve">gravity to query</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </parameter>
- </parameters>
- </function>
- </enumeration>
- <enumeration name="GravityHint"
- version="1.16"
- glib:type-name="PangoGravityHint"
- glib:get-type="pango_gravity_hint_get_type"
- c:type="PangoGravityHint">
- <doc xml:space="preserve">The #PangoGravityHint defines how horizontal scripts should behave in a
- vertical context. That is, English excerpt in a vertical paragraph for
- example.
- See #PangoGravity.</doc>
- <member name="natural"
- value="0"
- c:identifier="PANGO_GRAVITY_HINT_NATURAL"
- glib:nick="natural">
- <doc xml:space="preserve">scripts will take their natural gravity based
- on the base gravity and the script. This is the default.</doc>
- </member>
- <member name="strong"
- value="1"
- c:identifier="PANGO_GRAVITY_HINT_STRONG"
- glib:nick="strong">
- <doc xml:space="preserve">always use the base gravity set, regardless of
- the script.</doc>
- </member>
- <member name="line"
- value="2"
- c:identifier="PANGO_GRAVITY_HINT_LINE"
- glib:nick="line">
- <doc xml:space="preserve">for scripts not in their natural direction (eg.
- Latin in East gravity), choose per-script gravity such that every script
- respects the line progression. This means, Latin and Arabic will take
- opposite gravities and both flow top-to-bottom for example.</doc>
- </member>
- </enumeration>
- <record name="IncludedModule"
- c:type="PangoIncludedModule"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">The #PangoIncludedModule structure for a statically linked module
- contains the functions that would otherwise be loaded from a dynamically
- loaded module.</doc>
- <field name="list">
- <callback name="list">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="engines" transfer-ownership="none">
- <type name="EngineInfo" c:type="PangoEngineInfo**"/>
- </parameter>
- <parameter name="n_engines" transfer-ownership="none">
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="init">
- <callback name="init">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="module" transfer-ownership="none">
- <type name="GObject.TypeModule" c:type="GTypeModule*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="exit">
- <callback name="exit">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="create" introspectable="0">
- <callback name="create" introspectable="0">
- <return-value>
- <type name="Engine" c:type="PangoEngine*"/>
- </return-value>
- <parameters>
- <parameter name="id" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- </record>
- <record name="Item"
- c:type="PangoItem"
- glib:type-name="PangoItem"
- glib:get-type="pango_item_get_type"
- c:symbol-prefix="item">
- <doc xml:space="preserve">The #PangoItem structure stores information about a segment of text.</doc>
- <field name="offset" writable="1">
- <doc xml:space="preserve">byte offset of the start of this item in text.</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="length" writable="1">
- <doc xml:space="preserve">length of this item in bytes.</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="num_chars" writable="1">
- <doc xml:space="preserve">number of Unicode characters in the item.</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="analysis" writable="1">
- <doc xml:space="preserve">analysis results for the item.</doc>
- <type name="Analysis" c:type="PangoAnalysis"/>
- </field>
- <constructor name="new" c:identifier="pango_item_new">
- <doc xml:space="preserve">Creates a new #PangoItem structure initialized to default values.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoItem, which should
- be freed with pango_item_free().</doc>
- <type name="Item" c:type="PangoItem*"/>
- </return-value>
- </constructor>
- <method name="copy" c:identifier="pango_item_copy">
- <doc xml:space="preserve">Copy an existing #PangoItem structure.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoItem, which
- should be freed with pango_item_free(), or %NULL if
- @item was %NULL.</doc>
- <type name="Item" c:type="PangoItem*"/>
- </return-value>
- <parameters>
- <instance-parameter name="item"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoItem, may be %NULL</doc>
- <type name="Item" c:type="PangoItem*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="pango_item_free">
- <doc xml:space="preserve">Free a #PangoItem and all associated memory.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="item"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoItem, may be %NULL</doc>
- <type name="Item" c:type="PangoItem*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="split" c:identifier="pango_item_split">
- <doc xml:space="preserve">Modifies @orig to cover only the text after @split_index, and
- returns a new item that covers the text before @split_index that
- used to be in @orig. You can think of @split_index as the length of
- the returned item. @split_index may not be 0, and it may not be
- greater than or equal to the length of @orig (that is, there must
- be at least one byte assigned to each item, you can't create a
- zero-length item). @split_offset is the length of the first item in
- chars, and must be provided because the text used to generate the
- item isn't available, so pango_item_split() can't count the char
- length of the split items itself.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">new item representing text before @split_index, which
- should be freed with pango_item_free().</doc>
- <type name="Item" c:type="PangoItem*"/>
- </return-value>
- <parameters>
- <instance-parameter name="orig" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoItem</doc>
- <type name="Item" c:type="PangoItem*"/>
- </instance-parameter>
- <parameter name="split_index" transfer-ownership="none">
- <doc xml:space="preserve">byte index of position to split item, relative to the start of the item</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="split_offset" transfer-ownership="none">
- <doc xml:space="preserve">number of chars between start of @orig and @split_index</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="Language"
- c:type="PangoLanguage"
- glib:type-name="PangoLanguage"
- glib:get-type="pango_language_get_type"
- c:symbol-prefix="language">
- <doc xml:space="preserve">The #PangoLanguage structure is used to
- represent a language.
- #PangoLanguage pointers can be efficiently
- copied and compared with each other.</doc>
- <method name="get_sample_string"
- c:identifier="pango_language_get_sample_string">
- <doc xml:space="preserve">Get a string that is representative of the characters needed to
- render a particular language.
- The sample text may be a pangram, but is not necessarily. It is chosen to
- be demonstrative of normal text in the language, as well as exposing font
- feature requirements unique to the language. It is suitable for use
- as sample text in a font selection dialog.
- If @language is %NULL, the default language as found by
- pango_language_get_default() is used.
- If Pango does not have a sample string for @language, the classic
- "The quick brown fox..." is returned. This can be detected by
- comparing the returned pointer value to that returned for (non-existent)
- language code "xx". That is, compare to:
- <informalexample><programlisting>
- pango_language_get_sample_string (pango_language_from_string ("xx"))
- </programlisting></informalexample></doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the sample string. This value is owned by Pango
- and should not be freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoLanguage, or %NULL</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_scripts"
- c:identifier="pango_language_get_scripts"
- version="1.22">
- <doc xml:space="preserve">Determines the scripts used to to write @language.
- If nothing is known about the language tag @language,
- or if @language is %NULL, then %NULL is returned.
- The list of scripts returned starts with the script that the
- language uses most and continues to the one it uses least.
- The value @num_script points at will be set to the number
- of scripts in the returned array (or zero if %NULL is returned).
- Most languages use only one script for writing, but there are
- some that use two (Latin and Cyrillic for example), and a few
- use three (Japanese for example). Applications should not make
- any assumptions on the maximum number of scripts returned
- though, except that it is positive if the return value is not
- %NULL, and it is a small number.
- The pango_language_includes_script() function uses this function
- internally.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">An array of
- #PangoScript values, with the number of entries in the array stored
- in @num_scripts, or %NULL if Pango does not have any information
- about this particular language tag (also the case if @language is
- %NULL). The returned array is owned by Pango and should not be
- modified or freed.</doc>
- <array length="0" zero-terminated="0" c:type="PangoScript*">
- <type name="Script" c:type="PangoScript"/>
- </array>
- </return-value>
- <parameters>
- <instance-parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoLanguage, or %NULL</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </instance-parameter>
- <parameter name="num_scripts"
- direction="out"
- caller-allocates="1"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to return number of scripts,
- or %NULL</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="includes_script"
- c:identifier="pango_language_includes_script"
- version="1.4">
- <doc xml:space="preserve">Determines if @script is one of the scripts used to
- write @language. The returned value is conservative;
- if nothing is known about the language tag @language,
- %TRUE will be returned, since, as far as Pango knows,
- @script might be used to write @language.
- This routine is used in Pango's itemization process when
- determining if a supplied language tag is relevant to
- a particular section of text. It probably is not useful for
- applications in most circumstances.
- This function uses pango_language_get_scripts() internally.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @script is one of the scripts used
- to write @language or if nothing is known about @language
- (including the case that @language is %NULL),
- %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoLanguage, or %NULL</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </instance-parameter>
- <parameter name="script" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoScript</doc>
- <type name="Script" c:type="PangoScript"/>
- </parameter>
- </parameters>
- </method>
- <method name="matches" c:identifier="pango_language_matches">
- <doc xml:space="preserve">Checks if a language tag matches one of the elements in a list of
- language ranges. A language tag is considered to match a range
- in the list if the range is '*', the range is exactly the tag,
- or the range is a prefix of the tag, and the character after it
- in the tag is '-'.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if a match was found.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a language tag (see pango_language_from_string()),
- %NULL is allowed and matches nothing but '*'</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </instance-parameter>
- <parameter name="range_list" transfer-ownership="none">
- <doc xml:space="preserve">a list of language ranges, separated by ';', ':',
- ',', or space characters.
- Each element must either be '*', or a RFC 3066 language range
- canonicalized as by pango_language_from_string()</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_string" c:identifier="pango_language_to_string">
- <doc xml:space="preserve">Gets the RFC-3066 format string representing the given language tag.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a string representing the language tag. This is owned by
- Pango and should not be freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">a language tag.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <function name="from_string" c:identifier="pango_language_from_string">
- <doc xml:space="preserve">Take a RFC-3066 format language tag as a string and convert it to a
- #PangoLanguage pointer that can be efficiently copied (copy the
- pointer) and compared with other language tags (compare the
- pointer.)
- This function first canonicalizes the string by converting it to
- lowercase, mapping '_' to '-', and stripping all characters other
- than letters and '-'.
- Use pango_language_get_default() if you want to get the #PangoLanguage for
- the current locale of the process.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">an opaque pointer to a
- #PangoLanguage structure, or %NULL if @language was
- %NULL. The returned pointer will be valid forever
- after, and should not be freed.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </return-value>
- <parameters>
- <parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a string representing a language tag, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_default"
- c:identifier="pango_language_get_default"
- version="1.16">
- <doc xml:space="preserve">Returns the #PangoLanguage for the current locale of the process.
- Note that this can change over the life of an application.
- On Unix systems, this is the return value is derived from
- <literal>setlocale(LC_CTYPE, NULL)</literal>, and the user can
- affect this through the environment variables LC_ALL, LC_CTYPE or
- LANG (checked in that order). The locale string typically is in
- the form lang_COUNTRY, where lang is an ISO-639 language code, and
- COUNTRY is an ISO-3166 country code. For instance, sv_FI for
- Swedish as written in Finland or pt_BR for Portuguese as written in
- Brazil.
- On Windows, the C library does not use any such environment
- variables, and setting them won't affect the behavior of functions
- like ctime(). The user sets the locale through the Regional Options
- in the Control Panel. The C library (in the setlocale() function)
- does not use country and language codes, but country and language
- names spelled out in English.
- However, this function does check the above environment
- variables, and does return a Unix-style locale string based on
- either said environment variables or the thread's current locale.
- Your application should call <literal>setlocale(LC_ALL, "");</literal>
- for the user settings to take effect. Gtk+ does this in its initialization
- functions automatically (by calling gtk_set_locale()).
- See <literal>man setlocale</literal> for more details.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the default language as a
- #PangoLanguage, must not be freed.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </return-value>
- </function>
- </record>
- <class name="Layout"
- c:symbol-prefix="layout"
- c:type="PangoLayout"
- parent="GObject.Object"
- glib:type-name="PangoLayout"
- glib:get-type="pango_layout_get_type"
- glib:type-struct="LayoutClass">
- <doc xml:space="preserve">The #PangoLayout structure represents an entire paragraph
- of text. It is initialized with a #PangoContext, UTF-8 string
- and set of attributes for that string. Once that is done, the
- set of formatted lines can be extracted from the object,
- the layout can be rendered, and conversion between logical
- character positions within the layout's text, and the physical
- position of the resulting glyphs can be made.
- There are also a number of parameters to adjust the formatting
- of a #PangoLayout, which are illustrated in <xref linkend="parameters"/>.
- It is possible, as well, to ignore the 2-D setup, and simply
- treat the results of a #PangoLayout as a list of lines.
- <figure id="parameters">
- <title>Adjustable parameters for a PangoLayout</title>
- <graphic fileref="layout.gif" format="GIF"></graphic>
- </figure>
- The #PangoLayout structure is opaque, and has no user-visible
- fields.</doc>
- <constructor name="new" c:identifier="pango_layout_new">
- <doc xml:space="preserve">Create a new #PangoLayout object with attributes initialized to
- default values for a particular #PangoContext.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoLayout, with a reference
- count of one, which should be freed with
- g_object_unref().</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </return-value>
- <parameters>
- <parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoContext</doc>
- <type name="Context" c:type="PangoContext*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="context_changed"
- c:identifier="pango_layout_context_changed">
- <doc xml:space="preserve">Forces recomputation of any state in the #PangoLayout that
- might depend on the layout's context. This function should
- be called if you make changes to the context subsequent
- to creating the layout.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="copy" c:identifier="pango_layout_copy">
- <doc xml:space="preserve">Does a deep copy-by-value of the @src layout. The attribute list,
- tab array, and text from the original layout are all copied by
- value.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoLayout,
- with a reference count of one, which should be freed
- with g_object_unref().</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </return-value>
- <parameters>
- <instance-parameter name="src" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_alignment" c:identifier="pango_layout_get_alignment">
- <doc xml:space="preserve">Gets the alignment for the layout: how partial lines are
- positioned within the horizontal space available.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the alignment.</doc>
- <type name="Alignment" c:type="PangoAlignment"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_attributes" c:identifier="pango_layout_get_attributes">
- <doc xml:space="preserve">Gets the attribute list for the layout, if any.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #PangoAttrList.</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_auto_dir"
- c:identifier="pango_layout_get_auto_dir"
- version="1.4">
- <doc xml:space="preserve">Gets whether to calculate the bidirectional base direction
- for the layout according to the contents of the layout.
- See pango_layout_set_auto_dir().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the bidirectional base direction
- is computed from the layout's contents, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_baseline"
- c:identifier="pango_layout_get_baseline"
- version="1.22">
- <doc xml:space="preserve">Gets the Y position of baseline of the first line in @layout.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">baseline of first line, from top of @layout.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_character_count"
- c:identifier="pango_layout_get_character_count"
- version="1.30">
- <doc xml:space="preserve">Returns the number of Unicode characters in the
- the text of @layout.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the number of Unicode characters
- in the text of @layout</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_context" c:identifier="pango_layout_get_context">
- <doc xml:space="preserve">Retrieves the #PangoContext used for this layout.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #PangoContext for the layout.
- This does not have an additional refcount added, so if you want to
- keep a copy of this around, you must reference it yourself.</doc>
- <type name="Context" c:type="PangoContext*"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_cursor_pos" c:identifier="pango_layout_get_cursor_pos">
- <doc xml:space="preserve">Given an index within a layout, determines the positions that of the
- strong and weak cursors if the insertion point is at that
- index. The position of each cursor is stored as a zero-width
- rectangle. The strong cursor location is the location where
- characters of the directionality equal to the base direction of the
- layout are inserted. The weak cursor location is the location
- where characters of the directionality opposite to the base
- direction of the layout are inserted.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">the byte index of the cursor</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="strong_pos"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store the strong cursor position
- (may be %NULL)</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="weak_pos"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store the weak cursor position (may be %NULL)</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_ellipsize"
- c:identifier="pango_layout_get_ellipsize"
- version="1.6">
- <doc xml:space="preserve">Gets the type of ellipsization being performed for @layout.
- See pango_layout_set_ellipsize()</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the current ellipsization mode for @layout.
- Use pango_layout_is_ellipsized() to query whether any paragraphs
- were actually ellipsized.</doc>
- <type name="EllipsizeMode" c:type="PangoEllipsizeMode"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_extents" c:identifier="pango_layout_get_extents">
- <doc xml:space="preserve">Computes the logical and ink extents of @layout. Logical extents
- are usually what you want for positioning things. Note that both extents
- may have non-zero x and y. You may want to use those to offset where you
- render the layout. Not doing that is a very typical bug that shows up as
- right-to-left layouts not being correctly positioned in a layout with
- a set width.
- The extents are given in layout coordinates and in Pango units; layout
- coordinates begin at the top left corner of the layout.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the extents of the
- layout as drawn or %NULL to indicate that the result is
- not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the logical
- extents of the layout or %NULL to indicate that the
- result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_font_description"
- c:identifier="pango_layout_get_font_description"
- version="1.8">
- <doc xml:space="preserve">Gets the font description for the layout, if any.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">a pointer to the layout's font
- description, or %NULL if the font description from the layout's
- context is inherited. This value is owned by the layout and must
- not be modified or freed.</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_height"
- c:identifier="pango_layout_get_height"
- version="1.20">
- <doc xml:space="preserve">Gets the height of layout used for ellipsization. See
- pango_layout_set_height() for details.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the height, in Pango units if positive, or
- number of lines if negative.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_indent" c:identifier="pango_layout_get_indent">
- <doc xml:space="preserve">Gets the paragraph indent width in Pango units. A negative value
- indicates a hanging indentation.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the indent in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_iter" c:identifier="pango_layout_get_iter">
- <doc xml:space="preserve">Returns an iterator to iterate over the visual extents of the layout.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #PangoLayoutIter that should be freed using
- pango_layout_iter_free().</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_justify" c:identifier="pango_layout_get_justify">
- <doc xml:space="preserve">Gets whether each complete line should be stretched to fill the entire
- width of the layout.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the justify.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_line" c:identifier="pango_layout_get_line">
- <doc xml:space="preserve">Retrieves a particular line from a #PangoLayout.
- Use the faster pango_layout_get_line_readonly() if you do not plan
- to modify the contents of the line (glyphs, glyph widths, etc.).</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the requested
- #PangoLayoutLine, or %NULL if the index is out of
- range. This layout line can be ref'ed and retained,
- but will become invalid if changes are made to the
- #PangoLayout.</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="line" transfer-ownership="none">
- <doc xml:space="preserve">the index of a line, which must be between 0 and
- <literal>pango_layout_get_line_count(layout) - 1</literal>, inclusive.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_line_count" c:identifier="pango_layout_get_line_count">
- <doc xml:space="preserve">Retrieves the count of lines for the @layout.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the line count.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">#PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_line_readonly"
- c:identifier="pango_layout_get_line_readonly"
- version="1.16">
- <doc xml:space="preserve">Retrieves a particular line from a #PangoLayout.
- This is a faster alternative to pango_layout_get_line(),
- but the user is not expected
- to modify the contents of the line (glyphs, glyph widths, etc.).</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the requested
- #PangoLayoutLine, or %NULL if the index is out of
- range. This layout line can be ref'ed and retained,
- but will become invalid if changes are made to the
- #PangoLayout. No changes should be made to the line.</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="line" transfer-ownership="none">
- <doc xml:space="preserve">the index of a line, which must be between 0 and
- <literal>pango_layout_get_line_count(layout) - 1</literal>, inclusive.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_lines" c:identifier="pango_layout_get_lines">
- <doc xml:space="preserve">Returns the lines of the @layout as a list.
- Use the faster pango_layout_get_lines_readonly() if you do not plan
- to modify the contents of the lines (glyphs, glyph widths, etc.).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GSList containing
- the lines in the layout. This points to internal data of the #PangoLayout
- and must be used with care. It will become invalid on any change to the layout's
- text or properties.</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="LayoutLine"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_lines_readonly"
- c:identifier="pango_layout_get_lines_readonly"
- version="1.16">
- <doc xml:space="preserve">Returns the lines of the @layout as a list.
- This is a faster alternative to pango_layout_get_lines(),
- but the user is not expected
- to modify the contents of the lines (glyphs, glyph widths, etc.).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GSList containing
- the lines in the layout. This points to internal data of the #PangoLayout and
- must be used with care. It will become invalid on any change to the layout's
- text or properties. No changes should be made to the lines.</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="LayoutLine"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_log_attrs" c:identifier="pango_layout_get_log_attrs">
- <doc xml:space="preserve">Retrieves an array of logical attributes for each character in
- the @layout.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="attrs"
- direction="out"
- caller-allocates="0"
- transfer-ownership="container">
- <doc xml:space="preserve">
- location to store a pointer to an array of logical attributes
- This value must be freed with g_free().</doc>
- <array length="1" zero-terminated="0" c:type="PangoLogAttr**">
- <type name="LogAttr" c:type="PangoLogAttr*"/>
- </array>
- </parameter>
- <parameter name="n_attrs"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the number of the attributes in the
- array. (The stored value will be one more than the total number
- of characters in the layout, since there need to be attributes
- corresponding to both the position before the first character
- and the position after the last character.)</doc>
- <type name="gint" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_log_attrs_readonly"
- c:identifier="pango_layout_get_log_attrs_readonly"
- version="1.30">
- <doc xml:space="preserve">Retrieves an array of logical attributes for each character in
- the @layout.
- This is a faster alternative to pango_layout_get_log_attrs().
- The returned array is part of @layout and must not be modified.
- Modifying the layout will invalidate the returned array.
- The number of attributes returned in @n_attrs will be one more
- than the total number of characters in the layout, since there
- need to be attributes corresponding to both the position before
- the first character and the position after the last character.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">an array of logical attributes</doc>
- <array length="0" zero-terminated="0" c:type="PangoLogAttr*">
- <type name="LogAttr" c:type="PangoLogAttr"/>
- </array>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="n_attrs"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the number of the attributes in
- the array</doc>
- <type name="gint" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_pixel_extents"
- c:identifier="pango_layout_get_pixel_extents">
- <doc xml:space="preserve">Computes the logical and ink extents of @layout in device units.
- This function just calls pango_layout_get_extents() followed by
- two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect
- such that the rounded rectangles fully contain the unrounded one (that is,
- passes them as first argument to pango_extents_to_pixels()).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the extents of the
- layout as drawn or %NULL to indicate that the result is
- not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the logical
- extents of the layout or %NULL to indicate that the
- result is not needed.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_pixel_size" c:identifier="pango_layout_get_pixel_size">
- <doc xml:space="preserve">Determines the logical width and height of a #PangoLayout
- in device units. (pango_layout_get_size() returns the width
- and height scaled by %PANGO_SCALE.) This
- is simply a convenience function around
- pango_layout_get_pixel_extents().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="width"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store the logical width, or %NULL</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="height"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store the logical height, or %NULL</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_serial"
- c:identifier="pango_layout_get_serial"
- version="1.32.4">
- <doc xml:space="preserve">Returns the current serial number of @layout. The serial number is
- initialized to an small number larger than zero when a new layout
- is created and is increased whenever the layout is changed using any
- of the setter functions, or the #PangoContext it uses has changed.
- The serial may wrap, but will never have the value 0. Since it
- can wrap, never compare it with "less than", always use "not equals".
- This can be used to automatically detect changes to a #PangoLayout, and
- is useful for example to decide whether a layout needs redrawing.
- To force the serial to be increased, use pango_layout_context_changed().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The current serial number of @layout.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_single_paragraph_mode"
- c:identifier="pango_layout_get_single_paragraph_mode">
- <doc xml:space="preserve">Obtains the value set by pango_layout_set_single_paragraph_mode().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the layout does not break paragraphs at
- paragraph separator characters, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_size" c:identifier="pango_layout_get_size">
- <doc xml:space="preserve">Determines the logical width and height of a #PangoLayout
- in Pango units (device units scaled by %PANGO_SCALE). This
- is simply a convenience function around pango_layout_get_extents().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="width"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store the logical width, or %NULL</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="height"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store the logical height, or %NULL</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_spacing" c:identifier="pango_layout_get_spacing">
- <doc xml:space="preserve">Gets the amount of spacing between the lines of the layout.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the spacing in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_tabs" c:identifier="pango_layout_get_tabs">
- <doc xml:space="preserve">Gets the current #PangoTabArray used by this layout. If no
- #PangoTabArray has been set, then the default tabs are in use
- and %NULL is returned. Default tabs are every 8 spaces.
- The return value should be freed with pango_tab_array_free().</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a copy of the tabs for this layout, or
- %NULL.</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_text" c:identifier="pango_layout_get_text">
- <doc xml:space="preserve">Gets the text in the layout. The returned text should not
- be freed or modified.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the text in the @layout.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_unknown_glyphs_count"
- c:identifier="pango_layout_get_unknown_glyphs_count"
- version="1.16">
- <doc xml:space="preserve">Counts the number unknown glyphs in @layout. That is, zero if
- glyphs for all characters in the layout text were found, or more
- than zero otherwise.
- This function can be used to determine if there are any fonts
- available to render all characters in a certain string, or when
- used in combination with %PANGO_ATTR_FALLBACK, to check if a
- certain font supports all the characters in the string.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The number of unknown glyphs in @layout.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_width" c:identifier="pango_layout_get_width">
- <doc xml:space="preserve">Gets the width to which the lines of the #PangoLayout should wrap.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the width in Pango units, or -1 if no width set.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_wrap" c:identifier="pango_layout_get_wrap">
- <doc xml:space="preserve">Gets the wrap mode for the layout.
- Use pango_layout_is_wrapped() to query whether any paragraphs
- were actually wrapped.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">active wrap mode.</doc>
- <type name="WrapMode" c:type="PangoWrapMode"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="index_to_line_x"
- c:identifier="pango_layout_index_to_line_x">
- <doc xml:space="preserve">Converts from byte @index_ within the @layout to line and X position.
- (X position is measured from the left edge of the line)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">the byte index of a grapheme within the layout.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="trailing" transfer-ownership="none">
- <doc xml:space="preserve">an integer indicating the edge of the grapheme to retrieve the
- position of. If > 0, the trailing edge of the grapheme, if 0,
- the leading of the grapheme.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="line"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store resulting line index. (which will
- between 0 and pango_layout_get_line_count(layout) - 1), or %NULL</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="x_pos"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store resulting position within line
- (%PANGO_SCALE units per device unit), or %NULL</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="index_to_pos" c:identifier="pango_layout_index_to_pos">
- <doc xml:space="preserve">Converts from an index within a #PangoLayout to the onscreen position
- corresponding to the grapheme at that index, which is represented
- as rectangle. Note that <literal>pos->x</literal> is always the leading
- edge of the grapheme and <literal>pos->x + pos->width</literal> the trailing
- edge of the grapheme. If the directionality of the grapheme is right-to-left,
- then <literal>pos->width</literal> will be negative.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">byte index within @layout</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="pos"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">rectangle in which to store the position of the grapheme</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_ellipsized"
- c:identifier="pango_layout_is_ellipsized"
- version="1.16">
- <doc xml:space="preserve">Queries whether the layout had to ellipsize any paragraphs.
- This returns %TRUE if the ellipsization mode for @layout
- is not %PANGO_ELLIPSIZE_NONE, a positive width is set on @layout,
- and there are paragraphs exceeding that width that have to be
- ellipsized.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if any paragraphs had to be ellipsized, %FALSE
- otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_wrapped"
- c:identifier="pango_layout_is_wrapped"
- version="1.16">
- <doc xml:space="preserve">Queries whether the layout had to wrap any paragraphs.
- This returns %TRUE if a positive width is set on @layout,
- ellipsization mode of @layout is set to %PANGO_ELLIPSIZE_NONE,
- and there are paragraphs exceeding the layout width that have
- to be wrapped.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if any paragraphs had to be wrapped, %FALSE
- otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="move_cursor_visually"
- c:identifier="pango_layout_move_cursor_visually">
- <doc xml:space="preserve">Computes a new cursor position from an old position and
- a count of positions to move visually. If @direction is positive,
- then the new strong cursor position will be one position
- to the right of the old cursor position. If @direction is negative,
- then the new strong cursor position will be one position
- to the left of the old cursor position.
- In the presence of bidirectional text, the correspondence
- between logical and visual order will depend on the direction
- of the current run, and there may be jumps when the cursor
- is moved off of the end of a run.
- Motion here is in cursor positions, not in characters, so a
- single call to pango_layout_move_cursor_visually() may move the
- cursor over multiple characters when multiple characters combine
- to form a single grapheme.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout.</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="strong" transfer-ownership="none">
- <doc xml:space="preserve">whether the moving cursor is the strong cursor or the
- weak cursor. The strong cursor is the cursor corresponding
- to text insertion in the base direction for the layout.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="old_index" transfer-ownership="none">
- <doc xml:space="preserve">the byte index of the grapheme for the old index</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="old_trailing" transfer-ownership="none">
- <doc xml:space="preserve">if 0, the cursor was at the leading edge of the
- grapheme indicated by @old_index, if > 0, the cursor
- was at the trailing edge.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="direction" transfer-ownership="none">
- <doc xml:space="preserve">direction to move cursor. A negative
- value indicates motion to the left.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="new_index"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the new cursor byte index. A value of -1
- indicates that the cursor has been moved off the beginning
- of the layout. A value of %G_MAXINT indicates that
- the cursor has been moved off the end of the layout.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="new_trailing"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">number of characters to move forward from the
- location returned for @new_index to get the position
- where the cursor should be displayed. This allows
- distinguishing the position at the beginning of one
- line from the position at the end of the preceding
- line. @new_index is always on the line where the
- cursor should be displayed.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_alignment" c:identifier="pango_layout_set_alignment">
- <doc xml:space="preserve">Sets the alignment for the layout: how partial lines are
- positioned within the horizontal space available.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="alignment" transfer-ownership="none">
- <doc xml:space="preserve">the alignment</doc>
- <type name="Alignment" c:type="PangoAlignment"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_attributes" c:identifier="pango_layout_set_attributes">
- <doc xml:space="preserve">Sets the text attributes for a layout object.
- References @attrs, so the caller can unref its reference.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="attrs"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoAttrList, can be %NULL</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_auto_dir"
- c:identifier="pango_layout_set_auto_dir"
- version="1.4">
- <doc xml:space="preserve">Sets whether to calculate the bidirectional base direction
- for the layout according to the contents of the layout;
- when this flag is on (the default), then paragraphs in
- @layout that begin with strong right-to-left characters
- (Arabic and Hebrew principally), will have right-to-left
- layout, paragraphs with letters from other scripts will
- have left-to-right layout. Paragraphs with only neutral
- characters get their direction from the surrounding paragraphs.
- When %FALSE, the choice between left-to-right and
- right-to-left layout is done according to the base direction
- of the layout's #PangoContext. (See pango_context_set_base_dir()).
- When the auto-computed direction of a paragraph differs from the
- base direction of the context, the interpretation of
- %PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="auto_dir" transfer-ownership="none">
- <doc xml:space="preserve">if %TRUE, compute the bidirectional base direction
- from the layout's contents.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_ellipsize"
- c:identifier="pango_layout_set_ellipsize"
- version="1.6">
- <doc xml:space="preserve">Sets the type of ellipsization being performed for @layout.
- Depending on the ellipsization mode @ellipsize text is
- removed from the start, middle, or end of text so they
- fit within the width and height of layout set with
- pango_layout_set_width() and pango_layout_set_height().
- If the layout contains characters such as newlines that
- force it to be layed out in multiple paragraphs, then whether
- each paragraph is ellipsized separately or the entire layout
- is ellipsized as a whole depends on the set height of the layout.
- See pango_layout_set_height() for details.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="ellipsize" transfer-ownership="none">
- <doc xml:space="preserve">the new ellipsization mode for @layout</doc>
- <type name="EllipsizeMode" c:type="PangoEllipsizeMode"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_font_description"
- c:identifier="pango_layout_set_font_description">
- <doc xml:space="preserve">Sets the default font description for the layout. If no font
- description is set on the layout, the font description from
- the layout's context is used.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="desc"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the new #PangoFontDescription, or %NULL to unset the
- current font description</doc>
- <type name="FontDescription" c:type="const PangoFontDescription*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_height"
- c:identifier="pango_layout_set_height"
- version="1.20">
- <doc xml:space="preserve">Sets the height to which the #PangoLayout should be ellipsized at. There
- are two different behaviors, based on whether @height is positive or
- negative.
- If @height is positive, it will be the maximum height of the layout. Only
- lines would be shown that would fit, and if there is any text omitted,
- an ellipsis added. At least one line is included in each paragraph regardless
- of how small the height value is. A value of zero will render exactly one
- line for the entire layout.
- If @height is negative, it will be the (negative of) maximum number of lines per
- paragraph. That is, the total number of lines shown may well be more than
- this value if the layout contains multiple paragraphs of text.
- The default value of -1 means that first line of each paragraph is ellipsized.
- This behvaior may be changed in the future to act per layout instead of per
- paragraph. File a bug against pango at <ulink
- url="http://bugzilla.gnome.org/">http://bugzilla.gnome.org/</ulink> if your
- code relies on this behavior.
- Height setting only has effect if a positive width is set on
- @layout and ellipsization mode of @layout is not %PANGO_ELLIPSIZE_NONE.
- The behavior is undefined if a height other than -1 is set and
- ellipsization mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the
- future.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout.</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="height" transfer-ownership="none">
- <doc xml:space="preserve">the desired height of the layout in Pango units if positive,
- or desired number of lines if negative.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_indent" c:identifier="pango_layout_set_indent">
- <doc xml:space="preserve">Sets the width in Pango units to indent each paragraph. A negative value
- of @indent will produce a hanging indentation. That is, the first line will
- have the full width, and subsequent lines will be indented by the
- absolute value of @indent.
- The indent setting is ignored if layout alignment is set to
- %PANGO_ALIGN_CENTER.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout.</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="indent" transfer-ownership="none">
- <doc xml:space="preserve">the amount by which to indent.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_justify" c:identifier="pango_layout_set_justify">
- <doc xml:space="preserve">Sets whether each complete line should be stretched to
- fill the entire width of the layout. This stretching is typically
- done by adding whitespace, but for some scripts (such as Arabic),
- the justification may be done in more complex ways, like extending
- the characters.
- Note that this setting is not implemented and so is ignored in Pango
- older than 1.18.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="justify" transfer-ownership="none">
- <doc xml:space="preserve">whether the lines in the layout should be justified.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_markup" c:identifier="pango_layout_set_markup">
- <doc xml:space="preserve">Same as pango_layout_set_markup_with_accel(), but
- the markup text isn't scanned for accelerators.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="markup" transfer-ownership="none">
- <doc xml:space="preserve">marked-up text</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of marked-up text in bytes, or -1 if @markup is
- null-terminated</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_markup_with_accel"
- c:identifier="pango_layout_set_markup_with_accel">
- <doc xml:space="preserve">Sets the layout text and attribute list from marked-up text (see
- <link linkend="PangoMarkupFormat">markup format</link>). Replaces
- the current text and attribute list.
- If @accel_marker is nonzero, the given character will mark the
- character following it as an accelerator. For example, @accel_marker
- might be an ampersand or underscore. All characters marked
- as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
- and the first character so marked will be returned in @accel_char.
- Two @accel_marker characters following each other produce a single
- literal @accel_marker character.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="markup" transfer-ownership="none">
- <doc xml:space="preserve">marked-up text
- (see <link linkend="PangoMarkupFormat">markup format</link>)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of marked-up text in bytes, or -1 if @markup is
- null-terminated</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="accel_marker" transfer-ownership="none">
- <doc xml:space="preserve">marker for accelerators in the text</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- <parameter name="accel_char"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">return location
- for first located accelerator, or %NULL</doc>
- <type name="gunichar" c:type="gunichar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_single_paragraph_mode"
- c:identifier="pango_layout_set_single_paragraph_mode">
- <doc xml:space="preserve">If @setting is %TRUE, do not treat newlines and similar characters
- as paragraph separators; instead, keep all text in a single paragraph,
- and display a glyph for paragraph separator characters. Used when
- you want to allow editing of newlines on a single text line.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="setting" transfer-ownership="none">
- <doc xml:space="preserve">new setting</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_spacing" c:identifier="pango_layout_set_spacing">
- <doc xml:space="preserve">Sets the amount of spacing in Pango unit between the lines of the
- layout.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout.</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="spacing" transfer-ownership="none">
- <doc xml:space="preserve">the amount of spacing</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_tabs" c:identifier="pango_layout_set_tabs">
- <doc xml:space="preserve">Sets the tabs to use for @layout, overriding the default tabs
- (by default, tabs are every 8 spaces). If @tabs is %NULL, the default
- tabs are reinstated. @tabs is copied into the layout; you must
- free your copy of @tabs yourself.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="tabs"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoTabArray, or %NULL</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_text" c:identifier="pango_layout_set_text">
- <doc xml:space="preserve">Sets the text of the layout.
- Note that if you have used
- pango_layout_set_markup() or pango_layout_set_markup_with_accel() on
- @layout before, you may want to call pango_layout_set_attributes() to clear
- the attributes set on the layout from the markup as this function does not
- clear attributes.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">a valid UTF-8 string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">maximum length of @text, in bytes. -1 indicates that
- the string is nul-terminated and the length should be
- calculated. The text will also be truncated on
- encountering a nul-termination even when @length is
- positive.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_width" c:identifier="pango_layout_set_width">
- <doc xml:space="preserve">Sets the width to which the lines of the #PangoLayout should wrap or
- ellipsized. The default value is -1: no width set.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout.</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="width" transfer-ownership="none">
- <doc xml:space="preserve">the desired width in Pango units, or -1 to indicate that no
- wrapping or ellipsization should be performed.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_wrap" c:identifier="pango_layout_set_wrap">
- <doc xml:space="preserve">Sets the wrap mode; the wrap mode only has effect if a width
- is set on the layout with pango_layout_set_width().
- To turn off wrapping, set the width to -1.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="wrap" transfer-ownership="none">
- <doc xml:space="preserve">the wrap mode</doc>
- <type name="WrapMode" c:type="PangoWrapMode"/>
- </parameter>
- </parameters>
- </method>
- <method name="xy_to_index" c:identifier="pango_layout_xy_to_index">
- <doc xml:space="preserve">Converts from X and Y position within a layout to the byte
- index to the character at that logical position. If the
- Y position is not inside the layout, the closest position is chosen
- (the position will be clamped inside the layout). If the
- X position is not within the layout, then the start or the
- end of the line is chosen as described for pango_layout_line_x_to_index().
- If either the X or Y positions were not inside the layout, then the
- function returns %FALSE; on an exact hit, it returns %TRUE.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the coordinates were inside text, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </instance-parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">the X offset (in Pango units)
- from the left edge of the layout.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">the Y offset (in Pango units)
- from the top edge of the layout</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="index_"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store calculated byte index</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="trailing"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store a integer indicating where
- in the grapheme the user clicked. It will either
- be zero, or the number of characters in the
- grapheme. 0 represents the leading edge of the grapheme.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- </class>
- <record name="LayoutClass"
- c:type="PangoLayoutClass"
- disguised="1"
- glib:is-gtype-struct-for="Layout">
- </record>
- <record name="LayoutIter"
- c:type="PangoLayoutIter"
- glib:type-name="PangoLayoutIter"
- glib:get-type="pango_layout_iter_get_type"
- c:symbol-prefix="layout_iter">
- <doc xml:space="preserve">A #PangoLayoutIter structure can be used to
- iterate over the visual extents of a #PangoLayout.
- The #PangoLayoutIter structure is opaque, and
- has no user-visible fields.</doc>
- <method name="at_last_line"
- c:identifier="pango_layout_iter_at_last_line">
- <doc xml:space="preserve">Determines whether @iter is on the last line of the layout.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @iter is on the last line.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="copy" c:identifier="pango_layout_iter_copy" version="1.20">
- <doc xml:space="preserve">Copies a #PangoLayoutIter.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoLayoutIter,
- which should be freed with pango_layout_iter_free(),
- or %NULL if @iter was %NULL.</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoLayoutIter, may be %NULL</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="pango_layout_iter_free">
- <doc xml:space="preserve">Frees an iterator that's no longer in use.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoLayoutIter, may be %NULL</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_baseline"
- c:identifier="pango_layout_iter_get_baseline">
- <doc xml:space="preserve">Gets the Y position of the current line's baseline, in layout
- coordinates (origin at top left of the entire layout).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">baseline of current line.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_char_extents"
- c:identifier="pango_layout_iter_get_char_extents">
- <doc xml:space="preserve">Gets the extents of the current character, in layout coordinates
- (origin is the top left of the entire layout). Only logical extents
- can sensibly be obtained for characters; ink extents make sense only
- down to the level of clusters.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">rectangle to fill with
- logical extents</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_cluster_extents"
- c:identifier="pango_layout_iter_get_cluster_extents">
- <doc xml:space="preserve">Gets the extents of the current cluster, in layout coordinates
- (origin is the top left of the entire layout).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle to fill with ink extents, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle to fill with logical extents, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_index" c:identifier="pango_layout_iter_get_index">
- <doc xml:space="preserve">Gets the current byte index. Note that iterating forward by char
- moves in visual order, not logical order, so indexes may not be
- sequential. Also, the index may be equal to the length of the text
- in the layout, if on the %NULL run (see pango_layout_iter_get_run()).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">current byte index.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_layout"
- c:identifier="pango_layout_iter_get_layout"
- version="1.20">
- <doc xml:space="preserve">Gets the layout associated with a #PangoLayoutIter.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the layout associated with @iter.</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_layout_extents"
- c:identifier="pango_layout_iter_get_layout_extents">
- <doc xml:space="preserve">Obtains the extents of the #PangoLayout being iterated
- over. @ink_rect or @logical_rect can be %NULL if you
- aren't interested in them.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle to fill with ink extents,
- or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle to fill with logical
- extents, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_line" c:identifier="pango_layout_iter_get_line">
- <doc xml:space="preserve">Gets the current line.
- Use the faster pango_layout_iter_get_line_readonly() if you do not plan
- to modify the contents of the line (glyphs, glyph widths, etc.).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the current line.</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_line_extents"
- c:identifier="pango_layout_iter_get_line_extents">
- <doc xml:space="preserve">Obtains the extents of the current line. @ink_rect or @logical_rect
- can be %NULL if you aren't interested in them. Extents are in layout
- coordinates (origin is the top-left corner of the entire
- #PangoLayout). Thus the extents returned by this function will be
- the same width/height but not at the same x/y as the extents
- returned from pango_layout_line_get_extents().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle to fill with ink extents, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle to fill with logical extents, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_line_readonly"
- c:identifier="pango_layout_iter_get_line_readonly"
- version="1.16">
- <doc xml:space="preserve">Gets the current line for read-only access.
- This is a faster alternative to pango_layout_iter_get_line(),
- but the user is not expected
- to modify the contents of the line (glyphs, glyph widths, etc.).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the current line, that should not be
- modified.</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_line_yrange"
- c:identifier="pango_layout_iter_get_line_yrange">
- <doc xml:space="preserve">Divides the vertical space in the #PangoLayout being iterated over
- between the lines in the layout, and returns the space belonging to
- the current line. A line's range includes the line's logical
- extents, plus half of the spacing above and below the line, if
- pango_layout_set_spacing() has been called to set layout spacing.
- The Y positions are in layout coordinates (origin at top left of the
- entire layout).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- <parameter name="y0_"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">start of line, or %NULL</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="y1_"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">end of line, or %NULL</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_run" c:identifier="pango_layout_iter_get_run">
- <doc xml:space="preserve">Gets the current run. When iterating by run, at the end of each
- line, there's a position with a %NULL run, so this function can return
- %NULL. The %NULL run at the end of each line ensures that all lines have
- at least one run, even lines consisting of only a newline.
- Use the faster pango_layout_iter_get_run_readonly() if you do not plan
- to modify the contents of the run (glyphs, glyph widths, etc.).</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the current run.</doc>
- <type name="LayoutRun" c:type="PangoLayoutRun*"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_run_extents"
- c:identifier="pango_layout_iter_get_run_extents">
- <doc xml:space="preserve">Gets the extents of the current run in layout coordinates
- (origin is the top left of the entire layout).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle to fill with ink extents, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle to fill with logical extents, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_run_readonly"
- c:identifier="pango_layout_iter_get_run_readonly"
- version="1.16">
- <doc xml:space="preserve">Gets the current run. When iterating by run, at the end of each
- line, there's a position with a %NULL run, so this function can return
- %NULL. The %NULL run at the end of each line ensures that all lines have
- at least one run, even lines consisting of only a newline.
- This is a faster alternative to pango_layout_iter_get_run(),
- but the user is not expected
- to modify the contents of the run (glyphs, glyph widths, etc.).</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the current run, that
- should not be modified.</doc>
- <type name="LayoutRun" c:type="PangoLayoutRun*"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="next_char" c:identifier="pango_layout_iter_next_char">
- <doc xml:space="preserve">Moves @iter forward to the next character in visual order. If @iter was already at
- the end of the layout, returns %FALSE.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether motion was possible.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="next_cluster"
- c:identifier="pango_layout_iter_next_cluster">
- <doc xml:space="preserve">Moves @iter forward to the next cluster in visual order. If @iter
- was already at the end of the layout, returns %FALSE.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether motion was possible.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="next_line" c:identifier="pango_layout_iter_next_line">
- <doc xml:space="preserve">Moves @iter forward to the start of the next line. If @iter is
- already on the last line, returns %FALSE.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether motion was possible.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="next_run" c:identifier="pango_layout_iter_next_run">
- <doc xml:space="preserve">Moves @iter forward to the next run in visual order. If @iter was
- already at the end of the layout, returns %FALSE.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether motion was possible.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutIter</doc>
- <type name="LayoutIter" c:type="PangoLayoutIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- </record>
- <record name="LayoutLine"
- c:type="PangoLayoutLine"
- glib:type-name="PangoLayoutLine"
- glib:get-type="pango_layout_line_get_type"
- c:symbol-prefix="layout_line">
- <doc xml:space="preserve">The #PangoLayoutLine structure represents one of the lines resulting
- from laying out a paragraph via #PangoLayout. #PangoLayoutLine
- structures are obtained by calling pango_layout_get_line() and
- are only valid until the text, attributes, or settings of the
- parent #PangoLayout are modified.
- Routines for rendering PangoLayout objects are provided in
- code specific to each rendering system.</doc>
- <field name="layout" writable="1">
- <doc xml:space="preserve">the layout this line belongs to, might be %NULL</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </field>
- <field name="start_index" writable="1">
- <doc xml:space="preserve">start of line as byte index into layout->text</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="length" writable="1">
- <doc xml:space="preserve">length of line in bytes</doc>
- <type name="gint" c:type="gint"/>
- </field>
- <field name="runs" writable="1">
- <doc xml:space="preserve">list of runs in the
- line, from left to right</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </field>
- <field name="is_paragraph_start" writable="1" bits="1">
- <doc xml:space="preserve">#TRUE if this is the first line of the paragraph</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="resolved_dir" writable="1" bits="3">
- <doc xml:space="preserve">#Resolved PangoDirection of line</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <method name="get_extents" c:identifier="pango_layout_line_get_extents">
- <doc xml:space="preserve">Computes the logical and ink extents of a layout line. See
- pango_font_get_glyph_extents() for details about the interpretation
- of the rectangles.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="line" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutLine</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </instance-parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the extents of
- the glyph string as drawn, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the logical
- extents of the glyph string, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_pixel_extents"
- c:identifier="pango_layout_line_get_pixel_extents">
- <doc xml:space="preserve">Computes the logical and ink extents of @layout_line in device units.
- This function just calls pango_layout_line_get_extents() followed by
- two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect
- such that the rounded rectangles fully contain the unrounded one (that is,
- passes them as first argument to pango_extents_to_pixels()).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="layout_line" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutLine</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </instance-parameter>
- <parameter name="ink_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the extents of
- the glyph string as drawn, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="logical_rect"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle used to store the logical
- extents of the glyph string, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_x_ranges"
- c:identifier="pango_layout_line_get_x_ranges">
- <doc xml:space="preserve">Gets a list of visual ranges corresponding to a given logical range.
- This list is not necessarily minimal - there may be consecutive
- ranges which are adjacent. The ranges will be sorted from left to
- right. The ranges are with respect to the left edge of the entire
- layout, not with respect to the line.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="line" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutLine</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </instance-parameter>
- <parameter name="start_index" transfer-ownership="none">
- <doc xml:space="preserve">Start byte index of the logical range. If this value
- is less than the start index for the line, then
- the first range will extend all the way to the leading
- edge of the layout. Otherwise it will start at the
- leading edge of the first character.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="end_index" transfer-ownership="none">
- <doc xml:space="preserve">Ending byte index of the logical range. If this value
- is greater than the end index for the line, then
- the last range will extend all the way to the trailing
- edge of the layout. Otherwise, it will end at the
- trailing edge of the last character.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="ranges"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">
- location to store a pointer to an array of ranges.
- The array will be of length <literal>2*n_ranges</literal>,
- with each range starting at <literal>(*ranges)[2*n]</literal>
- and of width <literal>(*ranges)[2*n + 1] - (*ranges)[2*n]</literal>.
- This array must be freed with g_free(). The coordinates are relative
- to the layout and are in Pango units.</doc>
- <array length="3" zero-terminated="0" c:type="int**">
- <type name="gint" c:type="int*"/>
- </array>
- </parameter>
- <parameter name="n_ranges"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">The number of ranges stored in @ranges.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="index_to_x" c:identifier="pango_layout_line_index_to_x">
- <doc xml:space="preserve">Converts an index within a line to a X position.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="line" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutLine</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </instance-parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">byte offset of a grapheme within the layout</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="trailing" transfer-ownership="none">
- <doc xml:space="preserve">an integer indicating the edge of the grapheme to retrieve
- the position of. If > 0, the trailing edge of the grapheme,
- if 0, the leading of the grapheme.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="x_pos"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store the x_offset (in Pango unit)</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="ref" c:identifier="pango_layout_line_ref" version="1.10">
- <doc xml:space="preserve">Increase the reference count of a #PangoLayoutLine by one.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the line passed in.</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </return-value>
- <parameters>
- <instance-parameter name="line"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoLayoutLine, may be %NULL</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="unref" c:identifier="pango_layout_line_unref">
- <doc xml:space="preserve">Decrease the reference count of a #PangoLayoutLine by one.
- If the result is zero, the line and all associated memory
- will be freed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="line" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutLine</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="x_to_index" c:identifier="pango_layout_line_x_to_index">
- <doc xml:space="preserve">Converts from x offset to the byte index of the corresponding
- character within the text of the layout. If @x_pos is outside the line,
- @index_ and @trailing will point to the very first or very last position
- in the line. This determination is based on the resolved direction
- of the paragraph; for example, if the resolved direction is
- right-to-left, then an X position to the right of the line (after it)
- results in 0 being stored in @index_ and @trailing. An X position to the
- left of the line results in @index_ pointing to the (logical) last
- grapheme in the line and @trailing being set to the number of characters
- in that grapheme. The reverse is true for a left-to-right line.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if @x_pos was outside the line, %TRUE if inside</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="line" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutLine</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </instance-parameter>
- <parameter name="x_pos" transfer-ownership="none">
- <doc xml:space="preserve">the X offset (in Pango units)
- from the left edge of the line.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="index_"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store calculated byte index for
- the grapheme in which the user clicked.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="trailing"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">location to store an integer indicating where
- in the grapheme the user clicked. It will either
- be zero, or the number of characters in the
- grapheme. 0 represents the leading edge of the grapheme.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="LogAttr" c:type="PangoLogAttr">
- <doc xml:space="preserve">The #PangoLogAttr structure stores information
- about the attributes of a single character.</doc>
- <field name="is_line_break" writable="1" bits="1">
- <doc xml:space="preserve">if set, can break line in front of character</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_mandatory_break" writable="1" bits="1">
- <doc xml:space="preserve">if set, must break line in front of character</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_char_break" writable="1" bits="1">
- <doc xml:space="preserve">if set, can break here when doing character wrapping</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_white" writable="1" bits="1">
- <doc xml:space="preserve">is whitespace character</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_cursor_position" writable="1" bits="1">
- <doc xml:space="preserve">if set, cursor can appear in front of character.
- i.e. this is a grapheme boundary, or the first character
- in the text.
- This flag implements Unicode's
- <ulink url="http://www.unicode.org/reports/tr29/">Grapheme
- Cluster Boundaries</ulink> semantics.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_word_start" writable="1" bits="1">
- <doc xml:space="preserve">is first character in a word</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_word_end" writable="1" bits="1">
- <doc xml:space="preserve">is first non-word char after a word
- Note that in degenerate cases, you could have both @is_word_start
- and @is_word_end set for some character.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_sentence_boundary" writable="1" bits="1">
- <doc xml:space="preserve">is a sentence boundary.
- There are two ways to divide sentences. The first assigns all
- inter-sentence whitespace/control/format chars to some sentence,
- so all chars are in some sentence; @is_sentence_boundary denotes
- the boundaries there. The second way doesn't assign
- between-sentence spaces, etc. to any sentence, so
- @is_sentence_start/@is_sentence_end mark the boundaries of those sentences.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_sentence_start" writable="1" bits="1">
- <doc xml:space="preserve">is first character in a sentence</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_sentence_end" writable="1" bits="1">
- <doc xml:space="preserve">is first char after a sentence.
- Note that in degenerate cases, you could have both @is_sentence_start
- and @is_sentence_end set for some character. (e.g. no space after a
- period, so the next sentence starts right away)</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="backspace_deletes_character" writable="1" bits="1">
- <doc xml:space="preserve">if set, backspace deletes one character
- rather than the entire grapheme cluster. This
- field is only meaningful on grapheme
- boundaries (where @is_cursor_position is
- set). In some languages, the full grapheme
- (e.g. letter + diacritics) is considered a
- unit, while in others, each decomposed
- character in the grapheme is a unit. In the
- default implementation of pango_break(), this
- bit is set on all grapheme boundaries except
- those following Latin, Cyrillic or Greek base characters.</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_expandable_space" writable="1" bits="1">
- <doc xml:space="preserve">is a whitespace character that can possibly be
- expanded for justification purposes. (Since: 1.18)</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="is_word_boundary" writable="1" bits="1">
- <doc xml:space="preserve">is a word boundary.
- More specifically, means that this is not a position in the middle
- of a word. For example, both sides of a punctuation mark are
- considered word boundaries. This flag is particularly useful when
- selecting text word-by-word.
- This flag implements Unicode's
- <ulink url="http://www.unicode.org/reports/tr29/">Word
- Boundaries</ulink> semantics. (Since: 1.22)</doc>
- <type name="guint" c:type="guint"/>
- </field>
- </record>
- <record name="Map" c:type="PangoMap" disguised="1">
- <method name="get_engine"
- c:identifier="pango_map_get_engine"
- introspectable="0"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Do not use. Does not do anything.</doc>
- <return-value>
- <doc xml:space="preserve">%NULL.</doc>
- <type name="Engine" c:type="PangoEngine*"/>
- </return-value>
- <parameters>
- <instance-parameter name="map" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoMap</doc>
- <type name="Map" c:type="PangoMap*"/>
- </instance-parameter>
- <parameter name="script" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoScript</doc>
- <type name="Script" c:type="PangoScript"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_engines"
- c:identifier="pango_map_get_engines"
- version="1.4"
- introspectable="0"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Do not use. Does not do anything.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="map" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoMap</doc>
- <type name="Map" c:type="PangoMap*"/>
- </instance-parameter>
- <parameter name="script" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoScript</doc>
- <type name="Script" c:type="PangoScript"/>
- </parameter>
- <parameter name="exact_engines" transfer-ownership="none">
- <doc xml:space="preserve">location to store list of engines that exactly
- handle this script.</doc>
- <type name="GLib.SList" c:type="GSList**">
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </parameter>
- <parameter name="fallback_engines" transfer-ownership="none">
- <doc xml:space="preserve">location to store list of engines that approximately
- handle this script.</doc>
- <type name="GLib.SList" c:type="GSList**">
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="MapEntry" c:type="PangoMapEntry" disguised="1">
- </record>
- <record name="Matrix"
- c:type="PangoMatrix"
- version="1.6"
- glib:type-name="PangoMatrix"
- glib:get-type="pango_matrix_get_type"
- c:symbol-prefix="matrix">
- <doc xml:space="preserve">A structure specifying a transformation between user-space
- coordinates and device coordinates. The transformation
- is given by
- <programlisting>
- x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0;
- y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0;
- </programlisting></doc>
- <field name="xx" writable="1">
- <doc xml:space="preserve">1st component of the transformation matrix</doc>
- <type name="gdouble" c:type="double"/>
- </field>
- <field name="xy" writable="1">
- <doc xml:space="preserve">2nd component of the transformation matrix</doc>
- <type name="gdouble" c:type="double"/>
- </field>
- <field name="yx" writable="1">
- <doc xml:space="preserve">3rd component of the transformation matrix</doc>
- <type name="gdouble" c:type="double"/>
- </field>
- <field name="yy" writable="1">
- <doc xml:space="preserve">4th component of the transformation matrix</doc>
- <type name="gdouble" c:type="double"/>
- </field>
- <field name="x0" writable="1">
- <doc xml:space="preserve">x translation</doc>
- <type name="gdouble" c:type="double"/>
- </field>
- <field name="y0" writable="1">
- <doc xml:space="preserve">y translation</doc>
- <type name="gdouble" c:type="double"/>
- </field>
- <method name="concat" c:identifier="pango_matrix_concat" version="1.6">
- <doc xml:space="preserve">Changes the transformation represented by @matrix to be the
- transformation given by first applying transformation
- given by @new_matrix then applying the original transformation.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoMatrix</doc>
- <type name="Matrix" c:type="PangoMatrix*"/>
- </instance-parameter>
- <parameter name="new_matrix" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoMatrix</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </parameter>
- </parameters>
- </method>
- <method name="copy" c:identifier="pango_matrix_copy" version="1.6">
- <doc xml:space="preserve">Copies a #PangoMatrix.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the newly allocated #PangoMatrix, which
- should be freed with pango_matrix_free(), or %NULL if
- @matrix was %NULL.</doc>
- <type name="Matrix" c:type="PangoMatrix*"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix, may be %NULL</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="pango_matrix_free" version="1.6">
- <doc xml:space="preserve">Free a #PangoMatrix created with pango_matrix_copy().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix, may be %NULL</doc>
- <type name="Matrix" c:type="PangoMatrix*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_font_scale_factor"
- c:identifier="pango_matrix_get_font_scale_factor"
- version="1.12">
- <doc xml:space="preserve">Returns the scale factor of a matrix on the height of the font.
- That is, the scale factor in the direction perpendicular to the
- vector that the X coordinate is mapped to. If the scale in the X
- coordinate is needed as well, use pango_matrix_get_font_scale_factors().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the scale factor of @matrix on the height of the font,
- or 1.0 if @matrix is %NULL.</doc>
- <type name="gdouble" c:type="double"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix, may be %NULL</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_font_scale_factors"
- c:identifier="pango_matrix_get_font_scale_factors"
- version="1.38">
- <doc xml:space="preserve">Calculates the scale factor of a matrix on the width and height of the font.
- That is, @xscale is the scale factor in the direction of the X coordinate,
- and @yscale is the scale factor in the direction perpendicular to the
- vector that the X coordinate is mapped to.
- Note that output numbers will always be non-negative.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix, or %NULL</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </instance-parameter>
- <parameter name="xscale"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">output scale factor in the x direction, or %NULL</doc>
- <type name="gdouble" c:type="double*"/>
- </parameter>
- <parameter name="yscale"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">output scale factor perpendicular to the x direction, or %NULL</doc>
- <type name="gdouble" c:type="double*"/>
- </parameter>
- </parameters>
- </method>
- <method name="rotate" c:identifier="pango_matrix_rotate" version="1.6">
- <doc xml:space="preserve">Changes the transformation represented by @matrix to be the
- transformation given by first rotating by @degrees degrees
- counter-clockwise then applying the original transformation.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoMatrix</doc>
- <type name="Matrix" c:type="PangoMatrix*"/>
- </instance-parameter>
- <parameter name="degrees" transfer-ownership="none">
- <doc xml:space="preserve">degrees to rotate counter-clockwise</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </method>
- <method name="scale" c:identifier="pango_matrix_scale" version="1.6">
- <doc xml:space="preserve">Changes the transformation represented by @matrix to be the
- transformation given by first scaling by @sx in the X direction
- and @sy in the Y direction then applying the original
- transformation.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoMatrix</doc>
- <type name="Matrix" c:type="PangoMatrix*"/>
- </instance-parameter>
- <parameter name="scale_x" transfer-ownership="none">
- <doc xml:space="preserve">amount to scale by in X direction</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="scale_y" transfer-ownership="none">
- <doc xml:space="preserve">amount to scale by in Y direction</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </method>
- <method name="transform_distance"
- c:identifier="pango_matrix_transform_distance"
- version="1.16">
- <doc xml:space="preserve">Transforms the distance vector (@dx,@dy) by @matrix. This is
- similar to pango_matrix_transform_point() except that the translation
- components of the transformation are ignored. The calculation of
- the returned vector is as follows:
- <programlisting>
- dx2 = dx1 * xx + dy1 * xy;
- dy2 = dx1 * yx + dy1 * yy;
- </programlisting>
- Affine transformations are position invariant, so the same vector
- always transforms to the same vector. If (@x1,@y1) transforms
- to (@x2,@y2) then (@x1+@dx1,@y1+@dy1) will transform to
- (@x1+@dx2,@y1+@dy2) for all values of @x1 and @x2.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix, or %NULL</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </instance-parameter>
- <parameter name="dx"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">in/out X component of a distance vector</doc>
- <type name="gdouble" c:type="double*"/>
- </parameter>
- <parameter name="dy"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">in/out Y component of a distance vector</doc>
- <type name="gdouble" c:type="double*"/>
- </parameter>
- </parameters>
- </method>
- <method name="transform_pixel_rectangle"
- c:identifier="pango_matrix_transform_pixel_rectangle"
- version="1.16">
- <doc xml:space="preserve">First transforms the @rect using @matrix, then calculates the bounding box
- of the transformed rectangle. The rectangle should be in device units
- (pixels).
- This function is useful for example when you want to draw a rotated
- @PangoLayout to an image buffer, and want to know how large the image
- should be and how much you should shift the layout when rendering.
- For better accuracy, you should use pango_matrix_transform_rectangle() on
- original rectangle in Pango units and convert to pixels afterward
- using pango_extents_to_pixels()'s first argument.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix, or %NULL</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </instance-parameter>
- <parameter name="rect"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">in/out bounding box in device units, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="transform_point"
- c:identifier="pango_matrix_transform_point"
- version="1.16">
- <doc xml:space="preserve">Transforms the point (@x, @y) by @matrix.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix, or %NULL</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </instance-parameter>
- <parameter name="x"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">in/out X position</doc>
- <type name="gdouble" c:type="double*"/>
- </parameter>
- <parameter name="y"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">in/out Y position</doc>
- <type name="gdouble" c:type="double*"/>
- </parameter>
- </parameters>
- </method>
- <method name="transform_rectangle"
- c:identifier="pango_matrix_transform_rectangle"
- version="1.16">
- <doc xml:space="preserve">First transforms @rect using @matrix, then calculates the bounding box
- of the transformed rectangle. The rectangle should be in Pango units.
- This function is useful for example when you want to draw a rotated
- @PangoLayout to an image buffer, and want to know how large the image
- should be and how much you should shift the layout when rendering.
- If you have a rectangle in device units (pixels), use
- pango_matrix_transform_pixel_rectangle().
- If you have the rectangle in Pango units and want to convert to
- transformed pixel bounding box, it is more accurate to transform it first
- (using this function) and pass the result to pango_extents_to_pixels(),
- first argument, for an inclusive rounded rectangle.
- However, there are valid reasons that you may want to convert
- to pixels first and then transform, for example when the transformed
- coordinates may overflow in Pango units (large matrix translation for
- example).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix, or %NULL</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </instance-parameter>
- <parameter name="rect"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">in/out bounding box in Pango units, or %NULL</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </method>
- <method name="translate"
- c:identifier="pango_matrix_translate"
- version="1.6">
- <doc xml:space="preserve">Changes the transformation represented by @matrix to be the
- transformation given by first translating by (@tx, @ty)
- then applying the original transformation.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="matrix" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoMatrix</doc>
- <type name="Matrix" c:type="PangoMatrix*"/>
- </instance-parameter>
- <parameter name="tx" transfer-ownership="none">
- <doc xml:space="preserve">amount to translate in the X direction</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="ty" transfer-ownership="none">
- <doc xml:space="preserve">amount to translate in the Y direction</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <constant name="RENDER_TYPE_NONE"
- value="PangoRenderNone"
- c:type="PANGO_RENDER_TYPE_NONE"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">A string constant defining the render type
- for engines that are not rendering-system specific.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <record name="Rectangle" c:type="PangoRectangle">
- <doc xml:space="preserve">The #PangoRectangle structure represents a rectangle. It is frequently
- used to represent the logical or ink extents of a single glyph or section
- of text. (See, for instance, pango_font_get_glyph_extents())</doc>
- <field name="x" writable="1">
- <doc xml:space="preserve">X coordinate of the left side of the rectangle.</doc>
- <type name="gint" c:type="int"/>
- </field>
- <field name="y" writable="1">
- <doc xml:space="preserve">Y coordinate of the the top side of the rectangle.</doc>
- <type name="gint" c:type="int"/>
- </field>
- <field name="width" writable="1">
- <doc xml:space="preserve">width of the rectangle.</doc>
- <type name="gint" c:type="int"/>
- </field>
- <field name="height" writable="1">
- <doc xml:space="preserve">height of the rectangle.</doc>
- <type name="gint" c:type="int"/>
- </field>
- </record>
- <enumeration name="RenderPart"
- version="1.8"
- glib:type-name="PangoRenderPart"
- glib:get-type="pango_render_part_get_type"
- c:type="PangoRenderPart">
- <doc xml:space="preserve">#PangoRenderPart defines different items to render for such
- purposes as setting colors.</doc>
- <member name="foreground"
- value="0"
- c:identifier="PANGO_RENDER_PART_FOREGROUND"
- glib:nick="foreground">
- <doc xml:space="preserve">the text itself</doc>
- </member>
- <member name="background"
- value="1"
- c:identifier="PANGO_RENDER_PART_BACKGROUND"
- glib:nick="background">
- <doc xml:space="preserve">the area behind the text</doc>
- </member>
- <member name="underline"
- value="2"
- c:identifier="PANGO_RENDER_PART_UNDERLINE"
- glib:nick="underline">
- <doc xml:space="preserve">underlines</doc>
- </member>
- <member name="strikethrough"
- value="3"
- c:identifier="PANGO_RENDER_PART_STRIKETHROUGH"
- glib:nick="strikethrough">
- <doc xml:space="preserve">strikethrough lines</doc>
- </member>
- </enumeration>
- <class name="Renderer"
- c:symbol-prefix="renderer"
- c:type="PangoRenderer"
- version="1.8"
- parent="GObject.Object"
- abstract="1"
- glib:type-name="PangoRenderer"
- glib:get-type="pango_renderer_get_type"
- glib:type-struct="RendererClass">
- <doc xml:space="preserve">#PangoRenderer is a base class for objects that are used to
- render Pango objects such as #PangoGlyphString and
- #PangoLayout.</doc>
- <virtual-method name="begin">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="draw_error_underline"
- invoker="draw_error_underline"
- version="1.8">
- <doc xml:space="preserve">Draw a squiggly line that approximately covers the given rectangle
- in the style of an underline used to indicate a spelling error.
- (The width of the underline is rounded to an integer number
- of up/down segments and the resulting rectangle is centered
- in the original rectangle)
- This should be called while @renderer is already active. Use
- pango_renderer_activate() to activate a renderer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <doc xml:space="preserve">width of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <doc xml:space="preserve">height of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="draw_glyph" invoker="draw_glyph" version="1.8">
- <doc xml:space="preserve">Draws a single glyph with coordinates in device space.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="glyph" transfer-ownership="none">
- <doc xml:space="preserve">the glyph index of a single glyph</doc>
- <type name="Glyph" c:type="PangoGlyph"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of left edge of baseline of glyph</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of left edge of baseline of glyph</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="draw_glyph_item"
- invoker="draw_glyph_item"
- version="1.22">
- <doc xml:space="preserve">Draws the glyphs in @glyph_item with the specified #PangoRenderer,
- embedding the text associated with the glyphs in the output if the
- output format supports it (PDF for example).
- Note that @text is the start of the text for layout, which is then
- indexed by <literal>@glyph_item->item->offset</literal>.
- If @text is %NULL, this simply calls pango_renderer_draw_glyphs().
- The default implementation of this method simply falls back to
- pango_renderer_draw_glyphs().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="text"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the UTF-8 text that @glyph_item refers to, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="glyph_item" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphItem</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="draw_glyphs" invoker="draw_glyphs" version="1.8">
- <doc xml:space="preserve">Draws the glyphs in @glyphs with the specified #PangoRenderer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphString</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="draw_rectangle"
- invoker="draw_rectangle"
- version="1.8">
- <doc xml:space="preserve">Draws an axis-aligned rectangle in user space coordinates with the
- specified #PangoRenderer.
- This should be called while @renderer is already active. Use
- pango_renderer_activate() to activate a renderer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">type of object this rectangle is part of</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position at which to draw rectangle, in user space coordinates in Pango units</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position at which to draw rectangle, in user space coordinates in Pango units</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <doc xml:space="preserve">width of rectangle in Pango units in user space coordinates</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <doc xml:space="preserve">height of rectangle in Pango units in user space coordinates</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="draw_shape">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="attr" transfer-ownership="none">
- <type name="AttrShape" c:type="PangoAttrShape*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="draw_trapezoid"
- invoker="draw_trapezoid"
- version="1.8">
- <doc xml:space="preserve">Draws a trapezoid with the parallel sides aligned with the X axis
- using the given #PangoRenderer; coordinates are in device space.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">type of object this trapezoid is part of</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- <parameter name="y1_" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of top of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x11" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of left end of top of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x21" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of right end of top of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="y2" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of bottom of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x12" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of left end of bottom of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x22" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of right end of bottom of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="end">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="part_changed" invoker="part_changed" version="1.8">
- <doc xml:space="preserve">Informs Pango that the way that the rendering is done
- for @part has changed in a way that would prevent multiple
- pieces being joined together into one drawing call. For
- instance, if a subclass of #PangoRenderer was to add a stipple
- option for drawing underlines, it needs to call
- <informalexample><programlisting>
- pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
- </programlisting></informalexample>
- When the stipple changes or underlines with different stipples
- might be joined together. Pango automatically calls this for
- changes to colors. (See pango_renderer_set_color())</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">the part for which rendering has changed.</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="prepare_run">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="run" transfer-ownership="none">
- <type name="LayoutRun" c:type="PangoLayoutRun*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="activate"
- c:identifier="pango_renderer_activate"
- version="1.8">
- <doc xml:space="preserve">Does initial setup before rendering operations on @renderer.
- pango_renderer_deactivate() should be called when done drawing.
- Calls such as pango_renderer_draw_layout() automatically
- activate the layout before drawing on it. Calls to
- pango_renderer_activate() and pango_renderer_deactivate() can
- be nested and the renderer will only be initialized and
- deinitialized once.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="deactivate"
- c:identifier="pango_renderer_deactivate"
- version="1.8">
- <doc xml:space="preserve">Cleans up after rendering operations on @renderer. See
- docs for pango_renderer_activate().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="draw_error_underline"
- c:identifier="pango_renderer_draw_error_underline"
- version="1.8">
- <doc xml:space="preserve">Draw a squiggly line that approximately covers the given rectangle
- in the style of an underline used to indicate a spelling error.
- (The width of the underline is rounded to an integer number
- of up/down segments and the resulting rectangle is centered
- in the original rectangle)
- This should be called while @renderer is already active. Use
- pango_renderer_activate() to activate a renderer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <doc xml:space="preserve">width of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <doc xml:space="preserve">height of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="draw_glyph"
- c:identifier="pango_renderer_draw_glyph"
- version="1.8">
- <doc xml:space="preserve">Draws a single glyph with coordinates in device space.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="glyph" transfer-ownership="none">
- <doc xml:space="preserve">the glyph index of a single glyph</doc>
- <type name="Glyph" c:type="PangoGlyph"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of left edge of baseline of glyph</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of left edge of baseline of glyph</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </method>
- <method name="draw_glyph_item"
- c:identifier="pango_renderer_draw_glyph_item"
- version="1.22">
- <doc xml:space="preserve">Draws the glyphs in @glyph_item with the specified #PangoRenderer,
- embedding the text associated with the glyphs in the output if the
- output format supports it (PDF for example).
- Note that @text is the start of the text for layout, which is then
- indexed by <literal>@glyph_item->item->offset</literal>.
- If @text is %NULL, this simply calls pango_renderer_draw_glyphs().
- The default implementation of this method simply falls back to
- pango_renderer_draw_glyphs().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="text"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the UTF-8 text that @glyph_item refers to, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="glyph_item" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphItem</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="draw_glyphs"
- c:identifier="pango_renderer_draw_glyphs"
- version="1.8">
- <doc xml:space="preserve">Draws the glyphs in @glyphs with the specified #PangoRenderer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphString</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="draw_layout"
- c:identifier="pango_renderer_draw_layout"
- version="1.8">
- <doc xml:space="preserve">Draws @layout with the specified #PangoRenderer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="layout" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayout</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="draw_layout_line"
- c:identifier="pango_renderer_draw_layout_line"
- version="1.8">
- <doc xml:space="preserve">Draws @line with the specified #PangoRenderer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="line" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoLayoutLine</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="draw_rectangle"
- c:identifier="pango_renderer_draw_rectangle"
- version="1.8">
- <doc xml:space="preserve">Draws an axis-aligned rectangle in user space coordinates with the
- specified #PangoRenderer.
- This should be called while @renderer is already active. Use
- pango_renderer_activate() to activate a renderer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">type of object this rectangle is part of</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position at which to draw rectangle, in user space coordinates in Pango units</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position at which to draw rectangle, in user space coordinates in Pango units</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <doc xml:space="preserve">width of rectangle in Pango units in user space coordinates</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <doc xml:space="preserve">height of rectangle in Pango units in user space coordinates</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="draw_trapezoid"
- c:identifier="pango_renderer_draw_trapezoid"
- version="1.8">
- <doc xml:space="preserve">Draws a trapezoid with the parallel sides aligned with the X axis
- using the given #PangoRenderer; coordinates are in device space.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">type of object this trapezoid is part of</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- <parameter name="y1_" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of top of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x11" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of left end of top of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x21" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of right end of top of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="y2" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of bottom of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x12" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of left end of bottom of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x22" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of right end of bottom of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_alpha"
- c:identifier="pango_renderer_get_alpha"
- version="1.38">
- <doc xml:space="preserve">Gets the current alpha for the specified part.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the alpha for the specified part,
- or 0 if it hasn't been set and should be
- inherited from the environment.</doc>
- <type name="guint16" c:type="guint16"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">the part to get the alpha for</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_color"
- c:identifier="pango_renderer_get_color"
- version="1.8">
- <doc xml:space="preserve">Gets the current rendering color for the specified part.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the color for the
- specified part, or %NULL if it hasn't been set and should be
- inherited from the environment.</doc>
- <type name="Color" c:type="PangoColor*"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">the part to get the color for</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_layout"
- c:identifier="pango_renderer_get_layout"
- version="1.20">
- <doc xml:space="preserve">Gets the layout currently being rendered using @renderer.
- Calling this function only makes sense from inside a subclass's
- methods, like in its draw_shape<!---->() for example.
- The returned layout should not be modified while still being
- rendered.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the layout, or %NULL if
- no layout is being rendered using @renderer at this time.</doc>
- <type name="Layout" c:type="PangoLayout*"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_layout_line"
- c:identifier="pango_renderer_get_layout_line"
- version="1.20">
- <doc xml:space="preserve">Gets the layout line currently being rendered using @renderer.
- Calling this function only makes sense from inside a subclass's
- methods, like in its draw_shape<!---->() for example.
- The returned layout line should not be modified while still being
- rendered.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the layout line, or %NULL
- if no layout line is being rendered using @renderer at this time.</doc>
- <type name="LayoutLine" c:type="PangoLayoutLine*"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_matrix"
- c:identifier="pango_renderer_get_matrix"
- version="1.8">
- <doc xml:space="preserve">Gets the transformation matrix that will be applied when
- rendering. See pango_renderer_set_matrix().</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the matrix, or %NULL if no matrix has
- been set (which is the same as the identity matrix). The returned
- matrix is owned by Pango and must not be modified or freed.</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="part_changed"
- c:identifier="pango_renderer_part_changed"
- version="1.8">
- <doc xml:space="preserve">Informs Pango that the way that the rendering is done
- for @part has changed in a way that would prevent multiple
- pieces being joined together into one drawing call. For
- instance, if a subclass of #PangoRenderer was to add a stipple
- option for drawing underlines, it needs to call
- <informalexample><programlisting>
- pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
- </programlisting></informalexample>
- When the stipple changes or underlines with different stipples
- might be joined together. Pango automatically calls this for
- changes to colors. (See pango_renderer_set_color())</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">the part for which rendering has changed.</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_alpha"
- c:identifier="pango_renderer_set_alpha"
- version="1.38">
- <doc xml:space="preserve">Sets the alpha for part of the rendering.
- Note that the alpha may only be used if a color is
- specified for @part as well.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">the part to set the alpha for</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- <parameter name="alpha" transfer-ownership="none">
- <doc xml:space="preserve">an alpha value between 1 and 65536, or 0 to unset the alpha</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_color"
- c:identifier="pango_renderer_set_color"
- version="1.8">
- <doc xml:space="preserve">Sets the color for part of the rendering.
- Also see pango_renderer_set_alpha().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">the part to change the color of</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- <parameter name="color"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the new color or %NULL to unset the current color</doc>
- <type name="Color" c:type="const PangoColor*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_matrix"
- c:identifier="pango_renderer_set_matrix"
- version="1.8">
- <doc xml:space="preserve">Sets the transformation matrix that will be applied when rendering.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </instance-parameter>
- <parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix, or %NULL to unset any existing matrix.
- (No matrix set is the same as setting the identity matrix.)</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </parameter>
- </parameters>
- </method>
- <field name="parent_instance" readable="0" private="1">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="underline" readable="0" private="1">
- <type name="Underline" c:type="PangoUnderline"/>
- </field>
- <field name="strikethrough" readable="0" private="1">
- <type name="gboolean" c:type="gboolean"/>
- </field>
- <field name="active_count" readable="0" private="1">
- <type name="gint" c:type="int"/>
- </field>
- <field name="matrix">
- <doc xml:space="preserve">the current transformation matrix for
- the Renderer; may be %NULL, which should be treated the
- same as the identity matrix.</doc>
- <type name="Matrix" c:type="PangoMatrix*"/>
- </field>
- <field name="priv" readable="0" private="1">
- <type name="RendererPrivate" c:type="PangoRendererPrivate*"/>
- </field>
- </class>
- <record name="RendererClass"
- c:type="PangoRendererClass"
- glib:is-gtype-struct-for="Renderer"
- version="1.8">
- <doc xml:space="preserve">Class structure for #PangoRenderer.</doc>
- <field name="parent_class" readable="0" private="1">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="draw_glyphs">
- <callback name="draw_glyphs">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphString</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="draw_rectangle">
- <callback name="draw_rectangle">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">type of object this rectangle is part of</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position at which to draw rectangle, in user space coordinates in Pango units</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position at which to draw rectangle, in user space coordinates in Pango units</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <doc xml:space="preserve">width of rectangle in Pango units in user space coordinates</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <doc xml:space="preserve">height of rectangle in Pango units in user space coordinates</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="draw_error_underline">
- <callback name="draw_error_underline">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="width" transfer-ownership="none">
- <doc xml:space="preserve">width of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="height" transfer-ownership="none">
- <doc xml:space="preserve">height of underline, in Pango units in user coordinate system</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="draw_shape">
- <callback name="draw_shape">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- <parameter name="attr" transfer-ownership="none">
- <type name="AttrShape" c:type="PangoAttrShape*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="draw_trapezoid">
- <callback name="draw_trapezoid">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">type of object this trapezoid is part of</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- <parameter name="y1_" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of top of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x11" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of left end of top of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x21" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of right end of top of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="y2" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of bottom of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x12" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of left end of bottom of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="x22" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of right end of bottom of trapezoid</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="draw_glyph">
- <callback name="draw_glyph">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- <parameter name="font" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoFont</doc>
- <type name="Font" c:type="PangoFont*"/>
- </parameter>
- <parameter name="glyph" transfer-ownership="none">
- <doc xml:space="preserve">the glyph index of a single glyph</doc>
- <type name="Glyph" c:type="PangoGlyph"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X coordinate of left edge of baseline of glyph</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y coordinate of left edge of baseline of glyph</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="part_changed">
- <callback name="part_changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">the part for which rendering has changed.</doc>
- <type name="RenderPart" c:type="PangoRenderPart"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="begin">
- <callback name="begin">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="end">
- <callback name="end">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="prepare_run">
- <callback name="prepare_run">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- <parameter name="run" transfer-ownership="none">
- <type name="LayoutRun" c:type="PangoLayoutRun*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="draw_glyph_item">
- <callback name="draw_glyph_item">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="renderer" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoRenderer</doc>
- <type name="Renderer" c:type="PangoRenderer*"/>
- </parameter>
- <parameter name="text"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the UTF-8 text that @glyph_item refers to, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="glyph_item" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoGlyphItem</doc>
- <type name="GlyphItem" c:type="PangoGlyphItem*"/>
- </parameter>
- <parameter name="x" transfer-ownership="none">
- <doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="y" transfer-ownership="none">
- <doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
- in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_pango_reserved2" introspectable="0">
- <callback name="_pango_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_pango_reserved3" introspectable="0">
- <callback name="_pango_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_pango_reserved4" introspectable="0">
- <callback name="_pango_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <record name="RendererPrivate" c:type="PangoRendererPrivate" disguised="1">
- </record>
- <constant name="SCALE" value="1024" c:type="PANGO_SCALE">
- <doc xml:space="preserve">The %PANGO_SCALE macro represents the scale between dimensions used
- for Pango distances and device units. (The definition of device
- units is dependent on the output device; it will typically be pixels
- for a screen, and points for a printer.) %PANGO_SCALE is currently
- 1024, but this may be changed in the future.
- When setting font sizes, device units are always considered to be
- points (as in "12 point font"), rather than pixels.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <enumeration name="Script"
- glib:type-name="PangoScript"
- glib:get-type="pango_script_get_type"
- c:type="PangoScript">
- <doc xml:space="preserve">The #PangoScript enumeration identifies different writing
- systems. The values correspond to the names as defined in the
- Unicode standard.
- Note that new types may be added in the future. Applications should be ready
- to handle unknown values. This enumeration is interchangeable with
- #GUnicodeScript. See <ulink
- url="http://www.unicode.org/reports/tr24/">Unicode Standard Annex
- #24: Script names</ulink>.</doc>
- <member name="invalid_code"
- value="-1"
- c:identifier="PANGO_SCRIPT_INVALID_CODE"
- glib:nick="invalid-code">
- <doc xml:space="preserve">a value never returned from pango_script_for_unichar()</doc>
- </member>
- <member name="common"
- value="0"
- c:identifier="PANGO_SCRIPT_COMMON"
- glib:nick="common">
- <doc xml:space="preserve">a character used by multiple different scripts</doc>
- </member>
- <member name="inherited"
- value="1"
- c:identifier="PANGO_SCRIPT_INHERITED"
- glib:nick="inherited">
- <doc xml:space="preserve">a mark glyph that takes its script from the
- base glyph to which it is attached</doc>
- </member>
- <member name="arabic"
- value="2"
- c:identifier="PANGO_SCRIPT_ARABIC"
- glib:nick="arabic">
- <doc xml:space="preserve">Arabic</doc>
- </member>
- <member name="armenian"
- value="3"
- c:identifier="PANGO_SCRIPT_ARMENIAN"
- glib:nick="armenian">
- <doc xml:space="preserve">Armenian</doc>
- </member>
- <member name="bengali"
- value="4"
- c:identifier="PANGO_SCRIPT_BENGALI"
- glib:nick="bengali">
- <doc xml:space="preserve">Bengali</doc>
- </member>
- <member name="bopomofo"
- value="5"
- c:identifier="PANGO_SCRIPT_BOPOMOFO"
- glib:nick="bopomofo">
- <doc xml:space="preserve">Bopomofo</doc>
- </member>
- <member name="cherokee"
- value="6"
- c:identifier="PANGO_SCRIPT_CHEROKEE"
- glib:nick="cherokee">
- <doc xml:space="preserve">Cherokee</doc>
- </member>
- <member name="coptic"
- value="7"
- c:identifier="PANGO_SCRIPT_COPTIC"
- glib:nick="coptic">
- <doc xml:space="preserve">Coptic</doc>
- </member>
- <member name="cyrillic"
- value="8"
- c:identifier="PANGO_SCRIPT_CYRILLIC"
- glib:nick="cyrillic">
- <doc xml:space="preserve">Cyrillic</doc>
- </member>
- <member name="deseret"
- value="9"
- c:identifier="PANGO_SCRIPT_DESERET"
- glib:nick="deseret">
- <doc xml:space="preserve">Deseret</doc>
- </member>
- <member name="devanagari"
- value="10"
- c:identifier="PANGO_SCRIPT_DEVANAGARI"
- glib:nick="devanagari">
- <doc xml:space="preserve">Devanagari</doc>
- </member>
- <member name="ethiopic"
- value="11"
- c:identifier="PANGO_SCRIPT_ETHIOPIC"
- glib:nick="ethiopic">
- <doc xml:space="preserve">Ethiopic</doc>
- </member>
- <member name="georgian"
- value="12"
- c:identifier="PANGO_SCRIPT_GEORGIAN"
- glib:nick="georgian">
- <doc xml:space="preserve">Georgian</doc>
- </member>
- <member name="gothic"
- value="13"
- c:identifier="PANGO_SCRIPT_GOTHIC"
- glib:nick="gothic">
- <doc xml:space="preserve">Gothic</doc>
- </member>
- <member name="greek"
- value="14"
- c:identifier="PANGO_SCRIPT_GREEK"
- glib:nick="greek">
- <doc xml:space="preserve">Greek</doc>
- </member>
- <member name="gujarati"
- value="15"
- c:identifier="PANGO_SCRIPT_GUJARATI"
- glib:nick="gujarati">
- <doc xml:space="preserve">Gujarati</doc>
- </member>
- <member name="gurmukhi"
- value="16"
- c:identifier="PANGO_SCRIPT_GURMUKHI"
- glib:nick="gurmukhi">
- <doc xml:space="preserve">Gurmukhi</doc>
- </member>
- <member name="han"
- value="17"
- c:identifier="PANGO_SCRIPT_HAN"
- glib:nick="han">
- <doc xml:space="preserve">Han</doc>
- </member>
- <member name="hangul"
- value="18"
- c:identifier="PANGO_SCRIPT_HANGUL"
- glib:nick="hangul">
- <doc xml:space="preserve">Hangul</doc>
- </member>
- <member name="hebrew"
- value="19"
- c:identifier="PANGO_SCRIPT_HEBREW"
- glib:nick="hebrew">
- <doc xml:space="preserve">Hebrew</doc>
- </member>
- <member name="hiragana"
- value="20"
- c:identifier="PANGO_SCRIPT_HIRAGANA"
- glib:nick="hiragana">
- <doc xml:space="preserve">Hiragana</doc>
- </member>
- <member name="kannada"
- value="21"
- c:identifier="PANGO_SCRIPT_KANNADA"
- glib:nick="kannada">
- <doc xml:space="preserve">Kannada</doc>
- </member>
- <member name="katakana"
- value="22"
- c:identifier="PANGO_SCRIPT_KATAKANA"
- glib:nick="katakana">
- <doc xml:space="preserve">Katakana</doc>
- </member>
- <member name="khmer"
- value="23"
- c:identifier="PANGO_SCRIPT_KHMER"
- glib:nick="khmer">
- <doc xml:space="preserve">Khmer</doc>
- </member>
- <member name="lao"
- value="24"
- c:identifier="PANGO_SCRIPT_LAO"
- glib:nick="lao">
- <doc xml:space="preserve">Lao</doc>
- </member>
- <member name="latin"
- value="25"
- c:identifier="PANGO_SCRIPT_LATIN"
- glib:nick="latin">
- <doc xml:space="preserve">Latin</doc>
- </member>
- <member name="malayalam"
- value="26"
- c:identifier="PANGO_SCRIPT_MALAYALAM"
- glib:nick="malayalam">
- <doc xml:space="preserve">Malayalam</doc>
- </member>
- <member name="mongolian"
- value="27"
- c:identifier="PANGO_SCRIPT_MONGOLIAN"
- glib:nick="mongolian">
- <doc xml:space="preserve">Mongolian</doc>
- </member>
- <member name="myanmar"
- value="28"
- c:identifier="PANGO_SCRIPT_MYANMAR"
- glib:nick="myanmar">
- <doc xml:space="preserve">Myanmar</doc>
- </member>
- <member name="ogham"
- value="29"
- c:identifier="PANGO_SCRIPT_OGHAM"
- glib:nick="ogham">
- <doc xml:space="preserve">Ogham</doc>
- </member>
- <member name="old_italic"
- value="30"
- c:identifier="PANGO_SCRIPT_OLD_ITALIC"
- glib:nick="old-italic">
- <doc xml:space="preserve">Old Italic</doc>
- </member>
- <member name="oriya"
- value="31"
- c:identifier="PANGO_SCRIPT_ORIYA"
- glib:nick="oriya">
- <doc xml:space="preserve">Oriya</doc>
- </member>
- <member name="runic"
- value="32"
- c:identifier="PANGO_SCRIPT_RUNIC"
- glib:nick="runic">
- <doc xml:space="preserve">Runic</doc>
- </member>
- <member name="sinhala"
- value="33"
- c:identifier="PANGO_SCRIPT_SINHALA"
- glib:nick="sinhala">
- <doc xml:space="preserve">Sinhala</doc>
- </member>
- <member name="syriac"
- value="34"
- c:identifier="PANGO_SCRIPT_SYRIAC"
- glib:nick="syriac">
- <doc xml:space="preserve">Syriac</doc>
- </member>
- <member name="tamil"
- value="35"
- c:identifier="PANGO_SCRIPT_TAMIL"
- glib:nick="tamil">
- <doc xml:space="preserve">Tamil</doc>
- </member>
- <member name="telugu"
- value="36"
- c:identifier="PANGO_SCRIPT_TELUGU"
- glib:nick="telugu">
- <doc xml:space="preserve">Telugu</doc>
- </member>
- <member name="thaana"
- value="37"
- c:identifier="PANGO_SCRIPT_THAANA"
- glib:nick="thaana">
- <doc xml:space="preserve">Thaana</doc>
- </member>
- <member name="thai"
- value="38"
- c:identifier="PANGO_SCRIPT_THAI"
- glib:nick="thai">
- <doc xml:space="preserve">Thai</doc>
- </member>
- <member name="tibetan"
- value="39"
- c:identifier="PANGO_SCRIPT_TIBETAN"
- glib:nick="tibetan">
- <doc xml:space="preserve">Tibetan</doc>
- </member>
- <member name="canadian_aboriginal"
- value="40"
- c:identifier="PANGO_SCRIPT_CANADIAN_ABORIGINAL"
- glib:nick="canadian-aboriginal">
- <doc xml:space="preserve">Canadian Aboriginal</doc>
- </member>
- <member name="yi"
- value="41"
- c:identifier="PANGO_SCRIPT_YI"
- glib:nick="yi">
- <doc xml:space="preserve">Yi</doc>
- </member>
- <member name="tagalog"
- value="42"
- c:identifier="PANGO_SCRIPT_TAGALOG"
- glib:nick="tagalog">
- <doc xml:space="preserve">Tagalog</doc>
- </member>
- <member name="hanunoo"
- value="43"
- c:identifier="PANGO_SCRIPT_HANUNOO"
- glib:nick="hanunoo">
- <doc xml:space="preserve">Hanunoo</doc>
- </member>
- <member name="buhid"
- value="44"
- c:identifier="PANGO_SCRIPT_BUHID"
- glib:nick="buhid">
- <doc xml:space="preserve">Buhid</doc>
- </member>
- <member name="tagbanwa"
- value="45"
- c:identifier="PANGO_SCRIPT_TAGBANWA"
- glib:nick="tagbanwa">
- <doc xml:space="preserve">Tagbanwa</doc>
- </member>
- <member name="braille"
- value="46"
- c:identifier="PANGO_SCRIPT_BRAILLE"
- glib:nick="braille">
- <doc xml:space="preserve">Braille</doc>
- </member>
- <member name="cypriot"
- value="47"
- c:identifier="PANGO_SCRIPT_CYPRIOT"
- glib:nick="cypriot">
- <doc xml:space="preserve">Cypriot</doc>
- </member>
- <member name="limbu"
- value="48"
- c:identifier="PANGO_SCRIPT_LIMBU"
- glib:nick="limbu">
- <doc xml:space="preserve">Limbu</doc>
- </member>
- <member name="osmanya"
- value="49"
- c:identifier="PANGO_SCRIPT_OSMANYA"
- glib:nick="osmanya">
- <doc xml:space="preserve">Osmanya</doc>
- </member>
- <member name="shavian"
- value="50"
- c:identifier="PANGO_SCRIPT_SHAVIAN"
- glib:nick="shavian">
- <doc xml:space="preserve">Shavian</doc>
- </member>
- <member name="linear_b"
- value="51"
- c:identifier="PANGO_SCRIPT_LINEAR_B"
- glib:nick="linear-b">
- <doc xml:space="preserve">Linear B</doc>
- </member>
- <member name="tai_le"
- value="52"
- c:identifier="PANGO_SCRIPT_TAI_LE"
- glib:nick="tai-le">
- <doc xml:space="preserve">Tai Le</doc>
- </member>
- <member name="ugaritic"
- value="53"
- c:identifier="PANGO_SCRIPT_UGARITIC"
- glib:nick="ugaritic">
- <doc xml:space="preserve">Ugaritic</doc>
- </member>
- <member name="new_tai_lue"
- value="54"
- c:identifier="PANGO_SCRIPT_NEW_TAI_LUE"
- glib:nick="new-tai-lue">
- <doc xml:space="preserve">New Tai Lue. Since 1.10</doc>
- </member>
- <member name="buginese"
- value="55"
- c:identifier="PANGO_SCRIPT_BUGINESE"
- glib:nick="buginese">
- <doc xml:space="preserve">Buginese. Since 1.10</doc>
- </member>
- <member name="glagolitic"
- value="56"
- c:identifier="PANGO_SCRIPT_GLAGOLITIC"
- glib:nick="glagolitic">
- <doc xml:space="preserve">Glagolitic. Since 1.10</doc>
- </member>
- <member name="tifinagh"
- value="57"
- c:identifier="PANGO_SCRIPT_TIFINAGH"
- glib:nick="tifinagh">
- <doc xml:space="preserve">Tifinagh. Since 1.10</doc>
- </member>
- <member name="syloti_nagri"
- value="58"
- c:identifier="PANGO_SCRIPT_SYLOTI_NAGRI"
- glib:nick="syloti-nagri">
- <doc xml:space="preserve">Syloti Nagri. Since 1.10</doc>
- </member>
- <member name="old_persian"
- value="59"
- c:identifier="PANGO_SCRIPT_OLD_PERSIAN"
- glib:nick="old-persian">
- <doc xml:space="preserve">Old Persian. Since 1.10</doc>
- </member>
- <member name="kharoshthi"
- value="60"
- c:identifier="PANGO_SCRIPT_KHAROSHTHI"
- glib:nick="kharoshthi">
- <doc xml:space="preserve">Kharoshthi. Since 1.10</doc>
- </member>
- <member name="unknown"
- value="61"
- c:identifier="PANGO_SCRIPT_UNKNOWN"
- glib:nick="unknown">
- <doc xml:space="preserve">an unassigned code point. Since 1.14</doc>
- </member>
- <member name="balinese"
- value="62"
- c:identifier="PANGO_SCRIPT_BALINESE"
- glib:nick="balinese">
- <doc xml:space="preserve">Balinese. Since 1.14</doc>
- </member>
- <member name="cuneiform"
- value="63"
- c:identifier="PANGO_SCRIPT_CUNEIFORM"
- glib:nick="cuneiform">
- <doc xml:space="preserve">Cuneiform. Since 1.14</doc>
- </member>
- <member name="phoenician"
- value="64"
- c:identifier="PANGO_SCRIPT_PHOENICIAN"
- glib:nick="phoenician">
- <doc xml:space="preserve">Phoenician. Since 1.14</doc>
- </member>
- <member name="phags_pa"
- value="65"
- c:identifier="PANGO_SCRIPT_PHAGS_PA"
- glib:nick="phags-pa">
- <doc xml:space="preserve">Phags-pa. Since 1.14</doc>
- </member>
- <member name="nko"
- value="66"
- c:identifier="PANGO_SCRIPT_NKO"
- glib:nick="nko">
- <doc xml:space="preserve">N'Ko. Since 1.14</doc>
- </member>
- <member name="kayah_li"
- value="67"
- c:identifier="PANGO_SCRIPT_KAYAH_LI"
- glib:nick="kayah-li">
- <doc xml:space="preserve">Kayah Li. Since 1.20.1</doc>
- </member>
- <member name="lepcha"
- value="68"
- c:identifier="PANGO_SCRIPT_LEPCHA"
- glib:nick="lepcha">
- <doc xml:space="preserve">Lepcha. Since 1.20.1</doc>
- </member>
- <member name="rejang"
- value="69"
- c:identifier="PANGO_SCRIPT_REJANG"
- glib:nick="rejang">
- <doc xml:space="preserve">Rejang. Since 1.20.1</doc>
- </member>
- <member name="sundanese"
- value="70"
- c:identifier="PANGO_SCRIPT_SUNDANESE"
- glib:nick="sundanese">
- <doc xml:space="preserve">Sundanese. Since 1.20.1</doc>
- </member>
- <member name="saurashtra"
- value="71"
- c:identifier="PANGO_SCRIPT_SAURASHTRA"
- glib:nick="saurashtra">
- <doc xml:space="preserve">Saurashtra. Since 1.20.1</doc>
- </member>
- <member name="cham"
- value="72"
- c:identifier="PANGO_SCRIPT_CHAM"
- glib:nick="cham">
- <doc xml:space="preserve">Cham. Since 1.20.1</doc>
- </member>
- <member name="ol_chiki"
- value="73"
- c:identifier="PANGO_SCRIPT_OL_CHIKI"
- glib:nick="ol-chiki">
- <doc xml:space="preserve">Ol Chiki. Since 1.20.1</doc>
- </member>
- <member name="vai"
- value="74"
- c:identifier="PANGO_SCRIPT_VAI"
- glib:nick="vai">
- <doc xml:space="preserve">Vai. Since 1.20.1</doc>
- </member>
- <member name="carian"
- value="75"
- c:identifier="PANGO_SCRIPT_CARIAN"
- glib:nick="carian">
- <doc xml:space="preserve">Carian. Since 1.20.1</doc>
- </member>
- <member name="lycian"
- value="76"
- c:identifier="PANGO_SCRIPT_LYCIAN"
- glib:nick="lycian">
- <doc xml:space="preserve">Lycian. Since 1.20.1</doc>
- </member>
- <member name="lydian"
- value="77"
- c:identifier="PANGO_SCRIPT_LYDIAN"
- glib:nick="lydian">
- <doc xml:space="preserve">Lydian. Since 1.20.1</doc>
- </member>
- <member name="batak"
- value="78"
- c:identifier="PANGO_SCRIPT_BATAK"
- glib:nick="batak">
- <doc xml:space="preserve">Batak. Since 1.32</doc>
- </member>
- <member name="brahmi"
- value="79"
- c:identifier="PANGO_SCRIPT_BRAHMI"
- glib:nick="brahmi">
- <doc xml:space="preserve">Brahmi. Since 1.32</doc>
- </member>
- <member name="mandaic"
- value="80"
- c:identifier="PANGO_SCRIPT_MANDAIC"
- glib:nick="mandaic">
- <doc xml:space="preserve">Mandaic. Since 1.32</doc>
- </member>
- <member name="chakma"
- value="81"
- c:identifier="PANGO_SCRIPT_CHAKMA"
- glib:nick="chakma">
- <doc xml:space="preserve">Chakma. Since: 1.32</doc>
- </member>
- <member name="meroitic_cursive"
- value="82"
- c:identifier="PANGO_SCRIPT_MEROITIC_CURSIVE"
- glib:nick="meroitic-cursive">
- <doc xml:space="preserve">Meroitic Cursive. Since: 1.32</doc>
- </member>
- <member name="meroitic_hieroglyphs"
- value="83"
- c:identifier="PANGO_SCRIPT_MEROITIC_HIEROGLYPHS"
- glib:nick="meroitic-hieroglyphs">
- <doc xml:space="preserve">Meroitic Hieroglyphs. Since: 1.32</doc>
- </member>
- <member name="miao"
- value="84"
- c:identifier="PANGO_SCRIPT_MIAO"
- glib:nick="miao">
- <doc xml:space="preserve">Miao. Since: 1.32</doc>
- </member>
- <member name="sharada"
- value="85"
- c:identifier="PANGO_SCRIPT_SHARADA"
- glib:nick="sharada">
- <doc xml:space="preserve">Sharada. Since: 1.32</doc>
- </member>
- <member name="sora_sompeng"
- value="86"
- c:identifier="PANGO_SCRIPT_SORA_SOMPENG"
- glib:nick="sora-sompeng">
- <doc xml:space="preserve">Sora Sompeng. Since: 1.32</doc>
- </member>
- <member name="takri"
- value="87"
- c:identifier="PANGO_SCRIPT_TAKRI"
- glib:nick="takri">
- <doc xml:space="preserve">Takri. Since: 1.32</doc>
- </member>
- <member name="bassa_vah"
- value="88"
- c:identifier="PANGO_SCRIPT_BASSA_VAH"
- glib:nick="bassa-vah">
- <doc xml:space="preserve">Bassa. Since: 1.40</doc>
- </member>
- <member name="caucasian_albanian"
- value="89"
- c:identifier="PANGO_SCRIPT_CAUCASIAN_ALBANIAN"
- glib:nick="caucasian-albanian">
- <doc xml:space="preserve">Caucasian Albanian. Since: 1.40</doc>
- </member>
- <member name="duployan"
- value="90"
- c:identifier="PANGO_SCRIPT_DUPLOYAN"
- glib:nick="duployan">
- <doc xml:space="preserve">Duployan. Since: 1.40</doc>
- </member>
- <member name="elbasan"
- value="91"
- c:identifier="PANGO_SCRIPT_ELBASAN"
- glib:nick="elbasan">
- <doc xml:space="preserve">Elbasan. Since: 1.40</doc>
- </member>
- <member name="grantha"
- value="92"
- c:identifier="PANGO_SCRIPT_GRANTHA"
- glib:nick="grantha">
- <doc xml:space="preserve">Grantha. Since: 1.40</doc>
- </member>
- <member name="khojki"
- value="93"
- c:identifier="PANGO_SCRIPT_KHOJKI"
- glib:nick="khojki">
- <doc xml:space="preserve">Kjohki. Since: 1.40</doc>
- </member>
- <member name="khudawadi"
- value="94"
- c:identifier="PANGO_SCRIPT_KHUDAWADI"
- glib:nick="khudawadi">
- <doc xml:space="preserve">Khudawadi, Sindhi. Since: 1.40</doc>
- </member>
- <member name="linear_a"
- value="95"
- c:identifier="PANGO_SCRIPT_LINEAR_A"
- glib:nick="linear-a">
- <doc xml:space="preserve">Linear A. Since: 1.40</doc>
- </member>
- <member name="mahajani"
- value="96"
- c:identifier="PANGO_SCRIPT_MAHAJANI"
- glib:nick="mahajani">
- <doc xml:space="preserve">Mahajani. Since: 1.40</doc>
- </member>
- <member name="manichaean"
- value="97"
- c:identifier="PANGO_SCRIPT_MANICHAEAN"
- glib:nick="manichaean">
- <doc xml:space="preserve">Manichaean. Since: 1.40</doc>
- </member>
- <member name="mende_kikakui"
- value="98"
- c:identifier="PANGO_SCRIPT_MENDE_KIKAKUI"
- glib:nick="mende-kikakui">
- <doc xml:space="preserve">Mende Kikakui. Since: 1.40</doc>
- </member>
- <member name="modi"
- value="99"
- c:identifier="PANGO_SCRIPT_MODI"
- glib:nick="modi">
- <doc xml:space="preserve">Modi. Since: 1.40</doc>
- </member>
- <member name="mro"
- value="100"
- c:identifier="PANGO_SCRIPT_MRO"
- glib:nick="mro">
- <doc xml:space="preserve">Mro. Since: 1.40</doc>
- </member>
- <member name="nabataean"
- value="101"
- c:identifier="PANGO_SCRIPT_NABATAEAN"
- glib:nick="nabataean">
- <doc xml:space="preserve">Nabataean. Since: 1.40</doc>
- </member>
- <member name="old_north_arabian"
- value="102"
- c:identifier="PANGO_SCRIPT_OLD_NORTH_ARABIAN"
- glib:nick="old-north-arabian">
- <doc xml:space="preserve">Old North Arabian. Since: 1.40</doc>
- </member>
- <member name="old_permic"
- value="103"
- c:identifier="PANGO_SCRIPT_OLD_PERMIC"
- glib:nick="old-permic">
- <doc xml:space="preserve">Old Permic. Since: 1.40</doc>
- </member>
- <member name="pahawh_hmong"
- value="104"
- c:identifier="PANGO_SCRIPT_PAHAWH_HMONG"
- glib:nick="pahawh-hmong">
- <doc xml:space="preserve">Pahawh Hmong. Since: 1.40</doc>
- </member>
- <member name="palmyrene"
- value="105"
- c:identifier="PANGO_SCRIPT_PALMYRENE"
- glib:nick="palmyrene">
- <doc xml:space="preserve">Palmyrene. Since: 1.40</doc>
- </member>
- <member name="pau_cin_hau"
- value="106"
- c:identifier="PANGO_SCRIPT_PAU_CIN_HAU"
- glib:nick="pau-cin-hau">
- <doc xml:space="preserve">Pau Cin Hau. Since: 1.40</doc>
- </member>
- <member name="psalter_pahlavi"
- value="107"
- c:identifier="PANGO_SCRIPT_PSALTER_PAHLAVI"
- glib:nick="psalter-pahlavi">
- <doc xml:space="preserve">Psalter Pahlavi. Since: 1.40</doc>
- </member>
- <member name="siddham"
- value="108"
- c:identifier="PANGO_SCRIPT_SIDDHAM"
- glib:nick="siddham">
- <doc xml:space="preserve">Siddham. Since: 1.40</doc>
- </member>
- <member name="tirhuta"
- value="109"
- c:identifier="PANGO_SCRIPT_TIRHUTA"
- glib:nick="tirhuta">
- <doc xml:space="preserve">Tirhuta. Since: 1.40</doc>
- </member>
- <member name="warang_citi"
- value="110"
- c:identifier="PANGO_SCRIPT_WARANG_CITI"
- glib:nick="warang-citi">
- <doc xml:space="preserve">Warang Citi. Since: 1.40</doc>
- </member>
- <member name="ahom"
- value="111"
- c:identifier="PANGO_SCRIPT_AHOM"
- glib:nick="ahom">
- <doc xml:space="preserve">Ahom. Since: 1.40</doc>
- </member>
- <member name="anatolian_hieroglyphs"
- value="112"
- c:identifier="PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS"
- glib:nick="anatolian-hieroglyphs">
- <doc xml:space="preserve">Anatolian Hieroglyphs. Since: 1.40</doc>
- </member>
- <member name="hatran"
- value="113"
- c:identifier="PANGO_SCRIPT_HATRAN"
- glib:nick="hatran">
- <doc xml:space="preserve">Hatran. Since: 1.40</doc>
- </member>
- <member name="multani"
- value="114"
- c:identifier="PANGO_SCRIPT_MULTANI"
- glib:nick="multani">
- <doc xml:space="preserve">Multani. Since: 1.40</doc>
- </member>
- <member name="old_hungarian"
- value="115"
- c:identifier="PANGO_SCRIPT_OLD_HUNGARIAN"
- glib:nick="old-hungarian">
- <doc xml:space="preserve">Old Hungarian. Since: 1.40</doc>
- </member>
- <member name="signwriting"
- value="116"
- c:identifier="PANGO_SCRIPT_SIGNWRITING"
- glib:nick="signwriting">
- <doc xml:space="preserve">Signwriting. Since: 1.40</doc>
- </member>
- <function name="for_unichar"
- c:identifier="pango_script_for_unichar"
- version="1.4">
- <doc xml:space="preserve">Looks up the #PangoScript for a particular character (as defined by
- Unicode Standard Annex \#24). No check is made for @ch being a
- valid Unicode character; if you pass in invalid character, the
- result is undefined.
- As of Pango 1.18, this function simply returns the return value of
- g_unichar_get_script().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #PangoScript for the character.</doc>
- <type name="Script" c:type="PangoScript"/>
- </return-value>
- <parameters>
- <parameter name="ch" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_sample_language"
- c:identifier="pango_script_get_sample_language"
- version="1.4">
- <doc xml:space="preserve">Given a script, finds a language tag that is reasonably
- representative of that script. This will usually be the
- most widely spoken or used language written in that script:
- for instance, the sample language for %PANGO_SCRIPT_CYRILLIC
- is <literal>ru</literal> (Russian), the sample language
- for %PANGO_SCRIPT_ARABIC is <literal>ar</literal>.
- For some
- scripts, no sample language will be returned because there
- is no language that is sufficiently representative. The best
- example of this is %PANGO_SCRIPT_HAN, where various different
- variants of written Chinese, Japanese, and Korean all use
- significantly different sets of Han characters and forms
- of shared characters. No sample language can be provided
- for many historical scripts as well.
- As of 1.18, this function checks the environment variables
- PANGO_LANGUAGE and LANGUAGE (checked in that order) first.
- If one of them is set, it is parsed as a list of language tags
- separated by colons or other separators. This function
- will return the first language in the parsed list that Pango
- believes may use @script for writing. This last predicate
- is tested using pango_language_includes_script(). This can
- be used to control Pango's font selection for non-primary
- languages. For example, a PANGO_LANGUAGE enviroment variable
- set to "en:fa" makes Pango choose fonts suitable for Persian (fa)
- instead of Arabic (ar) when a segment of Arabic text is found
- in an otherwise non-Arabic text. The same trick can be used to
- choose a default language for %PANGO_SCRIPT_HAN when setting
- context language is not feasible.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a #PangoLanguage that is representative
- of the script, or %NULL if no such language exists.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </return-value>
- <parameters>
- <parameter name="script" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoScript</doc>
- <type name="Script" c:type="PangoScript"/>
- </parameter>
- </parameters>
- </function>
- </enumeration>
- <record name="ScriptForLang" c:type="PangoScriptForLang">
- <field name="lang" writable="1">
- <array zero-terminated="0" c:type="const char" fixed-size="7">
- <type name="gchar" c:type="const char"/>
- </array>
- </field>
- <field name="scripts" writable="1">
- <array zero-terminated="0" c:type="PangoScript" fixed-size="3">
- <type name="Script" c:type="PangoScript"/>
- </array>
- </field>
- </record>
- <record name="ScriptIter" c:type="PangoScriptIter" disguised="1">
- <doc xml:space="preserve">A #PangoScriptIter is used to iterate through a string
- and identify ranges in different scripts.</doc>
- <method name="free" c:identifier="pango_script_iter_free" version="1.4">
- <doc xml:space="preserve">Frees a #PangoScriptIter created with pango_script_iter_new().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoScriptIter</doc>
- <type name="ScriptIter" c:type="PangoScriptIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_range"
- c:identifier="pango_script_iter_get_range"
- version="1.4">
- <doc xml:space="preserve">Gets information about the range to which @iter currently points.
- The range is the set of locations p where *start <= p < *end.
- (That is, it doesn't include the character stored at *end)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoScriptIter</doc>
- <type name="ScriptIter" c:type="PangoScriptIter*"/>
- </instance-parameter>
- <parameter name="start"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store start position of the range, or %NULL</doc>
- <type name="utf8" c:type="const char**"/>
- </parameter>
- <parameter name="end"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store end position of the range, or %NULL</doc>
- <type name="utf8" c:type="const char**"/>
- </parameter>
- <parameter name="script"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store script for range, or %NULL</doc>
- <type name="Script" c:type="PangoScript*"/>
- </parameter>
- </parameters>
- </method>
- <method name="next" c:identifier="pango_script_iter_next" version="1.4">
- <doc xml:space="preserve">Advances a #PangoScriptIter to the next range. If @iter
- is already at the end, it is left unchanged and %FALSE
- is returned.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @iter was successfully advanced.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoScriptIter</doc>
- <type name="ScriptIter" c:type="PangoScriptIter*"/>
- </instance-parameter>
- </parameters>
- </method>
- <function name="new"
- c:identifier="pango_script_iter_new"
- version="1.4"
- introspectable="0">
- <doc xml:space="preserve">Create a new #PangoScriptIter, used to break a string of
- Unicode text into runs by Unicode script. No copy is made of
- @text, so the caller needs to make sure it remains valid until
- the iterator is freed with pango_script_iter_free().</doc>
- <return-value>
- <doc xml:space="preserve">the new script iterator, initialized
- to point at the first range in the text, which should be
- freed with pango_script_iter_free(). If the string is
- empty, it will point at an empty range.</doc>
- <type name="ScriptIter" c:type="PangoScriptIter*"/>
- </return-value>
- <parameters>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">a UTF-8 string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of @text, or -1 if @text is nul-terminated.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <enumeration name="Stretch"
- glib:type-name="PangoStretch"
- glib:get-type="pango_stretch_get_type"
- c:type="PangoStretch">
- <doc xml:space="preserve">An enumeration specifying the width of the font relative to other designs
- within a family.</doc>
- <member name="ultra_condensed"
- value="0"
- c:identifier="PANGO_STRETCH_ULTRA_CONDENSED"
- glib:nick="ultra-condensed">
- <doc xml:space="preserve">ultra condensed width</doc>
- </member>
- <member name="extra_condensed"
- value="1"
- c:identifier="PANGO_STRETCH_EXTRA_CONDENSED"
- glib:nick="extra-condensed">
- <doc xml:space="preserve">extra condensed width</doc>
- </member>
- <member name="condensed"
- value="2"
- c:identifier="PANGO_STRETCH_CONDENSED"
- glib:nick="condensed">
- <doc xml:space="preserve">condensed width</doc>
- </member>
- <member name="semi_condensed"
- value="3"
- c:identifier="PANGO_STRETCH_SEMI_CONDENSED"
- glib:nick="semi-condensed">
- <doc xml:space="preserve">semi condensed width</doc>
- </member>
- <member name="normal"
- value="4"
- c:identifier="PANGO_STRETCH_NORMAL"
- glib:nick="normal">
- <doc xml:space="preserve">the normal width</doc>
- </member>
- <member name="semi_expanded"
- value="5"
- c:identifier="PANGO_STRETCH_SEMI_EXPANDED"
- glib:nick="semi-expanded">
- <doc xml:space="preserve">semi expanded width</doc>
- </member>
- <member name="expanded"
- value="6"
- c:identifier="PANGO_STRETCH_EXPANDED"
- glib:nick="expanded">
- <doc xml:space="preserve">expanded width</doc>
- </member>
- <member name="extra_expanded"
- value="7"
- c:identifier="PANGO_STRETCH_EXTRA_EXPANDED"
- glib:nick="extra-expanded">
- <doc xml:space="preserve">extra expanded width</doc>
- </member>
- <member name="ultra_expanded"
- value="8"
- c:identifier="PANGO_STRETCH_ULTRA_EXPANDED"
- glib:nick="ultra-expanded">
- <doc xml:space="preserve">ultra expanded width</doc>
- </member>
- </enumeration>
- <enumeration name="Style"
- glib:type-name="PangoStyle"
- glib:get-type="pango_style_get_type"
- c:type="PangoStyle">
- <doc xml:space="preserve">An enumeration specifying the various slant styles possible for a font.</doc>
- <member name="normal"
- value="0"
- c:identifier="PANGO_STYLE_NORMAL"
- glib:nick="normal">
- <doc xml:space="preserve">the font is upright.</doc>
- </member>
- <member name="oblique"
- value="1"
- c:identifier="PANGO_STYLE_OBLIQUE"
- glib:nick="oblique">
- <doc xml:space="preserve">the font is slanted, but in a roman style.</doc>
- </member>
- <member name="italic"
- value="2"
- c:identifier="PANGO_STYLE_ITALIC"
- glib:nick="italic">
- <doc xml:space="preserve">the font is slanted in an italic style.</doc>
- </member>
- </enumeration>
- <enumeration name="TabAlign"
- glib:type-name="PangoTabAlign"
- glib:get-type="pango_tab_align_get_type"
- c:type="PangoTabAlign">
- <doc xml:space="preserve">A #PangoTabAlign specifies where a tab stop appears relative to the text.</doc>
- <member name="left"
- value="0"
- c:identifier="PANGO_TAB_LEFT"
- glib:nick="left">
- <doc xml:space="preserve">the tab stop appears to the left of the text.</doc>
- </member>
- </enumeration>
- <record name="TabArray"
- c:type="PangoTabArray"
- glib:type-name="PangoTabArray"
- glib:get-type="pango_tab_array_get_type"
- c:symbol-prefix="tab_array">
- <doc xml:space="preserve">A #PangoTabArray struct contains an array
- of tab stops. Each tab stop has an alignment and a position.</doc>
- <constructor name="new" c:identifier="pango_tab_array_new">
- <doc xml:space="preserve">Creates an array of @initial_size tab stops. Tab stops are specified in
- pixel units if @positions_in_pixels is %TRUE, otherwise in Pango
- units. All stops are initially at position 0.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoTabArray, which should
- be freed with pango_tab_array_free().</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </return-value>
- <parameters>
- <parameter name="initial_size" transfer-ownership="none">
- <doc xml:space="preserve">Initial number of tab stops to allocate, can be 0</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="positions_in_pixels" transfer-ownership="none">
- <doc xml:space="preserve">whether positions are in pixel units</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_with_positions"
- c:identifier="pango_tab_array_new_with_positions"
- introspectable="0">
- <doc xml:space="preserve">This is a convenience function that creates a #PangoTabArray
- and allows you to specify the alignment and position of each
- tab stop. You <emphasis>must</emphasis> provide an alignment
- and position for @size tab stops.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoTabArray, which should
- be freed with pango_tab_array_free().</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </return-value>
- <parameters>
- <parameter name="size" transfer-ownership="none">
- <doc xml:space="preserve">number of tab stops in the array</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="positions_in_pixels" transfer-ownership="none">
- <doc xml:space="preserve">whether positions are in pixel units</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="first_alignment" transfer-ownership="none">
- <doc xml:space="preserve">alignment of first tab stop</doc>
- <type name="TabAlign" c:type="PangoTabAlign"/>
- </parameter>
- <parameter name="first_position" transfer-ownership="none">
- <doc xml:space="preserve">position of first tab stop</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">additional alignment/position pairs</doc>
- <varargs/>
- </parameter>
- </parameters>
- </constructor>
- <method name="copy" c:identifier="pango_tab_array_copy">
- <doc xml:space="preserve">Copies a #PangoTabArray</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoTabArray, which should
- be freed with pango_tab_array_free().</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </return-value>
- <parameters>
- <instance-parameter name="src" transfer-ownership="none">
- <doc xml:space="preserve">#PangoTabArray to copy</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="pango_tab_array_free">
- <doc xml:space="preserve">Frees a tab array and associated resources.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="tab_array" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoTabArray</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_positions_in_pixels"
- c:identifier="pango_tab_array_get_positions_in_pixels">
- <doc xml:space="preserve">Returns %TRUE if the tab positions are in pixels, %FALSE if they are
- in Pango units.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether positions are in pixels.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="tab_array" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoTabArray</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_size" c:identifier="pango_tab_array_get_size">
- <doc xml:space="preserve">Gets the number of tab stops in @tab_array.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the number of tab stops in the array.</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <instance-parameter name="tab_array" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoTabArray</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_tab" c:identifier="pango_tab_array_get_tab">
- <doc xml:space="preserve">Gets the alignment and position of a tab stop.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="tab_array" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoTabArray</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </instance-parameter>
- <parameter name="tab_index" transfer-ownership="none">
- <doc xml:space="preserve">tab stop index</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="alignment"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store alignment, or %NULL</doc>
- <type name="TabAlign" c:type="PangoTabAlign*"/>
- </parameter>
- <parameter name="location"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store tab position, or %NULL</doc>
- <type name="gint" c:type="gint*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_tabs" c:identifier="pango_tab_array_get_tabs">
- <doc xml:space="preserve">If non-%NULL, @alignments and @locations are filled with allocated
- arrays of length pango_tab_array_get_size(). You must free the
- returned array.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="tab_array" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoTabArray</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </instance-parameter>
- <parameter name="alignments"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store an array of tab
- stop alignments, or %NULL</doc>
- <type name="TabAlign" c:type="PangoTabAlign**"/>
- </parameter>
- <parameter name="locations"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">location to store an array
- of tab positions, or %NULL</doc>
- <array zero-terminated="0" c:type="gint**">
- <type name="gint" c:type="gint*"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="resize" c:identifier="pango_tab_array_resize">
- <doc xml:space="preserve">Resizes a tab array. You must subsequently initialize any tabs that
- were added as a result of growing the array.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="tab_array" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoTabArray</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </instance-parameter>
- <parameter name="new_size" transfer-ownership="none">
- <doc xml:space="preserve">new size of the array</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_tab" c:identifier="pango_tab_array_set_tab">
- <doc xml:space="preserve">Sets the alignment and location of a tab stop.
- @alignment must always be #PANGO_TAB_LEFT in the current
- implementation.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="tab_array" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoTabArray</doc>
- <type name="TabArray" c:type="PangoTabArray*"/>
- </instance-parameter>
- <parameter name="tab_index" transfer-ownership="none">
- <doc xml:space="preserve">the index of a tab stop</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="alignment" transfer-ownership="none">
- <doc xml:space="preserve">tab alignment</doc>
- <type name="TabAlign" c:type="PangoTabAlign"/>
- </parameter>
- <parameter name="location" transfer-ownership="none">
- <doc xml:space="preserve">tab location in Pango units</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <constant name="UNKNOWN_GLYPH_HEIGHT"
- value="14"
- c:type="PANGO_UNKNOWN_GLYPH_HEIGHT">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="UNKNOWN_GLYPH_WIDTH"
- value="10"
- c:type="PANGO_UNKNOWN_GLYPH_WIDTH">
- <type name="gint" c:type="gint"/>
- </constant>
- <enumeration name="Underline"
- glib:type-name="PangoUnderline"
- glib:get-type="pango_underline_get_type"
- c:type="PangoUnderline">
- <doc xml:space="preserve">The #PangoUnderline enumeration is used to specify
- whether text should be underlined, and if so, the type
- of underlining.</doc>
- <member name="none"
- value="0"
- c:identifier="PANGO_UNDERLINE_NONE"
- glib:nick="none">
- <doc xml:space="preserve">no underline should be drawn</doc>
- </member>
- <member name="single"
- value="1"
- c:identifier="PANGO_UNDERLINE_SINGLE"
- glib:nick="single">
- <doc xml:space="preserve">a single underline should be drawn</doc>
- </member>
- <member name="double"
- value="2"
- c:identifier="PANGO_UNDERLINE_DOUBLE"
- glib:nick="double">
- <doc xml:space="preserve">a double underline should be drawn</doc>
- </member>
- <member name="low"
- value="3"
- c:identifier="PANGO_UNDERLINE_LOW"
- glib:nick="low">
- <doc xml:space="preserve">a single underline should be drawn at a position
- beneath the ink extents of the text being
- underlined. This should be used only for underlining
- single characters, such as for keyboard
- accelerators. %PANGO_UNDERLINE_SINGLE should
- be used for extended portions of text.</doc>
- </member>
- <member name="error"
- value="4"
- c:identifier="PANGO_UNDERLINE_ERROR"
- glib:nick="error">
- <doc xml:space="preserve">a wavy underline should be drawn below.
- This underline is typically used to indicate
- an error such as a possilble mispelling; in some
- cases a contrasting color may automatically
- be used. This type of underlining is available since Pango 1.4.</doc>
- </member>
- </enumeration>
- <enumeration name="Variant"
- glib:type-name="PangoVariant"
- glib:get-type="pango_variant_get_type"
- c:type="PangoVariant">
- <doc xml:space="preserve">An enumeration specifying capitalization variant of the font.</doc>
- <member name="normal"
- value="0"
- c:identifier="PANGO_VARIANT_NORMAL"
- glib:nick="normal">
- <doc xml:space="preserve">A normal font.</doc>
- </member>
- <member name="small_caps"
- value="1"
- c:identifier="PANGO_VARIANT_SMALL_CAPS"
- glib:nick="small-caps">
- <doc xml:space="preserve">A font with the lower case characters
- replaced by smaller variants of the capital characters.</doc>
- </member>
- </enumeration>
- <enumeration name="Weight"
- glib:type-name="PangoWeight"
- glib:get-type="pango_weight_get_type"
- c:type="PangoWeight">
- <doc xml:space="preserve">An enumeration specifying the weight (boldness) of a font. This is a numerical
- value ranging from 100 to 1000, but there are some predefined values:</doc>
- <member name="thin"
- value="100"
- c:identifier="PANGO_WEIGHT_THIN"
- glib:nick="thin">
- <doc xml:space="preserve">the thin weight (= 100; Since: 1.24)</doc>
- </member>
- <member name="ultralight"
- value="200"
- c:identifier="PANGO_WEIGHT_ULTRALIGHT"
- glib:nick="ultralight">
- <doc xml:space="preserve">the ultralight weight (= 200)</doc>
- </member>
- <member name="light"
- value="300"
- c:identifier="PANGO_WEIGHT_LIGHT"
- glib:nick="light">
- <doc xml:space="preserve">the light weight (= 300)</doc>
- </member>
- <member name="semilight"
- value="350"
- c:identifier="PANGO_WEIGHT_SEMILIGHT"
- glib:nick="semilight">
- <doc xml:space="preserve">the semilight weight (= 350; Since: 1.36.7)</doc>
- </member>
- <member name="book"
- value="380"
- c:identifier="PANGO_WEIGHT_BOOK"
- glib:nick="book">
- <doc xml:space="preserve">the book weight (= 380; Since: 1.24)</doc>
- </member>
- <member name="normal"
- value="400"
- c:identifier="PANGO_WEIGHT_NORMAL"
- glib:nick="normal">
- <doc xml:space="preserve">the default weight (= 400)</doc>
- </member>
- <member name="medium"
- value="500"
- c:identifier="PANGO_WEIGHT_MEDIUM"
- glib:nick="medium">
- <doc xml:space="preserve">the normal weight (= 500; Since: 1.24)</doc>
- </member>
- <member name="semibold"
- value="600"
- c:identifier="PANGO_WEIGHT_SEMIBOLD"
- glib:nick="semibold">
- <doc xml:space="preserve">the semibold weight (= 600)</doc>
- </member>
- <member name="bold"
- value="700"
- c:identifier="PANGO_WEIGHT_BOLD"
- glib:nick="bold">
- <doc xml:space="preserve">the bold weight (= 700)</doc>
- </member>
- <member name="ultrabold"
- value="800"
- c:identifier="PANGO_WEIGHT_ULTRABOLD"
- glib:nick="ultrabold">
- <doc xml:space="preserve">the ultrabold weight (= 800)</doc>
- </member>
- <member name="heavy"
- value="900"
- c:identifier="PANGO_WEIGHT_HEAVY"
- glib:nick="heavy">
- <doc xml:space="preserve">the heavy weight (= 900)</doc>
- </member>
- <member name="ultraheavy"
- value="1000"
- c:identifier="PANGO_WEIGHT_ULTRAHEAVY"
- glib:nick="ultraheavy">
- <doc xml:space="preserve">the ultraheavy weight (= 1000; Since: 1.24)</doc>
- </member>
- </enumeration>
- <enumeration name="WrapMode"
- glib:type-name="PangoWrapMode"
- glib:get-type="pango_wrap_mode_get_type"
- c:type="PangoWrapMode">
- <doc xml:space="preserve">A #PangoWrapMode describes how to wrap the lines of a #PangoLayout to the desired width.</doc>
- <member name="word"
- value="0"
- c:identifier="PANGO_WRAP_WORD"
- glib:nick="word">
- <doc xml:space="preserve">wrap lines at word boundaries.</doc>
- </member>
- <member name="char"
- value="1"
- c:identifier="PANGO_WRAP_CHAR"
- glib:nick="char">
- <doc xml:space="preserve">wrap lines at character boundaries.</doc>
- </member>
- <member name="word_char"
- value="2"
- c:identifier="PANGO_WRAP_WORD_CHAR"
- glib:nick="word-char">
- <doc xml:space="preserve">wrap lines at word boundaries, but fall back to character boundaries if there is not
- enough space for a full word.</doc>
- </member>
- </enumeration>
- <function name="attr_background_alpha_new"
- c:identifier="pango_attr_background_alpha_new"
- version="1.38"
- introspectable="0">
- <doc xml:space="preserve">Create a new background alpha attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="alpha" transfer-ownership="none">
- <doc xml:space="preserve">the alpha value, between 1 and 65536</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_background_new"
- c:identifier="pango_attr_background_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new background color attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="red" transfer-ownership="none">
- <doc xml:space="preserve">the red value (ranging from 0 to 65535)</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- <parameter name="green" transfer-ownership="none">
- <doc xml:space="preserve">the green value</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- <parameter name="blue" transfer-ownership="none">
- <doc xml:space="preserve">the blue value</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_fallback_new"
- c:identifier="pango_attr_fallback_new"
- version="1.4"
- introspectable="0">
- <doc xml:space="preserve">Create a new font fallback attribute.
- If fallback is disabled, characters will only be used from the
- closest matching font on the system. No fallback will be done to
- other fonts on the system that might contain the characters in the
- text.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="enable_fallback" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if we should fall back on other fonts
- for characters the active font is missing.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_family_new"
- c:identifier="pango_attr_family_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new font family attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">the family or comma separated list of families</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_foreground_alpha_new"
- c:identifier="pango_attr_foreground_alpha_new"
- version="1.38"
- introspectable="0">
- <doc xml:space="preserve">Create a new foreground alpha attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="alpha" transfer-ownership="none">
- <doc xml:space="preserve">the alpha value, between 1 and 65536</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_foreground_new"
- c:identifier="pango_attr_foreground_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new foreground color attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="red" transfer-ownership="none">
- <doc xml:space="preserve">the red value (ranging from 0 to 65535)</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- <parameter name="green" transfer-ownership="none">
- <doc xml:space="preserve">the green value</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- <parameter name="blue" transfer-ownership="none">
- <doc xml:space="preserve">the blue value</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_gravity_hint_new"
- c:identifier="pango_attr_gravity_hint_new"
- version="1.16"
- introspectable="0">
- <doc xml:space="preserve">Create a new gravity hint attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="hint" transfer-ownership="none">
- <doc xml:space="preserve">the gravity hint value.</doc>
- <type name="GravityHint" c:type="PangoGravityHint"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_gravity_new"
- c:identifier="pango_attr_gravity_new"
- version="1.16"
- introspectable="0">
- <doc xml:space="preserve">Create a new gravity attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="gravity" transfer-ownership="none">
- <doc xml:space="preserve">the gravity value; should not be %PANGO_GRAVITY_AUTO.</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_letter_spacing_new"
- c:identifier="pango_attr_letter_spacing_new"
- version="1.6"
- introspectable="0">
- <doc xml:space="preserve">Create a new letter-spacing attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="letter_spacing" transfer-ownership="none">
- <doc xml:space="preserve">amount of extra space to add between graphemes
- of the text, in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_rise_new"
- c:identifier="pango_attr_rise_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new baseline displacement attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="rise" transfer-ownership="none">
- <doc xml:space="preserve">the amount that the text should be displaced vertically,
- in Pango units. Positive values displace the text upwards.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_scale_new"
- c:identifier="pango_attr_scale_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new font size scale attribute. The base font for the
- affected text will have its size multiplied by @scale_factor.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="scale_factor" transfer-ownership="none">
- <doc xml:space="preserve">factor to scale the font</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_stretch_new"
- c:identifier="pango_attr_stretch_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new font stretch attribute</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="stretch" transfer-ownership="none">
- <doc xml:space="preserve">the stretch</doc>
- <type name="Stretch" c:type="PangoStretch"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_strikethrough_color_new"
- c:identifier="pango_attr_strikethrough_color_new"
- version="1.8"
- introspectable="0">
- <doc xml:space="preserve">Create a new strikethrough color attribute. This attribute
- modifies the color of strikethrough lines. If not set, strikethrough
- lines will use the foreground color.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="red" transfer-ownership="none">
- <doc xml:space="preserve">the red value (ranging from 0 to 65535)</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- <parameter name="green" transfer-ownership="none">
- <doc xml:space="preserve">the green value</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- <parameter name="blue" transfer-ownership="none">
- <doc xml:space="preserve">the blue value</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_strikethrough_new"
- c:identifier="pango_attr_strikethrough_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new strike-through attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="strikethrough" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the text should be struck-through.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_style_new"
- c:identifier="pango_attr_style_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new font slant style attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="style" transfer-ownership="none">
- <doc xml:space="preserve">the slant style</doc>
- <type name="Style" c:type="PangoStyle"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_type_get_name"
- c:identifier="pango_attr_type_get_name"
- moved-to="AttrType.get_name"
- version="1.22">
- <doc xml:space="preserve">Fetches the attribute type name passed in when registering the type using
- pango_attr_type_register().
- The returned value is an interned string (see g_intern_string() for what
- that means) that should not be modified or freed.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the type ID name (which may be %NULL), or
- %NULL if @type is a built-in Pango attribute type or invalid.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">an attribute type ID to fetch the name for</doc>
- <type name="AttrType" c:type="PangoAttrType"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_type_register"
- c:identifier="pango_attr_type_register"
- moved-to="AttrType.register">
- <doc xml:space="preserve">Allocate a new attribute type ID. The attribute type name can be accessed
- later by using pango_attr_type_get_name().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the new type ID.</doc>
- <type name="AttrType" c:type="PangoAttrType"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">an identifier for the type</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_underline_color_new"
- c:identifier="pango_attr_underline_color_new"
- version="1.8"
- introspectable="0">
- <doc xml:space="preserve">Create a new underline color attribute. This attribute
- modifies the color of underlines. If not set, underlines
- will use the foreground color.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="red" transfer-ownership="none">
- <doc xml:space="preserve">the red value (ranging from 0 to 65535)</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- <parameter name="green" transfer-ownership="none">
- <doc xml:space="preserve">the green value</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- <parameter name="blue" transfer-ownership="none">
- <doc xml:space="preserve">the blue value</doc>
- <type name="guint16" c:type="guint16"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_underline_new"
- c:identifier="pango_attr_underline_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new underline-style attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="underline" transfer-ownership="none">
- <doc xml:space="preserve">the underline style.</doc>
- <type name="Underline" c:type="PangoUnderline"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_variant_new"
- c:identifier="pango_attr_variant_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new font variant attribute (normal or small caps)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="variant" transfer-ownership="none">
- <doc xml:space="preserve">the variant</doc>
- <type name="Variant" c:type="PangoVariant"/>
- </parameter>
- </parameters>
- </function>
- <function name="attr_weight_new"
- c:identifier="pango_attr_weight_new"
- introspectable="0">
- <doc xml:space="preserve">Create a new font weight attribute.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the newly allocated #PangoAttribute,
- which should be freed with pango_attribute_destroy().</doc>
- <type name="Attribute" c:type="PangoAttribute*"/>
- </return-value>
- <parameters>
- <parameter name="weight" transfer-ownership="none">
- <doc xml:space="preserve">the weight</doc>
- <type name="Weight" c:type="PangoWeight"/>
- </parameter>
- </parameters>
- </function>
- <function name="bidi_type_for_unichar"
- c:identifier="pango_bidi_type_for_unichar"
- moved-to="BidiType.for_unichar"
- version="1.22">
- <doc xml:space="preserve">Determines the normative bidirectional character type of a
- character, as specified in the Unicode Character Database.
- A simplified version of this function is available as
- pango_unichar_direction().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the bidirectional character type, as used in the
- Unicode bidirectional algorithm.</doc>
- <type name="BidiType" c:type="PangoBidiType"/>
- </return-value>
- <parameters>
- <parameter name="ch" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- </parameters>
- </function>
- <function name="break" c:identifier="pango_break">
- <doc xml:space="preserve">Determines possible line, word, and character breaks
- for a string of Unicode text with a single analysis. For most
- purposes you may want to use pango_get_log_attrs().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text to process</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of @text in bytes (may be -1 if @text is nul-terminated)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="analysis" transfer-ownership="none">
- <doc xml:space="preserve">#PangoAnalysis structure from pango_itemize()</doc>
- <type name="Analysis" c:type="PangoAnalysis*"/>
- </parameter>
- <parameter name="attrs" transfer-ownership="none">
- <doc xml:space="preserve">an array to store character
- information in</doc>
- <array length="4" zero-terminated="0" c:type="PangoLogAttr*">
- <type name="LogAttr" c:type="PangoLogAttr"/>
- </array>
- </parameter>
- <parameter name="attrs_len" transfer-ownership="none">
- <doc xml:space="preserve">size of the array passed as @attrs</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="config_key_get"
- c:identifier="pango_config_key_get"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Do not use. Does not do anything.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">%NULL</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">Key to look up, in the form "SECTION/KEY".</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="config_key_get_system"
- c:identifier="pango_config_key_get_system"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Do not use. Does not do anything.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">%NULL</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">Key to look up, in the form "SECTION/KEY".</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="default_break" c:identifier="pango_default_break">
- <doc xml:space="preserve">This is the default break algorithm, used if no language
- engine overrides it. Normally you should use pango_break()
- instead. Unlike pango_break(),
- @analysis can be %NULL, but only do that if you know what
- you're doing. If you need an analysis to pass to pango_break(),
- you need to pango_itemize(). In most cases however you should
- simply use pango_get_log_attrs().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">text to break</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of text in bytes (may be -1 if @text is nul-terminated)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="analysis"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoAnalysis for the @text</doc>
- <type name="Analysis" c:type="PangoAnalysis*"/>
- </parameter>
- <parameter name="attrs" transfer-ownership="none">
- <doc xml:space="preserve">logical attributes to fill in</doc>
- <type name="LogAttr" c:type="PangoLogAttr*"/>
- </parameter>
- <parameter name="attrs_len" transfer-ownership="none">
- <doc xml:space="preserve">size of the array passed as @attrs</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="extents_to_pixels"
- c:identifier="pango_extents_to_pixels"
- version="1.16">
- <doc xml:space="preserve">Converts extents from Pango units to device units, dividing by the
- %PANGO_SCALE factor and performing rounding.
- The @inclusive rectangle is converted by flooring the x/y coordinates and extending
- width/height, such that the final rectangle completely includes the original
- rectangle.
- The @nearest rectangle is converted by rounding the coordinates
- of the rectangle to the nearest device unit (pixel).
- The rule to which argument to use is: if you want the resulting device-space
- rectangle to completely contain the original rectangle, pass it in as @inclusive.
- If you want two touching-but-not-overlapping rectangles stay
- touching-but-not-overlapping after rounding to device units, pass them in
- as @nearest.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="inclusive"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle to round to pixels inclusively, or %NULL.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- <parameter name="nearest"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">rectangle to round to nearest pixels, or %NULL.</doc>
- <type name="Rectangle" c:type="PangoRectangle*"/>
- </parameter>
- </parameters>
- </function>
- <function name="find_base_dir"
- c:identifier="pango_find_base_dir"
- version="1.4">
- <doc xml:space="preserve">Searches a string the first character that has a strong
- direction, according to the Unicode bidirectional algorithm.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The direction corresponding to the first strong character.
- If no such character is found, then %PANGO_DIRECTION_NEUTRAL is returned.</doc>
- <type name="Direction" c:type="PangoDirection"/>
- </return-value>
- <parameters>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text to process</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of @text in bytes (may be -1 if @text is nul-terminated)</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- </parameters>
- </function>
- <function name="find_map"
- c:identifier="pango_find_map"
- introspectable="0"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Do not use. Does not do anything.</doc>
- <return-value>
- <doc xml:space="preserve">%NULL.</doc>
- <type name="Map" c:type="PangoMap*"/>
- </return-value>
- <parameters>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">the language tag for which to find the map</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- <parameter name="engine_type_id" transfer-ownership="none">
- <doc xml:space="preserve">the engine type for the map to find</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="render_type_id" transfer-ownership="none">
- <doc xml:space="preserve">the render type for the map to find</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="find_paragraph_boundary"
- c:identifier="pango_find_paragraph_boundary">
- <doc xml:space="preserve">Locates a paragraph boundary in @text. A boundary is caused by
- delimiter characters, such as a newline, carriage return, carriage
- return-newline pair, or Unicode paragraph separator character. The
- index of the run of delimiters is returned in
- @paragraph_delimiter_index. The index of the start of the paragraph
- (index after all delimiters) is stored in @next_paragraph_start.
- If no delimiters are found, both @paragraph_delimiter_index and
- @next_paragraph_start are filled with the length of @text (an index one
- off the end).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">UTF-8 text</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of @text in bytes, or -1 if nul-terminated</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="paragraph_delimiter_index"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">return location for index of
- delimiter</doc>
- <type name="gint" c:type="gint*"/>
- </parameter>
- <parameter name="next_paragraph_start"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">return location for start of next
- paragraph</doc>
- <type name="gint" c:type="gint*"/>
- </parameter>
- </parameters>
- </function>
- <function name="font_description_from_string"
- c:identifier="pango_font_description_from_string"
- moved-to="FontDescription.from_string">
- <doc xml:space="preserve">Creates a new font description from a string representation in the
- form "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]", where FAMILY-LIST is a
- comma separated list of families optionally terminated by a comma,
- STYLE_OPTIONS is a whitespace separated list of words where each word
- describes one of style, variant, weight, stretch, or gravity, and SIZE
- is a decimal number (size in points) or optionally followed by the
- unit modifier "px" for absolute size. Any one of the options may
- be absent. If FAMILY-LIST is absent, then the family_name field of
- the resulting font description will be initialized to %NULL. If
- STYLE-OPTIONS is missing, then all style options will be set to the
- default values. If SIZE is missing, the size in the resulting font
- description will be set to 0.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #PangoFontDescription.</doc>
- <type name="FontDescription" c:type="PangoFontDescription*"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">string representation of a font description.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_lib_subdirectory"
- c:identifier="pango_get_lib_subdirectory"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Returns the name of the "pango" subdirectory of LIBDIR
- (which is set at compile time).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the Pango lib directory. The returned string should
- not be freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- </function>
- <function name="get_log_attrs" c:identifier="pango_get_log_attrs">
- <doc xml:space="preserve">Computes a #PangoLogAttr for each character in @text. The @log_attrs
- array must have one #PangoLogAttr for each position in @text; if
- @text contains N characters, it has N+1 positions, including the
- last position at the end of the text. @text should be an entire
- paragraph; logical attributes can't be computed without context
- (for example you need to see spaces on either side of a word to know
- the word is a word).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">text to process</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length in bytes of @text</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="level" transfer-ownership="none">
- <doc xml:space="preserve">embedding level, or -1 if unknown</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="language" transfer-ownership="none">
- <doc xml:space="preserve">language tag</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </parameter>
- <parameter name="log_attrs" transfer-ownership="none">
- <doc xml:space="preserve">array with one #PangoLogAttr
- per character in @text, plus one extra, to be filled in</doc>
- <array length="5" zero-terminated="0" c:type="PangoLogAttr*">
- <type name="LogAttr" c:type="PangoLogAttr"/>
- </array>
- </parameter>
- <parameter name="attrs_len" transfer-ownership="none">
- <doc xml:space="preserve">length of @log_attrs array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_mirror_char" c:identifier="pango_get_mirror_char">
- <doc xml:space="preserve">If @ch has the Unicode mirrored property and there is another Unicode
- character that typically has a glyph that is the mirror image of @ch's
- glyph, puts that character in the address pointed to by @mirrored_ch.
- Use g_unichar_get_mirror_char() instead; the docs for that function
- provide full details.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @ch has a mirrored character and @mirrored_ch is
- filled in, %FALSE otherwise</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ch" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- <parameter name="mirrored_ch" transfer-ownership="none">
- <doc xml:space="preserve">location to store the mirrored character</doc>
- <type name="gunichar" c:type="gunichar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_sysconf_subdirectory"
- c:identifier="pango_get_sysconf_subdirectory"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Returns the name of the "pango" subdirectory of SYSCONFDIR
- (which is set at compile time).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the Pango sysconf directory. The returned string should
- not be freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- </function>
- <function name="gravity_get_for_matrix"
- c:identifier="pango_gravity_get_for_matrix"
- moved-to="Gravity.get_for_matrix"
- version="1.16">
- <doc xml:space="preserve">Finds the gravity that best matches the rotation component
- in a #PangoMatrix.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the gravity of @matrix, which will never be
- %PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </return-value>
- <parameters>
- <parameter name="matrix"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #PangoMatrix</doc>
- <type name="Matrix" c:type="const PangoMatrix*"/>
- </parameter>
- </parameters>
- </function>
- <function name="gravity_get_for_script"
- c:identifier="pango_gravity_get_for_script"
- moved-to="Gravity.get_for_script"
- version="1.16">
- <doc xml:space="preserve">Based on the script, base gravity, and hint, returns actual gravity
- to use in laying out a single #PangoItem.
- If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
- preferred gravity of @script. To get the preferred gravity of a script,
- pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">resolved gravity suitable to use for a run of text
- with @script.</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </return-value>
- <parameters>
- <parameter name="script" transfer-ownership="none">
- <doc xml:space="preserve">#PangoScript to query</doc>
- <type name="Script" c:type="PangoScript"/>
- </parameter>
- <parameter name="base_gravity" transfer-ownership="none">
- <doc xml:space="preserve">base gravity of the paragraph</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </parameter>
- <parameter name="hint" transfer-ownership="none">
- <doc xml:space="preserve">orientation hint</doc>
- <type name="GravityHint" c:type="PangoGravityHint"/>
- </parameter>
- </parameters>
- </function>
- <function name="gravity_get_for_script_and_width"
- c:identifier="pango_gravity_get_for_script_and_width"
- moved-to="Gravity.get_for_script_and_width"
- version="1.26">
- <doc xml:space="preserve">Based on the script, East Asian width, base gravity, and hint,
- returns actual gravity to use in laying out a single character
- or #PangoItem.
- This function is similar to pango_gravity_get_for_script() except
- that this function makes a distinction between narrow/half-width and
- wide/full-width characters also. Wide/full-width characters always
- stand <emphasis>upright</emphasis>, that is, they always take the base gravity,
- whereas narrow/full-width characters are always rotated in vertical
- context.
- If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
- preferred gravity of @script.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">resolved gravity suitable to use for a run of text
- with @script and @wide.</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </return-value>
- <parameters>
- <parameter name="script" transfer-ownership="none">
- <doc xml:space="preserve">#PangoScript to query</doc>
- <type name="Script" c:type="PangoScript"/>
- </parameter>
- <parameter name="wide" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE for wide characters as returned by g_unichar_iswide()</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="base_gravity" transfer-ownership="none">
- <doc xml:space="preserve">base gravity of the paragraph</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </parameter>
- <parameter name="hint" transfer-ownership="none">
- <doc xml:space="preserve">orientation hint</doc>
- <type name="GravityHint" c:type="PangoGravityHint"/>
- </parameter>
- </parameters>
- </function>
- <function name="gravity_to_rotation"
- c:identifier="pango_gravity_to_rotation"
- moved-to="Gravity.to_rotation"
- version="1.16">
- <doc xml:space="preserve">Converts a #PangoGravity value to its natural rotation in radians.
- @gravity should not be %PANGO_GRAVITY_AUTO.
- Note that pango_matrix_rotate() takes angle in degrees, not radians.
- So, to call pango_matrix_rotate() with the output of this function
- you should multiply it by (180. / G_PI).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the rotation value corresponding to @gravity.</doc>
- <type name="gdouble" c:type="double"/>
- </return-value>
- <parameters>
- <parameter name="gravity" transfer-ownership="none">
- <doc xml:space="preserve">gravity to query</doc>
- <type name="Gravity" c:type="PangoGravity"/>
- </parameter>
- </parameters>
- </function>
- <function name="is_zero_width"
- c:identifier="pango_is_zero_width"
- version="1.10">
- <doc xml:space="preserve">Checks @ch to see if it is a character that should not be
- normally rendered on the screen. This includes all Unicode characters
- with "ZERO WIDTH" in their name, as well as <firstterm>bidi</firstterm> formatting characters, and
- a few other ones. This is totally different from g_unichar_iszerowidth()
- and is at best misnamed.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @ch is a zero-width character, %FALSE otherwise</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="ch" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- </parameters>
- </function>
- <function name="itemize" c:identifier="pango_itemize">
- <doc xml:space="preserve">Breaks a piece of text into segments with consistent
- directional level and shaping engine. Each byte of @text will
- be contained in exactly one of the items in the returned list;
- the generated list of items will be in logical order (the start
- offsets of the items are ascending).
- @cached_iter should be an iterator over @attrs currently positioned at a
- range before or containing @start_index; @cached_iter will be advanced to
- the range covering the position just after @start_index + @length.
- (i.e. if itemizing in a loop, just keep passing in the same @cached_iter).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GList of #PangoItem
- structures. The items should be freed using pango_item_free()
- probably in combination with g_list_foreach(), and the list itself
- using g_list_free().</doc>
- <type name="GLib.List" c:type="GList*">
- <type name="Item"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a structure holding information that affects
- the itemization process.</doc>
- <type name="Context" c:type="PangoContext*"/>
- </parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text to itemize.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="start_index" transfer-ownership="none">
- <doc xml:space="preserve">first byte in @text to process</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the number of bytes (not characters) to process
- after @start_index.
- This must be >= 0.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="attrs" transfer-ownership="none">
- <doc xml:space="preserve">the set of attributes that apply to @text.</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </parameter>
- <parameter name="cached_iter"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Cached attribute iterator, or %NULL</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </parameter>
- </parameters>
- </function>
- <function name="itemize_with_base_dir"
- c:identifier="pango_itemize_with_base_dir"
- version="1.4">
- <doc xml:space="preserve">Like pango_itemize(), but the base direction to use when
- computing bidirectional levels (see pango_context_set_base_dir ()),
- is specified explicitly rather than gotten from the #PangoContext.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GList of
- #PangoItem structures. The items should be freed using
- pango_item_free() probably in combination with
- g_list_foreach(), and the list itself using g_list_free().</doc>
- <type name="GLib.List" c:type="GList*">
- <type name="Item"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">a structure holding information that affects
- the itemization process.</doc>
- <type name="Context" c:type="PangoContext*"/>
- </parameter>
- <parameter name="base_dir" transfer-ownership="none">
- <doc xml:space="preserve">base direction to use for bidirectional processing</doc>
- <type name="Direction" c:type="PangoDirection"/>
- </parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text to itemize.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="start_index" transfer-ownership="none">
- <doc xml:space="preserve">first byte in @text to process</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the number of bytes (not characters) to process
- after @start_index. This must be >= 0.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="attrs" transfer-ownership="none">
- <doc xml:space="preserve">the set of attributes that apply to @text.</doc>
- <type name="AttrList" c:type="PangoAttrList*"/>
- </parameter>
- <parameter name="cached_iter"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">Cached attribute iterator, or %NULL</doc>
- <type name="AttrIterator" c:type="PangoAttrIterator*"/>
- </parameter>
- </parameters>
- </function>
- <function name="language_from_string"
- c:identifier="pango_language_from_string"
- moved-to="Language.from_string">
- <doc xml:space="preserve">Take a RFC-3066 format language tag as a string and convert it to a
- #PangoLanguage pointer that can be efficiently copied (copy the
- pointer) and compared with other language tags (compare the
- pointer.)
- This function first canonicalizes the string by converting it to
- lowercase, mapping '_' to '-', and stripping all characters other
- than letters and '-'.
- Use pango_language_get_default() if you want to get the #PangoLanguage for
- the current locale of the process.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">an opaque pointer to a
- #PangoLanguage structure, or %NULL if @language was
- %NULL. The returned pointer will be valid forever
- after, and should not be freed.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </return-value>
- <parameters>
- <parameter name="language"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a string representing a language tag, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="language_get_default"
- c:identifier="pango_language_get_default"
- moved-to="Language.get_default"
- version="1.16">
- <doc xml:space="preserve">Returns the #PangoLanguage for the current locale of the process.
- Note that this can change over the life of an application.
- On Unix systems, this is the return value is derived from
- <literal>setlocale(LC_CTYPE, NULL)</literal>, and the user can
- affect this through the environment variables LC_ALL, LC_CTYPE or
- LANG (checked in that order). The locale string typically is in
- the form lang_COUNTRY, where lang is an ISO-639 language code, and
- COUNTRY is an ISO-3166 country code. For instance, sv_FI for
- Swedish as written in Finland or pt_BR for Portuguese as written in
- Brazil.
- On Windows, the C library does not use any such environment
- variables, and setting them won't affect the behavior of functions
- like ctime(). The user sets the locale through the Regional Options
- in the Control Panel. The C library (in the setlocale() function)
- does not use country and language codes, but country and language
- names spelled out in English.
- However, this function does check the above environment
- variables, and does return a Unix-style locale string based on
- either said environment variables or the thread's current locale.
- Your application should call <literal>setlocale(LC_ALL, "");</literal>
- for the user settings to take effect. Gtk+ does this in its initialization
- functions automatically (by calling gtk_set_locale()).
- See <literal>man setlocale</literal> for more details.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the default language as a
- #PangoLanguage, must not be freed.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </return-value>
- </function>
- <function name="log2vis_get_embedding_levels"
- c:identifier="pango_log2vis_get_embedding_levels"
- version="1.4">
- <doc xml:space="preserve">This will return the bidirectional embedding levels of the input paragraph
- as defined by the Unicode Bidirectional Algorithm available at:
- http://www.unicode.org/reports/tr9/
- If the input base direction is a weak direction, the direction of the
- characters in the text will determine the final resolved direction.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a newly allocated array of embedding levels, one item per
- character (not byte), that should be freed using g_free.</doc>
- <type name="guint8" c:type="guint8*"/>
- </return-value>
- <parameters>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text to itemize.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the number of bytes (not characters) to process, or -1
- if @text is nul-terminated and the length should be calculated.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="pbase_dir" transfer-ownership="none">
- <doc xml:space="preserve">input base direction, and output resolved direction.</doc>
- <type name="Direction" c:type="PangoDirection*"/>
- </parameter>
- </parameters>
- </function>
- <function name="lookup_aliases"
- c:identifier="pango_lookup_aliases"
- deprecated="1"
- deprecated-version="1.32">
- <doc xml:space="preserve">Look up all user defined aliases for the alias @fontname.
- The resulting font family names will be stored in @families,
- and the number of families in @n_families.</doc>
- <doc-deprecated xml:space="preserve">This function is not thread-safe.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fontname" transfer-ownership="none">
- <doc xml:space="preserve">an ascii string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="families"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">will be set to an array of font family names.
- this array is owned by pango and should not be freed.</doc>
- <array length="2" zero-terminated="0" c:type="char***">
- <type name="utf8" c:type="char**"/>
- </array>
- </parameter>
- <parameter name="n_families"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">will be set to the length of the @families array.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </function>
- <function name="markup_parser_finish"
- c:identifier="pango_markup_parser_finish"
- version="1.31.0"
- throws="1">
- <doc xml:space="preserve">After feeding a pango markup parser some data with g_markup_parse_context_parse(),
- use this function to get the list of pango attributes and text out of the
- markup. This function will not free @context, use g_markup_parse_context_free()
- to do so.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if @error is set, otherwise %TRUE</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="context" transfer-ownership="none">
- <doc xml:space="preserve">A valid parse context that was returned from pango_markup_parser_new()</doc>
- <type name="GLib.MarkupParseContext" c:type="GMarkupParseContext*"/>
- </parameter>
- <parameter name="attr_list"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">address of return location for a #PangoAttrList, or %NULL</doc>
- <type name="AttrList" c:type="PangoAttrList**"/>
- </parameter>
- <parameter name="text"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">address of return location for text with tags stripped, or %NULL</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- <parameter name="accel_char"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">address of return location for accelerator char, or %NULL</doc>
- <type name="gunichar" c:type="gunichar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="markup_parser_new"
- c:identifier="pango_markup_parser_new"
- version="1.31.0">
- <doc xml:space="preserve">Parses marked-up text (see
- <link linkend="PangoMarkupFormat">markup format</link>) to create
- a plain-text string and an attribute list.
- If @accel_marker is nonzero, the given character will mark the
- character following it as an accelerator. For example, @accel_marker
- might be an ampersand or underscore. All characters marked
- as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
- and the first character so marked will be returned in @accel_char,
- when calling finish(). Two @accel_marker characters following each
- other produce a single literal @accel_marker character.
- To feed markup to the parser, use g_markup_parse_context_parse()
- on the returned #GMarkupParseContext. When done with feeding markup
- to the parser, use pango_markup_parser_finish() to get the data out
- of it, and then use g_markup_parse_context_free() to free it.
- This function is designed for applications that read pango markup
- from streams. To simply parse a string containing pango markup,
- the simpler pango_parse_markup() API is recommended instead.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #GMarkupParseContext that should be
- destroyed with g_markup_parse_context_free().</doc>
- <type name="GLib.MarkupParseContext" c:type="GMarkupParseContext*"/>
- </return-value>
- <parameters>
- <parameter name="accel_marker" transfer-ownership="none">
- <doc xml:space="preserve">character that precedes an accelerator, or 0 for none</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- </parameters>
- </function>
- <function name="module_register"
- c:identifier="pango_module_register"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Do not use. Does not do anything.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="module" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoIncludedModule</doc>
- <type name="IncludedModule" c:type="PangoIncludedModule*"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_enum"
- c:identifier="pango_parse_enum"
- version="1.16"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Parses an enum type and stores the result in @value.
- If @str does not match the nick name of any of the possible values for the
- enum and is not an integer, %FALSE is returned, a warning is issued
- if @warn is %TRUE, and a
- string representing the list of possible values is stored in
- @possible_values. The list is slash-separated, eg.
- "none/start/middle/end". If failed and @possible_values is not %NULL,
- returned string should be freed using g_free().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @str was successfully parsed.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE.</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="str"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">string to parse. May be %NULL.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="value"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">integer to store the result in, or %NULL.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="warn" transfer-ownership="none">
- <doc xml:space="preserve">if %TRUE, issue a g_warning() on bad input.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="possible_values"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">place to store list of possible values on failure, or %NULL.</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_markup" c:identifier="pango_parse_markup" throws="1">
- <doc xml:space="preserve">Parses marked-up text (see
- <link linkend="PangoMarkupFormat">markup format</link>) to create
- a plain-text string and an attribute list.
- If @accel_marker is nonzero, the given character will mark the
- character following it as an accelerator. For example, @accel_marker
- might be an ampersand or underscore. All characters marked
- as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
- and the first character so marked will be returned in @accel_char.
- Two @accel_marker characters following each other produce a single
- literal @accel_marker character.
- To parse a stream of pango markup incrementally, use pango_markup_parser_new().
- If any error happens, none of the output arguments are touched except
- for @error.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if @error is set, otherwise %TRUE</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="markup_text" transfer-ownership="none">
- <doc xml:space="preserve">markup to parse (see <link linkend="PangoMarkupFormat">markup format</link>)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of @markup_text, or -1 if nul-terminated</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="accel_marker" transfer-ownership="none">
- <doc xml:space="preserve">character that precedes an accelerator, or 0 for none</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- <parameter name="attr_list"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">address of return location for a #PangoAttrList, or %NULL</doc>
- <type name="AttrList" c:type="PangoAttrList**"/>
- </parameter>
- <parameter name="text"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">address of return location for text with tags stripped, or %NULL</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- <parameter name="accel_char"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">address of return location for accelerator char, or %NULL</doc>
- <type name="gunichar" c:type="gunichar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_stretch" c:identifier="pango_parse_stretch">
- <doc xml:space="preserve">Parses a font stretch. The allowed values are
- "ultra_condensed", "extra_condensed", "condensed",
- "semi_condensed", "normal", "semi_expanded", "expanded",
- "extra_expanded" and "ultra_expanded". Case variations are
- ignored and the '_' characters may be omitted.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @str was successfully parsed.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">a string to parse.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="stretch"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">a #PangoStretch to store the
- result in.</doc>
- <type name="Stretch" c:type="PangoStretch*"/>
- </parameter>
- <parameter name="warn" transfer-ownership="none">
- <doc xml:space="preserve">if %TRUE, issue a g_warning() on bad input.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_style" c:identifier="pango_parse_style">
- <doc xml:space="preserve">Parses a font style. The allowed values are "normal",
- "italic" and "oblique", case variations being
- ignored.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @str was successfully parsed.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">a string to parse.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="style"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">a #PangoStyle to store the result
- in.</doc>
- <type name="Style" c:type="PangoStyle*"/>
- </parameter>
- <parameter name="warn" transfer-ownership="none">
- <doc xml:space="preserve">if %TRUE, issue a g_warning() on bad input.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_variant" c:identifier="pango_parse_variant">
- <doc xml:space="preserve">Parses a font variant. The allowed values are "normal"
- and "smallcaps" or "small_caps", case variations being
- ignored.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @str was successfully parsed.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">a string to parse.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="variant"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">a #PangoVariant to store the
- result in.</doc>
- <type name="Variant" c:type="PangoVariant*"/>
- </parameter>
- <parameter name="warn" transfer-ownership="none">
- <doc xml:space="preserve">if %TRUE, issue a g_warning() on bad input.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="parse_weight" c:identifier="pango_parse_weight">
- <doc xml:space="preserve">Parses a font weight. The allowed values are "heavy",
- "ultrabold", "bold", "normal", "light", "ultraleight"
- and integers. Case variations are ignored.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @str was successfully parsed.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">a string to parse.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="weight"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">a #PangoWeight to store the result
- in.</doc>
- <type name="Weight" c:type="PangoWeight*"/>
- </parameter>
- <parameter name="warn" transfer-ownership="none">
- <doc xml:space="preserve">if %TRUE, issue a g_warning() on bad input.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </function>
- <function name="quantize_line_geometry"
- c:identifier="pango_quantize_line_geometry"
- version="1.12">
- <doc xml:space="preserve">Quantizes the thickness and position of a line, typically an
- underline or strikethrough, to whole device pixels, that is integer
- multiples of %PANGO_SCALE. The purpose of this function is to avoid
- such lines looking blurry.
- Care is taken to make sure @thickness is at least one pixel when this
- function returns, but returned @position may become zero as a result
- of rounding.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="thickness"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">pointer to the thickness of a line, in Pango units</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="position"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">corresponding position</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </function>
- <function name="read_line"
- c:identifier="pango_read_line"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Reads an entire line from a file into a buffer. Lines may
- be delimited with '\n', '\r', '\n\r', or '\r\n'. The delimiter
- is not written into the buffer. Text after a '#' character is treated as
- a comment and skipped. '\' can be used to escape a # character.
- '\' proceeding a line delimiter combines adjacent lines. A '\' proceeding
- any other character is ignored and written into the output buffer
- unmodified.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">0 if the stream was already at an %EOF character, otherwise
- the number of lines read (this is useful for maintaining
- a line number counter which doesn't combine lines with '\')</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="stream"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a stdio stream</doc>
- <type name="gpointer" c:type="FILE*"/>
- </parameter>
- <parameter name="str"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">#GString buffer into which to write the result</doc>
- <type name="GLib.String" c:type="GString*"/>
- </parameter>
- </parameters>
- </function>
- <function name="reorder_items" c:identifier="pango_reorder_items">
- <doc xml:space="preserve">From a list of items in logical order and the associated
- directional levels, produce a list in visual order.
- The original list is unmodified.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GList
- of #PangoItem structures in visual order.
- (Please open a bug if you use this function.
- It is not a particularly convenient interface, and the code
- is duplicated elsewhere in Pango for that reason.)</doc>
- <type name="GLib.List" c:type="GList*">
- <type name="Item"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="logical_items" transfer-ownership="none">
- <doc xml:space="preserve">a #GList of #PangoItem in logical order.</doc>
- <type name="GLib.List" c:type="GList*">
- <type name="Item"/>
- </type>
- </parameter>
- </parameters>
- </function>
- <function name="scan_int"
- c:identifier="pango_scan_int"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Scans an integer.
- Leading white space is skipped.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if a parse error occurred.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pos"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">in/out string position</doc>
- <type name="utf8" c:type="const char**"/>
- </parameter>
- <parameter name="out"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">an int into which to write the result</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </function>
- <function name="scan_string"
- c:identifier="pango_scan_string"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Scans a string into a #GString buffer. The string may either
- be a sequence of non-white-space characters, or a quoted
- string with '"'. Instead a quoted string, '\"' represents
- a literal quote. Leading white space outside of quotes is skipped.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if a parse error occurred.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pos"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">in/out string position</doc>
- <type name="utf8" c:type="const char**"/>
- </parameter>
- <parameter name="out"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">a #GString into which to write the result</doc>
- <type name="GLib.String" c:type="GString*"/>
- </parameter>
- </parameters>
- </function>
- <function name="scan_word"
- c:identifier="pango_scan_word"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Scans a word into a #GString buffer. A word consists
- of [A-Za-z_] followed by zero or more [A-Za-z_0-9]
- Leading white space is skipped.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if a parse error occurred.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pos"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">in/out string position</doc>
- <type name="utf8" c:type="const char**"/>
- </parameter>
- <parameter name="out"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">a #GString into which to write the result</doc>
- <type name="GLib.String" c:type="GString*"/>
- </parameter>
- </parameters>
- </function>
- <function name="script_for_unichar"
- c:identifier="pango_script_for_unichar"
- moved-to="Script.for_unichar"
- version="1.4">
- <doc xml:space="preserve">Looks up the #PangoScript for a particular character (as defined by
- Unicode Standard Annex \#24). No check is made for @ch being a
- valid Unicode character; if you pass in invalid character, the
- result is undefined.
- As of Pango 1.18, this function simply returns the return value of
- g_unichar_get_script().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #PangoScript for the character.</doc>
- <type name="Script" c:type="PangoScript"/>
- </return-value>
- <parameters>
- <parameter name="ch" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- </parameters>
- </function>
- <function name="script_get_sample_language"
- c:identifier="pango_script_get_sample_language"
- moved-to="Script.get_sample_language"
- version="1.4">
- <doc xml:space="preserve">Given a script, finds a language tag that is reasonably
- representative of that script. This will usually be the
- most widely spoken or used language written in that script:
- for instance, the sample language for %PANGO_SCRIPT_CYRILLIC
- is <literal>ru</literal> (Russian), the sample language
- for %PANGO_SCRIPT_ARABIC is <literal>ar</literal>.
- For some
- scripts, no sample language will be returned because there
- is no language that is sufficiently representative. The best
- example of this is %PANGO_SCRIPT_HAN, where various different
- variants of written Chinese, Japanese, and Korean all use
- significantly different sets of Han characters and forms
- of shared characters. No sample language can be provided
- for many historical scripts as well.
- As of 1.18, this function checks the environment variables
- PANGO_LANGUAGE and LANGUAGE (checked in that order) first.
- If one of them is set, it is parsed as a list of language tags
- separated by colons or other separators. This function
- will return the first language in the parsed list that Pango
- believes may use @script for writing. This last predicate
- is tested using pango_language_includes_script(). This can
- be used to control Pango's font selection for non-primary
- languages. For example, a PANGO_LANGUAGE enviroment variable
- set to "en:fa" makes Pango choose fonts suitable for Persian (fa)
- instead of Arabic (ar) when a segment of Arabic text is found
- in an otherwise non-Arabic text. The same trick can be used to
- choose a default language for %PANGO_SCRIPT_HAN when setting
- context language is not feasible.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a #PangoLanguage that is representative
- of the script, or %NULL if no such language exists.</doc>
- <type name="Language" c:type="PangoLanguage*"/>
- </return-value>
- <parameters>
- <parameter name="script" transfer-ownership="none">
- <doc xml:space="preserve">a #PangoScript</doc>
- <type name="Script" c:type="PangoScript"/>
- </parameter>
- </parameters>
- </function>
- <function name="shape" c:identifier="pango_shape">
- <doc xml:space="preserve">Given a segment of text and the corresponding
- #PangoAnalysis structure returned from pango_itemize(),
- convert the characters into glyphs. You may also pass
- in only a substring of the item from pango_itemize().
- It is recommended that you use pango_shape_full() instead, since
- that API allows for shaping interaction happening across text item
- boundaries.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the text to process</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the length (in bytes) of @text</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="analysis" transfer-ownership="none">
- <doc xml:space="preserve">#PangoAnalysis structure from pango_itemize()</doc>
- <type name="Analysis" c:type="const PangoAnalysis*"/>
- </parameter>
- <parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">glyph string in which to store results</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </parameter>
- </parameters>
- </function>
- <function name="shape_full" c:identifier="pango_shape_full" version="1.32">
- <doc xml:space="preserve">Given a segment of text and the corresponding
- #PangoAnalysis structure returned from pango_itemize(),
- convert the characters into glyphs. You may also pass
- in only a substring of the item from pango_itemize().
- This is similar to pango_shape(), except it also can optionally take
- the full paragraph text as input, which will then be used to perform
- certain cross-item shaping interactions. If you have access to the broader
- text of which @item_text is part of, provide the broader text as
- @paragraph_text. If @paragraph_text is %NULL, item text is used instead.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="item_text" transfer-ownership="none">
- <doc xml:space="preserve">valid UTF-8 text to shape.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="item_length" transfer-ownership="none">
- <doc xml:space="preserve">the length (in bytes) of @item_text. -1 means nul-terminated text.</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="paragraph_text"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">text of the paragraph (see details). May be %NULL.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- <parameter name="paragraph_length" transfer-ownership="none">
- <doc xml:space="preserve">the length (in bytes) of @paragraph_text. -1 means nul-terminated text.</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="analysis" transfer-ownership="none">
- <doc xml:space="preserve">#PangoAnalysis structure from pango_itemize().</doc>
- <type name="Analysis" c:type="const PangoAnalysis*"/>
- </parameter>
- <parameter name="glyphs" transfer-ownership="none">
- <doc xml:space="preserve">glyph string in which to store results.</doc>
- <type name="GlyphString" c:type="PangoGlyphString*"/>
- </parameter>
- </parameters>
- </function>
- <function name="skip_space"
- c:identifier="pango_skip_space"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Skips 0 or more characters of white space.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%FALSE if skipping the white space leaves
- the position at a '\0' character.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="pos"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">in/out string position</doc>
- <type name="utf8" c:type="const char**"/>
- </parameter>
- </parameters>
- </function>
- <function name="split_file_list"
- c:identifier="pango_split_file_list"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Splits a %G_SEARCHPATH_SEPARATOR-separated list of files, stripping
- white space and substituting ~/ with $HOME/.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a list of
- strings to be freed with g_strfreev()</doc>
- <array c:type="char**">
- <type name="utf8"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">a %G_SEARCHPATH_SEPARATOR separated list of filenames</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="trim_string"
- c:identifier="pango_trim_string"
- deprecated="1"
- deprecated-version="1.38">
- <doc xml:space="preserve">Trims leading and trailing whitespace from a string.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">A newly-allocated string that must be freed with g_free()</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">a string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="unichar_direction" c:identifier="pango_unichar_direction">
- <doc xml:space="preserve">Determines the inherent direction of a character; either
- %PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, or
- %PANGO_DIRECTION_NEUTRAL.
- This function is useful to categorize characters into left-to-right
- letters, right-to-left letters, and everything else. If full
- Unicode bidirectional type of a character is needed,
- pango_bidi_type_for_unichar() can be used instead.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the direction of the character.</doc>
- <type name="Direction" c:type="PangoDirection"/>
- </return-value>
- <parameters>
- <parameter name="ch" transfer-ownership="none">
- <doc xml:space="preserve">a Unicode character</doc>
- <type name="gunichar" c:type="gunichar"/>
- </parameter>
- </parameters>
- </function>
- <function name="units_from_double"
- c:identifier="pango_units_from_double"
- version="1.16">
- <doc xml:space="preserve">Converts a floating-point number to Pango units: multiplies
- it by %PANGO_SCALE and rounds to nearest integer.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the value in Pango units.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <parameter name="d" transfer-ownership="none">
- <doc xml:space="preserve">double floating-point value</doc>
- <type name="gdouble" c:type="double"/>
- </parameter>
- </parameters>
- </function>
- <function name="units_to_double"
- c:identifier="pango_units_to_double"
- version="1.16">
- <doc xml:space="preserve">Converts a number in Pango units to floating-point: divides
- it by %PANGO_SCALE.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the double value.</doc>
- <type name="gdouble" c:type="double"/>
- </return-value>
- <parameters>
- <parameter name="i" transfer-ownership="none">
- <doc xml:space="preserve">value in Pango units</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="version" c:identifier="pango_version" version="1.16">
- <doc xml:space="preserve">This is similar to the macro %PANGO_VERSION except that
- it returns the encoded version of Pango available at run-time,
- as opposed to the version available at compile-time.
- A version number can be encoded into an integer using
- PANGO_VERSION_ENCODE().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">The encoded version of Pango library
- available at run time.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- </function>
- <function name="version_check"
- c:identifier="pango_version_check"
- version="1.16">
- <doc xml:space="preserve">Checks that the Pango library in use is compatible with the
- given version. Generally you would pass in the constants
- %PANGO_VERSION_MAJOR, %PANGO_VERSION_MINOR, %PANGO_VERSION_MICRO
- as the three arguments to this function; that produces
- a check that the library in use at run-time is compatible with
- the version of Pango the application or module was compiled against.
- Compatibility is defined by two things: first the version
- of the running library is newer than the version
- @required_major.required_minor.@required_micro. Second
- the running library must be binary compatible with the
- version @required_major.required_minor.@required_micro
- (same major version.)
- For compile-time version checking use PANGO_VERSION_CHECK().</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">%NULL if the Pango library is compatible
- with the given version, or a string describing the version
- mismatch. The returned string is owned by Pango and should not
- be modified or freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <parameter name="required_major" transfer-ownership="none">
- <doc xml:space="preserve">the required major version.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="required_minor" transfer-ownership="none">
- <doc xml:space="preserve">the required minor version.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="required_micro" transfer-ownership="none">
- <doc xml:space="preserve">the required major version.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="version_string"
- c:identifier="pango_version_string"
- version="1.16">
- <doc xml:space="preserve">This is similar to the macro %PANGO_VERSION_STRING except that
- it returns the version of Pango available at run-time, as opposed to
- the version available at compile-time.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">A string containing the version of Pango library
- available at run time.
- The returned string is owned by Pango and should not be modified
- or freed.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- </function>
- </namespace>
- </repository>
|