jwawingdi.pas 372 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620
  1. {******************************************************************************}
  2. { }
  3. { Graphics Device Interface API interface Unit for Object Pascal }
  4. { }
  5. { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
  6. { Corporation. All Rights Reserved. }
  7. { }
  8. { The original file is: wingdi.h, released June 2000. The original Pascal }
  9. { code is: WinGDI.pas, released December 2000. The initial developer of the }
  10. { Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
  11. { }
  12. { Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
  13. { Marcel van Brakel. All Rights Reserved. }
  14. { }
  15. { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
  16. { }
  17. { You may retrieve the latest version of this file at the Project JEDI }
  18. { APILIB home page, located at http://jedi-apilib.sourceforge.net }
  19. { }
  20. { The contents of this file are used with permission, subject to the Mozilla }
  21. { Public License Version 1.1 (the "License"); you may not use this file except }
  22. { in compliance with the License. You may obtain a copy of the License at }
  23. { http://www.mozilla.org/MPL/MPL-1.1.html }
  24. { }
  25. { Software distributed under the License is distributed on an "AS IS" basis, }
  26. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  27. { the specific language governing rights and limitations under the License. }
  28. { }
  29. { Alternatively, the contents of this file may be used under the terms of the }
  30. { GNU Lesser General Public License (the "LGPL License"), in which case the }
  31. { provisions of the LGPL License are applicable instead of those above. }
  32. { If you wish to allow use of your version of this file only under the terms }
  33. { of the LGPL License and not to allow others to use your version of this file }
  34. { under the MPL, indicate your decision by deleting the provisions above and }
  35. { replace them with the notice and other provisions required by the LGPL }
  36. { License. If you do not delete the provisions above, a recipient may use }
  37. { your version of this file under either the MPL or the LGPL License. }
  38. { }
  39. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  40. { }
  41. {******************************************************************************}
  42. // $Id: JwaWinGDI.pas,v 1.12 2005/09/06 16:36:50 marquardt Exp $
  43. {$IFNDEF JWA_INCLUDEMODE}
  44. unit JwaWinGDI;
  45. {$WEAKPACKAGEUNIT}
  46. {$I jediapilib.inc}
  47. interface
  48. uses
  49. JwaWinNT, JwaWinType;
  50. {$ENDIF !JWA_INCLUDEMODE}
  51. {$IFDEF JWA_INTERFACESECTION}
  52. {$HPPEMIT ''}
  53. {$HPPEMIT '#include "WinGDI.h"'}
  54. {$HPPEMIT ''}
  55. // Binary raster ops
  56. const
  57. R2_BLACK = 1; // 0
  58. {$EXTERNALSYM R2_BLACK}
  59. R2_NOTMERGEPEN = 2; // DPon
  60. {$EXTERNALSYM R2_NOTMERGEPEN}
  61. R2_MASKNOTPEN = 3; // DPna
  62. {$EXTERNALSYM R2_MASKNOTPEN}
  63. R2_NOTCOPYPEN = 4; // PN
  64. {$EXTERNALSYM R2_NOTCOPYPEN}
  65. R2_MASKPENNOT = 5; // PDna
  66. {$EXTERNALSYM R2_MASKPENNOT}
  67. R2_NOT = 6; // Dn
  68. {$EXTERNALSYM R2_NOT}
  69. R2_XORPEN = 7; // DPx
  70. {$EXTERNALSYM R2_XORPEN}
  71. R2_NOTMASKPEN = 8; // DPan
  72. {$EXTERNALSYM R2_NOTMASKPEN}
  73. R2_MASKPEN = 9; // DPa
  74. {$EXTERNALSYM R2_MASKPEN}
  75. R2_NOTXORPEN = 10; // DPxn
  76. {$EXTERNALSYM R2_NOTXORPEN}
  77. R2_NOP = 11; // D
  78. {$EXTERNALSYM R2_NOP}
  79. R2_MERGENOTPEN = 12; // DPno
  80. {$EXTERNALSYM R2_MERGENOTPEN}
  81. R2_COPYPEN = 13; // P
  82. {$EXTERNALSYM R2_COPYPEN}
  83. R2_MERGEPENNOT = 14; // PDno
  84. {$EXTERNALSYM R2_MERGEPENNOT}
  85. R2_MERGEPEN = 15; // DPo
  86. {$EXTERNALSYM R2_MERGEPEN}
  87. R2_WHITE = 16; // 1
  88. {$EXTERNALSYM R2_WHITE}
  89. R2_LAST = 16;
  90. {$EXTERNALSYM R2_LAST}
  91. // Ternary raster operations
  92. SRCCOPY = DWORD($00CC0020); // dest = source
  93. {$EXTERNALSYM SRCCOPY}
  94. SRCPAINT = DWORD($00EE0086); // dest = source OR dest
  95. {$EXTERNALSYM SRCPAINT}
  96. SRCAND = DWORD($008800C6); // dest = source AND dest
  97. {$EXTERNALSYM SRCAND}
  98. SRCINVERT = DWORD($00660046); // dest = source XOR dest
  99. {$EXTERNALSYM SRCINVERT}
  100. SRCERASE = DWORD($00440328); // dest = source AND (NOT dest )
  101. {$EXTERNALSYM SRCERASE}
  102. NOTSRCCOPY = DWORD($00330008); // dest = (NOT source)
  103. {$EXTERNALSYM NOTSRCCOPY}
  104. NOTSRCERASE = DWORD($001100A6); // dest = (NOT src) AND (NOT dest)
  105. {$EXTERNALSYM NOTSRCERASE}
  106. MERGECOPY = DWORD($00C000CA); // dest = (source AND pattern)
  107. {$EXTERNALSYM MERGECOPY}
  108. MERGEPAINT = DWORD($00BB0226); // dest = (NOT source) OR dest
  109. {$EXTERNALSYM MERGEPAINT}
  110. PATCOPY = DWORD($00F00021); // dest = pattern
  111. {$EXTERNALSYM PATCOPY}
  112. PATPAINT = DWORD($00FB0A09); // dest = DPSnoo
  113. {$EXTERNALSYM PATPAINT}
  114. PATINVERT = DWORD($005A0049); // dest = pattern XOR dest
  115. {$EXTERNALSYM PATINVERT}
  116. DSTINVERT = DWORD($00550009); // dest = (NOT dest)
  117. {$EXTERNALSYM DSTINVERT}
  118. BLACKNESS = DWORD($00000042); // dest = BLACK
  119. {$EXTERNALSYM BLACKNESS}
  120. WHITENESS = DWORD($00FF0062); // dest = WHITE
  121. {$EXTERNALSYM WHITENESS}
  122. NOMIRRORBITMAP = DWORD($80000000); // Do not Mirror the bitmap in this call
  123. {$EXTERNALSYM NOMIRRORBITMAP}
  124. CAPTUREBLT = DWORD($40000000); // Include layered windows
  125. {$EXTERNALSYM CAPTUREBLT}
  126. // Quaternary raster codes
  127. function MAKEROP4(Fore, Back: DWORD): DWORD;
  128. {$EXTERNALSYM MAKEROP4}
  129. const
  130. GDI_ERROR = DWORD($FFFFFFFF);
  131. {$EXTERNALSYM GDI_ERROR}
  132. HGDI_ERROR = HANDLE($FFFFFFFF);
  133. {$EXTERNALSYM HGDI_ERROR}
  134. // Region Flags
  135. ERROR = 0;
  136. {$EXTERNALSYM ERROR}
  137. NULLREGION = 1;
  138. {$EXTERNALSYM NULLREGION}
  139. SIMPLEREGION = 2;
  140. {$EXTERNALSYM SIMPLEREGION}
  141. COMPLEXREGION = 3;
  142. {$EXTERNALSYM COMPLEXREGION}
  143. RGN_ERROR = ERROR;
  144. {$EXTERNALSYM RGN_ERROR}
  145. // CombineRgn() Styles
  146. RGN_AND = 1;
  147. {$EXTERNALSYM RGN_AND}
  148. RGN_OR = 2;
  149. {$EXTERNALSYM RGN_OR}
  150. RGN_XOR = 3;
  151. {$EXTERNALSYM RGN_XOR}
  152. RGN_DIFF = 4;
  153. {$EXTERNALSYM RGN_DIFF}
  154. RGN_COPY = 5;
  155. {$EXTERNALSYM RGN_COPY}
  156. RGN_MIN = RGN_AND;
  157. {$EXTERNALSYM RGN_MIN}
  158. RGN_MAX = RGN_COPY;
  159. {$EXTERNALSYM RGN_MAX}
  160. // StretchBlt() Modes
  161. BLACKONWHITE = 1;
  162. {$EXTERNALSYM BLACKONWHITE}
  163. WHITEONBLACK = 2;
  164. {$EXTERNALSYM WHITEONBLACK}
  165. COLORONCOLOR = 3;
  166. {$EXTERNALSYM COLORONCOLOR}
  167. HALFTONE = 4;
  168. {$EXTERNALSYM HALFTONE}
  169. MAXSTRETCHBLTMODE = 4;
  170. {$EXTERNALSYM MAXSTRETCHBLTMODE}
  171. // New StretchBlt() Modes
  172. STRETCH_ANDSCANS = BLACKONWHITE;
  173. {$EXTERNALSYM STRETCH_ANDSCANS}
  174. STRETCH_ORSCANS = WHITEONBLACK;
  175. {$EXTERNALSYM STRETCH_ORSCANS}
  176. STRETCH_DELETESCANS = COLORONCOLOR;
  177. {$EXTERNALSYM STRETCH_DELETESCANS}
  178. STRETCH_HALFTONE = HALFTONE;
  179. {$EXTERNALSYM STRETCH_HALFTONE}
  180. // PolyFill() Modes
  181. ALTERNATE = 1;
  182. {$EXTERNALSYM ALTERNATE}
  183. WINDING = 2;
  184. {$EXTERNALSYM WINDING}
  185. POLYFILL_LAST = 2;
  186. {$EXTERNALSYM POLYFILL_LAST}
  187. // Layout Orientation Options
  188. LAYOUT_RTL = $00000001; // Right to left
  189. {$EXTERNALSYM LAYOUT_RTL}
  190. LAYOUT_BTT = $00000002; // Bottom to top
  191. {$EXTERNALSYM LAYOUT_BTT}
  192. LAYOUT_VBH = $00000004; // Vertical before horizontal
  193. {$EXTERNALSYM LAYOUT_VBH}
  194. LAYOUT_ORIENTATIONMASK = LAYOUT_RTL or LAYOUT_BTT or LAYOUT_VBH;
  195. {$EXTERNALSYM LAYOUT_ORIENTATIONMASK}
  196. LAYOUT_BITMAPORIENTATIONPRESERVED = $00000008;
  197. {$EXTERNALSYM LAYOUT_BITMAPORIENTATIONPRESERVED}
  198. // Text Alignment Options
  199. TA_NOUPDATECP = 0;
  200. {$EXTERNALSYM TA_NOUPDATECP}
  201. TA_UPDATECP = 1;
  202. {$EXTERNALSYM TA_UPDATECP}
  203. TA_LEFT = 0;
  204. {$EXTERNALSYM TA_LEFT}
  205. TA_RIGHT = 2;
  206. {$EXTERNALSYM TA_RIGHT}
  207. TA_CENTER = 6;
  208. {$EXTERNALSYM TA_CENTER}
  209. TA_TOP = 0;
  210. {$EXTERNALSYM TA_TOP}
  211. TA_BOTTOM = 8;
  212. {$EXTERNALSYM TA_BOTTOM}
  213. TA_BASELINE = 24;
  214. {$EXTERNALSYM TA_BASELINE}
  215. TA_RTLREADING = 256;
  216. {$EXTERNALSYM TA_RTLREADING}
  217. TA_MASK = TA_BASELINE + TA_CENTER + TA_UPDATECP + TA_RTLREADING;
  218. {$EXTERNALSYM TA_MASK}
  219. VTA_BASELINE = TA_BASELINE;
  220. {$EXTERNALSYM VTA_BASELINE}
  221. VTA_LEFT = TA_BOTTOM;
  222. {$EXTERNALSYM VTA_LEFT}
  223. VTA_RIGHT = TA_TOP;
  224. {$EXTERNALSYM VTA_RIGHT}
  225. VTA_CENTER = TA_CENTER;
  226. {$EXTERNALSYM VTA_CENTER}
  227. VTA_BOTTOM = TA_RIGHT;
  228. {$EXTERNALSYM VTA_BOTTOM}
  229. VTA_TOP = TA_LEFT;
  230. {$EXTERNALSYM VTA_TOP}
  231. ETO_OPAQUE = $0002;
  232. {$EXTERNALSYM ETO_OPAQUE}
  233. ETO_CLIPPED = $0004;
  234. {$EXTERNALSYM ETO_CLIPPED}
  235. ETO_GLYPH_INDEX = $0010;
  236. {$EXTERNALSYM ETO_GLYPH_INDEX}
  237. ETO_RTLREADING = $0080;
  238. {$EXTERNALSYM ETO_RTLREADING}
  239. ETO_NUMERICSLOCAL = $0400;
  240. {$EXTERNALSYM ETO_NUMERICSLOCAL}
  241. ETO_NUMERICSLATIN = $0800;
  242. {$EXTERNALSYM ETO_NUMERICSLATIN}
  243. ETO_IGNORELANGUAGE = $1000;
  244. {$EXTERNALSYM ETO_IGNORELANGUAGE}
  245. ETO_PDY = $2000;
  246. {$EXTERNALSYM ETO_PDY}
  247. ASPECT_FILTERING = $0001;
  248. {$EXTERNALSYM ASPECT_FILTERING}
  249. // Bounds Accumulation APIs
  250. DCB_RESET = $0001;
  251. {$EXTERNALSYM DCB_RESET}
  252. DCB_ACCUMULATE = $0002;
  253. {$EXTERNALSYM DCB_ACCUMULATE}
  254. DCB_DIRTY = DCB_ACCUMULATE;
  255. {$EXTERNALSYM DCB_DIRTY}
  256. DCB_SET = DCB_RESET or DCB_ACCUMULATE;
  257. {$EXTERNALSYM DCB_SET}
  258. DCB_ENABLE = $0004;
  259. {$EXTERNALSYM DCB_ENABLE}
  260. DCB_DISABLE = $0008;
  261. {$EXTERNALSYM DCB_DISABLE}
  262. // Metafile Functions
  263. META_SETBKCOLOR = $0201;
  264. {$EXTERNALSYM META_SETBKCOLOR}
  265. META_SETBKMODE = $0102;
  266. {$EXTERNALSYM META_SETBKMODE}
  267. META_SETMAPMODE = $0103;
  268. {$EXTERNALSYM META_SETMAPMODE}
  269. META_SETROP2 = $0104;
  270. {$EXTERNALSYM META_SETROP2}
  271. META_SETRELABS = $0105;
  272. {$EXTERNALSYM META_SETRELABS}
  273. META_SETPOLYFILLMODE = $0106;
  274. {$EXTERNALSYM META_SETPOLYFILLMODE}
  275. META_SETSTRETCHBLTMODE = $0107;
  276. {$EXTERNALSYM META_SETSTRETCHBLTMODE}
  277. META_SETTEXTCHAREXTRA = $0108;
  278. {$EXTERNALSYM META_SETTEXTCHAREXTRA}
  279. META_SETTEXTCOLOR = $0209;
  280. {$EXTERNALSYM META_SETTEXTCOLOR}
  281. META_SETTEXTJUSTIFICATION = $020A;
  282. {$EXTERNALSYM META_SETTEXTJUSTIFICATION}
  283. META_SETWINDOWORG = $020B;
  284. {$EXTERNALSYM META_SETWINDOWORG}
  285. META_SETWINDOWEXT = $020C;
  286. {$EXTERNALSYM META_SETWINDOWEXT}
  287. META_SETVIEWPORTORG = $020D;
  288. {$EXTERNALSYM META_SETVIEWPORTORG}
  289. META_SETVIEWPORTEXT = $020E;
  290. {$EXTERNALSYM META_SETVIEWPORTEXT}
  291. META_OFFSETWINDOWORG = $020F;
  292. {$EXTERNALSYM META_OFFSETWINDOWORG}
  293. META_SCALEWINDOWEXT = $0410;
  294. {$EXTERNALSYM META_SCALEWINDOWEXT}
  295. META_OFFSETVIEWPORTORG = $0211;
  296. {$EXTERNALSYM META_OFFSETVIEWPORTORG}
  297. META_SCALEVIEWPORTEXT = $0412;
  298. {$EXTERNALSYM META_SCALEVIEWPORTEXT}
  299. META_LINETO = $0213;
  300. {$EXTERNALSYM META_LINETO}
  301. META_MOVETO = $0214;
  302. {$EXTERNALSYM META_MOVETO}
  303. META_EXCLUDECLIPRECT = $0415;
  304. {$EXTERNALSYM META_EXCLUDECLIPRECT}
  305. META_INTERSECTCLIPRECT = $0416;
  306. {$EXTERNALSYM META_INTERSECTCLIPRECT}
  307. META_ARC = $0817;
  308. {$EXTERNALSYM META_ARC}
  309. META_ELLIPSE = $0418;
  310. {$EXTERNALSYM META_ELLIPSE}
  311. META_FLOODFILL = $0419;
  312. {$EXTERNALSYM META_FLOODFILL}
  313. META_PIE = $081A;
  314. {$EXTERNALSYM META_PIE}
  315. META_RECTANGLE = $041B;
  316. {$EXTERNALSYM META_RECTANGLE}
  317. META_ROUNDRECT = $061C;
  318. {$EXTERNALSYM META_ROUNDRECT}
  319. META_PATBLT = $061D;
  320. {$EXTERNALSYM META_PATBLT}
  321. META_SAVEDC = $001E;
  322. {$EXTERNALSYM META_SAVEDC}
  323. META_SETPIXEL = $041F;
  324. {$EXTERNALSYM META_SETPIXEL}
  325. META_OFFSETCLIPRGN = $0220;
  326. {$EXTERNALSYM META_OFFSETCLIPRGN}
  327. META_TEXTOUT = $0521;
  328. {$EXTERNALSYM META_TEXTOUT}
  329. META_BITBLT = $0922;
  330. {$EXTERNALSYM META_BITBLT}
  331. META_STRETCHBLT = $0B23;
  332. {$EXTERNALSYM META_STRETCHBLT}
  333. META_POLYGON = $0324;
  334. {$EXTERNALSYM META_POLYGON}
  335. META_POLYLINE = $0325;
  336. {$EXTERNALSYM META_POLYLINE}
  337. META_ESCAPE = $0626;
  338. {$EXTERNALSYM META_ESCAPE}
  339. META_RESTOREDC = $0127;
  340. {$EXTERNALSYM META_RESTOREDC}
  341. META_FILLREGION = $0228;
  342. {$EXTERNALSYM META_FILLREGION}
  343. META_FRAMEREGION = $0429;
  344. {$EXTERNALSYM META_FRAMEREGION}
  345. META_INVERTREGION = $012A;
  346. {$EXTERNALSYM META_INVERTREGION}
  347. META_PAINTREGION = $012B;
  348. {$EXTERNALSYM META_PAINTREGION}
  349. META_SELECTCLIPREGION = $012C;
  350. {$EXTERNALSYM META_SELECTCLIPREGION}
  351. META_SELECTOBJECT = $012D;
  352. {$EXTERNALSYM META_SELECTOBJECT}
  353. META_SETTEXTALIGN = $012E;
  354. {$EXTERNALSYM META_SETTEXTALIGN}
  355. META_CHORD = $0830;
  356. {$EXTERNALSYM META_CHORD}
  357. META_SETMAPPERFLAGS = $0231;
  358. {$EXTERNALSYM META_SETMAPPERFLAGS}
  359. META_EXTTEXTOUT = $0a32;
  360. {$EXTERNALSYM META_EXTTEXTOUT}
  361. META_SETDIBTODEV = $0d33;
  362. {$EXTERNALSYM META_SETDIBTODEV}
  363. META_SELECTPALETTE = $0234;
  364. {$EXTERNALSYM META_SELECTPALETTE}
  365. META_REALIZEPALETTE = $0035;
  366. {$EXTERNALSYM META_REALIZEPALETTE}
  367. META_ANIMATEPALETTE = $0436;
  368. {$EXTERNALSYM META_ANIMATEPALETTE}
  369. META_SETPALENTRIES = $0037;
  370. {$EXTERNALSYM META_SETPALENTRIES}
  371. META_POLYPOLYGON = $0538;
  372. {$EXTERNALSYM META_POLYPOLYGON}
  373. META_RESIZEPALETTE = $0139;
  374. {$EXTERNALSYM META_RESIZEPALETTE}
  375. META_DIBBITBLT = $0940;
  376. {$EXTERNALSYM META_DIBBITBLT}
  377. META_DIBSTRETCHBLT = $0b41;
  378. {$EXTERNALSYM META_DIBSTRETCHBLT}
  379. META_DIBCREATEPATTERNBRUSH = $0142;
  380. {$EXTERNALSYM META_DIBCREATEPATTERNBRUSH}
  381. META_STRETCHDIB = $0f43;
  382. {$EXTERNALSYM META_STRETCHDIB}
  383. META_EXTFLOODFILL = $0548;
  384. {$EXTERNALSYM META_EXTFLOODFILL}
  385. META_SETLAYOUT = $0149;
  386. {$EXTERNALSYM META_SETLAYOUT}
  387. META_DELETEOBJECT = $01f0;
  388. {$EXTERNALSYM META_DELETEOBJECT}
  389. META_CREATEPALETTE = $00f7;
  390. {$EXTERNALSYM META_CREATEPALETTE}
  391. META_CREATEPATTERNBRUSH = $01F9;
  392. {$EXTERNALSYM META_CREATEPATTERNBRUSH}
  393. META_CREATEPENINDIRECT = $02FA;
  394. {$EXTERNALSYM META_CREATEPENINDIRECT}
  395. META_CREATEFONTINDIRECT = $02FB;
  396. {$EXTERNALSYM META_CREATEFONTINDIRECT}
  397. META_CREATEBRUSHINDIRECT = $02FC;
  398. {$EXTERNALSYM META_CREATEBRUSHINDIRECT}
  399. META_CREATEREGION = $06FF;
  400. {$EXTERNALSYM META_CREATEREGION}
  401. type
  402. PDrawPatRect = ^TDrawPatRect;
  403. _DRAWPATRECT = record
  404. ptPosition: POINT;
  405. ptSize: POINT;
  406. wStyle: WORD;
  407. wPattern: WORD;
  408. end;
  409. {$EXTERNALSYM _DRAWPATRECT}
  410. DRAWPATRECT = _DRAWPATRECT;
  411. {$EXTERNALSYM DRAWPATRECT}
  412. TDrawPatRect = _DRAWPATRECT;
  413. // GDI Escapes
  414. const
  415. NEWFRAME = 1;
  416. {$EXTERNALSYM NEWFRAME}
  417. _ABORTDOC = 2; // Underscore prfix by translator (nameclash)
  418. {$EXTERNALSYM ABORTDOC}
  419. NEXTBAND = 3;
  420. {$EXTERNALSYM NEXTBAND}
  421. SETCOLORTABLE = 4;
  422. {$EXTERNALSYM SETCOLORTABLE}
  423. GETCOLORTABLE = 5;
  424. {$EXTERNALSYM GETCOLORTABLE}
  425. FLUSHOUTPUT = 6;
  426. {$EXTERNALSYM FLUSHOUTPUT}
  427. DRAFTMODE = 7;
  428. {$EXTERNALSYM DRAFTMODE}
  429. QUERYESCSUPPORT = 8;
  430. {$EXTERNALSYM QUERYESCSUPPORT}
  431. SETABORTPROC_ = 9; // Underscore prfix by translator (nameclash)
  432. {$EXTERNALSYM SETABORTPROC}
  433. STARTDOC_ = 10; // Underscore prfix by translator (nameclash)
  434. {$EXTERNALSYM STARTDOC}
  435. ENDDOC_ = 11; // Underscore prfix by translator (nameclash)
  436. {$EXTERNALSYM ENDDOC}
  437. GETPHYSPAGESIZE = 12;
  438. {$EXTERNALSYM GETPHYSPAGESIZE}
  439. GETPRINTINGOFFSET = 13;
  440. {$EXTERNALSYM GETPRINTINGOFFSET}
  441. GETSCALINGFACTOR = 14;
  442. {$EXTERNALSYM GETSCALINGFACTOR}
  443. MFCOMMENT = 15;
  444. {$EXTERNALSYM MFCOMMENT}
  445. GETPENWIDTH = 16;
  446. {$EXTERNALSYM GETPENWIDTH}
  447. SETCOPYCOUNT = 17;
  448. {$EXTERNALSYM SETCOPYCOUNT}
  449. SELECTPAPERSOURCE = 18;
  450. {$EXTERNALSYM SELECTPAPERSOURCE}
  451. DEVICEDATA = 19;
  452. {$EXTERNALSYM DEVICEDATA}
  453. PASSTHROUGH = 19;
  454. {$EXTERNALSYM PASSTHROUGH}
  455. GETTECHNOLGY = 20;
  456. {$EXTERNALSYM GETTECHNOLGY}
  457. GETTECHNOLOGY = 20;
  458. {$EXTERNALSYM GETTECHNOLOGY}
  459. SETLINECAP = 21;
  460. {$EXTERNALSYM SETLINECAP}
  461. SETLINEJOIN = 22;
  462. {$EXTERNALSYM SETLINEJOIN}
  463. SETMITERLIMIT_ = 23; // underscore prefix by translator (nameclash)
  464. {$EXTERNALSYM SETMITERLIMIT}
  465. BANDINFO = 24;
  466. {$EXTERNALSYM BANDINFO}
  467. DRAWPATTERNRECT = 25;
  468. {$EXTERNALSYM DRAWPATTERNRECT}
  469. GETVECTORPENSIZE = 26;
  470. {$EXTERNALSYM GETVECTORPENSIZE}
  471. GETVECTORBRUSHSIZE = 27;
  472. {$EXTERNALSYM GETVECTORBRUSHSIZE}
  473. ENABLEDUPLEX = 28;
  474. {$EXTERNALSYM ENABLEDUPLEX}
  475. GETSETPAPERBINS = 29;
  476. {$EXTERNALSYM GETSETPAPERBINS}
  477. GETSETPRINTORIENT = 30;
  478. {$EXTERNALSYM GETSETPRINTORIENT}
  479. ENUMPAPERBINS = 31;
  480. {$EXTERNALSYM ENUMPAPERBINS}
  481. SETDIBSCALING = 32;
  482. {$EXTERNALSYM SETDIBSCALING}
  483. EPSPRINTING = 33;
  484. {$EXTERNALSYM EPSPRINTING}
  485. ENUMPAPERMETRICS = 34;
  486. {$EXTERNALSYM ENUMPAPERMETRICS}
  487. GETSETPAPERMETRICS = 35;
  488. {$EXTERNALSYM GETSETPAPERMETRICS}
  489. POSTSCRIPT_DATA = 37;
  490. {$EXTERNALSYM POSTSCRIPT_DATA}
  491. POSTSCRIPT_IGNORE = 38;
  492. {$EXTERNALSYM POSTSCRIPT_IGNORE}
  493. MOUSETRAILS = 39;
  494. {$EXTERNALSYM MOUSETRAILS}
  495. GETDEVICEUNITS = 42;
  496. {$EXTERNALSYM GETDEVICEUNITS}
  497. GETEXTENDEDTEXTMETRICS = 256;
  498. {$EXTERNALSYM GETEXTENDEDTEXTMETRICS}
  499. GETEXTENTTABLE = 257;
  500. {$EXTERNALSYM GETEXTENTTABLE}
  501. GETPAIRKERNTABLE = 258;
  502. {$EXTERNALSYM GETPAIRKERNTABLE}
  503. GETTRACKKERNTABLE = 259;
  504. {$EXTERNALSYM GETTRACKKERNTABLE}
  505. EXTTEXTOUT_ = 512; // underscore prefix by translator (nameclash)
  506. {$EXTERNALSYM EXTTEXTOUT}
  507. GETFACENAME = 513;
  508. {$EXTERNALSYM GETFACENAME}
  509. DOWNLOADFACE = 514;
  510. {$EXTERNALSYM DOWNLOADFACE}
  511. ENABLERELATIVEWIDTHS = 768;
  512. {$EXTERNALSYM ENABLERELATIVEWIDTHS}
  513. ENABLEPAIRKERNING = 769;
  514. {$EXTERNALSYM ENABLEPAIRKERNING}
  515. SETKERNTRACK = 770;
  516. {$EXTERNALSYM SETKERNTRACK}
  517. SETALLJUSTVALUES = 771;
  518. {$EXTERNALSYM SETALLJUSTVALUES}
  519. SETCHARSET = 772;
  520. {$EXTERNALSYM SETCHARSET}
  521. STRETCHBLT_ESCAPE = 2048; // suffix _ESCAPE by translator because of
  522. // name-clash with StretchBlt function
  523. {$EXTERNALSYM STRETCHBLT}
  524. METAFILE_DRIVER = 2049;
  525. {$EXTERNALSYM METAFILE_DRIVER}
  526. GETSETSCREENPARAMS = 3072;
  527. {$EXTERNALSYM GETSETSCREENPARAMS}
  528. QUERYDIBSUPPORT = 3073;
  529. {$EXTERNALSYM QUERYDIBSUPPORT}
  530. BEGIN_PATH = 4096;
  531. {$EXTERNALSYM BEGIN_PATH}
  532. CLIP_TO_PATH = 4097;
  533. {$EXTERNALSYM CLIP_TO_PATH}
  534. END_PATH = 4098;
  535. {$EXTERNALSYM END_PATH}
  536. EXT_DEVICE_CAPS = 4099;
  537. {$EXTERNALSYM EXT_DEVICE_CAPS}
  538. RESTORE_CTM = 4100;
  539. {$EXTERNALSYM RESTORE_CTM}
  540. SAVE_CTM = 4101;
  541. {$EXTERNALSYM SAVE_CTM}
  542. SET_ARC_DIRECTION = 4102;
  543. {$EXTERNALSYM SET_ARC_DIRECTION}
  544. SET_BACKGROUND_COLOR = 4103;
  545. {$EXTERNALSYM SET_BACKGROUND_COLOR}
  546. SET_POLY_MODE = 4104;
  547. {$EXTERNALSYM SET_POLY_MODE}
  548. SET_SCREEN_ANGLE = 4105;
  549. {$EXTERNALSYM SET_SCREEN_ANGLE}
  550. SET_SPREAD = 4106;
  551. {$EXTERNALSYM SET_SPREAD}
  552. TRANSFORM_CTM = 4107;
  553. {$EXTERNALSYM TRANSFORM_CTM}
  554. SET_CLIP_BOX = 4108;
  555. {$EXTERNALSYM SET_CLIP_BOX}
  556. SET_BOUNDS = 4109;
  557. {$EXTERNALSYM SET_BOUNDS}
  558. SET_MIRROR_MODE = 4110;
  559. {$EXTERNALSYM SET_MIRROR_MODE}
  560. OPENCHANNEL = 4110;
  561. {$EXTERNALSYM OPENCHANNEL}
  562. DOWNLOADHEADER = 4111;
  563. {$EXTERNALSYM DOWNLOADHEADER}
  564. CLOSECHANNEL = 4112;
  565. {$EXTERNALSYM CLOSECHANNEL}
  566. POSTSCRIPT_PASSTHROUGH = 4115;
  567. {$EXTERNALSYM POSTSCRIPT_PASSTHROUGH}
  568. ENCAPSULATED_POSTSCRIPT = 4116;
  569. {$EXTERNALSYM ENCAPSULATED_POSTSCRIPT}
  570. POSTSCRIPT_IDENTIFY = 4117; // new escape for NT5 pscript driver
  571. {$EXTERNALSYM POSTSCRIPT_IDENTIFY}
  572. POSTSCRIPT_INJECTION = 4118; // new escape for NT5 pscript driver
  573. {$EXTERNALSYM POSTSCRIPT_INJECTION}
  574. CHECKJPEGFORMAT = 4119;
  575. {$EXTERNALSYM CHECKJPEGFORMAT}
  576. CHECKPNGFORMAT = 4120;
  577. {$EXTERNALSYM CHECKPNGFORMAT}
  578. GET_PS_FEATURESETTING = 4121; // new escape for NT5 pscript driver
  579. {$EXTERNALSYM GET_PS_FEATURESETTING}
  580. SPCLPASSTHROUGH2 = 4568; // new escape for NT5 pscript driver
  581. {$EXTERNALSYM SPCLPASSTHROUGH2}
  582. //
  583. // Parameters for POSTSCRIPT_IDENTIFY escape
  584. //
  585. PSIDENT_GDICENTRIC = 0;
  586. {$EXTERNALSYM PSIDENT_GDICENTRIC}
  587. PSIDENT_PSCENTRIC = 1;
  588. {$EXTERNALSYM PSIDENT_PSCENTRIC}
  589. //
  590. // Header structure for the input buffer to POSTSCRIPT_INJECTION escape
  591. //
  592. type
  593. PPsInjectData = ^TPsInjectData;
  594. _PSINJECTDATA = record
  595. DataBytes: DWORD; // number of raw data bytes (NOT including this header)
  596. InjectionPoint: WORD; // injection point
  597. PageNumber: WORD; // page number to apply the injection
  598. // Followed by raw data to be injected
  599. end;
  600. {$EXTERNALSYM _PSINJECTDATA}
  601. PSINJECTDATA = _PSINJECTDATA;
  602. {$EXTERNALSYM PSINJECTDATA}
  603. TPsInjectData = _PSINJECTDATA;
  604. //
  605. // Constants for PSINJECTDATA.InjectionPoint field
  606. //
  607. const
  608. PSINJECT_BEGINSTREAM = 1;
  609. {$EXTERNALSYM PSINJECT_BEGINSTREAM}
  610. PSINJECT_PSADOBE = 2;
  611. {$EXTERNALSYM PSINJECT_PSADOBE}
  612. PSINJECT_PAGESATEND = 3;
  613. {$EXTERNALSYM PSINJECT_PAGESATEND}
  614. PSINJECT_PAGES = 4;
  615. {$EXTERNALSYM PSINJECT_PAGES}
  616. PSINJECT_DOCNEEDEDRES = 5;
  617. {$EXTERNALSYM PSINJECT_DOCNEEDEDRES}
  618. PSINJECT_DOCSUPPLIEDRES = 6;
  619. {$EXTERNALSYM PSINJECT_DOCSUPPLIEDRES}
  620. PSINJECT_PAGEORDER = 7;
  621. {$EXTERNALSYM PSINJECT_PAGEORDER}
  622. PSINJECT_ORIENTATION = 8;
  623. {$EXTERNALSYM PSINJECT_ORIENTATION}
  624. PSINJECT_BOUNDINGBOX = 9;
  625. {$EXTERNALSYM PSINJECT_BOUNDINGBOX}
  626. PSINJECT_DOCUMENTPROCESSCOLORS = 10;
  627. {$EXTERNALSYM PSINJECT_DOCUMENTPROCESSCOLORS}
  628. PSINJECT_COMMENTS = 11;
  629. {$EXTERNALSYM PSINJECT_COMMENTS}
  630. PSINJECT_BEGINDEFAULTS = 12;
  631. {$EXTERNALSYM PSINJECT_BEGINDEFAULTS}
  632. PSINJECT_ENDDEFAULTS = 13;
  633. {$EXTERNALSYM PSINJECT_ENDDEFAULTS}
  634. PSINJECT_BEGINPROLOG = 14;
  635. {$EXTERNALSYM PSINJECT_BEGINPROLOG}
  636. PSINJECT_ENDPROLOG = 15;
  637. {$EXTERNALSYM PSINJECT_ENDPROLOG}
  638. PSINJECT_BEGINSETUP = 16;
  639. {$EXTERNALSYM PSINJECT_BEGINSETUP}
  640. PSINJECT_ENDSETUP = 17;
  641. {$EXTERNALSYM PSINJECT_ENDSETUP}
  642. PSINJECT_TRAILER = 18;
  643. {$EXTERNALSYM PSINJECT_TRAILER}
  644. PSINJECT_EOF = 19;
  645. {$EXTERNALSYM PSINJECT_EOF}
  646. PSINJECT_ENDSTREAM = 20;
  647. {$EXTERNALSYM PSINJECT_ENDSTREAM}
  648. PSINJECT_DOCUMENTPROCESSCOLORSATEND = 21;
  649. {$EXTERNALSYM PSINJECT_DOCUMENTPROCESSCOLORSATEND}
  650. PSINJECT_PAGENUMBER = 100;
  651. {$EXTERNALSYM PSINJECT_PAGENUMBER}
  652. PSINJECT_BEGINPAGESETUP = 101;
  653. {$EXTERNALSYM PSINJECT_BEGINPAGESETUP}
  654. PSINJECT_ENDPAGESETUP = 102;
  655. {$EXTERNALSYM PSINJECT_ENDPAGESETUP}
  656. PSINJECT_PAGETRAILER = 103;
  657. {$EXTERNALSYM PSINJECT_PAGETRAILER}
  658. PSINJECT_PLATECOLOR = 104;
  659. {$EXTERNALSYM PSINJECT_PLATECOLOR}
  660. PSINJECT_SHOWPAGE = 105;
  661. {$EXTERNALSYM PSINJECT_SHOWPAGE}
  662. PSINJECT_PAGEBBOX = 106;
  663. {$EXTERNALSYM PSINJECT_PAGEBBOX}
  664. PSINJECT_ENDPAGECOMMENTS = 107;
  665. {$EXTERNALSYM PSINJECT_ENDPAGECOMMENTS}
  666. PSINJECT_VMSAVE = 200;
  667. {$EXTERNALSYM PSINJECT_VMSAVE}
  668. PSINJECT_VMRESTORE = 201;
  669. {$EXTERNALSYM PSINJECT_VMRESTORE}
  670. //
  671. // Parameter for GET_PS_FEATURESETTING escape
  672. //
  673. FEATURESETTING_NUP = 0;
  674. {$EXTERNALSYM FEATURESETTING_NUP}
  675. FEATURESETTING_OUTPUT = 1;
  676. {$EXTERNALSYM FEATURESETTING_OUTPUT}
  677. FEATURESETTING_PSLEVEL = 2;
  678. {$EXTERNALSYM FEATURESETTING_PSLEVEL}
  679. FEATURESETTING_CUSTPAPER = 3;
  680. {$EXTERNALSYM FEATURESETTING_CUSTPAPER}
  681. FEATURESETTING_MIRROR = 4;
  682. {$EXTERNALSYM FEATURESETTING_MIRROR}
  683. FEATURESETTING_NEGATIVE = 5;
  684. {$EXTERNALSYM FEATURESETTING_NEGATIVE}
  685. FEATURESETTING_PROTOCOL = 6;
  686. {$EXTERNALSYM FEATURESETTING_PROTOCOL}
  687. //
  688. // The range of selectors between FEATURESETTING_PRIVATE_BEGIN and
  689. // FEATURESETTING_PRIVATE_END is reserved by Microsoft for private use
  690. //
  691. FEATURESETTING_PRIVATE_BEGIN = $1000;
  692. {$EXTERNALSYM FEATURESETTING_PRIVATE_BEGIN}
  693. FEATURESETTING_PRIVATE_END = $1FFF;
  694. {$EXTERNALSYM FEATURESETTING_PRIVATE_END}
  695. //
  696. // Information about output options
  697. //
  698. type
  699. PPsFeatureOutput = ^TPsFeatureOutput;
  700. _PSFEATURE_OUTPUT = record
  701. bPageIndependent: BOOL;
  702. bSetPageDevice: BOOL;
  703. end;
  704. {$EXTERNALSYM _PSFEATURE_OUTPUT}
  705. PSFEATURE_OUTPUT = _PSFEATURE_OUTPUT;
  706. {$EXTERNALSYM PSFEATURE_OUTPUT}
  707. PPSFEATURE_OUTPUT = ^PSFEATURE_OUTPUT;
  708. {$EXTERNALSYM PPSFEATURE_OUTPUT}
  709. TPsFeatureOutput = _PSFEATURE_OUTPUT;
  710. //
  711. // Information about custom paper size
  712. //
  713. PPsFeatureCustPaper = ^TPsFeatureCustPaper;
  714. _PSFEATURE_CUSTPAPER = record
  715. lOrientation: LONG;
  716. lWidth: LONG;
  717. lHeight: LONG;
  718. lWidthOffset: LONG;
  719. lHeightOffset: LONG;
  720. end;
  721. {$EXTERNALSYM _PSFEATURE_CUSTPAPER}
  722. PSFEATURE_CUSTPAPER = _PSFEATURE_CUSTPAPER;
  723. {$EXTERNALSYM PSFEATURE_CUSTPAPER}
  724. PPSFEATURE_CUSTPAPER = ^PSFEATURE_CUSTPAPER;
  725. {$EXTERNALSYM PPSFEATURE_CUSTPAPER}
  726. TPsFeatureCustPaper = _PSFEATURE_CUSTPAPER;
  727. // Value returned for FEATURESETTING_PROTOCOL
  728. const
  729. PSPROTOCOL_ASCII = 0;
  730. {$EXTERNALSYM PSPROTOCOL_ASCII}
  731. PSPROTOCOL_BCP = 1;
  732. {$EXTERNALSYM PSPROTOCOL_BCP}
  733. PSPROTOCOL_TBCP = 2;
  734. {$EXTERNALSYM PSPROTOCOL_TBCP}
  735. PSPROTOCOL_BINARY = 3;
  736. {$EXTERNALSYM PSPROTOCOL_BINARY}
  737. // Flag returned from QUERYDIBSUPPORT
  738. QDI_SETDIBITS = 1;
  739. {$EXTERNALSYM QDI_SETDIBITS}
  740. QDI_GETDIBITS = 2;
  741. {$EXTERNALSYM QDI_GETDIBITS}
  742. QDI_DIBTOSCREEN = 4;
  743. {$EXTERNALSYM QDI_DIBTOSCREEN}
  744. QDI_STRETCHDIB = 8;
  745. {$EXTERNALSYM QDI_STRETCHDIB}
  746. // Spooler Error Codes
  747. SP_NOTREPORTED = $4000;
  748. {$EXTERNALSYM SP_NOTREPORTED}
  749. SP_ERROR = DWORD(-1);
  750. {$EXTERNALSYM SP_ERROR}
  751. SP_APPABORT = DWORD(-2);
  752. {$EXTERNALSYM SP_APPABORT}
  753. SP_USERABORT = DWORD(-3);
  754. {$EXTERNALSYM SP_USERABORT}
  755. SP_OUTOFDISK = DWORD(-4);
  756. {$EXTERNALSYM SP_OUTOFDISK}
  757. SP_OUTOFMEMORY = DWORD(-5);
  758. {$EXTERNALSYM SP_OUTOFMEMORY}
  759. PR_JOBSTATUS = $0000;
  760. {$EXTERNALSYM PR_JOBSTATUS}
  761. // Object Definitions for EnumObjects()
  762. OBJ_PEN = 1;
  763. {$EXTERNALSYM OBJ_PEN}
  764. OBJ_BRUSH = 2;
  765. {$EXTERNALSYM OBJ_BRUSH}
  766. OBJ_DC = 3;
  767. {$EXTERNALSYM OBJ_DC}
  768. OBJ_METADC = 4;
  769. {$EXTERNALSYM OBJ_METADC}
  770. OBJ_PAL = 5;
  771. {$EXTERNALSYM OBJ_PAL}
  772. OBJ_FONT = 6;
  773. {$EXTERNALSYM OBJ_FONT}
  774. OBJ_BITMAP = 7;
  775. {$EXTERNALSYM OBJ_BITMAP}
  776. OBJ_REGION = 8;
  777. {$EXTERNALSYM OBJ_REGION}
  778. OBJ_METAFILE = 9;
  779. {$EXTERNALSYM OBJ_METAFILE}
  780. OBJ_MEMDC = 10;
  781. {$EXTERNALSYM OBJ_MEMDC}
  782. OBJ_EXTPEN = 11;
  783. {$EXTERNALSYM OBJ_EXTPEN}
  784. OBJ_ENHMETADC = 12;
  785. {$EXTERNALSYM OBJ_ENHMETADC}
  786. OBJ_ENHMETAFILE = 13;
  787. {$EXTERNALSYM OBJ_ENHMETAFILE}
  788. OBJ_COLORSPACE = 14;
  789. {$EXTERNALSYM OBJ_COLORSPACE}
  790. // xform stuff
  791. MWT_IDENTITY = 1;
  792. {$EXTERNALSYM MWT_IDENTITY}
  793. MWT_LEFTMULTIPLY = 2;
  794. {$EXTERNALSYM MWT_LEFTMULTIPLY}
  795. MWT_RIGHTMULTIPLY = 3;
  796. {$EXTERNALSYM MWT_RIGHTMULTIPLY}
  797. MWT_MIN = MWT_IDENTITY;
  798. {$EXTERNALSYM MWT_MIN}
  799. MWT_MAX = MWT_RIGHTMULTIPLY;
  800. {$EXTERNALSYM MWT_MAX}
  801. type
  802. PXform = ^TXform;
  803. tagXFORM = record
  804. eM11: FLOAT;
  805. eM12: FLOAT;
  806. eM21: FLOAT;
  807. eM22: FLOAT;
  808. eDx: FLOAT;
  809. eDy: FLOAT;
  810. end;
  811. {$EXTERNALSYM tagXFORM}
  812. XFORM = tagXFORM;
  813. {$EXTERNALSYM XFORM}
  814. LPXFORM = ^XFORM;
  815. {$EXTERNALSYM LPXFORM}
  816. TXform = XFORM;
  817. // Bitmap Header Definition
  818. PBitmap = ^TBitmap;
  819. tagBITMAP = record
  820. bmType: LONG;
  821. bmWidth: LONG;
  822. bmHeight: LONG;
  823. bmWidthBytes: LONG;
  824. bmPlanes: WORD;
  825. bmBitsPixel: WORD;
  826. bmBits: LPVOID;
  827. end;
  828. {$EXTERNALSYM tagBITMAP}
  829. BITMAP = tagBITMAP;
  830. {$EXTERNALSYM BITMAP}
  831. LPBITMAP = ^BITMAP;
  832. {$EXTERNALSYM LPBITMAP}
  833. NPBITMAP = ^BITMAP;
  834. {$EXTERNALSYM NPBITMAP}
  835. TBitmap = BITMAP;
  836. // #include <pshpack1.h>
  837. PRgbTriple = ^TRgbTriple;
  838. tagRGBTRIPLE = packed record
  839. rgbtBlue: BYTE;
  840. rgbtGreen: BYTE;
  841. rgbtRed: BYTE;
  842. end;
  843. {$EXTERNALSYM tagRGBTRIPLE}
  844. RGBTRIPLE = tagRGBTRIPLE;
  845. {$EXTERNALSYM RGBTRIPLE}
  846. TRgbTriple = RGBTRIPLE;
  847. // #include <poppack.h>
  848. PRgbQuad = ^TRgbQuad;
  849. tagRGBQUAD = record
  850. rgbBlue: BYTE;
  851. rgbGreen: BYTE;
  852. rgbRed: BYTE;
  853. rgbReserved: BYTE;
  854. end;
  855. {$EXTERNALSYM tagRGBQUAD}
  856. RGBQUAD = tagRGBQUAD;
  857. {$EXTERNALSYM RGBQUAD}
  858. LPRGBQUAD = ^RGBQUAD;
  859. {$EXTERNALSYM LPRGBQUAD}
  860. TRgbQuad = RGBQUAD;
  861. // Image Color Matching color definitions
  862. const
  863. CS_ENABLE = $00000001;
  864. {$EXTERNALSYM CS_ENABLE}
  865. CS_DISABLE = $00000002;
  866. {$EXTERNALSYM CS_DISABLE}
  867. CS_DELETE_TRANSFORM = $00000003;
  868. {$EXTERNALSYM CS_DELETE_TRANSFORM}
  869. // Logcolorspace signature
  870. LCS_SIGNATURE = 'PSOC';
  871. {$EXTERNALSYM LCS_SIGNATURE}
  872. // Logcolorspace lcsType values
  873. LCS_sRGB = 'sRGB';
  874. {$EXTERNALSYM LCS_sRGB}
  875. LCS_WINDOWS_COLOR_SPACE = 'Win '; // Windows default color space
  876. {$EXTERNALSYM LCS_WINDOWS_COLOR_SPACE}
  877. type
  878. LCSCSTYPE = LONG;
  879. {$EXTERNALSYM LCSCSTYPE}
  880. const
  881. LCS_CALIBRATED_RGB = $00000000;
  882. {$EXTERNALSYM LCS_CALIBRATED_RGB}
  883. type
  884. LCSGAMUTMATCH = LONG;
  885. {$EXTERNALSYM LCSGAMUTMATCH }
  886. const
  887. LCS_GM_BUSINESS = $00000001;
  888. {$EXTERNALSYM LCS_GM_BUSINESS}
  889. LCS_GM_GRAPHICS = $00000002;
  890. {$EXTERNALSYM LCS_GM_GRAPHICS}
  891. LCS_GM_IMAGES = $00000004;
  892. {$EXTERNALSYM LCS_GM_IMAGES}
  893. LCS_GM_ABS_COLORIMETRIC = $00000008;
  894. {$EXTERNALSYM LCS_GM_ABS_COLORIMETRIC}
  895. // ICM Defines for results from CheckColorInGamut()
  896. CM_OUT_OF_GAMUT = 255;
  897. {$EXTERNALSYM CM_OUT_OF_GAMUT}
  898. CM_IN_GAMUT = 0;
  899. {$EXTERNALSYM CM_IN_GAMUT}
  900. // UpdateICMRegKey Constants
  901. ICM_ADDPROFILE = 1;
  902. {$EXTERNALSYM ICM_ADDPROFILE}
  903. ICM_DELETEPROFILE = 2;
  904. {$EXTERNALSYM ICM_DELETEPROFILE}
  905. ICM_QUERYPROFILE = 3;
  906. {$EXTERNALSYM ICM_QUERYPROFILE}
  907. ICM_SETDEFAULTPROFILE = 4;
  908. {$EXTERNALSYM ICM_SETDEFAULTPROFILE}
  909. ICM_REGISTERICMATCHER = 5;
  910. {$EXTERNALSYM ICM_REGISTERICMATCHER}
  911. ICM_UNREGISTERICMATCHER = 6;
  912. {$EXTERNALSYM ICM_UNREGISTERICMATCHER}
  913. ICM_QUERYMATCH = 7;
  914. {$EXTERNALSYM ICM_QUERYMATCH}
  915. // Macros to retrieve CMYK values from a COLORREF
  916. function GetKValue(cmyk: COLORREF): BYTE;
  917. {$EXTERNALSYM GetKValue}
  918. function GetYValue(cmyk: COLORREF): BYTE;
  919. {$EXTERNALSYM GetYValue}
  920. function GetMValue(cmyk: COLORREF): BYTE;
  921. {$EXTERNALSYM GetMValue}
  922. function GetCValue(cmyk: COLORREF): BYTE;
  923. {$EXTERNALSYM GetCValue}
  924. function CMYK(c, m, y, k: BYTE): COLORREF;
  925. {$EXTERNALSYM CMYK}
  926. type
  927. FXPT16DOT16 = Longint;
  928. {$EXTERNALSYM FXPT16DOT16}
  929. LPFXPT16DOT16 = ^FXPT16DOT16;
  930. {$EXTERNALSYM LPFXPT16DOT16}
  931. FXPT2DOT30 = Longint;
  932. {$EXTERNALSYM FXPT2DOT30}
  933. LPFXPT2DOT30 = ^FXPT2DOT30;
  934. {$EXTERNALSYM LPFXPT2DOT30}
  935. // ICM Color Definitions
  936. // The following two structures are used for defining RGB's in terms of CIEXYZ.
  937. PCieXyz = ^TCieXyz;
  938. tagCIEXYZ = record
  939. ciexyzX: FXPT2DOT30;
  940. ciexyzY: FXPT2DOT30;
  941. ciexyzZ: FXPT2DOT30;
  942. end;
  943. {$EXTERNALSYM tagCIEXYZ}
  944. CIEXYZ = tagCIEXYZ;
  945. {$EXTERNALSYM CIEXYZ}
  946. LPCIEXYZ = ^CIEXYZ;
  947. {$EXTERNALSYM LPCIEXYZ}
  948. TCieXyz = CIEXYZ;
  949. PCieXyzTriple = ^TCieXyzTriple;
  950. tagCIEXYZTRIPLE = record
  951. ciexyzRed: CIEXYZ;
  952. ciexyzGreen: CIEXYZ;
  953. ciexyzBlue: CIEXYZ;
  954. end;
  955. {$EXTERNALSYM tagCIEXYZTRIPLE}
  956. CIEXYZTRIPLE = tagCIEXYZTRIPLE;
  957. {$EXTERNALSYM CIEXYZTRIPLE}
  958. LPCIEXYZTRIPLE = ^CIEXYZTRIPLE;
  959. {$EXTERNALSYM LPCIEXYZTRIPLE}
  960. TCieXyzTriple = CIEXYZTRIPLE;
  961. // The next structures the logical color space. Unlike pens and brushes,
  962. // but like palettes, there is only one way to create a LogColorSpace.
  963. // A pointer to it must be passed, its elements can't be pushed as
  964. // arguments.
  965. PLogColorSpaceA = ^TLogColorSpaceA;
  966. tagLOGCOLORSPACEA = record
  967. lcsSignature: DWORD;
  968. lcsVersion: DWORD;
  969. lcsSize: DWORD;
  970. lcsCSType: LCSCSTYPE;
  971. lcsIntent: LCSGAMUTMATCH;
  972. lcsEndpoints: CIEXYZTRIPLE;
  973. lcsGammaRed: DWORD;
  974. lcsGammaGreen: DWORD;
  975. lcsGammaBlue: DWORD;
  976. lcsFilename: array [0..MAX_PATH - 1] of CHAR;
  977. end;
  978. {$EXTERNALSYM tagLOGCOLORSPACEA}
  979. LOGCOLORSPACEA = tagLOGCOLORSPACEA;
  980. {$EXTERNALSYM LOGCOLORSPACEA}
  981. LPLOGCOLORSPACEA = ^LOGCOLORSPACEA;
  982. {$EXTERNALSYM LPLOGCOLORSPACEA}
  983. TLogColorSpaceA = LOGCOLORSPACEA;
  984. PLogColorSpaceW = ^TLogColorSpaceW;
  985. tagLOGCOLORSPACEW = record
  986. lcsSignature: DWORD;
  987. lcsVersion: DWORD;
  988. lcsSize: DWORD;
  989. lcsCSType: LCSCSTYPE;
  990. lcsIntent: LCSGAMUTMATCH;
  991. lcsEndpoints: CIEXYZTRIPLE;
  992. lcsGammaRed: DWORD;
  993. lcsGammaGreen: DWORD;
  994. lcsGammaBlue: DWORD;
  995. lcsFilename: array [0..MAX_PATH - 1] of WCHAR;
  996. end;
  997. {$EXTERNALSYM tagLOGCOLORSPACEW}
  998. LOGCOLORSPACEW = tagLOGCOLORSPACEW;
  999. {$EXTERNALSYM LOGCOLORSPACEW}
  1000. LPLOGCOLORSPACEW = ^LOGCOLORSPACEW;
  1001. {$EXTERNALSYM LPLOGCOLORSPACEW}
  1002. TLogColorSpaceW = LOGCOLORSPACEW;
  1003. {$IFDEF UNICODE}
  1004. LOGCOLORSPACE = LOGCOLORSPACEW;
  1005. {$EXTERNALSYM LOGCOLORSPACE}
  1006. LPLOGCOLORSPACE = LPLOGCOLORSPACEW;
  1007. {$EXTERNALSYM LPLOGCOLORSPACE}
  1008. TLogColorSpace = TLogColorSpaceW;
  1009. PLogColorSpace = PLogColorSpaceW;
  1010. {$ELSE}
  1011. LOGCOLORSPACE = LOGCOLORSPACEA;
  1012. {$EXTERNALSYM LOGCOLORSPACE}
  1013. LPLOGCOLORSPACE = LPLOGCOLORSPACEA;
  1014. {$EXTERNALSYM LPLOGCOLORSPACE}
  1015. TLogColorSpace = TLogColorSpaceA;
  1016. PLogColorSpace = PLogColorSpaceA;
  1017. {$ENDIF UNICODE}
  1018. // structures for defining DIBs
  1019. PBitmapCoreHeader = ^TBitmapCoreHeader;
  1020. tagBITMAPCOREHEADER = record
  1021. bcSize: DWORD;
  1022. bcWidth: WORD;
  1023. bcHeight: WORD;
  1024. bcPlanes: WORD;
  1025. bcBitCount: WORD;
  1026. end;
  1027. {$EXTERNALSYM tagBITMAPCOREHEADER}
  1028. BITMAPCOREHEADER = tagBITMAPCOREHEADER;
  1029. {$EXTERNALSYM BITMAPCOREHEADER}
  1030. LPBITMAPCOREHEADER = ^BITMAPCOREHEADER;
  1031. {$EXTERNALSYM LPBITMAPCOREHEADER}
  1032. TBitmapCoreHeader = BITMAPCOREHEADER;
  1033. PBitmapInfoHeader = ^TBitmapInfoHeader;
  1034. tagBITMAPINFOHEADER = record
  1035. biSize: DWORD;
  1036. biWidth: LONG;
  1037. biHeight: LONG;
  1038. biPlanes: WORD;
  1039. biBitCount: WORD;
  1040. biCompression: DWORD;
  1041. biSizeImage: DWORD;
  1042. biXPelsPerMeter: LONG;
  1043. biYPelsPerMeter: LONG;
  1044. biClrUsed: DWORD;
  1045. biClrImportant: DWORD;
  1046. end;
  1047. {$EXTERNALSYM tagBITMAPINFOHEADER}
  1048. BITMAPINFOHEADER = tagBITMAPINFOHEADER;
  1049. {$EXTERNALSYM BITMAPINFOHEADER}
  1050. LPBITMAPINFOHEADER = ^BITMAPINFOHEADER;
  1051. {$EXTERNALSYM LPBITMAPINFOHEADER}
  1052. TBitmapInfoHeader = BITMAPINFOHEADER;
  1053. PBitmapV4Header = ^TBitmapV4Header;
  1054. BITMAPV4HEADER = record
  1055. bV4Size: DWORD;
  1056. bV4Width: LONG;
  1057. bV4Height: LONG;
  1058. bV4Planes: WORD;
  1059. bV4BitCount: WORD;
  1060. bV4V4Compression: DWORD;
  1061. bV4SizeImage: DWORD;
  1062. bV4XPelsPerMeter: LONG;
  1063. bV4YPelsPerMeter: LONG;
  1064. bV4ClrUsed: DWORD;
  1065. bV4ClrImportant: DWORD;
  1066. bV4RedMask: DWORD;
  1067. bV4GreenMask: DWORD;
  1068. bV4BlueMask: DWORD;
  1069. bV4AlphaMask: DWORD;
  1070. bV4CSType: DWORD;
  1071. bV4Endpoints: CIEXYZTRIPLE;
  1072. bV4GammaRed: DWORD;
  1073. bV4GammaGreen: DWORD;
  1074. bV4GammaBlue: DWORD;
  1075. end;
  1076. {$EXTERNALSYM BITMAPV4HEADER}
  1077. LPBITMAPV4HEADER = ^BITMAPV4HEADER;
  1078. {$EXTERNALSYM LPBITMAPV4HEADER}
  1079. TBitmapV4Header = BITMAPV4HEADER;
  1080. PBitmapV5Header = ^TBitmapV5Header;
  1081. BITMAPV5HEADER = record
  1082. bV5Size: DWORD;
  1083. bV5Width: LONG;
  1084. bV5Height: LONG;
  1085. bV5Planes: WORD;
  1086. bV5BitCount: WORD;
  1087. bV5Compression: DWORD;
  1088. bV5SizeImage: DWORD;
  1089. bV5XPelsPerMeter: LONG;
  1090. bV5YPelsPerMeter: LONG;
  1091. bV5ClrUsed: DWORD;
  1092. bV5ClrImportant: DWORD;
  1093. bV5RedMask: DWORD;
  1094. bV5GreenMask: DWORD;
  1095. bV5BlueMask: DWORD;
  1096. bV5AlphaMask: DWORD;
  1097. bV5CSType: DWORD;
  1098. bV5Endpoints: CIEXYZTRIPLE;
  1099. bV5GammaRed: DWORD;
  1100. bV5GammaGreen: DWORD;
  1101. bV5GammaBlue: DWORD;
  1102. bV5Intent: DWORD;
  1103. bV5ProfileData: DWORD;
  1104. bV5ProfileSize: DWORD;
  1105. bV5Reserved: DWORD;
  1106. end;
  1107. {$EXTERNALSYM BITMAPV5HEADER}
  1108. LPBITMAPV5HEADER = ^BITMAPV5HEADER;
  1109. {$EXTERNALSYM LPBITMAPV5HEADER}
  1110. TBitmapV5Header = BITMAPV5HEADER;
  1111. // Values for bV5CSType
  1112. const
  1113. PROFILE_LINKED = 'LINK';
  1114. {$EXTERNALSYM PROFILE_LINKED}
  1115. PROFILE_EMBEDDED = 'MBED';
  1116. {$EXTERNALSYM PROFILE_EMBEDDED}
  1117. // constants for the biCompression field
  1118. BI_RGB = 0;
  1119. {$EXTERNALSYM BI_RGB}
  1120. BI_RLE8 = 1;
  1121. {$EXTERNALSYM BI_RLE8}
  1122. BI_RLE4 = 2;
  1123. {$EXTERNALSYM BI_RLE4}
  1124. BI_BITFIELDS = 3;
  1125. {$EXTERNALSYM BI_BITFIELDS}
  1126. BI_JPEG = 4;
  1127. {$EXTERNALSYM BI_JPEG}
  1128. BI_PNG = 5;
  1129. {$EXTERNALSYM BI_PNG}
  1130. type
  1131. PBitmapInfo = ^TBitmapInfo;
  1132. tagBITMAPINFO = record
  1133. bmiHeader: BITMAPINFOHEADER;
  1134. bmiColors: array [0..0] of RGBQUAD;
  1135. end;
  1136. {$EXTERNALSYM tagBITMAPINFO}
  1137. BITMAPINFO = tagBITMAPINFO;
  1138. {$EXTERNALSYM BITMAPINFO}
  1139. LPBITMAPINFO = ^BITMAPINFO;
  1140. {$EXTERNALSYM LPBITMAPINFO}
  1141. TBitmapInfo = BITMAPINFO;
  1142. PBitmapCoreInfo = ^TBitmapCoreInfo;
  1143. tagBITMAPCOREINFO = record
  1144. bmciHeader: BITMAPCOREHEADER;
  1145. bmciColors: array [0..0] of RGBTRIPLE;
  1146. end;
  1147. {$EXTERNALSYM tagBITMAPCOREINFO}
  1148. BITMAPCOREINFO = tagBITMAPCOREINFO;
  1149. {$EXTERNALSYM BITMAPCOREINFO}
  1150. LPBITMAPCOREINFO = ^BITMAPCOREINFO;
  1151. {$EXTERNALSYM LPBITMAPCOREINFO}
  1152. TBitmapCoreInfo = BITMAPCOREINFO;
  1153. // #include <pshpack2.h>
  1154. PBitmapFileHeader = ^TBitmapFileHeader;
  1155. tagBITMAPFILEHEADER = packed record
  1156. bfType: WORD;
  1157. bfSize: DWORD;
  1158. bfReserved1: WORD;
  1159. bfReserved2: WORD;
  1160. bfOffBits: DWORD;
  1161. end;
  1162. {$EXTERNALSYM tagBITMAPFILEHEADER}
  1163. BITMAPFILEHEADER = tagBITMAPFILEHEADER;
  1164. {$EXTERNALSYM BITMAPFILEHEADER}
  1165. LPBITMAPFILEHEADER = ^BITMAPFILEHEADER;
  1166. {$EXTERNALSYM BITMAPFILEHEADER}
  1167. TBitmapFileHeader = BITMAPFILEHEADER;
  1168. // #include <poppack.h>
  1169. function MAKEPOINTS(l: DWORD): POINTS;
  1170. {$EXTERNALSYM MAKEPOINTS}
  1171. type
  1172. PFontSignature = ^TFontSignature;
  1173. tagFONTSIGNATURE = record
  1174. fsUsb: array [0..3] of DWORD;
  1175. fsCsb: array [0..1] of DWORD;
  1176. end;
  1177. {$EXTERNALSYM tagFONTSIGNATURE}
  1178. FONTSIGNATURE = tagFONTSIGNATURE;
  1179. {$EXTERNALSYM FONTSIGNATURE}
  1180. LPFONTSIGNATURE = ^FONTSIGNATURE;
  1181. {$EXTERNALSYM LPFONTSIGNATURE}
  1182. TFontSignature = FONTSIGNATURE;
  1183. PCharSetInfo = ^TCharSetInfo;
  1184. tagCHARSETINFO = record
  1185. ciCharset: UINT;
  1186. ciACP: UINT;
  1187. fs: FONTSIGNATURE;
  1188. end;
  1189. {$EXTERNALSYM tagCHARSETINFO}
  1190. CHARSETINFO = tagCHARSETINFO;
  1191. {$EXTERNALSYM CHARSETINFO}
  1192. LPCHARSETINFO = ^CHARSETINFO;
  1193. {$EXTERNALSYM LPCHARSETINFO}
  1194. NPCHARSETINFO = ^CHARSETINFO;
  1195. {$EXTERNALSYM NPCHARSETINFO}
  1196. TCharSetInfo = CHARSETINFO;
  1197. const
  1198. TCI_SRCCHARSET = 1;
  1199. {$EXTERNALSYM TCI_SRCCHARSET}
  1200. TCI_SRCCODEPAGE = 2;
  1201. {$EXTERNALSYM TCI_SRCCODEPAGE}
  1202. TCI_SRCFONTSIG = 3;
  1203. {$EXTERNALSYM TCI_SRCFONTSIG}
  1204. TCI_SRCLOCALE = $1000;
  1205. {$EXTERNALSYM TCI_SRCLOCALE}
  1206. type
  1207. PLocaleSignature = ^TLocaleSignature;
  1208. tagLOCALESIGNATURE = record
  1209. lsUsb: array [0..3] of DWORD;
  1210. lsCsbDefault: array [0..1] of DWORD;
  1211. lsCsbSupported: array [0..1] of DWORD;
  1212. end;
  1213. {$EXTERNALSYM tagLOCALESIGNATURE}
  1214. LOCALESIGNATURE = tagLOCALESIGNATURE;
  1215. {$EXTERNALSYM LOCALESIGNATURE}
  1216. LPLOCALESIGNATURE = ^LOCALESIGNATURE;
  1217. {$EXTERNALSYM LPLOCALESIGNATURE}
  1218. TLocaleSignature = LOCALESIGNATURE;
  1219. // Clipboard Metafile Picture Structure
  1220. PHandleTable = ^THandleTable;
  1221. tagHANDLETABLE = record
  1222. objectHandle: array [0..0] of HGDIOBJ;
  1223. end;
  1224. {$EXTERNALSYM tagHANDLETABLE}
  1225. HANDLETABLE = tagHANDLETABLE;
  1226. {$EXTERNALSYM HANDLETABLE}
  1227. LPHANDLETABLE = ^HANDLETABLE;
  1228. {$EXTERNALSYM LPHANDLETABLE}
  1229. THandleTable = HANDLETABLE;
  1230. PMetaRecord = ^TMetaRecord;
  1231. tagMETARECORD = record
  1232. rdSize: DWORD;
  1233. rdFunction: WORD;
  1234. rdParm: array [0..0] of WORD;
  1235. end;
  1236. {$EXTERNALSYM tagMETARECORD}
  1237. METARECORD = tagMETARECORD;
  1238. {$EXTERNALSYM METARECORD}
  1239. LPMETARECORD = ^METARECORD;
  1240. {$EXTERNALSYM LPMETARECORD}
  1241. TMetaRecord = METARECORD;
  1242. PMetaFilePict = ^TMetaFilePict;
  1243. tagMETAFILEPICT = record
  1244. mm: LONG;
  1245. xExt: LONG;
  1246. yExt: LONG;
  1247. hMF: HMETAFILE;
  1248. end;
  1249. {$EXTERNALSYM tagMETAFILEPICT}
  1250. METAFILEPICT = tagMETAFILEPICT;
  1251. {$EXTERNALSYM METAFILEPICT}
  1252. LPMETAFILEPICT = ^METAFILEPICT;
  1253. {$EXTERNALSYM LPMETAFILEPICT}
  1254. TMetaFilePict = METAFILEPICT;
  1255. // #include <pshpack2.h>
  1256. PMetaHeader = ^TMetaHeader;
  1257. tagMETAHEADER = packed record
  1258. mtType: WORD;
  1259. mtHeaderSize: WORD;
  1260. mtVersion: WORD;
  1261. mtSize: DWORD;
  1262. mtNoObjects: WORD;
  1263. mtMaxRecord: DWORD;
  1264. mtNoParameters: WORD;
  1265. end;
  1266. {$EXTERNALSYM tagMETAHEADER}
  1267. METAHEADER = tagMETAHEADER;
  1268. {$EXTERNALSYM METAHEADER}
  1269. LPMETAHEADER = ^METAHEADER;
  1270. {$EXTERNALSYM LPMETAHEADER}
  1271. TMetaHeader = METAHEADER;
  1272. // #include <poppack.h>
  1273. // Enhanced Metafile structures
  1274. PEnhMetaRecord = ^TEnhMetaRecord;
  1275. tagENHMETARECORD = record
  1276. iType: DWORD; // Record type EMR_XXX
  1277. nSize: DWORD; // Record size in bytes
  1278. dParm: array [0..0] of DWORD; // Parameters
  1279. end;
  1280. {$EXTERNALSYM tagENHMETARECORD}
  1281. ENHMETARECORD = tagENHMETARECORD;
  1282. {$EXTERNALSYM ENHMETARECORD}
  1283. LPENHMETARECORD = ^ENHMETARECORD;
  1284. {$EXTERNALSYM LPENHMETARECORD}
  1285. TEnhMetaRecord = ENHMETARECORD;
  1286. PEnhMetaHeader = ^TEnhMetaHeader;
  1287. tagENHMETAHEADER = record
  1288. iType: DWORD; // Record type EMR_HEADER
  1289. nSize: DWORD; // Record size in bytes. This may be greater
  1290. // than the sizeof(ENHMETAHEADER).
  1291. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  1292. rclFrame: RECTL; // Inclusive-inclusive Picture Frame of metafile in .01 mm units
  1293. dSignature: DWORD; // Signature. Must be ENHMETA_SIGNATURE.
  1294. nVersion: DWORD; // Version number
  1295. nBytes: DWORD; // Size of the metafile in bytes
  1296. nRecords: DWORD; // Number of records in the metafile
  1297. nHandles: WORD; // Number of handles in the handle table
  1298. // Handle index zero is reserved.
  1299. sReserved: WORD; // Reserved. Must be zero.
  1300. nDescription: DWORD; // Number of chars in the unicode description string
  1301. // This is 0 if there is no description string
  1302. offDescription: DWORD; // Offset to the metafile description record.
  1303. // This is 0 if there is no description string
  1304. nPalEntries: DWORD; // Number of entries in the metafile palette.
  1305. szlDevice: SIZEL; // Size of the reference device in pels
  1306. szlMillimeters: SIZEL; // Size of the reference device in millimeters
  1307. cbPixelFormat: DWORD; // Size of PIXELFORMATDESCRIPTOR information
  1308. // This is 0 if no pixel format is set
  1309. offPixelFormat: DWORD; // Offset to PIXELFORMATDESCRIPTOR
  1310. // This is 0 if no pixel format is set
  1311. bOpenGL: DWORD; // TRUE if OpenGL commands are present in
  1312. // the metafile, otherwise FALSE
  1313. {$IFDEF WIN98ME_UP}
  1314. szlMicrometers: SIZEL; // Size of the reference device in micrometers
  1315. {$ENDIF WIN98ME_UP}
  1316. end;
  1317. {$EXTERNALSYM tagENHMETAHEADER}
  1318. ENHMETAHEADER = tagENHMETAHEADER;
  1319. {$EXTERNALSYM ENHMETAHEADER}
  1320. LPENHMETAHEADER = ^ENHMETAHEADER;
  1321. {$EXTERNALSYM LPENHMETAHEADER}
  1322. TEnhMetaHeader = tagENHMETAHEADER;
  1323. // tmPitchAndFamily flags
  1324. const
  1325. TMPF_FIXED_PITCH = $01;
  1326. {$EXTERNALSYM TMPF_FIXED_PITCH}
  1327. TMPF_VECTOR = $02;
  1328. {$EXTERNALSYM TMPF_VECTOR}
  1329. TMPF_DEVICE = $08;
  1330. {$EXTERNALSYM TMPF_DEVICE}
  1331. TMPF_TRUETYPE = $04;
  1332. {$EXTERNALSYM TMPF_TRUETYPE}
  1333. //
  1334. // BCHAR definition for APPs
  1335. //
  1336. type
  1337. {$IFDEF UNICODE}
  1338. BCHAR = WCHAR;
  1339. {$EXTERNALSYM BCHAR}
  1340. {$ELSE}
  1341. BCHAR = BYTE;
  1342. {$EXTERNALSYM BCHAR}
  1343. {$ENDIF UNICODE}
  1344. type
  1345. PTextMetricA = ^TTextMetricA;
  1346. tagTEXTMETRICA = record
  1347. tmHeight: LONG;
  1348. tmAscent: LONG;
  1349. tmDescent: LONG;
  1350. tmInternalLeading: LONG;
  1351. tmExternalLeading: LONG;
  1352. tmAveCharWidth: LONG;
  1353. tmMaxCharWidth: LONG;
  1354. tmWeight: LONG;
  1355. tmOverhang: LONG;
  1356. tmDigitizedAspectX: LONG;
  1357. tmDigitizedAspectY: LONG;
  1358. tmFirstChar: BYTE;
  1359. tmLastChar: BYTE;
  1360. tmDefaultChar: BYTE;
  1361. tmBreakChar: BYTE;
  1362. tmItalic: BYTE;
  1363. tmUnderlined: BYTE;
  1364. tmStruckOut: BYTE;
  1365. tmPitchAndFamily: BYTE;
  1366. tmCharSet: BYTE;
  1367. end;
  1368. {$EXTERNALSYM tagTEXTMETRICA}
  1369. TEXTMETRICA = tagTEXTMETRICA;
  1370. {$EXTERNALSYM TEXTMETRICA}
  1371. LPTEXTMETRICA = ^TEXTMETRICA;
  1372. {$EXTERNALSYM LPTEXTMETRICA}
  1373. NPTEXTMETRICA = ^TEXTMETRICA;
  1374. {$EXTERNALSYM NPTEXTMETRICA}
  1375. TTextMetricA = TEXTMETRICA;
  1376. PTextMetricW = ^TTextMetricW;
  1377. tagTEXTMETRICW = record
  1378. tmHeight: LONG;
  1379. tmAscent: LONG;
  1380. tmDescent: LONG;
  1381. tmInternalLeading: LONG;
  1382. tmExternalLeading: LONG;
  1383. tmAveCharWidth: LONG;
  1384. tmMaxCharWidth: LONG;
  1385. tmWeight: LONG;
  1386. tmOverhang: LONG;
  1387. tmDigitizedAspectX: LONG;
  1388. tmDigitizedAspectY: LONG;
  1389. tmFirstChar: WCHAR;
  1390. tmLastChar: WCHAR;
  1391. tmDefaultChar: WCHAR;
  1392. tmBreakChar: WCHAR;
  1393. tmItalic: BYTE;
  1394. tmUnderlined: BYTE;
  1395. tmStruckOut: BYTE;
  1396. tmPitchAndFamily: BYTE;
  1397. tmCharSet: BYTE;
  1398. end;
  1399. {$EXTERNALSYM tagTEXTMETRICW}
  1400. TEXTMETRICW = tagTEXTMETRICW;
  1401. {$EXTERNALSYM TEXTMETRICW}
  1402. LPTEXTMETRICW = ^TEXTMETRICW;
  1403. {$EXTERNALSYM LPTEXTMETRICW}
  1404. NPTEXTMETRICW = ^TEXTMETRICW;
  1405. {$EXTERNALSYM NPTEXTMETRICW}
  1406. TTextMetricW = TEXTMETRICW;
  1407. {$IFDEF UNICODE}
  1408. TEXTMETRIC = TEXTMETRICW;
  1409. {$EXTERNALSYM TEXTMETRIC}
  1410. PTEXTMETRIC = PTEXTMETRICW;
  1411. {$EXTERNALSYM PTEXTMETRIC}
  1412. NPTEXTMETRIC = NPTEXTMETRICW;
  1413. {$EXTERNALSYM NPTEXTMETRIC}
  1414. LPTEXTMETRIC = LPTEXTMETRICW;
  1415. {$EXTERNALSYM LPTEXTMETRIC}
  1416. TTextMetric = TTextMetricW;
  1417. {$ELSE}
  1418. TEXTMETRIC = TEXTMETRICA;
  1419. {$EXTERNALSYM TEXTMETRIC}
  1420. NPTEXTMETRIC = NPTEXTMETRICA;
  1421. {$EXTERNALSYM NPTEXTMETRIC}
  1422. LPTEXTMETRIC = LPTEXTMETRICA;
  1423. {$EXTERNALSYM LPTEXTMETRIC}
  1424. TTextMetric = TTextMetricA;
  1425. {$ENDIF UNICODE}
  1426. // ntmFlags field flags
  1427. const
  1428. NTM_REGULAR = $00000040;
  1429. {$EXTERNALSYM NTM_REGULAR}
  1430. NTM_BOLD = $00000020;
  1431. {$EXTERNALSYM NTM_BOLD}
  1432. NTM_ITALIC = $00000001;
  1433. {$EXTERNALSYM NTM_ITALIC}
  1434. // new in NT 5.0
  1435. NTM_NONNEGATIVE_AC = $00010000;
  1436. {$EXTERNALSYM NTM_NONNEGATIVE_AC}
  1437. NTM_PS_OPENTYPE = $00020000;
  1438. {$EXTERNALSYM NTM_PS_OPENTYPE}
  1439. NTM_TT_OPENTYPE = $00040000;
  1440. {$EXTERNALSYM NTM_TT_OPENTYPE}
  1441. NTM_MULTIPLEMASTER = $00080000;
  1442. {$EXTERNALSYM NTM_MULTIPLEMASTER}
  1443. NTM_TYPE1 = $00100000;
  1444. {$EXTERNALSYM NTM_TYPE1}
  1445. NTM_DSIG = $00200000;
  1446. {$EXTERNALSYM NTM_DSIG}
  1447. // #include <pshpack4.h>
  1448. type
  1449. PNewTextMetricA = ^TNewTextMetricA;
  1450. tagNEWTEXTMETRICA = record
  1451. tmHeight: LONG;
  1452. tmAscent: LONG;
  1453. tmDescent: LONG;
  1454. tmInternalLeading: LONG;
  1455. tmExternalLeading: LONG;
  1456. tmAveCharWidth: LONG;
  1457. tmMaxCharWidth: LONG;
  1458. tmWeight: LONG;
  1459. tmOverhang: LONG;
  1460. tmDigitizedAspectX: LONG;
  1461. tmDigitizedAspectY: LONG;
  1462. tmFirstChar: BYTE;
  1463. tmLastChar: BYTE;
  1464. tmDefaultChar: BYTE;
  1465. tmBreakChar: BYTE;
  1466. tmItalic: BYTE;
  1467. tmUnderlined: BYTE;
  1468. tmStruckOut: BYTE;
  1469. tmPitchAndFamily: BYTE;
  1470. tmCharSet: BYTE;
  1471. ntmFlags: DWORD;
  1472. ntmSizeEM: UINT;
  1473. ntmCellHeight: UINT;
  1474. ntmAvgWidth: UINT;
  1475. end;
  1476. {$EXTERNALSYM tagNEWTEXTMETRICA}
  1477. NEWTEXTMETRICA = tagNEWTEXTMETRICA;
  1478. {$EXTERNALSYM NEWTEXTMETRICA}
  1479. LPNEWTEXTMETRICA = ^NEWTEXTMETRICA;
  1480. {$EXTERNALSYM LPNEWTEXTMETRICA}
  1481. NPNEWTEXTMETRICA = ^NEWTEXTMETRICA;
  1482. {$EXTERNALSYM NPNEWTEXTMETRICA}
  1483. TNewTextMetricA = NEWTEXTMETRICA;
  1484. PNewTextMetricW = ^TNewTextMetricW;
  1485. tagNEWTEXTMETRICW = record
  1486. tmHeight: LONG;
  1487. tmAscent: LONG;
  1488. tmDescent: LONG;
  1489. tmInternalLeading: LONG;
  1490. tmExternalLeading: LONG;
  1491. tmAveCharWidth: LONG;
  1492. tmMaxCharWidth: LONG;
  1493. tmWeight: LONG;
  1494. tmOverhang: LONG;
  1495. tmDigitizedAspectX: LONG;
  1496. tmDigitizedAspectY: LONG;
  1497. tmFirstChar: WCHAR;
  1498. tmLastChar: WCHAR;
  1499. tmDefaultChar: WCHAR;
  1500. tmBreakChar: WCHAR;
  1501. tmItalic: BYTE;
  1502. tmUnderlined: BYTE;
  1503. tmStruckOut: BYTE;
  1504. tmPitchAndFamily: BYTE;
  1505. tmCharSet: BYTE;
  1506. ntmFlags: DWORD;
  1507. ntmSizeEM: UINT;
  1508. ntmCellHeight: UINT;
  1509. ntmAvgWidth: UINT;
  1510. end;
  1511. {$EXTERNALSYM tagNEWTEXTMETRICW}
  1512. NEWTEXTMETRICW = tagNEWTEXTMETRICW;
  1513. {$EXTERNALSYM NEWTEXTMETRICW}
  1514. LPNEWTEXTMETRICW = ^NEWTEXTMETRICW;
  1515. {$EXTERNALSYM LPNEWTEXTMETRICW}
  1516. NPNEWTEXTMETRICW = ^NEWTEXTMETRICW;
  1517. {$EXTERNALSYM NPNEWTEXTMETRICW}
  1518. TNewTextMetricW = NEWTEXTMETRICW;
  1519. {$IFDEF UNICODE}
  1520. NEWTEXTMETRIC = NEWTEXTMETRICW;
  1521. {$EXTERNALSYM NEWTEXTMETRIC}
  1522. PNEWTEXTMETRIC = PNEWTEXTMETRICW;
  1523. {$EXTERNALSYM PNEWTEXTMETRIC}
  1524. NPNEWTEXTMETRIC = NPNEWTEXTMETRICW;
  1525. {$EXTERNALSYM NPNEWTEXTMETRIC}
  1526. LPNEWTEXTMETRIC = LPNEWTEXTMETRICW;
  1527. {$EXTERNALSYM LPNEWTEXTMETRIC}
  1528. TNewTextMetric = TNewTextMetricW;
  1529. {$ELSE}
  1530. NEWTEXTMETRIC = NEWTEXTMETRICW;
  1531. {$EXTERNALSYM NEWTEXTMETRIC}
  1532. PNEWTEXTMETRIC = PNEWTEXTMETRICW;
  1533. {$EXTERNALSYM PNEWTEXTMETRIC}
  1534. NPNEWTEXTMETRIC = NPNEWTEXTMETRICW;
  1535. {$EXTERNALSYM NPNEWTEXTMETRIC}
  1536. LPNEWTEXTMETRIC = LPNEWTEXTMETRICW;
  1537. {$EXTERNALSYM LPNEWTEXTMETRIC}
  1538. TNewTextMetric = TNewTextMetricW;
  1539. {$ENDIF UNICODE}
  1540. // #include <poppack.h>
  1541. PNewTextMetricExA = ^TNewTextMetricExA;
  1542. tagNEWTEXTMETRICEXA = record
  1543. ntmTm: NEWTEXTMETRICA;
  1544. ntmFontSig: FONTSIGNATURE;
  1545. end;
  1546. {$EXTERNALSYM tagNEWTEXTMETRICEXA}
  1547. NEWTEXTMETRICEXA = tagNEWTEXTMETRICEXA;
  1548. {$EXTERNALSYM NEWTEXTMETRICEXA}
  1549. TNewTextMetricExA = NEWTEXTMETRICEXA;
  1550. PNewTextMetricExW = ^TNewTextMetricExW;
  1551. tagNEWTEXTMETRICEXW = record
  1552. ntmTm: NEWTEXTMETRICW;
  1553. ntmFontSig: FONTSIGNATURE;
  1554. end;
  1555. {$EXTERNALSYM tagNEWTEXTMETRICEXW}
  1556. NEWTEXTMETRICEXW = tagNEWTEXTMETRICEXW;
  1557. {$EXTERNALSYM NEWTEXTMETRICEXW}
  1558. TNewTextMetricExW = NEWTEXTMETRICEXW;
  1559. {$IFDEF UNICODE}
  1560. NEWTEXTMETRICEX = NEWTEXTMETRICEXW;
  1561. {$EXTERNALSYM NEWTEXTMETRICEX}
  1562. TNewTextMetricEx = TNewTextMetricExW;
  1563. PNewTextMetricEx = PNewTextMetricExW;
  1564. {$ELSE}
  1565. NEWTEXTMETRICEX = NEWTEXTMETRICEXA;
  1566. {$EXTERNALSYM NEWTEXTMETRICEX}
  1567. TNewTextMetricEx = TNewTextMetricExA;
  1568. PNewTextMetricEx = PNewTextMetricExA;
  1569. {$ENDIF UNICODE}
  1570. // GDI Logical Objects:
  1571. // Pel Array
  1572. PPelArray = ^TPelArray;
  1573. tagPELARRAY = record
  1574. paXCount: LONG;
  1575. paYCount: LONG;
  1576. paXExt: LONG;
  1577. paYExt: LONG;
  1578. paRGBs: BYTE;
  1579. end;
  1580. {$EXTERNALSYM tagPELARRAY}
  1581. PELARRAY = tagPELARRAY;
  1582. {$EXTERNALSYM PELARRAY}
  1583. LPPELARRAY = ^PELARRAY;
  1584. {$EXTERNALSYM LPPELARRAY}
  1585. TPelArray = PELARRAY;
  1586. // Logical Brush (or Pattern)
  1587. PLogBrush = ^TLogBrush;
  1588. tagLOGBRUSH = record
  1589. lbStyle: UINT;
  1590. lbColor: COLORREF;
  1591. lbHatch: ULONG_PTR; // Sundown: lbHatch could hold a HANDLE
  1592. end;
  1593. {$EXTERNALSYM tagLOGBRUSH}
  1594. LOGBRUSH = tagLOGBRUSH;
  1595. {$EXTERNALSYM LOGBRUSH}
  1596. LPLOGBRUSH = ^LOGBRUSH;
  1597. {$EXTERNALSYM LPLOGBRUSH}
  1598. NPLOGBRUSH = ^LOGBRUSH;
  1599. {$EXTERNALSYM NPLOGBRUSH}
  1600. TLogBrush = LOGBRUSH;
  1601. PLogBrush32 = ^TLogBrush32;
  1602. tagLOGBRUSH32 = record
  1603. lbStyle: UINT;
  1604. lbColor: COLORREF;
  1605. lbHatch: ULONG;
  1606. end;
  1607. {$EXTERNALSYM tagLOGBRUSH32}
  1608. LOGBRUSH32 = tagLOGBRUSH32;
  1609. {$EXTERNALSYM LOGBRUSH32}
  1610. LPLOGBRUSH32 = ^LOGBRUSH32;
  1611. {$EXTERNALSYM LPLOGBRUSH32}
  1612. NPLOGBRUSH32 = ^LOGBRUSH32;
  1613. {$EXTERNALSYM NPLOGBRUSH32}
  1614. TLogBrush32 = LOGBRUSH32;
  1615. PATTERN = LOGBRUSH;
  1616. {$EXTERNALSYM PATTERN}
  1617. PPATTERN = ^PATTERN;
  1618. {$EXTERNALSYM PPATTERN}
  1619. LPPATTERN = ^PATTERN;
  1620. {$EXTERNALSYM LPPATTERN}
  1621. NPPATTERN = ^PATTERN;
  1622. {$EXTERNALSYM NPPATTERN}
  1623. // Logical Pen
  1624. PLogPen = ^TLogPen;
  1625. tagLOGPEN = record
  1626. lopnStyle: UINT;
  1627. lopnWidth: POINT;
  1628. lopnColor: COLORREF;
  1629. end;
  1630. {$EXTERNALSYM tagLOGPEN}
  1631. LOGPEN = tagLOGPEN;
  1632. {$EXTERNALSYM LOGPEN}
  1633. LPLOGPEN = ^LOGPEN;
  1634. {$EXTERNALSYM LPLOGPEN}
  1635. NPLOGPEN = ^LOGPEN;
  1636. {$EXTERNALSYM NPLOGPEN}
  1637. TLogPen = LOGPEN;
  1638. PExtLogPen = ^TExtLogPen;
  1639. tagEXTLOGPEN = record
  1640. elpPenStyle: DWORD;
  1641. elpWidth: DWORD;
  1642. elpBrushStyle: UINT;
  1643. elpColor: COLORREF;
  1644. elpHatch: ULONG_PTR; // Sundown: elpHatch could take a HANDLE
  1645. elpNumEntries: DWORD;
  1646. elpStyleEntry: array [0..0] of DWORD;
  1647. end;
  1648. {$EXTERNALSYM tagEXTLOGPEN}
  1649. EXTLOGPEN = tagEXTLOGPEN;
  1650. {$EXTERNALSYM EXTLOGPEN}
  1651. LPEXTLOGPEN = ^EXTLOGPEN;
  1652. {$EXTERNALSYM LPEXTLOGPEN}
  1653. NPEXTLOGPEN = ^EXTLOGPEN;
  1654. {$EXTERNALSYM NPEXTLOGPEN}
  1655. TExtLogPen = EXTLOGPEN;
  1656. PPaletteEntry = ^TPaletteEntry;
  1657. tagPALETTEENTRY = record
  1658. peRed: BYTE;
  1659. peGreen: BYTE;
  1660. peBlue: BYTE;
  1661. peFlags: BYTE;
  1662. end;
  1663. {$EXTERNALSYM tagPALETTEENTRY}
  1664. PALETTEENTRY = tagPALETTEENTRY;
  1665. {$EXTERNALSYM PALETTEENTRY}
  1666. LPPALETTEENTRY = ^PALETTEENTRY;
  1667. {$EXTERNALSYM LPPALETTEENTRY}
  1668. TPaletteEntry = PALETTEENTRY;
  1669. // Logical Palette
  1670. PLogPalette = ^TLogPalette;
  1671. tagLOGPALETTE = record
  1672. palVersion: WORD;
  1673. palNumEntries: WORD;
  1674. palPalEntry: array [0..0] of PALETTEENTRY;
  1675. end;
  1676. {$EXTERNALSYM tagLOGPALETTE}
  1677. LOGPALETTE = tagLOGPALETTE;
  1678. {$EXTERNALSYM LOGPALETTE}
  1679. LPLOGPALETTE = ^LOGPALETTE;
  1680. {$EXTERNALSYM LPLOGPALETTE}
  1681. NPLOGPALETTE = ^LOGPALETTE;
  1682. {$EXTERNALSYM NPLOGPALETTE}
  1683. TLogPalette = LOGPALETTE;
  1684. // Logical Font
  1685. const
  1686. LF_FACESIZE = 32;
  1687. {$EXTERNALSYM LF_FACESIZE}
  1688. type
  1689. PLogFontA = ^TLogFontA;
  1690. tagLOGFONTA = record
  1691. lfHeight: LONG;
  1692. lfWidth: LONG;
  1693. lfEscapement: LONG;
  1694. lfOrientation: LONG;
  1695. lfWeight: LONG;
  1696. lfItalic: BYTE;
  1697. lfUnderline: BYTE;
  1698. lfStrikeOut: BYTE;
  1699. lfCharSet: BYTE;
  1700. lfOutPrecision: BYTE;
  1701. lfClipPrecision: BYTE;
  1702. lfQuality: BYTE;
  1703. lfPitchAndFamily: BYTE;
  1704. lfFaceName: array [0..LF_FACESIZE - 1] of CHAR;
  1705. end;
  1706. {$EXTERNALSYM tagLOGFONTA}
  1707. LOGFONTA = tagLOGFONTA;
  1708. {$EXTERNALSYM LOGFONTA}
  1709. LPLOGFONTA = ^LOGFONTA;
  1710. {$EXTERNALSYM LPLOGFONTA}
  1711. NPLOGFONTA = ^LOGFONTA;
  1712. {$EXTERNALSYM NPLOGFONTA}
  1713. TLogFontA = LOGFONTA;
  1714. PLogFontW = ^TLogFontW;
  1715. tagLOGFONTW = record
  1716. lfHeight: LONG;
  1717. lfWidth: LONG;
  1718. lfEscapement: LONG;
  1719. lfOrientation: LONG;
  1720. lfWeight: LONG;
  1721. lfItalic: BYTE;
  1722. lfUnderline: BYTE;
  1723. lfStrikeOut: BYTE;
  1724. lfCharSet: BYTE;
  1725. lfOutPrecision: BYTE;
  1726. lfClipPrecision: BYTE;
  1727. lfQuality: BYTE;
  1728. lfPitchAndFamily: BYTE;
  1729. lfFaceName: array [0..LF_FACESIZE - 1] of WCHAR;
  1730. end;
  1731. {$EXTERNALSYM tagLOGFONTW}
  1732. LOGFONTW = tagLOGFONTW;
  1733. {$EXTERNALSYM LOGFONTW}
  1734. LPLOGFONTW = ^LOGFONTW;
  1735. {$EXTERNALSYM LPLOGFONTW}
  1736. NPLOGFONTW = ^LOGFONTW;
  1737. {$EXTERNALSYM NPLOGFONTW}
  1738. TLogFontW = LOGFONTW;
  1739. {$IFDEF UNICODE}
  1740. LOGFONT = LOGFONTW;
  1741. {$EXTERNALSYM LOGFONT}
  1742. PLOGFONT = PLOGFONTW;
  1743. {$EXTERNALSYM PLOGFONT}
  1744. NPLOGFONT = NPLOGFONTW;
  1745. {$EXTERNALSYM NPLOGFONT}
  1746. LPLOGFONT = LPLOGFONTW;
  1747. {$EXTERNALSYM LPLOGFONT}
  1748. TLogFont = TLogFontW;
  1749. {$ELSE}
  1750. LOGFONT = LOGFONTA;
  1751. {$EXTERNALSYM LOGFONT}
  1752. PLOGFONT = PLOGFONTA;
  1753. {$EXTERNALSYM PLOGFONT}
  1754. NPLOGFONT = NPLOGFONTA;
  1755. {$EXTERNALSYM NPLOGFONT}
  1756. LPLOGFONT = LPLOGFONTA;
  1757. {$EXTERNALSYM LPLOGFONT}
  1758. TLogFont = TLogFontA;
  1759. {$ENDIF UNICODE}
  1760. const
  1761. LF_FULLFACESIZE = 64;
  1762. {$EXTERNALSYM LF_FULLFACESIZE}
  1763. // Structure passed to FONTENUMPROC
  1764. type
  1765. PEnumLogFontA = ^TEnumLogFontA;
  1766. tagENUMLOGFONTA = record
  1767. elfLogFont: LOGFONTA;
  1768. elfFullName: array [ 0..LF_FULLFACESIZE - 1] of BYTE;
  1769. elfStyle: array [0..LF_FACESIZE - 1] of BYTE;
  1770. end;
  1771. {$EXTERNALSYM tagENUMLOGFONTA}
  1772. ENUMLOGFONTA = tagENUMLOGFONTA;
  1773. {$EXTERNALSYM ENUMLOGFONTA}
  1774. LPENUMLOGFONTA = ^ENUMLOGFONTA;
  1775. {$EXTERNALSYM LPENUMLOGFONTA}
  1776. TEnumLogFontA = ENUMLOGFONTA;
  1777. // Structure passed to FONTENUMPROC
  1778. PEnumLogFontW = ^TEnumLogFontW;
  1779. tagENUMLOGFONTW = record
  1780. elfLogFont: LOGFONTW;
  1781. elfFullName: array [0..LF_FULLFACESIZE - 1] of WCHAR;
  1782. elfStyle: array [0..LF_FACESIZE - 1] of WCHAR;
  1783. end;
  1784. {$EXTERNALSYM tagENUMLOGFONTW}
  1785. ENUMLOGFONTW = tagENUMLOGFONTW;
  1786. {$EXTERNALSYM ENUMLOGFONTW}
  1787. LPENUMLOGFONTW = ^ENUMLOGFONTW;
  1788. {$EXTERNALSYM LPENUMLOGFONTW}
  1789. TEnumLogFontW = ENUMLOGFONTW;
  1790. {$IFDEF UNICODE}
  1791. ENUMLOGFONT = ENUMLOGFONTW;
  1792. {$EXTERNALSYM ENUMLOGFONT}
  1793. LPENUMLOGFONT = LPENUMLOGFONTW;
  1794. {$EXTERNALSYM LPENUMLOGFONT}
  1795. TEnumLogFont = TEnumLogFontW;
  1796. PEnumLogFont = PEnumLogFontW;
  1797. {$ELSE}
  1798. ENUMLOGFONT = ENUMLOGFONTA;
  1799. {$EXTERNALSYM ENUMLOGFONT}
  1800. LPENUMLOGFONT = LPENUMLOGFONTA;
  1801. {$EXTERNALSYM LPENUMLOGFONT}
  1802. TEnumLogFont = TEnumLogFontA;
  1803. PEnumLogFont = PEnumLogFontA;
  1804. {$ENDIF UNICODE}
  1805. PEnumLogFontExA = ^TEnumLogFontExA;
  1806. tagENUMLOGFONTEXA = record
  1807. elfLogFont: LOGFONTA;
  1808. elfFullName: array [0..LF_FULLFACESIZE - 1] of BYTE;
  1809. elfStyle: array [0..LF_FACESIZE - 1] of BYTE;
  1810. elfScript: array [0..LF_FACESIZE - 1] of BYTE;
  1811. end;
  1812. {$EXTERNALSYM tagENUMLOGFONTEXA}
  1813. ENUMLOGFONTEXA = tagENUMLOGFONTEXA;
  1814. {$EXTERNALSYM ENUMLOGFONTEXA}
  1815. LPENUMLOGFONTEXA = ^ENUMLOGFONTEXA;
  1816. {$EXTERNALSYM LPENUMLOGFONTEXA}
  1817. TEnumLogFontExA = ENUMLOGFONTEXA;
  1818. PEnumLogFontExW = ^TEnumLogFontExW;
  1819. tagENUMLOGFONTEXW = record
  1820. elfLogFont: LOGFONTW;
  1821. elfFullName: array [0..LF_FULLFACESIZE - 1] of WCHAR;
  1822. elfStyle: array [0..LF_FACESIZE - 1] of WCHAR;
  1823. elfScript: array [0..LF_FACESIZE - 1] of WCHAR;
  1824. end;
  1825. {$EXTERNALSYM tagENUMLOGFONTEXW}
  1826. ENUMLOGFONTEXW = tagENUMLOGFONTEXW;
  1827. {$EXTERNALSYM ENUMLOGFONTEXW}
  1828. LPENUMLOGFONTEXW = ^ENUMLOGFONTEXW;
  1829. {$EXTERNALSYM LPENUMLOGFONTEXW}
  1830. TEnumLogFontExW = ENUMLOGFONTEXW;
  1831. {$IFDEF UNICODE}
  1832. ENUMLOGFONTEX = ENUMLOGFONTEXW;
  1833. {$EXTERNALSYM ENUMLOGFONTEX}
  1834. LPENUMLOGFONTEX = LPENUMLOGFONTEXW;
  1835. {$EXTERNALSYM LPENUMLOGFONTEX}
  1836. TEnumLogFontEx = TEnumLogFontExW;
  1837. PEnumLogFontEx = PEnumLogFontExW;
  1838. {$ELSE}
  1839. ENUMLOGFONTEX = ENUMLOGFONTEXA;
  1840. {$EXTERNALSYM ENUMLOGFONTEX}
  1841. LPENUMLOGFONTEX = LPENUMLOGFONTEXA;
  1842. {$EXTERNALSYM LPENUMLOGFONTEX}
  1843. TEnumLogFontEx = TEnumLogFontExA;
  1844. PEnumLogFontEx = PEnumLogFontExA;
  1845. {$ENDIF UNICODE}
  1846. const
  1847. OUT_DEFAULT_PRECIS = 0;
  1848. {$EXTERNALSYM OUT_DEFAULT_PRECIS}
  1849. OUT_STRING_PRECIS = 1;
  1850. {$EXTERNALSYM OUT_STRING_PRECIS}
  1851. OUT_CHARACTER_PRECIS = 2;
  1852. {$EXTERNALSYM OUT_CHARACTER_PRECIS}
  1853. OUT_STROKE_PRECIS = 3;
  1854. {$EXTERNALSYM OUT_STROKE_PRECIS}
  1855. OUT_TT_PRECIS = 4;
  1856. {$EXTERNALSYM OUT_TT_PRECIS}
  1857. OUT_DEVICE_PRECIS = 5;
  1858. {$EXTERNALSYM OUT_DEVICE_PRECIS}
  1859. OUT_RASTER_PRECIS = 6;
  1860. {$EXTERNALSYM OUT_RASTER_PRECIS}
  1861. OUT_TT_ONLY_PRECIS = 7;
  1862. {$EXTERNALSYM OUT_TT_ONLY_PRECIS}
  1863. OUT_OUTLINE_PRECIS = 8;
  1864. {$EXTERNALSYM OUT_OUTLINE_PRECIS}
  1865. OUT_SCREEN_OUTLINE_PRECIS = 9;
  1866. {$EXTERNALSYM OUT_SCREEN_OUTLINE_PRECIS}
  1867. OUT_PS_ONLY_PRECIS = 10;
  1868. {$EXTERNALSYM OUT_PS_ONLY_PRECIS}
  1869. CLIP_DEFAULT_PRECIS = 0;
  1870. {$EXTERNALSYM CLIP_DEFAULT_PRECIS}
  1871. CLIP_CHARACTER_PRECIS = 1;
  1872. {$EXTERNALSYM CLIP_CHARACTER_PRECIS}
  1873. CLIP_STROKE_PRECIS = 2;
  1874. {$EXTERNALSYM CLIP_STROKE_PRECIS}
  1875. CLIP_MASK = $f;
  1876. {$EXTERNALSYM CLIP_MASK}
  1877. CLIP_LH_ANGLES = 1 shl 4;
  1878. {$EXTERNALSYM CLIP_LH_ANGLES}
  1879. CLIP_TT_ALWAYS = 2 shl 4;
  1880. {$EXTERNALSYM CLIP_TT_ALWAYS}
  1881. CLIP_DFA_DISABLE = 4 shl 4;
  1882. {$EXTERNALSYM CLIP_DFA_DISABLE}
  1883. CLIP_EMBEDDED = 8 shl 4;
  1884. {$EXTERNALSYM CLIP_EMBEDDED}
  1885. DEFAULT_QUALITY = 0;
  1886. {$EXTERNALSYM DEFAULT_QUALITY}
  1887. DRAFT_QUALITY = 1;
  1888. {$EXTERNALSYM DRAFT_QUALITY}
  1889. PROOF_QUALITY = 2;
  1890. {$EXTERNALSYM PROOF_QUALITY}
  1891. NONANTIALIASED_QUALITY = 3;
  1892. {$EXTERNALSYM NONANTIALIASED_QUALITY}
  1893. ANTIALIASED_QUALITY = 4;
  1894. {$EXTERNALSYM ANTIALIASED_QUALITY}
  1895. CLEARTYPE_QUALITY = 5;
  1896. {$EXTERNALSYM CLEARTYPE_QUALITY}
  1897. //#if (_WIN32_WINNT >= 0x0501)
  1898. CLEARTYPE_NATURAL_QUALITY = 6;
  1899. {$EXTERNALSYM CLEARTYPE_NATURAL_QUALITY}
  1900. //#endif
  1901. DEFAULT_PITCH = 0;
  1902. {$EXTERNALSYM DEFAULT_PITCH}
  1903. FIXED_PITCH = 1;
  1904. {$EXTERNALSYM FIXED_PITCH}
  1905. VARIABLE_PITCH = 2;
  1906. {$EXTERNALSYM VARIABLE_PITCH}
  1907. MONO_FONT = 8;
  1908. {$EXTERNALSYM MONO_FONT}
  1909. ANSI_CHARSET = 0;
  1910. {$EXTERNALSYM ANSI_CHARSET}
  1911. DEFAULT_CHARSET = 1;
  1912. {$EXTERNALSYM DEFAULT_CHARSET}
  1913. SYMBOL_CHARSET = 2;
  1914. {$EXTERNALSYM SYMBOL_CHARSET}
  1915. SHIFTJIS_CHARSET = 128;
  1916. {$EXTERNALSYM SHIFTJIS_CHARSET}
  1917. HANGEUL_CHARSET = 129;
  1918. {$EXTERNALSYM HANGEUL_CHARSET}
  1919. HANGUL_CHARSET = 129;
  1920. {$EXTERNALSYM HANGUL_CHARSET}
  1921. GB2312_CHARSET = 134;
  1922. {$EXTERNALSYM GB2312_CHARSET}
  1923. CHINESEBIG5_CHARSET = 136;
  1924. {$EXTERNALSYM CHINESEBIG5_CHARSET}
  1925. OEM_CHARSET = 255;
  1926. {$EXTERNALSYM OEM_CHARSET}
  1927. JOHAB_CHARSET = 130;
  1928. {$EXTERNALSYM JOHAB_CHARSET}
  1929. HEBREW_CHARSET = 177;
  1930. {$EXTERNALSYM HEBREW_CHARSET}
  1931. ARABIC_CHARSET = 178;
  1932. {$EXTERNALSYM ARABIC_CHARSET}
  1933. GREEK_CHARSET = 161;
  1934. {$EXTERNALSYM GREEK_CHARSET}
  1935. TURKISH_CHARSET = 162;
  1936. {$EXTERNALSYM TURKISH_CHARSET}
  1937. VIETNAMESE_CHARSET = 163;
  1938. {$EXTERNALSYM VIETNAMESE_CHARSET}
  1939. THAI_CHARSET = 222;
  1940. {$EXTERNALSYM THAI_CHARSET}
  1941. EASTEUROPE_CHARSET = 238;
  1942. {$EXTERNALSYM EASTEUROPE_CHARSET}
  1943. RUSSIAN_CHARSET = 204;
  1944. {$EXTERNALSYM RUSSIAN_CHARSET}
  1945. MAC_CHARSET = 77;
  1946. {$EXTERNALSYM MAC_CHARSET}
  1947. BALTIC_CHARSET = 186;
  1948. {$EXTERNALSYM BALTIC_CHARSET}
  1949. FS_LATIN1 = $00000001;
  1950. {$EXTERNALSYM FS_LATIN1}
  1951. FS_LATIN2 = $00000002;
  1952. {$EXTERNALSYM FS_LATIN2}
  1953. FS_CYRILLIC = $00000004;
  1954. {$EXTERNALSYM FS_CYRILLIC}
  1955. FS_GREEK = $00000008;
  1956. {$EXTERNALSYM FS_GREEK}
  1957. FS_TURKISH = $00000010;
  1958. {$EXTERNALSYM FS_TURKISH}
  1959. FS_HEBREW = $00000020;
  1960. {$EXTERNALSYM FS_HEBREW}
  1961. FS_ARABIC = $00000040;
  1962. {$EXTERNALSYM FS_ARABIC}
  1963. FS_BALTIC = $00000080;
  1964. {$EXTERNALSYM FS_BALTIC}
  1965. FS_VIETNAMESE = $00000100;
  1966. {$EXTERNALSYM FS_VIETNAMESE}
  1967. FS_THAI = $00010000;
  1968. {$EXTERNALSYM FS_THAI}
  1969. FS_JISJAPAN = $00020000;
  1970. {$EXTERNALSYM FS_JISJAPAN}
  1971. FS_CHINESESIMP = $00040000;
  1972. {$EXTERNALSYM FS_CHINESESIMP}
  1973. FS_WANSUNG = $00080000;
  1974. {$EXTERNALSYM FS_WANSUNG}
  1975. FS_CHINESETRAD = $00100000;
  1976. {$EXTERNALSYM FS_CHINESETRAD}
  1977. FS_JOHAB = $00200000;
  1978. {$EXTERNALSYM FS_JOHAB}
  1979. FS_SYMBOL = $80000000;
  1980. {$EXTERNALSYM FS_SYMBOL}
  1981. // Font Families
  1982. FF_DONTCARE = 0 shl 4; // Don't care or don't know.
  1983. {$EXTERNALSYM FF_DONTCARE}
  1984. FF_ROMAN = 1 shl 4; // Variable stroke width, serifed.
  1985. {$EXTERNALSYM FF_ROMAN}
  1986. // Times Roman, Century Schoolbook, etc.
  1987. FF_SWISS = 2 shl 4; // Variable stroke width, sans-serifed.
  1988. {$EXTERNALSYM FF_SWISS}
  1989. // Helvetica, Swiss, etc.
  1990. FF_MODERN = 3 shl 4; // Constant stroke width, serifed or sans-serifed.
  1991. {$EXTERNALSYM FF_MODERN}
  1992. // Pica, Elite, Courier, etc.
  1993. FF_SCRIPT = 4 shl 4; // Cursive, etc.
  1994. {$EXTERNALSYM FF_SCRIPT}
  1995. FF_DECORATIVE = 5 shl 4; // Old English, etc.
  1996. {$EXTERNALSYM FF_DECORATIVE}
  1997. // Font Weights
  1998. FW_DONTCARE = 0;
  1999. {$EXTERNALSYM FW_DONTCARE}
  2000. FW_THIN = 100;
  2001. {$EXTERNALSYM FW_THIN}
  2002. FW_EXTRALIGHT = 200;
  2003. {$EXTERNALSYM FW_EXTRALIGHT}
  2004. FW_LIGHT = 300;
  2005. {$EXTERNALSYM FW_LIGHT}
  2006. FW_NORMAL = 400;
  2007. {$EXTERNALSYM FW_NORMAL}
  2008. FW_MEDIUM = 500;
  2009. {$EXTERNALSYM FW_MEDIUM}
  2010. FW_SEMIBOLD = 600;
  2011. {$EXTERNALSYM FW_SEMIBOLD}
  2012. FW_BOLD = 700;
  2013. {$EXTERNALSYM FW_BOLD}
  2014. FW_EXTRABOLD = 800;
  2015. {$EXTERNALSYM FW_EXTRABOLD}
  2016. FW_HEAVY = 900;
  2017. {$EXTERNALSYM FW_HEAVY}
  2018. FW_ULTRALIGHT = FW_EXTRALIGHT;
  2019. {$EXTERNALSYM FW_ULTRALIGHT}
  2020. FW_REGULAR = FW_NORMAL;
  2021. {$EXTERNALSYM FW_REGULAR}
  2022. FW_DEMIBOLD = FW_SEMIBOLD;
  2023. {$EXTERNALSYM FW_DEMIBOLD}
  2024. FW_ULTRABOLD = FW_EXTRABOLD;
  2025. {$EXTERNALSYM FW_ULTRABOLD}
  2026. FW_BLACK = FW_HEAVY;
  2027. {$EXTERNALSYM FW_BLACK}
  2028. PANOSE_COUNT = 10;
  2029. {$EXTERNALSYM PANOSE_COUNT}
  2030. PAN_FAMILYTYPE_INDEX = 0;
  2031. {$EXTERNALSYM PAN_FAMILYTYPE_INDEX}
  2032. PAN_SERIFSTYLE_INDEX = 1;
  2033. {$EXTERNALSYM PAN_SERIFSTYLE_INDEX}
  2034. PAN_WEIGHT_INDEX = 2;
  2035. {$EXTERNALSYM PAN_WEIGHT_INDEX}
  2036. PAN_PROPORTION_INDEX = 3;
  2037. {$EXTERNALSYM PAN_PROPORTION_INDEX}
  2038. PAN_CONTRAST_INDEX = 4;
  2039. {$EXTERNALSYM PAN_CONTRAST_INDEX}
  2040. PAN_STROKEVARIATION_INDEX = 5;
  2041. {$EXTERNALSYM PAN_STROKEVARIATION_INDEX}
  2042. PAN_ARMSTYLE_INDEX = 6;
  2043. {$EXTERNALSYM PAN_ARMSTYLE_INDEX}
  2044. PAN_LETTERFORM_INDEX = 7;
  2045. {$EXTERNALSYM PAN_LETTERFORM_INDEX}
  2046. PAN_MIDLINE_INDEX = 8;
  2047. {$EXTERNALSYM PAN_MIDLINE_INDEX}
  2048. PAN_XHEIGHT_INDEX = 9;
  2049. {$EXTERNALSYM PAN_XHEIGHT_INDEX}
  2050. PAN_CULTURE_LATIN = 0;
  2051. {$EXTERNALSYM PAN_CULTURE_LATIN}
  2052. type
  2053. PPanose = ^TPanose;
  2054. tagPANOSE = record
  2055. bFamilyType: BYTE;
  2056. bSerifStyle: BYTE;
  2057. bWeight: BYTE;
  2058. bProportion: BYTE;
  2059. bContrast: BYTE;
  2060. bStrokeVariation: BYTE;
  2061. bArmStyle: BYTE;
  2062. bLetterform: BYTE;
  2063. bMidline: BYTE;
  2064. bXHeight: BYTE;
  2065. end;
  2066. {$EXTERNALSYM tagPANOSE}
  2067. PANOSE = tagPANOSE;
  2068. {$EXTERNALSYM PANOSE}
  2069. LPPANOSE = ^PANOSE;
  2070. {$EXTERNALSYM LPPANOSE}
  2071. TPanose = PANOSE;
  2072. const
  2073. PAN_ANY = 0; // Any
  2074. {$EXTERNALSYM PAN_ANY}
  2075. PAN_NO_FIT = 1; // No Fit
  2076. {$EXTERNALSYM PAN_NO_FIT}
  2077. PAN_FAMILY_TEXT_DISPLAY = 2; // Text and Display
  2078. {$EXTERNALSYM PAN_FAMILY_TEXT_DISPLAY}
  2079. PAN_FAMILY_SCRIPT = 3; // Script
  2080. {$EXTERNALSYM PAN_FAMILY_SCRIPT}
  2081. PAN_FAMILY_DECORATIVE = 4; // Decorative
  2082. {$EXTERNALSYM PAN_FAMILY_DECORATIVE}
  2083. PAN_FAMILY_PICTORIAL = 5; // Pictorial
  2084. {$EXTERNALSYM PAN_FAMILY_PICTORIAL}
  2085. PAN_SERIF_COVE = 2; // Cove
  2086. {$EXTERNALSYM PAN_SERIF_COVE}
  2087. PAN_SERIF_OBTUSE_COVE = 3; // Obtuse Cove
  2088. {$EXTERNALSYM PAN_SERIF_OBTUSE_COVE}
  2089. PAN_SERIF_SQUARE_COVE = 4; // Square Cove
  2090. {$EXTERNALSYM PAN_SERIF_SQUARE_COVE}
  2091. PAN_SERIF_OBTUSE_SQUARE_COVE = 5; // Obtuse Square Cove
  2092. {$EXTERNALSYM PAN_SERIF_OBTUSE_SQUARE_COVE}
  2093. PAN_SERIF_SQUARE = 6; // Square
  2094. {$EXTERNALSYM PAN_SERIF_SQUARE}
  2095. PAN_SERIF_THIN = 7; // Thin
  2096. {$EXTERNALSYM PAN_SERIF_THIN}
  2097. PAN_SERIF_BONE = 8; // Bone
  2098. {$EXTERNALSYM PAN_SERIF_BONE}
  2099. PAN_SERIF_EXAGGERATED = 9; // Exaggerated
  2100. {$EXTERNALSYM PAN_SERIF_EXAGGERATED}
  2101. PAN_SERIF_TRIANGLE = 10; // Triangle
  2102. {$EXTERNALSYM PAN_SERIF_TRIANGLE}
  2103. PAN_SERIF_NORMAL_SANS = 11; // Normal Sans
  2104. {$EXTERNALSYM PAN_SERIF_NORMAL_SANS}
  2105. PAN_SERIF_OBTUSE_SANS = 12; // Obtuse Sans
  2106. {$EXTERNALSYM PAN_SERIF_OBTUSE_SANS}
  2107. PAN_SERIF_PERP_SANS = 13; // Prep Sans
  2108. {$EXTERNALSYM PAN_SERIF_PERP_SANS}
  2109. PAN_SERIF_FLARED = 14; // Flared
  2110. {$EXTERNALSYM PAN_SERIF_FLARED}
  2111. PAN_SERIF_ROUNDED = 15; // Rounded
  2112. {$EXTERNALSYM PAN_SERIF_ROUNDED}
  2113. PAN_WEIGHT_VERY_LIGHT = 2; // Very Light
  2114. {$EXTERNALSYM PAN_WEIGHT_VERY_LIGHT}
  2115. PAN_WEIGHT_LIGHT = 3; // Light
  2116. {$EXTERNALSYM PAN_WEIGHT_LIGHT}
  2117. PAN_WEIGHT_THIN = 4; // Thin
  2118. {$EXTERNALSYM PAN_WEIGHT_THIN}
  2119. PAN_WEIGHT_BOOK = 5; // Book
  2120. {$EXTERNALSYM PAN_WEIGHT_BOOK}
  2121. PAN_WEIGHT_MEDIUM = 6; // Medium
  2122. {$EXTERNALSYM PAN_WEIGHT_MEDIUM}
  2123. PAN_WEIGHT_DEMI = 7; // Demi
  2124. {$EXTERNALSYM PAN_WEIGHT_DEMI}
  2125. PAN_WEIGHT_BOLD = 8; // Bold
  2126. {$EXTERNALSYM PAN_WEIGHT_BOLD}
  2127. PAN_WEIGHT_HEAVY = 9; // Heavy
  2128. {$EXTERNALSYM PAN_WEIGHT_HEAVY}
  2129. PAN_WEIGHT_BLACK = 10; // Black
  2130. {$EXTERNALSYM PAN_WEIGHT_BLACK}
  2131. PAN_WEIGHT_NORD = 11; // Nord
  2132. {$EXTERNALSYM PAN_WEIGHT_NORD}
  2133. PAN_PROP_OLD_STYLE = 2; // Old Style
  2134. {$EXTERNALSYM PAN_PROP_OLD_STYLE}
  2135. PAN_PROP_MODERN = 3; // Modern
  2136. {$EXTERNALSYM PAN_PROP_MODERN}
  2137. PAN_PROP_EVEN_WIDTH = 4; // Even Width
  2138. {$EXTERNALSYM PAN_PROP_EVEN_WIDTH}
  2139. PAN_PROP_EXPANDED = 5; // Expanded
  2140. {$EXTERNALSYM PAN_PROP_EXPANDED}
  2141. PAN_PROP_CONDENSED = 6; // Condensed
  2142. {$EXTERNALSYM PAN_PROP_CONDENSED}
  2143. PAN_PROP_VERY_EXPANDED = 7; // Very Expanded
  2144. {$EXTERNALSYM PAN_PROP_VERY_EXPANDED}
  2145. PAN_PROP_VERY_CONDENSED = 8; // Very Condensed
  2146. {$EXTERNALSYM PAN_PROP_VERY_CONDENSED}
  2147. PAN_PROP_MONOSPACED = 9; // Monospaced
  2148. {$EXTERNALSYM PAN_PROP_MONOSPACED}
  2149. PAN_CONTRAST_NONE = 2; // None
  2150. {$EXTERNALSYM PAN_CONTRAST_NONE}
  2151. PAN_CONTRAST_VERY_LOW = 3; // Very Low
  2152. {$EXTERNALSYM PAN_CONTRAST_VERY_LOW}
  2153. PAN_CONTRAST_LOW = 4; // Low
  2154. {$EXTERNALSYM PAN_CONTRAST_LOW}
  2155. PAN_CONTRAST_MEDIUM_LOW = 5; // Medium Low
  2156. {$EXTERNALSYM PAN_CONTRAST_MEDIUM_LOW}
  2157. PAN_CONTRAST_MEDIUM = 6; // Medium
  2158. {$EXTERNALSYM PAN_CONTRAST_MEDIUM}
  2159. PAN_CONTRAST_MEDIUM_HIGH = 7; // Mediim High
  2160. {$EXTERNALSYM PAN_CONTRAST_MEDIUM_HIGH}
  2161. PAN_CONTRAST_HIGH = 8; // High
  2162. {$EXTERNALSYM PAN_CONTRAST_HIGH}
  2163. PAN_CONTRAST_VERY_HIGH = 9; // Very High
  2164. {$EXTERNALSYM PAN_CONTRAST_VERY_HIGH}
  2165. PAN_STROKE_GRADUAL_DIAG = 2; // Gradual/Diagonal
  2166. {$EXTERNALSYM PAN_STROKE_GRADUAL_DIAG}
  2167. PAN_STROKE_GRADUAL_TRAN = 3; // Gradual/Transitional
  2168. {$EXTERNALSYM PAN_STROKE_GRADUAL_TRAN}
  2169. PAN_STROKE_GRADUAL_VERT = 4; // Gradual/Vertical
  2170. {$EXTERNALSYM PAN_STROKE_GRADUAL_VERT}
  2171. PAN_STROKE_GRADUAL_HORZ = 5; // Gradual/Horizontal
  2172. {$EXTERNALSYM PAN_STROKE_GRADUAL_HORZ}
  2173. PAN_STROKE_RAPID_VERT = 6; // Rapid/Vertical
  2174. {$EXTERNALSYM PAN_STROKE_RAPID_VERT}
  2175. PAN_STROKE_RAPID_HORZ = 7; // Rapid/Horizontal
  2176. {$EXTERNALSYM PAN_STROKE_RAPID_HORZ}
  2177. PAN_STROKE_INSTANT_VERT = 8; // Instant/Vertical
  2178. {$EXTERNALSYM PAN_STROKE_INSTANT_VERT}
  2179. PAN_STRAIGHT_ARMS_HORZ = 2; // Straight Arms/Horizontal
  2180. {$EXTERNALSYM PAN_STRAIGHT_ARMS_HORZ}
  2181. PAN_STRAIGHT_ARMS_WEDGE = 3; // Straight Arms/Wedge
  2182. {$EXTERNALSYM PAN_STRAIGHT_ARMS_WEDGE}
  2183. PAN_STRAIGHT_ARMS_VERT = 4; // Straight Arms/Vertical
  2184. {$EXTERNALSYM PAN_STRAIGHT_ARMS_VERT}
  2185. PAN_STRAIGHT_ARMS_SINGLE_SERIF = 5; // Straight Arms/Single-Serif
  2186. {$EXTERNALSYM PAN_STRAIGHT_ARMS_SINGLE_SERIF}
  2187. PAN_STRAIGHT_ARMS_DOUBLE_SERIF = 6; // Straight Arms/Double-Serif
  2188. {$EXTERNALSYM PAN_STRAIGHT_ARMS_DOUBLE_SERIF}
  2189. PAN_BENT_ARMS_HORZ = 7; // Non-Straight Arms/Horizontal
  2190. {$EXTERNALSYM PAN_BENT_ARMS_HORZ}
  2191. PAN_BENT_ARMS_WEDGE = 8; // Non-Straight Arms/Wedge
  2192. {$EXTERNALSYM PAN_BENT_ARMS_WEDGE}
  2193. PAN_BENT_ARMS_VERT = 9; // Non-Straight Arms/Vertical
  2194. {$EXTERNALSYM PAN_BENT_ARMS_VERT}
  2195. PAN_BENT_ARMS_SINGLE_SERIF = 10; // Non-Straight Arms/Single-Serif
  2196. {$EXTERNALSYM PAN_BENT_ARMS_SINGLE_SERIF}
  2197. PAN_BENT_ARMS_DOUBLE_SERIF = 11; // Non-Straight Arms/Double-Serif
  2198. {$EXTERNALSYM PAN_BENT_ARMS_DOUBLE_SERIF}
  2199. PAN_LETT_NORMAL_CONTACT = 2; // Normal/Contact
  2200. {$EXTERNALSYM PAN_LETT_NORMAL_CONTACT}
  2201. PAN_LETT_NORMAL_WEIGHTED = 3; // Normal/Weighted
  2202. {$EXTERNALSYM PAN_LETT_NORMAL_WEIGHTED}
  2203. PAN_LETT_NORMAL_BOXED = 4; // Normal/Boxed
  2204. {$EXTERNALSYM PAN_LETT_NORMAL_BOXED}
  2205. PAN_LETT_NORMAL_FLATTENED = 5; // Normal/Flattened
  2206. {$EXTERNALSYM PAN_LETT_NORMAL_FLATTENED}
  2207. PAN_LETT_NORMAL_ROUNDED = 6; // Normal/Rounded
  2208. {$EXTERNALSYM PAN_LETT_NORMAL_ROUNDED}
  2209. PAN_LETT_NORMAL_OFF_CENTER = 7; // Normal/Off Center
  2210. {$EXTERNALSYM PAN_LETT_NORMAL_OFF_CENTER}
  2211. PAN_LETT_NORMAL_SQUARE = 8; // Normal/Square
  2212. {$EXTERNALSYM PAN_LETT_NORMAL_SQUARE}
  2213. PAN_LETT_OBLIQUE_CONTACT = 9; // Oblique/Contact
  2214. {$EXTERNALSYM PAN_LETT_OBLIQUE_CONTACT}
  2215. PAN_LETT_OBLIQUE_WEIGHTED = 10; // Oblique/Weighted
  2216. {$EXTERNALSYM PAN_LETT_OBLIQUE_WEIGHTED}
  2217. PAN_LETT_OBLIQUE_BOXED = 11; // Oblique/Boxed
  2218. {$EXTERNALSYM PAN_LETT_OBLIQUE_BOXED}
  2219. PAN_LETT_OBLIQUE_FLATTENED = 12; // Oblique/Flattened
  2220. {$EXTERNALSYM PAN_LETT_OBLIQUE_FLATTENED}
  2221. PAN_LETT_OBLIQUE_ROUNDED = 13; // Oblique/Rounded
  2222. {$EXTERNALSYM PAN_LETT_OBLIQUE_ROUNDED}
  2223. PAN_LETT_OBLIQUE_OFF_CENTER = 14; // Oblique/Off Center
  2224. {$EXTERNALSYM PAN_LETT_OBLIQUE_OFF_CENTER}
  2225. PAN_LETT_OBLIQUE_SQUARE = 15; // Oblique/Square
  2226. {$EXTERNALSYM PAN_LETT_OBLIQUE_SQUARE}
  2227. PAN_MIDLINE_STANDARD_TRIMMED = 2; // Standard/Trimmed
  2228. {$EXTERNALSYM PAN_MIDLINE_STANDARD_TRIMMED}
  2229. PAN_MIDLINE_STANDARD_POINTED = 3; // Standard/Pointed
  2230. {$EXTERNALSYM PAN_MIDLINE_STANDARD_POINTED}
  2231. PAN_MIDLINE_STANDARD_SERIFED = 4; // Standard/Serifed
  2232. {$EXTERNALSYM PAN_MIDLINE_STANDARD_SERIFED}
  2233. PAN_MIDLINE_HIGH_TRIMMED = 5; // High/Trimmed
  2234. {$EXTERNALSYM PAN_MIDLINE_HIGH_TRIMMED}
  2235. PAN_MIDLINE_HIGH_POINTED = 6; // High/Pointed
  2236. {$EXTERNALSYM PAN_MIDLINE_HIGH_POINTED}
  2237. PAN_MIDLINE_HIGH_SERIFED = 7; // High/Serifed
  2238. {$EXTERNALSYM PAN_MIDLINE_HIGH_SERIFED}
  2239. PAN_MIDLINE_CONSTANT_TRIMMED = 8; // Constant/Trimmed
  2240. {$EXTERNALSYM PAN_MIDLINE_CONSTANT_TRIMMED}
  2241. PAN_MIDLINE_CONSTANT_POINTED = 9; // Constant/Pointed
  2242. {$EXTERNALSYM PAN_MIDLINE_CONSTANT_POINTED}
  2243. PAN_MIDLINE_CONSTANT_SERIFED = 10; // Constant/Serifed
  2244. {$EXTERNALSYM PAN_MIDLINE_CONSTANT_SERIFED}
  2245. PAN_MIDLINE_LOW_TRIMMED = 11; // Low/Trimmed
  2246. {$EXTERNALSYM PAN_MIDLINE_LOW_TRIMMED}
  2247. PAN_MIDLINE_LOW_POINTED = 12; // Low/Pointed
  2248. {$EXTERNALSYM PAN_MIDLINE_LOW_POINTED}
  2249. PAN_MIDLINE_LOW_SERIFED = 13; // Low/Serifed
  2250. {$EXTERNALSYM PAN_MIDLINE_LOW_SERIFED}
  2251. PAN_XHEIGHT_CONSTANT_SMALL = 2; // Constant/Small
  2252. {$EXTERNALSYM PAN_XHEIGHT_CONSTANT_SMALL}
  2253. PAN_XHEIGHT_CONSTANT_STD = 3; // Constant/Standard
  2254. {$EXTERNALSYM PAN_XHEIGHT_CONSTANT_STD}
  2255. PAN_XHEIGHT_CONSTANT_LARGE = 4; // Constant/Large
  2256. {$EXTERNALSYM PAN_XHEIGHT_CONSTANT_LARGE}
  2257. PAN_XHEIGHT_DUCKING_SMALL = 5; // Ducking/Small
  2258. {$EXTERNALSYM PAN_XHEIGHT_DUCKING_SMALL}
  2259. PAN_XHEIGHT_DUCKING_STD = 6; // Ducking/Standard
  2260. {$EXTERNALSYM PAN_XHEIGHT_DUCKING_STD}
  2261. PAN_XHEIGHT_DUCKING_LARGE = 7; // Ducking/Large
  2262. {$EXTERNALSYM PAN_XHEIGHT_DUCKING_LARGE}
  2263. ELF_VENDOR_SIZE = 4;
  2264. {$EXTERNALSYM ELF_VENDOR_SIZE}
  2265. // The extended logical font
  2266. // An extension of the ENUMLOGFONT
  2267. type
  2268. PExtLogFontA = ^TExtLogFontA;
  2269. tagEXTLOGFONTA = record
  2270. elfLogFont: LOGFONTA;
  2271. elfFullName: array [0..LF_FULLFACESIZE - 1] of BYTE;
  2272. elfStyle: array [0..LF_FACESIZE - 1] of BYTE;
  2273. elfVersion: DWORD;
  2274. elfStyleSize: DWORD;
  2275. elfMatch: DWORD;
  2276. elfReserved: DWORD;
  2277. elfVendorId: array [0..ELF_VENDOR_SIZE - 1] of BYTE;
  2278. elfCulture: DWORD;
  2279. elfPanose: PANOSE;
  2280. end;
  2281. {$EXTERNALSYM tagEXTLOGFONTA}
  2282. EXTLOGFONTA = tagEXTLOGFONTA;
  2283. {$EXTERNALSYM EXTLOGFONTA}
  2284. LPEXTLOGFONTA = ^EXTLOGFONTA;
  2285. {$EXTERNALSYM LPEXTLOGFONTA}
  2286. NPEXTLOGFONTA = ^EXTLOGFONTA;
  2287. {$EXTERNALSYM NPEXTLOGFONTA}
  2288. TExtLogFontA = EXTLOGFONTA;
  2289. PExtLogFontW = ^TExtLogFontW;
  2290. tagEXTLOGFONTW = record
  2291. elfLogFont: LOGFONTW;
  2292. elfFullName: array [0..LF_FULLFACESIZE - 1] of WCHAR;
  2293. elfStyle: array [0..LF_FACESIZE - 1] of WCHAR;
  2294. elfVersion: DWORD;
  2295. elfStyleSize: DWORD;
  2296. elfMatch: DWORD;
  2297. elfReserved: DWORD;
  2298. elfVendorId: array [0..ELF_VENDOR_SIZE - 1] of BYTE;
  2299. elfCulture: DWORD;
  2300. elfPanose: PANOSE;
  2301. end;
  2302. {$EXTERNALSYM tagEXTLOGFONTW}
  2303. EXTLOGFONTW = tagEXTLOGFONTW;
  2304. {$EXTERNALSYM EXTLOGFONTW}
  2305. LPEXTLOGFONTW = ^EXTLOGFONTW;
  2306. {$EXTERNALSYM LPEXTLOGFONTW}
  2307. NPEXTLOGFONTW = ^EXTLOGFONTW;
  2308. {$EXTERNALSYM NPEXTLOGFONTW}
  2309. TExtLogFontW = EXTLOGFONTW;
  2310. {$IFDEF UNICODE}
  2311. EXTLOGFONT = EXTLOGFONTW;
  2312. {$EXTERNALSYM EXTLOGFONT}
  2313. PEXTLOGFONT = PEXTLOGFONTW;
  2314. {$EXTERNALSYM PEXTLOGFONT}
  2315. NPEXTLOGFONT = NPEXTLOGFONTW;
  2316. {$EXTERNALSYM NPEXTLOGFONT}
  2317. LPEXTLOGFONT = LPEXTLOGFONTW;
  2318. {$EXTERNALSYM LPEXTLOGFONT}
  2319. TExtLogFont = TExtLogFontW;
  2320. {$ELSE}
  2321. EXTLOGFONT = EXTLOGFONTA;
  2322. {$EXTERNALSYM EXTLOGFONT}
  2323. PEXTLOGFONT = PEXTLOGFONTA;
  2324. {$EXTERNALSYM PEXTLOGFONT}
  2325. NPEXTLOGFONT = NPEXTLOGFONTA;
  2326. {$EXTERNALSYM NPEXTLOGFONT}
  2327. LPEXTLOGFONT = LPEXTLOGFONTA;
  2328. {$EXTERNALSYM LPEXTLOGFONT}
  2329. TExtLogFont = TExtLogFontA;
  2330. {$ENDIF UNICODE}
  2331. const
  2332. ELF_VERSION = 0;
  2333. {$EXTERNALSYM ELF_VERSION}
  2334. ELF_CULTURE_LATIN = 0;
  2335. {$EXTERNALSYM ELF_CULTURE_LATIN}
  2336. // EnumFonts Masks
  2337. RASTER_FONTTYPE = $0001;
  2338. {$EXTERNALSYM RASTER_FONTTYPE}
  2339. DEVICE_FONTTYPE = $002;
  2340. {$EXTERNALSYM DEVICE_FONTTYPE}
  2341. TRUETYPE_FONTTYPE = $004;
  2342. {$EXTERNALSYM TRUETYPE_FONTTYPE}
  2343. function RGB(r, g, b: BYTE): COLORREF;
  2344. {$EXTERNALSYM RGB}
  2345. function PALETTERGB(r, g, b: BYTE): COLORREF;
  2346. {$EXTERNALSYM PALETTERGB}
  2347. function PALETTEINDEX(i: WORD): COLORREF;
  2348. {$EXTERNALSYM PALETTEINDEX}
  2349. // palette entry flags
  2350. const
  2351. PC_RESERVED = $01; // palette index used for animation
  2352. {$EXTERNALSYM PC_RESERVED}
  2353. PC_EXPLICIT = $02; // palette index is explicit to device
  2354. {$EXTERNALSYM PC_EXPLICIT}
  2355. PC_NOCOLLAPSE = $04; // do not match color to system palette
  2356. {$EXTERNALSYM PC_NOCOLLAPSE}
  2357. function GetRValue(rgb: COLORREF): BYTE;
  2358. {$EXTERNALSYM GetRValue}
  2359. function GetGValue(rgb: COLORREF): BYTE;
  2360. {$EXTERNALSYM GetGValue}
  2361. function GetBValue(rgb: COLORREF): BYTE;
  2362. {$EXTERNALSYM GetBValue}
  2363. // Background Modes
  2364. const
  2365. TRANSPARENT = 1;
  2366. {$EXTERNALSYM TRANSPARENT}
  2367. OPAQUE = 2;
  2368. {$EXTERNALSYM OPAQUE}
  2369. BKMODE_LAST = 2;
  2370. {$EXTERNALSYM BKMODE_LAST}
  2371. // Graphics Modes
  2372. GM_COMPATIBLE = 1;
  2373. {$EXTERNALSYM GM_COMPATIBLE}
  2374. GM_ADVANCED = 2;
  2375. {$EXTERNALSYM GM_ADVANCED}
  2376. GM_LAST = 2;
  2377. {$EXTERNALSYM GM_LAST}
  2378. // PolyDraw and GetPath point types
  2379. PT_CLOSEFIGURE = $01;
  2380. {$EXTERNALSYM PT_CLOSEFIGURE}
  2381. PT_LINETO = $02;
  2382. {$EXTERNALSYM PT_LINETO}
  2383. PT_BEZIERTO = $04;
  2384. {$EXTERNALSYM PT_BEZIERTO}
  2385. PT_MOVETO = $06;
  2386. {$EXTERNALSYM PT_MOVETO}
  2387. // Mapping Modes
  2388. MM_TEXT = 1;
  2389. {$EXTERNALSYM MM_TEXT}
  2390. MM_LOMETRIC = 2;
  2391. {$EXTERNALSYM MM_LOMETRIC}
  2392. MM_HIMETRIC = 3;
  2393. {$EXTERNALSYM MM_HIMETRIC}
  2394. MM_LOENGLISH = 4;
  2395. {$EXTERNALSYM MM_LOENGLISH}
  2396. MM_HIENGLISH = 5;
  2397. {$EXTERNALSYM MM_HIENGLISH}
  2398. MM_TWIPS = 6;
  2399. {$EXTERNALSYM MM_TWIPS}
  2400. MM_ISOTROPIC = 7;
  2401. {$EXTERNALSYM MM_ISOTROPIC}
  2402. MM_ANISOTROPIC = 8;
  2403. {$EXTERNALSYM MM_ANISOTROPIC}
  2404. // Min and Max Mapping Mode values
  2405. MM_MIN = MM_TEXT;
  2406. {$EXTERNALSYM MM_MIN}
  2407. MM_MAX = MM_ANISOTROPIC;
  2408. {$EXTERNALSYM MM_MAX}
  2409. MM_MAX_FIXEDSCALE = MM_TWIPS;
  2410. {$EXTERNALSYM MM_MAX_FIXEDSCALE}
  2411. // Coordinate Modes
  2412. ABSOLUTE = 1;
  2413. {$EXTERNALSYM ABSOLUTE}
  2414. RELATIVE = 2;
  2415. {$EXTERNALSYM RELATIVE}
  2416. // Stock Logical Objects
  2417. WHITE_BRUSH = 0;
  2418. {$EXTERNALSYM WHITE_BRUSH}
  2419. LTGRAY_BRUSH = 1;
  2420. {$EXTERNALSYM LTGRAY_BRUSH}
  2421. GRAY_BRUSH = 2;
  2422. {$EXTERNALSYM GRAY_BRUSH}
  2423. DKGRAY_BRUSH = 3;
  2424. {$EXTERNALSYM DKGRAY_BRUSH}
  2425. BLACK_BRUSH = 4;
  2426. {$EXTERNALSYM BLACK_BRUSH}
  2427. NULL_BRUSH = 5;
  2428. {$EXTERNALSYM NULL_BRUSH}
  2429. HOLLOW_BRUSH = NULL_BRUSH;
  2430. {$EXTERNALSYM HOLLOW_BRUSH}
  2431. WHITE_PEN = 6;
  2432. {$EXTERNALSYM WHITE_PEN}
  2433. BLACK_PEN = 7;
  2434. {$EXTERNALSYM BLACK_PEN}
  2435. NULL_PEN = 8;
  2436. {$EXTERNALSYM NULL_PEN}
  2437. OEM_FIXED_FONT = 10;
  2438. {$EXTERNALSYM OEM_FIXED_FONT}
  2439. ANSI_FIXED_FONT = 11;
  2440. {$EXTERNALSYM ANSI_FIXED_FONT}
  2441. ANSI_VAR_FONT = 12;
  2442. {$EXTERNALSYM ANSI_VAR_FONT}
  2443. SYSTEM_FONT = 13;
  2444. {$EXTERNALSYM SYSTEM_FONT}
  2445. DEVICE_DEFAULT_FONT = 14;
  2446. {$EXTERNALSYM DEVICE_DEFAULT_FONT}
  2447. DEFAULT_PALETTE = 15;
  2448. {$EXTERNALSYM DEFAULT_PALETTE}
  2449. SYSTEM_FIXED_FONT = 16;
  2450. {$EXTERNALSYM SYSTEM_FIXED_FONT}
  2451. DEFAULT_GUI_FONT = 17;
  2452. {$EXTERNALSYM DEFAULT_GUI_FONT}
  2453. DC_BRUSH = 18;
  2454. {$EXTERNALSYM DC_BRUSH}
  2455. DC_PEN = 19;
  2456. {$EXTERNALSYM DC_PEN}
  2457. {$IFDEF WIN2000_UP}
  2458. STOCK_LAST = 19;
  2459. {$EXTERNALSYM STOCK_LAST}
  2460. {$ELSE}
  2461. {$IFDEF WIN95_UP}
  2462. STOCK_LAST = 17;
  2463. {$EXTERNALSYM STOCK_LAST}
  2464. {$ELSE}
  2465. STOCK_LAST = 16;
  2466. {$EXTERNALSYM STOCK_LAST}
  2467. {$ENDIF WIN95_UP}
  2468. {$ENDIF WIN2000_UP}
  2469. CLR_INVALID = DWORD($FFFFFFFF);
  2470. {$EXTERNALSYM CLR_INVALID}
  2471. // Brush Styles
  2472. BS_SOLID = 0;
  2473. {$EXTERNALSYM BS_SOLID}
  2474. BS_NULL = 1;
  2475. {$EXTERNALSYM BS_NULL}
  2476. BS_HOLLOW = BS_NULL;
  2477. {$EXTERNALSYM BS_HOLLOW}
  2478. BS_HATCHED = 2;
  2479. {$EXTERNALSYM BS_HATCHED}
  2480. BS_PATTERN = 3;
  2481. {$EXTERNALSYM BS_PATTERN}
  2482. BS_INDEXED = 4;
  2483. {$EXTERNALSYM BS_INDEXED}
  2484. BS_DIBPATTERN = 5;
  2485. {$EXTERNALSYM BS_DIBPATTERN}
  2486. BS_DIBPATTERNPT = 6;
  2487. {$EXTERNALSYM BS_DIBPATTERNPT}
  2488. BS_PATTERN8X8 = 7;
  2489. {$EXTERNALSYM BS_PATTERN8X8}
  2490. BS_DIBPATTERN8X8 = 8;
  2491. {$EXTERNALSYM BS_DIBPATTERN8X8}
  2492. BS_MONOPATTERN = 9;
  2493. {$EXTERNALSYM BS_MONOPATTERN}
  2494. // Hatch Styles
  2495. HS_HORIZONTAL = 0; // -----
  2496. {$EXTERNALSYM HS_HORIZONTAL}
  2497. HS_VERTICAL = 1; // |||||
  2498. {$EXTERNALSYM HS_VERTICAL}
  2499. HS_FDIAGONAL = 2; // \\\\\
  2500. {$EXTERNALSYM HS_FDIAGONAL}
  2501. HS_BDIAGONAL = 3; // /////
  2502. {$EXTERNALSYM HS_BDIAGONAL}
  2503. HS_CROSS = 4; // +++++
  2504. {$EXTERNALSYM HS_CROSS}
  2505. HS_DIAGCROSS = 5; // xxxxx
  2506. {$EXTERNALSYM HS_DIAGCROSS}
  2507. // Pen Styles
  2508. PS_SOLID = 0;
  2509. {$EXTERNALSYM PS_SOLID}
  2510. PS_DASH = 1; // -------
  2511. {$EXTERNALSYM PS_DASH}
  2512. PS_DOT = 2; // .......
  2513. {$EXTERNALSYM PS_DOT}
  2514. PS_DASHDOT = 3; // _._._._
  2515. {$EXTERNALSYM PS_DASHDOT}
  2516. PS_DASHDOTDOT = 4; // _.._.._
  2517. {$EXTERNALSYM PS_DASHDOTDOT}
  2518. PS_NULL = 5;
  2519. {$EXTERNALSYM PS_NULL}
  2520. PS_INSIDEFRAME = 6;
  2521. {$EXTERNALSYM PS_INSIDEFRAME}
  2522. PS_USERSTYLE = 7;
  2523. {$EXTERNALSYM PS_USERSTYLE}
  2524. PS_ALTERNATE = 8;
  2525. {$EXTERNALSYM PS_ALTERNATE}
  2526. PS_STYLE_MASK = $0000000F;
  2527. {$EXTERNALSYM PS_STYLE_MASK}
  2528. PS_ENDCAP_ROUND = $00000000;
  2529. {$EXTERNALSYM PS_ENDCAP_ROUND}
  2530. PS_ENDCAP_SQUARE = $00000100;
  2531. {$EXTERNALSYM PS_ENDCAP_SQUARE}
  2532. PS_ENDCAP_FLAT = $00000200;
  2533. {$EXTERNALSYM PS_ENDCAP_FLAT}
  2534. PS_ENDCAP_MASK = $00000F00;
  2535. {$EXTERNALSYM PS_ENDCAP_MASK}
  2536. PS_JOIN_ROUND = $00000000;
  2537. {$EXTERNALSYM PS_JOIN_ROUND}
  2538. PS_JOIN_BEVEL = $00001000;
  2539. {$EXTERNALSYM PS_JOIN_BEVEL}
  2540. PS_JOIN_MITER = $00002000;
  2541. {$EXTERNALSYM PS_JOIN_MITER}
  2542. PS_JOIN_MASK = $0000F000;
  2543. {$EXTERNALSYM PS_JOIN_MASK}
  2544. PS_COSMETIC = $00000000;
  2545. {$EXTERNALSYM PS_COSMETIC}
  2546. PS_GEOMETRIC = $00010000;
  2547. {$EXTERNALSYM PS_GEOMETRIC}
  2548. PS_TYPE_MASK = $000F0000;
  2549. {$EXTERNALSYM PS_TYPE_MASK}
  2550. AD_COUNTERCLOCKWISE = 1;
  2551. {$EXTERNALSYM AD_COUNTERCLOCKWISE}
  2552. AD_CLOCKWISE = 2;
  2553. {$EXTERNALSYM AD_CLOCKWISE}
  2554. // Device Parameters for GetDeviceCaps()
  2555. DRIVERVERSION = 0; // Device driver version
  2556. {$EXTERNALSYM DRIVERVERSION}
  2557. TECHNOLOGY = 2; // Device classification
  2558. {$EXTERNALSYM TECHNOLOGY}
  2559. HORZSIZE = 4; // Horizontal size in millimeters
  2560. {$EXTERNALSYM HORZSIZE}
  2561. VERTSIZE = 6; // Vertical size in millimeters
  2562. {$EXTERNALSYM VERTSIZE}
  2563. HORZRES = 8; // Horizontal width in pixels
  2564. {$EXTERNALSYM HORZRES}
  2565. VERTRES = 10; // Vertical height in pixels
  2566. {$EXTERNALSYM VERTRES}
  2567. BITSPIXEL = 12; // Number of bits per pixel
  2568. {$EXTERNALSYM BITSPIXEL}
  2569. PLANES = 14; // Number of planes
  2570. {$EXTERNALSYM PLANES}
  2571. NUMBRUSHES = 16; // Number of brushes the device has
  2572. {$EXTERNALSYM NUMBRUSHES}
  2573. NUMPENS = 18; // Number of pens the device has
  2574. {$EXTERNALSYM NUMPENS}
  2575. NUMMARKERS = 20; // Number of markers the device has
  2576. {$EXTERNALSYM NUMMARKERS}
  2577. NUMFONTS = 22; // Number of fonts the device has
  2578. {$EXTERNALSYM NUMFONTS}
  2579. NUMCOLORS = 24; // Number of colors the device supports
  2580. {$EXTERNALSYM NUMCOLORS}
  2581. PDEVICESIZE = 26; // Size required for device descriptor
  2582. {$EXTERNALSYM PDEVICESIZE}
  2583. CURVECAPS = 28; // Curve capabilities
  2584. {$EXTERNALSYM CURVECAPS}
  2585. LINECAPS = 30; // Line capabilities
  2586. {$EXTERNALSYM LINECAPS}
  2587. POLYGONALCAPS = 32; // Polygonal capabilities
  2588. {$EXTERNALSYM POLYGONALCAPS}
  2589. TEXTCAPS = 34; // Text capabilities
  2590. {$EXTERNALSYM TEXTCAPS}
  2591. CLIPCAPS = 36; // Clipping capabilities
  2592. {$EXTERNALSYM CLIPCAPS}
  2593. RASTERCAPS = 38; // Bitblt capabilities
  2594. {$EXTERNALSYM RASTERCAPS}
  2595. ASPECTX = 40; // Length of the X leg
  2596. {$EXTERNALSYM ASPECTX}
  2597. ASPECTY = 42; // Length of the Y leg
  2598. {$EXTERNALSYM ASPECTY}
  2599. ASPECTXY = 44; // Length of the hypotenuse
  2600. {$EXTERNALSYM ASPECTXY}
  2601. LOGPIXELSX = 88; // Logical pixels/inch in X
  2602. {$EXTERNALSYM LOGPIXELSX}
  2603. LOGPIXELSY = 90; // Logical pixels/inch in Y
  2604. {$EXTERNALSYM LOGPIXELSY}
  2605. SIZEPALETTE = 104; // Number of entries in physical palette
  2606. {$EXTERNALSYM SIZEPALETTE}
  2607. NUMRESERVED = 106; // Number of reserved entries in palette
  2608. {$EXTERNALSYM NUMRESERVED}
  2609. COLORRES = 108; // Actual color resolution
  2610. {$EXTERNALSYM COLORRES}
  2611. // Printing related DeviceCaps. These replace the appropriate Escapes
  2612. PHYSICALWIDTH = 110; // Physical Width in device units
  2613. {$EXTERNALSYM PHYSICALWIDTH}
  2614. PHYSICALHEIGHT = 111; // Physical Height in device units
  2615. {$EXTERNALSYM PHYSICALHEIGHT}
  2616. PHYSICALOFFSETX = 112; // Physical Printable Area x margin
  2617. {$EXTERNALSYM PHYSICALOFFSETX}
  2618. PHYSICALOFFSETY = 113; // Physical Printable Area y margin
  2619. {$EXTERNALSYM PHYSICALOFFSETY}
  2620. SCALINGFACTORX = 114; // Scaling factor x
  2621. {$EXTERNALSYM SCALINGFACTORX}
  2622. SCALINGFACTORY = 115; // Scaling factor y
  2623. {$EXTERNALSYM SCALINGFACTORY}
  2624. // Display driver specific
  2625. VREFRESH = 116; // Current vertical refresh rate of the
  2626. {$EXTERNALSYM VREFRESH}
  2627. // display device (for displays only) in Hz
  2628. DESKTOPVERTRES = 117; // Horizontal width of entire desktop in
  2629. {$EXTERNALSYM DESKTOPVERTRES}
  2630. // pixels
  2631. DESKTOPHORZRES = 118; // Vertical height of entire desktop in
  2632. {$EXTERNALSYM DESKTOPHORZRES}
  2633. // pixels
  2634. BLTALIGNMENT = 119; // Preferred blt alignment
  2635. {$EXTERNALSYM BLTALIGNMENT}
  2636. SHADEBLENDCAPS = 120; // Shading and blending caps
  2637. {$EXTERNALSYM SHADEBLENDCAPS}
  2638. COLORMGMTCAPS = 121; // Color Management caps
  2639. {$EXTERNALSYM COLORMGMTCAPS}
  2640. // Device Capability Masks:
  2641. // Device Technologies
  2642. DT_PLOTTER = 0; // Vector plotter
  2643. {$EXTERNALSYM DT_PLOTTER}
  2644. DT_RASDISPLAY = 1; // Raster display
  2645. {$EXTERNALSYM DT_RASDISPLAY}
  2646. DT_RASPRINTER = 2; // Raster printer
  2647. {$EXTERNALSYM DT_RASPRINTER}
  2648. DT_RASCAMERA = 3; // Raster camera
  2649. {$EXTERNALSYM DT_RASCAMERA}
  2650. DT_CHARSTREAM = 4; // Character-stream, PLP
  2651. {$EXTERNALSYM DT_CHARSTREAM}
  2652. DT_METAFILE = 5; // Metafile, VDM
  2653. {$EXTERNALSYM DT_METAFILE}
  2654. DT_DISPFILE = 6; // Display-file
  2655. {$EXTERNALSYM DT_DISPFILE}
  2656. // Curve Capabilities
  2657. CC_NONE = 0; // Curves not supported
  2658. {$EXTERNALSYM CC_NONE}
  2659. CC_CIRCLES = 1; // Can do circles
  2660. {$EXTERNALSYM CC_CIRCLES}
  2661. CC_PIE = 2; // Can do pie wedges
  2662. {$EXTERNALSYM CC_PIE}
  2663. CC_CHORD = 4; // Can do chord arcs
  2664. {$EXTERNALSYM CC_CHORD}
  2665. CC_ELLIPSES = 8; // Can do ellipese
  2666. {$EXTERNALSYM CC_ELLIPSES}
  2667. CC_WIDE = 16; // Can do wide lines
  2668. {$EXTERNALSYM CC_WIDE}
  2669. CC_STYLED = 32; // Can do styled lines
  2670. {$EXTERNALSYM CC_STYLED}
  2671. CC_WIDESTYLED = 64; // Can do wide styled lines
  2672. {$EXTERNALSYM CC_WIDESTYLED}
  2673. CC_INTERIORS = 128; // Can do interiors
  2674. {$EXTERNALSYM CC_INTERIORS}
  2675. CC_ROUNDRECT = 256;
  2676. {$EXTERNALSYM CC_ROUNDRECT}
  2677. // Line Capabilities
  2678. LC_NONE = 0; // Lines not supported
  2679. {$EXTERNALSYM LC_NONE}
  2680. LC_POLYLINE = 2; // Can do polylines
  2681. {$EXTERNALSYM LC_POLYLINE}
  2682. LC_MARKER = 4; // Can do markers
  2683. {$EXTERNALSYM LC_MARKER}
  2684. LC_POLYMARKER = 8; // Can do polymarkers
  2685. {$EXTERNALSYM LC_POLYMARKER}
  2686. LC_WIDE = 16; // Can do wide lines
  2687. {$EXTERNALSYM LC_WIDE}
  2688. LC_STYLED = 32; // Can do styled lines
  2689. {$EXTERNALSYM LC_STYLED}
  2690. LC_WIDESTYLED = 64; // Can do wide styled lines
  2691. {$EXTERNALSYM LC_WIDESTYLED}
  2692. LC_INTERIORS = 128; // Can do interiors
  2693. {$EXTERNALSYM LC_INTERIORS}
  2694. // Polygonal Capabilities
  2695. PC_NONE = 0; // Polygonals not supported
  2696. {$EXTERNALSYM PC_NONE}
  2697. PC_POLYGON = 1; // Can do polygons
  2698. {$EXTERNALSYM PC_POLYGON}
  2699. PC_RECTANGLE = 2; // Can do rectangles
  2700. {$EXTERNALSYM PC_RECTANGLE}
  2701. PC_WINDPOLYGON = 4; // Can do winding polygons
  2702. {$EXTERNALSYM PC_WINDPOLYGON}
  2703. PC_TRAPEZOID = 4; // Can do trapezoids
  2704. {$EXTERNALSYM PC_TRAPEZOID}
  2705. PC_SCANLINE = 8; // Can do scanlines
  2706. {$EXTERNALSYM PC_SCANLINE}
  2707. PC_WIDE = 16; // Can do wide borders
  2708. {$EXTERNALSYM PC_WIDE}
  2709. PC_STYLED = 32; // Can do styled borders
  2710. {$EXTERNALSYM PC_STYLED}
  2711. PC_WIDESTYLED = 64; // Can do wide styled borders
  2712. {$EXTERNALSYM PC_WIDESTYLED}
  2713. PC_INTERIORS = 128; // Can do interiors
  2714. {$EXTERNALSYM PC_INTERIORS}
  2715. PC_POLYPOLYGON = 256; // Can do polypolygons
  2716. {$EXTERNALSYM PC_POLYPOLYGON}
  2717. PC_PATHS = 512; // Can do paths
  2718. {$EXTERNALSYM PC_PATHS}
  2719. // Clipping Capabilities
  2720. CP_NONE = 0; // No clipping of output
  2721. {$EXTERNALSYM CP_NONE}
  2722. CP_RECTANGLE = 1; // Output clipped to rects
  2723. {$EXTERNALSYM CP_RECTANGLE}
  2724. CP_REGION = 2; // obsolete
  2725. {$EXTERNALSYM CP_REGION}
  2726. // Text Capabilities
  2727. TC_OP_CHARACTER = $00000001; // Can do OutputPrecision CHARACTER
  2728. {$EXTERNALSYM TC_OP_CHARACTER}
  2729. TC_OP_STROKE = $00000002; // Can do OutputPrecision STROKE
  2730. {$EXTERNALSYM TC_OP_STROKE}
  2731. TC_CP_STROKE = $00000004; // Can do ClipPrecision STROKE
  2732. {$EXTERNALSYM TC_CP_STROKE}
  2733. TC_CR_90 = $00000008; // Can do CharRotAbility 90
  2734. {$EXTERNALSYM TC_CR_90}
  2735. TC_CR_ANY = $00000010; // Can do CharRotAbility ANY
  2736. {$EXTERNALSYM TC_CR_ANY}
  2737. TC_SF_X_YINDEP = $00000020; // Can do ScaleFreedom X_YINDEPENDENT
  2738. {$EXTERNALSYM TC_SF_X_YINDEP}
  2739. TC_SA_DOUBLE = $00000040; // Can do ScaleAbility DOUBLE
  2740. {$EXTERNALSYM TC_SA_DOUBLE}
  2741. TC_SA_INTEGER = $00000080; // Can do ScaleAbility INTEGER
  2742. {$EXTERNALSYM TC_SA_INTEGER}
  2743. TC_SA_CONTIN = $00000100; // Can do ScaleAbility CONTINUOUS
  2744. {$EXTERNALSYM TC_SA_CONTIN}
  2745. TC_EA_DOUBLE = $00000200; // Can do EmboldenAbility DOUBLE
  2746. {$EXTERNALSYM TC_EA_DOUBLE}
  2747. TC_IA_ABLE = $00000400; // Can do ItalisizeAbility ABLE
  2748. {$EXTERNALSYM TC_IA_ABLE}
  2749. TC_UA_ABLE = $00000800; // Can do UnderlineAbility ABLE
  2750. {$EXTERNALSYM TC_UA_ABLE}
  2751. TC_SO_ABLE = $00001000; // Can do StrikeOutAbility ABLE
  2752. {$EXTERNALSYM TC_SO_ABLE}
  2753. TC_RA_ABLE = $00002000; // Can do RasterFontAble ABLE
  2754. {$EXTERNALSYM TC_RA_ABLE}
  2755. TC_VA_ABLE = $00004000; // Can do VectorFontAble ABLE
  2756. {$EXTERNALSYM TC_VA_ABLE}
  2757. TC_RESERVED = $00008000;
  2758. {$EXTERNALSYM TC_RESERVED}
  2759. TC_SCROLLBLT = $00010000; // Don't do text scroll with blt
  2760. {$EXTERNALSYM TC_SCROLLBLT}
  2761. // Raster Capabilities
  2762. RC_BITBLT = 1; // Can do standard BLT.
  2763. {$EXTERNALSYM RC_BITBLT}
  2764. RC_BANDING = 2; // Device requires banding support
  2765. {$EXTERNALSYM RC_BANDING}
  2766. RC_SCALING = 4; // Device requires scaling support
  2767. {$EXTERNALSYM RC_SCALING}
  2768. RC_BITMAP64 = 8; // Device can support >64K bitmap
  2769. {$EXTERNALSYM RC_BITMAP64}
  2770. RC_GDI20_OUTPUT = $0010; // has 2.0 output calls
  2771. {$EXTERNALSYM RC_GDI20_OUTPUT}
  2772. RC_GDI20_STATE = $0020;
  2773. {$EXTERNALSYM RC_GDI20_STATE}
  2774. RC_SAVEBITMAP = $0040;
  2775. {$EXTERNALSYM RC_SAVEBITMAP}
  2776. RC_DI_BITMAP = $0080; // supports DIB to memory
  2777. {$EXTERNALSYM RC_DI_BITMAP}
  2778. RC_PALETTE = $0100; // supports a palette
  2779. {$EXTERNALSYM RC_PALETTE}
  2780. RC_DIBTODEV = $0200; // supports DIBitsToDevice
  2781. {$EXTERNALSYM RC_DIBTODEV}
  2782. RC_BIGFONT = $0400; // supports >64K fonts
  2783. {$EXTERNALSYM RC_BIGFONT}
  2784. RC_STRETCHBLT = $0800; // supports StretchBlt
  2785. {$EXTERNALSYM RC_STRETCHBLT}
  2786. RC_FLOODFILL = $1000; // supports FloodFill
  2787. {$EXTERNALSYM RC_FLOODFILL}
  2788. RC_STRETCHDIB = $2000; // supports StretchDIBits
  2789. {$EXTERNALSYM RC_STRETCHDIB}
  2790. RC_OP_DX_OUTPUT = $4000;
  2791. {$EXTERNALSYM RC_OP_DX_OUTPUT}
  2792. RC_DEVBITS = $8000;
  2793. {$EXTERNALSYM RC_DEVBITS}
  2794. // Shading and blending caps
  2795. SB_NONE = $00000000;
  2796. {$EXTERNALSYM SB_NONE}
  2797. SB_CONST_ALPHA = $00000001;
  2798. {$EXTERNALSYM SB_CONST_ALPHA}
  2799. SB_PIXEL_ALPHA = $00000002;
  2800. {$EXTERNALSYM SB_PIXEL_ALPHA}
  2801. SB_PREMULT_ALPHA = $00000004;
  2802. {$EXTERNALSYM SB_PREMULT_ALPHA}
  2803. SB_GRAD_RECT = $00000010;
  2804. {$EXTERNALSYM SB_GRAD_RECT}
  2805. SB_GRAD_TRI = $00000020;
  2806. {$EXTERNALSYM SB_GRAD_TRI}
  2807. // Color Management caps
  2808. CM_NONE = $00000000;
  2809. {$EXTERNALSYM CM_NONE}
  2810. CM_DEVICE_ICM = $00000001;
  2811. {$EXTERNALSYM CM_DEVICE_ICM}
  2812. CM_GAMMA_RAMP = $00000002;
  2813. {$EXTERNALSYM CM_GAMMA_RAMP}
  2814. CM_CMYK_COLOR = $00000004;
  2815. {$EXTERNALSYM CM_CMYK_COLOR}
  2816. // DIB color table identifiers
  2817. DIB_RGB_COLORS = 0; // color table in RGBs
  2818. {$EXTERNALSYM DIB_RGB_COLORS}
  2819. DIB_PAL_COLORS = 1; // color table in palette indices
  2820. {$EXTERNALSYM DIB_PAL_COLORS}
  2821. // constants for Get/SetSystemPaletteUse()
  2822. SYSPAL_ERROR = 0;
  2823. {$EXTERNALSYM SYSPAL_ERROR}
  2824. SYSPAL_STATIC = 1;
  2825. {$EXTERNALSYM SYSPAL_STATIC}
  2826. SYSPAL_NOSTATIC = 2;
  2827. {$EXTERNALSYM SYSPAL_NOSTATIC}
  2828. SYSPAL_NOSTATIC256 = 3;
  2829. {$EXTERNALSYM SYSPAL_NOSTATIC256}
  2830. // constants for CreateDIBitmap
  2831. CBM_INIT = $04; // initialize bitmap
  2832. {$EXTERNALSYM CBM_INIT}
  2833. // ExtFloodFill style flags
  2834. FLOODFILLBORDER = 0;
  2835. {$EXTERNALSYM FLOODFILLBORDER}
  2836. FLOODFILLSURFACE = 1;
  2837. {$EXTERNALSYM FLOODFILLSURFACE}
  2838. // size of a device name string
  2839. CCHDEVICENAME = 32;
  2840. {$EXTERNALSYM CCHDEVICENAME}
  2841. // size of a form name string
  2842. CCHFORMNAME = 32;
  2843. {$EXTERNALSYM CCHFORMNAME}
  2844. {$IFDEF WIN98ME}
  2845. {$IFNDEF WINNT4}
  2846. {$DEFINE WIN98ME_UP_EXCEPT_NT4}
  2847. {$ENDIF !WINNT4}
  2848. {$ENDIF WIN98ME}
  2849. type
  2850. TDmDisplayFlagsUnion = record
  2851. case Integer of
  2852. 0: (
  2853. dmDisplayFlags: DWORD);
  2854. 1: (
  2855. dmNup: DWORD);
  2856. end;
  2857. _devicemodeA = record
  2858. dmDeviceName: array [0..CCHDEVICENAME - 1] of BYTE;
  2859. dmSpecVersion: WORD;
  2860. dmDriverVersion: WORD;
  2861. dmSize: WORD;
  2862. dmDriverExtra: WORD;
  2863. dmFields: DWORD;
  2864. union1: record
  2865. case Integer of
  2866. // printer only fields
  2867. 0: (
  2868. dmOrientation: Smallint;
  2869. dmPaperSize: Smallint;
  2870. dmPaperLength: Smallint;
  2871. dmPaperWidth: Smallint;
  2872. dmScale: Smallint;
  2873. dmCopies: Smallint;
  2874. dmDefaultSource: Smallint;
  2875. dmPrintQuality: Smallint);
  2876. // display only fields
  2877. 1: (
  2878. dmPosition: POINTL;
  2879. dmDisplayOrientation: DWORD;
  2880. dmDisplayFixedOutput: DWORD);
  2881. end;
  2882. dmColor: Shortint;
  2883. dmDuplex: Shortint;
  2884. dmYResolution: Shortint;
  2885. dmTTOption: Shortint;
  2886. dmCollate: Shortint;
  2887. dmFormName: array [0..CCHFORMNAME - 1] of BYTE;
  2888. dmLogPixels: WORD;
  2889. dmBitsPerPel: DWORD;
  2890. dmPelsWidth: DWORD;
  2891. dmPelsHeight: DWORD;
  2892. dmDisplayFlags: TDmDisplayFlagsUnion;
  2893. dmDisplayFrequency: DWORD;
  2894. dmICMMethod: DWORD;
  2895. dmICMIntent: DWORD;
  2896. dmMediaType: DWORD;
  2897. dmDitherType: DWORD;
  2898. dmReserved1: DWORD;
  2899. dmReserved2: DWORD;
  2900. {$IFDEF WIN98ME_UP_EXCEPT_NT4}
  2901. dmPanningWidth: DWORD;
  2902. dmPanningHeight: DWORD;
  2903. {$ENDIF WIN98ME_UP_EXCEPT_NT4}
  2904. end;
  2905. {$EXTERNALSYM _devicemodeA}
  2906. DEVMODEA = _devicemodeA;
  2907. {$EXTERNALSYM DEVMODEA}
  2908. PDEVMODEA = ^DEVMODEA;
  2909. {$EXTERNALSYM PDEVMODEA}
  2910. LPDEVMODEA = ^DEVMODEA;
  2911. {$EXTERNALSYM LPDEVMODEA}
  2912. NPDEVMODEA = ^DEVMODEA;
  2913. {$EXTERNALSYM NPDEVMODEA}
  2914. TDevModeA = _devicemodeA;
  2915. _devicemodeW = record
  2916. dmDeviceName: array [0..CCHDEVICENAME - 1] of WCHAR;
  2917. dmSpecVersion: WORD;
  2918. dmDriverVersion: WORD;
  2919. dmSize: WORD;
  2920. dmDriverExtra: WORD;
  2921. dmFields: DWORD;
  2922. union1: record
  2923. case Integer of
  2924. // printer only fields
  2925. 0: (
  2926. dmOrientation: Smallint;
  2927. dmPaperSize: Smallint;
  2928. dmPaperLength: Smallint;
  2929. dmPaperWidth: Smallint;
  2930. dmScale: Smallint;
  2931. dmCopies: Smallint;
  2932. dmDefaultSource: Smallint;
  2933. dmPrintQuality: Smallint);
  2934. // display only fields
  2935. 1: (
  2936. dmPosition: POINTL;
  2937. dmDisplayOrientation: DWORD;
  2938. dmDisplayFixedOutput: DWORD);
  2939. end;
  2940. dmColor: Shortint;
  2941. dmDuplex: Shortint;
  2942. dmYResolution: Shortint;
  2943. dmTTOption: Shortint;
  2944. dmCollate: Shortint;
  2945. dmFormName: array [0..CCHFORMNAME - 1] of WCHAR;
  2946. dmLogPixels: WORD;
  2947. dmBitsPerPel: DWORD;
  2948. dmPelsWidth: DWORD;
  2949. dmPelsHeight: DWORD;
  2950. dmDiusplayFlags: TDmDisplayFlagsUnion;
  2951. dmDisplayFrequency: DWORD;
  2952. dmICMMethod: DWORD;
  2953. dmICMIntent: DWORD;
  2954. dmMediaType: DWORD;
  2955. dmDitherType: DWORD;
  2956. dmReserved1: DWORD;
  2957. dmReserved2: DWORD;
  2958. {$IFDEF WIN98ME_UP_EXCEPT_NT4}
  2959. dmPanningWidth: DWORD;
  2960. dmPanningHeight: DWORD;
  2961. {$ENDIF WIN98ME_UP_EXCEPT_NT4}
  2962. end;
  2963. {$EXTERNALSYM _devicemodeW}
  2964. DEVMODEW = _devicemodeW;
  2965. {$EXTERNALSYM DEVMODEW}
  2966. PDEVMODEW = ^DEVMODEW;
  2967. {$EXTERNALSYM PDEVMODEW}
  2968. LPDEVMODEW = ^DEVMODEW;
  2969. {$EXTERNALSYM LPDEVMODEW}
  2970. NPDEVMODEW = ^DEVMODEW;
  2971. {$EXTERNALSYM NPDEVMODEW}
  2972. TDevModeW = _devicemodeW;
  2973. {$IFDEF UNICODE}
  2974. DEVMODE = DEVMODEW;
  2975. {$EXTERNALSYM DEVMODE}
  2976. PDEVMODE = PDEVMODEW;
  2977. {$EXTERNALSYM PDEVMODE}
  2978. NPDEVMODE = NPDEVMODEW;
  2979. {$EXTERNALSYM NPDEVMODE}
  2980. LPDEVMODE = LPDEVMODEW;
  2981. {$EXTERNALSYM LPDEVMODE}
  2982. TDevMode = TDevModeW;
  2983. {$ELSE}
  2984. DEVMODE = DEVMODEA;
  2985. {$EXTERNALSYM DEVMODE}
  2986. PDEVMODE = PDEVMODEA;
  2987. {$EXTERNALSYM PDEVMODE}
  2988. NPDEVMODE = NPDEVMODEA;
  2989. {$EXTERNALSYM NPDEVMODE}
  2990. LPDEVMODE = LPDEVMODEA;
  2991. {$EXTERNALSYM LPDEVMODE}
  2992. TDevMode = TDevModeA;
  2993. {$ENDIF UNICODE}
  2994. // current version of specification
  2995. const
  2996. {$IFDEF WIN98ME_UP_EXCEPT_NT4}
  2997. DM_SPECVERSION = $0401;
  2998. {$EXTERNALSYM DM_SPECVERSION}
  2999. {$ELSE}
  3000. DM_SPECVERSION = $0400;
  3001. {$EXTERNALSYM DM_SPECVERSION}
  3002. {$ENDIF WIN98ME_UP_EXCEPT_NT4}
  3003. {$UNDEF WIN98ME_UP_EXCEPT_NT4}
  3004. // field selection bits
  3005. const
  3006. DM_ORIENTATION = $00000001;
  3007. {$EXTERNALSYM DM_ORIENTATION}
  3008. DM_PAPERSIZE = $00000002;
  3009. {$EXTERNALSYM DM_PAPERSIZE}
  3010. DM_PAPERLENGTH = $00000004;
  3011. {$EXTERNALSYM DM_PAPERLENGTH}
  3012. DM_PAPERWIDTH = $00000008;
  3013. {$EXTERNALSYM DM_PAPERWIDTH}
  3014. DM_SCALE = $00000010;
  3015. {$EXTERNALSYM DM_SCALE}
  3016. DM_POSITION = $00000020;
  3017. {$EXTERNALSYM DM_POSITION}
  3018. DM_NUP = $00000040;
  3019. {$EXTERNALSYM DM_NUP}
  3020. //#if(WINVER >= 0x0501)
  3021. DM_DISPLAYORIENTATION = $00000080;
  3022. {$EXTERNALSYM DM_DISPLAYORIENTATION}
  3023. //#endif /* WINVER >= 0x0501 */
  3024. DM_COPIES = $00000100;
  3025. {$EXTERNALSYM DM_COPIES}
  3026. DM_DEFAULTSOURCE = $00000200;
  3027. {$EXTERNALSYM DM_DEFAULTSOURCE}
  3028. DM_PRINTQUALITY = $00000400;
  3029. {$EXTERNALSYM DM_PRINTQUALITY}
  3030. DM_COLOR = $00000800;
  3031. {$EXTERNALSYM DM_COLOR}
  3032. DM_DUPLEX = $00001000;
  3033. {$EXTERNALSYM DM_DUPLEX}
  3034. DM_YRESOLUTION = $00002000;
  3035. {$EXTERNALSYM DM_YRESOLUTION}
  3036. DM_TTOPTION = $00004000;
  3037. {$EXTERNALSYM DM_TTOPTION}
  3038. DM_COLLATE = $00008000;
  3039. {$EXTERNALSYM DM_COLLATE}
  3040. DM_FORMNAME = $00010000;
  3041. {$EXTERNALSYM DM_FORMNAME}
  3042. DM_LOGPIXELS = $00020000;
  3043. {$EXTERNALSYM DM_LOGPIXELS}
  3044. DM_BITSPERPEL = $00040000;
  3045. {$EXTERNALSYM DM_BITSPERPEL}
  3046. DM_PELSWIDTH = $00080000;
  3047. {$EXTERNALSYM DM_PELSWIDTH}
  3048. DM_PELSHEIGHT = $00100000;
  3049. {$EXTERNALSYM DM_PELSHEIGHT}
  3050. DM_DISPLAYFLAGS = $00200000;
  3051. {$EXTERNALSYM DM_DISPLAYFLAGS}
  3052. DM_DISPLAYFREQUENCY = $00400000;
  3053. {$EXTERNALSYM DM_DISPLAYFREQUENCY}
  3054. DM_ICMMETHOD = $00800000;
  3055. {$EXTERNALSYM DM_ICMMETHOD}
  3056. DM_ICMINTENT = $01000000;
  3057. {$EXTERNALSYM DM_ICMINTENT}
  3058. DM_MEDIATYPE = $02000000;
  3059. {$EXTERNALSYM DM_MEDIATYPE}
  3060. DM_DITHERTYPE = $04000000;
  3061. {$EXTERNALSYM DM_DITHERTYPE}
  3062. DM_PANNINGWIDTH = $08000000;
  3063. {$EXTERNALSYM DM_PANNINGWIDTH}
  3064. DM_PANNINGHEIGHT = $10000000;
  3065. {$EXTERNALSYM DM_PANNINGHEIGHT}
  3066. //#if(WINVER >= 0x0501)
  3067. DM_DISPLAYFIXEDOUTPUT = $20000000;
  3068. {$EXTERNALSYM DM_DISPLAYFIXEDOUTPUT}
  3069. //#endif /* WINVER >= 0x0501 */
  3070. // orientation selections
  3071. DMORIENT_PORTRAIT = 1;
  3072. {$EXTERNALSYM DMORIENT_PORTRAIT}
  3073. DMORIENT_LANDSCAPE = 2;
  3074. {$EXTERNALSYM DMORIENT_LANDSCAPE}
  3075. // paper selections
  3076. DMPAPER_LETTER = 1; // Letter 8 1/2 x 11 in
  3077. {$EXTERNALSYM DMPAPER_LETTER}
  3078. DMPAPER_FIRST = DMPAPER_LETTER;
  3079. {$EXTERNALSYM DMPAPER_FIRST}
  3080. DMPAPER_LETTERSMALL = 2; // Letter Small 8 1/2 x 11 in
  3081. {$EXTERNALSYM DMPAPER_LETTERSMALL}
  3082. DMPAPER_TABLOID = 3; // Tabloid 11 x 17 in
  3083. {$EXTERNALSYM DMPAPER_TABLOID}
  3084. DMPAPER_LEDGER = 4; // Ledger 17 x 11 in
  3085. {$EXTERNALSYM DMPAPER_LEDGER}
  3086. DMPAPER_LEGAL = 5; // Legal 8 1/2 x 14 in
  3087. {$EXTERNALSYM DMPAPER_LEGAL}
  3088. DMPAPER_STATEMENT = 6; // Statement 5 1/2 x 8 1/2 in
  3089. {$EXTERNALSYM DMPAPER_STATEMENT}
  3090. DMPAPER_EXECUTIVE = 7; // Executive 7 1/4 x 10 1/2 in
  3091. {$EXTERNALSYM DMPAPER_EXECUTIVE}
  3092. DMPAPER_A3 = 8; // A3 297 x 420 mm
  3093. {$EXTERNALSYM DMPAPER_A3}
  3094. DMPAPER_A4 = 9; // A4 210 x 297 mm
  3095. {$EXTERNALSYM DMPAPER_A4}
  3096. DMPAPER_A4SMALL = 10; // A4 Small 210 x 297 mm
  3097. {$EXTERNALSYM DMPAPER_A4SMALL}
  3098. DMPAPER_A5 = 11; // A5 148 x 210 mm
  3099. {$EXTERNALSYM DMPAPER_A5}
  3100. DMPAPER_B4 = 12; // B4 (JIS) 250 x 354
  3101. {$EXTERNALSYM DMPAPER_B4}
  3102. DMPAPER_B5 = 13; // B5 (JIS) 182 x 257 mm
  3103. {$EXTERNALSYM DMPAPER_B5}
  3104. DMPAPER_FOLIO = 14; // Folio 8 1/2 x 13 in
  3105. {$EXTERNALSYM DMPAPER_FOLIO}
  3106. DMPAPER_QUARTO = 15; // Quarto 215 x 275 mm
  3107. {$EXTERNALSYM DMPAPER_QUARTO}
  3108. DMPAPER_10X14 = 16; // 10x14 in
  3109. {$EXTERNALSYM DMPAPER_10X14}
  3110. DMPAPER_11X17 = 17; // 11x17 in
  3111. {$EXTERNALSYM DMPAPER_11X17}
  3112. DMPAPER_NOTE = 18; // Note 8 1/2 x 11 in
  3113. {$EXTERNALSYM DMPAPER_NOTE}
  3114. DMPAPER_ENV_9 = 19; // Envelope #9 3 7/8 x 8 7/8
  3115. {$EXTERNALSYM DMPAPER_ENV_9}
  3116. DMPAPER_ENV_10 = 20; // Envelope #10 4 1/8 x 9 1/2
  3117. {$EXTERNALSYM DMPAPER_ENV_10}
  3118. DMPAPER_ENV_11 = 21; // Envelope #11 4 1/2 x 10 3/8
  3119. {$EXTERNALSYM DMPAPER_ENV_11}
  3120. DMPAPER_ENV_12 = 22; // Envelope #12 4 \276 x 11
  3121. {$EXTERNALSYM DMPAPER_ENV_12}
  3122. DMPAPER_ENV_14 = 23; // Envelope #14 5 x 11 1/2
  3123. {$EXTERNALSYM DMPAPER_ENV_14}
  3124. DMPAPER_CSHEET = 24; // C size sheet
  3125. {$EXTERNALSYM DMPAPER_CSHEET}
  3126. DMPAPER_DSHEET = 25; // D size sheet
  3127. {$EXTERNALSYM DMPAPER_DSHEET}
  3128. DMPAPER_ESHEET = 26; // E size sheet
  3129. {$EXTERNALSYM DMPAPER_ESHEET}
  3130. DMPAPER_ENV_DL = 27; // Envelope DL 110 x 220mm
  3131. {$EXTERNALSYM DMPAPER_ENV_DL}
  3132. DMPAPER_ENV_C5 = 28; // Envelope C5 162 x 229 mm
  3133. {$EXTERNALSYM DMPAPER_ENV_C5}
  3134. DMPAPER_ENV_C3 = 29; // Envelope C3 324 x 458 mm
  3135. {$EXTERNALSYM DMPAPER_ENV_C3}
  3136. DMPAPER_ENV_C4 = 30; // Envelope C4 229 x 324 mm
  3137. {$EXTERNALSYM DMPAPER_ENV_C4}
  3138. DMPAPER_ENV_C6 = 31; // Envelope C6 114 x 162 mm
  3139. {$EXTERNALSYM DMPAPER_ENV_C6}
  3140. DMPAPER_ENV_C65 = 32; // Envelope C65 114 x 229 mm
  3141. {$EXTERNALSYM DMPAPER_ENV_C65}
  3142. DMPAPER_ENV_B4 = 33; // Envelope B4 250 x 353 mm
  3143. {$EXTERNALSYM DMPAPER_ENV_B4}
  3144. DMPAPER_ENV_B5 = 34; // Envelope B5 176 x 250 mm
  3145. {$EXTERNALSYM DMPAPER_ENV_B5}
  3146. DMPAPER_ENV_B6 = 35; // Envelope B6 176 x 125 mm
  3147. {$EXTERNALSYM DMPAPER_ENV_B6}
  3148. DMPAPER_ENV_ITALY = 36; // Envelope 110 x 230 mm
  3149. {$EXTERNALSYM DMPAPER_ENV_ITALY}
  3150. DMPAPER_ENV_MONARCH = 37; // Envelope Monarch 3.875 x 7.5 in
  3151. {$EXTERNALSYM DMPAPER_ENV_MONARCH}
  3152. DMPAPER_ENV_PERSONAL = 38; // 6 3/4 Envelope 3 5/8 x 6 1/2 in
  3153. {$EXTERNALSYM DMPAPER_ENV_PERSONAL}
  3154. DMPAPER_FANFOLD_US = 39; // US Std Fanfold 14 7/8 x 11 in
  3155. {$EXTERNALSYM DMPAPER_FANFOLD_US}
  3156. DMPAPER_FANFOLD_STD_GERMAN = 40; // German Std Fanfold 8 1/2 x 12 in
  3157. {$EXTERNALSYM DMPAPER_FANFOLD_STD_GERMAN}
  3158. DMPAPER_FANFOLD_LGL_GERMAN = 41; // German Legal Fanfold 8 1/2 x 13 in
  3159. {$EXTERNALSYM DMPAPER_FANFOLD_LGL_GERMAN}
  3160. DMPAPER_ISO_B4 = 42; // B4 (ISO) 250 x 353 mm
  3161. {$EXTERNALSYM DMPAPER_ISO_B4}
  3162. DMPAPER_JAPANESE_POSTCARD = 43; // Japanese Postcard 100 x 148 mm
  3163. {$EXTERNALSYM DMPAPER_JAPANESE_POSTCARD}
  3164. DMPAPER_9X11 = 44; // 9 x 11 in
  3165. {$EXTERNALSYM DMPAPER_9X11}
  3166. DMPAPER_10X11 = 45; // 10 x 11 in
  3167. {$EXTERNALSYM DMPAPER_10X11}
  3168. DMPAPER_15X11 = 46; // 15 x 11 in
  3169. {$EXTERNALSYM DMPAPER_15X11}
  3170. DMPAPER_ENV_INVITE = 47; // Envelope Invite 220 x 220 mm
  3171. {$EXTERNALSYM DMPAPER_ENV_INVITE}
  3172. DMPAPER_RESERVED_48 = 48; // RESERVED--DO NOT USE
  3173. {$EXTERNALSYM DMPAPER_RESERVED_48}
  3174. DMPAPER_RESERVED_49 = 49; // RESERVED--DO NOT USE
  3175. {$EXTERNALSYM DMPAPER_RESERVED_49}
  3176. DMPAPER_LETTER_EXTRA = 50; // Letter Extra 9 \275 x 12 in
  3177. {$EXTERNALSYM DMPAPER_LETTER_EXTRA}
  3178. DMPAPER_LEGAL_EXTRA = 51; // Legal Extra 9 \275 x 15 in
  3179. {$EXTERNALSYM DMPAPER_LEGAL_EXTRA}
  3180. DMPAPER_TABLOID_EXTRA = 52; // Tabloid Extra 11.69 x 18 in
  3181. {$EXTERNALSYM DMPAPER_TABLOID_EXTRA}
  3182. DMPAPER_A4_EXTRA = 53; // A4 Extra 9.27 x 12.69 in
  3183. {$EXTERNALSYM DMPAPER_A4_EXTRA}
  3184. DMPAPER_LETTER_TRANSVERSE = 54; // Letter Transverse 8 \275 x 11 in
  3185. {$EXTERNALSYM DMPAPER_LETTER_TRANSVERSE}
  3186. DMPAPER_A4_TRANSVERSE = 55; // A4 Transverse 210 x 297 mm
  3187. {$EXTERNALSYM DMPAPER_A4_TRANSVERSE}
  3188. DMPAPER_LETTER_EXTRA_TRANSVERSE = 56; // Letter Extra Transverse 9\275 x 12 in
  3189. {$EXTERNALSYM DMPAPER_LETTER_EXTRA_TRANSVERSE}
  3190. DMPAPER_A_PLUS = 57; // SuperA/SuperA/A4 227 x 356 mm
  3191. {$EXTERNALSYM DMPAPER_A_PLUS}
  3192. DMPAPER_B_PLUS = 58; // SuperB/SuperB/A3 305 x 487 mm
  3193. {$EXTERNALSYM DMPAPER_B_PLUS}
  3194. DMPAPER_LETTER_PLUS = 59; // Letter Plus 8.5 x 12.69 in
  3195. {$EXTERNALSYM DMPAPER_LETTER_PLUS}
  3196. DMPAPER_A4_PLUS = 60; // A4 Plus 210 x 330 mm
  3197. {$EXTERNALSYM DMPAPER_A4_PLUS}
  3198. DMPAPER_A5_TRANSVERSE = 61; // A5 Transverse 148 x 210 mm
  3199. {$EXTERNALSYM DMPAPER_A5_TRANSVERSE}
  3200. DMPAPER_B5_TRANSVERSE = 62; // B5 (JIS) Transverse 182 x 257 mm
  3201. {$EXTERNALSYM DMPAPER_B5_TRANSVERSE}
  3202. DMPAPER_A3_EXTRA = 63; // A3 Extra 322 x 445 mm
  3203. {$EXTERNALSYM DMPAPER_A3_EXTRA}
  3204. DMPAPER_A5_EXTRA = 64; // A5 Extra 174 x 235 mm
  3205. {$EXTERNALSYM DMPAPER_A5_EXTRA}
  3206. DMPAPER_B5_EXTRA = 65; // B5 (ISO) Extra 201 x 276 mm
  3207. {$EXTERNALSYM DMPAPER_B5_EXTRA}
  3208. DMPAPER_A2 = 66; // A2 420 x 594 mm
  3209. {$EXTERNALSYM DMPAPER_A2}
  3210. DMPAPER_A3_TRANSVERSE = 67; // A3 Transverse 297 x 420 mm
  3211. {$EXTERNALSYM DMPAPER_A3_TRANSVERSE}
  3212. DMPAPER_A3_EXTRA_TRANSVERSE = 68; // A3 Extra Transverse 322 x 445 mm
  3213. {$EXTERNALSYM DMPAPER_A3_EXTRA_TRANSVERSE}
  3214. DMPAPER_DBL_JAPANESE_POSTCARD = 69; // Japanese Double Postcard 200 x 148 mm
  3215. {$EXTERNALSYM DMPAPER_DBL_JAPANESE_POSTCARD}
  3216. DMPAPER_A6 = 70; // A6 105 x 148 mm
  3217. {$EXTERNALSYM DMPAPER_A6}
  3218. DMPAPER_JENV_KAKU2 = 71; // Japanese Envelope Kaku #2
  3219. {$EXTERNALSYM DMPAPER_JENV_KAKU2}
  3220. DMPAPER_JENV_KAKU3 = 72; // Japanese Envelope Kaku #3
  3221. {$EXTERNALSYM DMPAPER_JENV_KAKU3}
  3222. DMPAPER_JENV_CHOU3 = 73; // Japanese Envelope Chou #3
  3223. {$EXTERNALSYM DMPAPER_JENV_CHOU3}
  3224. DMPAPER_JENV_CHOU4 = 74; // Japanese Envelope Chou #4
  3225. {$EXTERNALSYM DMPAPER_JENV_CHOU4}
  3226. DMPAPER_LETTER_ROTATED = 75; // Letter Rotated 11 x 8 1/2 11 in
  3227. {$EXTERNALSYM DMPAPER_LETTER_ROTATED}
  3228. DMPAPER_A3_ROTATED = 76; // A3 Rotated 420 x 297 mm
  3229. {$EXTERNALSYM DMPAPER_A3_ROTATED}
  3230. DMPAPER_A4_ROTATED = 77; // A4 Rotated 297 x 210 mm
  3231. {$EXTERNALSYM DMPAPER_A4_ROTATED}
  3232. DMPAPER_A5_ROTATED = 78; // A5 Rotated 210 x 148 mm
  3233. {$EXTERNALSYM DMPAPER_A5_ROTATED}
  3234. DMPAPER_B4_JIS_ROTATED = 79; // B4 (JIS) Rotated 364 x 257 mm
  3235. {$EXTERNALSYM DMPAPER_B4_JIS_ROTATED}
  3236. DMPAPER_B5_JIS_ROTATED = 80; // B5 (JIS) Rotated 257 x 182 mm
  3237. {$EXTERNALSYM DMPAPER_B5_JIS_ROTATED}
  3238. DMPAPER_JAPANESE_POSTCARD_ROTATED = 81; // Japanese Postcard Rotated 148 x 100 mm
  3239. {$EXTERNALSYM DMPAPER_JAPANESE_POSTCARD_ROTATED}
  3240. DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED = 82; // Double Japanese Postcard Rotated 148 x 200 mm
  3241. {$EXTERNALSYM DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED}
  3242. DMPAPER_A6_ROTATED = 83; // A6 Rotated 148 x 105 mm
  3243. {$EXTERNALSYM DMPAPER_A6_ROTATED}
  3244. DMPAPER_JENV_KAKU2_ROTATED = 84; // Japanese Envelope Kaku #2 Rotated
  3245. {$EXTERNALSYM DMPAPER_JENV_KAKU2_ROTATED}
  3246. DMPAPER_JENV_KAKU3_ROTATED = 85; // Japanese Envelope Kaku #3 Rotated
  3247. {$EXTERNALSYM DMPAPER_JENV_KAKU3_ROTATED}
  3248. DMPAPER_JENV_CHOU3_ROTATED = 86; // Japanese Envelope Chou #3 Rotated
  3249. {$EXTERNALSYM DMPAPER_JENV_CHOU3_ROTATED}
  3250. DMPAPER_JENV_CHOU4_ROTATED = 87; // Japanese Envelope Chou #4 Rotated
  3251. {$EXTERNALSYM DMPAPER_JENV_CHOU4_ROTATED}
  3252. DMPAPER_B6_JIS = 88; // B6 (JIS) 128 x 182 mm
  3253. {$EXTERNALSYM DMPAPER_B6_JIS}
  3254. DMPAPER_B6_JIS_ROTATED = 89; // B6 (JIS) Rotated 182 x 128 mm
  3255. {$EXTERNALSYM DMPAPER_B6_JIS_ROTATED}
  3256. DMPAPER_12X11 = 90; // 12 x 11 in
  3257. {$EXTERNALSYM DMPAPER_12X11}
  3258. DMPAPER_JENV_YOU4 = 91; // Japanese Envelope You #4
  3259. {$EXTERNALSYM DMPAPER_JENV_YOU4}
  3260. DMPAPER_JENV_YOU4_ROTATED = 92; // Japanese Envelope You #4 Rotated
  3261. {$EXTERNALSYM DMPAPER_JENV_YOU4_ROTATED}
  3262. DMPAPER_P16K = 93; // PRC 16K 146 x 215 mm
  3263. {$EXTERNALSYM DMPAPER_P16K}
  3264. DMPAPER_P32K = 94; // PRC 32K 97 x 151 mm
  3265. {$EXTERNALSYM DMPAPER_P32K}
  3266. DMPAPER_P32KBIG = 95; // PRC 32K(Big) 97 x 151 mm
  3267. {$EXTERNALSYM DMPAPER_P32KBIG}
  3268. DMPAPER_PENV_1 = 96; // PRC Envelope #1 102 x 165 mm
  3269. {$EXTERNALSYM DMPAPER_PENV_1}
  3270. DMPAPER_PENV_2 = 97; // PRC Envelope #2 102 x 176 mm
  3271. {$EXTERNALSYM DMPAPER_PENV_2}
  3272. DMPAPER_PENV_3 = 98; // PRC Envelope #3 125 x 176 mm
  3273. {$EXTERNALSYM DMPAPER_PENV_3}
  3274. DMPAPER_PENV_4 = 99; // PRC Envelope #4 110 x 208 mm
  3275. {$EXTERNALSYM DMPAPER_PENV_4}
  3276. DMPAPER_PENV_5 = 100; // PRC Envelope #5 110 x 220 mm
  3277. {$EXTERNALSYM DMPAPER_PENV_5}
  3278. DMPAPER_PENV_6 = 101; // PRC Envelope #6 120 x 230 mm
  3279. {$EXTERNALSYM DMPAPER_PENV_6}
  3280. DMPAPER_PENV_7 = 102; // PRC Envelope #7 160 x 230 mm
  3281. {$EXTERNALSYM DMPAPER_PENV_7}
  3282. DMPAPER_PENV_8 = 103; // PRC Envelope #8 120 x 309 mm
  3283. {$EXTERNALSYM DMPAPER_PENV_8}
  3284. DMPAPER_PENV_9 = 104; // PRC Envelope #9 229 x 324 mm
  3285. {$EXTERNALSYM DMPAPER_PENV_9}
  3286. DMPAPER_PENV_10 = 105; // PRC Envelope #10 324 x 458 mm
  3287. {$EXTERNALSYM DMPAPER_PENV_10}
  3288. DMPAPER_P16K_ROTATED = 106; // PRC 16K Rotated
  3289. {$EXTERNALSYM DMPAPER_P16K_ROTATED}
  3290. DMPAPER_P32K_ROTATED = 107; // PRC 32K Rotated
  3291. {$EXTERNALSYM DMPAPER_P32K_ROTATED}
  3292. DMPAPER_P32KBIG_ROTATED = 108; // PRC 32K(Big) Rotated
  3293. {$EXTERNALSYM DMPAPER_P32KBIG_ROTATED}
  3294. DMPAPER_PENV_1_ROTATED = 109; // PRC Envelope #1 Rotated 165 x 102 mm
  3295. {$EXTERNALSYM DMPAPER_PENV_1_ROTATED}
  3296. DMPAPER_PENV_2_ROTATED = 110; // PRC Envelope #2 Rotated 176 x 102 mm
  3297. {$EXTERNALSYM DMPAPER_PENV_2_ROTATED}
  3298. DMPAPER_PENV_3_ROTATED = 111; // PRC Envelope #3 Rotated 176 x 125 mm
  3299. {$EXTERNALSYM DMPAPER_PENV_3_ROTATED}
  3300. DMPAPER_PENV_4_ROTATED = 112; // PRC Envelope #4 Rotated 208 x 110 mm
  3301. {$EXTERNALSYM DMPAPER_PENV_4_ROTATED}
  3302. DMPAPER_PENV_5_ROTATED = 113; // PRC Envelope #5 Rotated 220 x 110 mm
  3303. {$EXTERNALSYM DMPAPER_PENV_5_ROTATED}
  3304. DMPAPER_PENV_6_ROTATED = 114; // PRC Envelope #6 Rotated 230 x 120 mm
  3305. {$EXTERNALSYM DMPAPER_PENV_6_ROTATED}
  3306. DMPAPER_PENV_7_ROTATED = 115; // PRC Envelope #7 Rotated 230 x 160 mm
  3307. {$EXTERNALSYM DMPAPER_PENV_7_ROTATED}
  3308. DMPAPER_PENV_8_ROTATED = 116; // PRC Envelope #8 Rotated 309 x 120 mm
  3309. {$EXTERNALSYM DMPAPER_PENV_8_ROTATED}
  3310. DMPAPER_PENV_9_ROTATED = 117; // PRC Envelope #9 Rotated 324 x 229 mm
  3311. {$EXTERNALSYM DMPAPER_PENV_9_ROTATED}
  3312. DMPAPER_PENV_10_ROTATED = 118; // PRC Envelope #10 Rotated 458 x 324 mm
  3313. {$EXTERNALSYM DMPAPER_PENV_10_ROTATED}
  3314. {$IFDEF WIN98ME_UP}
  3315. DMPAPER_LAST = DMPAPER_PENV_10_ROTATED;
  3316. {$EXTERNALSYM DMPAPER_LAST}
  3317. {$ELSE}
  3318. DMPAPER_LAST = DMPAPER_A3_EXTRA_TRANSVERSE;
  3319. {$EXTERNALSYM DMPAPER_LAST}
  3320. {$ENDIF WIN98ME_UP}
  3321. DMPAPER_USER = 256;
  3322. {$EXTERNALSYM DMPAPER_USER}
  3323. // bin selections
  3324. DMBIN_UPPER = 1;
  3325. {$EXTERNALSYM DMBIN_UPPER}
  3326. DMBIN_FIRST = DMBIN_UPPER;
  3327. {$EXTERNALSYM DMBIN_FIRST}
  3328. DMBIN_ONLYONE = 1;
  3329. {$EXTERNALSYM DMBIN_ONLYONE}
  3330. DMBIN_LOWER = 2;
  3331. {$EXTERNALSYM DMBIN_LOWER}
  3332. DMBIN_MIDDLE = 3;
  3333. {$EXTERNALSYM DMBIN_MIDDLE}
  3334. DMBIN_MANUAL = 4;
  3335. {$EXTERNALSYM DMBIN_MANUAL}
  3336. DMBIN_ENVELOPE = 5;
  3337. {$EXTERNALSYM DMBIN_ENVELOPE}
  3338. DMBIN_ENVMANUAL = 6;
  3339. {$EXTERNALSYM DMBIN_ENVMANUAL}
  3340. DMBIN_AUTO = 7;
  3341. {$EXTERNALSYM DMBIN_AUTO}
  3342. DMBIN_TRACTOR = 8;
  3343. {$EXTERNALSYM DMBIN_TRACTOR}
  3344. DMBIN_SMALLFMT = 9;
  3345. {$EXTERNALSYM DMBIN_SMALLFMT}
  3346. DMBIN_LARGEFMT = 10;
  3347. {$EXTERNALSYM DMBIN_LARGEFMT}
  3348. DMBIN_LARGECAPACITY = 11;
  3349. {$EXTERNALSYM DMBIN_LARGECAPACITY}
  3350. DMBIN_CASSETTE = 14;
  3351. {$EXTERNALSYM DMBIN_CASSETTE}
  3352. DMBIN_FORMSOURCE = 15;
  3353. {$EXTERNALSYM DMBIN_FORMSOURCE}
  3354. DMBIN_LAST = DMBIN_FORMSOURCE;
  3355. {$EXTERNALSYM DMBIN_LAST}
  3356. DMBIN_USER = 256; // device specific bins start here
  3357. {$EXTERNALSYM DMBIN_USER}
  3358. // print qualities
  3359. DMRES_DRAFT = DWORD(-1);
  3360. {$EXTERNALSYM DMRES_DRAFT}
  3361. DMRES_LOW = DWORD(-2);
  3362. {$EXTERNALSYM DMRES_LOW}
  3363. DMRES_MEDIUM = DWORD(-3);
  3364. {$EXTERNALSYM DMRES_MEDIUM}
  3365. DMRES_HIGH = DWORD(-4);
  3366. {$EXTERNALSYM DMRES_HIGH}
  3367. // color enable/disable for color printers
  3368. DMCOLOR_MONOCHROME = 1;
  3369. {$EXTERNALSYM DMCOLOR_MONOCHROME}
  3370. DMCOLOR_COLOR = 2;
  3371. {$EXTERNALSYM DMCOLOR_COLOR}
  3372. // duplex enable
  3373. DMDUP_SIMPLEX = 1;
  3374. {$EXTERNALSYM DMDUP_SIMPLEX}
  3375. DMDUP_VERTICAL = 2;
  3376. {$EXTERNALSYM DMDUP_VERTICAL}
  3377. DMDUP_HORIZONTAL = 3;
  3378. {$EXTERNALSYM DMDUP_HORIZONTAL}
  3379. // TrueType options
  3380. DMTT_BITMAP = 1; // print TT fonts as graphics
  3381. {$EXTERNALSYM DMTT_BITMAP}
  3382. DMTT_DOWNLOAD = 2; // download TT fonts as soft fonts
  3383. {$EXTERNALSYM DMTT_DOWNLOAD}
  3384. DMTT_SUBDEV = 3; // substitute device fonts for TT fonts
  3385. {$EXTERNALSYM DMTT_SUBDEV}
  3386. DMTT_DOWNLOAD_OUTLINE = 4; // download TT fonts as outline soft fonts
  3387. {$EXTERNALSYM DMTT_DOWNLOAD_OUTLINE}
  3388. // Collation selections
  3389. DMCOLLATE_FALSE = 0;
  3390. {$EXTERNALSYM DMCOLLATE_FALSE}
  3391. DMCOLLATE_TRUE = 1;
  3392. {$EXTERNALSYM DMCOLLATE_TRUE}
  3393. //#if(WINVER >= 0x0501)
  3394. // DEVMODE dmDisplayOrientation specifiations
  3395. DMDO_DEFAULT = 0;
  3396. {$EXTERNALSYM DMDO_DEFAULT}
  3397. DMDO_90 = 1;
  3398. {$EXTERNALSYM DMDO_90}
  3399. DMDO_180 = 2;
  3400. {$EXTERNALSYM DMDO_180}
  3401. DMDO_270 = 3;
  3402. {$EXTERNALSYM DMDO_270}
  3403. // DEVMODE dmDisplayFixedOutput specifiations
  3404. DMDFO_DEFAULT = 0;
  3405. {$EXTERNALSYM DMDFO_DEFAULT}
  3406. DMDFO_STRETCH = 1;
  3407. {$EXTERNALSYM DMDFO_STRETCH}
  3408. DMDFO_CENTER = 2;
  3409. {$EXTERNALSYM DMDFO_CENTER}
  3410. //#endif /* WINVER >= 0x0501 */
  3411. // DEVMODE dmDisplayFlags flags
  3412. // #define DM_GRAYSCALE 0x00000001 /* This flag is no longer valid */
  3413. // #define DM_INTERLACED 0x00000002 /* This flag is no longer valid */
  3414. DMDISPLAYFLAGS_TEXTMODE = $00000004;
  3415. {$EXTERNALSYM DMDISPLAYFLAGS_TEXTMODE}
  3416. // dmNup , multiple logical page per physical page options
  3417. DMNUP_SYSTEM = 1;
  3418. {$EXTERNALSYM DMNUP_SYSTEM}
  3419. DMNUP_ONEUP = 2;
  3420. {$EXTERNALSYM DMNUP_ONEUP}
  3421. // ICM methods
  3422. DMICMMETHOD_NONE = 1; // ICM disabled
  3423. {$EXTERNALSYM DMICMMETHOD_NONE}
  3424. DMICMMETHOD_SYSTEM = 2; // ICM handled by system
  3425. {$EXTERNALSYM DMICMMETHOD_SYSTEM}
  3426. DMICMMETHOD_DRIVER = 3; // ICM handled by driver
  3427. {$EXTERNALSYM DMICMMETHOD_DRIVER}
  3428. DMICMMETHOD_DEVICE = 4; // ICM handled by device
  3429. {$EXTERNALSYM DMICMMETHOD_DEVICE}
  3430. DMICMMETHOD_USER = 256; // Device-specific methods start here
  3431. {$EXTERNALSYM DMICMMETHOD_USER}
  3432. // ICM Intents
  3433. DMICM_SATURATE = 1; // Maximize color saturation
  3434. {$EXTERNALSYM DMICM_SATURATE}
  3435. DMICM_CONTRAST = 2; // Maximize color contrast
  3436. {$EXTERNALSYM DMICM_CONTRAST}
  3437. DMICM_COLORIMETRIC = 3; // Use specific color metric
  3438. {$EXTERNALSYM DMICM_COLORIMETRIC}
  3439. DMICM_ABS_COLORIMETRIC = 4; // Use specific color metric
  3440. {$EXTERNALSYM DMICM_ABS_COLORIMETRIC}
  3441. DMICM_USER = 256; // Device-specific intents start here
  3442. {$EXTERNALSYM DMICM_USER}
  3443. // Media types
  3444. DMMEDIA_STANDARD = 1; // Standard paper
  3445. {$EXTERNALSYM DMMEDIA_STANDARD}
  3446. DMMEDIA_TRANSPARENCY = 2; // Transparency
  3447. {$EXTERNALSYM DMMEDIA_TRANSPARENCY}
  3448. DMMEDIA_GLOSSY = 3; // Glossy paper
  3449. {$EXTERNALSYM DMMEDIA_GLOSSY}
  3450. DMMEDIA_USER = 256; // Device-specific media start here
  3451. {$EXTERNALSYM DMMEDIA_USER}
  3452. // Dither types
  3453. DMDITHER_NONE = 1; // No dithering
  3454. {$EXTERNALSYM DMDITHER_NONE}
  3455. DMDITHER_COARSE = 2; // Dither with a coarse brush
  3456. {$EXTERNALSYM DMDITHER_COARSE}
  3457. DMDITHER_FINE = 3; // Dither with a fine brush
  3458. {$EXTERNALSYM DMDITHER_FINE}
  3459. DMDITHER_LINEART = 4; // LineArt dithering
  3460. {$EXTERNALSYM DMDITHER_LINEART}
  3461. DMDITHER_ERRORDIFFUSION = 5; // LineArt dithering
  3462. {$EXTERNALSYM DMDITHER_ERRORDIFFUSION}
  3463. DMDITHER_RESERVED6 = 6; // LineArt dithering
  3464. {$EXTERNALSYM DMDITHER_RESERVED6}
  3465. DMDITHER_RESERVED7 = 7; // LineArt dithering
  3466. {$EXTERNALSYM DMDITHER_RESERVED7}
  3467. DMDITHER_RESERVED8 = 8; // LineArt dithering
  3468. {$EXTERNALSYM DMDITHER_RESERVED8}
  3469. DMDITHER_RESERVED9 = 9; // LineArt dithering
  3470. {$EXTERNALSYM DMDITHER_RESERVED9}
  3471. DMDITHER_GRAYSCALE = 10; // Device does grayscaling
  3472. {$EXTERNALSYM DMDITHER_GRAYSCALE}
  3473. DMDITHER_USER = 256; // Device-specific dithers start here
  3474. {$EXTERNALSYM DMDITHER_USER}
  3475. type
  3476. PDisplayDeviceA = ^TDisplayDeviceA;
  3477. _DISPLAY_DEVICEA = record
  3478. cb: DWORD;
  3479. DeviceName: array [0..32 - 1] of CHAR;
  3480. DeviceString: array [0..128 - 1] of CHAR;
  3481. StateFlags: DWORD;
  3482. DeviceID: array [0..128 - 1] of CHAR;
  3483. DeviceKey: array [0..128 - 1] of CHAR;
  3484. end;
  3485. {$EXTERNALSYM _DISPLAY_DEVICEA}
  3486. DISPLAY_DEVICEA = _DISPLAY_DEVICEA;
  3487. {$EXTERNALSYM DISPLAY_DEVICEA}
  3488. LPDISPLAY_DEVICEA = ^DISPLAY_DEVICEA;
  3489. {$EXTERNALSYM LPDISPLAY_DEVICEA}
  3490. PDISPLAY_DEVICEA = ^DISPLAY_DEVICEA;
  3491. {$EXTERNALSYM PDISPLAY_DEVICEA}
  3492. TDisplayDeviceA = _DISPLAY_DEVICEA;
  3493. PDisplayDeviceW = ^TDisplayDeviceW;
  3494. _DISPLAY_DEVICEW = record
  3495. cb: DWORD;
  3496. DeviceName: array [0..32 - 1] of WCHAR;
  3497. DeviceString: array [0..128 - 1] of WCHAR;
  3498. StateFlags: DWORD;
  3499. DeviceID: array [0..128 - 1] of WCHAR;
  3500. DeviceKey: array [0..128 - 1] of WCHAR;
  3501. end;
  3502. {$EXTERNALSYM _DISPLAY_DEVICEW}
  3503. DISPLAY_DEVICEW = _DISPLAY_DEVICEW;
  3504. {$EXTERNALSYM DISPLAY_DEVICEW}
  3505. LPDISPLAY_DEVICEW = ^DISPLAY_DEVICEW;
  3506. {$EXTERNALSYM LPDISPLAY_DEVICEW}
  3507. PDISPLAY_DEVICEW = ^DISPLAY_DEVICEW;
  3508. {$EXTERNALSYM PDISPLAY_DEVICEW}
  3509. TDisplayDeviceW = _DISPLAY_DEVICEW;
  3510. {$IFDEF UNICODE}
  3511. DISPLAY_DEVICE = DISPLAY_DEVICEW;
  3512. {$EXTERNALSYM DISPLAY_DEVICE}
  3513. PDISPLAY_DEVICE = PDISPLAY_DEVICEW;
  3514. {$EXTERNALSYM PDISPLAY_DEVICE}
  3515. LPDISPLAY_DEVICE = LPDISPLAY_DEVICEW;
  3516. {$EXTERNALSYM LPDISPLAY_DEVICE}
  3517. TDisplayDevice = TDisplayDeviceW;
  3518. PDisplayDevice = PDisplayDeviceW;
  3519. {$ELSE}
  3520. DISPLAY_DEVICE = DISPLAY_DEVICEA;
  3521. {$EXTERNALSYM DISPLAY_DEVICE}
  3522. PDISPLAY_DEVICE = PDISPLAY_DEVICEA;
  3523. {$EXTERNALSYM PDISPLAY_DEVICE}
  3524. LPDISPLAY_DEVICE = LPDISPLAY_DEVICEA;
  3525. {$EXTERNALSYM LPDISPLAY_DEVICE}
  3526. TDisplayDevice = TDisplayDeviceA;
  3527. PDisplayDevice = PDisplayDeviceA;
  3528. {$ENDIF UNICODE}
  3529. const
  3530. DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = $00000001;
  3531. {$EXTERNALSYM DISPLAY_DEVICE_ATTACHED_TO_DESKTOP}
  3532. DISPLAY_DEVICE_MULTI_DRIVER = $00000002;
  3533. {$EXTERNALSYM DISPLAY_DEVICE_MULTI_DRIVER}
  3534. DISPLAY_DEVICE_PRIMARY_DEVICE = $00000004;
  3535. {$EXTERNALSYM DISPLAY_DEVICE_PRIMARY_DEVICE}
  3536. DISPLAY_DEVICE_MIRRORING_DRIVER = $00000008;
  3537. {$EXTERNALSYM DISPLAY_DEVICE_MIRRORING_DRIVER}
  3538. DISPLAY_DEVICE_VGA_COMPATIBLE = $00000010;
  3539. {$EXTERNALSYM DISPLAY_DEVICE_VGA_COMPATIBLE}
  3540. DISPLAY_DEVICE_REMOVABLE = $00000020;
  3541. {$EXTERNALSYM DISPLAY_DEVICE_REMOVABLE}
  3542. DISPLAY_DEVICE_MODESPRUNED = $08000000;
  3543. {$EXTERNALSYM DISPLAY_DEVICE_MODESPRUNED}
  3544. DISPLAY_DEVICE_REMOTE = $04000000;
  3545. {$EXTERNALSYM DISPLAY_DEVICE_REMOTE}
  3546. DISPLAY_DEVICE_DISCONNECT = $02000000;
  3547. {$EXTERNALSYM DISPLAY_DEVICE_DISCONNECT}
  3548. // Child device state
  3549. DISPLAY_DEVICE_ACTIVE = $00000001;
  3550. {$EXTERNALSYM DISPLAY_DEVICE_ACTIVE}
  3551. DISPLAY_DEVICE_ATTACHED = $00000002;
  3552. {$EXTERNALSYM DISPLAY_DEVICE_ATTACHED}
  3553. // GetRegionData/ExtCreateRegion
  3554. RDH_RECTANGLES = 1;
  3555. {$EXTERNALSYM RDH_RECTANGLES}
  3556. type
  3557. PRgnDataHeader = ^TRgnDataHeader;
  3558. _RGNDATAHEADER = record
  3559. dwSize: DWORD;
  3560. iType: DWORD;
  3561. nCount: DWORD;
  3562. nRgnSize: DWORD;
  3563. rcBound: RECT;
  3564. end;
  3565. {$EXTERNALSYM _RGNDATAHEADER}
  3566. RGNDATAHEADER = _RGNDATAHEADER;
  3567. {$EXTERNALSYM RGNDATAHEADER}
  3568. TRgnDataHeader = _RGNDATAHEADER;
  3569. PRgnData = ^TRgnData;
  3570. _RGNDATA = record
  3571. rdh: RGNDATAHEADER;
  3572. Buffer: array [0..0] of Char;
  3573. end;
  3574. {$EXTERNALSYM _RGNDATA}
  3575. RGNDATA = _RGNDATA;
  3576. {$EXTERNALSYM RGNDATA}
  3577. LPRGNDATA = ^RGNDATA;
  3578. {$EXTERNALSYM LPRGNDATA}
  3579. NPRGNDATA = ^RGNDATA;
  3580. {$EXTERNALSYM NPRGNDATA}
  3581. TRgnData = _RGNDATA;
  3582. // for GetRandomRgn
  3583. const
  3584. SYSRGN = 4;
  3585. {$EXTERNALSYM SYSRGN}
  3586. type
  3587. PAbc = ^TAbc;
  3588. _ABC = record
  3589. abcA: Integer;
  3590. abcB: UINT;
  3591. abcC: Integer;
  3592. end;
  3593. {$EXTERNALSYM _ABC}
  3594. ABC = _ABC;
  3595. {$EXTERNALSYM ABC}
  3596. LPABC = ^ABC;
  3597. {$EXTERNALSYM LPABC}
  3598. NPABC = ^ABC;
  3599. {$EXTERNALSYM NPABC}
  3600. TAbc = _ABC;
  3601. PAbcFloat = ^TAbcFloat;
  3602. _ABCFLOAT = record
  3603. abcfA: FLOAT;
  3604. abcfB: FLOAT;
  3605. abcfC: FLOAT;
  3606. end;
  3607. {$EXTERNALSYM _ABCFLOAT}
  3608. ABCFLOAT = _ABCFLOAT;
  3609. {$EXTERNALSYM ABCFLOAT}
  3610. LPABCFLOAT = ^ABCFLOAT;
  3611. {$EXTERNALSYM LPABCFLOAT}
  3612. NPABCFLOAT = ^ABCFLOAT;
  3613. {$EXTERNALSYM NPABCFLOAT}
  3614. TAbcFloat = _ABCFLOAT;
  3615. POutlineTextMetricA = ^TOutlineTextMetricA;
  3616. _OUTLINETEXTMETRICA = record
  3617. otmSize: UINT;
  3618. otmTextMetrics: TEXTMETRICA;
  3619. otmFiller: BYTE;
  3620. otmPanoseNumber: PANOSE;
  3621. otmfsSelection: UINT;
  3622. otmfsType: UINT;
  3623. otmsCharSlopeRise: Integer;
  3624. otmsCharSlopeRun: Integer;
  3625. otmItalicAngle: Integer;
  3626. otmEMSquare: UINT;
  3627. otmAscent: Integer;
  3628. otmDescent: Integer;
  3629. otmLineGap: UINT;
  3630. otmsCapEmHeight: UINT;
  3631. otmsXHeight: UINT;
  3632. otmrcFontBox: RECT;
  3633. otmMacAscent: Integer;
  3634. otmMacDescent: Integer;
  3635. otmMacLineGap: UINT;
  3636. otmusMinimumPPEM: UINT;
  3637. otmptSubscriptSize: POINT;
  3638. otmptSubscriptOffset: POINT;
  3639. otmptSuperscriptSize: POINT;
  3640. otmptSuperscriptOffset: POINT;
  3641. otmsStrikeoutSize: UINT;
  3642. otmsStrikeoutPosition: Integer;
  3643. otmsUnderscoreSize: Integer;
  3644. otmsUnderscorePosition: Integer;
  3645. otmpFamilyName: PSTR;
  3646. otmpFaceName: PSTR;
  3647. otmpStyleName: PSTR;
  3648. otmpFullName: PSTR;
  3649. end;
  3650. {$EXTERNALSYM _OUTLINETEXTMETRICA}
  3651. OUTLINETEXTMETRICA = _OUTLINETEXTMETRICA;
  3652. {$EXTERNALSYM OUTLINETEXTMETRICA}
  3653. LPOUTLINETEXTMETRICA = ^OUTLINETEXTMETRICA;
  3654. {$EXTERNALSYM LPOUTLINETEXTMETRICA}
  3655. NPOUTLINETEXTMETRICA = ^OUTLINETEXTMETRICA;
  3656. {$EXTERNALSYM NPOUTLINETEXTMETRICA}
  3657. TOutlineTextMetricA = _OUTLINETEXTMETRICA;
  3658. POutlineTextMetricW = ^TOutlineTextMetricW;
  3659. _OUTLINETEXTMETRICW = record
  3660. otmSize: UINT;
  3661. otmTextMetrics: TEXTMETRICW;
  3662. otmFiller: BYTE;
  3663. otmPanoseNumber: PANOSE;
  3664. otmfsSelection: UINT;
  3665. otmfsType: UINT;
  3666. otmsCharSlopeRise: Integer;
  3667. otmsCharSlopeRun: Integer;
  3668. otmItalicAngle: Integer;
  3669. otmEMSquare: UINT;
  3670. otmAscent: Integer;
  3671. otmDescent: Integer;
  3672. otmLineGap: UINT;
  3673. otmsCapEmHeight: UINT;
  3674. otmsXHeight: UINT;
  3675. otmrcFontBox: RECT;
  3676. otmMacAscent: Integer;
  3677. otmMacDescent: Integer;
  3678. otmMacLineGap: UINT;
  3679. otmusMinimumPPEM: UINT;
  3680. otmptSubscriptSize: POINT;
  3681. otmptSubscriptOffset: POINT;
  3682. otmptSuperscriptSize: POINT;
  3683. otmptSuperscriptOffset: POINT;
  3684. otmsStrikeoutSize: UINT;
  3685. otmsStrikeoutPosition: Integer;
  3686. otmsUnderscoreSize: Integer;
  3687. otmsUnderscorePosition: Integer;
  3688. otmpFamilyName: PSTR;
  3689. otmpFaceName: PSTR;
  3690. otmpStyleName: PSTR;
  3691. otmpFullName: PSTR;
  3692. end;
  3693. {$EXTERNALSYM _OUTLINETEXTMETRICW}
  3694. OUTLINETEXTMETRICW = _OUTLINETEXTMETRICW;
  3695. {$EXTERNALSYM OUTLINETEXTMETRICW}
  3696. LPOUTLINETEXTMETRICW = ^OUTLINETEXTMETRICW;
  3697. {$EXTERNALSYM LPOUTLINETEXTMETRICW}
  3698. NPOUTLINETEXTMETRICW = ^OUTLINETEXTMETRICW;
  3699. {$EXTERNALSYM NPOUTLINETEXTMETRICW}
  3700. TOutlineTextMetricW = _OUTLINETEXTMETRICW;
  3701. {$IFDEF UNICODE}
  3702. OUTLINETEXTMETRIC = OUTLINETEXTMETRICW;
  3703. {$EXTERNALSYM OUTLINETEXTMETRIC}
  3704. POUTLINETEXTMETRIC = POUTLINETEXTMETRICW;
  3705. {$EXTERNALSYM POUTLINETEXTMETRIC}
  3706. NPOUTLINETEXTMETRIC = NPOUTLINETEXTMETRICW;
  3707. {$EXTERNALSYM NPOUTLINETEXTMETRIC}
  3708. LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICW;
  3709. {$EXTERNALSYM LPOUTLINETEXTMETRIC}
  3710. TOutlineTextMetric = TOutlineTextMetricW;
  3711. {$ELSE}
  3712. OUTLINETEXTMETRIC = OUTLINETEXTMETRICA;
  3713. {$EXTERNALSYM OUTLINETEXTMETRIC}
  3714. POUTLINETEXTMETRIC = POUTLINETEXTMETRICA;
  3715. {$EXTERNALSYM POUTLINETEXTMETRIC}
  3716. NPOUTLINETEXTMETRIC = NPOUTLINETEXTMETRICA;
  3717. {$EXTERNALSYM NPOUTLINETEXTMETRIC}
  3718. LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICA;
  3719. {$EXTERNALSYM LPOUTLINETEXTMETRIC}
  3720. TOutlineTextMetric = TOutlineTextMetricA;
  3721. {$ENDIF UNICODE}
  3722. PPolytextA = ^TPolytextA;
  3723. tagPOLYTEXTA = record
  3724. x: Integer;
  3725. y: Integer;
  3726. n: UINT;
  3727. lpstr: LPCSTR;
  3728. uiFlags: UINT;
  3729. rcl: RECT;
  3730. pdx: PINT;
  3731. end;
  3732. {$EXTERNALSYM tagPOLYTEXTA}
  3733. POLYTEXTA = tagPOLYTEXTA;
  3734. {$EXTERNALSYM POLYTEXTA}
  3735. LPPOLYTEXTA = ^POLYTEXTA;
  3736. {$EXTERNALSYM LPPOLYTEXTA}
  3737. NPPOLYTEXTA = ^POLYTEXTA;
  3738. {$EXTERNALSYM NPPOLYTEXTA}
  3739. TPolytextA = POLYTEXTA;
  3740. PPolytextW = ^TPolytextW;
  3741. tagPOLYTEXTW = record
  3742. x: Integer;
  3743. y: Integer;
  3744. n: UINT;
  3745. lpstr: LPCWSTR;
  3746. uiFlags: UINT;
  3747. rcl: RECT;
  3748. pdx: PINT;
  3749. end;
  3750. {$EXTERNALSYM tagPOLYTEXTW}
  3751. POLYTEXTW = tagPOLYTEXTW;
  3752. {$EXTERNALSYM POLYTEXTW}
  3753. LPPOLYTEXTW = ^POLYTEXTW;
  3754. {$EXTERNALSYM LPPOLYTEXTW}
  3755. NPPOLYTEXTW = ^POLYTEXTW;
  3756. {$EXTERNALSYM NPPOLYTEXTW}
  3757. TPolytextW = POLYTEXTW;
  3758. {$IFDEF UNICODE}
  3759. POLYTEXT = POLYTEXTW;
  3760. {$EXTERNALSYM POLYTEXT}
  3761. PPOLYTEXT = PPOLYTEXTW;
  3762. {$EXTERNALSYM PPOLYTEXT}
  3763. NPPOLYTEXT = NPPOLYTEXTW;
  3764. {$EXTERNALSYM NPPOLYTEXT}
  3765. LPPOLYTEXT = LPPOLYTEXTW;
  3766. {$EXTERNALSYM LPPOLYTEXT}
  3767. TPolyText = TPolyTextW;
  3768. {$ELSE}
  3769. POLYTEXT = POLYTEXTA;
  3770. {$EXTERNALSYM POLYTEXT}
  3771. PPOLYTEXT = PPOLYTEXTA;
  3772. {$EXTERNALSYM PPOLYTEXT}
  3773. NPPOLYTEXT = NPPOLYTEXTA;
  3774. {$EXTERNALSYM NPPOLYTEXT}
  3775. LPPOLYTEXT = LPPOLYTEXTA;
  3776. {$EXTERNALSYM LPPOLYTEXT}
  3777. TPolyText = TPolyTextA;
  3778. {$ENDIF UNICODE}
  3779. PFixed = ^TFixed;
  3780. _FIXED = record
  3781. fract: WORD;
  3782. value: short;
  3783. end;
  3784. {$EXTERNALSYM _FIXED}
  3785. FIXED = _FIXED;
  3786. {$EXTERNALSYM FIXED}
  3787. TFixed = _FIXED;
  3788. PMat2 = ^TMat2;
  3789. _MAT2 = record
  3790. eM11: FIXED;
  3791. eM12: FIXED;
  3792. eM21: FIXED;
  3793. eM22: FIXED;
  3794. end;
  3795. {$EXTERNALSYM _MAT2}
  3796. MAT2 = _MAT2;
  3797. {$EXTERNALSYM MAT2}
  3798. LPMAT2 = ^MAT2;
  3799. {$EXTERNALSYM LPMAT2}
  3800. TMat2 = _MAT2;
  3801. PGlyphMetrics = ^TGlyphMetrics;
  3802. _GLYPHMETRICS = record
  3803. gmBlackBoxX: UINT;
  3804. gmBlackBoxY: UINT;
  3805. gmptGlyphOrigin: POINT;
  3806. gmCellIncX: short;
  3807. gmCellIncY: short;
  3808. end;
  3809. {$EXTERNALSYM _GLYPHMETRICS}
  3810. GLYPHMETRICS = _GLYPHMETRICS;
  3811. {$EXTERNALSYM GLYPHMETRICS}
  3812. LPGLYPHMETRICS = ^GLYPHMETRICS;
  3813. {$EXTERNALSYM LPGLYPHMETRICS}
  3814. TGlyphMetrics = _GLYPHMETRICS;
  3815. // GetGlyphOutline constants
  3816. const
  3817. GGO_METRICS = 0;
  3818. {$EXTERNALSYM GGO_METRICS}
  3819. GGO_BITMAP = 1;
  3820. {$EXTERNALSYM GGO_BITMAP}
  3821. GGO_NATIVE = 2;
  3822. {$EXTERNALSYM GGO_NATIVE}
  3823. GGO_BEZIER = 3;
  3824. {$EXTERNALSYM GGO_BEZIER}
  3825. GGO_GRAY2_BITMAP = 4;
  3826. {$EXTERNALSYM GGO_GRAY2_BITMAP}
  3827. GGO_GRAY4_BITMAP = 5;
  3828. {$EXTERNALSYM GGO_GRAY4_BITMAP}
  3829. GGO_GRAY8_BITMAP = 6;
  3830. {$EXTERNALSYM GGO_GRAY8_BITMAP}
  3831. GGO_GLYPH_INDEX = $0080;
  3832. {$EXTERNALSYM GGO_GLYPH_INDEX}
  3833. GGO_UNHINTED = $0100;
  3834. {$EXTERNALSYM GGO_UNHINTED}
  3835. TT_POLYGON_TYPE = 24;
  3836. {$EXTERNALSYM TT_POLYGON_TYPE}
  3837. TT_PRIM_LINE = 1;
  3838. {$EXTERNALSYM TT_PRIM_LINE}
  3839. TT_PRIM_QSPLINE = 2;
  3840. {$EXTERNALSYM TT_PRIM_QSPLINE}
  3841. TT_PRIM_CSPLINE = 3;
  3842. {$EXTERNALSYM TT_PRIM_CSPLINE}
  3843. type
  3844. PPointFx = ^TPointFx;
  3845. tagPOINTFX = record
  3846. x: FIXED;
  3847. y: FIXED;
  3848. end;
  3849. {$EXTERNALSYM tagPOINTFX}
  3850. POINTFX = tagPOINTFX;
  3851. {$EXTERNALSYM POINTFX}
  3852. LPPOINTFX = ^POINTFX;
  3853. {$EXTERNALSYM LPPOINTFX}
  3854. TPointFx = POINTFX;
  3855. PTtPolyCurve = ^TTtPolyCurve;
  3856. tagTTPOLYCURVE = record
  3857. wType: WORD;
  3858. cpfx: WORD;
  3859. apfx: array [0..0] of POINTFX;
  3860. end;
  3861. {$EXTERNALSYM tagTTPOLYCURVE}
  3862. TTPOLYCURVE = tagTTPOLYCURVE;
  3863. {$EXTERNALSYM TTPOLYCURVE}
  3864. LPTTPOLYCURVE = ^TTPOLYCURVE;
  3865. {$EXTERNALSYM LPTTPOLYCURVE}
  3866. TTtPolyCurve = TTPOLYCURVE;
  3867. PTtPolygonHeader = ^TTtPolygonHeader;
  3868. tagTTPOLYGONHEADER = record
  3869. cb: DWORD;
  3870. dwType: DWORD;
  3871. pfxStart: POINTFX;
  3872. end;
  3873. {$EXTERNALSYM tagTTPOLYGONHEADER}
  3874. TTPOLYGONHEADER = tagTTPOLYGONHEADER;
  3875. {$EXTERNALSYM TTPOLYGONHEADER}
  3876. LPTTPOLYGONHEADER = ^TTPOLYGONHEADER;
  3877. {$EXTERNALSYM LPTTPOLYGONHEADER}
  3878. TTtPolygonHeader = TTPOLYGONHEADER;
  3879. const
  3880. GCP_DBCS = $0001;
  3881. {$EXTERNALSYM GCP_DBCS}
  3882. GCP_REORDER = $0002;
  3883. {$EXTERNALSYM GCP_REORDER}
  3884. GCP_USEKERNING = $0008;
  3885. {$EXTERNALSYM GCP_USEKERNING}
  3886. GCP_GLYPHSHAPE = $0010;
  3887. {$EXTERNALSYM GCP_GLYPHSHAPE}
  3888. GCP_LIGATE = $0020;
  3889. {$EXTERNALSYM GCP_LIGATE}
  3890. ////#define GCP_GLYPHINDEXING 0x0080
  3891. GCP_DIACRITIC = $0100;
  3892. {$EXTERNALSYM GCP_DIACRITIC}
  3893. GCP_KASHIDA = $0400;
  3894. {$EXTERNALSYM GCP_KASHIDA}
  3895. GCP_ERROR = $8000;
  3896. {$EXTERNALSYM GCP_ERROR}
  3897. FLI_MASK = $103B;
  3898. {$EXTERNALSYM FLI_MASK}
  3899. GCP_JUSTIFY = $00010000;
  3900. {$EXTERNALSYM GCP_JUSTIFY}
  3901. ////#define GCP_NODIACRITICS 0x00020000L
  3902. FLI_GLYPHS = $00040000;
  3903. {$EXTERNALSYM FLI_GLYPHS}
  3904. GCP_CLASSIN = $00080000;
  3905. {$EXTERNALSYM GCP_CLASSIN}
  3906. GCP_MAXEXTENT = $00100000;
  3907. {$EXTERNALSYM GCP_MAXEXTENT}
  3908. GCP_JUSTIFYIN = $00200000;
  3909. {$EXTERNALSYM GCP_JUSTIFYIN}
  3910. GCP_DISPLAYZWG = $00400000;
  3911. {$EXTERNALSYM GCP_DISPLAYZWG}
  3912. GCP_SYMSWAPOFF = $00800000;
  3913. {$EXTERNALSYM GCP_SYMSWAPOFF}
  3914. GCP_NUMERICOVERRIDE = $01000000;
  3915. {$EXTERNALSYM GCP_NUMERICOVERRIDE}
  3916. GCP_NEUTRALOVERRIDE = $02000000;
  3917. {$EXTERNALSYM GCP_NEUTRALOVERRIDE}
  3918. GCP_NUMERICSLATIN = $04000000;
  3919. {$EXTERNALSYM GCP_NUMERICSLATIN}
  3920. GCP_NUMERICSLOCAL = $08000000;
  3921. {$EXTERNALSYM GCP_NUMERICSLOCAL}
  3922. GCPCLASS_LATIN = 1;
  3923. {$EXTERNALSYM GCPCLASS_LATIN}
  3924. GCPCLASS_HEBREW = 2;
  3925. {$EXTERNALSYM GCPCLASS_HEBREW}
  3926. GCPCLASS_ARABIC = 2;
  3927. {$EXTERNALSYM GCPCLASS_ARABIC}
  3928. GCPCLASS_NEUTRAL = 3;
  3929. {$EXTERNALSYM GCPCLASS_NEUTRAL}
  3930. GCPCLASS_LOCALNUMBER = 4;
  3931. {$EXTERNALSYM GCPCLASS_LOCALNUMBER}
  3932. GCPCLASS_LATINNUMBER = 5;
  3933. {$EXTERNALSYM GCPCLASS_LATINNUMBER}
  3934. GCPCLASS_LATINNUMERICTERMINATOR = 6;
  3935. {$EXTERNALSYM GCPCLASS_LATINNUMERICTERMINATOR}
  3936. GCPCLASS_LATINNUMERICSEPARATOR = 7;
  3937. {$EXTERNALSYM GCPCLASS_LATINNUMERICSEPARATOR}
  3938. GCPCLASS_NUMERICSEPARATOR = 8;
  3939. {$EXTERNALSYM GCPCLASS_NUMERICSEPARATOR}
  3940. GCPCLASS_PREBOUNDLTR = $80;
  3941. {$EXTERNALSYM GCPCLASS_PREBOUNDLTR}
  3942. GCPCLASS_PREBOUNDRTL = $40;
  3943. {$EXTERNALSYM GCPCLASS_PREBOUNDRTL}
  3944. GCPCLASS_POSTBOUNDLTR = $20;
  3945. {$EXTERNALSYM GCPCLASS_POSTBOUNDLTR}
  3946. GCPCLASS_POSTBOUNDRTL = $10;
  3947. {$EXTERNALSYM GCPCLASS_POSTBOUNDRTL}
  3948. GCPGLYPH_LINKBEFORE = $8000;
  3949. {$EXTERNALSYM GCPGLYPH_LINKBEFORE}
  3950. GCPGLYPH_LINKAFTER = $4000;
  3951. {$EXTERNALSYM GCPGLYPH_LINKAFTER}
  3952. type
  3953. PGcpResultsA = ^TGcpResultsA;
  3954. tagGCP_RESULTSA = record
  3955. lStructSize: DWORD;
  3956. lpOutString: LPSTR;
  3957. lpOrder: LPUINT;
  3958. lpDx: PINT;
  3959. lpCaretPos: PINT;
  3960. lpClass: LPSTR;
  3961. lpGlyphs: LPWSTR;
  3962. nGlyphs: UINT;
  3963. nMaxFit: Integer;
  3964. end;
  3965. {$EXTERNALSYM tagGCP_RESULTSA}
  3966. GCP_RESULTSA = tagGCP_RESULTSA;
  3967. {$EXTERNALSYM GCP_RESULTSA}
  3968. LPGCP_RESULTSA = ^GCP_RESULTSA;
  3969. {$EXTERNALSYM LPGCP_RESULTSA}
  3970. TGcpResultsA = GCP_RESULTSA;
  3971. PGcpResultsW = ^TGcpResultsW;
  3972. tagGCP_RESULTSW = record
  3973. lStructSize: DWORD;
  3974. lpOutString: LPWSTR;
  3975. lpOrder: LPUINT;
  3976. lpDx: PINT;
  3977. lpCaretPos: PINT;
  3978. lpClass: LPSTR;
  3979. lpGlyphs: LPWSTR;
  3980. nGlyphs: UINT;
  3981. nMaxFit: Integer;
  3982. end;
  3983. {$EXTERNALSYM tagGCP_RESULTSW}
  3984. GCP_RESULTSW = tagGCP_RESULTSW;
  3985. {$EXTERNALSYM GCP_RESULTSW}
  3986. LPGCP_RESULTSW = ^GCP_RESULTSW;
  3987. {$EXTERNALSYM LPGCP_RESULTSW}
  3988. TGcpResultsW = GCP_RESULTSW;
  3989. {$IFDEF UNICODE}
  3990. GCP_RESULTS = GCP_RESULTSW;
  3991. {$EXTERNALSYM GCP_RESULTS}
  3992. LPGCP_RESULTS = LPGCP_RESULTSW;
  3993. {$EXTERNALSYM LPGCP_RESULTS}
  3994. TGcpResults = TGcpResultsW;
  3995. PGcpResults = PGcpResultsW;
  3996. {$ELSE}
  3997. GCP_RESULTS = GCP_RESULTSA;
  3998. {$EXTERNALSYM GCP_RESULTS}
  3999. LPGCP_RESULTS = LPGCP_RESULTSA;
  4000. {$EXTERNALSYM LPGCP_RESULTS}
  4001. TGcpResults = TGcpResultsA;
  4002. PGcpResults = PGcpResultsA;
  4003. {$ENDIF UNICODE}
  4004. PRasterizerStatus = ^TRasterizerStatus;
  4005. _RASTERIZER_STATUS = record
  4006. nSize: short;
  4007. wFlags: short;
  4008. nLanguageID: short;
  4009. end;
  4010. {$EXTERNALSYM _RASTERIZER_STATUS}
  4011. RASTERIZER_STATUS = _RASTERIZER_STATUS;
  4012. {$EXTERNALSYM RASTERIZER_STATUS}
  4013. LPRASTERIZER_STATUS = ^RASTERIZER_STATUS;
  4014. {$EXTERNALSYM LPRASTERIZER_STATUS}
  4015. TRasterizerStatus = _RASTERIZER_STATUS;
  4016. // bits defined in wFlags of RASTERIZER_STATUS
  4017. const
  4018. TT_AVAILABLE = $0001;
  4019. {$EXTERNALSYM TT_AVAILABLE}
  4020. TT_ENABLED = $0002;
  4021. {$EXTERNALSYM TT_ENABLED}
  4022. // Pixel format descriptor
  4023. type
  4024. PPixelFormatDescriptor = ^TPixelFormatDescriptor;
  4025. tagPIXELFORMATDESCRIPTOR = record
  4026. nSize: WORD;
  4027. nVersion: WORD;
  4028. dwFlags: DWORD;
  4029. iPixelType: BYTE;
  4030. cColorBits: BYTE;
  4031. cRedBits: BYTE;
  4032. cRedShift: BYTE;
  4033. cGreenBits: BYTE;
  4034. cGreenShift: BYTE;
  4035. cBlueBits: BYTE;
  4036. cBlueShift: BYTE;
  4037. cAlphaBits: BYTE;
  4038. cAlphaShift: BYTE;
  4039. cAccumBits: BYTE;
  4040. cAccumRedBits: BYTE;
  4041. cAccumGreenBits: BYTE;
  4042. cAccumBlueBits: BYTE;
  4043. cAccumAlphaBits: BYTE;
  4044. cDepthBits: BYTE;
  4045. cStencilBits: BYTE;
  4046. cAuxBuffers: BYTE;
  4047. iLayerType: BYTE;
  4048. bReserved: BYTE;
  4049. dwLayerMask: DWORD;
  4050. dwVisibleMask: DWORD;
  4051. dwDamageMask: DWORD;
  4052. end;
  4053. {$EXTERNALSYM tagPIXELFORMATDESCRIPTOR}
  4054. PIXELFORMATDESCRIPTOR = tagPIXELFORMATDESCRIPTOR;
  4055. {$EXTERNALSYM PIXELFORMATDESCRIPTOR}
  4056. LPPIXELFORMATDESCRIPTOR = ^PIXELFORMATDESCRIPTOR;
  4057. {$EXTERNALSYM LPPIXELFORMATDESCRIPTOR}
  4058. TPixelFormatDescriptor = PIXELFORMATDESCRIPTOR;
  4059. // pixel types
  4060. const
  4061. PFD_TYPE_RGBA = 0;
  4062. {$EXTERNALSYM PFD_TYPE_RGBA}
  4063. PFD_TYPE_COLORINDEX = 1;
  4064. {$EXTERNALSYM PFD_TYPE_COLORINDEX}
  4065. // layer types
  4066. PFD_MAIN_PLANE = 0;
  4067. {$EXTERNALSYM PFD_MAIN_PLANE}
  4068. PFD_OVERLAY_PLANE = 1;
  4069. {$EXTERNALSYM PFD_OVERLAY_PLANE}
  4070. PFD_UNDERLAY_PLANE = DWORD(-1);
  4071. {$EXTERNALSYM PFD_UNDERLAY_PLANE}
  4072. // PIXELFORMATDESCRIPTOR flags
  4073. PFD_DOUBLEBUFFER = $00000001;
  4074. {$EXTERNALSYM PFD_DOUBLEBUFFER}
  4075. PFD_STEREO = $00000002;
  4076. {$EXTERNALSYM PFD_STEREO}
  4077. PFD_DRAW_TO_WINDOW = $00000004;
  4078. {$EXTERNALSYM PFD_DRAW_TO_WINDOW}
  4079. PFD_DRAW_TO_BITMAP = $00000008;
  4080. {$EXTERNALSYM PFD_DRAW_TO_BITMAP}
  4081. PFD_SUPPORT_GDI = $00000010;
  4082. {$EXTERNALSYM PFD_SUPPORT_GDI}
  4083. PFD_SUPPORT_OPENGL = $00000020;
  4084. {$EXTERNALSYM PFD_SUPPORT_OPENGL}
  4085. PFD_GENERIC_FORMAT = $00000040;
  4086. {$EXTERNALSYM PFD_GENERIC_FORMAT}
  4087. PFD_NEED_PALETTE = $00000080;
  4088. {$EXTERNALSYM PFD_NEED_PALETTE}
  4089. PFD_NEED_SYSTEM_PALETTE = $00000100;
  4090. {$EXTERNALSYM PFD_NEED_SYSTEM_PALETTE}
  4091. PFD_SWAP_EXCHANGE = $00000200;
  4092. {$EXTERNALSYM PFD_SWAP_EXCHANGE}
  4093. PFD_SWAP_COPY = $00000400;
  4094. {$EXTERNALSYM PFD_SWAP_COPY}
  4095. PFD_SWAP_LAYER_BUFFERS = $00000800;
  4096. {$EXTERNALSYM PFD_SWAP_LAYER_BUFFERS}
  4097. PFD_GENERIC_ACCELERATED = $00001000;
  4098. {$EXTERNALSYM PFD_GENERIC_ACCELERATED}
  4099. PFD_SUPPORT_DIRECTDRAW = $00002000;
  4100. {$EXTERNALSYM PFD_SUPPORT_DIRECTDRAW}
  4101. // PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only
  4102. PFD_DEPTH_DONTCARE = DWORD($20000000);
  4103. {$EXTERNALSYM PFD_DEPTH_DONTCARE}
  4104. PFD_DOUBLEBUFFER_DONTCARE = DWORD($40000000);
  4105. {$EXTERNALSYM PFD_DOUBLEBUFFER_DONTCARE}
  4106. PFD_STEREO_DONTCARE = DWORD($80000000);
  4107. {$EXTERNALSYM PFD_STEREO_DONTCARE}
  4108. type
  4109. OLDFONTENUMPROCA = function(lpelf: LPLOGFONTA; lpntm: LPTEXTMETRICA; FontType: DWORD; lParam: LPARAM): Integer; stdcall;
  4110. {$EXTERNALSYM OLDFONTENUMPROCA}
  4111. OLDFONTENUMPROCW = function(lpelf: LPLOGFONTW; lpntm: LPTEXTMETRICW; FontType: DWORD; lParam: LPARAM): Integer; stdcall;
  4112. {$EXTERNALSYM OLDFONTENUMPROCW}
  4113. OLDFONTENUMPROC = function(lpelf: LPLOGFONT; lpntm: LPTEXTMETRIC; FontType: DWORD; lParam: LPARAM): Integer; stdcall;
  4114. {$EXTERNALSYM OLDFONTENUMPROC}
  4115. FONTENUMPROCA = OLDFONTENUMPROCA;
  4116. {$EXTERNALSYM FONTENUMPROCA}
  4117. FONTENUMPROCW = OLDFONTENUMPROCW;
  4118. {$EXTERNALSYM FONTENUMPROCW}
  4119. FONTENUMPROC = OLDFONTENUMPROC;
  4120. {$EXTERNALSYM FONTENUMPROC}
  4121. GOBJENUMPROC = function(lpLogObject: LPVOID; lpData: LPARAM): Integer; stdcall;
  4122. {$EXTERNALSYM GOBJENUMPROC}
  4123. LINEDDAPROC = procedure(X, Y: Integer; lpData: LPARAM); stdcall;
  4124. {$EXTERNALSYM LINEDDAPROC}
  4125. function AddFontResourceA(lpszFileName: LPCSTR): Integer; stdcall;
  4126. {$EXTERNALSYM AddFontResourceA}
  4127. function AddFontResourceW(lpszFileName: LPCWSTR): Integer; stdcall;
  4128. {$EXTERNALSYM AddFontResourceW}
  4129. function AddFontResource(lpszFileName: LPCTSTR): Integer; stdcall;
  4130. {$EXTERNALSYM AddFontResource}
  4131. function AnimatePalette(hPal: HPALETTE; iStartIndex: UINT; cEntries: UINT; ppe: PPALETTEENTRY): BOOL; stdcall;
  4132. {$EXTERNALSYM AnimatePalette}
  4133. function Arc(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nxStartArc, nyStartArc, nXEndArc, nYEndArc: Integer): BOOL; stdcall;
  4134. {$EXTERNALSYM Arc}
  4135. function BitBlt(hdcDEst: HDC; nXDest, nYDest, nWidth, nHeight: Integer; hdcSrc: HDC; nXSrc, nYSrc: Integer; dwRop: DWORD): BOOL; stdcall;
  4136. {$EXTERNALSYM BitBlt}
  4137. function CancelDC(hdc: HDC): BOOL; stdcall;
  4138. {$EXTERNALSYM CancelDC}
  4139. function Chord(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nXRadial1, nYRadial1, nXRadial2, nYRadial2: Integer): BOOL; stdcall;
  4140. {$EXTERNALSYM Chord}
  4141. function ChoosePixelFormat(hdc: HDC; const ppfd: PIXELFORMATDESCRIPTOR): Integer; stdcall;
  4142. {$EXTERNALSYM ChoosePixelFormat}
  4143. function CloseMetaFile(hdc: HDC): HMETAFILE; stdcall;
  4144. {$EXTERNALSYM CloseMetaFile}
  4145. function CombineRgn(hrgnDest, hrgnSrc1, hrgnSrc2: HRGN; fnCombineMode: Integer): Integer; stdcall;
  4146. {$EXTERNALSYM CombineRgn}
  4147. function CopyMetaFileA(hmfSrc: HMETAFILE; lpszFile: LPCSTR): HMETAFILE; stdcall;
  4148. {$EXTERNALSYM CopyMetaFileA}
  4149. function CopyMetaFileW(hmfSrc: HMETAFILE; lpszFile: LPCWSTR): HMETAFILE; stdcall;
  4150. {$EXTERNALSYM CopyMetaFileW}
  4151. function CopyMetaFile(hmfSrc: HMETAFILE; lpszFile: LPCTSTR): HMETAFILE; stdcall;
  4152. {$EXTERNALSYM CopyMetaFile}
  4153. function CreateBitmap(nWidth, nHeight: Integer; Cplanes, cBitsPerPel: UINT; lpvBits: PVOID): HBITMAP; stdcall;
  4154. {$EXTERNALSYM CreateBitmap}
  4155. function CreateBitmapIndirect(const lpbm: BITMAP): HBITMAP; stdcall;
  4156. {$EXTERNALSYM CreateBitmapIndirect}
  4157. function CreateBrushIndirect(const lplb: LOGBRUSH): HBRUSH; stdcall;
  4158. {$EXTERNALSYM CreateBrushIndirect}
  4159. function CreateCompatibleBitmap(hdc: HDC; nWidth, nHeight: Integer): HBITMAP; stdcall;
  4160. {$EXTERNALSYM CreateCompatibleBitmap}
  4161. function CreateDiscardableBitmap(hdc: HDC; nWidth, nHeight: Integer): HBITMAP; stdcall;
  4162. {$EXTERNALSYM CreateDiscardableBitmap}
  4163. function CreateCompatibleDC(hdc: HDC): HDC; stdcall;
  4164. {$EXTERNALSYM CreateCompatibleDC}
  4165. function CreateDCA(lpszDriver, lpszDevice, lpszOutput: LPCSTR; lpInitData: LPDEVMODEA): HDC; stdcall;
  4166. {$EXTERNALSYM CreateDCA}
  4167. function CreateDCW(lpszDriver, lpszDevice, lpszOutput: LPCWSTR; lpInitData: LPDEVMODEW): HDC; stdcall;
  4168. {$EXTERNALSYM CreateDCW}
  4169. function CreateDC(lpszDriver, lpszDevice, lpszOutput: LPCTSTR; lpInitData: LPDEVMODE): HDC; stdcall;
  4170. {$EXTERNALSYM CreateDC}
  4171. function CreateDIBitmap(hdc: HDC; const lpbmih: BITMAPINFOHEADER; fdwInit: DWORD; lpbInit: PVOID; const lpbmi: BITMAPINFO; fuUsage: UINT): HBITMAP; stdcall;
  4172. {$EXTERNALSYM CreateDIBitmap}
  4173. function CreateDIBPatternBrush(hglbDIBPacked: HGLOBAL; fuColorSpec: UINT): HBRUSH; stdcall;
  4174. {$EXTERNALSYM CreateDIBPatternBrush}
  4175. function CreateDIBPatternBrushPt(lpPackedDIB: PVOID; iUsage: UINT): HBRUSH; stdcall;
  4176. {$EXTERNALSYM CreateDIBPatternBrushPt}
  4177. function CreateEllipticRgn(nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): HRGN; stdcall;
  4178. {$EXTERNALSYM CreateEllipticRgn}
  4179. function CreateEllipticRgnIndirect(const lprc: RECT): HRGN; stdcall;
  4180. {$EXTERNALSYM CreateEllipticRgnIndirect}
  4181. function CreateFontIndirectA(const lplf: LOGFONTA): HFONT; stdcall;
  4182. {$EXTERNALSYM CreateFontIndirectA}
  4183. function CreateFontIndirectW(const lplf: LOGFONTW): HFONT; stdcall;
  4184. {$EXTERNALSYM CreateFontIndirectW}
  4185. function CreateFontIndirect(const lplf: LOGFONT): HFONT; stdcall;
  4186. {$EXTERNALSYM CreateFontIndirect}
  4187. function CreateFontA(nHeight, nWidth, nEscapement, nOrientation, fnWeight: Integer; fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision, fdwClipPrecision, fdwQuality, fdwPitchAndFamily: DWORD; lpszFace: LPCSTR): HFONT; stdcall;
  4188. {$EXTERNALSYM CreateFontA}
  4189. function CreateFontW(nHeight, nWidth, nEscapement, nOrientation, fnWeight: Integer; fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision, fdwClipPrecision, fdwQuality, fdwPitchAndFamily: DWORD; lpszFace: LPCWSTR): HFONT; stdcall;
  4190. {$EXTERNALSYM CreateFontW}
  4191. function CreateFont(nHeight, nWidth, nEscapement, nOrientation, fnWeight: Integer; fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision, fdwClipPrecision, fdwQuality, fdwPitchAndFamily: DWORD; lpszFace: LPCTSTR): HFONT; stdcall;
  4192. {$EXTERNALSYM CreateFont}
  4193. function CreateHatchBrush(fnStyle: Integer; clrref: COLORREF): HBRUSH; stdcall;
  4194. {$EXTERNALSYM CreateHatchBrush}
  4195. function CreateICA(lpszDriver, lpszDevice, lpszOutput: LPCSTR; lpdvmInit: LPDEVMODEA): HDC; stdcall;
  4196. {$EXTERNALSYM CreateICA}
  4197. function CreateICW(lpszDriver, lpszDevice, lpszOutput: LPCWSTR; lpdvmInit: LPDEVMODEW): HDC; stdcall;
  4198. {$EXTERNALSYM CreateICW}
  4199. function CreateIC(lpszDriver, lpszDevice, lpszOutput: LPCWSTR; lpdvmInit: LPDEVMODE): HDC; stdcall;
  4200. {$EXTERNALSYM CreateIC}
  4201. function CreateMetaFileA(lpszFile: LPCSTR): HDC; stdcall;
  4202. {$EXTERNALSYM CreateMetaFileA}
  4203. function CreateMetaFileW(lpszFile: LPCWSTR): HDC; stdcall;
  4204. {$EXTERNALSYM CreateMetaFileW}
  4205. function CreateMetaFile(lpszFile: LPCTSTR): HDC; stdcall;
  4206. {$EXTERNALSYM CreateMetaFile}
  4207. function CreatePalette(const lplgpl: LOGPALETTE): HPALETTE; stdcall;
  4208. {$EXTERNALSYM CreatePalette}
  4209. function CreatePen(fnPenStyle, nWidth: Integer; crColor: COLORREF): HPEN; stdcall;
  4210. {$EXTERNALSYM CreatePen}
  4211. function CreatePenIndirect(const lplgpn: LOGPEN): HPEN; stdcall;
  4212. {$EXTERNALSYM CreatePenIndirect}
  4213. function CreatePolyPolygonRgn(lppt: LPPOINT; lpPolyCounts: LPINT; nCount, fnPolyFillMode: Integer): HRGN; stdcall;
  4214. {$EXTERNALSYM CreatePolyPolygonRgn}
  4215. function CreatePatternBrush(hbmp: HBITMAP): HBRUSH; stdcall;
  4216. {$EXTERNALSYM CreatePatternBrush}
  4217. function CreateRectRgn(nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): HRGN; stdcall;
  4218. {$EXTERNALSYM CreateRectRgn}
  4219. function CreateRectRgnIndirect(const lprc: RECT): HRGN; stdcall;
  4220. {$EXTERNALSYM CreateRectRgnIndirect}
  4221. function CreateRoundRectRgn(nLeftRect, nTopRect, nRightRect, nBottomRect, nWidthEllipse, nHeightEllipse: Integer): HRGN; stdcall;
  4222. {$EXTERNALSYM CreateRoundRectRgn}
  4223. function CreateScalableFontResourceA(fdwHidden: DWORD; lpszFontRes, lpszFontFile, lpszCurrentPath: LPCSTR): BOOL; stdcall;
  4224. {$EXTERNALSYM CreateScalableFontResourceA}
  4225. function CreateScalableFontResourceW(fdwHidden: DWORD; lpszFontRes, lpszFontFile, lpszCurrentPath: LPCWSTR): BOOL; stdcall;
  4226. {$EXTERNALSYM CreateScalableFontResourceW}
  4227. function CreateScalableFontResource(fdwHidden: DWORD; lpszFontRes, lpszFontFile, lpszCurrentPath: LPCTSTR): BOOL; stdcall;
  4228. {$EXTERNALSYM CreateScalableFontResource}
  4229. function CreateSolidBrush(crColor: COLORREF): HBRUSH; stdcall;
  4230. {$EXTERNALSYM CreateSolidBrush}
  4231. function DeleteDC(hdc: HDC): BOOL; stdcall;
  4232. {$EXTERNALSYM DeleteDC}
  4233. function DeleteMetaFile(hmf: HMETAFILE): BOOL; stdcall;
  4234. {$EXTERNALSYM DeleteMetaFile}
  4235. function DeleteObject(hObject: HGDIOBJ): BOOL; stdcall;
  4236. {$EXTERNALSYM DeleteObject}
  4237. function DescribePixelFormat(hdc: HDC; iPixelFormat: Integer; nBytes: UINT; ppfd: LPPIXELFORMATDESCRIPTOR): Integer; stdcall;
  4238. {$EXTERNALSYM DescribePixelFormat}
  4239. // mode selections for the device mode function
  4240. {$IFNDEF JWA_INCLUDEMODE}
  4241. const
  4242. DM_UPDATE = 1;
  4243. {$EXTERNALSYM DM_UPDATE}
  4244. DM_COPY = 2;
  4245. {$EXTERNALSYM DM_COPY}
  4246. DM_PROMPT = 4;
  4247. {$EXTERNALSYM DM_PROMPT}
  4248. DM_MODIFY = 8;
  4249. {$EXTERNALSYM DM_MODIFY}
  4250. DM_IN_BUFFER = DM_MODIFY;
  4251. {$EXTERNALSYM DM_IN_BUFFER}
  4252. DM_IN_PROMPT = DM_PROMPT;
  4253. {$EXTERNALSYM DM_IN_PROMPT}
  4254. DM_OUT_BUFFER = DM_COPY;
  4255. {$EXTERNALSYM DM_OUT_BUFFER}
  4256. DM_OUT_DEFAULT = DM_UPDATE;
  4257. {$EXTERNALSYM DM_OUT_DEFAULT}
  4258. // device capabilities indices
  4259. DC_FIELDS = 1;
  4260. {$EXTERNALSYM DC_FIELDS}
  4261. DC_PAPERS = 2;
  4262. {$EXTERNALSYM DC_PAPERS}
  4263. DC_PAPERSIZE = 3;
  4264. {$EXTERNALSYM DC_PAPERSIZE}
  4265. DC_MINEXTENT = 4;
  4266. {$EXTERNALSYM DC_MINEXTENT}
  4267. DC_MAXEXTENT = 5;
  4268. {$EXTERNALSYM DC_MAXEXTENT}
  4269. DC_BINS = 6;
  4270. {$EXTERNALSYM DC_BINS}
  4271. DC_DUPLEX = 7;
  4272. {$EXTERNALSYM DC_DUPLEX}
  4273. DC_SIZE = 8;
  4274. {$EXTERNALSYM DC_SIZE}
  4275. DC_EXTRA = 9;
  4276. {$EXTERNALSYM DC_EXTRA}
  4277. DC_VERSION = 10;
  4278. {$EXTERNALSYM DC_VERSION}
  4279. DC_DRIVER = 11;
  4280. {$EXTERNALSYM DC_DRIVER}
  4281. DC_BINNAMES = 12;
  4282. {$EXTERNALSYM DC_BINNAMES}
  4283. DC_ENUMRESOLUTIONS = 13;
  4284. {$EXTERNALSYM DC_ENUMRESOLUTIONS}
  4285. DC_FILEDEPENDENCIES = 14;
  4286. {$EXTERNALSYM DC_FILEDEPENDENCIES}
  4287. DC_TRUETYPE = 15;
  4288. {$EXTERNALSYM DC_TRUETYPE}
  4289. DC_PAPERNAMES = 16;
  4290. {$EXTERNALSYM DC_PAPERNAMES}
  4291. DC_ORIENTATION = 17;
  4292. {$EXTERNALSYM DC_ORIENTATION}
  4293. DC_COPIES = 18;
  4294. {$EXTERNALSYM DC_COPIES}
  4295. DC_BINADJUST = 19;
  4296. {$EXTERNALSYM DC_BINADJUST}
  4297. DC_EMF_COMPLIANT = 20;
  4298. {$EXTERNALSYM DC_EMF_COMPLIANT}
  4299. DC_DATATYPE_PRODUCED = 21;
  4300. {$EXTERNALSYM DC_DATATYPE_PRODUCED}
  4301. DC_COLLATE = 22;
  4302. {$EXTERNALSYM DC_COLLATE}
  4303. DC_MANUFACTURER = 23;
  4304. {$EXTERNALSYM DC_MANUFACTURER}
  4305. DC_MODEL = 24;
  4306. {$EXTERNALSYM DC_MODEL}
  4307. DC_PERSONALITY = 25;
  4308. {$EXTERNALSYM DC_PERSONALITY}
  4309. DC_PRINTRATE = 26;
  4310. {$EXTERNALSYM DC_PRINTRATE}
  4311. DC_PRINTRATEUNIT = 27;
  4312. {$EXTERNALSYM DC_PRINTRATEUNIT}
  4313. PRINTRATEUNIT_PPM = 1;
  4314. {$EXTERNALSYM PRINTRATEUNIT_PPM}
  4315. PRINTRATEUNIT_CPS = 2;
  4316. {$EXTERNALSYM PRINTRATEUNIT_CPS}
  4317. PRINTRATEUNIT_LPM = 3;
  4318. {$EXTERNALSYM PRINTRATEUNIT_LPM}
  4319. PRINTRATEUNIT_IPM = 4;
  4320. {$EXTERNALSYM PRINTRATEUNIT_IPM}
  4321. DC_PRINTERMEM = 28;
  4322. {$EXTERNALSYM DC_PRINTERMEM}
  4323. DC_MEDIAREADY = 29;
  4324. {$EXTERNALSYM DC_MEDIAREADY}
  4325. DC_STAPLE = 30;
  4326. {$EXTERNALSYM DC_STAPLE}
  4327. DC_PRINTRATEPPM = 31;
  4328. {$EXTERNALSYM DC_PRINTRATEPPM}
  4329. DC_COLORDEVICE = 32;
  4330. {$EXTERNALSYM DC_COLORDEVICE}
  4331. DC_NUP = 33;
  4332. {$EXTERNALSYM DC_NUP}
  4333. DC_MEDIATYPENAMES = 34;
  4334. {$EXTERNALSYM DC_MEDIATYPENAMES}
  4335. DC_MEDIATYPES = 35;
  4336. {$EXTERNALSYM DC_MEDIATYPES}
  4337. {$ENDIF !JWA_INCLUDEMODE}
  4338. // bit fields of the return value (DWORD) for DC_TRUETYPE
  4339. const
  4340. DCTT_BITMAP = $0000001;
  4341. {$EXTERNALSYM DCTT_BITMAP}
  4342. DCTT_DOWNLOAD = $0000002;
  4343. {$EXTERNALSYM DCTT_DOWNLOAD}
  4344. DCTT_SUBDEV = $0000004;
  4345. {$EXTERNALSYM DCTT_SUBDEV}
  4346. DCTT_DOWNLOAD_OUTLINE = $0000008;
  4347. {$EXTERNALSYM DCTT_DOWNLOAD_OUTLINE}
  4348. // return values for DC_BINADJUST
  4349. DCBA_FACEUPNONE = $0000;
  4350. {$EXTERNALSYM DCBA_FACEUPNONE}
  4351. DCBA_FACEUPCENTER = $0001;
  4352. {$EXTERNALSYM DCBA_FACEUPCENTER}
  4353. DCBA_FACEUPLEFT = $0002;
  4354. {$EXTERNALSYM DCBA_FACEUPLEFT}
  4355. DCBA_FACEUPRIGHT = $0003;
  4356. {$EXTERNALSYM DCBA_FACEUPRIGHT}
  4357. DCBA_FACEDOWNNONE = $0100;
  4358. {$EXTERNALSYM DCBA_FACEDOWNNONE}
  4359. DCBA_FACEDOWNCENTER = $0101;
  4360. {$EXTERNALSYM DCBA_FACEDOWNCENTER}
  4361. DCBA_FACEDOWNLEFT = $0102;
  4362. {$EXTERNALSYM DCBA_FACEDOWNLEFT}
  4363. DCBA_FACEDOWNRIGHT = $0103;
  4364. {$EXTERNALSYM DCBA_FACEDOWNRIGHT}
  4365. function DeviceCapabilitiesA(pDevice, pPort: LPCSTR; fwCapability: WORD; pOutput: LPSTR; pDevMode: LPDEVMODEA): Integer; stdcall;
  4366. {$EXTERNALSYM DeviceCapabilitiesA}
  4367. function DeviceCapabilitiesW(pDevice, pPort: LPCWSTR; fwCapability: WORD; pOutput: LPWSTR; pDevMode: LPDEVMODEW): Integer; stdcall;
  4368. {$EXTERNALSYM DeviceCapabilitiesW}
  4369. function DeviceCapabilities(pDevice, pPort: LPCTSTR; fwCapability: WORD; pOutput: LPTSTR; pDevMode: LPDEVMODE): Integer; stdcall;
  4370. {$EXTERNALSYM DeviceCapabilities}
  4371. function DrawEscape(hdc: HDC; nEscape, cbInput: Integer; lpszInData: LPCSTR): Integer; stdcall;
  4372. {$EXTERNALSYM DrawEscape}
  4373. function Ellipse(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): BOOL; stdcall;
  4374. {$EXTERNALSYM Ellipse}
  4375. function EnumFontFamiliesExA(hdc: HDC; lpLogFont: LPLOGFONTA; lpEnumFontFamExProc: FONTENUMPROCA; lParam: LPARAM; dwFlags: DWORD): Integer; stdcall;
  4376. {$EXTERNALSYM EnumFontFamiliesExA}
  4377. function EnumFontFamiliesExW(hdc: HDC; lpLogFont: LPLOGFONTW; lpEnumFontFamExProc: FONTENUMPROCW; lParam: LPARAM; dwFlags: DWORD): Integer; stdcall;
  4378. {$EXTERNALSYM EnumFontFamiliesExW}
  4379. function EnumFontFamiliesEx(hdc: HDC; lpLogFont: LPLOGFONT; lpEnumFontFamExProc: FONTENUMPROC; lParam: LPARAM; dwFlags: DWORD): Integer; stdcall;
  4380. {$EXTERNALSYM EnumFontFamiliesEx}
  4381. function EnumFontFamiliesA(hdc: HDC; lpszFamily: LPCSTR; lpEnumFontFamProc: FONTENUMPROCA; lParam: LPARAM): Integer; stdcall;
  4382. {$EXTERNALSYM EnumFontFamiliesA}
  4383. function EnumFontFamiliesW(hdc: HDC; lpszFamily: LPCWSTR; lpEnumFontFamProc: FONTENUMPROCW; lParam: LPARAM): Integer; stdcall;
  4384. {$EXTERNALSYM EnumFontFamiliesW}
  4385. function EnumFontFamilies(hdc: HDC; lpszFamily: LPCTSTR; lpEnumFontFamProc: FONTENUMPROC; lParam: LPARAM): Integer; stdcall;
  4386. {$EXTERNALSYM EnumFontFamilies}
  4387. function EnumFontsA(hdc: HDC; lpFaceName: LPCSTR; lpFontFunc: FONTENUMPROCA; lParam: LPARAM): Integer; stdcall;
  4388. {$EXTERNALSYM EnumFontsA}
  4389. function EnumFontsW(hdc: HDC; lpFaceName: LPCWSTR; lpFontFunc: FONTENUMPROCW; lParam: LPARAM): Integer; stdcall;
  4390. {$EXTERNALSYM EnumFontsW}
  4391. function EnumFonts(hdc: HDC; lpFaceName: LPCTSTR; lpFontFunc: FONTENUMPROC; lParam: LPARAM): Integer; stdcall;
  4392. {$EXTERNALSYM EnumFonts}
  4393. function EnumObjects(hdc: HDC; mObjectType: Integer; lpObjectFunc: GOBJENUMPROC; lParam: LPARAM): Integer; stdcall;
  4394. {$EXTERNALSYM EnumObjects}
  4395. function EqualRgn(hSrcRgn1, hSrcRgn2: HRGN): BOOL; stdcall;
  4396. {$EXTERNALSYM EqualRgn}
  4397. function Escape(hdc: HDC; nEscape, cbInput: Integer; lpvInData: LPCSTR; lpvOutData: LPVOID): Integer; stdcall;
  4398. {$EXTERNALSYM Escape}
  4399. function ExtEscape(hdc: HDC; nEscape, cbInput: Integer; lpszInData: LPCSTR; cbOutput: Integer; lpszOutData: LPSTR): Integer; stdcall;
  4400. {$EXTERNALSYM ExtEscape}
  4401. function ExcludeClipRect(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): Integer; stdcall;
  4402. {$EXTERNALSYM ExcludeClipRect}
  4403. function ExtCreateRegion(lpXForm: LPXFORM; nCount: DWORD; lpRgnData: LPRGNDATA): HRGN; stdcall;
  4404. {$EXTERNALSYM ExtCreateRegion}
  4405. function ExtFloodFill(hdc: HDC; nXStart, nYStart: Integer; crColor: COLORREF; fuFillType: UINT): BOOL; stdcall;
  4406. {$EXTERNALSYM ExtFloodFill}
  4407. function FillRgn(hdc: HDC; hrgn: HRGN; hbr: HBRUSH): BOOL; stdcall;
  4408. {$EXTERNALSYM FillRgn}
  4409. function FloodFill(hdc: HDC; nXStart, nYStart: Integer; crFill: COLORREF): BOOL; stdcall;
  4410. {$EXTERNALSYM FloodFill}
  4411. function FrameRgn(hdc: HDC; hrgn: HRGN; hbr: HBRUSH; nWidth, nHeight: Integer): BOOL; stdcall;
  4412. {$EXTERNALSYM FrameRgn}
  4413. function GetROP2(hdc: HDC): Integer; stdcall;
  4414. {$EXTERNALSYM GetROP2}
  4415. function GetAspectRatioFilterEx(hdc: HDC; var lpAspectRatio: TSize): BOOL; stdcall;
  4416. {$EXTERNALSYM GetAspectRatioFilterEx}
  4417. function GetBkColor(hdc: HDC): COLORREF; stdcall;
  4418. {$EXTERNALSYM GetBkColor}
  4419. function GetDCBrushColor(hdc: HDC): COLORREF; stdcall;
  4420. {$EXTERNALSYM GetDCBrushColor}
  4421. function GetDCPenColor(hdc: HDC): COLORREF; stdcall;
  4422. {$EXTERNALSYM GetDCPenColor}
  4423. function GetBkMode(hdc: HDC): Integer; stdcall;
  4424. {$EXTERNALSYM GetBkMode}
  4425. function GetBitmapBits(hbmp: HBITMAP; cbBuffer: LONG; lpvBits: LPVOID): LONG; stdcall;
  4426. {$EXTERNALSYM GetBitmapBits}
  4427. function GetBitmapDimensionEx(hBitmap: HBITMAP; var lpDimension: TSize): BOOL; stdcall;
  4428. {$EXTERNALSYM GetBitmapDimensionEx}
  4429. function GetBoundsRect(hdc: HDC; var lprcBounds: RECT; flags: UINT): UINT; stdcall;
  4430. {$EXTERNALSYM GetBoundsRect}
  4431. function GetBrushOrgEx(hdc: HDC; var lppt: POINT): BOOL; stdcall;
  4432. {$EXTERNALSYM GetBrushOrgEx}
  4433. function GetCharWidthA(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall;
  4434. {$EXTERNALSYM GetCharWidthA}
  4435. function GetCharWidthW(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall;
  4436. {$EXTERNALSYM GetCharWidthW}
  4437. function GetCharWidth(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall;
  4438. {$EXTERNALSYM GetCharWidth}
  4439. function GetCharWidth32A(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall;
  4440. {$EXTERNALSYM GetCharWidth32A}
  4441. function GetCharWidth32W(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall;
  4442. {$EXTERNALSYM GetCharWidth32W}
  4443. function GetCharWidth32(hdc: HDC; iFirstChar, iLastChar: UINT; lpBuffer: LPINT): BOOL; stdcall;
  4444. {$EXTERNALSYM GetCharWidth32}
  4445. function GetCharWidthFloatA(hdc: HDC; iFirstChar, iLastChar: UINT; pxBuffer: PFLOAT): BOOL; stdcall;
  4446. {$EXTERNALSYM GetCharWidthFloatA}
  4447. function GetCharWidthFloatW(hdc: HDC; iFirstChar, iLastChar: UINT; pxBuffer: PFLOAT): BOOL; stdcall;
  4448. {$EXTERNALSYM GetCharWidthFloatW}
  4449. function GetCharWidthFloat(hdc: HDC; iFirstChar, iLastChar: UINT; pxBuffer: PFLOAT): BOOL; stdcall;
  4450. {$EXTERNALSYM GetCharWidthFloat}
  4451. function GetCharABCWidthsA(hdc: HDC; uFirstChar, uLastChar: UINT; lpAbc: LPABC): BOOL; stdcall;
  4452. {$EXTERNALSYM GetCharABCWidthsA}
  4453. function GetCharABCWidthsW(hdc: HDC; uFirstChar, uLastChar: UINT; lpAbc: LPABC): BOOL; stdcall;
  4454. {$EXTERNALSYM GetCharABCWidthsW}
  4455. function GetCharABCWidths(hdc: HDC; uFirstChar, uLastChar: UINT; lpAbc: LPABC): BOOL; stdcall;
  4456. {$EXTERNALSYM GetCharABCWidths}
  4457. function GetCharABCWidthsFloatA(hdc: HDC; iFirstChar, iLastChar: UINT; lpAbcF: LPABCFLOAT): BOOL; stdcall;
  4458. {$EXTERNALSYM GetCharABCWidthsFloatA}
  4459. function GetCharABCWidthsFloatW(hdc: HDC; iFirstChar, iLastChar: UINT; lpAbcF: LPABCFLOAT): BOOL; stdcall;
  4460. {$EXTERNALSYM GetCharABCWidthsFloatW}
  4461. function GetCharABCWidthsFloat(hdc: HDC; iFirstChar, iLastChar: UINT; lpAbcF: LPABCFLOAT): BOOL; stdcall;
  4462. {$EXTERNALSYM GetCharABCWidthsFloat}
  4463. function GetClipBox(hdc: HDC; var lprc: RECT): Integer; stdcall;
  4464. {$EXTERNALSYM GetClipBox}
  4465. function GetClipRgn(hdc: HDC; hrgn: HRGN): Integer; stdcall;
  4466. {$EXTERNALSYM GetClipRgn}
  4467. function GetMetaRgn(hdc: HDC; hrgn: HRGN): Integer; stdcall;
  4468. {$EXTERNALSYM GetMetaRgn}
  4469. function GetCurrentObject(hdc: HDC; uObjectType: UINT): HGDIOBJ; stdcall;
  4470. {$EXTERNALSYM GetCurrentObject}
  4471. function GetCurrentPositionEx(hdc: HDC; var lpPoint: POINT): BOOL; stdcall;
  4472. {$EXTERNALSYM GetCurrentPositionEx}
  4473. function GetDeviceCaps(hdc: HDC; nIndex: Integer): Integer; stdcall;
  4474. {$EXTERNALSYM GetDeviceCaps}
  4475. function GetDIBits(hdc: HDC; hbmp: HBITMAP; uStartScan, cScanLines: UINT; lpvBits: LPVOID; var lpbi: BITMAPINFO; uUsage: UINT): Integer; stdcall;
  4476. {$EXTERNALSYM GetDIBits}
  4477. function GetFontData(hdc: HDC; dwTable, dwOffset: DWORD; lpvBuffer: LPVOID; cbData: DWORD): DWORD; stdcall;
  4478. {$EXTERNALSYM GetFontData}
  4479. function GetGlyphOutlineA(hdc: HDC; uChar, uFormat: UINT; var lpgm: GLYPHMETRICS; cbBuffer: DWORD; lpvBuffer: LPVOID; const lpMat2: MAT2): DWORD; stdcall;
  4480. {$EXTERNALSYM GetGlyphOutlineA}
  4481. function GetGlyphOutlineW(hdc: HDC; uChar, uFormat: UINT; var lpgm: GLYPHMETRICS; cbBuffer: DWORD; lpvBuffer: LPVOID; const lpMat2: MAT2): DWORD; stdcall;
  4482. {$EXTERNALSYM GetGlyphOutlineW}
  4483. function GetGlyphOutline(hdc: HDC; uChar, uFormat: UINT; var lpgm: GLYPHMETRICS; cbBuffer: DWORD; lpvBuffer: LPVOID; const lpMat2: MAT2): DWORD; stdcall;
  4484. {$EXTERNALSYM GetGlyphOutline}
  4485. function GetGraphicsMode(hdc: HDC): Integer; stdcall;
  4486. {$EXTERNALSYM GetGraphicsMode}
  4487. function GetMapMode(hdc: HDC): Integer; stdcall;
  4488. {$EXTERNALSYM GetMapMode}
  4489. function GetMetaFileBitsEx(hmf: HMETAFILE; nSize: UINT; lpvData: LPVOID): UINT; stdcall;
  4490. {$EXTERNALSYM GetMetaFileBitsEx}
  4491. function GetMetaFileA(lpszMetaFile: LPCSTR): HMETAFILE; stdcall;
  4492. {$EXTERNALSYM GetMetaFileA}
  4493. function GetMetaFileW(lpszMetaFile: LPCWSTR): HMETAFILE; stdcall;
  4494. {$EXTERNALSYM GetMetaFileW}
  4495. function GetMetaFile(lpszMetaFile: LPCTSTR): HMETAFILE; stdcall;
  4496. {$EXTERNALSYM GetMetaFile}
  4497. function GetNearestColor(hdc: HDC; crColor: COLORREF): COLORREF; stdcall;
  4498. {$EXTERNALSYM GetNearestColor}
  4499. function GetNearestPaletteIndex(hPal: HPALETTE; crColor: COLORREF): UINT; stdcall;
  4500. {$EXTERNALSYM GetNearestPaletteIndex}
  4501. function GetObjectType(h: HGDIOBJ): DWORD; stdcall;
  4502. {$EXTERNALSYM GetObjectType}
  4503. function GetOutlineTextMetricsA(hdc: HDC; cbData: UINT; lpOTM: LPOUTLINETEXTMETRICA): UINT; stdcall;
  4504. {$EXTERNALSYM GetOutlineTextMetricsA}
  4505. function GetOutlineTextMetricsW(hdc: HDC; cbData: UINT; lpOTM: LPOUTLINETEXTMETRICW): UINT; stdcall;
  4506. {$EXTERNALSYM GetOutlineTextMetricsW}
  4507. function GetOutlineTextMetrics(hdc: HDC; cbData: UINT; lpOTM: LPOUTLINETEXTMETRIC): UINT; stdcall;
  4508. {$EXTERNALSYM GetOutlineTextMetrics}
  4509. function GetPaletteEntries(hPal: HPALETTE; iStartIndex, nEntries: UINT; lppe: LPPALETTEENTRY): UINT; stdcall;
  4510. {$EXTERNALSYM GetPaletteEntries}
  4511. function GetPixel(hdc: HDC; nXPos, nYPos: Integer): COLORREF; stdcall;
  4512. {$EXTERNALSYM GetPixel}
  4513. function GetPixelFormat(hdc: HDC): Integer; stdcall;
  4514. {$EXTERNALSYM GetPixelFormat}
  4515. function GetPolyFillMode(hdc: HDC): Integer; stdcall;
  4516. {$EXTERNALSYM GetPolyFillMode}
  4517. function GetRasterizerCaps(var lprs: RASTERIZER_STATUS; cb: UINT): BOOL; stdcall;
  4518. {$EXTERNALSYM GetRasterizerCaps}
  4519. function GetRandomRgn(hdc: HDC; hrgn: HRGN; iNum: Integer): Integer; stdcall;
  4520. {$EXTERNALSYM GetRandomRgn}
  4521. function GetRegionData(hrgn: HRGN; dwCount: DWORD; lpRgnData: LPRGNDATA): DWORD; stdcall;
  4522. {$EXTERNALSYM GetRegionData}
  4523. function GetRgnBox(hrgn: HRGN; var lprc: RECT): Integer; stdcall;
  4524. {$EXTERNALSYM GetRgnBox}
  4525. function GetStockObject(fnObject: Integer): HGDIOBJ; stdcall;
  4526. {$EXTERNALSYM GetStockObject}
  4527. function GetStretchBltMode(hdc: HDC): Integer; stdcall;
  4528. {$EXTERNALSYM GetStretchBltMode}
  4529. function GetSystemPaletteEntries(hdc: HDC; iStartIndex, nEntries: UINT; lppe: LPPALETTEENTRY): UINT; stdcall;
  4530. {$EXTERNALSYM GetSystemPaletteEntries}
  4531. function GetSystemPaletteUse(hdc: HDC): UINT; stdcall;
  4532. {$EXTERNALSYM GetSystemPaletteUse}
  4533. function GetTextCharacterExtra(hdc: HDC): Integer; stdcall;
  4534. {$EXTERNALSYM GetTextCharacterExtra}
  4535. function GetTextAlign(hdc: HDC): UINT; stdcall;
  4536. {$EXTERNALSYM GetTextAlign}
  4537. function GetTextColor(hdc: HDC): COLORREF; stdcall;
  4538. {$EXTERNALSYM GetTextColor}
  4539. function GetTextExtentPointA(hdc: HDC; lpString: LPCSTR; cbString: Integer; var Size: TSize): BOOL; stdcall;
  4540. {$EXTERNALSYM GetTextExtentPointA}
  4541. function GetTextExtentPointW(hdc: HDC; lpString: LPCWSTR; cbString: Integer; var Size: TSize): BOOL; stdcall;
  4542. {$EXTERNALSYM GetTextExtentPointW}
  4543. function GetTextExtentPoint(hdc: HDC; lpString: LPCTSTR; cbString: Integer; var Size: TSize): BOOL; stdcall;
  4544. {$EXTERNALSYM GetTextExtentPoint}
  4545. function GetTextExtentPoint32A(hdc: HDC; lpString: LPCSTR; cbString: Integer; var Size: TSize): BOOL; stdcall;
  4546. {$EXTERNALSYM GetTextExtentPoint32A}
  4547. function GetTextExtentPoint32W(hdc: HDC; lpString: LPCWSTR; cbString: Integer; var Size: TSize): BOOL; stdcall;
  4548. {$EXTERNALSYM GetTextExtentPoint32W}
  4549. function GetTextExtentPoint32(hdc: HDC; lpString: LPCTSTR; cbString: Integer; var Size: TSize): BOOL; stdcall;
  4550. {$EXTERNALSYM GetTextExtentPoint32}
  4551. function GetTextExtentExPointA(hdc: HDC; lpszStr: LPCSTR; cchString, nMaxExtend: Integer; lpnFit, alpDx: LPINT; var lpSize: TSize): BOOL; stdcall;
  4552. {$EXTERNALSYM GetTextExtentExPointA}
  4553. function GetTextExtentExPointW(hdc: HDC; lpszStr: LPCWSTR; cchString, nMaxExtend: Integer; lpnFit, alpDx: LPINT; var lpSize: TSize): BOOL; stdcall;
  4554. {$EXTERNALSYM GetTextExtentExPointW}
  4555. function GetTextExtentExPoint(hdc: HDC; lpszStr: LPCTSTR; cchString, nMaxExtend: Integer; lpnFit, alpDx: LPINT; var lpSize: TSize): BOOL; stdcall;
  4556. {$EXTERNALSYM GetTextExtentExPoint}
  4557. function GetTextCharset(hdc: HDC): Integer; stdcall;
  4558. {$EXTERNALSYM GetTextCharset}
  4559. function GetTextCharsetInfo(hdc: HDC; lpSig: LPFONTSIGNATURE; dwFlags: DWORD): Integer; stdcall;
  4560. {$EXTERNALSYM GetTextCharsetInfo}
  4561. function TranslateCharsetInfo(lpSrc: LPDWORD; lpCs: LPCHARSETINFO; dwFlags: DWORD): BOOL; stdcall;
  4562. {$EXTERNALSYM TranslateCharsetInfo}
  4563. function GetFontLanguageInfo(hdc: HDC): DWORD; stdcall;
  4564. {$EXTERNALSYM GetFontLanguageInfo}
  4565. function GetCharacterPlacementA(hdc: HDC; lpString: LPCSTR; nCount, nMaxExtend: Integer; var lpResults: GCP_RESULTSA; dwFlags: DWORD): DWORD; stdcall;
  4566. {$EXTERNALSYM GetCharacterPlacementA}
  4567. function GetCharacterPlacementW(hdc: HDC; lpString: LPCWSTR; nCount, nMaxExtend: Integer; var lpResults: GCP_RESULTSW; dwFlags: DWORD): DWORD; stdcall;
  4568. {$EXTERNALSYM GetCharacterPlacementW}
  4569. function GetCharacterPlacement(hdc: HDC; lpString: LPCTSTR; nCount, nMaxExtend: Integer; var lpResults: GCP_RESULTS; dwFlags: DWORD): DWORD; stdcall;
  4570. {$EXTERNALSYM GetCharacterPlacement}
  4571. type
  4572. PWcRange = ^TWcRange;
  4573. tagWCRANGE = record
  4574. wcLow: WCHAR;
  4575. cGlyphs: USHORT;
  4576. end;
  4577. {$EXTERNALSYM tagWCRANGE}
  4578. WCRANGE = tagWCRANGE;
  4579. {$EXTERNALSYM WCRANGE}
  4580. LPWCRANGE = ^WCRANGE;
  4581. {$EXTERNALSYM LPWCRANGE}
  4582. TWcRange = WCRANGE;
  4583. PGlyphSet = ^TGlyphSet;
  4584. tagGLYPHSET = record
  4585. cbThis: DWORD;
  4586. flAccel: DWORD;
  4587. cGlyphsSupported: DWORD;
  4588. cRanges: DWORD;
  4589. ranges: array [0..0] of WCRANGE;
  4590. end;
  4591. {$EXTERNALSYM tagGLYPHSET}
  4592. GLYPHSET = tagGLYPHSET;
  4593. {$EXTERNALSYM GLYPHSET}
  4594. LPGLYPHSET = ^GLYPHSET;
  4595. {$EXTERNALSYM LPGLYPHSET}
  4596. TGlyphSet = GLYPHSET;
  4597. // flAccel flags for the GLYPHSET structure above
  4598. const
  4599. GS_8BIT_INDICES = $00000001;
  4600. {$EXTERNALSYM GS_8BIT_INDICES}
  4601. // flags for GetGlyphIndices
  4602. GGI_MARK_NONEXISTING_GLYPHS = $0001;
  4603. {$EXTERNALSYM GGI_MARK_NONEXISTING_GLYPHS}
  4604. function GetFontUnicodeRanges(hdc: HDC; lpgs: LPGLYPHSET): DWORD; stdcall;
  4605. {$EXTERNALSYM GetFontUnicodeRanges}
  4606. function GetGlyphIndicesA(hdc: HDC; lpstr: LPCSTR; c: Integer; pgi: LPWORD; fl: DWORD): DWORD; stdcall;
  4607. {$EXTERNALSYM GetGlyphIndicesA}
  4608. function GetGlyphIndicesW(hdc: HDC; lpstr: LPCWSTR; c: Integer; pgi: LPWORD; fl: DWORD): DWORD; stdcall;
  4609. {$EXTERNALSYM GetGlyphIndicesW}
  4610. function GetGlyphIndices(hdc: HDC; lpstr: LPCTSTR; c: Integer; pgi: LPWORD; fl: DWORD): DWORD; stdcall;
  4611. {$EXTERNALSYM GetGlyphIndices}
  4612. function GetTextExtentPointI(hdc: HDC; pgiIn: LPWORD; cgi: Integer; lpSize: LPSIZE): BOOL; stdcall;
  4613. {$EXTERNALSYM GetTextExtentPointI}
  4614. function GetTextExtentExPointI(hdc: HDC; pgiIn: LPWORD; cgi, nMaxExtend: Integer;
  4615. lpnFit, alpDx: LPINT; lpSize: LPSIZE): BOOL; stdcall;
  4616. {$EXTERNALSYM GetTextExtentExPointI}
  4617. function GetCharWidthI(hdc: HDC; giFirst, cgi: UINT; pgi: LPWORD; lpBuffer: LPINT): BOOL; stdcall;
  4618. {$EXTERNALSYM GetCharWidthI}
  4619. function GetCharABCWidthsI(hdc: HDC; giFirst, cgi: UINT; pgi: LPWORD; lpAbc: LPABC): BOOL; stdcall;
  4620. {$EXTERNALSYM GetCharABCWidthsI}
  4621. const
  4622. STAMP_DESIGNVECTOR = $8000000 + Ord('d') + (Ord('v') shl 8);
  4623. {$EXTERNALSYM STAMP_DESIGNVECTOR}
  4624. STAMP_AXESLIST = $8000000 + Ord('a') + (Ord('l') shl 8);
  4625. {$EXTERNALSYM STAMP_AXESLIST}
  4626. MM_MAX_NUMAXES = 16;
  4627. {$EXTERNALSYM MM_MAX_NUMAXES}
  4628. type
  4629. PDesignVector = ^TDesignVector;
  4630. tagDESIGNVECTOR = record
  4631. dvReserved: DWORD;
  4632. dvNumAxes: DWORD;
  4633. dvValues: array [0..MM_MAX_NUMAXES - 1] of LONG;
  4634. end;
  4635. {$EXTERNALSYM tagDESIGNVECTOR}
  4636. DESIGNVECTOR = tagDESIGNVECTOR;
  4637. {$EXTERNALSYM DESIGNVECTOR}
  4638. LPDESIGNVECTOR = ^DESIGNVECTOR;
  4639. {$EXTERNALSYM LPDESIGNVECTOR}
  4640. TDesignVector = DESIGNVECTOR;
  4641. function AddFontResourceExA(lpszFilename: LPCSTR; fl: DWORD; pdv: PVOID): Integer; stdcall;
  4642. {$EXTERNALSYM AddFontResourceExA}
  4643. function AddFontResourceExW(lpszFilename: LPCWSTR; fl: DWORD; pdv: PVOID): Integer; stdcall;
  4644. {$EXTERNALSYM AddFontResourceExW}
  4645. function AddFontResourceEx(lpszFilename: LPCTSTR; fl: DWORD; pdv: PVOID): Integer; stdcall;
  4646. {$EXTERNALSYM AddFontResourceEx}
  4647. function RemoveFontResourceExA(lpFilename: LPCSTR; fl: DWORD; pdv: PVOID): BOOL; stdcall;
  4648. {$EXTERNALSYM RemoveFontResourceExA}
  4649. function RemoveFontResourceExW(lpFilename: LPCWSTR; fl: DWORD; pdv: PVOID): BOOL; stdcall;
  4650. {$EXTERNALSYM RemoveFontResourceExW}
  4651. function RemoveFontResourceEx(lpFilename: LPCTSTR; fl: DWORD; pdv: PVOID): BOOL; stdcall;
  4652. {$EXTERNALSYM RemoveFontResourceEx}
  4653. function AddFontMemResourceEx(pbFont: PVOID; cbFont: DWORD; pdv: PVOID; pcFonts: LPDWORD): HANDLE; stdcall;
  4654. {$EXTERNALSYM AddFontMemResourceEx}
  4655. function RemoveFontMemResourceEx(fh: HANDLE): BOOL; stdcall;
  4656. {$EXTERNALSYM RemoveFontMemResourceEx}
  4657. const
  4658. FR_PRIVATE = $10;
  4659. {$EXTERNALSYM FR_PRIVATE}
  4660. FR_NOT_ENUM = $20;
  4661. {$EXTERNALSYM FR_NOT_ENUM}
  4662. // The actual size of the DESIGNVECTOR and ENUMLOGFONTEXDV structures
  4663. // is determined by dvNumAxes,
  4664. // MM_MAX_NUMAXES only detemines the maximal size allowed
  4665. const
  4666. MM_MAX_AXES_NAMELEN = 16;
  4667. {$EXTERNALSYM MM_MAX_AXES_NAMELEN}
  4668. type
  4669. PAxisInfoA = ^TAxisInfoA;
  4670. tagAXISINFOA = record
  4671. axMinValue: LONG;
  4672. axMaxValue: LONG;
  4673. axAxisName: array [0..MM_MAX_AXES_NAMELEN - 1] of BYTE;
  4674. end;
  4675. {$EXTERNALSYM tagAXISINFOA}
  4676. AXISINFOA = tagAXISINFOA;
  4677. {$EXTERNALSYM AXISINFOA}
  4678. LPAXISINFOA = ^AXISINFOA;
  4679. {$EXTERNALSYM LPAXISINFOA}
  4680. TAxisInfoA = AXISINFOA;
  4681. PAxisInfoW = ^TAxisInfoW;
  4682. tagAXISINFOW = record
  4683. axMinValue: LONG;
  4684. axMaxValue: LONG;
  4685. axAxisName: array [0..MM_MAX_AXES_NAMELEN - 1] of WCHAR;
  4686. end;
  4687. {$EXTERNALSYM tagAXISINFOW}
  4688. AXISINFOW = tagAXISINFOW;
  4689. {$EXTERNALSYM AXISINFOW}
  4690. LPAXISINFOW = ^AXISINFOW;
  4691. {$EXTERNALSYM LPAXISINFOW}
  4692. TAxisInfoW = AXISINFOW;
  4693. {$IFDEF UNICODE}
  4694. AXISINFO = AXISINFOW;
  4695. {$EXTERNALSYM AXISINFO}
  4696. PAXISINFO = PAXISINFOW;
  4697. {$EXTERNALSYM PAXISINFO}
  4698. LPAXISINFO = LPAXISINFOW;
  4699. {$EXTERNALSYM LPAXISINFO}
  4700. TAxisInfo = TAxisInfoW;
  4701. {$ELSE}
  4702. AXISINFO = AXISINFOA;
  4703. {$EXTERNALSYM AXISINFO}
  4704. PAXISINFO = PAXISINFOA;
  4705. {$EXTERNALSYM PAXISINFO}
  4706. LPAXISINFO = LPAXISINFOA;
  4707. {$EXTERNALSYM LPAXISINFO}
  4708. TAxisInfo = TAxisInfoA;
  4709. {$ENDIF UNICODE}
  4710. PAxesListA = ^TAxesListA;
  4711. tagAXESLISTA = record
  4712. axlReserved: DWORD;
  4713. axlNumAxes: DWORD;
  4714. axlAxisInfo: array [0..MM_MAX_NUMAXES - 1] of AXISINFOA;
  4715. end;
  4716. {$EXTERNALSYM tagAXESLISTA}
  4717. AXESLISTA = tagAXESLISTA;
  4718. {$EXTERNALSYM AXESLISTA}
  4719. LPAXESLISTA = ^AXESLISTA;
  4720. {$EXTERNALSYM LPAXESLISTA}
  4721. TAxesListA = tagAXESLISTA;
  4722. PAxesListW = ^TAxesListW;
  4723. tagAXESLISTW = record
  4724. axlReserved: DWORD;
  4725. axlNumAxes: DWORD;
  4726. axlAxisInfo: array [0..MM_MAX_NUMAXES - 1] of AXISINFOW;
  4727. end;
  4728. {$EXTERNALSYM tagAXESLISTW}
  4729. AXESLISTW = tagAXESLISTW;
  4730. {$EXTERNALSYM AXESLISTW}
  4731. LPAXESLISTW = ^AXESLISTW;
  4732. {$EXTERNALSYM LPAXESLISTW}
  4733. TAxesListW = tagAXESLISTW;
  4734. {$IFDEF UNICODE}
  4735. AXESLIST = AXESLISTW;
  4736. {$EXTERNALSYM AXESLIST}
  4737. PAXESLIST = PAXESLISTW;
  4738. {$EXTERNALSYM PAXESLIST}
  4739. LPAXESLIST = LPAXESLISTW;
  4740. {$EXTERNALSYM LPAXESLIST}
  4741. TAxesList = TAxesListW;
  4742. {$ELSE}
  4743. AXESLIST = AXESLISTA;
  4744. {$EXTERNALSYM AXESLIST}
  4745. PAXESLIST = PAXESLISTA;
  4746. {$EXTERNALSYM PAXESLIST}
  4747. LPAXESLIST = LPAXESLISTA;
  4748. {$EXTERNALSYM LPAXESLIST}
  4749. TAxesList = TAxesListA;
  4750. {$ENDIF UNICODE}
  4751. // The actual size of the AXESLIST and ENUMTEXTMETRIC structure is
  4752. // determined by axlNumAxes,
  4753. // MM_MAX_NUMAXES only detemines the maximal size allowed
  4754. PEnumLogFontExDVA = ^TEnumLogFontExDVA;
  4755. tagENUMLOGFONTEXDVA = record
  4756. elfEnumLogfontEx: ENUMLOGFONTEXA;
  4757. elfDesignVector: DESIGNVECTOR;
  4758. end;
  4759. {$EXTERNALSYM tagENUMLOGFONTEXDVA}
  4760. ENUMLOGFONTEXDVA = tagENUMLOGFONTEXDVA;
  4761. {$EXTERNALSYM ENUMLOGFONTEXDVA}
  4762. LPENUMLOGFONTEXDVA = ^ENUMLOGFONTEXDVA;
  4763. {$EXTERNALSYM LPENUMLOGFONTEXDVA}
  4764. TEnumLogFontExDVA = tagENUMLOGFONTEXDVA;
  4765. PEnumLogFontExDVW = ^TEnumLogFontExDVW;
  4766. tagENUMLOGFONTEXDVW = record
  4767. elfEnumLogfontEx: ENUMLOGFONTEXW;
  4768. elfDesignVector: DESIGNVECTOR;
  4769. end;
  4770. {$EXTERNALSYM tagENUMLOGFONTEXDVw}
  4771. ENUMLOGFONTEXDVW = tagENUMLOGFONTEXDVW;
  4772. {$EXTERNALSYM ENUMLOGFONTEXDVW}
  4773. LPENUMLOGFONTEXDVW = ^ENUMLOGFONTEXDVW;
  4774. {$EXTERNALSYM LPENUMLOGFONTEXDVW}
  4775. TEnumLogFontExDVW = tagENUMLOGFONTEXDVW;
  4776. {$IFDEF UNICODE}
  4777. ENUMLOGFONTEXDV = ENUMLOGFONTEXDVW;
  4778. {$EXTERNALSYM ENUMLOGFONTEXDV}
  4779. PENUMLOGFONTEXDV = PENUMLOGFONTEXDVW;
  4780. {$EXTERNALSYM PENUMLOGFONTEXDV}
  4781. LPENUMLOGFONTEXDV = LPENUMLOGFONTEXDVW;
  4782. {$EXTERNALSYM LPENUMLOGFONTEXDV}
  4783. TEnumLogFontExDV = TEnumLogFontExDVW;
  4784. {$ELSE}
  4785. ENUMLOGFONTEXDV = ENUMLOGFONTEXDVA;
  4786. {$EXTERNALSYM ENUMLOGFONTEXDV}
  4787. PENUMLOGFONTEXDV = PENUMLOGFONTEXDVA;
  4788. {$EXTERNALSYM PENUMLOGFONTEXDV}
  4789. LPENUMLOGFONTEXDV = LPENUMLOGFONTEXDVA;
  4790. {$EXTERNALSYM LPENUMLOGFONTEXDV}
  4791. TEnumLogFontExDV = TEnumLogFontExDVA;
  4792. {$ENDIF UNICODE}
  4793. function CreateFontIndirectExA(penumlfex: LPENUMLOGFONTEXDVA): HFONT; stdcall;
  4794. {$EXTERNALSYM CreateFontIndirectExA}
  4795. function CreateFontIndirectExW(penumlfex: LPENUMLOGFONTEXDVW): HFONT; stdcall;
  4796. {$EXTERNALSYM CreateFontIndirectExW}
  4797. function CreateFontIndirectEx(penumlfex: LPENUMLOGFONTEXDV): HFONT; stdcall;
  4798. {$EXTERNALSYM CreateFontIndirectEx}
  4799. type
  4800. PEnumTextMetricA = ^TEnumTextMetricA;
  4801. tagENUMTEXTMETRICA = record
  4802. etmNewTextMetricEx: NEWTEXTMETRICEXA;
  4803. etmAxesList: AXESLISTA;
  4804. end;
  4805. {$EXTERNALSYM tagENUMTEXTMETRICA}
  4806. ENUMTEXTMETRICA = tagENUMTEXTMETRICA;
  4807. {$EXTERNALSYM ENUMTEXTMETRICA}
  4808. LPENUMTEXTMETRICA = ^ENUMTEXTMETRICA;
  4809. {$EXTERNALSYM LPENUMTEXTMETRICA}
  4810. TEnumTextMetricA = tagENUMTEXTMETRICA;
  4811. PEnumTextMetricW = ^TEnumTextMetricW;
  4812. tagENUMTEXTMETRICW = record
  4813. etmNewTextMetricEx: NEWTEXTMETRICEXW;
  4814. etmAxesList: AXESLISTW;
  4815. end;
  4816. {$EXTERNALSYM tagENUMTEXTMETRICW}
  4817. ENUMTEXTMETRICW = tagENUMTEXTMETRICW;
  4818. {$EXTERNALSYM ENUMTEXTMETRICW}
  4819. LPENUMTEXTMETRICW = ^ENUMTEXTMETRICW;
  4820. {$EXTERNALSYM LPENUMTEXTMETRICW}
  4821. TEnumTextMetricW = tagENUMTEXTMETRICW;
  4822. {$IFDEF UNICODE}
  4823. ENUMTEXTMETRIC = ENUMTEXTMETRICW;
  4824. {$EXTERNALSYM ENUMTEXTMETRIC}
  4825. PENUMTEXTMETRIC = PENUMTEXTMETRICW;
  4826. {$EXTERNALSYM PENUMTEXTMETRIC}
  4827. LPENUMTEXTMETRIC = LPENUMTEXTMETRICW;
  4828. {$EXTERNALSYM LPENUMTEXTMETRIC}
  4829. TEnumTextMetric = TEnumTextMetricW;
  4830. {$ELSE}
  4831. ENUMTEXTMETRIC = ENUMTEXTMETRICA;
  4832. {$EXTERNALSYM ENUMTEXTMETRIC}
  4833. PENUMTEXTMETRIC = PENUMTEXTMETRICA;
  4834. {$EXTERNALSYM PENUMTEXTMETRIC}
  4835. LPENUMTEXTMETRIC = LPENUMTEXTMETRICA;
  4836. {$EXTERNALSYM LPENUMTEXTMETRIC}
  4837. TEnumTextMetric = TEnumTextMetricA;
  4838. {$ENDIF UNICODE}
  4839. function GetViewportExtEx(hdc: HDC; var lpSize: TSize): BOOL; stdcall;
  4840. {$EXTERNALSYM GetViewportExtEx}
  4841. function GetViewportOrgEx(hdc: HDC; var lpPoint: POINT): BOOL; stdcall;
  4842. {$EXTERNALSYM GetViewportOrgEx}
  4843. function GetWindowExtEx(hdc: HDC; var lpSize: TSize): BOOL; stdcall;
  4844. {$EXTERNALSYM GetWindowExtEx}
  4845. function GetWindowOrgEx(hdc: HDC; var lpPoint: POINT): BOOL; stdcall;
  4846. {$EXTERNALSYM GetWindowOrgEx}
  4847. function IntersectClipRect(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): Integer; stdcall;
  4848. {$EXTERNALSYM IntersectClipRect}
  4849. function InvertRgn(hdc: HDC; hrgn: HRGN): BOOL; stdcall;
  4850. {$EXTERNALSYM InvertRgn}
  4851. function LineDDA(nXStart, nYStart, nXEnd, nYEnd: Integer; lpLineFunc: LINEDDAPROC; lpData: LPARAM): BOOL; stdcall;
  4852. {$EXTERNALSYM LineDDA}
  4853. function LineTo(hdc: HDC; nXEnd, nYEnd: Integer): BOOL; stdcall;
  4854. {$EXTERNALSYM LineTo}
  4855. function MaskBlt(hdc: HDC; nXDest, nYDest, nWidth, nHeight: Integer; hdcSrc: HDC; nXSrc, nYSrc: Integer; hbmMask: HBITMAP; xMask, yMask: Integer; dwRop: DWORD): BOOL; stdcall;
  4856. {$EXTERNALSYM MaskBlt}
  4857. function PlgBlt(hdc: HDC; lpPoint: LPPOINT; hdcSrc: HDC; nXSrc, nYSrc, nWidth, nHeight: Integer; hbmMask: HBITMAP; xMask, yMask: Integer): BOOL; stdcall;
  4858. {$EXTERNALSYM PlgBlt}
  4859. function OffsetClipRgn(hdc: HDC; nXOffset, nYOffset: Integer): Integer; stdcall;
  4860. {$EXTERNALSYM OffsetClipRgn}
  4861. function OffsetRgn(hrgn: HRGN; nXOffset, nYOffset: Integer): Integer; stdcall;
  4862. {$EXTERNALSYM OffsetRgn}
  4863. function PatBlt(hdc: HDC; nXLeft, nYLeft, nWidth, nHeight: Integer; dwRop: DWORD): BOOL; stdcall;
  4864. {$EXTERNALSYM PatBlt}
  4865. function Pie(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nXRadial1, nYRadial1, nXRadial2, nYRadial2: Integer): BOOL; stdcall;
  4866. {$EXTERNALSYM Pie}
  4867. function PlayMetaFile(hdc: HDC; hmf: HMETAFILE): BOOL; stdcall;
  4868. {$EXTERNALSYM PlayMetaFile}
  4869. function PaintRgn(hdc: HDC; hrgn: HRGN): BOOL; stdcall;
  4870. {$EXTERNALSYM PaintRgn}
  4871. function PolyPolygon(hdc: HDC; lpPoints: LPPOINT; lpPolyCounts: LPINT; nCount: Integer): BOOL; stdcall;
  4872. {$EXTERNALSYM PolyPolygon}
  4873. function PtInRegion(hrgn: HRGN; X, Y: Integer): BOOL; stdcall;
  4874. {$EXTERNALSYM PtInRegion}
  4875. function PtVisible(hdc: HDC; X, Y: Integer): BOOL; stdcall;
  4876. {$EXTERNALSYM PtVisible}
  4877. function RectInRegion(hrgn: HRGN; const lprc: RECT): BOOL; stdcall;
  4878. {$EXTERNALSYM RectInRegion}
  4879. function RectVisible(hdc: HDC; const lprc: RECT): BOOL; stdcall;
  4880. {$EXTERNALSYM RectVisible}
  4881. function Rectangle(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): BOOL; stdcall;
  4882. {$EXTERNALSYM Rectangle}
  4883. function RestoreDC(hdc: HDC; nSavedDc: Integer): BOOL; stdcall;
  4884. {$EXTERNALSYM RestoreDC}
  4885. function ResetDCA(hdc: HDC; const lpInitData: DEVMODEA): HDC; stdcall;
  4886. {$EXTERNALSYM ResetDCA}
  4887. function ResetDCW(hdc: HDC; const lpInitData: DEVMODEW): HDC; stdcall;
  4888. {$EXTERNALSYM ResetDCW}
  4889. function ResetDC(hdc: HDC; const lpInitData: DEVMODE): HDC; stdcall;
  4890. {$EXTERNALSYM ResetDC}
  4891. function RealizePalette(hdc: HDC): UINT; stdcall;
  4892. {$EXTERNALSYM RealizePalette}
  4893. function RemoveFontResourceA(lpFileName: LPCSTR): BOOL; stdcall;
  4894. {$EXTERNALSYM RemoveFontResourceA}
  4895. function RemoveFontResourceW(lpFileName: LPCWSTR): BOOL; stdcall;
  4896. {$EXTERNALSYM RemoveFontResourceW}
  4897. function RemoveFontResource(lpFileName: LPCTSTR): BOOL; stdcall;
  4898. {$EXTERNALSYM RemoveFontResource}
  4899. function RoundRect(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nWidth, nHeight: Integer): BOOL; stdcall;
  4900. {$EXTERNALSYM RoundRect}
  4901. function ResizePalette(hPal: HPALETTE; nEntries: UINT): BOOL; stdcall;
  4902. {$EXTERNALSYM ResizePalette}
  4903. function SaveDC(hdc: HDC): Integer; stdcall;
  4904. {$EXTERNALSYM SaveDC}
  4905. function SelectClipRgn(hdc: HDC; hrgn: HRGN): Integer; stdcall;
  4906. {$EXTERNALSYM SelectClipRgn}
  4907. function ExtSelectClipRgn(hdc: HDC; hrgn: HRGN; fnMode: Integer): Integer; stdcall;
  4908. {$EXTERNALSYM ExtSelectClipRgn}
  4909. function SetMetaRgn(hdc: HDC): Integer; stdcall;
  4910. {$EXTERNALSYM SetMetaRgn}
  4911. function SelectObject(hdc: HDC; hgdiobj: HGDIOBJ): HGDIOBJ; stdcall;
  4912. {$EXTERNALSYM SelectObject}
  4913. function SelectPalette(hdc: HDC; hpal: HPALETTE; nForceBackground: BOOL): HPALETTE; stdcall;
  4914. {$EXTERNALSYM SelectPalette}
  4915. function SetBkColor(hdc: HDC; crColor: COLORREF): COLORREF; stdcall;
  4916. {$EXTERNALSYM SetBkColor}
  4917. function SetDCBrushColor(hdc: HDC; crColor: COLORREF): COLORREF; stdcall;
  4918. {$EXTERNALSYM SetDCBrushColor}
  4919. function SetDCPenColor(hdc: HDC; crColor: COLORREF): COLORREF; stdcall;
  4920. {$EXTERNALSYM SetDCPenColor}
  4921. function SetBkMode(hdc: HDC; iBlMode: Integer): Integer; stdcall;
  4922. {$EXTERNALSYM SetBkMode}
  4923. function SetBitmapBits(hbmp: HBITMAP; cBytes: DWORD; lpBits: LPVOID): LONG; stdcall;
  4924. {$EXTERNALSYM SetBitmapBits}
  4925. function SetBoundsRect(hdc: HDC; lprcBounds: LPRECT; flags: UINT): UINT; stdcall;
  4926. {$EXTERNALSYM SetBoundsRect}
  4927. function SetDIBits(hdc: HDC; hbmp: HBITMAP; uStartScan, cScanLines: UINT; lpvBits: LPVOID; const lpbmi: BITMAPINFO; fuColorUse: UINT): Integer; stdcall;
  4928. {$EXTERNALSYM SetDIBits}
  4929. function SetDIBitsToDevice(hdc: HDC; xDest, yDest: Integer; dwWidth, dwHeight: DWORD; XSrc, YSrc: Integer; uStartScan, cScanLines: UINT; lpvBits: LPVOID; const lpbmi: BITMAPINFO; fuColorUse: UINT): Integer; stdcall;
  4930. {$EXTERNALSYM SetDIBitsToDevice}
  4931. function SetMapperFlags(hdc: HDC; dwFlag: DWORD): DWORD; stdcall;
  4932. {$EXTERNALSYM SetMapperFlags}
  4933. function SetGraphicsMode(hdc: HDC; iMode: Integer): Integer; stdcall;
  4934. {$EXTERNALSYM SetGraphicsMode}
  4935. function SetMapMode(hdc: HDC; fnMapMode: Integer): Integer; stdcall;
  4936. {$EXTERNALSYM SetMapMode}
  4937. function SetLayout(hdc: HDC; dwLayOut: DWORD): DWORD; stdcall;
  4938. {$EXTERNALSYM SetLayout}
  4939. function GetLayout(hdc: HDC): DWORD; stdcall;
  4940. {$EXTERNALSYM GetLayout}
  4941. function SetMetaFileBitsEx(nSize: UINT; lpData: LPBYTE): HMETAFILE; stdcall;
  4942. {$EXTERNALSYM SetMetaFileBitsEx}
  4943. function SetPaletteEntries(hPal: HPALETTE; cStart, nEntries: UINT; lppe: LPPALETTEENTRY): UINT; stdcall;
  4944. {$EXTERNALSYM SetPaletteEntries}
  4945. function SetPixel(hdc: HDC; X, Y: Integer; crColor: COLORREF): COLORREF; stdcall;
  4946. {$EXTERNALSYM SetPixel}
  4947. function SetPixelV(hdc: HDC; X, Y: Integer; crColor: COLORREF): BOOL; stdcall;
  4948. {$EXTERNALSYM SetPixelV}
  4949. function SetPixelFormat(hdc: HDC; iPixelFormat: Integer; const ppfd: PIXELFORMATDESCRIPTOR): BOOL; stdcall;
  4950. {$EXTERNALSYM SetPixelFormat}
  4951. function SetPolyFillMode(hdc: HDC; iPolyFillMode: Integer): Integer; stdcall;
  4952. {$EXTERNALSYM SetPolyFillMode}
  4953. function StretchBlt(hdc: HDC; nXOriginDest, nYOriginDest, nWidthDest, nHeightDest: Integer; hdcSrc: HDC; nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc: Integer; dwRop: DWORD): BOOL; stdcall;
  4954. {$EXTERNALSYM StretchBlt}
  4955. function SetRectRgn(hrgn: HRGN; nLeftRect, nTopRect, nRightRect, nBottomRect: Integer): BOOL; stdcall;
  4956. {$EXTERNALSYM SetRectRgn}
  4957. function StretchDIBits(hdc: HDC; XDest, YDest, nDestWidth, nYDestHeight, XSrc, YSrc, nSrcWidth, nSrcHeight: Integer; lpBits: LPVOID; const lpBitsInfo: BITMAPINFO; iUsage: UINT; dwRop: DWORD): Integer; stdcall;
  4958. {$EXTERNALSYM StretchDIBits}
  4959. function SetROP2(hdc: HDC; fnDrawMode: Integer): Integer; stdcall;
  4960. {$EXTERNALSYM SetROP2}
  4961. function SetStretchBltMode(hdc: HDC; iStretchMode: Integer): Integer; stdcall;
  4962. {$EXTERNALSYM SetStretchBltMode}
  4963. function SetSystemPaletteUse(hdc: HDC; uUsage: UINT): UINT; stdcall;
  4964. {$EXTERNALSYM SetSystemPaletteUse}
  4965. function SetTextCharacterExtra(hdc: HDC; nCharExtra: Integer): Integer; stdcall;
  4966. {$EXTERNALSYM SetTextCharacterExtra}
  4967. function SetTextColor(hdc: HDC; crColor: COLORREF): COLORREF; stdcall;
  4968. {$EXTERNALSYM SetTextColor}
  4969. function SetTextAlign(hdc: HDC; fMode: UINT): UINT; stdcall;
  4970. {$EXTERNALSYM SetTextAlign}
  4971. function SetTextJustification(hdc: HDC; nBreakExtra, nBreakCount: Integer): BOOL; stdcall;
  4972. {$EXTERNALSYM SetTextJustification}
  4973. function UpdateColors(hdc: HDC): BOOL; stdcall;
  4974. {$EXTERNALSYM UpdateColors}
  4975. //
  4976. // image blt
  4977. //
  4978. type
  4979. COLOR16 = USHORT;
  4980. {$EXTERNALSYM COLOR16}
  4981. PTriVertex = ^TTriVertex;
  4982. _TRIVERTEX = record
  4983. x: LONG;
  4984. y: LONG;
  4985. Red: COLOR16;
  4986. Green: COLOR16;
  4987. Blue: COLOR16;
  4988. Alpha: COLOR16;
  4989. end;
  4990. {$EXTERNALSYM _TRIVERTEX}
  4991. TRIVERTEX = _TRIVERTEX;
  4992. {$EXTERNALSYM TRIVERTEX}
  4993. LPTRIVERTEX = ^TRIVERTEX;
  4994. {$EXTERNALSYM LPTRIVERTEX}
  4995. TTriVertex = _TRIVERTEX;
  4996. PGradientTriangle = ^TGradientTriangle;
  4997. _GRADIENT_TRIANGLE = record
  4998. Vertex1: ULONG;
  4999. Vertex2: ULONG;
  5000. Vertex3: ULONG;
  5001. end;
  5002. {$EXTERNALSYM _GRADIENT_TRIANGLE}
  5003. GRADIENT_TRIANGLE = _GRADIENT_TRIANGLE;
  5004. {$EXTERNALSYM GRADIENT_TRIANGLE}
  5005. LPGRADIENT_TRIANGLE = ^GRADIENT_TRIANGLE;
  5006. {$EXTERNALSYM LPGRADIENT_TRIANGLE}
  5007. PGRADIENT_TRIANGLE = ^GRADIENT_TRIANGLE;
  5008. {$EXTERNALSYM PGRADIENT_TRIANGLE}
  5009. TGradientTriangle = _GRADIENT_TRIANGLE;
  5010. PGradientRect = ^TGradientRect;
  5011. _GRADIENT_RECT = record
  5012. UpperLeft: ULONG;
  5013. LowerRight: ULONG;
  5014. end;
  5015. {$EXTERNALSYM _GRADIENT_RECT}
  5016. GRADIENT_RECT = _GRADIENT_RECT;
  5017. {$EXTERNALSYM GRADIENT_RECT}
  5018. LPGRADIENT_RECT = ^GRADIENT_RECT;
  5019. {$EXTERNALSYM LPGRADIENT_RECT}
  5020. PGRADIENT_RECT = ^GRADIENT_RECT;
  5021. {$EXTERNALSYM PGRADIENT_RECT}
  5022. TGradientRect = _GRADIENT_RECT;
  5023. PBlendFunction = ^TBlendFunction;
  5024. _BLENDFUNCTION = record
  5025. BlendOp: BYTE;
  5026. BlendFlags: BYTE;
  5027. SourceConstantAlpha: BYTE;
  5028. AlphaFormat: BYTE;
  5029. end;
  5030. {$EXTERNALSYM _BLENDFUNCTION}
  5031. BLENDFUNCTION = _BLENDFUNCTION;
  5032. {$EXTERNALSYM BLENDFUNCTION}
  5033. LPBLENDFUNCTION = ^BLENDFUNCTION;
  5034. {$EXTERNALSYM LPBLENDFUNCTION}
  5035. TBlendFunction = _BLENDFUNCTION;
  5036. //
  5037. // currentlly defined blend function
  5038. //
  5039. const
  5040. AC_SRC_OVER = $00;
  5041. {$EXTERNALSYM AC_SRC_OVER}
  5042. //
  5043. // alpha format flags
  5044. //
  5045. AC_SRC_ALPHA = $01;
  5046. {$EXTERNALSYM AC_SRC_ALPHA}
  5047. function AlphaBlend(hdcDest: HDC; nXOriginDest, nYOriginDest, nWidthDest,
  5048. nHeightDest: Integer; hdcSrc: HDC; nXOriginSrc, nYOriginSrc, nWidthSrc,
  5049. nHeightSrc: Integer; blendFunction: BLENDFUNCTION): BOOL; stdcall;
  5050. {$EXTERNALSYM AlphaBlend}
  5051. function TransparentBlt(hdcSrc: HDC; nXOriginSrc, nYOriginSrc, nWidthSrc,
  5052. nHeightSrc: Integer; hdcDest: HDC; nXOriginDest, nYOriginDest, nWidthDest,
  5053. nHeightDest: Integer; blendFunction: BLENDFUNCTION): BOOL; stdcall;
  5054. {$EXTERNALSYM TransparentBlt}
  5055. //
  5056. // gradient drawing modes
  5057. //
  5058. const
  5059. GRADIENT_FILL_RECT_H = $00000000;
  5060. {$EXTERNALSYM GRADIENT_FILL_RECT_H}
  5061. GRADIENT_FILL_RECT_V = $00000001;
  5062. {$EXTERNALSYM GRADIENT_FILL_RECT_V}
  5063. GRADIENT_FILL_TRIANGLE = $00000002;
  5064. {$EXTERNALSYM GRADIENT_FILL_TRIANGLE}
  5065. GRADIENT_FILL_OP_FLAG = $000000ff;
  5066. {$EXTERNALSYM GRADIENT_FILL_OP_FLAG}
  5067. function GradientFill(hdc: HDC; pVertex: PTRIVERTEX; dwNumVertex: ULONG; pMesh: PVOID; dwNumMesh, dwMode: ULONG): BOOL; stdcall;
  5068. {$EXTERNALSYM GradientFill}
  5069. function PlayMetaFileRecord(hdc: HDC; lpHandleTable: LPHANDLETABLE; lpMetaRecord: LPMETARECORD; nHandles: UINT): BOOL; stdcall;
  5070. {$EXTERNALSYM PlayMetaFileRecord}
  5071. type
  5072. MFENUMPROC = function(hdc: HDC; lpHTable: LPHANDLETABLE; lpMFR: LPMETARECORD; nObj: Integer; lpClientData: LPARAM): Integer; stdcall;
  5073. {$EXTERNALSYM MFENUMPROC}
  5074. function EnumMetaFile(hdc: HDC; hemf: HMETAFILE; lpMetaFunc: MFENUMPROC; lParam: LPARAM): BOOL; stdcall;
  5075. {$EXTERNALSYM EnumMetaFile}
  5076. type
  5077. ENHMFENUMPROC = function(hdc: HDC; lpHTable: LPHANDLETABLE; lpEMFR: LPENHMETARECORD; nObj: Integer; lpData: LPARAM): Integer; stdcall;
  5078. {$EXTERNALSYM ENHMFENUMPROC}
  5079. // Enhanced Metafile Function Declarations
  5080. function CloseEnhMetaFile(hdc: HDC): HENHMETAFILE; stdcall;
  5081. {$EXTERNALSYM CloseEnhMetaFile}
  5082. function CopyEnhMetaFileA(hemfSrc: HENHMETAFILE; lpszFile: LPCSTR): HENHMETAFILE; stdcall;
  5083. {$EXTERNALSYM CopyEnhMetaFileA}
  5084. function CopyEnhMetaFileW(hemfSrc: HENHMETAFILE; lpszFile: LPCWSTR): HENHMETAFILE; stdcall;
  5085. {$EXTERNALSYM CopyEnhMetaFileW}
  5086. function CopyEnhMetaFile(hemfSrc: HENHMETAFILE; lpszFile: LPCTSTR): HENHMETAFILE; stdcall;
  5087. {$EXTERNALSYM CopyEnhMetaFile}
  5088. function CreateEnhMetaFileA(hdcRef: HDC; lpFileName: LPCSTR; const lpRect: RECT; lpDescription: LPCSTR): HDC; stdcall;
  5089. {$EXTERNALSYM CreateEnhMetaFileA}
  5090. function CreateEnhMetaFileW(hdcRef: HDC; lpFileName: LPCWSTR; const lpRect: RECT; lpDescription: LPCWSTR): HDC; stdcall;
  5091. {$EXTERNALSYM CreateEnhMetaFileW}
  5092. function CreateEnhMetaFile(hdcRef: HDC; lpFileName: LPCTSTR; const lpRect: RECT; lpDescription: LPCTSTR): HDC; stdcall;
  5093. {$EXTERNALSYM CreateEnhMetaFile}
  5094. function DeleteEnhMetaFile(hemf: HENHMETAFILE): BOOL; stdcall;
  5095. {$EXTERNALSYM DeleteEnhMetaFile}
  5096. function EnumEnhMetaFile(hdc: HDC; hemf: HENHMETAFILE; lpEnhMetaFunc: ENHMFENUMPROC; lpData: LPVOID; const lpRect: RECT): BOOL; stdcall;
  5097. {$EXTERNALSYM EnumEnhMetaFile}
  5098. function GetEnhMetaFileA(lpszMetaFile: LPCSTR): HENHMETAFILE; stdcall;
  5099. {$EXTERNALSYM GetEnhMetaFileA}
  5100. function GetEnhMetaFileW(lpszMetaFile: LPCWSTR): HENHMETAFILE; stdcall;
  5101. {$EXTERNALSYM GetEnhMetaFileW}
  5102. function GetEnhMetaFile(lpszMetaFile: LPCTSTR): HENHMETAFILE; stdcall;
  5103. {$EXTERNALSYM GetEnhMetaFile}
  5104. function GetEnhMetaFileBits(hemf: HENHMETAFILE; cbBuffer: UINT; lpBuffer: LPBYTE): UINT; stdcall;
  5105. {$EXTERNALSYM GetEnhMetaFileBits}
  5106. function GetEnhMetaFileDescriptionA(hemf: HENHMETAFILE; cchBuffer: UINT; lpszDescription: LPSTR): UINT; stdcall;
  5107. {$EXTERNALSYM GetEnhMetaFileDescriptionA}
  5108. function GetEnhMetaFileDescriptionW(hemf: HENHMETAFILE; cchBuffer: UINT; lpszDescription: LPWSTR): UINT; stdcall;
  5109. {$EXTERNALSYM GetEnhMetaFileDescriptionW}
  5110. function GetEnhMetaFileDescription(hemf: HENHMETAFILE; cchBuffer: UINT; lpszDescription: LPTSTR): UINT; stdcall;
  5111. {$EXTERNALSYM GetEnhMetaFileDescription}
  5112. function GetEnhMetaFileHeader(hemf: HENHMETAFILE; cbBuffer: UINT; lpemh: LPENHMETAHEADER ): UINT; stdcall;
  5113. {$EXTERNALSYM GetEnhMetaFileHeader}
  5114. function GetEnhMetaFilePaletteEntries(hemf: HENHMETAFILE; cEntries: UINT; lppe: LPPALETTEENTRY ): UINT; stdcall;
  5115. {$EXTERNALSYM GetEnhMetaFilePaletteEntries}
  5116. function GetEnhMetaFilePixelFormat(hemf: HENHMETAFILE; cbBuffer: UINT; var ppfd: PIXELFORMATDESCRIPTOR): UINT; stdcall;
  5117. {$EXTERNALSYM GetEnhMetaFilePixelFormat}
  5118. function GetWinMetaFileBits(hemf: HENHMETAFILE; cbBuffer: UINT; lpbBuffer: LPBYTE; fnMapMode: Integer; hdcRef: HDC): UINT; stdcall;
  5119. {$EXTERNALSYM GetWinMetaFileBits}
  5120. function PlayEnhMetaFile(hdc: HDC; hemf: HENHMETAFILE; const lpRect: RECT): BOOL; stdcall;
  5121. {$EXTERNALSYM PlayEnhMetaFile}
  5122. function PlayEnhMetaFileRecord(hdc: HDC; lpHandleTable: LPHANDLETABLE; lpEnhMetaRecord: LPENHMETARECORD; nHandles: UINT): BOOL; stdcall;
  5123. {$EXTERNALSYM PlayEnhMetaFileRecord}
  5124. function SetEnhMetaFileBits(cbBuffer: UINT; lpData: LPBYTE): HENHMETAFILE; stdcall;
  5125. {$EXTERNALSYM SetEnhMetaFileBits}
  5126. function SetWinMetaFileBits(cbBuffer: UINT; lpbBuffer: LPBYTE; hdcRef: HDC; const lpmfp: METAFILEPICT): HENHMETAFILE; stdcall;
  5127. {$EXTERNALSYM SetWinMetaFileBits}
  5128. function GdiComment(hdc: HDC; cbSize: UINT; lpData: LPBYTE): BOOL; stdcall;
  5129. {$EXTERNALSYM GdiComment}
  5130. function GetTextMetricsA(hdc: HDC; var lptm: TEXTMETRICA): BOOL; stdcall;
  5131. {$EXTERNALSYM GetTextMetricsA}
  5132. function GetTextMetricsW(hdc: HDC; var lptm: TEXTMETRICW): BOOL; stdcall;
  5133. {$EXTERNALSYM GetTextMetricsW}
  5134. function GetTextMetrics(hdc: HDC; var lptm: TEXTMETRIC): BOOL; stdcall;
  5135. {$EXTERNALSYM GetTextMetrics}
  5136. // new GDI
  5137. type
  5138. PDibSection = ^TDibSection;
  5139. tagDIBSECTION = record
  5140. dsBm: BITMAP;
  5141. dsBmih: BITMAPINFOHEADER;
  5142. dsBitfields: array [0..2] of DWORD;
  5143. dshSection: HANDLE;
  5144. dsOffset: DWORD;
  5145. end;
  5146. {$EXTERNALSYM tagDIBSECTION}
  5147. DIBSECTION = tagDIBSECTION;
  5148. {$EXTERNALSYM DIBSECTION}
  5149. LPDIBSECTION = ^DIBSECTION;
  5150. {$EXTERNALSYM LPDIBSECTION}
  5151. TDibSection = DIBSECTION;
  5152. function AngleArc(hdc: HDC; X, Y: Integer; dwRadius: DWORD; eStartAngle, eSweepAngle: FLOAT): BOOL; stdcall;
  5153. {$EXTERNALSYM AngleArc}
  5154. function PolyPolyline(hdc: HDC; lppt: LPPOINT; lpdwPolyPoints: LPDWORD; cCount: DWORD): BOOL; stdcall;
  5155. {$EXTERNALSYM PolyPolyline}
  5156. function GetWorldTransform(hdc: HDC; lpXform: LPXFORM): BOOL; stdcall;
  5157. {$EXTERNALSYM GetWorldTransform}
  5158. function SetWorldTransform(hdc: HDC; lpXform: LPXFORM): BOOL; stdcall;
  5159. {$EXTERNALSYM SetWorldTransform}
  5160. function ModifyWorldTransform(hdc: HDC; lpXform: LPXFORM; iMode: DWORD): BOOL; stdcall;
  5161. {$EXTERNALSYM ModifyWorldTransform}
  5162. function CombineTransform(lpxformResult, lpXform1, lpXform2: LPXFORM): BOOL; stdcall;
  5163. {$EXTERNALSYM CombineTransform}
  5164. function CreateDIBSection(hdc: HDC; pbmi: LPBITMAPINFO; iUsage: UINT;
  5165. ppvBits: PPVOID; hSection: HANDLE; dwOffset: DWORD): HBITMAP; stdcall;
  5166. {$EXTERNALSYM CreateDIBSection}
  5167. function GetDIBColorTable(hdc: HDC; uStartIndex, cEntries: UINT; pColors: PRGBQUAD): UINT; stdcall;
  5168. {$EXTERNALSYM GetDIBColorTable}
  5169. function SetDIBColorTable(hdc: HDC; uStartIndex, cEntries: UINT; pColors: PRGBQUAD): UINT; stdcall;
  5170. {$EXTERNALSYM SetDIBColorTable}
  5171. // Flags value for COLORADJUSTMENT
  5172. const
  5173. CA_NEGATIVE = $0001;
  5174. {$EXTERNALSYM CA_NEGATIVE}
  5175. CA_LOG_FILTER = $0002;
  5176. {$EXTERNALSYM CA_LOG_FILTER}
  5177. // IlluminantIndex values
  5178. ILLUMINANT_DEVICE_DEFAULT = 0;
  5179. {$EXTERNALSYM ILLUMINANT_DEVICE_DEFAULT}
  5180. ILLUMINANT_A = 1;
  5181. {$EXTERNALSYM ILLUMINANT_A}
  5182. ILLUMINANT_B = 2;
  5183. {$EXTERNALSYM ILLUMINANT_B}
  5184. ILLUMINANT_C = 3;
  5185. {$EXTERNALSYM ILLUMINANT_C}
  5186. ILLUMINANT_D50 = 4;
  5187. {$EXTERNALSYM ILLUMINANT_D50}
  5188. ILLUMINANT_D55 = 5;
  5189. {$EXTERNALSYM ILLUMINANT_D55}
  5190. ILLUMINANT_D65 = 6;
  5191. {$EXTERNALSYM ILLUMINANT_D65}
  5192. ILLUMINANT_D75 = 7;
  5193. {$EXTERNALSYM ILLUMINANT_D75}
  5194. ILLUMINANT_F2 = 8;
  5195. {$EXTERNALSYM ILLUMINANT_F2}
  5196. ILLUMINANT_MAX_INDEX = ILLUMINANT_F2;
  5197. {$EXTERNALSYM ILLUMINANT_MAX_INDEX}
  5198. ILLUMINANT_TUNGSTEN = ILLUMINANT_A;
  5199. {$EXTERNALSYM ILLUMINANT_TUNGSTEN}
  5200. ILLUMINANT_DAYLIGHT = ILLUMINANT_C;
  5201. {$EXTERNALSYM ILLUMINANT_DAYLIGHT}
  5202. ILLUMINANT_FLUORESCENT = ILLUMINANT_F2;
  5203. {$EXTERNALSYM ILLUMINANT_FLUORESCENT}
  5204. ILLUMINANT_NTSC = ILLUMINANT_C;
  5205. {$EXTERNALSYM ILLUMINANT_NTSC}
  5206. // Min and max for RedGamma, GreenGamma, BlueGamma
  5207. RGB_GAMMA_MIN = WORD(02500);
  5208. {$EXTERNALSYM RGB_GAMMA_MIN}
  5209. RGB_GAMMA_MAX = WORD(65000);
  5210. {$EXTERNALSYM RGB_GAMMA_MAX}
  5211. // Min and max for ReferenceBlack and ReferenceWhite
  5212. REFERENCE_WHITE_MIN = WORD(6000);
  5213. {$EXTERNALSYM REFERENCE_WHITE_MIN}
  5214. REFERENCE_WHITE_MAX = WORD(10000);
  5215. {$EXTERNALSYM REFERENCE_WHITE_MAX}
  5216. REFERENCE_BLACK_MIN = WORD(0);
  5217. {$EXTERNALSYM REFERENCE_BLACK_MIN}
  5218. REFERENCE_BLACK_MAX = WORD(4000);
  5219. {$EXTERNALSYM REFERENCE_BLACK_MAX}
  5220. // Min and max for Contrast, Brightness, Colorfulness, RedGreenTint
  5221. COLOR_ADJ_MIN = SHORT(-100);
  5222. {$EXTERNALSYM COLOR_ADJ_MIN}
  5223. COLOR_ADJ_MAX = SHORT(100);
  5224. {$EXTERNALSYM COLOR_ADJ_MAX}
  5225. type
  5226. PColorAdjustment = ^TColorAdjustment;
  5227. tagCOLORADJUSTMENT = record
  5228. caSize: WORD;
  5229. caFlags: WORD;
  5230. caIlluminantIndex: WORD;
  5231. caRedGamma: WORD;
  5232. caGreenGamma: WORD;
  5233. caBlueGamma: WORD;
  5234. caReferenceBlack: WORD;
  5235. caReferenceWhite: WORD;
  5236. caContrast: SHORT;
  5237. caBrightness: SHORT;
  5238. caColorfulness: SHORT;
  5239. caRedGreenTint: SHORT;
  5240. end;
  5241. {$EXTERNALSYM tagCOLORADJUSTMENT}
  5242. COLORADJUSTMENT = tagCOLORADJUSTMENT;
  5243. {$EXTERNALSYM COLORADJUSTMENT}
  5244. LPCOLORADJUSTMENT = ^COLORADJUSTMENT;
  5245. {$EXTERNALSYM LPCOLORADJUSTMENT}
  5246. TColorAdjustment = COLORADJUSTMENT;
  5247. function SetColorAdjustment(hdc: HDC; lpca: LPCOLORADJUSTMENT): BOOL; stdcall;
  5248. {$EXTERNALSYM SetColorAdjustment}
  5249. function GetColorAdjustment(hdc: HDC; lpca: LPCOLORADJUSTMENT): BOOL; stdcall;
  5250. {$EXTERNALSYM GetColorAdjustment}
  5251. function CreateHalftonePalette(hdc: HDC): HPALETTE; stdcall;
  5252. {$EXTERNALSYM CreateHalftonePalette}
  5253. type
  5254. ABORTPROC = function(hdc: HDC; iError: Integer): BOOL; stdcall;
  5255. {$EXTERNALSYM ABORTPROC}
  5256. PDocInfoA = ^TDocInfoA;
  5257. _DOCINFOA = record
  5258. cbSize: Integer;
  5259. lpszDocName: LPCSTR;
  5260. lpszOutput: LPCSTR;
  5261. lpszDatatype: LPCSTR;
  5262. fwType: DWORD;
  5263. end;
  5264. {$EXTERNALSYM _DOCINFOA}
  5265. DOCINFOA = _DOCINFOA;
  5266. {$EXTERNALSYM DOCINFOA}
  5267. LPDOCINFOA = ^DOCINFOA;
  5268. {$EXTERNALSYM LPDOCINFOA}
  5269. TDocInfoA = _DOCINFOA;
  5270. PDocInfoW = ^TDocInfoW;
  5271. _DOCINFOW = record
  5272. cbSize: Integer;
  5273. lpszDocName: LPCWSTR;
  5274. lpszOutput: LPCWSTR;
  5275. lpszDatatype: LPCWSTR;
  5276. fwType: DWORD;
  5277. end;
  5278. {$EXTERNALSYM _DOCINFOW}
  5279. DOCINFOW = _DOCINFOW;
  5280. {$EXTERNALSYM DOCINFOW}
  5281. LPDOCINFOW = ^DOCINFOW;
  5282. {$EXTERNALSYM LPDOCINFOW}
  5283. TDocInfoW = _DOCINFOW;
  5284. {$IFDEF UNICODE}
  5285. DOCINFO = DOCINFOW;
  5286. {$EXTERNALSYM DOCINFO}
  5287. LPDOCINFO = LPDOCINFOW;
  5288. {$EXTERNALSYM LPDOCINFO}
  5289. TDocInfo = TDocInfoW;
  5290. PDocInfo = PDocInfoW;
  5291. {$ELSE}
  5292. DOCINFO = DOCINFOA;
  5293. {$EXTERNALSYM DOCINFO}
  5294. LPDOCINFO = LPDOCINFOA;
  5295. {$EXTERNALSYM LPDOCINFO}
  5296. TDocInfo = TDocInfoA;
  5297. PDocInfo = PDocInfoA;
  5298. {$ENDIF UNICODE}
  5299. const
  5300. DI_APPBANDING = $00000001;
  5301. {$EXTERNALSYM DI_APPBANDING}
  5302. DI_ROPS_READ_DESTINATION = $00000002;
  5303. {$EXTERNALSYM DI_ROPS_READ_DESTINATION}
  5304. function StartDocA(hdc: HDC; const lpdi: DOCINFOA): Integer; stdcall;
  5305. {$EXTERNALSYM StartDocA}
  5306. function StartDocW(hdc: HDC; const lpdi: DOCINFOW): Integer; stdcall;
  5307. {$EXTERNALSYM StartDocW}
  5308. function StartDoc(hdc: HDC; const lpdi: DOCINFO): Integer; stdcall;
  5309. {$EXTERNALSYM StartDoc}
  5310. function EndDoc(dc: HDC): Integer; stdcall;
  5311. {$EXTERNALSYM EndDoc}
  5312. function StartPage(dc: HDC): Integer; stdcall;
  5313. {$EXTERNALSYM StartPage}
  5314. function EndPage(dc: HDC): Integer; stdcall;
  5315. {$EXTERNALSYM EndPage}
  5316. function AbortDoc(dc: HDC): Integer; stdcall;
  5317. {$EXTERNALSYM AbortDoc}
  5318. function SetAbortProc(dc: HDC; lpAbortProc: ABORTPROC): Integer; stdcall;
  5319. {$EXTERNALSYM SetAbortProc}
  5320. function AbortPath(hdc: HDC): BOOL; stdcall;
  5321. {$EXTERNALSYM AbortPath}
  5322. function ArcTo(hdc: HDC; nLeftRect, nTopRect, nRightRect, nBottomRect, nXRadial1, nYRadial1, nXRadial2, nYRadial2: Integer): BOOL; stdcall;
  5323. {$EXTERNALSYM ArcTo}
  5324. function BeginPath(hdc: HDC): BOOL; stdcall;
  5325. {$EXTERNALSYM BeginPath}
  5326. function CloseFigure(hdc: HDC): BOOL; stdcall;
  5327. {$EXTERNALSYM CloseFigure}
  5328. function EndPath(hdc: HDC): BOOL; stdcall;
  5329. {$EXTERNALSYM EndPath}
  5330. function FillPath(hdc: HDC): BOOL; stdcall;
  5331. {$EXTERNALSYM FillPath}
  5332. function FlattenPath(hdc: HDC): BOOL; stdcall;
  5333. {$EXTERNALSYM FlattenPath}
  5334. function GetPath(hdc: HDC; lpPoints: LPPOINT; lpTypes: LPBYTE; nSize: Integer): Integer; stdcall;
  5335. {$EXTERNALSYM GetPath}
  5336. function PathToRegion(hdc: HDC): HRGN; stdcall;
  5337. {$EXTERNALSYM PathToRegion}
  5338. function PolyDraw(hdc: HDC; lppt: LPPOINT; lpbTypes: LPBYTE; cCount: Integer): BOOL; stdcall;
  5339. {$EXTERNALSYM PolyDraw}
  5340. function SelectClipPath(hdc: HDC; iMode: Integer): BOOL; stdcall;
  5341. {$EXTERNALSYM SelectClipPath}
  5342. function SetArcDirection(hdc: HDC; ArcDirection: Integer): Integer; stdcall;
  5343. {$EXTERNALSYM SetArcDirection}
  5344. function SetMiterLimit(hdc: HDC; eNewLimit: FLOAT; peOldLimit: PFLOAT): BOOL; stdcall;
  5345. {$EXTERNALSYM SetMiterLimit}
  5346. function StrokeAndFillPath(hdc: HDC): BOOL; stdcall;
  5347. {$EXTERNALSYM StrokeAndFillPath}
  5348. function StrokePath(hdc: HDC): BOOL; stdcall;
  5349. {$EXTERNALSYM StrokePath}
  5350. function WidenPath(hdc: HDC): BOOL; stdcall;
  5351. {$EXTERNALSYM WidenPath}
  5352. function ExtCreatePen(dwPenStyle, dwWidth: DWORD; const lplb: LOGBRUSH; dwStyleCount: DWORD; lpStyle: DWORD): HPEN; stdcall;
  5353. {$EXTERNALSYM ExtCreatePen}
  5354. function GetMiterLimit(hdc: HDC; var peLimit: FLOAT): BOOL; stdcall;
  5355. {$EXTERNALSYM GetMiterLimit}
  5356. function GetArcDirection(hdc: HDC): Integer; stdcall;
  5357. {$EXTERNALSYM GetArcDirection}
  5358. function GetObjectA(hgdiobj: HGDIOBJ; cbBuffer: Integer; lpvObject: LPVOID): Integer; stdcall;
  5359. {$EXTERNALSYM GetObjectA}
  5360. function GetObjectW(hgdiobj: HGDIOBJ; cbBuffer: Integer; lpvObject: LPVOID): Integer; stdcall;
  5361. {$EXTERNALSYM GetObjectW}
  5362. function GetObject(hgdiobj: HGDIOBJ; cbBuffer: Integer; lpvObject: LPVOID): Integer; stdcall;
  5363. {$EXTERNALSYM GetObject}
  5364. function MoveToEx(hdc: HDC; X, Y: Integer; lpPoint: LPPOINT): BOOL; stdcall;
  5365. {$EXTERNALSYM MoveToEx}
  5366. function TextOutA(hdc: HDC; nXStart, nYStart: Integer; lpString: LPCSTR; cbString: Integer): BOOL; stdcall;
  5367. {$EXTERNALSYM TextOutA}
  5368. function TextOutW(hdc: HDC; nXStart, nYStart: Integer; lpString: LPCWSTR; cbString: Integer): BOOL; stdcall;
  5369. {$EXTERNALSYM TextOutW}
  5370. function TextOut(hdc: HDC; nXStart, nYStart: Integer; lpString: LPCTSTR; cbString: Integer): BOOL; stdcall;
  5371. {$EXTERNALSYM TextOut}
  5372. function ExtTextOutA(hdc: HDC; X, Y: Integer; fuOptions: UINT; lprc: LPRECT; lpString: LPCSTR; cbCount: UINT; lpDx: LPINT): BOOL; stdcall;
  5373. {$EXTERNALSYM ExtTextOutA}
  5374. function ExtTextOutW(hdc: HDC; X, Y: Integer; fuOptions: UINT; lprc: LPRECT; lpString: LPCWSTR; cbCount: UINT; lpDx: LPINT): BOOL; stdcall;
  5375. {$EXTERNALSYM ExtTextOutW}
  5376. function ExtTextOut(hdc: HDC; X, Y: Integer; fuOptions: UINT; lprc: LPRECT; lpString: LPCTSTR; cbCount: UINT; lpDx: LPINT): BOOL; stdcall;
  5377. {$EXTERNALSYM ExtTextOut}
  5378. function PolyTextOutA(hdc: HDC; pptxt: LPPOLYTEXTA; cStrings: Integer): BOOL; stdcall;
  5379. {$EXTERNALSYM PolyTextOutA}
  5380. function PolyTextOutW(hdc: HDC; pptxt: LPPOLYTEXTW; cStrings: Integer): BOOL; stdcall;
  5381. {$EXTERNALSYM PolyTextOutW}
  5382. function PolyTextOut(hdc: HDC; pptxt: LPPOLYTEXT; cStrings: Integer): BOOL; stdcall;
  5383. {$EXTERNALSYM PolyTextOut}
  5384. function CreatePolygonRgn(lppt: LPPOINT; cPoints, fnPolyFillMode: Integer): HRGN; stdcall;
  5385. {$EXTERNALSYM CreatePolygonRgn}
  5386. function DPtoLP(hdc: HDC; lpPoints: LPPOINT; nCount: Integer): BOOL; stdcall;
  5387. {$EXTERNALSYM DPtoLP}
  5388. function LPtoDP(hdc: HDC; lpPoints: LPPOINT; nCount: Integer): BOOL; stdcall;
  5389. {$EXTERNALSYM LPtoDP}
  5390. function Polygon(hdc: HDC; lpPoints: LPPOINT; nCount: Integer): BOOL; stdcall;
  5391. {$EXTERNALSYM Polygon}
  5392. function Polyline(hdc: HDC; lppt: LPPOINT; nCount: Integer): BOOL; stdcall;
  5393. {$EXTERNALSYM Polyline}
  5394. function PolyBezier(hdc: HDC; lppt: LPPOINT; cPoints: DWORD): BOOL; stdcall;
  5395. {$EXTERNALSYM PolyBezier}
  5396. function PolyBezierTo(hdc: HDC; lppt: LPPOINT; cCount: DWORD): BOOL; stdcall;
  5397. {$EXTERNALSYM PolyBezierTo}
  5398. function PolylineTo(hdc: HDC; lppt: LPPOINT; cCount: DWORD): BOOL; stdcall;
  5399. {$EXTERNALSYM PolylineTo}
  5400. function SetViewportExtEx(hdc: HDC; nXExtend, nYExtend: Integer; lpSize: LPSIZE): BOOL; stdcall;
  5401. {$EXTERNALSYM SetViewportExtEx}
  5402. function SetViewportOrgEx(hdc: HDC; X, Y: Integer; lpPoint: LPPOINT): BOOL; stdcall;
  5403. {$EXTERNALSYM SetViewportOrgEx}
  5404. function SetWindowExtEx(hdc: HDC; nXExtend, nYExtend: Integer; lpSize: LPSIZE): BOOL; stdcall;
  5405. {$EXTERNALSYM SetWindowExtEx}
  5406. function SetWindowOrgEx(hdc: HDC; X, Y: Integer; lpPoint: LPPOINT): BOOL; stdcall;
  5407. {$EXTERNALSYM SetWindowOrgEx}
  5408. function OffsetViewportOrgEx(hdc: HDC; nXOffset, nYOffset: Integer; lpPoint: LPPOINT): BOOL; stdcall;
  5409. {$EXTERNALSYM OffsetViewportOrgEx}
  5410. function OffsetWindowOrgEx(hdc: HDC; nXOffset, nYOffset: Integer; lpPoint: LPPOINT): BOOL; stdcall;
  5411. {$EXTERNALSYM OffsetWindowOrgEx}
  5412. function ScaleViewportExtEx(hdc: HDC; Xnum, Xdenom, Ynum, Ydenom: Integer; lpSize: LPSIZE): BOOL; stdcall;
  5413. {$EXTERNALSYM ScaleViewportExtEx}
  5414. function ScaleWindowExtEx(hdc: HDC; Xnum, Xdenom, Ynum, Ydenom: Integer; lpSize: LPSIZE): BOOL; stdcall;
  5415. {$EXTERNALSYM ScaleWindowExtEx}
  5416. function SetBitmapDimensionEx(hBitmap: HBITMAP; nWidth, nHeight: Integer; lpSize: LPSIZE): BOOL; stdcall;
  5417. {$EXTERNALSYM SetBitmapDimensionEx}
  5418. function SetBrushOrgEx(hdc: HDC; nXOrg, nYOrg: Integer; lppt: LPPOINT): BOOL; stdcall;
  5419. {$EXTERNALSYM SetBrushOrgEx}
  5420. function GetTextFaceA(hdc: HDC; nCount: Integer; lpFaceName: LPSTR): Integer; stdcall;
  5421. {$EXTERNALSYM GetTextFaceA}
  5422. function GetTextFaceW(hdc: HDC; nCount: Integer; lpFaceName: LPWSTR): Integer; stdcall;
  5423. {$EXTERNALSYM GetTextFaceW}
  5424. function GetTextFace(hdc: HDC; nCount: Integer; lpFaceName: LPTSTR): Integer; stdcall;
  5425. {$EXTERNALSYM GetTextFace}
  5426. const
  5427. FONTMAPPER_MAX = 10;
  5428. {$EXTERNALSYM FONTMAPPER_MAX}
  5429. type
  5430. PKerningPair = ^TKerningPair;
  5431. tagKERNINGPAIR = record
  5432. wFirst: WORD;
  5433. wSecond: WORD;
  5434. iKernAmount: Integer;
  5435. end;
  5436. {$EXTERNALSYM tagKERNINGPAIR}
  5437. KERNINGPAIR = tagKERNINGPAIR;
  5438. {$EXTERNALSYM KERNINGPAIR}
  5439. LPKERNINGPAIR = ^KERNINGPAIR;
  5440. {$EXTERNALSYM LPKERNINGPAIR}
  5441. TKerningPair = KERNINGPAIR;
  5442. function GetKerningPairsA(hDc: HDC; nNumPairs: DWORD; lpkrnpair: LPKERNINGPAIR): DWORD; stdcall;
  5443. {$EXTERNALSYM GetKerningPairsA}
  5444. function GetKerningPairsW(hDc: HDC; nNumPairs: DWORD; lpkrnpair: LPKERNINGPAIR): DWORD; stdcall;
  5445. {$EXTERNALSYM GetKerningPairsW}
  5446. function GetKerningPairs(hDc: HDC; nNumPairs: DWORD; lpkrnpair: LPKERNINGPAIR): DWORD; stdcall;
  5447. {$EXTERNALSYM GetKerningPairs}
  5448. function GetDCOrgEx(hdc: HDC; lpPoint: LPPOINT): BOOL; stdcall;
  5449. {$EXTERNALSYM GetDCOrgEx}
  5450. function FixBrushOrgEx(hDc: HDC; I1, I2: Integer; lpPoint: LPPOINT): BOOL; stdcall;
  5451. {$EXTERNALSYM FixBrushOrgEx}
  5452. function UnrealizeObject(hgdiobj: HGDIOBJ): BOOL; stdcall;
  5453. {$EXTERNALSYM UnrealizeObject}
  5454. function GdiFlush: BOOL; stdcall;
  5455. {$EXTERNALSYM GdiFlush}
  5456. function GdiSetBatchLimit(dwLimit: DWORD): DWORD; stdcall;
  5457. {$EXTERNALSYM GdiSetBatchLimit}
  5458. function GdiGetBatchLimit: DWORD; stdcall;
  5459. {$EXTERNALSYM GdiGetBatchLimit}
  5460. const
  5461. ICM_OFF = 1;
  5462. {$EXTERNALSYM ICM_OFF}
  5463. ICM_ON = 2;
  5464. {$EXTERNALSYM ICM_ON}
  5465. ICM_QUERY = 3;
  5466. {$EXTERNALSYM ICM_QUERY}
  5467. ICM_DONE_OUTSIDEDC = 4;
  5468. {$EXTERNALSYM ICM_DONE_OUTSIDEDC}
  5469. type
  5470. ICMENUMPROCA = function(lpszFileName: LPSTR; lParam: LPARAM): Integer; stdcall;
  5471. {$EXTERNALSYM ICMENUMPROCA}
  5472. ICMENUMPROCW = function(lpszFileName: LPWSTR; lParam: LPARAM): Integer; stdcall;
  5473. {$EXTERNALSYM ICMENUMPROCW}
  5474. ICMENUMPROC = function(lpszFileName: LPTSTR; lParam: LPARAM): Integer; stdcall;
  5475. {$EXTERNALSYM ICMENUMPROC}
  5476. function SetICMMode(hDc: HDC; iEnableICM: Integer): Integer; stdcall;
  5477. {$EXTERNALSYM SetICMMode}
  5478. function CheckColorsInGamut(hDc: HDC; lpRGBTriples, lpBuffer: LPVOID; nCount: DWORD): BOOL; stdcall;
  5479. {$EXTERNALSYM CheckColorsInGamut}
  5480. function GetColorSpace(hDc: HDC): HCOLORSPACE; stdcall;
  5481. {$EXTERNALSYM GetColorSpace}
  5482. function GetLogColorSpaceA(hColorSpace: HCOLORSPACE; lpBuffer: LPLOGCOLORSPACEA; nSize: DWORD): BOOL; stdcall;
  5483. {$EXTERNALSYM GetLogColorSpaceA}
  5484. function GetLogColorSpaceW(hColorSpace: HCOLORSPACE; lpBuffer: LPLOGCOLORSPACEW; nSize: DWORD): BOOL; stdcall;
  5485. {$EXTERNALSYM GetLogColorSpaceW}
  5486. function GetLogColorSpace(hColorSpace: HCOLORSPACE; lpBuffer: LPLOGCOLORSPACE; nSize: DWORD): BOOL; stdcall;
  5487. {$EXTERNALSYM GetLogColorSpace}
  5488. function CreateColorSpaceA(lpLogColorSpace: LPLOGCOLORSPACEA): HCOLORSPACE; stdcall;
  5489. {$EXTERNALSYM CreateColorSpaceA}
  5490. function CreateColorSpaceW(lpLogColorSpace: LPLOGCOLORSPACEW): HCOLORSPACE; stdcall;
  5491. {$EXTERNALSYM CreateColorSpaceW}
  5492. function CreateColorSpace(lpLogColorSpace: LPLOGCOLORSPACE): HCOLORSPACE; stdcall;
  5493. {$EXTERNALSYM CreateColorSpace}
  5494. function SetColorSpace(hDc: HDC; hColorSpace: HCOLORSPACE): HCOLORSPACE; stdcall;
  5495. {$EXTERNALSYM SetColorSpace}
  5496. function DeleteColorSpace(hColorSpace: HCOLORSPACE): BOOL; stdcall;
  5497. {$EXTERNALSYM DeleteColorSpace}
  5498. function GetICMProfileA(hDc: HDC; lpcbName: LPDWORD; lpszFilename: LPSTR): BOOL; stdcall;
  5499. {$EXTERNALSYM GetICMProfileA}
  5500. function GetICMProfileW(hDc: HDC; lpcbName: LPDWORD; lpszFilename: LPWSTR): BOOL; stdcall;
  5501. {$EXTERNALSYM GetICMProfileW}
  5502. function GetICMProfile(hDc: HDC; lpcbName: LPDWORD; lpszFilename: LPTSTR): BOOL; stdcall;
  5503. {$EXTERNALSYM GetICMProfile}
  5504. function SetICMProfileA(hDc: HDC; lpFileName: LPSTR): BOOL; stdcall;
  5505. {$EXTERNALSYM SetICMProfileA}
  5506. function SetICMProfileW(hDc: HDC; lpFileName: LPWSTR): BOOL; stdcall;
  5507. {$EXTERNALSYM SetICMProfileW}
  5508. function SetICMProfile(hDc: HDC; lpFileName: LPTSTR): BOOL; stdcall;
  5509. {$EXTERNALSYM SetICMProfile}
  5510. function GetDeviceGammaRamp(hDc: HDC; lpRamp: LPVOID): BOOL; stdcall;
  5511. {$EXTERNALSYM GetDeviceGammaRamp}
  5512. function SetDeviceGammaRamp(hDc: HDC; lpRamp: LPVOID): BOOL; stdcall;
  5513. {$EXTERNALSYM SetDeviceGammaRamp}
  5514. function ColorMatchToTarget(hDc, hdcTarget: HDC; uiAction: DWORD): BOOL; stdcall;
  5515. {$EXTERNALSYM ColorMatchToTarget}
  5516. function EnumICMProfilesA(hDc: HDC; lpEnumProc: ICMENUMPROCA; lParam: LPARAM): Integer; stdcall;
  5517. {$EXTERNALSYM EnumICMProfilesA}
  5518. function EnumICMProfilesW(hDc: HDC; lpEnumProc: ICMENUMPROCW; lParam: LPARAM): Integer; stdcall;
  5519. {$EXTERNALSYM EnumICMProfilesW}
  5520. function EnumICMProfiles(hDc: HDC; lpEnumProc: ICMENUMPROC; lParam: LPARAM): Integer; stdcall;
  5521. {$EXTERNALSYM EnumICMProfiles}
  5522. function UpdateICMRegKeyA(dwReserved: DWORD; lpszCMID, lpszFileName: LPSTR; nCommand: UINT): BOOL; stdcall;
  5523. {$EXTERNALSYM UpdateICMRegKeyA}
  5524. function UpdateICMRegKeyW(dwReserved: DWORD; lpszCMID, lpszFileName: LPWSTR; nCommand: UINT): BOOL; stdcall;
  5525. {$EXTERNALSYM UpdateICMRegKeyW}
  5526. function UpdateICMRegKey(dwReserved: DWORD; lpszCMID, lpszFileName: LPTSTR; nCommand: UINT): BOOL; stdcall;
  5527. {$EXTERNALSYM UpdateICMRegKey}
  5528. function ColorCorrectPalette(hDc: HDC; hColorPalette: HPALETTE; dwFirstEntry, dwNumOfEntries: DWORD): BOOL; stdcall;
  5529. {$EXTERNALSYM ColorCorrectPalette}
  5530. // Enhanced metafile constants.
  5531. const
  5532. ENHMETA_SIGNATURE = $464D4520;
  5533. {$EXTERNALSYM ENHMETA_SIGNATURE}
  5534. // Stock object flag used in the object handle index in the enhanced
  5535. // metafile records.
  5536. // E.g. The object handle index (META_STOCK_OBJECT | BLACK_BRUSH)
  5537. // represents the stock object BLACK_BRUSH.
  5538. ENHMETA_STOCK_OBJECT = DWORD($80000000);
  5539. {$EXTERNALSYM ENHMETA_STOCK_OBJECT}
  5540. // Enhanced metafile record types.
  5541. EMR_HEADER = 1;
  5542. {$EXTERNALSYM EMR_HEADER}
  5543. EMR_POLYBEZIER = 2;
  5544. {$EXTERNALSYM EMR_POLYBEZIER}
  5545. EMR_POLYGON = 3;
  5546. {$EXTERNALSYM EMR_POLYGON}
  5547. EMR_POLYLINE = 4;
  5548. {$EXTERNALSYM EMR_POLYLINE}
  5549. EMR_POLYBEZIERTO = 5;
  5550. {$EXTERNALSYM EMR_POLYBEZIERTO}
  5551. EMR_POLYLINETO = 6;
  5552. {$EXTERNALSYM EMR_POLYLINETO}
  5553. EMR_POLYPOLYLINE = 7;
  5554. {$EXTERNALSYM EMR_POLYPOLYLINE}
  5555. EMR_POLYPOLYGON = 8;
  5556. {$EXTERNALSYM EMR_POLYPOLYGON}
  5557. EMR_SETWINDOWEXTEX = 9;
  5558. {$EXTERNALSYM EMR_SETWINDOWEXTEX}
  5559. EMR_SETWINDOWORGEX = 10;
  5560. {$EXTERNALSYM EMR_SETWINDOWORGEX}
  5561. EMR_SETVIEWPORTEXTEX = 11;
  5562. {$EXTERNALSYM EMR_SETVIEWPORTEXTEX}
  5563. EMR_SETVIEWPORTORGEX = 12;
  5564. {$EXTERNALSYM EMR_SETVIEWPORTORGEX}
  5565. EMR_SETBRUSHORGEX = 13;
  5566. {$EXTERNALSYM EMR_SETBRUSHORGEX}
  5567. EMR_EOF = 14;
  5568. {$EXTERNALSYM EMR_EOF}
  5569. EMR_SETPIXELV = 15;
  5570. {$EXTERNALSYM EMR_SETPIXELV}
  5571. EMR_SETMAPPERFLAGS = 16;
  5572. {$EXTERNALSYM EMR_SETMAPPERFLAGS}
  5573. EMR_SETMAPMODE = 17;
  5574. {$EXTERNALSYM EMR_SETMAPMODE}
  5575. EMR_SETBKMODE = 18;
  5576. {$EXTERNALSYM EMR_SETBKMODE}
  5577. EMR_SETPOLYFILLMODE = 19;
  5578. {$EXTERNALSYM EMR_SETPOLYFILLMODE}
  5579. EMR_SETROP2 = 20;
  5580. {$EXTERNALSYM EMR_SETROP2}
  5581. EMR_SETSTRETCHBLTMODE = 21;
  5582. {$EXTERNALSYM EMR_SETSTRETCHBLTMODE}
  5583. EMR_SETTEXTALIGN = 22;
  5584. {$EXTERNALSYM EMR_SETTEXTALIGN}
  5585. EMR_SETCOLORADJUSTMENT = 23;
  5586. {$EXTERNALSYM EMR_SETCOLORADJUSTMENT}
  5587. EMR_SETTEXTCOLOR = 24;
  5588. {$EXTERNALSYM EMR_SETTEXTCOLOR}
  5589. EMR_SETBKCOLOR = 25;
  5590. {$EXTERNALSYM EMR_SETBKCOLOR}
  5591. EMR_OFFSETCLIPRGN = 26;
  5592. {$EXTERNALSYM EMR_OFFSETCLIPRGN}
  5593. EMR_MOVETOEX = 27;
  5594. {$EXTERNALSYM EMR_MOVETOEX}
  5595. EMR_SETMETARGN = 28;
  5596. {$EXTERNALSYM EMR_SETMETARGN}
  5597. EMR_EXCLUDECLIPRECT = 29;
  5598. {$EXTERNALSYM EMR_EXCLUDECLIPRECT}
  5599. EMR_INTERSECTCLIPRECT = 30;
  5600. {$EXTERNALSYM EMR_INTERSECTCLIPRECT}
  5601. EMR_SCALEVIEWPORTEXTEX = 31;
  5602. {$EXTERNALSYM EMR_SCALEVIEWPORTEXTEX}
  5603. EMR_SCALEWINDOWEXTEX = 32;
  5604. {$EXTERNALSYM EMR_SCALEWINDOWEXTEX}
  5605. EMR_SAVEDC = 33;
  5606. {$EXTERNALSYM EMR_SAVEDC}
  5607. EMR_RESTOREDC = 34;
  5608. {$EXTERNALSYM EMR_RESTOREDC}
  5609. EMR_SETWORLDTRANSFORM = 35;
  5610. {$EXTERNALSYM EMR_SETWORLDTRANSFORM}
  5611. EMR_MODIFYWORLDTRANSFORM = 36;
  5612. {$EXTERNALSYM EMR_MODIFYWORLDTRANSFORM}
  5613. EMR_SELECTOBJECT = 37;
  5614. {$EXTERNALSYM EMR_SELECTOBJECT}
  5615. EMR_CREATEPEN = 38;
  5616. {$EXTERNALSYM EMR_CREATEPEN}
  5617. EMR_CREATEBRUSHINDIRECT = 39;
  5618. {$EXTERNALSYM EMR_CREATEBRUSHINDIRECT}
  5619. EMR_DELETEOBJECT = 40;
  5620. {$EXTERNALSYM EMR_DELETEOBJECT}
  5621. EMR_ANGLEARC = 41;
  5622. {$EXTERNALSYM EMR_ANGLEARC}
  5623. EMR_ELLIPSE = 42;
  5624. {$EXTERNALSYM EMR_ELLIPSE}
  5625. EMR_RECTANGLE = 43;
  5626. {$EXTERNALSYM EMR_RECTANGLE}
  5627. EMR_ROUNDRECT = 44;
  5628. {$EXTERNALSYM EMR_ROUNDRECT}
  5629. EMR_ARC = 45;
  5630. {$EXTERNALSYM EMR_ARC}
  5631. EMR_CHORD = 46;
  5632. {$EXTERNALSYM EMR_CHORD}
  5633. EMR_PIE = 47;
  5634. {$EXTERNALSYM EMR_PIE}
  5635. EMR_SELECTPALETTE = 48;
  5636. {$EXTERNALSYM EMR_SELECTPALETTE}
  5637. EMR_CREATEPALETTE = 49;
  5638. {$EXTERNALSYM EMR_CREATEPALETTE}
  5639. EMR_SETPALETTEENTRIES = 50;
  5640. {$EXTERNALSYM EMR_SETPALETTEENTRIES}
  5641. EMR_RESIZEPALETTE = 51;
  5642. {$EXTERNALSYM EMR_RESIZEPALETTE}
  5643. EMR_REALIZEPALETTE = 52;
  5644. {$EXTERNALSYM EMR_REALIZEPALETTE}
  5645. EMR_EXTFLOODFILL = 53;
  5646. {$EXTERNALSYM EMR_EXTFLOODFILL}
  5647. EMR_LINETO = 54;
  5648. {$EXTERNALSYM EMR_LINETO}
  5649. EMR_ARCTO = 55;
  5650. {$EXTERNALSYM EMR_ARCTO}
  5651. EMR_POLYDRAW = 56;
  5652. {$EXTERNALSYM EMR_POLYDRAW}
  5653. EMR_SETARCDIRECTION = 57;
  5654. {$EXTERNALSYM EMR_SETARCDIRECTION}
  5655. EMR_SETMITERLIMIT = 58;
  5656. {$EXTERNALSYM EMR_SETMITERLIMIT}
  5657. EMR_BEGINPATH = 59;
  5658. {$EXTERNALSYM EMR_BEGINPATH}
  5659. EMR_ENDPATH = 60;
  5660. {$EXTERNALSYM EMR_ENDPATH}
  5661. EMR_CLOSEFIGURE = 61;
  5662. {$EXTERNALSYM EMR_CLOSEFIGURE}
  5663. EMR_FILLPATH = 62;
  5664. {$EXTERNALSYM EMR_FILLPATH}
  5665. EMR_STROKEANDFILLPATH = 63;
  5666. {$EXTERNALSYM EMR_STROKEANDFILLPATH}
  5667. EMR_STROKEPATH = 64;
  5668. {$EXTERNALSYM EMR_STROKEPATH}
  5669. EMR_FLATTENPATH = 65;
  5670. {$EXTERNALSYM EMR_FLATTENPATH}
  5671. EMR_WIDENPATH = 66;
  5672. {$EXTERNALSYM EMR_WIDENPATH}
  5673. EMR_SELECTCLIPPATH = 67;
  5674. {$EXTERNALSYM EMR_SELECTCLIPPATH}
  5675. EMR_ABORTPATH = 68;
  5676. {$EXTERNALSYM EMR_ABORTPATH}
  5677. EMR_GDICOMMENT = 70;
  5678. {$EXTERNALSYM EMR_GDICOMMENT}
  5679. EMR_FILLRGN = 71;
  5680. {$EXTERNALSYM EMR_FILLRGN}
  5681. EMR_FRAMERGN = 72;
  5682. {$EXTERNALSYM EMR_FRAMERGN}
  5683. EMR_INVERTRGN = 73;
  5684. {$EXTERNALSYM EMR_INVERTRGN}
  5685. EMR_PAINTRGN = 74;
  5686. {$EXTERNALSYM EMR_PAINTRGN}
  5687. EMR_EXTSELECTCLIPRGN = 75;
  5688. {$EXTERNALSYM EMR_EXTSELECTCLIPRGN}
  5689. EMR_BITBLT = 76;
  5690. {$EXTERNALSYM EMR_BITBLT}
  5691. EMR_STRETCHBLT = 77;
  5692. {$EXTERNALSYM EMR_STRETCHBLT}
  5693. EMR_MASKBLT = 78;
  5694. {$EXTERNALSYM EMR_MASKBLT}
  5695. EMR_PLGBLT = 79;
  5696. {$EXTERNALSYM EMR_PLGBLT}
  5697. EMR_SETDIBITSTODEVICE = 80;
  5698. {$EXTERNALSYM EMR_SETDIBITSTODEVICE}
  5699. EMR_STRETCHDIBITS = 81;
  5700. {$EXTERNALSYM EMR_STRETCHDIBITS}
  5701. EMR_EXTCREATEFONTINDIRECTW = 82;
  5702. {$EXTERNALSYM EMR_EXTCREATEFONTINDIRECTW}
  5703. EMR_EXTTEXTOUTA = 83;
  5704. {$EXTERNALSYM EMR_EXTTEXTOUTA}
  5705. EMR_EXTTEXTOUTW = 84;
  5706. {$EXTERNALSYM EMR_EXTTEXTOUTW}
  5707. EMR_POLYBEZIER16 = 85;
  5708. {$EXTERNALSYM EMR_POLYBEZIER16}
  5709. EMR_POLYGON16 = 86;
  5710. {$EXTERNALSYM EMR_POLYGON16}
  5711. EMR_POLYLINE16 = 87;
  5712. {$EXTERNALSYM EMR_POLYLINE16}
  5713. EMR_POLYBEZIERTO16 = 88;
  5714. {$EXTERNALSYM EMR_POLYBEZIERTO16}
  5715. EMR_POLYLINETO16 = 89;
  5716. {$EXTERNALSYM EMR_POLYLINETO16}
  5717. EMR_POLYPOLYLINE16 = 90;
  5718. {$EXTERNALSYM EMR_POLYPOLYLINE16}
  5719. EMR_POLYPOLYGON16 = 91;
  5720. {$EXTERNALSYM EMR_POLYPOLYGON16}
  5721. EMR_POLYDRAW16 = 92;
  5722. {$EXTERNALSYM EMR_POLYDRAW16}
  5723. EMR_CREATEMONOBRUSH = 93;
  5724. {$EXTERNALSYM EMR_CREATEMONOBRUSH}
  5725. EMR_CREATEDIBPATTERNBRUSHPT = 94;
  5726. {$EXTERNALSYM EMR_CREATEDIBPATTERNBRUSHPT}
  5727. EMR_EXTCREATEPEN = 95;
  5728. {$EXTERNALSYM EMR_EXTCREATEPEN}
  5729. EMR_POLYTEXTOUTA = 96;
  5730. {$EXTERNALSYM EMR_POLYTEXTOUTA}
  5731. EMR_POLYTEXTOUTW = 97;
  5732. {$EXTERNALSYM EMR_POLYTEXTOUTW}
  5733. EMR_SETICMMODE = 98;
  5734. {$EXTERNALSYM EMR_SETICMMODE}
  5735. EMR_CREATECOLORSPACE = 99;
  5736. {$EXTERNALSYM EMR_CREATECOLORSPACE}
  5737. EMR_SETCOLORSPACE = 100;
  5738. {$EXTERNALSYM EMR_SETCOLORSPACE}
  5739. EMR_DELETECOLORSPACE = 101;
  5740. {$EXTERNALSYM EMR_DELETECOLORSPACE}
  5741. EMR_GLSRECORD = 102;
  5742. {$EXTERNALSYM EMR_GLSRECORD}
  5743. EMR_GLSBOUNDEDRECORD = 103;
  5744. {$EXTERNALSYM EMR_GLSBOUNDEDRECORD}
  5745. EMR_PIXELFORMAT = 104;
  5746. {$EXTERNALSYM EMR_PIXELFORMAT}
  5747. EMR_RESERVED_105 = 105;
  5748. {$EXTERNALSYM EMR_RESERVED_105}
  5749. EMR_RESERVED_106 = 106;
  5750. {$EXTERNALSYM EMR_RESERVED_106}
  5751. EMR_RESERVED_107 = 107;
  5752. {$EXTERNALSYM EMR_RESERVED_107}
  5753. EMR_RESERVED_108 = 108;
  5754. {$EXTERNALSYM EMR_RESERVED_108}
  5755. EMR_RESERVED_109 = 109;
  5756. {$EXTERNALSYM EMR_RESERVED_109}
  5757. EMR_RESERVED_110 = 110;
  5758. {$EXTERNALSYM EMR_RESERVED_110}
  5759. EMR_COLORCORRECTPALETTE = 111;
  5760. {$EXTERNALSYM EMR_COLORCORRECTPALETTE}
  5761. EMR_SETICMPROFILEA = 112;
  5762. {$EXTERNALSYM EMR_SETICMPROFILEA}
  5763. EMR_SETICMPROFILEW = 113;
  5764. {$EXTERNALSYM EMR_SETICMPROFILEW}
  5765. EMR_ALPHABLEND = 114;
  5766. {$EXTERNALSYM EMR_ALPHABLEND}
  5767. EMR_SETLAYOUT = 115;
  5768. {$EXTERNALSYM EMR_SETLAYOUT}
  5769. EMR_TRANSPARENTBLT = 116;
  5770. {$EXTERNALSYM EMR_TRANSPARENTBLT}
  5771. EMR_RESERVED_117 = 117;
  5772. {$EXTERNALSYM EMR_RESERVED_117}
  5773. EMR_GRADIENTFILL = 118;
  5774. {$EXTERNALSYM EMR_GRADIENTFILL}
  5775. EMR_RESERVED_119 = 119;
  5776. {$EXTERNALSYM EMR_RESERVED_119}
  5777. EMR_RESERVED_120 = 120;
  5778. {$EXTERNALSYM EMR_RESERVED_120}
  5779. EMR_COLORMATCHTOTARGETW = 121;
  5780. {$EXTERNALSYM EMR_COLORMATCHTOTARGETW}
  5781. EMR_CREATECOLORSPACEW = 122;
  5782. {$EXTERNALSYM EMR_CREATECOLORSPACEW}
  5783. EMR_MIN = 1;
  5784. {$EXTERNALSYM EMR_MIN}
  5785. {$IFDEF WIN98ME_UP}
  5786. EMR_MAX = 122;
  5787. {$EXTERNALSYM EMR_MAX}
  5788. {$ELSE}
  5789. EMR_MAX = 104;
  5790. {$EXTERNALSYM EMR_MAX}
  5791. {$ENDIF WIN98ME_UP}
  5792. // Base record type for the enhanced metafile.
  5793. type
  5794. PEmr = ^TEmr;
  5795. tagEMR = record
  5796. iType: DWORD; // Enhanced metafile record type
  5797. nSize: DWORD; // Length of the record in bytes.
  5798. // This must be a multiple of 4.
  5799. end;
  5800. {$EXTERNALSYM tagEMR}
  5801. EMR = tagEMR;
  5802. {$EXTERNALSYM EMR}
  5803. TEmr = EMR;
  5804. // Base text record type for the enhanced metafile.
  5805. PEmrText = ^TEmrText;
  5806. tagEMRTEXT = record
  5807. ptlReference: POINTL;
  5808. nChars: DWORD;
  5809. offString: DWORD; // Offset to the string
  5810. fOptions: DWORD;
  5811. rcl: RECTL;
  5812. offDx: DWORD; // Offset to the inter-character spacing array.
  5813. // This is always given.
  5814. end;
  5815. {$EXTERNALSYM tagEMRTEXT}
  5816. EMRTEXT = tagEMRTEXT;
  5817. {$EXTERNALSYM EMRTEXT}
  5818. TEmrText = EMRTEXT;
  5819. // Record structures for the enhanced metafile.
  5820. PAbortPath = ^TAbortPath;
  5821. tagABORTPATH = record
  5822. emr: EMR;
  5823. end;
  5824. {$EXTERNALSYM tagABORTPATH}
  5825. TAbortPath = tagABORTPATH;
  5826. EMRABORTPATH = tagABORTPATH;
  5827. {$EXTERNALSYM EMRABORTPATH}
  5828. PEMRABORTPATH = ^EMRABORTPATH;
  5829. {$EXTERNALSYM PEMRABORTPATH}
  5830. EMRBEGINPATH = tagABORTPATH;
  5831. {$EXTERNALSYM EMRBEGINPATH}
  5832. PEMRBEGINPATH = ^EMRBEGINPATH;
  5833. {$EXTERNALSYM PEMRBEGINPATH}
  5834. EMRENDPATH = tagABORTPATH;
  5835. {$EXTERNALSYM EMRENDPATH}
  5836. PEMRENDPATH = ^EMRENDPATH;
  5837. {$EXTERNALSYM PEMRENDPATH}
  5838. EMRCLOSEFIGURE = tagABORTPATH;
  5839. {$EXTERNALSYM EMRCLOSEFIGURE}
  5840. PEMRCLOSEFIGURE = ^EMRCLOSEFIGURE;
  5841. {$EXTERNALSYM PEMRCLOSEFIGURE}
  5842. EMRFLATTENPATH = tagABORTPATH;
  5843. {$EXTERNALSYM EMRFLATTENPATH}
  5844. PEMRFLATTENPATH = ^EMRFLATTENPATH;
  5845. {$EXTERNALSYM PEMRFLATTENPATH}
  5846. EMRWIDENPATH = tagABORTPATH;
  5847. {$EXTERNALSYM EMRWIDENPATH}
  5848. PEMRWIDENPATH = ^EMRWIDENPATH;
  5849. {$EXTERNALSYM PEMRWIDENPATH}
  5850. EMRSETMETARGN = tagABORTPATH;
  5851. {$EXTERNALSYM EMRSETMETARGN}
  5852. PEMRSETMETARGN = ^EMRSETMETARGN;
  5853. {$EXTERNALSYM PEMRSETMETARGN}
  5854. EMRSAVEDC = tagABORTPATH;
  5855. {$EXTERNALSYM EMRSAVEDC}
  5856. PEMRSAVEDC = ^EMRSAVEDC;
  5857. {$EXTERNALSYM PEMRSAVEDC}
  5858. EMRREALIZEPALETTE = tagABORTPATH;
  5859. {$EXTERNALSYM EMRREALIZEPALETTE}
  5860. PEMRREALIZEPALETTE = ^EMRREALIZEPALETTE;
  5861. {$EXTERNALSYM PEMRREALIZEPALETTE}
  5862. PEmrSelectClipPath = ^TEmrSelectClipPath;
  5863. tagEMRSELECTCLIPPATH = record
  5864. emr: EMR;
  5865. iMode: DWORD;
  5866. end;
  5867. {$EXTERNALSYM tagEMRSELECTCLIPPATH}
  5868. EMRSELECTCLIPPATH = tagEMRSELECTCLIPPATH;
  5869. {$EXTERNALSYM EMRSELECTCLIPPATH}
  5870. LPEMRSELECTCLIPPATH = ^EMRSELECTCLIPPATH;
  5871. {$EXTERNALSYM LPEMRSELECTCLIPPATH}
  5872. TEmrSelectClipPath = EMRSELECTCLIPPATH;
  5873. EMRSETBKMODE = tagEMRSELECTCLIPPATH;
  5874. {$EXTERNALSYM EMRSETBKMODE}
  5875. PEMRSETBKMODE = ^EMRSETBKMODE;
  5876. {$EXTERNALSYM PEMRSETBKMODE}
  5877. EMRSETMAPMODE = tagEMRSELECTCLIPPATH;
  5878. {$EXTERNALSYM EMRSETMAPMODE}
  5879. PEMRSETMAPMODE = ^EMRSETMAPMODE;
  5880. {$EXTERNALSYM PEMRSETMAPMODE}
  5881. EMRSETLAYOUT = tagEMRSELECTCLIPPATH;
  5882. {$EXTERNALSYM EMRSETLAYOUT}
  5883. PEMRSETLAYOUT = ^EMRSETLAYOUT;
  5884. {$EXTERNALSYM PEMRSETLAYOUT}
  5885. EMRSETPOLYFILLMODE = tagEMRSELECTCLIPPATH;
  5886. {$EXTERNALSYM EMRSETPOLYFILLMODE}
  5887. PEMRSETPOLYFILLMODE = EMRSETPOLYFILLMODE;
  5888. {$EXTERNALSYM PEMRSETPOLYFILLMODE}
  5889. EMRSETROP2 = tagEMRSELECTCLIPPATH;
  5890. {$EXTERNALSYM EMRSETROP2}
  5891. PEMRSETROP2 = ^EMRSETROP2;
  5892. {$EXTERNALSYM PEMRSETROP2}
  5893. EMRSETSTRETCHBLTMODE = tagEMRSELECTCLIPPATH;
  5894. {$EXTERNALSYM EMRSETSTRETCHBLTMODE}
  5895. PEMRSETSTRETCHBLTMODE = ^EMRSETSTRETCHBLTMODE;
  5896. {$EXTERNALSYM PEMRSETSTRETCHBLTMODE}
  5897. EMRSETICMMODE = tagEMRSELECTCLIPPATH;
  5898. {$EXTERNALSYM EMRSETICMMODE}
  5899. PEMRSETICMMODE = ^EMRSETICMMODE;
  5900. {$EXTERNALSYM PEMRSETICMMODE}
  5901. EMRSETTEXTALIGN = tagEMRSELECTCLIPPATH;
  5902. {$EXTERNALSYM EMRSETTEXTALIGN}
  5903. PEMRSETTEXTALIGN = ^EMRSETTEXTALIGN;
  5904. {$EXTERNALSYM PEMRSETTEXTALIGN}
  5905. PEmrSetMiterLimit = ^TEmrSetMiterLimit;
  5906. tagEMRSETMITERLIMIT = record
  5907. emr: EMR;
  5908. eMiterLimit: FLOAT;
  5909. end;
  5910. {$EXTERNALSYM tagEMRSETMITERLIMIT}
  5911. EMRSETMITERLIMIT = tagEMRSETMITERLIMIT;
  5912. {$EXTERNALSYM EMRSETMITERLIMIT}
  5913. TEmrSetMiterLimit = EMRSETMITERLIMIT;
  5914. PEmrRestoreDc = ^TEmrRestoreDc;
  5915. tagEMRRESTOREDC = record
  5916. emr: EMR;
  5917. iRelative: LONG; // Specifies a relative instance
  5918. end;
  5919. {$EXTERNALSYM tagEMRRESTOREDC}
  5920. EMRRESTOREDC = tagEMRRESTOREDC;
  5921. {$EXTERNALSYM EMRRESTOREDC}
  5922. TEmrRestoreDc = EMRRESTOREDC;
  5923. PEmrSetArcDirection = ^TEmrSetArcDirection;
  5924. tagEMRSETARCDIRECTION = record
  5925. emr: EMR;
  5926. iArcDirection: DWORD; // Specifies the arc direction in the
  5927. // advanced graphics mode.
  5928. end;
  5929. {$EXTERNALSYM tagEMRSETARCDIRECTION}
  5930. EMRSETARCDIRECTION = tagEMRSETARCDIRECTION;
  5931. {$EXTERNALSYM EMRSETARCDIRECTION}
  5932. TEmrSetArcDirection = EMRSETARCDIRECTION;
  5933. PEmrSetMapperFlags = ^TEmrSetMapperFlags;
  5934. tagEMRSETMAPPERFLAGS = record
  5935. emr: EMR;
  5936. dwFlags: DWORD;
  5937. end;
  5938. {$EXTERNALSYM tagEMRSETMAPPERFLAGS}
  5939. EMRSETMAPPERFLAGS = tagEMRSETMAPPERFLAGS;
  5940. {$EXTERNALSYM EMRSETMAPPERFLAGS}
  5941. TEmrSetMapperFlags = EMRSETMAPPERFLAGS;
  5942. PEmrSetTextColor = ^TEmrSetTextColor;
  5943. tagEMRSETTEXTCOLOR = record
  5944. emr: EMR;
  5945. crColor: COLORREF;
  5946. end;
  5947. {$EXTERNALSYM tagEMRSETTEXTCOLOR}
  5948. EMRSETTEXTCOLOR = tagEMRSETTEXTCOLOR;
  5949. {$EXTERNALSYM EMRSETTEXTCOLOR}
  5950. EMRSETBKCOLOR = tagEMRSETTEXTCOLOR;
  5951. {$EXTERNALSYM EMRSETBKCOLOR}
  5952. PEMRSETBKCOLOR = ^EMRSETTEXTCOLOR;
  5953. {$EXTERNALSYM PEMRSETBKCOLOR}
  5954. TEmrSetTextColor = EMRSETTEXTCOLOR;
  5955. PEmrSelectObject = ^TEmrSelectObject;
  5956. tagEMRSELECTOBJECT = record
  5957. emr: EMR;
  5958. ihObject: DWORD; // Object handle index
  5959. end;
  5960. {$EXTERNALSYM tagEMRSELECTOBJECT}
  5961. EMRSELECTOBJECT = tagEMRSELECTOBJECT;
  5962. {$EXTERNALSYM EMRSELECTOBJECT}
  5963. EMRDELETEOBJECT = tagEMRSELECTOBJECT;
  5964. {$EXTERNALSYM EMRDELETEOBJECT}
  5965. PEMRDELETEOBJECT = ^EMRDELETEOBJECT;
  5966. {$EXTERNALSYM PEMRDELETEOBJECT}
  5967. TEmrSelectObject = EMRSELECTOBJECT;
  5968. PEmrSelectPalette = ^TEmrSelectPalette;
  5969. tagEMRSELECTPALETTE = record
  5970. emr: EMR;
  5971. ihPal: DWORD; // Palette handle index, background mode only
  5972. end;
  5973. {$EXTERNALSYM tagEMRSELECTPALETTE}
  5974. EMRSELECTPALETTE = tagEMRSELECTPALETTE;
  5975. {$EXTERNALSYM EMRSELECTPALETTE}
  5976. TEmrSelectPalette = EMRSELECTPALETTE;
  5977. PEmrResizePalette = ^TEmrResizePalette;
  5978. tagEMRRESIZEPALETTE = record
  5979. emr: EMR;
  5980. ihPal: DWORD; // Palette handle index
  5981. cEntries: DWORD;
  5982. end;
  5983. {$EXTERNALSYM tagEMRRESIZEPALETTE}
  5984. EMRRESIZEPALETTE = tagEMRRESIZEPALETTE;
  5985. {$EXTERNALSYM EMRRESIZEPALETTE}
  5986. TEmrResizePalette = EMRRESIZEPALETTE;
  5987. PEmrSetPaletteEntries = ^TEmrSetPaletteEntries;
  5988. tagEMRSETPALETTEENTRIES = record
  5989. emr: EMR;
  5990. ihPal: DWORD; // Palette handle index
  5991. iStart: DWORD;
  5992. cEntries: DWORD;
  5993. aPalEntries: array [0..0] of PALETTEENTRY; // The peFlags fields do not contain any flags
  5994. end;
  5995. {$EXTERNALSYM tagEMRSETPALETTEENTRIES}
  5996. EMRSETPALETTEENTRIES = tagEMRSETPALETTEENTRIES;
  5997. {$EXTERNALSYM EMRSETPALETTEENTRIES}
  5998. TEmrSetPaletteEntries = EMRSETPALETTEENTRIES;
  5999. PEmrSetColorAdjustment = ^TEmrSetColorAdjustment;
  6000. tagEMRSETCOLORADJUSTMENT = record
  6001. emr: EMR;
  6002. ColorAdjustment: COLORADJUSTMENT;
  6003. end;
  6004. {$EXTERNALSYM tagEMRSETCOLORADJUSTMENT}
  6005. EMRSETCOLORADJUSTMENT = tagEMRSETCOLORADJUSTMENT;
  6006. {$EXTERNALSYM EMRSETCOLORADJUSTMENT}
  6007. TEmrSetColorAdjustment = EMRSETCOLORADJUSTMENT;
  6008. PEmrGdiComment = ^TEmrGdiComment;
  6009. tagEMRGDICOMMENT = record
  6010. emr: EMR;
  6011. cbData: DWORD; // Size of data in bytes
  6012. Data: array [0..0] of BYTE;
  6013. end;
  6014. {$EXTERNALSYM tagEMRGDICOMMENT}
  6015. EMRGDICOMMENT = tagEMRGDICOMMENT;
  6016. {$EXTERNALSYM EMRGDICOMMENT}
  6017. TEmrGdiComment = EMRGDICOMMENT;
  6018. PEmrEof = ^TEmrEof;
  6019. tagEMREOF = record
  6020. emr: EMR;
  6021. nPalEntries: DWORD; // Number of palette entries
  6022. offPalEntries: DWORD; // Offset to the palette entries
  6023. nSizeLast: DWORD; // Same as nSize and must be the last DWORD
  6024. // of the record. The palette entries,
  6025. // if exist, precede this field.
  6026. end;
  6027. {$EXTERNALSYM tagEMREOF}
  6028. EMREOF = tagEMREOF;
  6029. {$EXTERNALSYM EMREOF}
  6030. TEmrEof = EMREOF;
  6031. PEmrLineTo = ^TEmrLineTo;
  6032. tagEMRLINETO = record
  6033. emr: EMR;
  6034. ptl: POINTL;
  6035. end;
  6036. {$EXTERNALSYM tagEMRLINETO}
  6037. EMRLINETO = tagEMRLINETO;
  6038. {$EXTERNALSYM EMRLINETO}
  6039. EMRMOVETOEX = tagEMRLINETO;
  6040. {$EXTERNALSYM EMRMOVETOEX}
  6041. PEMRMOVETOEX = ^EMRMOVETOEX;
  6042. {$EXTERNALSYM PEMRMOVETOEX}
  6043. TEmrLineTo = EMRLINETO;
  6044. PEmrOffsetClipRgn = ^TEmrOffsetClipRgn;
  6045. tagEMROFFSETCLIPRGN = record
  6046. emr: EMR;
  6047. ptlOffset: POINTL;
  6048. end;
  6049. {$EXTERNALSYM tagEMROFFSETCLIPRGN}
  6050. EMROFFSETCLIPRGN = tagEMROFFSETCLIPRGN;
  6051. {$EXTERNALSYM EMROFFSETCLIPRGN}
  6052. TEmrOffsetClipRgn = EMROFFSETCLIPRGN;
  6053. PEmrFillPath = ^TEmrFillPath;
  6054. tagEMRFILLPATH = record
  6055. emr: EMR;
  6056. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6057. end;
  6058. {$EXTERNALSYM tagEMRFILLPATH}
  6059. EMRFILLPATH = tagEMRFILLPATH;
  6060. {$EXTERNALSYM EMRFILLPATH}
  6061. EMRSTROKEANDFILLPATH = tagEMRFILLPATH;
  6062. {$EXTERNALSYM EMRSTROKEANDFILLPATH}
  6063. PEMRSTROKEANDFILLPATH = ^EMRSTROKEANDFILLPATH;
  6064. {$EXTERNALSYM PEMRSTROKEANDFILLPATH}
  6065. EMRSTROKEPATH = tagEMRFILLPATH;
  6066. {$EXTERNALSYM EMRSTROKEPATH}
  6067. PEMRSTROKEPATH = ^EMRSTROKEPATH;
  6068. {$EXTERNALSYM PEMRSTROKEPATH}
  6069. TEmrFillPath = EMRFILLPATH;
  6070. PEmrExcludeClipRect = ^TEmrExcludeClipRect;
  6071. tagEMREXCLUDECLIPRECT = record
  6072. emr: EMR;
  6073. rclClip: RECTL;
  6074. end;
  6075. {$EXTERNALSYM tagEMREXCLUDECLIPRECT}
  6076. EMREXCLUDECLIPRECT = tagEMREXCLUDECLIPRECT;
  6077. {$EXTERNALSYM EMREXCLUDECLIPRECT}
  6078. EMRINTERSECTCLIPRECT = tagEMREXCLUDECLIPRECT;
  6079. {$EXTERNALSYM EMRINTERSECTCLIPRECT}
  6080. PEMRINTERSECTCLIPRECT = ^EMRINTERSECTCLIPRECT;
  6081. {$EXTERNALSYM PEMRINTERSECTCLIPRECT}
  6082. TEmrExcludeClipRect = EMREXCLUDECLIPRECT;
  6083. PEmrSetViewPortOrgEx = ^TEmrSetViewPortOrgEx;
  6084. tagEMRSETVIEWPORTORGEX = record
  6085. emr: EMR;
  6086. ptlOrigin: POINTL;
  6087. end;
  6088. {$EXTERNALSYM tagEMRSETVIEWPORTORGEX}
  6089. EMRSETVIEWPORTORGEX = tagEMRSETVIEWPORTORGEX;
  6090. {$EXTERNALSYM EMRSETVIEWPORTORGEX}
  6091. EMRSETWINDOWORGEX = tagEMRSETVIEWPORTORGEX;
  6092. {$EXTERNALSYM EMRSETWINDOWORGEX}
  6093. PEMRSETWINDOWORGEX = ^EMRSETWINDOWORGEX;
  6094. {$EXTERNALSYM PEMRSETWINDOWORGEX}
  6095. EMRSETBRUSHORGEX = tagEMRSETVIEWPORTORGEX;
  6096. {$EXTERNALSYM EMRSETBRUSHORGEX}
  6097. PEMRSETBRUSHORGEX = ^EMRSETBRUSHORGEX;
  6098. {$EXTERNALSYM PEMRSETBRUSHORGEX}
  6099. TEmrSetViewPortOrgEx = EMRSETVIEWPORTORGEX;
  6100. PEmrSetViewPortExtEx = ^TEmrSetViewPortExtEx;
  6101. tagEMRSETVIEWPORTEXTEX = record
  6102. emr: EMR;
  6103. szlExtent: SIZEL;
  6104. end;
  6105. {$EXTERNALSYM tagEMRSETVIEWPORTEXTEX}
  6106. EMRSETVIEWPORTEXTEX = tagEMRSETVIEWPORTEXTEX;
  6107. {$EXTERNALSYM EMRSETVIEWPORTEXTEX}
  6108. EMRSETWINDOWEXTEX = tagEMRSETVIEWPORTEXTEX;
  6109. {$EXTERNALSYM EMRSETWINDOWEXTEX}
  6110. TEmrSetViewPortExtEx = EMRSETVIEWPORTEXTEX;
  6111. PEmrScaleViewPortExtEx = ^TEmrScaleViewPortExtEx;
  6112. tagEMRSCALEVIEWPORTEXTEX = record
  6113. emr: EMR;
  6114. xNum: LONG;
  6115. xDenom: LONG;
  6116. yNum: LONG;
  6117. yDenom: LONG;
  6118. end;
  6119. {$EXTERNALSYM tagEMRSCALEVIEWPORTEXTEX}
  6120. EMRSCALEVIEWPORTEXTEX = tagEMRSCALEVIEWPORTEXTEX;
  6121. {$EXTERNALSYM EMRSCALEVIEWPORTEXTEX}
  6122. EMRSCALEWINDOWEXTEX = tagEMRSCALEVIEWPORTEXTEX;
  6123. {$EXTERNALSYM EMRSCALEWINDOWEXTEX}
  6124. PEMRSCALEWINDOWEXTEX = ^EMRSCALEWINDOWEXTEX;
  6125. {$EXTERNALSYM PEMRSCALEWINDOWEXTEX}
  6126. TEmrScaleViewPortExtEx = EMRSCALEVIEWPORTEXTEX;
  6127. PEmrSetWorldTransform = ^TEmrSetWorldTransform;
  6128. tagEMRSETWORLDTRANSFORM = record
  6129. emr: EMR;
  6130. xform: XFORM;
  6131. end;
  6132. {$EXTERNALSYM tagEMRSETWORLDTRANSFORM}
  6133. EMRSETWORLDTRANSFORM = tagEMRSETWORLDTRANSFORM;
  6134. {$EXTERNALSYM EMRSETWORLDTRANSFORM}
  6135. TEmrSetWorldTransform = EMRSETWORLDTRANSFORM;
  6136. PEmrModifyWorldTransform = ^TEmrModifyWorldTransform;
  6137. tagEMRMODIFYWORLDTRANSFORM = record
  6138. emr: EMR;
  6139. xform: XFORM;
  6140. iMode: DWORD;
  6141. end;
  6142. {$EXTERNALSYM tagEMRMODIFYWORLDTRANSFORM}
  6143. EMRMODIFYWORLDTRANSFORM = tagEMRMODIFYWORLDTRANSFORM;
  6144. {$EXTERNALSYM EMRMODIFYWORLDTRANSFORM}
  6145. TEmrModifyWorldTransform = EMRMODIFYWORLDTRANSFORM;
  6146. PEmrSetPixelV = ^TEmrSetPixelV;
  6147. tagEMRSETPIXELV = record
  6148. emr: EMR;
  6149. ptlPixel: POINTL;
  6150. crColor: COLORREF;
  6151. end;
  6152. {$EXTERNALSYM tagEMRSETPIXELV}
  6153. EMRSETPIXELV = tagEMRSETPIXELV;
  6154. {$EXTERNALSYM EMRSETPIXELV}
  6155. TEmrSetPixelV = EMRSETPIXELV;
  6156. PEmrExtFloodFill = ^TEmrExtFloodFill;
  6157. tagEMREXTFLOODFILL = record
  6158. emr: EMR;
  6159. ptlStart: POINTL;
  6160. crColor: COLORREF;
  6161. iMode: DWORD;
  6162. end;
  6163. {$EXTERNALSYM tagEMREXTFLOODFILL}
  6164. EMREXTFLOODFILL = tagEMREXTFLOODFILL;
  6165. {$EXTERNALSYM EMREXTFLOODFILL}
  6166. TEmrExtFloodFill = EMREXTFLOODFILL;
  6167. PEmrEllipse = ^TEmrEllipse;
  6168. tagEMRELLIPSE = record
  6169. emr: EMR;
  6170. rclBox: RECTL; // Inclusive-inclusive bounding rectangle
  6171. end;
  6172. {$EXTERNALSYM tagEMRELLIPSE}
  6173. EMRELLIPSE = tagEMRELLIPSE;
  6174. {$EXTERNALSYM EMRELLIPSE}
  6175. EMRRECTANGLE = tagEMRELLIPSE;
  6176. {$EXTERNALSYM EMRRECTANGLE}
  6177. PEMRRECTANGLE = ^EMRRECTANGLE;
  6178. {$EXTERNALSYM PEMRRECTANGLE}
  6179. TEmrEllipse = EMRELLIPSE;
  6180. PEmrRoundRect = ^TEmrRoundRect;
  6181. tagEMRROUNDRECT = record
  6182. emr: EMR;
  6183. rclBox: RECTL; // Inclusive-inclusive bounding rectangle
  6184. szlCorner: SIZEL;
  6185. end;
  6186. {$EXTERNALSYM tagEMRROUNDRECT}
  6187. EMRROUNDRECT = tagEMRROUNDRECT;
  6188. {$EXTERNALSYM EMRROUNDRECT}
  6189. TEmrRoundRect = EMRROUNDRECT;
  6190. PEmrArc = ^TEmrArc;
  6191. tagEMRARC = record
  6192. emr: EMR;
  6193. rclBox: RECTL; // Inclusive-inclusive bounding rectangle
  6194. ptlStart: POINTL;
  6195. ptlEnd: POINTL;
  6196. end;
  6197. {$EXTERNALSYM tagEMRARC}
  6198. EMRARC = tagEMRARC;
  6199. {$EXTERNALSYM EMRARC}
  6200. EMRARCTO = tagEMRARC;
  6201. {$EXTERNALSYM EMRARCTO}
  6202. PEMRARCTO = ^EMRARCTO;
  6203. {$EXTERNALSYM PEMRARCTO}
  6204. EMRCHORD = tagEMRARC;
  6205. {$EXTERNALSYM EMRCHORD}
  6206. PEMRCHORD = ^EMRCHORD;
  6207. {$EXTERNALSYM PEMRCHORD}
  6208. EMRPIE = tagEMRARC;
  6209. {$EXTERNALSYM EMRPIE}
  6210. PEMRPIE = ^EMRPIE;
  6211. {$EXTERNALSYM PEMRPIE}
  6212. TEmrArc = EMRARC;
  6213. PEmrAngleArc = ^TEmrAngleArc;
  6214. tagEMRANGLEARC = record
  6215. emr: EMR;
  6216. ptlCenter: POINTL;
  6217. nRadius: DWORD;
  6218. eStartAngle: FLOAT;
  6219. eSweepAngle: FLOAT;
  6220. end;
  6221. {$EXTERNALSYM tagEMRANGLEARC}
  6222. EMRANGLEARC = tagEMRANGLEARC;
  6223. {$EXTERNALSYM EMRANGLEARC}
  6224. TEmrAngleArc = EMRANGLEARC;
  6225. PEmrPolyline = ^TEmrPolyline;
  6226. tagEMRPOLYLINE = record
  6227. emr: EMR;
  6228. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6229. cptl: DWORD;
  6230. aptl: array [0..0] of POINTL;
  6231. end;
  6232. {$EXTERNALSYM tagEMRPOLYLINE}
  6233. EMRPOLYLINE = tagEMRPOLYLINE;
  6234. {$EXTERNALSYM EMRPOLYLINE}
  6235. EMRPOLYBEZIER = tagEMRPOLYLINE;
  6236. {$EXTERNALSYM EMRPOLYBEZIER}
  6237. PEMRPOLYBEZIER = ^EMRPOLYBEZIER;
  6238. {$EXTERNALSYM PEMRPOLYBEZIER}
  6239. EMRPOLYGON = tagEMRPOLYLINE;
  6240. {$EXTERNALSYM EMRPOLYGON}
  6241. PEMRPOLYGON = ^EMRPOLYGON;
  6242. {$EXTERNALSYM PEMRPOLYGON}
  6243. EMRPOLYBEZIERTO = tagEMRPOLYLINE;
  6244. {$EXTERNALSYM EMRPOLYBEZIERTO}
  6245. PEMRPOLYBEZIERTO = ^EMRPOLYBEZIERTO;
  6246. {$EXTERNALSYM PEMRPOLYBEZIERTO}
  6247. EMRPOLYLINETO = tagEMRPOLYLINE;
  6248. {$EXTERNALSYM EMRPOLYLINETO}
  6249. PEMRPOLYLINETO = ^EMRPOLYLINETO;
  6250. {$EXTERNALSYM PEMRPOLYLINETO}
  6251. TEmrPolyline = EMRPOLYLINE;
  6252. PEmrPolyline16 = ^TEmrPolyline16;
  6253. tagEMRPOLYLINE16 = record
  6254. emr: EMR;
  6255. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6256. cpts: DWORD;
  6257. apts: array [0..0] of POINTS;
  6258. end;
  6259. {$EXTERNALSYM tagEMRPOLYLINE16}
  6260. EMRPOLYLINE16 = tagEMRPOLYLINE16;
  6261. {$EXTERNALSYM EMRPOLYLINE16}
  6262. EMRPOLYBEZIER16 = tagEMRPOLYLINE16;
  6263. {$EXTERNALSYM EMRPOLYBEZIER16}
  6264. PEMRPOLYBEZIER16 = ^EMRPOLYBEZIER16;
  6265. {$EXTERNALSYM PEMRPOLYBEZIER16}
  6266. EMRPOLYGON16 = tagEMRPOLYLINE16;
  6267. {$EXTERNALSYM EMRPOLYGON16}
  6268. PEMRPOLYGON16 = ^EMRPOLYGON16;
  6269. {$EXTERNALSYM PEMRPOLYGON16}
  6270. EMRPOLYBEZIERTO16 = tagEMRPOLYLINE16;
  6271. {$EXTERNALSYM EMRPOLYBEZIERTO16}
  6272. PEMRPOLYBEZIERTO16 = ^EMRPOLYBEZIERTO16;
  6273. {$EXTERNALSYM PEMRPOLYBEZIERTO16}
  6274. EMRPOLYLINETO16 = tagEMRPOLYLINE16;
  6275. {$EXTERNALSYM EMRPOLYLINETO16}
  6276. PEMRPOLYLINETO16 = ^EMRPOLYLINETO16;
  6277. {$EXTERNALSYM PEMRPOLYLINETO16}
  6278. TEmrPolyline16 = EMRPOLYLINE16;
  6279. PEmrPolyDraw = ^TEmrPolyDraw;
  6280. tagEMRPOLYDRAW = record
  6281. emr: EMR;
  6282. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6283. cptl: DWORD; // Number of points
  6284. aptl: array [0..0] of POINTL; // Array of points
  6285. abTypes: array [0..0] of BYTE; // Array of point types
  6286. end;
  6287. {$EXTERNALSYM tagEMRPOLYDRAW}
  6288. EMRPOLYDRAW = tagEMRPOLYDRAW;
  6289. {$EXTERNALSYM EMRPOLYDRAW}
  6290. TEmrPolyDraw = EMRPOLYDRAW;
  6291. PEmrPolyDraw16 = ^TEmrPolyDraw16;
  6292. tagEMRPOLYDRAW16 = record
  6293. emr: EMR;
  6294. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6295. cpts: DWORD; // Number of points
  6296. apts: array [0..0] of POINTS; // Array of points
  6297. abTypes: array [0..0] of BYTE; // Array of point types
  6298. end;
  6299. {$EXTERNALSYM tagEMRPOLYDRAW16}
  6300. EMRPOLYDRAW16 = tagEMRPOLYDRAW16;
  6301. {$EXTERNALSYM EMRPOLYDRAW16}
  6302. TEmrPolyDraw16 = EMRPOLYDRAW16;
  6303. PEmrPolyPolyline = ^TEmrPolyPolyline;
  6304. tagEMRPOLYPOLYLINE = record
  6305. emr: EMR;
  6306. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6307. nPolys: DWORD; // Number of polys
  6308. cptl: DWORD; // Total number of points in all polys
  6309. aPolyCounts: array [0..0] of DWORD; // Array of point counts for each poly
  6310. aptl: array [0..0] of POINTL; // Array of points
  6311. end;
  6312. {$EXTERNALSYM tagEMRPOLYPOLYLINE}
  6313. EMRPOLYPOLYLINE = tagEMRPOLYPOLYLINE;
  6314. {$EXTERNALSYM EMRPOLYPOLYLINE}
  6315. EMRPOLYPOLYGON = tagEMRPOLYPOLYLINE;
  6316. {$EXTERNALSYM EMRPOLYPOLYGON}
  6317. TEmrPolyPolyline = EMRPOLYPOLYLINE;
  6318. PEmrPolyPolyline16 = ^TEmrPolyPolyline16;
  6319. tagEMRPOLYPOLYLINE16 = record
  6320. emr: EMR;
  6321. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6322. nPolys: DWORD; // Number of polys
  6323. cpts: DWORD; // Total number of points in all polys
  6324. aPolyCounts: array [0..0] of DWORD; // Array of point counts for each poly
  6325. apts: array [0..0] of POINTS; // Array of points
  6326. end;
  6327. {$EXTERNALSYM tagEMRPOLYPOLYLINE16}
  6328. EMRPOLYPOLYLINE16 = tagEMRPOLYPOLYLINE16;
  6329. {$EXTERNALSYM EMRPOLYPOLYLINE16}
  6330. EMRPOLYPOLYGON16 = tagEMRPOLYPOLYLINE16;
  6331. {$EXTERNALSYM EMRPOLYPOLYGON16}
  6332. PEMRPOLYPOLYGON16 = ^EMRPOLYPOLYGON16;
  6333. {$EXTERNALSYM PEMRPOLYPOLYGON16}
  6334. TEmrPolyPolyline16 = EMRPOLYPOLYLINE16;
  6335. PEmrInvertRgn = ^TEmrInvertRgn;
  6336. tagEMRINVERTRGN = record
  6337. emr: EMR;
  6338. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6339. cbRgnData: DWORD; // Size of region data in bytes
  6340. RgnData: array [0..0] of BYTE;
  6341. end;
  6342. {$EXTERNALSYM tagEMRINVERTRGN}
  6343. EMRINVERTRGN = tagEMRINVERTRGN;
  6344. {$EXTERNALSYM EMRINVERTRGN}
  6345. EMRPAINTRGN = tagEMRINVERTRGN;
  6346. {$EXTERNALSYM EMRPAINTRGN}
  6347. TEmrInvertRgn = EMRINVERTRGN;
  6348. PEmrFillRgn = ^TEmrFillRgn;
  6349. tagEMRFILLRGN = record
  6350. emr: EMR;
  6351. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6352. cbRgnData: DWORD; // Size of region data in bytes
  6353. ihBrush: DWORD; // Brush handle index
  6354. RgnData: array [0..0] of BYTE;
  6355. end;
  6356. {$EXTERNALSYM tagEMRFILLRGN}
  6357. EMRFILLRGN = tagEMRFILLRGN;
  6358. {$EXTERNALSYM EMRFILLRGN}
  6359. TEmrFillRgn = EMRFILLRGN;
  6360. PEmrFrameRgn = ^TEmrFrameRgn;
  6361. tagEMRFRAMERGN = record
  6362. emr: EMR;
  6363. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6364. cbRgnData: DWORD; // Size of region data in bytes
  6365. ihBrush: DWORD; // Brush handle index
  6366. szlStroke: SIZEL;
  6367. RgnData: array [0..0] of BYTE;
  6368. end;
  6369. {$EXTERNALSYM tagEMRFRAMERGN}
  6370. EMRFRAMERGN = tagEMRFRAMERGN;
  6371. {$EXTERNALSYM EMRFRAMERGN}
  6372. TEmrFrameRgn = EMRFRAMERGN;
  6373. PEmrExtSelectClipRgn = ^TEmrExtSelectClipRgn;
  6374. tagEMREXTSELECTCLIPRGN = record
  6375. emr: EMR;
  6376. cbRgnData: DWORD; // Size of region data in bytes
  6377. iMode: DWORD;
  6378. RgnData: array [0..0] of BYTE;
  6379. end;
  6380. {$EXTERNALSYM tagEMREXTSELECTCLIPRGN}
  6381. EMREXTSELECTCLIPRGN = tagEMREXTSELECTCLIPRGN;
  6382. {$EXTERNALSYM EMREXTSELECTCLIPRGN}
  6383. TEmrExtSelectClipRgn = EMREXTSELECTCLIPRGN;
  6384. PEmrExtTextOutA = ^TEmrExtTextOutA;
  6385. tagEMREXTTEXTOUTA = record
  6386. emr: EMR;
  6387. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6388. iGraphicsMode: DWORD; // Current graphics mode
  6389. exScale: FLOAT; // X and Y scales from Page units to .01mm units
  6390. eyScale: FLOAT; // if graphics mode is GM_COMPATIBLE.
  6391. emrtext: EMRTEXT; // This is followed by the string and spacing array
  6392. end;
  6393. {$EXTERNALSYM tagEMREXTTEXTOUTA}
  6394. EMREXTTEXTOUTA = tagEMREXTTEXTOUTA;
  6395. {$EXTERNALSYM EMREXTTEXTOUTA}
  6396. EMREXTTEXTOUTW = tagEMREXTTEXTOUTA;
  6397. {$EXTERNALSYM EMREXTTEXTOUTW}
  6398. PEMREXTTEXTOUTW = ^EMREXTTEXTOUTW;
  6399. {$EXTERNALSYM PEMREXTTEXTOUTW}
  6400. TEmrExtTextOutA = EMREXTTEXTOUTA;
  6401. PEmrPolyTextOutA = ^TEmrPolyTextOutA;
  6402. tagEMRPOLYTEXTOUTA = record
  6403. emr: EMR;
  6404. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6405. iGraphicsMode: DWORD; // Current graphics mode
  6406. exScale: FLOAT; // X and Y scales from Page units to .01mm units
  6407. eyScale: FLOAT; // if graphics mode is GM_COMPATIBLE.
  6408. cStrings: LONG;
  6409. aemrtext: array [0..0] of EMRTEXT; // Array of EMRTEXT structures. This is
  6410. // followed by the strings and spacing arrays.
  6411. end;
  6412. {$EXTERNALSYM tagEMRPOLYTEXTOUTA}
  6413. EMRPOLYTEXTOUTA = tagEMRPOLYTEXTOUTA;
  6414. {$EXTERNALSYM EMRPOLYTEXTOUTA}
  6415. EMRPOLYTEXTOUTW = tagEMRPOLYTEXTOUTA;
  6416. {$EXTERNALSYM EMRPOLYTEXTOUTW}
  6417. PEMRPOLYTEXTOUTW = ^EMRPOLYTEXTOUTW;
  6418. {$EXTERNALSYM PEMRPOLYTEXTOUTW}
  6419. TEmrPolyTextOutA = EMRPOLYTEXTOUTA;
  6420. PEmrBitBlt = ^TEmrBitBlt;
  6421. tagEMRBITBLT = record
  6422. emr: EMR;
  6423. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6424. xDest: LONG;
  6425. yDest: LONG;
  6426. cxDest: LONG;
  6427. cyDest: LONG;
  6428. dwRop: DWORD;
  6429. xSrc: LONG;
  6430. ySrc: LONG;
  6431. xformSrc: XFORM; // Source DC transform
  6432. crBkColorSrc: COLORREF; // Source DC BkColor in RGB
  6433. iUsageSrc: DWORD; // Source bitmap info color table usage
  6434. // (DIB_RGB_COLORS)
  6435. offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure
  6436. cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure
  6437. offBitsSrc: DWORD; // Offset to the source bitmap bits
  6438. cbBitsSrc: DWORD; // Size of the source bitmap bits
  6439. end;
  6440. {$EXTERNALSYM tagEMRBITBLT}
  6441. EMRBITBLT = tagEMRBITBLT;
  6442. {$EXTERNALSYM EMRBITBLT}
  6443. TEmrBitBlt = EMRBITBLT;
  6444. PEmrStretchBlt = ^TEmrStretchBlt;
  6445. tagEMRSTRETCHBLT = record
  6446. emr: EMR;
  6447. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6448. xDest: LONG;
  6449. yDest: LONG;
  6450. cxDest: LONG;
  6451. cyDest: LONG;
  6452. dwRop: DWORD;
  6453. xSrc: LONG;
  6454. ySrc: LONG;
  6455. xformSrc: XFORM; // Source DC transform
  6456. crBkColorSrc: COLORREF; // Source DC BkColor in RGB
  6457. iUsageSrc: DWORD; // Source bitmap info color table usage
  6458. // (DIB_RGB_COLORS)
  6459. offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure
  6460. cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure
  6461. offBitsSrc: DWORD; // Offset to the source bitmap bits
  6462. cbBitsSrc: DWORD; // Size of the source bitmap bits
  6463. cxSrc: LONG;
  6464. cySrc: LONG;
  6465. end;
  6466. {$EXTERNALSYM tagEMRSTRETCHBLT}
  6467. EMRSTRETCHBLT = tagEMRSTRETCHBLT;
  6468. {$EXTERNALSYM EMRSTRETCHBLT}
  6469. TEmrStretchBlt = EMRSTRETCHBLT;
  6470. PEmrMaskBlt = ^TEmrMaskBlt;
  6471. tagEMRMASKBLT = record
  6472. emr: EMR;
  6473. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6474. xDest: LONG;
  6475. yDest: LONG;
  6476. cxDest: LONG;
  6477. cyDest: LONG;
  6478. dwRop: DWORD;
  6479. xSrc: LONG;
  6480. ySrc: LONG;
  6481. xformSrc: XFORM; // Source DC transform
  6482. crBkColorSrc: COLORREF; // Source DC BkColor in RGB
  6483. iUsageSrc: DWORD; // Source bitmap info color table usage
  6484. // (DIB_RGB_COLORS)
  6485. offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure
  6486. cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure
  6487. offBitsSrc: DWORD; // Offset to the source bitmap bits
  6488. cbBitsSrc: DWORD; // Size of the source bitmap bits
  6489. xMask: LONG;
  6490. yMask: LONG;
  6491. iUsageMask: DWORD; // Mask bitmap info color table usage
  6492. offBmiMask: DWORD; // Offset to the mask BITMAPINFO structure if any
  6493. cbBmiMask: DWORD; // Size of the mask BITMAPINFO structure if any
  6494. offBitsMask: DWORD; // Offset to the mask bitmap bits if any
  6495. cbBitsMask: DWORD; // Size of the mask bitmap bits if any
  6496. end;
  6497. {$EXTERNALSYM tagEMRMASKBLT}
  6498. EMRMASKBLT = tagEMRMASKBLT;
  6499. {$EXTERNALSYM EMRMASKBLT}
  6500. TEmrMaskBlt = EMRMASKBLT;
  6501. PEmrPlgBlt = ^TEmrPlgBlt;
  6502. tagEMRPLGBLT = record
  6503. emr: EMR;
  6504. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6505. aptlDest: array[0..2] of POINTL;
  6506. xSrc: LONG;
  6507. ySrc: LONG;
  6508. cxSrc: LONG;
  6509. cySrc: LONG;
  6510. xformSrc: XFORM; // Source DC transform
  6511. crBkColorSrc: COLORREF; // Source DC BkColor in RGB
  6512. iUsageSrc: DWORD; // Source bitmap info color table usage
  6513. // (DIB_RGB_COLORS)
  6514. offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure
  6515. cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure
  6516. offBitsSrc: DWORD; // Offset to the source bitmap bits
  6517. cbBitsSrc: DWORD; // Size of the source bitmap bits
  6518. xMask: LONG;
  6519. yMask: LONG;
  6520. iUsageMask: DWORD; // Mask bitmap info color table usage
  6521. offBmiMask: DWORD; // Offset to the mask BITMAPINFO structure if any
  6522. cbBmiMask: DWORD; // Size of the mask BITMAPINFO structure if any
  6523. offBitsMask: DWORD; // Offset to the mask bitmap bits if any
  6524. cbBitsMask: DWORD; // Size of the mask bitmap bits if any
  6525. end;
  6526. {$EXTERNALSYM tagEMRPLGBLT}
  6527. EMRPLGBLT = tagEMRPLGBLT;
  6528. {$EXTERNALSYM EMRPLGBLT}
  6529. TEmrPlgBlt = EMRPLGBLT;
  6530. PEmrSetDiBitsToDevice = ^TEmrSetDiBitsToDevice;
  6531. tagEMRSETDIBITSTODEVICE = record
  6532. emr: EMR;
  6533. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6534. xDest: LONG;
  6535. yDest: LONG;
  6536. xSrc: LONG;
  6537. ySrc: LONG;
  6538. cxSrc: LONG;
  6539. cySrc: LONG;
  6540. offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure
  6541. cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure
  6542. offBitsSrc: DWORD; // Offset to the source bitmap bits
  6543. cbBitsSrc: DWORD; // Size of the source bitmap bits
  6544. iUsageSrc: DWORD; // Source bitmap info color table usage
  6545. iStartScan: DWORD;
  6546. cScans: DWORD;
  6547. end;
  6548. {$EXTERNALSYM tagEMRSETDIBITSTODEVICE}
  6549. EMRSETDIBITSTODEVICE = tagEMRSETDIBITSTODEVICE;
  6550. {$EXTERNALSYM EMRSETDIBITSTODEVICE}
  6551. TEmrSetDiBitsToDevice = EMRSETDIBITSTODEVICE;
  6552. PEmrStretchDiBits = ^TEmrStretchDiBits;
  6553. tagEMRSTRETCHDIBITS = record
  6554. emr: EMR;
  6555. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6556. xDest: LONG;
  6557. yDest: LONG;
  6558. xSrc: LONG;
  6559. ySrc: LONG;
  6560. cxSrc: LONG;
  6561. cySrc: LONG;
  6562. offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure
  6563. cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure
  6564. offBitsSrc: DWORD; // Offset to the source bitmap bits
  6565. cbBitsSrc: DWORD; // Size of the source bitmap bits
  6566. iUsageSrc: DWORD; // Source bitmap info color table usage
  6567. dwRop: DWORD;
  6568. cxDest: LONG;
  6569. cyDest: LONG;
  6570. end;
  6571. {$EXTERNALSYM tagEMRSTRETCHDIBITS}
  6572. EMRSTRETCHDIBITS = tagEMRSTRETCHDIBITS;
  6573. {$EXTERNALSYM EMRSTRETCHDIBITS}
  6574. TEmrStretchDiBits = EMRSTRETCHDIBITS;
  6575. PEmrExtCreateFontIndirectW = ^TEmrExtCreateFontIndirectW;
  6576. tagEMREXTCREATEFONTINDIRECTW = record
  6577. emr: EMR;
  6578. ihFont: DWORD; // Font handle index
  6579. elfw: EXTLOGFONTW;
  6580. end;
  6581. {$EXTERNALSYM tagEMREXTCREATEFONTINDIRECTW}
  6582. EMREXTCREATEFONTINDIRECTW = tagEMREXTCREATEFONTINDIRECTW;
  6583. {$EXTERNALSYM EMREXTCREATEFONTINDIRECTW}
  6584. TEmrExtCreateFontIndirectW = EMREXTCREATEFONTINDIRECTW;
  6585. PEmrCreatePalette = ^TEmrCreatePalette;
  6586. tagEMRCREATEPALETTE = record
  6587. emr: EMR;
  6588. ihPal: DWORD; // Palette handle index
  6589. lgpl: LOGPALETTE; // The peFlags fields in the palette entries
  6590. // do not contain any flags
  6591. end;
  6592. {$EXTERNALSYM tagEMRCREATEPALETTE}
  6593. EMRCREATEPALETTE = tagEMRCREATEPALETTE;
  6594. {$EXTERNALSYM EMRCREATEPALETTE}
  6595. TEmrCreatePalette = EMRCREATEPALETTE;
  6596. PEmrCreatePen = ^TEmrCreatePen;
  6597. tagEMRCREATEPEN = record
  6598. emr: EMR;
  6599. ihPen: DWORD; // Pen handle index
  6600. lopn: LOGPEN;
  6601. end;
  6602. {$EXTERNALSYM tagEMRCREATEPEN}
  6603. EMRCREATEPEN = tagEMRCREATEPEN;
  6604. {$EXTERNALSYM EMRCREATEPEN}
  6605. TEmrCreatePen = EMRCREATEPEN;
  6606. PEmrExtCreatePen = ^TEmrExtCreatePen;
  6607. tagEMREXTCREATEPEN = record
  6608. emr: EMR;
  6609. ihPen: DWORD; // Pen handle index
  6610. offBmi: DWORD; // Offset to the BITMAPINFO structure if any
  6611. cbBmi: DWORD; // Size of the BITMAPINFO structure if any
  6612. // The bitmap info is followed by the bitmap
  6613. // bits to form a packed DIB.
  6614. offBits: DWORD; // Offset to the brush bitmap bits if any
  6615. cbBits: DWORD; // Size of the brush bitmap bits if any
  6616. elp: EXTLOGPEN; // The extended pen with the style array.
  6617. end;
  6618. {$EXTERNALSYM tagEMREXTCREATEPEN}
  6619. EMREXTCREATEPEN = tagEMREXTCREATEPEN;
  6620. {$EXTERNALSYM EMREXTCREATEPEN}
  6621. TEmrExtCreatePen = EMREXTCREATEPEN;
  6622. PEmrCreateBrushIndirect = ^TEmrCreateBrushIndirect;
  6623. tagEMRCREATEBRUSHINDIRECT = record
  6624. emr: EMR;
  6625. ihBrush: DWORD; // Brush handle index
  6626. lb: LOGBRUSH32; // The style must be BS_SOLID, BS_HOLLOW,
  6627. // BS_NULL or BS_HATCHED.
  6628. end;
  6629. {$EXTERNALSYM tagEMRCREATEBRUSHINDIRECT}
  6630. EMRCREATEBRUSHINDIRECT = tagEMRCREATEBRUSHINDIRECT;
  6631. {$EXTERNALSYM EMRCREATEBRUSHINDIRECT}
  6632. TEmrCreateBrushIndirect = EMRCREATEBRUSHINDIRECT;
  6633. PEmrCreateMonoBrush = ^TEmrCreateMonoBrush;
  6634. tagEMRCREATEMONOBRUSH = record
  6635. emr: EMR;
  6636. ihBrush: DWORD; // Brush handle index
  6637. iUsage: DWORD; // Bitmap info color table usage
  6638. offBmi: DWORD; // Offset to the BITMAPINFO structure
  6639. cbBmi: DWORD; // Size of the BITMAPINFO structure
  6640. offBits: DWORD; // Offset to the bitmap bits
  6641. cbBits: DWORD; // Size of the bitmap bits
  6642. end;
  6643. {$EXTERNALSYM tagEMRCREATEMONOBRUSH}
  6644. EMRCREATEMONOBRUSH = tagEMRCREATEMONOBRUSH;
  6645. {$EXTERNALSYM EMRCREATEMONOBRUSH}
  6646. TEmrCreateMonoBrush = EMRCREATEMONOBRUSH;
  6647. PEmrCreateDibPatternBrushPt = ^TEmrCreateDibPatternBrushPt;
  6648. tagEMRCREATEDIBPATTERNBRUSHPT = record
  6649. emr: EMR;
  6650. ihBrush: DWORD; // Brush handle index
  6651. iUsage: DWORD; // Bitmap info color table usage
  6652. offBmi: DWORD; // Offset to the BITMAPINFO structure
  6653. cbBmi: DWORD; // Size of the BITMAPINFO structure
  6654. // The bitmap info is followed by the bitmap
  6655. // bits to form a packed DIB.
  6656. offBits: DWORD; // Offset to the bitmap bits
  6657. cbBits: DWORD; // Size of the bitmap bits
  6658. end;
  6659. {$EXTERNALSYM tagEMRCREATEDIBPATTERNBRUSHPT}
  6660. EMRCREATEDIBPATTERNBRUSHPT = tagEMRCREATEDIBPATTERNBRUSHPT;
  6661. {$EXTERNALSYM EMRCREATEDIBPATTERNBRUSHPT}
  6662. TEmrCreateDibPatternBrushPt = EMRCREATEDIBPATTERNBRUSHPT;
  6663. PEmrFormat = ^TEmrFormat;
  6664. tagEMRFORMAT = record
  6665. dSignature: DWORD; // Format signature, e.g. ENHMETA_SIGNATURE.
  6666. nVersion: DWORD; // Format version number.
  6667. cbData: DWORD; // Size of data in bytes.
  6668. offData: DWORD; // Offset to data from GDICOMMENT_IDENTIFIER.
  6669. // It must begin at a DWORD offset.
  6670. end;
  6671. {$EXTERNALSYM tagEMRFORMAT}
  6672. EMRFORMAT = tagEMRFORMAT;
  6673. {$EXTERNALSYM EMRFORMAT}
  6674. TEmrFormat = EMRFORMAT;
  6675. PEmrGlsRecord = ^TEmrGlsRecord;
  6676. tagEMRGLSRECORD = record
  6677. emr: EMR;
  6678. cbData: DWORD; // Size of data in bytes
  6679. Data: array [0..0] of BYTE;
  6680. end;
  6681. {$EXTERNALSYM tagEMRGLSRECORD}
  6682. EMRGLSRECORD = tagEMRGLSRECORD;
  6683. {$EXTERNALSYM EMRGLSRECORD}
  6684. TEmrGlsRecord = EMRGLSRECORD;
  6685. PEmrGlsBoundedRecord = ^TEmrGlsBoundedRecord;
  6686. tagEMRGLSBOUNDEDRECORD = record
  6687. emr: EMR;
  6688. rclBounds: RECTL; // Bounds in recording coordinates
  6689. cbData: DWORD; // Size of data in bytes
  6690. Data: array [0..0] of BYTE;
  6691. end;
  6692. {$EXTERNALSYM tagEMRGLSBOUNDEDRECORD}
  6693. EMRGLSBOUNDEDRECORD = tagEMRGLSBOUNDEDRECORD;
  6694. {$EXTERNALSYM EMRGLSBOUNDEDRECORD}
  6695. TEmrGlsBoundedRecord = EMRGLSBOUNDEDRECORD;
  6696. PEmrPixelFormat = ^TEmrPixelFormat;
  6697. tagEMRPIXELFORMAT = record
  6698. emr: EMR;
  6699. pfd: PIXELFORMATDESCRIPTOR;
  6700. end;
  6701. {$EXTERNALSYM tagEMRPIXELFORMAT}
  6702. EMRPIXELFORMAT = tagEMRPIXELFORMAT;
  6703. {$EXTERNALSYM EMRPIXELFORMAT}
  6704. TEmrPixelFormat = EMRPIXELFORMAT;
  6705. PEmrCreateColorSpace = ^TEmrCreateColorSpace;
  6706. tagEMRCREATECOLORSPACE = record
  6707. emr: EMR;
  6708. ihCS: DWORD; // ColorSpace handle index
  6709. lcs: LOGCOLORSPACEA; // Ansi version of LOGCOLORSPACE
  6710. end;
  6711. {$EXTERNALSYM tagEMRCREATECOLORSPACE}
  6712. EMRCREATECOLORSPACE = tagEMRCREATECOLORSPACE;
  6713. {$EXTERNALSYM EMRCREATECOLORSPACE}
  6714. TEmrCreateColorSpace = EMRCREATECOLORSPACE;
  6715. PEmrSetColorSpace = ^TEmrSetColorSpace;
  6716. tagEMRSETCOLORSPACE = record
  6717. emr: EMR;
  6718. ihCS: DWORD; // ColorSpace handle index
  6719. end;
  6720. {$EXTERNALSYM tagEMRSETCOLORSPACE}
  6721. EMRSETCOLORSPACE = tagEMRSETCOLORSPACE;
  6722. {$EXTERNALSYM EMRSETCOLORSPACE}
  6723. EMRSELECTCOLORSPACE = tagEMRSETCOLORSPACE;
  6724. {$EXTERNALSYM EMRSELECTCOLORSPACE}
  6725. PEMRSELECTCOLORSPACE = ^EMRSELECTCOLORSPACE;
  6726. {$EXTERNALSYM PEMRSELECTCOLORSPACE}
  6727. EMRDELETECOLORSPACE = tagEMRSETCOLORSPACE;
  6728. {$EXTERNALSYM EMRDELETECOLORSPACE}
  6729. PEMRDELETECOLORSPACE = ^EMRDELETECOLORSPACE;
  6730. {$EXTERNALSYM PEMRDELETECOLORSPACE}
  6731. TEmrSetColorSpace = EMRSETCOLORSPACE;
  6732. PEmrExtEscape = ^TEmrExtEscape;
  6733. tagEMREXTESCAPE = record
  6734. emr: EMR;
  6735. iEscape: INT; // Escape code
  6736. cbEscData: INT; // Size of escape data
  6737. EscData: array [0..0] of BYTE; // Escape data
  6738. end;
  6739. {$EXTERNALSYM tagEMREXTESCAPE}
  6740. EMREXTESCAPE = tagEMREXTESCAPE;
  6741. {$EXTERNALSYM EMREXTESCAPE}
  6742. EMRDRAWESCAPE = tagEMREXTESCAPE;
  6743. {$EXTERNALSYM EMRDRAWESCAPE}
  6744. PEMRDRAWESCAPE = ^EMRDRAWESCAPE;
  6745. {$EXTERNALSYM PEMRDRAWESCAPE}
  6746. TEmrExtEscape = EMREXTESCAPE;
  6747. PEmrNamedEscape = ^TEmrNamedEscape;
  6748. tagEMRNAMEDESCAPE = record
  6749. emr: EMR;
  6750. iEscape: INT; // Escape code
  6751. cbDriver: INT; // Size of driver name
  6752. cbEscData: INT; // Size of escape data
  6753. EscData: array [0..0] of BYTE; // Driver name and Escape data
  6754. end;
  6755. {$EXTERNALSYM tagEMRNAMEDESCAPE}
  6756. EMRNAMEDESCAPE = tagEMRNAMEDESCAPE;
  6757. {$EXTERNALSYM EMRNAMEDESCAPE}
  6758. TEmrNamedEscape = EMRNAMEDESCAPE;
  6759. const
  6760. SETICMPROFILE_EMBEDED = $00000001;
  6761. {$EXTERNALSYM SETICMPROFILE_EMBEDED}
  6762. type
  6763. PEmrSetIcmProfile = ^TEmrSetIcmProfile;
  6764. tagEMRSETICMPROFILE = record
  6765. emr: EMR;
  6766. dwFlags: DWORD; // flags
  6767. cbName: DWORD; // Size of desired profile name
  6768. cbData: DWORD; // Size of raw profile data if attached
  6769. Data: array [0..0] of BYTE; // Array size is cbName + cbData
  6770. end;
  6771. {$EXTERNALSYM tagEMRSETICMPROFILE}
  6772. EMRSETICMPROFILE = tagEMRSETICMPROFILE;
  6773. {$EXTERNALSYM EMRSETICMPROFILE}
  6774. EMRSETICMPROFILEA = tagEMRSETICMPROFILE;
  6775. {$EXTERNALSYM EMRSETICMPROFILEA}
  6776. PEMRSETICMPROFILEA = ^EMRSETICMPROFILEA;
  6777. {$EXTERNALSYM PEMRSETICMPROFILEA}
  6778. EMRSETICMPROFILEW = tagEMRSETICMPROFILE;
  6779. {$EXTERNALSYM EMRSETICMPROFILEW}
  6780. PEMRSETICMPROFILEW = ^EMRSETICMPROFILEW;
  6781. {$EXTERNALSYM PEMRSETICMPROFILEW}
  6782. TEmrSetIcmProfile = EMRSETICMPROFILE;
  6783. const
  6784. CREATECOLORSPACE_EMBEDED = $00000001;
  6785. {$EXTERNALSYM CREATECOLORSPACE_EMBEDED}
  6786. type
  6787. PEmrCreateColorSpaceW = ^TEmrCreateColorSpaceW;
  6788. tagEMRCREATECOLORSPACEW = record
  6789. emr: EMR;
  6790. ihCS: DWORD; // ColorSpace handle index
  6791. lcs: LOGCOLORSPACEW; // Unicode version of logical color space structure
  6792. dwFlags: DWORD; // flags
  6793. cbData: DWORD; // size of raw source profile data if attached
  6794. Data: array [0..0] of BYTE; // Array size is cbData
  6795. end;
  6796. {$EXTERNALSYM tagEMRCREATECOLORSPACEW}
  6797. EMRCREATECOLORSPACEW = tagEMRCREATECOLORSPACEW;
  6798. {$EXTERNALSYM EMRCREATECOLORSPACEW}
  6799. TEmrCreateColorSpaceW = EMRCREATECOLORSPACEW;
  6800. const
  6801. COLORMATCHTOTARGET_EMBEDED = $00000001;
  6802. {$EXTERNALSYM COLORMATCHTOTARGET_EMBEDED}
  6803. type
  6804. PColorMatchToTarget = ^TColorMatchToTarget;
  6805. tagCOLORMATCHTOTARGET = record
  6806. emr: EMR;
  6807. dwAction: DWORD; // CS_ENABLE, CS_DISABLE or CS_DELETE_TRANSFORM
  6808. dwFlags: DWORD; // flags
  6809. cbName: DWORD; // Size of desired target profile name
  6810. cbData: DWORD; // Size of raw target profile data if attached
  6811. Data: array [0..0] of BYTE; // Array size is cbName + cbData
  6812. end;
  6813. {$EXTERNALSYM tagCOLORMATCHTOTARGET}
  6814. //COLORMATCHTOTARGET = tagCOLORMATCHTOTARGET;
  6815. //{$EXTERNALSYM COLORMATCHTOTARGET}
  6816. TColorMatchToTarget = tagCOLORMATCHTOTARGET;
  6817. PColorCorrectPalette = ^TColorCorrectPalette;
  6818. tagCOLORCORRECTPALETTE = record
  6819. emr: EMR;
  6820. ihPalette: DWORD; // Palette handle index
  6821. nFirstEntry: DWORD; // Index of first entry to correct
  6822. nPalEntries: DWORD; // Number of palette entries to correct
  6823. nReserved: DWORD; // Reserved
  6824. end;
  6825. {$EXTERNALSYM tagCOLORCORRECTPALETTE}
  6826. //COLORCORRECTPALETTE = tagCOLORCORRECTPALETTE;
  6827. //{$EXTERNALSYM COLORCORRECTPALETTE}
  6828. TColorCorrectPalette = tagCOLORCORRECTPALETTE;
  6829. PEmrAlphaBlend = ^TEmrAlphaBlend;
  6830. tagEMRALPHABLEND = record
  6831. emr: EMR;
  6832. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6833. xDest: LONG;
  6834. yDest: LONG;
  6835. cxDest: LONG;
  6836. cyDest: LONG;
  6837. dwRop: DWORD;
  6838. xSrc: LONG;
  6839. ySrc: LONG;
  6840. xformSrc: XFORM; // Source DC transform
  6841. crBkColorSrc: COLORREF; // Source DC BkColor in RGB
  6842. iUsageSrc: DWORD; // Source bitmap info color table usage (DIB_RGB_COLORS)
  6843. offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure
  6844. cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure
  6845. offBitsSrc: DWORD; // Offset to the source bitmap bits
  6846. cbBitsSrc: DWORD; // Size of the source bitmap bits
  6847. cxSrc: LONG;
  6848. cySrc: LONG;
  6849. end;
  6850. {$EXTERNALSYM tagEMRALPHABLEND}
  6851. EMRALPHABLEND = tagEMRALPHABLEND;
  6852. {$EXTERNALSYM EMRALPHABLEND}
  6853. TEmrAlphaBlend = EMRALPHABLEND;
  6854. PEmrGradientFill = ^TEmrGradientFill;
  6855. tagEMRGRADIENTFILL = record
  6856. emr: EMR;
  6857. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6858. nVer: DWORD;
  6859. nTri: DWORD;
  6860. ulMode: ULONG;
  6861. Ver: array [0..0] of TRIVERTEX;
  6862. end;
  6863. {$EXTERNALSYM tagEMRGRADIENTFILL}
  6864. EMRGRADIENTFILL = tagEMRGRADIENTFILL;
  6865. {$EXTERNALSYM EMRGRADIENTFILL}
  6866. TEmrGradientFill = EMRGRADIENTFILL;
  6867. PEmrTransparentBlt = ^TEmrTransparentBlt;
  6868. tagEMRTRANSPARENTBLT = record
  6869. emr: EMR;
  6870. rclBounds: RECTL; // Inclusive-inclusive bounds in device units
  6871. xDest: LONG;
  6872. yDest: LONG;
  6873. cxDest: LONG;
  6874. cyDest: LONG;
  6875. dwRop: DWORD;
  6876. xSrc: LONG;
  6877. ySrc: LONG;
  6878. xformSrc: XFORM; // Source DC transform
  6879. crBkColorSrc: COLORREF; // Source DC BkColor in RGB
  6880. iUsageSrc: DWORD; // Source bitmap info color table usage
  6881. // (DIB_RGB_COLORS)
  6882. offBmiSrc: DWORD; // Offset to the source BITMAPINFO structure
  6883. cbBmiSrc: DWORD; // Size of the source BITMAPINFO structure
  6884. offBitsSrc: DWORD; // Offset to the source bitmap bits
  6885. cbBitsSrc: DWORD; // Size of the source bitmap bits
  6886. cxSrc: LONG;
  6887. cySrc: LONG;
  6888. end;
  6889. {$EXTERNALSYM tagEMRTRANSPARENTBLT}
  6890. EMRTRANSPARENTBLT = tagEMRTRANSPARENTBLT;
  6891. {$EXTERNALSYM EMRTRANSPARENTBLT}
  6892. TEmrTransparentBlt = EMRTRANSPARENTBLT;
  6893. const
  6894. GDICOMMENT_IDENTIFIER = $43494447;
  6895. {$EXTERNALSYM GDICOMMENT_IDENTIFIER}
  6896. GDICOMMENT_WINDOWS_METAFILE = DWORD($80000001);
  6897. {$EXTERNALSYM GDICOMMENT_WINDOWS_METAFILE}
  6898. GDICOMMENT_BEGINGROUP = $00000002;
  6899. {$EXTERNALSYM GDICOMMENT_BEGINGROUP}
  6900. GDICOMMENT_ENDGROUP = $00000003;
  6901. {$EXTERNALSYM GDICOMMENT_ENDGROUP}
  6902. GDICOMMENT_MULTIFORMATS = $40000004;
  6903. {$EXTERNALSYM GDICOMMENT_MULTIFORMATS}
  6904. EPS_SIGNATURE = $46535045;
  6905. {$EXTERNALSYM EPS_SIGNATURE}
  6906. GDICOMMENT_UNICODE_STRING = $00000040;
  6907. {$EXTERNALSYM GDICOMMENT_UNICODE_STRING}
  6908. GDICOMMENT_UNICODE_END = $00000080;
  6909. {$EXTERNALSYM GDICOMMENT_UNICODE_END}
  6910. // OpenGL wgl prototypes
  6911. function wglCopyContext(hglrcSrc, hglrcDest: HGLRC; mask: UINT): BOOL; stdcall;
  6912. {$EXTERNALSYM wglCopyContext}
  6913. function wglCreateContext(hdc: HDC): HGLRC; stdcall;
  6914. {$EXTERNALSYM wglCreateContext}
  6915. function wglCreateLayerContext(hdc: HDC; iLayerPlane: Integer): HGLRC; stdcall;
  6916. {$EXTERNALSYM wglCreateLayerContext}
  6917. function wglDeleteContext(hglrc: HGLRC): BOOL; stdcall;
  6918. {$EXTERNALSYM wglDeleteContext}
  6919. function wglGetCurrentContext: HGLRC; stdcall;
  6920. {$EXTERNALSYM wglGetCurrentContext}
  6921. function wglGetCurrentDC: HDC; stdcall;
  6922. {$EXTERNALSYM wglGetCurrentDC}
  6923. function wglGetProcAddress(lpszProc: LPCSTR): PROC; stdcall;
  6924. {$EXTERNALSYM wglGetProcAddress}
  6925. function wglMakeCurrent(hdc: HDC; hglrc: HGLRC): BOOL; stdcall;
  6926. {$EXTERNALSYM wglMakeCurrent}
  6927. function wglShareLists(hglrc1, hglrc2: HGLRC): BOOL; stdcall;
  6928. {$EXTERNALSYM wglShareLists}
  6929. function wglUseFontBitmapsA(hdc: HDC; first, count, listBase: DWORD): BOOL; stdcall;
  6930. {$EXTERNALSYM wglUseFontBitmapsA}
  6931. function wglUseFontBitmapsW(hdc: HDC; first, count, listBase: DWORD): BOOL; stdcall;
  6932. {$EXTERNALSYM wglUseFontBitmapsW}
  6933. function wglUseFontBitmaps(hdc: HDC; first, count, listBase: DWORD): BOOL; stdcall;
  6934. {$EXTERNALSYM wglUseFontBitmaps}
  6935. function SwapBuffers(hdc: HDC): BOOL; stdcall;
  6936. {$EXTERNALSYM SwapBuffers}
  6937. type
  6938. PPointFloat = ^TPointFloat;
  6939. _POINTFLOAT = record
  6940. x: FLOAT;
  6941. y: FLOAT;
  6942. end;
  6943. {$EXTERNALSYM _POINTFLOAT}
  6944. POINTFLOAT = _POINTFLOAT;
  6945. {$EXTERNALSYM POINTFLOAT}
  6946. TPointFloat = _POINTFLOAT;
  6947. PGlyphMetricsFloat = ^TGlyphMetricsFloat;
  6948. _GLYPHMETRICSFLOAT = record
  6949. gmfBlackBoxX: FLOAT;
  6950. gmfBlackBoxY: FLOAT;
  6951. gmfptGlyphOrigin: POINTFLOAT;
  6952. gmfCellIncX: FLOAT;
  6953. gmfCellIncY: FLOAT;
  6954. end;
  6955. {$EXTERNALSYM _GLYPHMETRICSFLOAT}
  6956. GLYPHMETRICSFLOAT = _GLYPHMETRICSFLOAT;
  6957. {$EXTERNALSYM GLYPHMETRICSFLOAT}
  6958. LPGLYPHMETRICSFLOAT = ^GLYPHMETRICSFLOAT;
  6959. {$EXTERNALSYM LPGLYPHMETRICSFLOAT}
  6960. TGlyphMetricsFloat = _GLYPHMETRICSFLOAT;
  6961. const
  6962. WGL_FONT_LINES = 0;
  6963. {$EXTERNALSYM WGL_FONT_LINES}
  6964. WGL_FONT_POLYGONS = 1;
  6965. {$EXTERNALSYM WGL_FONT_POLYGONS}
  6966. function wglUseFontOutlinesA(hdc: HDC; first, count, listBase: DWORD; deviation,
  6967. extrusion: FLOAT; format: Integer; lpgmf: LPGLYPHMETRICSFLOAT): BOOL; stdcall;
  6968. {$EXTERNALSYM wglUseFontOutlinesA}
  6969. function wglUseFontOutlinesW(hdc: HDC; first, count, listBase: DWORD; deviation,
  6970. extrusion: FLOAT; format: Integer; lpgmf: LPGLYPHMETRICSFLOAT): BOOL; stdcall;
  6971. {$EXTERNALSYM wglUseFontOutlinesW}
  6972. function wglUseFontOutlines(hdc: HDC; first, count, listBase: DWORD; deviation,
  6973. extrusion: FLOAT; format: Integer; lpgmf: LPGLYPHMETRICSFLOAT): BOOL; stdcall;
  6974. {$EXTERNALSYM wglUseFontOutlines}
  6975. // Layer plane descriptor
  6976. type
  6977. PLayerPlaneDescriptor = ^TLayerPlaneDescriptor;
  6978. tagLAYERPLANEDESCRIPTOR = record
  6979. nSize: WORD;
  6980. nVersion: WORD;
  6981. dwFlags: DWORD;
  6982. iPixelType: BYTE;
  6983. cColorBits: BYTE;
  6984. cRedBits: BYTE;
  6985. cRedShift: BYTE;
  6986. cGreenBits: BYTE;
  6987. cGreenShift: BYTE;
  6988. cBlueBits: BYTE;
  6989. cBlueShift: BYTE;
  6990. cAlphaBits: BYTE;
  6991. cAlphaShift: BYTE;
  6992. cAccumBits: BYTE;
  6993. cAccumRedBits: BYTE;
  6994. cAccumGreenBits: BYTE;
  6995. cAccumBlueBits: BYTE;
  6996. cAccumAlphaBits: BYTE;
  6997. cDepthBits: BYTE;
  6998. cStencilBits: BYTE;
  6999. cAuxBuffers: BYTE;
  7000. iLayerPlane: BYTE;
  7001. bReserved: BYTE;
  7002. crTransparent: COLORREF;
  7003. end;
  7004. {$EXTERNALSYM tagLAYERPLANEDESCRIPTOR}
  7005. LAYERPLANEDESCRIPTOR = tagLAYERPLANEDESCRIPTOR;
  7006. {$EXTERNALSYM LAYERPLANEDESCRIPTOR}
  7007. LPLAYERPLANEDESCRIPTOR = ^LAYERPLANEDESCRIPTOR;
  7008. {$EXTERNALSYM LPLAYERPLANEDESCRIPTOR}
  7009. TLayerPlaneDescriptor = LAYERPLANEDESCRIPTOR;
  7010. // LAYERPLANEDESCRIPTOR flags
  7011. const
  7012. LPD_DOUBLEBUFFER = $00000001;
  7013. {$EXTERNALSYM LPD_DOUBLEBUFFER}
  7014. LPD_STEREO = $00000002;
  7015. {$EXTERNALSYM LPD_STEREO}
  7016. LPD_SUPPORT_GDI = $00000010;
  7017. {$EXTERNALSYM LPD_SUPPORT_GDI}
  7018. LPD_SUPPORT_OPENGL = $00000020;
  7019. {$EXTERNALSYM LPD_SUPPORT_OPENGL}
  7020. LPD_SHARE_DEPTH = $00000040;
  7021. {$EXTERNALSYM LPD_SHARE_DEPTH}
  7022. LPD_SHARE_STENCIL = $00000080;
  7023. {$EXTERNALSYM LPD_SHARE_STENCIL}
  7024. LPD_SHARE_ACCUM = $00000100;
  7025. {$EXTERNALSYM LPD_SHARE_ACCUM}
  7026. LPD_SWAP_EXCHANGE = $00000200;
  7027. {$EXTERNALSYM LPD_SWAP_EXCHANGE}
  7028. LPD_SWAP_COPY = $00000400;
  7029. {$EXTERNALSYM LPD_SWAP_COPY}
  7030. LPD_TRANSPARENT = $00001000;
  7031. {$EXTERNALSYM LPD_TRANSPARENT}
  7032. LPD_TYPE_RGBA = 0;
  7033. {$EXTERNALSYM LPD_TYPE_RGBA}
  7034. LPD_TYPE_COLORINDEX = 1;
  7035. {$EXTERNALSYM LPD_TYPE_COLORINDEX}
  7036. // wglSwapLayerBuffers flags
  7037. WGL_SWAP_MAIN_PLANE = $00000001;
  7038. {$EXTERNALSYM WGL_SWAP_MAIN_PLANE}
  7039. WGL_SWAP_OVERLAY1 = $00000002;
  7040. {$EXTERNALSYM WGL_SWAP_OVERLAY1}
  7041. WGL_SWAP_OVERLAY2 = $00000004;
  7042. {$EXTERNALSYM WGL_SWAP_OVERLAY2}
  7043. WGL_SWAP_OVERLAY3 = $00000008;
  7044. {$EXTERNALSYM WGL_SWAP_OVERLAY3}
  7045. WGL_SWAP_OVERLAY4 = $00000010;
  7046. {$EXTERNALSYM WGL_SWAP_OVERLAY4}
  7047. WGL_SWAP_OVERLAY5 = $00000020;
  7048. {$EXTERNALSYM WGL_SWAP_OVERLAY5}
  7049. WGL_SWAP_OVERLAY6 = $00000040;
  7050. {$EXTERNALSYM WGL_SWAP_OVERLAY6}
  7051. WGL_SWAP_OVERLAY7 = $00000080;
  7052. {$EXTERNALSYM WGL_SWAP_OVERLAY7}
  7053. WGL_SWAP_OVERLAY8 = $00000100;
  7054. {$EXTERNALSYM WGL_SWAP_OVERLAY8}
  7055. WGL_SWAP_OVERLAY9 = $00000200;
  7056. {$EXTERNALSYM WGL_SWAP_OVERLAY9}
  7057. WGL_SWAP_OVERLAY10 = $00000400;
  7058. {$EXTERNALSYM WGL_SWAP_OVERLAY10}
  7059. WGL_SWAP_OVERLAY11 = $00000800;
  7060. {$EXTERNALSYM WGL_SWAP_OVERLAY11}
  7061. WGL_SWAP_OVERLAY12 = $00001000;
  7062. {$EXTERNALSYM WGL_SWAP_OVERLAY12}
  7063. WGL_SWAP_OVERLAY13 = $00002000;
  7064. {$EXTERNALSYM WGL_SWAP_OVERLAY13}
  7065. WGL_SWAP_OVERLAY14 = $00004000;
  7066. {$EXTERNALSYM WGL_SWAP_OVERLAY14}
  7067. WGL_SWAP_OVERLAY15 = $00008000;
  7068. {$EXTERNALSYM WGL_SWAP_OVERLAY15}
  7069. WGL_SWAP_UNDERLAY1 = $00010000;
  7070. {$EXTERNALSYM WGL_SWAP_UNDERLAY1}
  7071. WGL_SWAP_UNDERLAY2 = $00020000;
  7072. {$EXTERNALSYM WGL_SWAP_UNDERLAY2}
  7073. WGL_SWAP_UNDERLAY3 = $00040000;
  7074. {$EXTERNALSYM WGL_SWAP_UNDERLAY3}
  7075. WGL_SWAP_UNDERLAY4 = $00080000;
  7076. {$EXTERNALSYM WGL_SWAP_UNDERLAY4}
  7077. WGL_SWAP_UNDERLAY5 = $00100000;
  7078. {$EXTERNALSYM WGL_SWAP_UNDERLAY5}
  7079. WGL_SWAP_UNDERLAY6 = $00200000;
  7080. {$EXTERNALSYM WGL_SWAP_UNDERLAY6}
  7081. WGL_SWAP_UNDERLAY7 = $00400000;
  7082. {$EXTERNALSYM WGL_SWAP_UNDERLAY7}
  7083. WGL_SWAP_UNDERLAY8 = $00800000;
  7084. {$EXTERNALSYM WGL_SWAP_UNDERLAY8}
  7085. WGL_SWAP_UNDERLAY9 = $01000000;
  7086. {$EXTERNALSYM WGL_SWAP_UNDERLAY9}
  7087. WGL_SWAP_UNDERLAY10 = $02000000;
  7088. {$EXTERNALSYM WGL_SWAP_UNDERLAY10}
  7089. WGL_SWAP_UNDERLAY11 = $04000000;
  7090. {$EXTERNALSYM WGL_SWAP_UNDERLAY11}
  7091. WGL_SWAP_UNDERLAY12 = $08000000;
  7092. {$EXTERNALSYM WGL_SWAP_UNDERLAY12}
  7093. WGL_SWAP_UNDERLAY13 = $10000000;
  7094. {$EXTERNALSYM WGL_SWAP_UNDERLAY13}
  7095. WGL_SWAP_UNDERLAY14 = $20000000;
  7096. {$EXTERNALSYM WGL_SWAP_UNDERLAY14}
  7097. WGL_SWAP_UNDERLAY15 = $40000000;
  7098. {$EXTERNALSYM WGL_SWAP_UNDERLAY15}
  7099. function wglDescribeLayerPlane(hdc: HDC; iPixelFormat, iLayerPlane: Integer;
  7100. nBytes: UINT; plpd: LPLAYERPLANEDESCRIPTOR): BOOL; stdcall;
  7101. {$EXTERNALSYM wglDescribeLayerPlane}
  7102. function wglSetLayerPaletteEntries(hdc: HDC; iLayerPlane, iStart, cEntries: Integer;
  7103. pcr: LPCOLORREF): Integer; stdcall;
  7104. {$EXTERNALSYM wglSetLayerPaletteEntries}
  7105. function wglGetLayerPaletteEntries(hdc: HDC; iLayerPlane, iStart, cEntries: Integer;
  7106. pcr: LPCOLORREF): Integer; stdcall;
  7107. {$EXTERNALSYM wglGetLayerPaletteEntries}
  7108. function wglRealizeLayerPalette(hdc: HDC; iLayerPlane: Integer; bRealize: BOOL): BOOL; stdcall;
  7109. {$EXTERNALSYM wglRealizeLayerPalette}
  7110. function wglSwapLayerBuffers(hdc: HDC; fuPlanes: UINT): BOOL; stdcall;
  7111. {$EXTERNALSYM wglSwapLayerBuffers}
  7112. type
  7113. PWglSwap = ^TWglSwap;
  7114. _WGLSWAP = record
  7115. hdc: HDC;
  7116. uiFlags: UINT;
  7117. end;
  7118. {$EXTERNALSYM _WGLSWAP}
  7119. WGLSWAP = _WGLSWAP;
  7120. {$EXTERNALSYM WGLSWAP}
  7121. LPWGLSWAP = ^WGLSWAP;
  7122. {$EXTERNALSYM LPWGLSWAP}
  7123. TWglSwap = _WGLSWAP;
  7124. const
  7125. WGL_SWAPMULTIPLE_MAX = 16;
  7126. {$EXTERNALSYM WGL_SWAPMULTIPLE_MAX}
  7127. function wglSwapMultipleBuffers(fuCount: UINT; lpBuffers: LPWGLSWAP): DWORD; stdcall;
  7128. {$EXTERNALSYM wglSwapMultipleBuffers}
  7129. {$ENDIF JWA_INTERFACESECTION}
  7130. {$IFNDEF JWA_INCLUDEMODE}
  7131. implementation
  7132. uses
  7133. JwaWinDLLNames;
  7134. {$ENDIF !JWA_INCLUDEMODE}
  7135. {$IFDEF JWA_IMPLEMENTATIONSECTION}
  7136. function MAKEROP4(Fore, Back: DWORD): DWORD;
  7137. begin
  7138. Result := ((Back shl 8) and DWORD($FF000000)) or Fore;
  7139. end;
  7140. function GetKValue(cmyk: COLORREF): BYTE;
  7141. begin
  7142. Result := BYTE(cmyk);
  7143. end;
  7144. function GetYValue(cmyk: COLORREF): BYTE;
  7145. begin
  7146. Result := BYTE(cmyk shr 8);
  7147. end;
  7148. function GetMValue(cmyk: COLORREF): BYTE;
  7149. begin
  7150. Result := BYTE(cmyk shr 16);
  7151. end;
  7152. function GetCValue(cmyk: COLORREF): BYTE;
  7153. begin
  7154. Result := BYTE(cmyk shr 24);
  7155. end;
  7156. function CMYK(c, m, y, k: BYTE): COLORREF;
  7157. begin
  7158. Result := COLORREF(k or (y shl 8) or (m shl 16) or (c shl 24));
  7159. end;
  7160. function MAKEPOINTS(l: DWORD): POINTS;
  7161. begin
  7162. Result.x := LOWORD(l);
  7163. Result.y := HIWORD(l);
  7164. end;
  7165. function RGB(r, g, b: BYTE): COLORREF;
  7166. begin
  7167. Result := COLORREF(r or (g shl 8) or (b shl 16));
  7168. end;
  7169. function PALETTERGB(r, g, b: BYTE): COLORREF;
  7170. begin
  7171. Result := $02000000 or RGB(r, g, b);
  7172. end;
  7173. function PALETTEINDEX(i: WORD): COLORREF;
  7174. begin
  7175. Result := COLORREF($01000000 or DWORD(i));
  7176. end;
  7177. function GetRValue(rgb: COLORREF): BYTE;
  7178. begin
  7179. Result := BYTE(RGB);
  7180. end;
  7181. function GetGValue(rgb: COLORREF): BYTE;
  7182. begin
  7183. Result := BYTE(rgb shr 8);
  7184. end;
  7185. function GetBValue(rgb: COLORREF): BYTE;
  7186. begin
  7187. Result := BYTE(rgb shr 16);
  7188. end;
  7189. {$IFDEF DYNAMIC_LINK}
  7190. var
  7191. _AddFontResourceA: Pointer;
  7192. function AddFontResourceA;
  7193. begin
  7194. GetProcedureAddress(_AddFontResourceA, gdi32, 'AddFontResourceA');
  7195. asm
  7196. MOV ESP, EBP
  7197. POP EBP
  7198. JMP [_AddFontResourceA]
  7199. end;
  7200. end;
  7201. var
  7202. _AddFontResourceW: Pointer;
  7203. function AddFontResourceW;
  7204. begin
  7205. GetProcedureAddress(_AddFontResourceW, gdi32, 'AddFontResourceW');
  7206. asm
  7207. MOV ESP, EBP
  7208. POP EBP
  7209. JMP [_AddFontResourceW]
  7210. end;
  7211. end;
  7212. var
  7213. _AddFontResource: Pointer;
  7214. function AddFontResource;
  7215. begin
  7216. GetProcedureAddress(_AddFontResource, gdi32, 'AddFontResource' + AWSuffix);
  7217. asm
  7218. MOV ESP, EBP
  7219. POP EBP
  7220. JMP [_AddFontResource]
  7221. end;
  7222. end;
  7223. var
  7224. _AnimatePalette: Pointer;
  7225. function AnimatePalette;
  7226. begin
  7227. GetProcedureAddress(_AnimatePalette, gdi32, 'AnimatePalette');
  7228. asm
  7229. MOV ESP, EBP
  7230. POP EBP
  7231. JMP [_AnimatePalette]
  7232. end;
  7233. end;
  7234. var
  7235. _Arc: Pointer;
  7236. function Arc;
  7237. begin
  7238. GetProcedureAddress(_Arc, gdi32, 'Arc');
  7239. asm
  7240. MOV ESP, EBP
  7241. POP EBP
  7242. JMP [_Arc]
  7243. end;
  7244. end;
  7245. var
  7246. _BitBlt: Pointer;
  7247. function BitBlt;
  7248. begin
  7249. GetProcedureAddress(_BitBlt, gdi32, 'BitBlt');
  7250. asm
  7251. MOV ESP, EBP
  7252. POP EBP
  7253. JMP [_BitBlt]
  7254. end;
  7255. end;
  7256. var
  7257. _CancelDC: Pointer;
  7258. function CancelDC;
  7259. begin
  7260. GetProcedureAddress(_CancelDC, gdi32, 'CancelDC');
  7261. asm
  7262. MOV ESP, EBP
  7263. POP EBP
  7264. JMP [_CancelDC]
  7265. end;
  7266. end;
  7267. var
  7268. _Chord: Pointer;
  7269. function Chord;
  7270. begin
  7271. GetProcedureAddress(_Chord, gdi32, 'Chord');
  7272. asm
  7273. MOV ESP, EBP
  7274. POP EBP
  7275. JMP [_Chord]
  7276. end;
  7277. end;
  7278. var
  7279. _ChoosePixelFormat: Pointer;
  7280. function ChoosePixelFormat;
  7281. begin
  7282. GetProcedureAddress(_ChoosePixelFormat, gdi32, 'ChoosePixelFormat');
  7283. asm
  7284. MOV ESP, EBP
  7285. POP EBP
  7286. JMP [_ChoosePixelFormat]
  7287. end;
  7288. end;
  7289. var
  7290. _CloseMetaFile: Pointer;
  7291. function CloseMetaFile;
  7292. begin
  7293. GetProcedureAddress(_CloseMetaFile, gdi32, 'CloseMetaFile');
  7294. asm
  7295. MOV ESP, EBP
  7296. POP EBP
  7297. JMP [_CloseMetaFile]
  7298. end;
  7299. end;
  7300. var
  7301. _CombineRgn: Pointer;
  7302. function CombineRgn;
  7303. begin
  7304. GetProcedureAddress(_CombineRgn, gdi32, 'CombineRgn');
  7305. asm
  7306. MOV ESP, EBP
  7307. POP EBP
  7308. JMP [_CombineRgn]
  7309. end;
  7310. end;
  7311. var
  7312. _CopyMetaFileA: Pointer;
  7313. function CopyMetaFileA;
  7314. begin
  7315. GetProcedureAddress(_CopyMetaFileA, gdi32, 'CopyMetaFileA');
  7316. asm
  7317. MOV ESP, EBP
  7318. POP EBP
  7319. JMP [_CopyMetaFileA]
  7320. end;
  7321. end;
  7322. var
  7323. _CopyMetaFileW: Pointer;
  7324. function CopyMetaFileW;
  7325. begin
  7326. GetProcedureAddress(_CopyMetaFileW, gdi32, 'CopyMetaFileW');
  7327. asm
  7328. MOV ESP, EBP
  7329. POP EBP
  7330. JMP [_CopyMetaFileW]
  7331. end;
  7332. end;
  7333. var
  7334. _CopyMetaFile: Pointer;
  7335. function CopyMetaFile;
  7336. begin
  7337. GetProcedureAddress(_CopyMetaFile, gdi32, 'CopyMetaFile' + AWSuffix);
  7338. asm
  7339. MOV ESP, EBP
  7340. POP EBP
  7341. JMP [_CopyMetaFile]
  7342. end;
  7343. end;
  7344. var
  7345. _CreateBitmap: Pointer;
  7346. function CreateBitmap;
  7347. begin
  7348. GetProcedureAddress(_CreateBitmap, gdi32, 'CreateBitmap');
  7349. asm
  7350. MOV ESP, EBP
  7351. POP EBP
  7352. JMP [_CreateBitmap]
  7353. end;
  7354. end;
  7355. var
  7356. _CreateBitmapIndirect: Pointer;
  7357. function CreateBitmapIndirect;
  7358. begin
  7359. GetProcedureAddress(_CreateBitmapIndirect, gdi32, 'CreateBitmapIndirect');
  7360. asm
  7361. MOV ESP, EBP
  7362. POP EBP
  7363. JMP [_CreateBitmapIndirect]
  7364. end;
  7365. end;
  7366. var
  7367. _CreateBrushIndirect: Pointer;
  7368. function CreateBrushIndirect;
  7369. begin
  7370. GetProcedureAddress(_CreateBrushIndirect, gdi32, 'CreateBrushIndirect');
  7371. asm
  7372. MOV ESP, EBP
  7373. POP EBP
  7374. JMP [_CreateBrushIndirect]
  7375. end;
  7376. end;
  7377. var
  7378. _CreateCompatibleBitmap: Pointer;
  7379. function CreateCompatibleBitmap;
  7380. begin
  7381. GetProcedureAddress(_CreateCompatibleBitmap, gdi32, 'CreateCompatibleBitmap');
  7382. asm
  7383. MOV ESP, EBP
  7384. POP EBP
  7385. JMP [_CreateCompatibleBitmap]
  7386. end;
  7387. end;
  7388. var
  7389. _CreateDiscardableBitmap: Pointer;
  7390. function CreateDiscardableBitmap;
  7391. begin
  7392. GetProcedureAddress(_CreateDiscardableBitmap, gdi32, 'CreateDiscardableBitmap');
  7393. asm
  7394. MOV ESP, EBP
  7395. POP EBP
  7396. JMP [_CreateDiscardableBitmap]
  7397. end;
  7398. end;
  7399. var
  7400. _CreateCompatibleDC: Pointer;
  7401. function CreateCompatibleDC;
  7402. begin
  7403. GetProcedureAddress(_CreateCompatibleDC, gdi32, 'CreateCompatibleDC');
  7404. asm
  7405. MOV ESP, EBP
  7406. POP EBP
  7407. JMP [_CreateCompatibleDC]
  7408. end;
  7409. end;
  7410. var
  7411. _CreateDCA: Pointer;
  7412. function CreateDCA;
  7413. begin
  7414. GetProcedureAddress(_CreateDCA, gdi32, 'CreateDCA');
  7415. asm
  7416. MOV ESP, EBP
  7417. POP EBP
  7418. JMP [_CreateDCA]
  7419. end;
  7420. end;
  7421. var
  7422. _CreateDCW: Pointer;
  7423. function CreateDCW;
  7424. begin
  7425. GetProcedureAddress(_CreateDCW, gdi32, 'CreateDCW');
  7426. asm
  7427. MOV ESP, EBP
  7428. POP EBP
  7429. JMP [_CreateDCW]
  7430. end;
  7431. end;
  7432. var
  7433. _CreateDC: Pointer;
  7434. function CreateDC;
  7435. begin
  7436. GetProcedureAddress(_CreateDC, gdi32, 'CreateDC' + AWSuffix);
  7437. asm
  7438. MOV ESP, EBP
  7439. POP EBP
  7440. JMP [_CreateDC]
  7441. end;
  7442. end;
  7443. var
  7444. _CreateDIBitmap: Pointer;
  7445. function CreateDIBitmap;
  7446. begin
  7447. GetProcedureAddress(_CreateDIBitmap, gdi32, 'CreateDIBitmap');
  7448. asm
  7449. MOV ESP, EBP
  7450. POP EBP
  7451. JMP [_CreateDIBitmap]
  7452. end;
  7453. end;
  7454. var
  7455. _CreateDIBPatternBrush: Pointer;
  7456. function CreateDIBPatternBrush;
  7457. begin
  7458. GetProcedureAddress(_CreateDIBPatternBrush, gdi32, 'CreateDIBPatternBrush');
  7459. asm
  7460. MOV ESP, EBP
  7461. POP EBP
  7462. JMP [_CreateDIBPatternBrush]
  7463. end;
  7464. end;
  7465. var
  7466. _CreateDIBPatternBrushPt: Pointer;
  7467. function CreateDIBPatternBrushPt;
  7468. begin
  7469. GetProcedureAddress(_CreateDIBPatternBrushPt, gdi32, 'CreateDIBPatternBrushPt');
  7470. asm
  7471. MOV ESP, EBP
  7472. POP EBP
  7473. JMP [_CreateDIBPatternBrushPt]
  7474. end;
  7475. end;
  7476. var
  7477. _CreateEllipticRgn: Pointer;
  7478. function CreateEllipticRgn;
  7479. begin
  7480. GetProcedureAddress(_CreateEllipticRgn, gdi32, 'CreateEllipticRgn');
  7481. asm
  7482. MOV ESP, EBP
  7483. POP EBP
  7484. JMP [_CreateEllipticRgn]
  7485. end;
  7486. end;
  7487. var
  7488. _CreateEllipticRgnIndirect: Pointer;
  7489. function CreateEllipticRgnIndirect;
  7490. begin
  7491. GetProcedureAddress(_CreateEllipticRgnIndirect, gdi32, 'CreateEllipticRgnIndirect');
  7492. asm
  7493. MOV ESP, EBP
  7494. POP EBP
  7495. JMP [_CreateEllipticRgnIndirect]
  7496. end;
  7497. end;
  7498. var
  7499. _CreateFontIndirectA: Pointer;
  7500. function CreateFontIndirectA;
  7501. begin
  7502. GetProcedureAddress(_CreateFontIndirectA, gdi32, 'CreateFontIndirectA');
  7503. asm
  7504. MOV ESP, EBP
  7505. POP EBP
  7506. JMP [_CreateFontIndirectA]
  7507. end;
  7508. end;
  7509. var
  7510. _CreateFontIndirectW: Pointer;
  7511. function CreateFontIndirectW;
  7512. begin
  7513. GetProcedureAddress(_CreateFontIndirectW, gdi32, 'CreateFontIndirectW');
  7514. asm
  7515. MOV ESP, EBP
  7516. POP EBP
  7517. JMP [_CreateFontIndirectW]
  7518. end;
  7519. end;
  7520. var
  7521. _CreateFontIndirect: Pointer;
  7522. function CreateFontIndirect;
  7523. begin
  7524. GetProcedureAddress(_CreateFontIndirect, gdi32, 'CreateFontIndirect' + AWSuffix);
  7525. asm
  7526. MOV ESP, EBP
  7527. POP EBP
  7528. JMP [_CreateFontIndirect]
  7529. end;
  7530. end;
  7531. var
  7532. _CreateFontA: Pointer;
  7533. function CreateFontA;
  7534. begin
  7535. GetProcedureAddress(_CreateFontA, gdi32, 'CreateFontA');
  7536. asm
  7537. MOV ESP, EBP
  7538. POP EBP
  7539. JMP [_CreateFontA]
  7540. end;
  7541. end;
  7542. var
  7543. _CreateFontW: Pointer;
  7544. function CreateFontW;
  7545. begin
  7546. GetProcedureAddress(_CreateFontW, gdi32, 'CreateFontW');
  7547. asm
  7548. MOV ESP, EBP
  7549. POP EBP
  7550. JMP [_CreateFontW]
  7551. end;
  7552. end;
  7553. var
  7554. _CreateFont: Pointer;
  7555. function CreateFont;
  7556. begin
  7557. GetProcedureAddress(_CreateFont, gdi32, 'CreateFont' + AWSuffix);
  7558. asm
  7559. MOV ESP, EBP
  7560. POP EBP
  7561. JMP [_CreateFont]
  7562. end;
  7563. end;
  7564. var
  7565. _CreateHatchBrush: Pointer;
  7566. function CreateHatchBrush;
  7567. begin
  7568. GetProcedureAddress(_CreateHatchBrush, gdi32, 'CreateHatchBrush');
  7569. asm
  7570. MOV ESP, EBP
  7571. POP EBP
  7572. JMP [_CreateHatchBrush]
  7573. end;
  7574. end;
  7575. var
  7576. _CreateICA: Pointer;
  7577. function CreateICA;
  7578. begin
  7579. GetProcedureAddress(_CreateICA, gdi32, 'CreateICA');
  7580. asm
  7581. MOV ESP, EBP
  7582. POP EBP
  7583. JMP [_CreateICA]
  7584. end;
  7585. end;
  7586. var
  7587. _CreateICW: Pointer;
  7588. function CreateICW;
  7589. begin
  7590. GetProcedureAddress(_CreateICW, gdi32, 'CreateICW');
  7591. asm
  7592. MOV ESP, EBP
  7593. POP EBP
  7594. JMP [_CreateICW]
  7595. end;
  7596. end;
  7597. var
  7598. _CreateIC: Pointer;
  7599. function CreateIC;
  7600. begin
  7601. GetProcedureAddress(_CreateIC, gdi32, 'CreateIC' + AWSuffix);
  7602. asm
  7603. MOV ESP, EBP
  7604. POP EBP
  7605. JMP [_CreateIC]
  7606. end;
  7607. end;
  7608. var
  7609. _CreateMetaFileA: Pointer;
  7610. function CreateMetaFileA;
  7611. begin
  7612. GetProcedureAddress(_CreateMetaFileA, gdi32, 'CreateMetaFileA');
  7613. asm
  7614. MOV ESP, EBP
  7615. POP EBP
  7616. JMP [_CreateMetaFileA]
  7617. end;
  7618. end;
  7619. var
  7620. _CreateMetaFileW: Pointer;
  7621. function CreateMetaFileW;
  7622. begin
  7623. GetProcedureAddress(_CreateMetaFileW, gdi32, 'CreateMetaFileW');
  7624. asm
  7625. MOV ESP, EBP
  7626. POP EBP
  7627. JMP [_CreateMetaFileW]
  7628. end;
  7629. end;
  7630. var
  7631. _CreateMetaFile: Pointer;
  7632. function CreateMetaFile;
  7633. begin
  7634. GetProcedureAddress(_CreateMetaFile, gdi32, 'CreateMetaFile' + AWSuffix);
  7635. asm
  7636. MOV ESP, EBP
  7637. POP EBP
  7638. JMP [_CreateMetaFile]
  7639. end;
  7640. end;
  7641. var
  7642. _CreatePalette: Pointer;
  7643. function CreatePalette;
  7644. begin
  7645. GetProcedureAddress(_CreatePalette, gdi32, 'CreatePalette');
  7646. asm
  7647. MOV ESP, EBP
  7648. POP EBP
  7649. JMP [_CreatePalette]
  7650. end;
  7651. end;
  7652. var
  7653. _CreatePen: Pointer;
  7654. function CreatePen;
  7655. begin
  7656. GetProcedureAddress(_CreatePen, gdi32, 'CreatePen');
  7657. asm
  7658. MOV ESP, EBP
  7659. POP EBP
  7660. JMP [_CreatePen]
  7661. end;
  7662. end;
  7663. var
  7664. _CreatePenIndirect: Pointer;
  7665. function CreatePenIndirect;
  7666. begin
  7667. GetProcedureAddress(_CreatePenIndirect, gdi32, 'CreatePenIndirect');
  7668. asm
  7669. MOV ESP, EBP
  7670. POP EBP
  7671. JMP [_CreatePenIndirect]
  7672. end;
  7673. end;
  7674. var
  7675. _CreatePolyPolygonRgn: Pointer;
  7676. function CreatePolyPolygonRgn;
  7677. begin
  7678. GetProcedureAddress(_CreatePolyPolygonRgn, gdi32, 'CreatePolyPolygonRgn');
  7679. asm
  7680. MOV ESP, EBP
  7681. POP EBP
  7682. JMP [_CreatePolyPolygonRgn]
  7683. end;
  7684. end;
  7685. var
  7686. _CreatePatternBrush: Pointer;
  7687. function CreatePatternBrush;
  7688. begin
  7689. GetProcedureAddress(_CreatePatternBrush, gdi32, 'CreatePatternBrush');
  7690. asm
  7691. MOV ESP, EBP
  7692. POP EBP
  7693. JMP [_CreatePatternBrush]
  7694. end;
  7695. end;
  7696. var
  7697. _CreateRectRgn: Pointer;
  7698. function CreateRectRgn;
  7699. begin
  7700. GetProcedureAddress(_CreateRectRgn, gdi32, 'CreateRectRgn');
  7701. asm
  7702. MOV ESP, EBP
  7703. POP EBP
  7704. JMP [_CreateRectRgn]
  7705. end;
  7706. end;
  7707. var
  7708. _CreateRectRgnIndirect: Pointer;
  7709. function CreateRectRgnIndirect;
  7710. begin
  7711. GetProcedureAddress(_CreateRectRgnIndirect, gdi32, 'CreateRectRgnIndirect');
  7712. asm
  7713. MOV ESP, EBP
  7714. POP EBP
  7715. JMP [_CreateRectRgnIndirect]
  7716. end;
  7717. end;
  7718. var
  7719. _CreateRoundRectRgn: Pointer;
  7720. function CreateRoundRectRgn;
  7721. begin
  7722. GetProcedureAddress(_CreateRoundRectRgn, gdi32, 'CreateRoundRectRgn');
  7723. asm
  7724. MOV ESP, EBP
  7725. POP EBP
  7726. JMP [_CreateRoundRectRgn]
  7727. end;
  7728. end;
  7729. var
  7730. _CreateScalableFontResourceA: Pointer;
  7731. function CreateScalableFontResourceA;
  7732. begin
  7733. GetProcedureAddress(_CreateScalableFontResourceA, gdi32, 'CreateScalableFontResourceA');
  7734. asm
  7735. MOV ESP, EBP
  7736. POP EBP
  7737. JMP [_CreateScalableFontResourceA]
  7738. end;
  7739. end;
  7740. var
  7741. _CreateScalableFontResourceW: Pointer;
  7742. function CreateScalableFontResourceW;
  7743. begin
  7744. GetProcedureAddress(_CreateScalableFontResourceW, gdi32, 'CreateScalableFontResourceW');
  7745. asm
  7746. MOV ESP, EBP
  7747. POP EBP
  7748. JMP [_CreateScalableFontResourceW]
  7749. end;
  7750. end;
  7751. var
  7752. _CreateScalableFontResource: Pointer;
  7753. function CreateScalableFontResource;
  7754. begin
  7755. GetProcedureAddress(_CreateScalableFontResource, gdi32, 'CreateScalableFontResource' + AWSuffix);
  7756. asm
  7757. MOV ESP, EBP
  7758. POP EBP
  7759. JMP [_CreateScalableFontResource]
  7760. end;
  7761. end;
  7762. var
  7763. _CreateSolidBrush: Pointer;
  7764. function CreateSolidBrush;
  7765. begin
  7766. GetProcedureAddress(_CreateSolidBrush, gdi32, 'CreateSolidBrush');
  7767. asm
  7768. MOV ESP, EBP
  7769. POP EBP
  7770. JMP [_CreateSolidBrush]
  7771. end;
  7772. end;
  7773. var
  7774. _DeleteDC: Pointer;
  7775. function DeleteDC;
  7776. begin
  7777. GetProcedureAddress(_DeleteDC, gdi32, 'DeleteDC');
  7778. asm
  7779. MOV ESP, EBP
  7780. POP EBP
  7781. JMP [_DeleteDC]
  7782. end;
  7783. end;
  7784. var
  7785. _DeleteMetaFile: Pointer;
  7786. function DeleteMetaFile;
  7787. begin
  7788. GetProcedureAddress(_DeleteMetaFile, gdi32, 'DeleteMetaFile');
  7789. asm
  7790. MOV ESP, EBP
  7791. POP EBP
  7792. JMP [_DeleteMetaFile]
  7793. end;
  7794. end;
  7795. var
  7796. _DeleteObject: Pointer;
  7797. function DeleteObject;
  7798. begin
  7799. GetProcedureAddress(_DeleteObject, gdi32, 'DeleteObject');
  7800. asm
  7801. MOV ESP, EBP
  7802. POP EBP
  7803. JMP [_DeleteObject]
  7804. end;
  7805. end;
  7806. var
  7807. _DescribePixelFormat: Pointer;
  7808. function DescribePixelFormat;
  7809. begin
  7810. GetProcedureAddress(_DescribePixelFormat, gdi32, 'DescribePixelFormat');
  7811. asm
  7812. MOV ESP, EBP
  7813. POP EBP
  7814. JMP [_DescribePixelFormat]
  7815. end;
  7816. end;
  7817. var
  7818. _DeviceCapabilitiesA: Pointer;
  7819. function DeviceCapabilitiesA;
  7820. begin
  7821. GetProcedureAddress(_DeviceCapabilitiesA, winspool32, 'DeviceCapabilitiesA');
  7822. asm
  7823. MOV ESP, EBP
  7824. POP EBP
  7825. JMP [_DeviceCapabilitiesA]
  7826. end;
  7827. end;
  7828. var
  7829. _DeviceCapabilitiesW: Pointer;
  7830. function DeviceCapabilitiesW;
  7831. begin
  7832. GetProcedureAddress(_DeviceCapabilitiesW, winspool32, 'DeviceCapabilitiesW');
  7833. asm
  7834. MOV ESP, EBP
  7835. POP EBP
  7836. JMP [_DeviceCapabilitiesW]
  7837. end;
  7838. end;
  7839. var
  7840. _DeviceCapabilities: Pointer;
  7841. function DeviceCapabilities;
  7842. begin
  7843. GetProcedureAddress(_DeviceCapabilities, winspool32, 'DeviceCapabilities' + AWSuffix);
  7844. asm
  7845. MOV ESP, EBP
  7846. POP EBP
  7847. JMP [_DeviceCapabilities]
  7848. end;
  7849. end;
  7850. var
  7851. _DrawEscape: Pointer;
  7852. function DrawEscape;
  7853. begin
  7854. GetProcedureAddress(_DrawEscape, gdi32, 'DrawEscape');
  7855. asm
  7856. MOV ESP, EBP
  7857. POP EBP
  7858. JMP [_DrawEscape]
  7859. end;
  7860. end;
  7861. var
  7862. _Ellipse: Pointer;
  7863. function Ellipse;
  7864. begin
  7865. GetProcedureAddress(_Ellipse, gdi32, 'Ellipse');
  7866. asm
  7867. MOV ESP, EBP
  7868. POP EBP
  7869. JMP [_Ellipse]
  7870. end;
  7871. end;
  7872. var
  7873. _EnumFontFamiliesExA: Pointer;
  7874. function EnumFontFamiliesExA;
  7875. begin
  7876. GetProcedureAddress(_EnumFontFamiliesExA, gdi32, 'EnumFontFamiliesExA');
  7877. asm
  7878. MOV ESP, EBP
  7879. POP EBP
  7880. JMP [_EnumFontFamiliesExA]
  7881. end;
  7882. end;
  7883. var
  7884. _EnumFontFamiliesExW: Pointer;
  7885. function EnumFontFamiliesExW;
  7886. begin
  7887. GetProcedureAddress(_EnumFontFamiliesExW, gdi32, 'EnumFontFamiliesExW');
  7888. asm
  7889. MOV ESP, EBP
  7890. POP EBP
  7891. JMP [_EnumFontFamiliesExW]
  7892. end;
  7893. end;
  7894. var
  7895. _EnumFontFamiliesEx: Pointer;
  7896. function EnumFontFamiliesEx;
  7897. begin
  7898. GetProcedureAddress(_EnumFontFamiliesEx, gdi32, 'EnumFontFamiliesEx' + AWSuffix);
  7899. asm
  7900. MOV ESP, EBP
  7901. POP EBP
  7902. JMP [_EnumFontFamiliesEx]
  7903. end;
  7904. end;
  7905. var
  7906. _EnumFontFamiliesA: Pointer;
  7907. function EnumFontFamiliesA;
  7908. begin
  7909. GetProcedureAddress(_EnumFontFamiliesA, gdi32, 'EnumFontFamiliesA');
  7910. asm
  7911. MOV ESP, EBP
  7912. POP EBP
  7913. JMP [_EnumFontFamiliesA]
  7914. end;
  7915. end;
  7916. var
  7917. _EnumFontFamiliesW: Pointer;
  7918. function EnumFontFamiliesW;
  7919. begin
  7920. GetProcedureAddress(_EnumFontFamiliesW, gdi32, 'EnumFontFamiliesW');
  7921. asm
  7922. MOV ESP, EBP
  7923. POP EBP
  7924. JMP [_EnumFontFamiliesW]
  7925. end;
  7926. end;
  7927. var
  7928. _EnumFontFamilies: Pointer;
  7929. function EnumFontFamilies;
  7930. begin
  7931. GetProcedureAddress(_EnumFontFamilies, gdi32, 'EnumFontFamilies' + AWSuffix);
  7932. asm
  7933. MOV ESP, EBP
  7934. POP EBP
  7935. JMP [_EnumFontFamilies]
  7936. end;
  7937. end;
  7938. var
  7939. _EnumFontsA: Pointer;
  7940. function EnumFontsA;
  7941. begin
  7942. GetProcedureAddress(_EnumFontsA, gdi32, 'EnumFontsA');
  7943. asm
  7944. MOV ESP, EBP
  7945. POP EBP
  7946. JMP [_EnumFontsA]
  7947. end;
  7948. end;
  7949. var
  7950. _EnumFontsW: Pointer;
  7951. function EnumFontsW;
  7952. begin
  7953. GetProcedureAddress(_EnumFontsW, gdi32, 'EnumFontsW');
  7954. asm
  7955. MOV ESP, EBP
  7956. POP EBP
  7957. JMP [_EnumFontsW]
  7958. end;
  7959. end;
  7960. var
  7961. _EnumFonts: Pointer;
  7962. function EnumFonts;
  7963. begin
  7964. GetProcedureAddress(_EnumFonts, gdi32, 'EnumFonts' + AWSuffix);
  7965. asm
  7966. MOV ESP, EBP
  7967. POP EBP
  7968. JMP [_EnumFonts]
  7969. end;
  7970. end;
  7971. var
  7972. _EnumObjects: Pointer;
  7973. function EnumObjects;
  7974. begin
  7975. GetProcedureAddress(_EnumObjects, gdi32, 'EnumObjects');
  7976. asm
  7977. MOV ESP, EBP
  7978. POP EBP
  7979. JMP [_EnumObjects]
  7980. end;
  7981. end;
  7982. var
  7983. _EqualRgn: Pointer;
  7984. function EqualRgn;
  7985. begin
  7986. GetProcedureAddress(_EqualRgn, gdi32, 'EqualRgn');
  7987. asm
  7988. MOV ESP, EBP
  7989. POP EBP
  7990. JMP [_EqualRgn]
  7991. end;
  7992. end;
  7993. var
  7994. _Escape: Pointer;
  7995. function Escape;
  7996. begin
  7997. GetProcedureAddress(_Escape, gdi32, 'Escape');
  7998. asm
  7999. MOV ESP, EBP
  8000. POP EBP
  8001. JMP [_Escape]
  8002. end;
  8003. end;
  8004. var
  8005. _ExtEscape: Pointer;
  8006. function ExtEscape;
  8007. begin
  8008. GetProcedureAddress(_ExtEscape, gdi32, 'ExtEscape');
  8009. asm
  8010. MOV ESP, EBP
  8011. POP EBP
  8012. JMP [_ExtEscape]
  8013. end;
  8014. end;
  8015. var
  8016. _ExcludeClipRect: Pointer;
  8017. function ExcludeClipRect;
  8018. begin
  8019. GetProcedureAddress(_ExcludeClipRect, gdi32, 'ExcludeClipRect');
  8020. asm
  8021. MOV ESP, EBP
  8022. POP EBP
  8023. JMP [_ExcludeClipRect]
  8024. end;
  8025. end;
  8026. var
  8027. _ExtCreateRegion: Pointer;
  8028. function ExtCreateRegion;
  8029. begin
  8030. GetProcedureAddress(_ExtCreateRegion, gdi32, 'ExtCreateRegion');
  8031. asm
  8032. MOV ESP, EBP
  8033. POP EBP
  8034. JMP [_ExtCreateRegion]
  8035. end;
  8036. end;
  8037. var
  8038. _ExtFloodFill: Pointer;
  8039. function ExtFloodFill;
  8040. begin
  8041. GetProcedureAddress(_ExtFloodFill, gdi32, 'ExtFloodFill');
  8042. asm
  8043. MOV ESP, EBP
  8044. POP EBP
  8045. JMP [_ExtFloodFill]
  8046. end;
  8047. end;
  8048. var
  8049. _FillRgn: Pointer;
  8050. function FillRgn;
  8051. begin
  8052. GetProcedureAddress(_FillRgn, gdi32, 'FillRgn');
  8053. asm
  8054. MOV ESP, EBP
  8055. POP EBP
  8056. JMP [_FillRgn]
  8057. end;
  8058. end;
  8059. var
  8060. _FloodFill: Pointer;
  8061. function FloodFill;
  8062. begin
  8063. GetProcedureAddress(_FloodFill, gdi32, 'FloodFill');
  8064. asm
  8065. MOV ESP, EBP
  8066. POP EBP
  8067. JMP [_FloodFill]
  8068. end;
  8069. end;
  8070. var
  8071. _FrameRgn: Pointer;
  8072. function FrameRgn;
  8073. begin
  8074. GetProcedureAddress(_FrameRgn, gdi32, 'FrameRgn');
  8075. asm
  8076. MOV ESP, EBP
  8077. POP EBP
  8078. JMP [_FrameRgn]
  8079. end;
  8080. end;
  8081. var
  8082. _GetROP2: Pointer;
  8083. function GetROP2;
  8084. begin
  8085. GetProcedureAddress(_GetROP2, gdi32, 'GetROP2');
  8086. asm
  8087. MOV ESP, EBP
  8088. POP EBP
  8089. JMP [_GetROP2]
  8090. end;
  8091. end;
  8092. var
  8093. _GetAspectRatioFilterEx: Pointer;
  8094. function GetAspectRatioFilterEx;
  8095. begin
  8096. GetProcedureAddress(_GetAspectRatioFilterEx, gdi32, 'GetAspectRatioFilterEx');
  8097. asm
  8098. MOV ESP, EBP
  8099. POP EBP
  8100. JMP [_GetAspectRatioFilterEx]
  8101. end;
  8102. end;
  8103. var
  8104. _GetBkColor: Pointer;
  8105. function GetBkColor;
  8106. begin
  8107. GetProcedureAddress(_GetBkColor, gdi32, 'GetBkColor');
  8108. asm
  8109. MOV ESP, EBP
  8110. POP EBP
  8111. JMP [_GetBkColor]
  8112. end;
  8113. end;
  8114. var
  8115. _GetDCBrushColor: Pointer;
  8116. function GetDCBrushColor;
  8117. begin
  8118. GetProcedureAddress(_GetDCBrushColor, gdi32, 'GetDCBrushColor');
  8119. asm
  8120. MOV ESP, EBP
  8121. POP EBP
  8122. JMP [_GetDCBrushColor]
  8123. end;
  8124. end;
  8125. var
  8126. _GetDCPenColor: Pointer;
  8127. function GetDCPenColor;
  8128. begin
  8129. GetProcedureAddress(_GetDCPenColor, gdi32, 'GetDCPenColor');
  8130. asm
  8131. MOV ESP, EBP
  8132. POP EBP
  8133. JMP [_GetDCPenColor]
  8134. end;
  8135. end;
  8136. var
  8137. _GetBkMode: Pointer;
  8138. function GetBkMode;
  8139. begin
  8140. GetProcedureAddress(_GetBkMode, gdi32, 'GetBkMode');
  8141. asm
  8142. MOV ESP, EBP
  8143. POP EBP
  8144. JMP [_GetBkMode]
  8145. end;
  8146. end;
  8147. var
  8148. _GetBitmapBits: Pointer;
  8149. function GetBitmapBits;
  8150. begin
  8151. GetProcedureAddress(_GetBitmapBits, gdi32, 'GetBitmapBits');
  8152. asm
  8153. MOV ESP, EBP
  8154. POP EBP
  8155. JMP [_GetBitmapBits]
  8156. end;
  8157. end;
  8158. var
  8159. _GetBitmapDimensionEx: Pointer;
  8160. function GetBitmapDimensionEx;
  8161. begin
  8162. GetProcedureAddress(_GetBitmapDimensionEx, gdi32, 'GetBitmapDimensionEx');
  8163. asm
  8164. MOV ESP, EBP
  8165. POP EBP
  8166. JMP [_GetBitmapDimensionEx]
  8167. end;
  8168. end;
  8169. var
  8170. _GetBoundsRect: Pointer;
  8171. function GetBoundsRect;
  8172. begin
  8173. GetProcedureAddress(_GetBoundsRect, gdi32, 'GetBoundsRect');
  8174. asm
  8175. MOV ESP, EBP
  8176. POP EBP
  8177. JMP [_GetBoundsRect]
  8178. end;
  8179. end;
  8180. var
  8181. _GetBrushOrgEx: Pointer;
  8182. function GetBrushOrgEx;
  8183. begin
  8184. GetProcedureAddress(_GetBrushOrgEx, gdi32, 'GetBrushOrgEx');
  8185. asm
  8186. MOV ESP, EBP
  8187. POP EBP
  8188. JMP [_GetBrushOrgEx]
  8189. end;
  8190. end;
  8191. var
  8192. _GetCharWidthA: Pointer;
  8193. function GetCharWidthA;
  8194. begin
  8195. GetProcedureAddress(_GetCharWidthA, gdi32, 'GetCharWidthA');
  8196. asm
  8197. MOV ESP, EBP
  8198. POP EBP
  8199. JMP [_GetCharWidthA]
  8200. end;
  8201. end;
  8202. var
  8203. _GetCharWidthW: Pointer;
  8204. function GetCharWidthW;
  8205. begin
  8206. GetProcedureAddress(_GetCharWidthW, gdi32, 'GetCharWidthW');
  8207. asm
  8208. MOV ESP, EBP
  8209. POP EBP
  8210. JMP [_GetCharWidthW]
  8211. end;
  8212. end;
  8213. var
  8214. _GetCharWidth: Pointer;
  8215. function GetCharWidth;
  8216. begin
  8217. GetProcedureAddress(_GetCharWidth, gdi32, 'GetCharWidth' + AWSuffix);
  8218. asm
  8219. MOV ESP, EBP
  8220. POP EBP
  8221. JMP [_GetCharWidth]
  8222. end;
  8223. end;
  8224. var
  8225. _GetCharWidth32A: Pointer;
  8226. function GetCharWidth32A;
  8227. begin
  8228. GetProcedureAddress(_GetCharWidth32A, gdi32, 'GetCharWidth32A');
  8229. asm
  8230. MOV ESP, EBP
  8231. POP EBP
  8232. JMP [_GetCharWidth32A]
  8233. end;
  8234. end;
  8235. var
  8236. _GetCharWidth32W: Pointer;
  8237. function GetCharWidth32W;
  8238. begin
  8239. GetProcedureAddress(_GetCharWidth32W, gdi32, 'GetCharWidth32W');
  8240. asm
  8241. MOV ESP, EBP
  8242. POP EBP
  8243. JMP [_GetCharWidth32W]
  8244. end;
  8245. end;
  8246. var
  8247. _GetCharWidth32: Pointer;
  8248. function GetCharWidth32;
  8249. begin
  8250. GetProcedureAddress(_GetCharWidth32, gdi32, 'GetCharWidth32' + AWSuffix);
  8251. asm
  8252. MOV ESP, EBP
  8253. POP EBP
  8254. JMP [_GetCharWidth32]
  8255. end;
  8256. end;
  8257. var
  8258. _GetCharWidthFloatA: Pointer;
  8259. function GetCharWidthFloatA;
  8260. begin
  8261. GetProcedureAddress(_GetCharWidthFloatA, gdi32, 'GetCharWidthFloatA');
  8262. asm
  8263. MOV ESP, EBP
  8264. POP EBP
  8265. JMP [_GetCharWidthFloatA]
  8266. end;
  8267. end;
  8268. var
  8269. _GetCharWidthFloatW: Pointer;
  8270. function GetCharWidthFloatW;
  8271. begin
  8272. GetProcedureAddress(_GetCharWidthFloatW, gdi32, 'GetCharWidthFloatW');
  8273. asm
  8274. MOV ESP, EBP
  8275. POP EBP
  8276. JMP [_GetCharWidthFloatW]
  8277. end;
  8278. end;
  8279. var
  8280. _GetCharWidthFloat: Pointer;
  8281. function GetCharWidthFloat;
  8282. begin
  8283. GetProcedureAddress(_GetCharWidthFloat, gdi32, 'GetCharWidthFloat' + AWSuffix);
  8284. asm
  8285. MOV ESP, EBP
  8286. POP EBP
  8287. JMP [_GetCharWidthFloat]
  8288. end;
  8289. end;
  8290. var
  8291. _GetCharABCWidthsA: Pointer;
  8292. function GetCharABCWidthsA;
  8293. begin
  8294. GetProcedureAddress(_GetCharABCWidthsA, gdi32, 'GetCharABCWidthsA');
  8295. asm
  8296. MOV ESP, EBP
  8297. POP EBP
  8298. JMP [_GetCharABCWidthsA]
  8299. end;
  8300. end;
  8301. var
  8302. _GetCharABCWidthsW: Pointer;
  8303. function GetCharABCWidthsW;
  8304. begin
  8305. GetProcedureAddress(_GetCharABCWidthsW, gdi32, 'GetCharABCWidthsW');
  8306. asm
  8307. MOV ESP, EBP
  8308. POP EBP
  8309. JMP [_GetCharABCWidthsW]
  8310. end;
  8311. end;
  8312. var
  8313. _GetCharABCWidths: Pointer;
  8314. function GetCharABCWidths;
  8315. begin
  8316. GetProcedureAddress(_GetCharABCWidths, gdi32, 'GetCharABCWidths' + AWSuffix);
  8317. asm
  8318. MOV ESP, EBP
  8319. POP EBP
  8320. JMP [_GetCharABCWidths]
  8321. end;
  8322. end;
  8323. var
  8324. _GetCharABCWidthsFloatA: Pointer;
  8325. function GetCharABCWidthsFloatA;
  8326. begin
  8327. GetProcedureAddress(_GetCharABCWidthsFloatA, gdi32, 'GetCharABCWidthsFloatA');
  8328. asm
  8329. MOV ESP, EBP
  8330. POP EBP
  8331. JMP [_GetCharABCWidthsFloatA]
  8332. end;
  8333. end;
  8334. var
  8335. _GetCharABCWidthsFloatW: Pointer;
  8336. function GetCharABCWidthsFloatW;
  8337. begin
  8338. GetProcedureAddress(_GetCharABCWidthsFloatW, gdi32, 'GetCharABCWidthsFloatW');
  8339. asm
  8340. MOV ESP, EBP
  8341. POP EBP
  8342. JMP [_GetCharABCWidthsFloatW]
  8343. end;
  8344. end;
  8345. var
  8346. _GetCharABCWidthsFloat: Pointer;
  8347. function GetCharABCWidthsFloat;
  8348. begin
  8349. GetProcedureAddress(_GetCharABCWidthsFloat, gdi32, 'GetCharABCWidthsFloat' + AWSuffix);
  8350. asm
  8351. MOV ESP, EBP
  8352. POP EBP
  8353. JMP [_GetCharABCWidthsFloat]
  8354. end;
  8355. end;
  8356. var
  8357. _GetClipBox: Pointer;
  8358. function GetClipBox;
  8359. begin
  8360. GetProcedureAddress(_GetClipBox, gdi32, 'GetClipBox');
  8361. asm
  8362. MOV ESP, EBP
  8363. POP EBP
  8364. JMP [_GetClipBox]
  8365. end;
  8366. end;
  8367. var
  8368. _GetClipRgn: Pointer;
  8369. function GetClipRgn;
  8370. begin
  8371. GetProcedureAddress(_GetClipRgn, gdi32, 'GetClipRgn');
  8372. asm
  8373. MOV ESP, EBP
  8374. POP EBP
  8375. JMP [_GetClipRgn]
  8376. end;
  8377. end;
  8378. var
  8379. _GetMetaRgn: Pointer;
  8380. function GetMetaRgn;
  8381. begin
  8382. GetProcedureAddress(_GetMetaRgn, gdi32, 'GetMetaRgn');
  8383. asm
  8384. MOV ESP, EBP
  8385. POP EBP
  8386. JMP [_GetMetaRgn]
  8387. end;
  8388. end;
  8389. var
  8390. _GetCurrentObject: Pointer;
  8391. function GetCurrentObject;
  8392. begin
  8393. GetProcedureAddress(_GetCurrentObject, gdi32, 'GetCurrentObject');
  8394. asm
  8395. MOV ESP, EBP
  8396. POP EBP
  8397. JMP [_GetCurrentObject]
  8398. end;
  8399. end;
  8400. var
  8401. _GetCurrentPositionEx: Pointer;
  8402. function GetCurrentPositionEx;
  8403. begin
  8404. GetProcedureAddress(_GetCurrentPositionEx, gdi32, 'GetCurrentPositionEx');
  8405. asm
  8406. MOV ESP, EBP
  8407. POP EBP
  8408. JMP [_GetCurrentPositionEx]
  8409. end;
  8410. end;
  8411. var
  8412. _GetDeviceCaps: Pointer;
  8413. function GetDeviceCaps;
  8414. begin
  8415. GetProcedureAddress(_GetDeviceCaps, gdi32, 'GetDeviceCaps');
  8416. asm
  8417. MOV ESP, EBP
  8418. POP EBP
  8419. JMP [_GetDeviceCaps]
  8420. end;
  8421. end;
  8422. var
  8423. _GetDIBits: Pointer;
  8424. function GetDIBits;
  8425. begin
  8426. GetProcedureAddress(_GetDIBits, gdi32, 'GetDIBits');
  8427. asm
  8428. MOV ESP, EBP
  8429. POP EBP
  8430. JMP [_GetDIBits]
  8431. end;
  8432. end;
  8433. var
  8434. _GetFontData: Pointer;
  8435. function GetFontData;
  8436. begin
  8437. GetProcedureAddress(_GetFontData, gdi32, 'GetFontData');
  8438. asm
  8439. MOV ESP, EBP
  8440. POP EBP
  8441. JMP [_GetFontData]
  8442. end;
  8443. end;
  8444. var
  8445. _GetGlyphOutlineA: Pointer;
  8446. function GetGlyphOutlineA;
  8447. begin
  8448. GetProcedureAddress(_GetGlyphOutlineA, gdi32, 'GetGlyphOutlineA');
  8449. asm
  8450. MOV ESP, EBP
  8451. POP EBP
  8452. JMP [_GetGlyphOutlineA]
  8453. end;
  8454. end;
  8455. var
  8456. _GetGlyphOutlineW: Pointer;
  8457. function GetGlyphOutlineW;
  8458. begin
  8459. GetProcedureAddress(_GetGlyphOutlineW, gdi32, 'GetGlyphOutlineW');
  8460. asm
  8461. MOV ESP, EBP
  8462. POP EBP
  8463. JMP [_GetGlyphOutlineW]
  8464. end;
  8465. end;
  8466. var
  8467. _GetGlyphOutline: Pointer;
  8468. function GetGlyphOutline;
  8469. begin
  8470. GetProcedureAddress(_GetGlyphOutline, gdi32, 'GetGlyphOutline' + AWSuffix);
  8471. asm
  8472. MOV ESP, EBP
  8473. POP EBP
  8474. JMP [_GetGlyphOutline]
  8475. end;
  8476. end;
  8477. var
  8478. _GetGraphicsMode: Pointer;
  8479. function GetGraphicsMode;
  8480. begin
  8481. GetProcedureAddress(_GetGraphicsMode, gdi32, 'GetGraphicsMode');
  8482. asm
  8483. MOV ESP, EBP
  8484. POP EBP
  8485. JMP [_GetGraphicsMode]
  8486. end;
  8487. end;
  8488. var
  8489. _GetMapMode: Pointer;
  8490. function GetMapMode;
  8491. begin
  8492. GetProcedureAddress(_GetMapMode, gdi32, 'GetMapMode');
  8493. asm
  8494. MOV ESP, EBP
  8495. POP EBP
  8496. JMP [_GetMapMode]
  8497. end;
  8498. end;
  8499. var
  8500. _GetMetaFileBitsEx: Pointer;
  8501. function GetMetaFileBitsEx;
  8502. begin
  8503. GetProcedureAddress(_GetMetaFileBitsEx, gdi32, 'GetMetaFileBitsEx');
  8504. asm
  8505. MOV ESP, EBP
  8506. POP EBP
  8507. JMP [_GetMetaFileBitsEx]
  8508. end;
  8509. end;
  8510. var
  8511. _GetMetaFileA: Pointer;
  8512. function GetMetaFileA;
  8513. begin
  8514. GetProcedureAddress(_GetMetaFileA, gdi32, 'GetMetaFileA');
  8515. asm
  8516. MOV ESP, EBP
  8517. POP EBP
  8518. JMP [_GetMetaFileA]
  8519. end;
  8520. end;
  8521. var
  8522. _GetMetaFileW: Pointer;
  8523. function GetMetaFileW;
  8524. begin
  8525. GetProcedureAddress(_GetMetaFileW, gdi32, 'GetMetaFileW');
  8526. asm
  8527. MOV ESP, EBP
  8528. POP EBP
  8529. JMP [_GetMetaFileW]
  8530. end;
  8531. end;
  8532. var
  8533. _GetMetaFile: Pointer;
  8534. function GetMetaFile;
  8535. begin
  8536. GetProcedureAddress(_GetMetaFile, gdi32, 'GetMetaFile' + AWSuffix);
  8537. asm
  8538. MOV ESP, EBP
  8539. POP EBP
  8540. JMP [_GetMetaFile]
  8541. end;
  8542. end;
  8543. var
  8544. _GetNearestColor: Pointer;
  8545. function GetNearestColor;
  8546. begin
  8547. GetProcedureAddress(_GetNearestColor, gdi32, 'GetNearestColor');
  8548. asm
  8549. MOV ESP, EBP
  8550. POP EBP
  8551. JMP [_GetNearestColor]
  8552. end;
  8553. end;
  8554. var
  8555. _GetNearestPaletteIndex: Pointer;
  8556. function GetNearestPaletteIndex;
  8557. begin
  8558. GetProcedureAddress(_GetNearestPaletteIndex, gdi32, 'GetNearestPaletteIndex');
  8559. asm
  8560. MOV ESP, EBP
  8561. POP EBP
  8562. JMP [_GetNearestPaletteIndex]
  8563. end;
  8564. end;
  8565. var
  8566. _GetObjectType: Pointer;
  8567. function GetObjectType;
  8568. begin
  8569. GetProcedureAddress(_GetObjectType, gdi32, 'GetObjectType');
  8570. asm
  8571. MOV ESP, EBP
  8572. POP EBP
  8573. JMP [_GetObjectType]
  8574. end;
  8575. end;
  8576. var
  8577. _GetOutlineTextMetricsA: Pointer;
  8578. function GetOutlineTextMetricsA;
  8579. begin
  8580. GetProcedureAddress(_GetOutlineTextMetricsA, gdi32, 'GetOutlineTextMetricsA');
  8581. asm
  8582. MOV ESP, EBP
  8583. POP EBP
  8584. JMP [_GetOutlineTextMetricsA]
  8585. end;
  8586. end;
  8587. var
  8588. _GetOutlineTextMetricsW: Pointer;
  8589. function GetOutlineTextMetricsW;
  8590. begin
  8591. GetProcedureAddress(_GetOutlineTextMetricsW, gdi32, 'GetOutlineTextMetricsW');
  8592. asm
  8593. MOV ESP, EBP
  8594. POP EBP
  8595. JMP [_GetOutlineTextMetricsW]
  8596. end;
  8597. end;
  8598. var
  8599. _GetOutlineTextMetrics: Pointer;
  8600. function GetOutlineTextMetrics;
  8601. begin
  8602. GetProcedureAddress(_GetOutlineTextMetrics, gdi32, 'GetOutlineTextMetrics' + AWSuffix);
  8603. asm
  8604. MOV ESP, EBP
  8605. POP EBP
  8606. JMP [_GetOutlineTextMetrics]
  8607. end;
  8608. end;
  8609. var
  8610. _GetPaletteEntries: Pointer;
  8611. function GetPaletteEntries;
  8612. begin
  8613. GetProcedureAddress(_GetPaletteEntries, gdi32, 'GetPaletteEntries');
  8614. asm
  8615. MOV ESP, EBP
  8616. POP EBP
  8617. JMP [_GetPaletteEntries]
  8618. end;
  8619. end;
  8620. var
  8621. _GetPixel: Pointer;
  8622. function GetPixel;
  8623. begin
  8624. GetProcedureAddress(_GetPixel, gdi32, 'GetPixel');
  8625. asm
  8626. MOV ESP, EBP
  8627. POP EBP
  8628. JMP [_GetPixel]
  8629. end;
  8630. end;
  8631. var
  8632. _GetPixelFormat: Pointer;
  8633. function GetPixelFormat;
  8634. begin
  8635. GetProcedureAddress(_GetPixelFormat, gdi32, 'GetPixelFormat');
  8636. asm
  8637. MOV ESP, EBP
  8638. POP EBP
  8639. JMP [_GetPixelFormat]
  8640. end;
  8641. end;
  8642. var
  8643. _GetPolyFillMode: Pointer;
  8644. function GetPolyFillMode;
  8645. begin
  8646. GetProcedureAddress(_GetPolyFillMode, gdi32, 'GetPolyFillMode');
  8647. asm
  8648. MOV ESP, EBP
  8649. POP EBP
  8650. JMP [_GetPolyFillMode]
  8651. end;
  8652. end;
  8653. var
  8654. _GetRasterizerCaps: Pointer;
  8655. function GetRasterizerCaps;
  8656. begin
  8657. GetProcedureAddress(_GetRasterizerCaps, gdi32, 'GetRasterizerCaps');
  8658. asm
  8659. MOV ESP, EBP
  8660. POP EBP
  8661. JMP [_GetRasterizerCaps]
  8662. end;
  8663. end;
  8664. var
  8665. _GetRandomRgn: Pointer;
  8666. function GetRandomRgn;
  8667. begin
  8668. GetProcedureAddress(_GetRandomRgn, gdi32, 'GetRandomRgn');
  8669. asm
  8670. MOV ESP, EBP
  8671. POP EBP
  8672. JMP [_GetRandomRgn]
  8673. end;
  8674. end;
  8675. var
  8676. _GetRegionData: Pointer;
  8677. function GetRegionData;
  8678. begin
  8679. GetProcedureAddress(_GetRegionData, gdi32, 'GetRegionData');
  8680. asm
  8681. MOV ESP, EBP
  8682. POP EBP
  8683. JMP [_GetRegionData]
  8684. end;
  8685. end;
  8686. var
  8687. _GetRgnBox: Pointer;
  8688. function GetRgnBox;
  8689. begin
  8690. GetProcedureAddress(_GetRgnBox, gdi32, 'GetRgnBox');
  8691. asm
  8692. MOV ESP, EBP
  8693. POP EBP
  8694. JMP [_GetRgnBox]
  8695. end;
  8696. end;
  8697. var
  8698. _GetStockObject: Pointer;
  8699. function GetStockObject;
  8700. begin
  8701. GetProcedureAddress(_GetStockObject, gdi32, 'GetStockObject');
  8702. asm
  8703. MOV ESP, EBP
  8704. POP EBP
  8705. JMP [_GetStockObject]
  8706. end;
  8707. end;
  8708. var
  8709. _GetStretchBltMode: Pointer;
  8710. function GetStretchBltMode;
  8711. begin
  8712. GetProcedureAddress(_GetStretchBltMode, gdi32, 'GetStretchBltMode');
  8713. asm
  8714. MOV ESP, EBP
  8715. POP EBP
  8716. JMP [_GetStretchBltMode]
  8717. end;
  8718. end;
  8719. var
  8720. _GetSystemPaletteEntries: Pointer;
  8721. function GetSystemPaletteEntries;
  8722. begin
  8723. GetProcedureAddress(_GetSystemPaletteEntries, gdi32, 'GetSystemPaletteEntries');
  8724. asm
  8725. MOV ESP, EBP
  8726. POP EBP
  8727. JMP [_GetSystemPaletteEntries]
  8728. end;
  8729. end;
  8730. var
  8731. _GetSystemPaletteUse: Pointer;
  8732. function GetSystemPaletteUse;
  8733. begin
  8734. GetProcedureAddress(_GetSystemPaletteUse, gdi32, 'GetSystemPaletteUse');
  8735. asm
  8736. MOV ESP, EBP
  8737. POP EBP
  8738. JMP [_GetSystemPaletteUse]
  8739. end;
  8740. end;
  8741. var
  8742. _GetTextCharacterExtra: Pointer;
  8743. function GetTextCharacterExtra;
  8744. begin
  8745. GetProcedureAddress(_GetTextCharacterExtra, gdi32, 'GetTextCharacterExtra');
  8746. asm
  8747. MOV ESP, EBP
  8748. POP EBP
  8749. JMP [_GetTextCharacterExtra]
  8750. end;
  8751. end;
  8752. var
  8753. _GetTextAlign: Pointer;
  8754. function GetTextAlign;
  8755. begin
  8756. GetProcedureAddress(_GetTextAlign, gdi32, 'GetTextAlign');
  8757. asm
  8758. MOV ESP, EBP
  8759. POP EBP
  8760. JMP [_GetTextAlign]
  8761. end;
  8762. end;
  8763. var
  8764. _GetTextColor: Pointer;
  8765. function GetTextColor;
  8766. begin
  8767. GetProcedureAddress(_GetTextColor, gdi32, 'GetTextColor');
  8768. asm
  8769. MOV ESP, EBP
  8770. POP EBP
  8771. JMP [_GetTextColor]
  8772. end;
  8773. end;
  8774. var
  8775. _GetTextExtentPointA: Pointer;
  8776. function GetTextExtentPointA;
  8777. begin
  8778. GetProcedureAddress(_GetTextExtentPointA, gdi32, 'GetTextExtentPointA');
  8779. asm
  8780. MOV ESP, EBP
  8781. POP EBP
  8782. JMP [_GetTextExtentPointA]
  8783. end;
  8784. end;
  8785. var
  8786. _GetTextExtentPointW: Pointer;
  8787. function GetTextExtentPointW;
  8788. begin
  8789. GetProcedureAddress(_GetTextExtentPointW, gdi32, 'GetTextExtentPointW');
  8790. asm
  8791. MOV ESP, EBP
  8792. POP EBP
  8793. JMP [_GetTextExtentPointW]
  8794. end;
  8795. end;
  8796. var
  8797. _GetTextExtentPoint: Pointer;
  8798. function GetTextExtentPoint;
  8799. begin
  8800. GetProcedureAddress(_GetTextExtentPoint, gdi32, 'GetTextExtentPoint' + AWSuffix);
  8801. asm
  8802. MOV ESP, EBP
  8803. POP EBP
  8804. JMP [_GetTextExtentPoint]
  8805. end;
  8806. end;
  8807. var
  8808. _GetTextExtentPoint32A: Pointer;
  8809. function GetTextExtentPoint32A;
  8810. begin
  8811. GetProcedureAddress(_GetTextExtentPoint32A, gdi32, 'GetTextExtentPoint32A');
  8812. asm
  8813. MOV ESP, EBP
  8814. POP EBP
  8815. JMP [_GetTextExtentPoint32A]
  8816. end;
  8817. end;
  8818. var
  8819. _GetTextExtentPoint32W: Pointer;
  8820. function GetTextExtentPoint32W;
  8821. begin
  8822. GetProcedureAddress(_GetTextExtentPoint32W, gdi32, 'GetTextExtentPoint32W');
  8823. asm
  8824. MOV ESP, EBP
  8825. POP EBP
  8826. JMP [_GetTextExtentPoint32W]
  8827. end;
  8828. end;
  8829. var
  8830. _GetTextExtentPoint32: Pointer;
  8831. function GetTextExtentPoint32;
  8832. begin
  8833. GetProcedureAddress(_GetTextExtentPoint32, gdi32, 'GetTextExtentPoint32' + AWSuffix);
  8834. asm
  8835. MOV ESP, EBP
  8836. POP EBP
  8837. JMP [_GetTextExtentPoint32]
  8838. end;
  8839. end;
  8840. var
  8841. _GetTextExtentExPointA: Pointer;
  8842. function GetTextExtentExPointA;
  8843. begin
  8844. GetProcedureAddress(_GetTextExtentExPointA, gdi32, 'GetTextExtentExPointA');
  8845. asm
  8846. MOV ESP, EBP
  8847. POP EBP
  8848. JMP [_GetTextExtentExPointA]
  8849. end;
  8850. end;
  8851. var
  8852. _GetTextExtentExPointW: Pointer;
  8853. function GetTextExtentExPointW;
  8854. begin
  8855. GetProcedureAddress(_GetTextExtentExPointW, gdi32, 'GetTextExtentExPointW');
  8856. asm
  8857. MOV ESP, EBP
  8858. POP EBP
  8859. JMP [_GetTextExtentExPointW]
  8860. end;
  8861. end;
  8862. var
  8863. _GetTextExtentExPoint: Pointer;
  8864. function GetTextExtentExPoint;
  8865. begin
  8866. GetProcedureAddress(_GetTextExtentExPoint, gdi32, 'GetTextExtentExPoint' + AWSuffix);
  8867. asm
  8868. MOV ESP, EBP
  8869. POP EBP
  8870. JMP [_GetTextExtentExPoint]
  8871. end;
  8872. end;
  8873. var
  8874. _GetTextCharset: Pointer;
  8875. function GetTextCharset;
  8876. begin
  8877. GetProcedureAddress(_GetTextCharset, gdi32, 'GetTextCharset');
  8878. asm
  8879. MOV ESP, EBP
  8880. POP EBP
  8881. JMP [_GetTextCharset]
  8882. end;
  8883. end;
  8884. var
  8885. _GetTextCharsetInfo: Pointer;
  8886. function GetTextCharsetInfo;
  8887. begin
  8888. GetProcedureAddress(_GetTextCharsetInfo, gdi32, 'GetTextCharsetInfo');
  8889. asm
  8890. MOV ESP, EBP
  8891. POP EBP
  8892. JMP [_GetTextCharsetInfo]
  8893. end;
  8894. end;
  8895. var
  8896. _TranslateCharsetInfo: Pointer;
  8897. function TranslateCharsetInfo;
  8898. begin
  8899. GetProcedureAddress(_TranslateCharsetInfo, gdi32, 'TranslateCharsetInfo');
  8900. asm
  8901. MOV ESP, EBP
  8902. POP EBP
  8903. JMP [_TranslateCharsetInfo]
  8904. end;
  8905. end;
  8906. var
  8907. _GetFontLanguageInfo: Pointer;
  8908. function GetFontLanguageInfo;
  8909. begin
  8910. GetProcedureAddress(_GetFontLanguageInfo, gdi32, 'GetFontLanguageInfo');
  8911. asm
  8912. MOV ESP, EBP
  8913. POP EBP
  8914. JMP [_GetFontLanguageInfo]
  8915. end;
  8916. end;
  8917. var
  8918. _GetCharacterPlacementA: Pointer;
  8919. function GetCharacterPlacementA;
  8920. begin
  8921. GetProcedureAddress(_GetCharacterPlacementA, gdi32, 'GetCharacterPlacementA');
  8922. asm
  8923. MOV ESP, EBP
  8924. POP EBP
  8925. JMP [_GetCharacterPlacementA]
  8926. end;
  8927. end;
  8928. var
  8929. _GetCharacterPlacementW: Pointer;
  8930. function GetCharacterPlacementW;
  8931. begin
  8932. GetProcedureAddress(_GetCharacterPlacementW, gdi32, 'GetCharacterPlacementW');
  8933. asm
  8934. MOV ESP, EBP
  8935. POP EBP
  8936. JMP [_GetCharacterPlacementW]
  8937. end;
  8938. end;
  8939. var
  8940. _GetCharacterPlacement: Pointer;
  8941. function GetCharacterPlacement;
  8942. begin
  8943. GetProcedureAddress(_GetCharacterPlacement, gdi32, 'GetCharacterPlacement' + AWSuffix);
  8944. asm
  8945. MOV ESP, EBP
  8946. POP EBP
  8947. JMP [_GetCharacterPlacement]
  8948. end;
  8949. end;
  8950. var
  8951. _GetFontUnicodeRanges: Pointer;
  8952. function GetFontUnicodeRanges;
  8953. begin
  8954. GetProcedureAddress(_GetFontUnicodeRanges, gdi32, 'GetFontUnicodeRanges');
  8955. asm
  8956. MOV ESP, EBP
  8957. POP EBP
  8958. JMP [_GetFontUnicodeRanges]
  8959. end;
  8960. end;
  8961. var
  8962. _GetGlyphIndicesA: Pointer;
  8963. function GetGlyphIndicesA;
  8964. begin
  8965. GetProcedureAddress(_GetGlyphIndicesA, gdi32, 'GetGlyphIndicesA');
  8966. asm
  8967. MOV ESP, EBP
  8968. POP EBP
  8969. JMP [_GetGlyphIndicesA]
  8970. end;
  8971. end;
  8972. var
  8973. _GetGlyphIndicesW: Pointer;
  8974. function GetGlyphIndicesW;
  8975. begin
  8976. GetProcedureAddress(_GetGlyphIndicesW, gdi32, 'GetGlyphIndicesW');
  8977. asm
  8978. MOV ESP, EBP
  8979. POP EBP
  8980. JMP [_GetGlyphIndicesW]
  8981. end;
  8982. end;
  8983. var
  8984. _GetGlyphIndices: Pointer;
  8985. function GetGlyphIndices;
  8986. begin
  8987. GetProcedureAddress(_GetGlyphIndices, gdi32, 'GetGlyphIndices' + AWSuffix);
  8988. asm
  8989. MOV ESP, EBP
  8990. POP EBP
  8991. JMP [_GetGlyphIndices]
  8992. end;
  8993. end;
  8994. var
  8995. _GetTextExtentPointI: Pointer;
  8996. function GetTextExtentPointI;
  8997. begin
  8998. GetProcedureAddress(_GetTextExtentPointI, gdi32, 'GetTextExtentPointI');
  8999. asm
  9000. MOV ESP, EBP
  9001. POP EBP
  9002. JMP [_GetTextExtentPointI]
  9003. end;
  9004. end;
  9005. var
  9006. _GetTextExtentExPointI: Pointer;
  9007. function GetTextExtentExPointI;
  9008. begin
  9009. GetProcedureAddress(_GetTextExtentExPointI, gdi32, 'GetTextExtentExPointI');
  9010. asm
  9011. MOV ESP, EBP
  9012. POP EBP
  9013. JMP [_GetTextExtentExPointI]
  9014. end;
  9015. end;
  9016. var
  9017. _GetCharWidthI: Pointer;
  9018. function GetCharWidthI;
  9019. begin
  9020. GetProcedureAddress(_GetCharWidthI, gdi32, 'GetCharWidthI');
  9021. asm
  9022. MOV ESP, EBP
  9023. POP EBP
  9024. JMP [_GetCharWidthI]
  9025. end;
  9026. end;
  9027. var
  9028. _GetCharABCWidthsI: Pointer;
  9029. function GetCharABCWidthsI;
  9030. begin
  9031. GetProcedureAddress(_GetCharABCWidthsI, gdi32, 'GetCharABCWidthsI');
  9032. asm
  9033. MOV ESP, EBP
  9034. POP EBP
  9035. JMP [_GetCharABCWidthsI]
  9036. end;
  9037. end;
  9038. var
  9039. _AddFontResourceExA: Pointer;
  9040. function AddFontResourceExA;
  9041. begin
  9042. GetProcedureAddress(_AddFontResourceExA, gdi32, 'AddFontResourceExA');
  9043. asm
  9044. MOV ESP, EBP
  9045. POP EBP
  9046. JMP [_AddFontResourceExA]
  9047. end;
  9048. end;
  9049. var
  9050. _AddFontResourceExW: Pointer;
  9051. function AddFontResourceExW;
  9052. begin
  9053. GetProcedureAddress(_AddFontResourceExW, gdi32, 'AddFontResourceExW');
  9054. asm
  9055. MOV ESP, EBP
  9056. POP EBP
  9057. JMP [_AddFontResourceExW]
  9058. end;
  9059. end;
  9060. var
  9061. _AddFontResourceEx: Pointer;
  9062. function AddFontResourceEx;
  9063. begin
  9064. GetProcedureAddress(_AddFontResourceEx, gdi32, 'AddFontResourceEx' + AWSuffix);
  9065. asm
  9066. MOV ESP, EBP
  9067. POP EBP
  9068. JMP [_AddFontResourceEx]
  9069. end;
  9070. end;
  9071. var
  9072. _RemoveFontResourceExA: Pointer;
  9073. function RemoveFontResourceExA;
  9074. begin
  9075. GetProcedureAddress(_RemoveFontResourceExA, gdi32, 'RemoveFontResourceExA');
  9076. asm
  9077. MOV ESP, EBP
  9078. POP EBP
  9079. JMP [_RemoveFontResourceExA]
  9080. end;
  9081. end;
  9082. var
  9083. _RemoveFontResourceExW: Pointer;
  9084. function RemoveFontResourceExW;
  9085. begin
  9086. GetProcedureAddress(_RemoveFontResourceExW, gdi32, 'RemoveFontResourceExW');
  9087. asm
  9088. MOV ESP, EBP
  9089. POP EBP
  9090. JMP [_RemoveFontResourceExW]
  9091. end;
  9092. end;
  9093. var
  9094. _RemoveFontResourceEx: Pointer;
  9095. function RemoveFontResourceEx;
  9096. begin
  9097. GetProcedureAddress(_RemoveFontResourceEx, gdi32, 'RemoveFontResourceEx' + AWSuffix);
  9098. asm
  9099. MOV ESP, EBP
  9100. POP EBP
  9101. JMP [_RemoveFontResourceEx]
  9102. end;
  9103. end;
  9104. var
  9105. _AddFontMemResourceEx: Pointer;
  9106. function AddFontMemResourceEx;
  9107. begin
  9108. GetProcedureAddress(_AddFontMemResourceEx, gdi32, 'AddFontMemResourceEx');
  9109. asm
  9110. MOV ESP, EBP
  9111. POP EBP
  9112. JMP [_AddFontMemResourceEx]
  9113. end;
  9114. end;
  9115. var
  9116. _RemoveFontMemResourceEx: Pointer;
  9117. function RemoveFontMemResourceEx;
  9118. begin
  9119. GetProcedureAddress(_RemoveFontMemResourceEx, gdi32, 'RemoveFontMemResourceEx');
  9120. asm
  9121. MOV ESP, EBP
  9122. POP EBP
  9123. JMP [_RemoveFontMemResourceEx]
  9124. end;
  9125. end;
  9126. var
  9127. _CreateFontIndirectExA: Pointer;
  9128. function CreateFontIndirectExA;
  9129. begin
  9130. GetProcedureAddress(_CreateFontIndirectExA, gdi32, 'CreateFontIndirectExA');
  9131. asm
  9132. MOV ESP, EBP
  9133. POP EBP
  9134. JMP [_CreateFontIndirectExA]
  9135. end;
  9136. end;
  9137. var
  9138. _CreateFontIndirectExW: Pointer;
  9139. function CreateFontIndirectExW;
  9140. begin
  9141. GetProcedureAddress(_CreateFontIndirectExW, gdi32, 'CreateFontIndirectExW');
  9142. asm
  9143. MOV ESP, EBP
  9144. POP EBP
  9145. JMP [_CreateFontIndirectExW]
  9146. end;
  9147. end;
  9148. var
  9149. _CreateFontIndirectEx: Pointer;
  9150. function CreateFontIndirectEx;
  9151. begin
  9152. GetProcedureAddress(_CreateFontIndirectEx, gdi32, 'CreateFontIndirectEx' + AWSuffix);
  9153. asm
  9154. MOV ESP, EBP
  9155. POP EBP
  9156. JMP [_CreateFontIndirectEx]
  9157. end;
  9158. end;
  9159. var
  9160. _GetViewportExtEx: Pointer;
  9161. function GetViewportExtEx;
  9162. begin
  9163. GetProcedureAddress(_GetViewportExtEx, gdi32, 'GetViewportExtEx');
  9164. asm
  9165. MOV ESP, EBP
  9166. POP EBP
  9167. JMP [_GetViewportExtEx]
  9168. end;
  9169. end;
  9170. var
  9171. _GetViewportOrgEx: Pointer;
  9172. function GetViewportOrgEx;
  9173. begin
  9174. GetProcedureAddress(_GetViewportOrgEx, gdi32, 'GetViewportOrgEx');
  9175. asm
  9176. MOV ESP, EBP
  9177. POP EBP
  9178. JMP [_GetViewportOrgEx]
  9179. end;
  9180. end;
  9181. var
  9182. _GetWindowExtEx: Pointer;
  9183. function GetWindowExtEx;
  9184. begin
  9185. GetProcedureAddress(_GetWindowExtEx, gdi32, 'GetWindowExtEx');
  9186. asm
  9187. MOV ESP, EBP
  9188. POP EBP
  9189. JMP [_GetWindowExtEx]
  9190. end;
  9191. end;
  9192. var
  9193. _GetWindowOrgEx: Pointer;
  9194. function GetWindowOrgEx;
  9195. begin
  9196. GetProcedureAddress(_GetWindowOrgEx, gdi32, 'GetWindowOrgEx');
  9197. asm
  9198. MOV ESP, EBP
  9199. POP EBP
  9200. JMP [_GetWindowOrgEx]
  9201. end;
  9202. end;
  9203. var
  9204. _IntersectClipRect: Pointer;
  9205. function IntersectClipRect;
  9206. begin
  9207. GetProcedureAddress(_IntersectClipRect, gdi32, 'IntersectClipRect');
  9208. asm
  9209. MOV ESP, EBP
  9210. POP EBP
  9211. JMP [_IntersectClipRect]
  9212. end;
  9213. end;
  9214. var
  9215. _InvertRgn: Pointer;
  9216. function InvertRgn;
  9217. begin
  9218. GetProcedureAddress(_InvertRgn, gdi32, 'InvertRgn');
  9219. asm
  9220. MOV ESP, EBP
  9221. POP EBP
  9222. JMP [_InvertRgn]
  9223. end;
  9224. end;
  9225. var
  9226. _LineDDA: Pointer;
  9227. function LineDDA;
  9228. begin
  9229. GetProcedureAddress(_LineDDA, gdi32, 'LineDDA');
  9230. asm
  9231. MOV ESP, EBP
  9232. POP EBP
  9233. JMP [_LineDDA]
  9234. end;
  9235. end;
  9236. var
  9237. _LineTo: Pointer;
  9238. function LineTo;
  9239. begin
  9240. GetProcedureAddress(_LineTo, gdi32, 'LineTo');
  9241. asm
  9242. MOV ESP, EBP
  9243. POP EBP
  9244. JMP [_LineTo]
  9245. end;
  9246. end;
  9247. var
  9248. _MaskBlt: Pointer;
  9249. function MaskBlt;
  9250. begin
  9251. GetProcedureAddress(_MaskBlt, gdi32, 'MaskBlt');
  9252. asm
  9253. MOV ESP, EBP
  9254. POP EBP
  9255. JMP [_MaskBlt]
  9256. end;
  9257. end;
  9258. var
  9259. _PlgBlt: Pointer;
  9260. function PlgBlt;
  9261. begin
  9262. GetProcedureAddress(_PlgBlt, gdi32, 'PlgBlt');
  9263. asm
  9264. MOV ESP, EBP
  9265. POP EBP
  9266. JMP [_PlgBlt]
  9267. end;
  9268. end;
  9269. var
  9270. _OffsetClipRgn: Pointer;
  9271. function OffsetClipRgn;
  9272. begin
  9273. GetProcedureAddress(_OffsetClipRgn, gdi32, 'OffsetClipRgn');
  9274. asm
  9275. MOV ESP, EBP
  9276. POP EBP
  9277. JMP [_OffsetClipRgn]
  9278. end;
  9279. end;
  9280. var
  9281. _OffsetRgn: Pointer;
  9282. function OffsetRgn;
  9283. begin
  9284. GetProcedureAddress(_OffsetRgn, gdi32, 'OffsetRgn');
  9285. asm
  9286. MOV ESP, EBP
  9287. POP EBP
  9288. JMP [_OffsetRgn]
  9289. end;
  9290. end;
  9291. var
  9292. _PatBlt: Pointer;
  9293. function PatBlt;
  9294. begin
  9295. GetProcedureAddress(_PatBlt, gdi32, 'PatBlt');
  9296. asm
  9297. MOV ESP, EBP
  9298. POP EBP
  9299. JMP [_PatBlt]
  9300. end;
  9301. end;
  9302. var
  9303. _Pie: Pointer;
  9304. function Pie;
  9305. begin
  9306. GetProcedureAddress(_Pie, gdi32, 'Pie');
  9307. asm
  9308. MOV ESP, EBP
  9309. POP EBP
  9310. JMP [_Pie]
  9311. end;
  9312. end;
  9313. var
  9314. _PlayMetaFile: Pointer;
  9315. function PlayMetaFile;
  9316. begin
  9317. GetProcedureAddress(_PlayMetaFile, gdi32, 'PlayMetaFile');
  9318. asm
  9319. MOV ESP, EBP
  9320. POP EBP
  9321. JMP [_PlayMetaFile]
  9322. end;
  9323. end;
  9324. var
  9325. _PaintRgn: Pointer;
  9326. function PaintRgn;
  9327. begin
  9328. GetProcedureAddress(_PaintRgn, gdi32, 'PaintRgn');
  9329. asm
  9330. MOV ESP, EBP
  9331. POP EBP
  9332. JMP [_PaintRgn]
  9333. end;
  9334. end;
  9335. var
  9336. _PolyPolygon: Pointer;
  9337. function PolyPolygon;
  9338. begin
  9339. GetProcedureAddress(_PolyPolygon, gdi32, 'PolyPolygon');
  9340. asm
  9341. MOV ESP, EBP
  9342. POP EBP
  9343. JMP [_PolyPolygon]
  9344. end;
  9345. end;
  9346. var
  9347. _PtInRegion: Pointer;
  9348. function PtInRegion;
  9349. begin
  9350. GetProcedureAddress(_PtInRegion, gdi32, 'PtInRegion');
  9351. asm
  9352. MOV ESP, EBP
  9353. POP EBP
  9354. JMP [_PtInRegion]
  9355. end;
  9356. end;
  9357. var
  9358. _PtVisible: Pointer;
  9359. function PtVisible;
  9360. begin
  9361. GetProcedureAddress(_PtVisible, gdi32, 'PtVisible');
  9362. asm
  9363. MOV ESP, EBP
  9364. POP EBP
  9365. JMP [_PtVisible]
  9366. end;
  9367. end;
  9368. var
  9369. _RectInRegion: Pointer;
  9370. function RectInRegion;
  9371. begin
  9372. GetProcedureAddress(_RectInRegion, gdi32, 'RectInRegion');
  9373. asm
  9374. MOV ESP, EBP
  9375. POP EBP
  9376. JMP [_RectInRegion]
  9377. end;
  9378. end;
  9379. var
  9380. _RectVisible: Pointer;
  9381. function RectVisible;
  9382. begin
  9383. GetProcedureAddress(_RectVisible, gdi32, 'RectVisible');
  9384. asm
  9385. MOV ESP, EBP
  9386. POP EBP
  9387. JMP [_RectVisible]
  9388. end;
  9389. end;
  9390. var
  9391. _Rectangle: Pointer;
  9392. function Rectangle;
  9393. begin
  9394. GetProcedureAddress(_Rectangle, gdi32, 'Rectangle');
  9395. asm
  9396. MOV ESP, EBP
  9397. POP EBP
  9398. JMP [_Rectangle]
  9399. end;
  9400. end;
  9401. var
  9402. _RestoreDC: Pointer;
  9403. function RestoreDC;
  9404. begin
  9405. GetProcedureAddress(_RestoreDC, gdi32, 'RestoreDC');
  9406. asm
  9407. MOV ESP, EBP
  9408. POP EBP
  9409. JMP [_RestoreDC]
  9410. end;
  9411. end;
  9412. var
  9413. _ResetDCA: Pointer;
  9414. function ResetDCA;
  9415. begin
  9416. GetProcedureAddress(_ResetDCA, gdi32, 'ResetDCA');
  9417. asm
  9418. MOV ESP, EBP
  9419. POP EBP
  9420. JMP [_ResetDCA]
  9421. end;
  9422. end;
  9423. var
  9424. _ResetDCW: Pointer;
  9425. function ResetDCW;
  9426. begin
  9427. GetProcedureAddress(_ResetDCW, gdi32, 'ResetDCW');
  9428. asm
  9429. MOV ESP, EBP
  9430. POP EBP
  9431. JMP [_ResetDCW]
  9432. end;
  9433. end;
  9434. var
  9435. _ResetDC: Pointer;
  9436. function ResetDC;
  9437. begin
  9438. GetProcedureAddress(_ResetDC, gdi32, 'ResetDC' + AWSuffix);
  9439. asm
  9440. MOV ESP, EBP
  9441. POP EBP
  9442. JMP [_ResetDC]
  9443. end;
  9444. end;
  9445. var
  9446. _RealizePalette: Pointer;
  9447. function RealizePalette;
  9448. begin
  9449. GetProcedureAddress(_RealizePalette, gdi32, 'RealizePalette');
  9450. asm
  9451. MOV ESP, EBP
  9452. POP EBP
  9453. JMP [_RealizePalette]
  9454. end;
  9455. end;
  9456. var
  9457. _RemoveFontResourceA: Pointer;
  9458. function RemoveFontResourceA;
  9459. begin
  9460. GetProcedureAddress(_RemoveFontResourceA, gdi32, 'RemoveFontResourceA');
  9461. asm
  9462. MOV ESP, EBP
  9463. POP EBP
  9464. JMP [_RemoveFontResourceA]
  9465. end;
  9466. end;
  9467. var
  9468. _RemoveFontResourceW: Pointer;
  9469. function RemoveFontResourceW;
  9470. begin
  9471. GetProcedureAddress(_RemoveFontResourceW, gdi32, 'RemoveFontResourceW');
  9472. asm
  9473. MOV ESP, EBP
  9474. POP EBP
  9475. JMP [_RemoveFontResourceW]
  9476. end;
  9477. end;
  9478. var
  9479. _RemoveFontResource: Pointer;
  9480. function RemoveFontResource;
  9481. begin
  9482. GetProcedureAddress(_RemoveFontResource, gdi32, 'RemoveFontResource' + AWSuffix);
  9483. asm
  9484. MOV ESP, EBP
  9485. POP EBP
  9486. JMP [_RemoveFontResource]
  9487. end;
  9488. end;
  9489. var
  9490. _RoundRect: Pointer;
  9491. function RoundRect;
  9492. begin
  9493. GetProcedureAddress(_RoundRect, gdi32, 'RoundRect');
  9494. asm
  9495. MOV ESP, EBP
  9496. POP EBP
  9497. JMP [_RoundRect]
  9498. end;
  9499. end;
  9500. var
  9501. _ResizePalette: Pointer;
  9502. function ResizePalette;
  9503. begin
  9504. GetProcedureAddress(_ResizePalette, gdi32, 'ResizePalette');
  9505. asm
  9506. MOV ESP, EBP
  9507. POP EBP
  9508. JMP [_ResizePalette]
  9509. end;
  9510. end;
  9511. var
  9512. _SaveDC: Pointer;
  9513. function SaveDC;
  9514. begin
  9515. GetProcedureAddress(_SaveDC, gdi32, 'SaveDC');
  9516. asm
  9517. MOV ESP, EBP
  9518. POP EBP
  9519. JMP [_SaveDC]
  9520. end;
  9521. end;
  9522. var
  9523. _SelectClipRgn: Pointer;
  9524. function SelectClipRgn;
  9525. begin
  9526. GetProcedureAddress(_SelectClipRgn, gdi32, 'SelectClipRgn');
  9527. asm
  9528. MOV ESP, EBP
  9529. POP EBP
  9530. JMP [_SelectClipRgn]
  9531. end;
  9532. end;
  9533. var
  9534. _ExtSelectClipRgn: Pointer;
  9535. function ExtSelectClipRgn;
  9536. begin
  9537. GetProcedureAddress(_ExtSelectClipRgn, gdi32, 'ExtSelectClipRgn');
  9538. asm
  9539. MOV ESP, EBP
  9540. POP EBP
  9541. JMP [_ExtSelectClipRgn]
  9542. end;
  9543. end;
  9544. var
  9545. _SetMetaRgn: Pointer;
  9546. function SetMetaRgn;
  9547. begin
  9548. GetProcedureAddress(_SetMetaRgn, gdi32, 'SetMetaRgn');
  9549. asm
  9550. MOV ESP, EBP
  9551. POP EBP
  9552. JMP [_SetMetaRgn]
  9553. end;
  9554. end;
  9555. var
  9556. _SelectObject: Pointer;
  9557. function SelectObject;
  9558. begin
  9559. GetProcedureAddress(_SelectObject, gdi32, 'SelectObject');
  9560. asm
  9561. MOV ESP, EBP
  9562. POP EBP
  9563. JMP [_SelectObject]
  9564. end;
  9565. end;
  9566. var
  9567. _SelectPalette: Pointer;
  9568. function SelectPalette;
  9569. begin
  9570. GetProcedureAddress(_SelectPalette, gdi32, 'SelectPalette');
  9571. asm
  9572. MOV ESP, EBP
  9573. POP EBP
  9574. JMP [_SelectPalette]
  9575. end;
  9576. end;
  9577. var
  9578. _SetBkColor: Pointer;
  9579. function SetBkColor;
  9580. begin
  9581. GetProcedureAddress(_SetBkColor, gdi32, 'SetBkColor');
  9582. asm
  9583. MOV ESP, EBP
  9584. POP EBP
  9585. JMP [_SetBkColor]
  9586. end;
  9587. end;
  9588. var
  9589. _SetDCBrushColor: Pointer;
  9590. function SetDCBrushColor;
  9591. begin
  9592. GetProcedureAddress(_SetDCBrushColor, gdi32, 'SetDCBrushColor');
  9593. asm
  9594. MOV ESP, EBP
  9595. POP EBP
  9596. JMP [_SetDCBrushColor]
  9597. end;
  9598. end;
  9599. var
  9600. _SetDCPenColor: Pointer;
  9601. function SetDCPenColor;
  9602. begin
  9603. GetProcedureAddress(_SetDCPenColor, gdi32, 'SetDCPenColor');
  9604. asm
  9605. MOV ESP, EBP
  9606. POP EBP
  9607. JMP [_SetDCPenColor]
  9608. end;
  9609. end;
  9610. var
  9611. _SetBkMode: Pointer;
  9612. function SetBkMode;
  9613. begin
  9614. GetProcedureAddress(_SetBkMode, gdi32, 'SetBkMode');
  9615. asm
  9616. MOV ESP, EBP
  9617. POP EBP
  9618. JMP [_SetBkMode]
  9619. end;
  9620. end;
  9621. var
  9622. _SetBitmapBits: Pointer;
  9623. function SetBitmapBits;
  9624. begin
  9625. GetProcedureAddress(_SetBitmapBits, gdi32, 'SetBitmapBits');
  9626. asm
  9627. MOV ESP, EBP
  9628. POP EBP
  9629. JMP [_SetBitmapBits]
  9630. end;
  9631. end;
  9632. var
  9633. _SetBoundsRect: Pointer;
  9634. function SetBoundsRect;
  9635. begin
  9636. GetProcedureAddress(_SetBoundsRect, gdi32, 'SetBoundsRect');
  9637. asm
  9638. MOV ESP, EBP
  9639. POP EBP
  9640. JMP [_SetBoundsRect]
  9641. end;
  9642. end;
  9643. var
  9644. _SetDIBits: Pointer;
  9645. function SetDIBits;
  9646. begin
  9647. GetProcedureAddress(_SetDIBits, gdi32, 'SetDIBits');
  9648. asm
  9649. MOV ESP, EBP
  9650. POP EBP
  9651. JMP [_SetDIBits]
  9652. end;
  9653. end;
  9654. var
  9655. _SetDIBitsToDevice: Pointer;
  9656. function SetDIBitsToDevice;
  9657. begin
  9658. GetProcedureAddress(_SetDIBitsToDevice, gdi32, 'SetDIBitsToDevice');
  9659. asm
  9660. MOV ESP, EBP
  9661. POP EBP
  9662. JMP [_SetDIBitsToDevice]
  9663. end;
  9664. end;
  9665. var
  9666. _SetMapperFlags: Pointer;
  9667. function SetMapperFlags;
  9668. begin
  9669. GetProcedureAddress(_SetMapperFlags, gdi32, 'SetMapperFlags');
  9670. asm
  9671. MOV ESP, EBP
  9672. POP EBP
  9673. JMP [_SetMapperFlags]
  9674. end;
  9675. end;
  9676. var
  9677. _SetGraphicsMode: Pointer;
  9678. function SetGraphicsMode;
  9679. begin
  9680. GetProcedureAddress(_SetGraphicsMode, gdi32, 'SetGraphicsMode');
  9681. asm
  9682. MOV ESP, EBP
  9683. POP EBP
  9684. JMP [_SetGraphicsMode]
  9685. end;
  9686. end;
  9687. var
  9688. _SetMapMode: Pointer;
  9689. function SetMapMode;
  9690. begin
  9691. GetProcedureAddress(_SetMapMode, gdi32, 'SetMapMode');
  9692. asm
  9693. MOV ESP, EBP
  9694. POP EBP
  9695. JMP [_SetMapMode]
  9696. end;
  9697. end;
  9698. var
  9699. _SetLayout: Pointer;
  9700. function SetLayout;
  9701. begin
  9702. GetProcedureAddress(_SetLayout, gdi32, 'SetLayout');
  9703. asm
  9704. MOV ESP, EBP
  9705. POP EBP
  9706. JMP [_SetLayout]
  9707. end;
  9708. end;
  9709. var
  9710. _GetLayout: Pointer;
  9711. function GetLayout;
  9712. begin
  9713. GetProcedureAddress(_GetLayout, gdi32, 'GetLayout');
  9714. asm
  9715. MOV ESP, EBP
  9716. POP EBP
  9717. JMP [_GetLayout]
  9718. end;
  9719. end;
  9720. var
  9721. _SetMetaFileBitsEx: Pointer;
  9722. function SetMetaFileBitsEx;
  9723. begin
  9724. GetProcedureAddress(_SetMetaFileBitsEx, gdi32, 'SetMetaFileBitsEx');
  9725. asm
  9726. MOV ESP, EBP
  9727. POP EBP
  9728. JMP [_SetMetaFileBitsEx]
  9729. end;
  9730. end;
  9731. var
  9732. _SetPaletteEntries: Pointer;
  9733. function SetPaletteEntries;
  9734. begin
  9735. GetProcedureAddress(_SetPaletteEntries, gdi32, 'SetPaletteEntries');
  9736. asm
  9737. MOV ESP, EBP
  9738. POP EBP
  9739. JMP [_SetPaletteEntries]
  9740. end;
  9741. end;
  9742. var
  9743. _SetPixel: Pointer;
  9744. function SetPixel;
  9745. begin
  9746. GetProcedureAddress(_SetPixel, gdi32, 'SetPixel');
  9747. asm
  9748. MOV ESP, EBP
  9749. POP EBP
  9750. JMP [_SetPixel]
  9751. end;
  9752. end;
  9753. var
  9754. _SetPixelV: Pointer;
  9755. function SetPixelV;
  9756. begin
  9757. GetProcedureAddress(_SetPixelV, gdi32, 'SetPixelV');
  9758. asm
  9759. MOV ESP, EBP
  9760. POP EBP
  9761. JMP [_SetPixelV]
  9762. end;
  9763. end;
  9764. var
  9765. _SetPixelFormat: Pointer;
  9766. function SetPixelFormat;
  9767. begin
  9768. GetProcedureAddress(_SetPixelFormat, gdi32, 'SetPixelFormat');
  9769. asm
  9770. MOV ESP, EBP
  9771. POP EBP
  9772. JMP [_SetPixelFormat]
  9773. end;
  9774. end;
  9775. var
  9776. _SetPolyFillMode: Pointer;
  9777. function SetPolyFillMode;
  9778. begin
  9779. GetProcedureAddress(_SetPolyFillMode, gdi32, 'SetPolyFillMode');
  9780. asm
  9781. MOV ESP, EBP
  9782. POP EBP
  9783. JMP [_SetPolyFillMode]
  9784. end;
  9785. end;
  9786. var
  9787. _StretchBlt: Pointer;
  9788. function StretchBlt;
  9789. begin
  9790. GetProcedureAddress(_StretchBlt, gdi32, 'StretchBlt');
  9791. asm
  9792. MOV ESP, EBP
  9793. POP EBP
  9794. JMP [_StretchBlt]
  9795. end;
  9796. end;
  9797. var
  9798. _SetRectRgn: Pointer;
  9799. function SetRectRgn;
  9800. begin
  9801. GetProcedureAddress(_SetRectRgn, gdi32, 'SetRectRgn');
  9802. asm
  9803. MOV ESP, EBP
  9804. POP EBP
  9805. JMP [_SetRectRgn]
  9806. end;
  9807. end;
  9808. var
  9809. _StretchDIBits: Pointer;
  9810. function StretchDIBits;
  9811. begin
  9812. GetProcedureAddress(_StretchDIBits, gdi32, 'StretchDIBits');
  9813. asm
  9814. MOV ESP, EBP
  9815. POP EBP
  9816. JMP [_StretchDIBits]
  9817. end;
  9818. end;
  9819. var
  9820. _SetROP2: Pointer;
  9821. function SetROP2;
  9822. begin
  9823. GetProcedureAddress(_SetROP2, gdi32, 'SetROP2');
  9824. asm
  9825. MOV ESP, EBP
  9826. POP EBP
  9827. JMP [_SetROP2]
  9828. end;
  9829. end;
  9830. var
  9831. _SetStretchBltMode: Pointer;
  9832. function SetStretchBltMode;
  9833. begin
  9834. GetProcedureAddress(_SetStretchBltMode, gdi32, 'SetStretchBltMode');
  9835. asm
  9836. MOV ESP, EBP
  9837. POP EBP
  9838. JMP [_SetStretchBltMode]
  9839. end;
  9840. end;
  9841. var
  9842. _SetSystemPaletteUse: Pointer;
  9843. function SetSystemPaletteUse;
  9844. begin
  9845. GetProcedureAddress(_SetSystemPaletteUse, gdi32, 'SetSystemPaletteUse');
  9846. asm
  9847. MOV ESP, EBP
  9848. POP EBP
  9849. JMP [_SetSystemPaletteUse]
  9850. end;
  9851. end;
  9852. var
  9853. _SetTextCharacterExtra: Pointer;
  9854. function SetTextCharacterExtra;
  9855. begin
  9856. GetProcedureAddress(_SetTextCharacterExtra, gdi32, 'SetTextCharacterExtra');
  9857. asm
  9858. MOV ESP, EBP
  9859. POP EBP
  9860. JMP [_SetTextCharacterExtra]
  9861. end;
  9862. end;
  9863. var
  9864. _SetTextColor: Pointer;
  9865. function SetTextColor;
  9866. begin
  9867. GetProcedureAddress(_SetTextColor, gdi32, 'SetTextColor');
  9868. asm
  9869. MOV ESP, EBP
  9870. POP EBP
  9871. JMP [_SetTextColor]
  9872. end;
  9873. end;
  9874. var
  9875. _SetTextAlign: Pointer;
  9876. function SetTextAlign;
  9877. begin
  9878. GetProcedureAddress(_SetTextAlign, gdi32, 'SetTextAlign');
  9879. asm
  9880. MOV ESP, EBP
  9881. POP EBP
  9882. JMP [_SetTextAlign]
  9883. end;
  9884. end;
  9885. var
  9886. _SetTextJustification: Pointer;
  9887. function SetTextJustification;
  9888. begin
  9889. GetProcedureAddress(_SetTextJustification, gdi32, 'SetTextJustification');
  9890. asm
  9891. MOV ESP, EBP
  9892. POP EBP
  9893. JMP [_SetTextJustification]
  9894. end;
  9895. end;
  9896. var
  9897. _UpdateColors: Pointer;
  9898. function UpdateColors;
  9899. begin
  9900. GetProcedureAddress(_UpdateColors, gdi32, 'UpdateColors');
  9901. asm
  9902. MOV ESP, EBP
  9903. POP EBP
  9904. JMP [_UpdateColors]
  9905. end;
  9906. end;
  9907. var
  9908. _AlphaBlend: Pointer;
  9909. function AlphaBlend;
  9910. begin
  9911. GetProcedureAddress(_AlphaBlend, msimg32, 'AlphaBlend');
  9912. asm
  9913. MOV ESP, EBP
  9914. POP EBP
  9915. JMP [_AlphaBlend]
  9916. end;
  9917. end;
  9918. var
  9919. _TransparentBlt: Pointer;
  9920. function TransparentBlt;
  9921. begin
  9922. GetProcedureAddress(_TransparentBlt, msimg32, 'TransparentBlt');
  9923. asm
  9924. MOV ESP, EBP
  9925. POP EBP
  9926. JMP [_TransparentBlt]
  9927. end;
  9928. end;
  9929. var
  9930. _GradientFill: Pointer;
  9931. function GradientFill;
  9932. begin
  9933. GetProcedureAddress(_GradientFill, msimg32, 'GradientFill');
  9934. asm
  9935. MOV ESP, EBP
  9936. POP EBP
  9937. JMP [_GradientFill]
  9938. end;
  9939. end;
  9940. var
  9941. _PlayMetaFileRecord: Pointer;
  9942. function PlayMetaFileRecord;
  9943. begin
  9944. GetProcedureAddress(_PlayMetaFileRecord, gdi32, 'PlayMetaFileRecord');
  9945. asm
  9946. MOV ESP, EBP
  9947. POP EBP
  9948. JMP [_PlayMetaFileRecord]
  9949. end;
  9950. end;
  9951. var
  9952. _EnumMetaFile: Pointer;
  9953. function EnumMetaFile;
  9954. begin
  9955. GetProcedureAddress(_EnumMetaFile, gdi32, 'EnumMetaFile');
  9956. asm
  9957. MOV ESP, EBP
  9958. POP EBP
  9959. JMP [_EnumMetaFile]
  9960. end;
  9961. end;
  9962. var
  9963. _CloseEnhMetaFile: Pointer;
  9964. function CloseEnhMetaFile;
  9965. begin
  9966. GetProcedureAddress(_CloseEnhMetaFile, gdi32, 'CloseEnhMetaFile');
  9967. asm
  9968. MOV ESP, EBP
  9969. POP EBP
  9970. JMP [_CloseEnhMetaFile]
  9971. end;
  9972. end;
  9973. var
  9974. _CopyEnhMetaFileA: Pointer;
  9975. function CopyEnhMetaFileA;
  9976. begin
  9977. GetProcedureAddress(_CopyEnhMetaFileA, gdi32, 'CopyEnhMetaFileA');
  9978. asm
  9979. MOV ESP, EBP
  9980. POP EBP
  9981. JMP [_CopyEnhMetaFileA]
  9982. end;
  9983. end;
  9984. var
  9985. _CopyEnhMetaFileW: Pointer;
  9986. function CopyEnhMetaFileW;
  9987. begin
  9988. GetProcedureAddress(_CopyEnhMetaFileW, gdi32, 'CopyEnhMetaFileW');
  9989. asm
  9990. MOV ESP, EBP
  9991. POP EBP
  9992. JMP [_CopyEnhMetaFileW]
  9993. end;
  9994. end;
  9995. var
  9996. _CopyEnhMetaFile: Pointer;
  9997. function CopyEnhMetaFile;
  9998. begin
  9999. GetProcedureAddress(_CopyEnhMetaFile, gdi32, 'CopyEnhMetaFile' + AWSuffix);
  10000. asm
  10001. MOV ESP, EBP
  10002. POP EBP
  10003. JMP [_CopyEnhMetaFile]
  10004. end;
  10005. end;
  10006. var
  10007. _CreateEnhMetaFileA: Pointer;
  10008. function CreateEnhMetaFileA;
  10009. begin
  10010. GetProcedureAddress(_CreateEnhMetaFileA, gdi32, 'CreateEnhMetaFileA');
  10011. asm
  10012. MOV ESP, EBP
  10013. POP EBP
  10014. JMP [_CreateEnhMetaFileA]
  10015. end;
  10016. end;
  10017. var
  10018. _CreateEnhMetaFileW: Pointer;
  10019. function CreateEnhMetaFileW;
  10020. begin
  10021. GetProcedureAddress(_CreateEnhMetaFileW, gdi32, 'CreateEnhMetaFileW');
  10022. asm
  10023. MOV ESP, EBP
  10024. POP EBP
  10025. JMP [_CreateEnhMetaFileW]
  10026. end;
  10027. end;
  10028. var
  10029. _CreateEnhMetaFile: Pointer;
  10030. function CreateEnhMetaFile;
  10031. begin
  10032. GetProcedureAddress(_CreateEnhMetaFile, gdi32, 'CreateEnhMetaFile' + AWSuffix);
  10033. asm
  10034. MOV ESP, EBP
  10035. POP EBP
  10036. JMP [_CreateEnhMetaFile]
  10037. end;
  10038. end;
  10039. var
  10040. _DeleteEnhMetaFile: Pointer;
  10041. function DeleteEnhMetaFile;
  10042. begin
  10043. GetProcedureAddress(_DeleteEnhMetaFile, gdi32, 'DeleteEnhMetaFile');
  10044. asm
  10045. MOV ESP, EBP
  10046. POP EBP
  10047. JMP [_DeleteEnhMetaFile]
  10048. end;
  10049. end;
  10050. var
  10051. _EnumEnhMetaFile: Pointer;
  10052. function EnumEnhMetaFile;
  10053. begin
  10054. GetProcedureAddress(_EnumEnhMetaFile, gdi32, 'EnumEnhMetaFile');
  10055. asm
  10056. MOV ESP, EBP
  10057. POP EBP
  10058. JMP [_EnumEnhMetaFile]
  10059. end;
  10060. end;
  10061. var
  10062. _GetEnhMetaFileA: Pointer;
  10063. function GetEnhMetaFileA;
  10064. begin
  10065. GetProcedureAddress(_GetEnhMetaFileA, gdi32, 'GetEnhMetaFileA');
  10066. asm
  10067. MOV ESP, EBP
  10068. POP EBP
  10069. JMP [_GetEnhMetaFileA]
  10070. end;
  10071. end;
  10072. var
  10073. _GetEnhMetaFileW: Pointer;
  10074. function GetEnhMetaFileW;
  10075. begin
  10076. GetProcedureAddress(_GetEnhMetaFileW, gdi32, 'GetEnhMetaFileW');
  10077. asm
  10078. MOV ESP, EBP
  10079. POP EBP
  10080. JMP [_GetEnhMetaFileW]
  10081. end;
  10082. end;
  10083. var
  10084. _GetEnhMetaFile: Pointer;
  10085. function GetEnhMetaFile;
  10086. begin
  10087. GetProcedureAddress(_GetEnhMetaFile, gdi32, 'GetEnhMetaFile' + AWSuffix);
  10088. asm
  10089. MOV ESP, EBP
  10090. POP EBP
  10091. JMP [_GetEnhMetaFile]
  10092. end;
  10093. end;
  10094. var
  10095. _GetEnhMetaFileBits: Pointer;
  10096. function GetEnhMetaFileBits;
  10097. begin
  10098. GetProcedureAddress(_GetEnhMetaFileBits, gdi32, 'GetEnhMetaFileBits');
  10099. asm
  10100. MOV ESP, EBP
  10101. POP EBP
  10102. JMP [_GetEnhMetaFileBits]
  10103. end;
  10104. end;
  10105. var
  10106. _GetEnhMetaFileDescriptionA: Pointer;
  10107. function GetEnhMetaFileDescriptionA;
  10108. begin
  10109. GetProcedureAddress(_GetEnhMetaFileDescriptionA, gdi32, 'GetEnhMetaFileDescriptionA');
  10110. asm
  10111. MOV ESP, EBP
  10112. POP EBP
  10113. JMP [_GetEnhMetaFileDescriptionA]
  10114. end;
  10115. end;
  10116. var
  10117. _GetEnhMetaFileDescriptionW: Pointer;
  10118. function GetEnhMetaFileDescriptionW;
  10119. begin
  10120. GetProcedureAddress(_GetEnhMetaFileDescriptionW, gdi32, 'GetEnhMetaFileDescriptionW');
  10121. asm
  10122. MOV ESP, EBP
  10123. POP EBP
  10124. JMP [_GetEnhMetaFileDescriptionW]
  10125. end;
  10126. end;
  10127. var
  10128. _GetEnhMetaFileDescription: Pointer;
  10129. function GetEnhMetaFileDescription;
  10130. begin
  10131. GetProcedureAddress(_GetEnhMetaFileDescription, gdi32, 'GetEnhMetaFileDescription' + AWSuffix);
  10132. asm
  10133. MOV ESP, EBP
  10134. POP EBP
  10135. JMP [_GetEnhMetaFileDescription]
  10136. end;
  10137. end;
  10138. var
  10139. _GetEnhMetaFileHeader: Pointer;
  10140. function GetEnhMetaFileHeader;
  10141. begin
  10142. GetProcedureAddress(_GetEnhMetaFileHeader, gdi32, 'GetEnhMetaFileHeader');
  10143. asm
  10144. MOV ESP, EBP
  10145. POP EBP
  10146. JMP [_GetEnhMetaFileHeader]
  10147. end;
  10148. end;
  10149. var
  10150. _GetEnhMetaFilePaletteEntries: Pointer;
  10151. function GetEnhMetaFilePaletteEntries;
  10152. begin
  10153. GetProcedureAddress(_GetEnhMetaFilePaletteEntries, gdi32, 'GetEnhMetaFilePaletteEntries');
  10154. asm
  10155. MOV ESP, EBP
  10156. POP EBP
  10157. JMP [_GetEnhMetaFilePaletteEntries]
  10158. end;
  10159. end;
  10160. var
  10161. _GetEnhMetaFilePixelFormat: Pointer;
  10162. function GetEnhMetaFilePixelFormat;
  10163. begin
  10164. GetProcedureAddress(_GetEnhMetaFilePixelFormat, gdi32, 'GetEnhMetaFilePixelFormat');
  10165. asm
  10166. MOV ESP, EBP
  10167. POP EBP
  10168. JMP [_GetEnhMetaFilePixelFormat]
  10169. end;
  10170. end;
  10171. var
  10172. _GetWinMetaFileBits: Pointer;
  10173. function GetWinMetaFileBits;
  10174. begin
  10175. GetProcedureAddress(_GetWinMetaFileBits, gdi32, 'GetWinMetaFileBits');
  10176. asm
  10177. MOV ESP, EBP
  10178. POP EBP
  10179. JMP [_GetWinMetaFileBits]
  10180. end;
  10181. end;
  10182. var
  10183. _PlayEnhMetaFile: Pointer;
  10184. function PlayEnhMetaFile;
  10185. begin
  10186. GetProcedureAddress(_PlayEnhMetaFile, gdi32, 'PlayEnhMetaFile');
  10187. asm
  10188. MOV ESP, EBP
  10189. POP EBP
  10190. JMP [_PlayEnhMetaFile]
  10191. end;
  10192. end;
  10193. var
  10194. _PlayEnhMetaFileRecord: Pointer;
  10195. function PlayEnhMetaFileRecord;
  10196. begin
  10197. GetProcedureAddress(_PlayEnhMetaFileRecord, gdi32, 'PlayEnhMetaFileRecord');
  10198. asm
  10199. MOV ESP, EBP
  10200. POP EBP
  10201. JMP [_PlayEnhMetaFileRecord]
  10202. end;
  10203. end;
  10204. var
  10205. _SetEnhMetaFileBits: Pointer;
  10206. function SetEnhMetaFileBits;
  10207. begin
  10208. GetProcedureAddress(_SetEnhMetaFileBits, gdi32, 'SetEnhMetaFileBits');
  10209. asm
  10210. MOV ESP, EBP
  10211. POP EBP
  10212. JMP [_SetEnhMetaFileBits]
  10213. end;
  10214. end;
  10215. var
  10216. _SetWinMetaFileBits: Pointer;
  10217. function SetWinMetaFileBits;
  10218. begin
  10219. GetProcedureAddress(_SetWinMetaFileBits, gdi32, 'SetWinMetaFileBits');
  10220. asm
  10221. MOV ESP, EBP
  10222. POP EBP
  10223. JMP [_SetWinMetaFileBits]
  10224. end;
  10225. end;
  10226. var
  10227. _GdiComment: Pointer;
  10228. function GdiComment;
  10229. begin
  10230. GetProcedureAddress(_GdiComment, gdi32, 'GdiComment');
  10231. asm
  10232. MOV ESP, EBP
  10233. POP EBP
  10234. JMP [_GdiComment]
  10235. end;
  10236. end;
  10237. var
  10238. _GetTextMetricsA: Pointer;
  10239. function GetTextMetricsA;
  10240. begin
  10241. GetProcedureAddress(_GetTextMetricsA, gdi32, 'GetTextMetricsA');
  10242. asm
  10243. MOV ESP, EBP
  10244. POP EBP
  10245. JMP [_GetTextMetricsA]
  10246. end;
  10247. end;
  10248. var
  10249. _GetTextMetricsW: Pointer;
  10250. function GetTextMetricsW;
  10251. begin
  10252. GetProcedureAddress(_GetTextMetricsW, gdi32, 'GetTextMetricsW');
  10253. asm
  10254. MOV ESP, EBP
  10255. POP EBP
  10256. JMP [_GetTextMetricsW]
  10257. end;
  10258. end;
  10259. var
  10260. _GetTextMetrics: Pointer;
  10261. function GetTextMetrics;
  10262. begin
  10263. GetProcedureAddress(_GetTextMetrics, gdi32, 'GetTextMetrics' + AWSuffix);
  10264. asm
  10265. MOV ESP, EBP
  10266. POP EBP
  10267. JMP [_GetTextMetrics]
  10268. end;
  10269. end;
  10270. var
  10271. _AngleArc: Pointer;
  10272. function AngleArc;
  10273. begin
  10274. GetProcedureAddress(_AngleArc, gdi32, 'AngleArc');
  10275. asm
  10276. MOV ESP, EBP
  10277. POP EBP
  10278. JMP [_AngleArc]
  10279. end;
  10280. end;
  10281. var
  10282. _PolyPolyline: Pointer;
  10283. function PolyPolyline;
  10284. begin
  10285. GetProcedureAddress(_PolyPolyline, gdi32, 'PolyPolyline');
  10286. asm
  10287. MOV ESP, EBP
  10288. POP EBP
  10289. JMP [_PolyPolyline]
  10290. end;
  10291. end;
  10292. var
  10293. _GetWorldTransform: Pointer;
  10294. function GetWorldTransform;
  10295. begin
  10296. GetProcedureAddress(_GetWorldTransform, gdi32, 'GetWorldTransform');
  10297. asm
  10298. MOV ESP, EBP
  10299. POP EBP
  10300. JMP [_GetWorldTransform]
  10301. end;
  10302. end;
  10303. var
  10304. _SetWorldTransform: Pointer;
  10305. function SetWorldTransform;
  10306. begin
  10307. GetProcedureAddress(_SetWorldTransform, gdi32, 'SetWorldTransform');
  10308. asm
  10309. MOV ESP, EBP
  10310. POP EBP
  10311. JMP [_SetWorldTransform]
  10312. end;
  10313. end;
  10314. var
  10315. _ModifyWorldTransform: Pointer;
  10316. function ModifyWorldTransform;
  10317. begin
  10318. GetProcedureAddress(_ModifyWorldTransform, gdi32, 'ModifyWorldTransform');
  10319. asm
  10320. MOV ESP, EBP
  10321. POP EBP
  10322. JMP [_ModifyWorldTransform]
  10323. end;
  10324. end;
  10325. var
  10326. _CombineTransform: Pointer;
  10327. function CombineTransform;
  10328. begin
  10329. GetProcedureAddress(_CombineTransform, gdi32, 'CombineTransform');
  10330. asm
  10331. MOV ESP, EBP
  10332. POP EBP
  10333. JMP [_CombineTransform]
  10334. end;
  10335. end;
  10336. var
  10337. _CreateDIBSection: Pointer;
  10338. function CreateDIBSection;
  10339. begin
  10340. GetProcedureAddress(_CreateDIBSection, gdi32, 'CreateDIBSection');
  10341. asm
  10342. MOV ESP, EBP
  10343. POP EBP
  10344. JMP [_CreateDIBSection]
  10345. end;
  10346. end;
  10347. var
  10348. _GetDIBColorTable: Pointer;
  10349. function GetDIBColorTable;
  10350. begin
  10351. GetProcedureAddress(_GetDIBColorTable, gdi32, 'GetDIBColorTable');
  10352. asm
  10353. MOV ESP, EBP
  10354. POP EBP
  10355. JMP [_GetDIBColorTable]
  10356. end;
  10357. end;
  10358. var
  10359. _SetDIBColorTable: Pointer;
  10360. function SetDIBColorTable;
  10361. begin
  10362. GetProcedureAddress(_SetDIBColorTable, gdi32, 'SetDIBColorTable');
  10363. asm
  10364. MOV ESP, EBP
  10365. POP EBP
  10366. JMP [_SetDIBColorTable]
  10367. end;
  10368. end;
  10369. var
  10370. _SetColorAdjustment: Pointer;
  10371. function SetColorAdjustment;
  10372. begin
  10373. GetProcedureAddress(_SetColorAdjustment, gdi32, 'SetColorAdjustment');
  10374. asm
  10375. MOV ESP, EBP
  10376. POP EBP
  10377. JMP [_SetColorAdjustment]
  10378. end;
  10379. end;
  10380. var
  10381. _GetColorAdjustment: Pointer;
  10382. function GetColorAdjustment;
  10383. begin
  10384. GetProcedureAddress(_GetColorAdjustment, gdi32, 'GetColorAdjustment');
  10385. asm
  10386. MOV ESP, EBP
  10387. POP EBP
  10388. JMP [_GetColorAdjustment]
  10389. end;
  10390. end;
  10391. var
  10392. _CreateHalftonePalette: Pointer;
  10393. function CreateHalftonePalette;
  10394. begin
  10395. GetProcedureAddress(_CreateHalftonePalette, gdi32, 'CreateHalftonePalette');
  10396. asm
  10397. MOV ESP, EBP
  10398. POP EBP
  10399. JMP [_CreateHalftonePalette]
  10400. end;
  10401. end;
  10402. var
  10403. _StartDocA: Pointer;
  10404. function StartDocA;
  10405. begin
  10406. GetProcedureAddress(_StartDocA, gdi32, 'StartDocA');
  10407. asm
  10408. MOV ESP, EBP
  10409. POP EBP
  10410. JMP [_StartDocA]
  10411. end;
  10412. end;
  10413. var
  10414. _StartDocW: Pointer;
  10415. function StartDocW;
  10416. begin
  10417. GetProcedureAddress(_StartDocW, gdi32, 'StartDocW');
  10418. asm
  10419. MOV ESP, EBP
  10420. POP EBP
  10421. JMP [_StartDocW]
  10422. end;
  10423. end;
  10424. var
  10425. _StartDoc: Pointer;
  10426. function StartDoc;
  10427. begin
  10428. GetProcedureAddress(_StartDoc, gdi32, 'StartDoc' + AWSuffix);
  10429. asm
  10430. MOV ESP, EBP
  10431. POP EBP
  10432. JMP [_StartDoc]
  10433. end;
  10434. end;
  10435. var
  10436. __EndDoc: Pointer;
  10437. function EndDoc;
  10438. begin
  10439. GetProcedureAddress(__EndDoc, gdi32, 'EndDoc');
  10440. asm
  10441. MOV ESP, EBP
  10442. POP EBP
  10443. JMP [__EndDoc]
  10444. end;
  10445. end;
  10446. var
  10447. _StartPage: Pointer;
  10448. function StartPage;
  10449. begin
  10450. GetProcedureAddress(_StartPage, gdi32, 'StartPage');
  10451. asm
  10452. MOV ESP, EBP
  10453. POP EBP
  10454. JMP [_StartPage]
  10455. end;
  10456. end;
  10457. var
  10458. _EndPage: Pointer;
  10459. function EndPage;
  10460. begin
  10461. GetProcedureAddress(_EndPage, gdi32, 'EndPage');
  10462. asm
  10463. MOV ESP, EBP
  10464. POP EBP
  10465. JMP [_EndPage]
  10466. end;
  10467. end;
  10468. var
  10469. __AbortDoc: Pointer;
  10470. function AbortDoc;
  10471. begin
  10472. GetProcedureAddress(__AbortDoc, gdi32, 'AbortDoc');
  10473. asm
  10474. MOV ESP, EBP
  10475. POP EBP
  10476. JMP [__AbortDoc]
  10477. end;
  10478. end;
  10479. var
  10480. _SetAbortProc: Pointer;
  10481. function SetAbortProc;
  10482. begin
  10483. GetProcedureAddress(_SetAbortProc, gdi32, 'SetAbortProc');
  10484. asm
  10485. MOV ESP, EBP
  10486. POP EBP
  10487. JMP [_SetAbortProc]
  10488. end;
  10489. end;
  10490. var
  10491. _AbortPath: Pointer;
  10492. function AbortPath;
  10493. begin
  10494. GetProcedureAddress(_AbortPath, gdi32, 'AbortPath');
  10495. asm
  10496. MOV ESP, EBP
  10497. POP EBP
  10498. JMP [_AbortPath]
  10499. end;
  10500. end;
  10501. var
  10502. _ArcTo: Pointer;
  10503. function ArcTo;
  10504. begin
  10505. GetProcedureAddress(_ArcTo, gdi32, 'ArcTo');
  10506. asm
  10507. MOV ESP, EBP
  10508. POP EBP
  10509. JMP [_ArcTo]
  10510. end;
  10511. end;
  10512. var
  10513. _BeginPath: Pointer;
  10514. function BeginPath;
  10515. begin
  10516. GetProcedureAddress(_BeginPath, gdi32, 'BeginPath');
  10517. asm
  10518. MOV ESP, EBP
  10519. POP EBP
  10520. JMP [_BeginPath]
  10521. end;
  10522. end;
  10523. var
  10524. _CloseFigure: Pointer;
  10525. function CloseFigure;
  10526. begin
  10527. GetProcedureAddress(_CloseFigure, gdi32, 'CloseFigure');
  10528. asm
  10529. MOV ESP, EBP
  10530. POP EBP
  10531. JMP [_CloseFigure]
  10532. end;
  10533. end;
  10534. var
  10535. _EndPath: Pointer;
  10536. function EndPath;
  10537. begin
  10538. GetProcedureAddress(_EndPath, gdi32, 'EndPath');
  10539. asm
  10540. MOV ESP, EBP
  10541. POP EBP
  10542. JMP [_EndPath]
  10543. end;
  10544. end;
  10545. var
  10546. _FillPath: Pointer;
  10547. function FillPath;
  10548. begin
  10549. GetProcedureAddress(_FillPath, gdi32, 'FillPath');
  10550. asm
  10551. MOV ESP, EBP
  10552. POP EBP
  10553. JMP [_FillPath]
  10554. end;
  10555. end;
  10556. var
  10557. _FlattenPath: Pointer;
  10558. function FlattenPath;
  10559. begin
  10560. GetProcedureAddress(_FlattenPath, gdi32, 'FlattenPath');
  10561. asm
  10562. MOV ESP, EBP
  10563. POP EBP
  10564. JMP [_FlattenPath]
  10565. end;
  10566. end;
  10567. var
  10568. _GetPath: Pointer;
  10569. function GetPath;
  10570. begin
  10571. GetProcedureAddress(_GetPath, gdi32, 'GetPath');
  10572. asm
  10573. MOV ESP, EBP
  10574. POP EBP
  10575. JMP [_GetPath]
  10576. end;
  10577. end;
  10578. var
  10579. _PathToRegion: Pointer;
  10580. function PathToRegion;
  10581. begin
  10582. GetProcedureAddress(_PathToRegion, gdi32, 'PathToRegion');
  10583. asm
  10584. MOV ESP, EBP
  10585. POP EBP
  10586. JMP [_PathToRegion]
  10587. end;
  10588. end;
  10589. var
  10590. _PolyDraw: Pointer;
  10591. function PolyDraw;
  10592. begin
  10593. GetProcedureAddress(_PolyDraw, gdi32, 'PolyDraw');
  10594. asm
  10595. MOV ESP, EBP
  10596. POP EBP
  10597. JMP [_PolyDraw]
  10598. end;
  10599. end;
  10600. var
  10601. _SelectClipPath: Pointer;
  10602. function SelectClipPath;
  10603. begin
  10604. GetProcedureAddress(_SelectClipPath, gdi32, 'SelectClipPath');
  10605. asm
  10606. MOV ESP, EBP
  10607. POP EBP
  10608. JMP [_SelectClipPath]
  10609. end;
  10610. end;
  10611. var
  10612. _SetArcDirection: Pointer;
  10613. function SetArcDirection;
  10614. begin
  10615. GetProcedureAddress(_SetArcDirection, gdi32, 'SetArcDirection');
  10616. asm
  10617. MOV ESP, EBP
  10618. POP EBP
  10619. JMP [_SetArcDirection]
  10620. end;
  10621. end;
  10622. var
  10623. _SetMiterLimit: Pointer;
  10624. function SetMiterLimit;
  10625. begin
  10626. GetProcedureAddress(_SetMiterLimit, gdi32, 'SetMiterLimit');
  10627. asm
  10628. MOV ESP, EBP
  10629. POP EBP
  10630. JMP [_SetMiterLimit]
  10631. end;
  10632. end;
  10633. var
  10634. _StrokeAndFillPath: Pointer;
  10635. function StrokeAndFillPath;
  10636. begin
  10637. GetProcedureAddress(_StrokeAndFillPath, gdi32, 'StrokeAndFillPath');
  10638. asm
  10639. MOV ESP, EBP
  10640. POP EBP
  10641. JMP [_StrokeAndFillPath]
  10642. end;
  10643. end;
  10644. var
  10645. _StrokePath: Pointer;
  10646. function StrokePath;
  10647. begin
  10648. GetProcedureAddress(_StrokePath, gdi32, 'StrokePath');
  10649. asm
  10650. MOV ESP, EBP
  10651. POP EBP
  10652. JMP [_StrokePath]
  10653. end;
  10654. end;
  10655. var
  10656. _WidenPath: Pointer;
  10657. function WidenPath;
  10658. begin
  10659. GetProcedureAddress(_WidenPath, gdi32, 'WidenPath');
  10660. asm
  10661. MOV ESP, EBP
  10662. POP EBP
  10663. JMP [_WidenPath]
  10664. end;
  10665. end;
  10666. var
  10667. _ExtCreatePen: Pointer;
  10668. function ExtCreatePen;
  10669. begin
  10670. GetProcedureAddress(_ExtCreatePen, gdi32, 'ExtCreatePen');
  10671. asm
  10672. MOV ESP, EBP
  10673. POP EBP
  10674. JMP [_ExtCreatePen]
  10675. end;
  10676. end;
  10677. var
  10678. _GetMiterLimit: Pointer;
  10679. function GetMiterLimit;
  10680. begin
  10681. GetProcedureAddress(_GetMiterLimit, gdi32, 'GetMiterLimit');
  10682. asm
  10683. MOV ESP, EBP
  10684. POP EBP
  10685. JMP [_GetMiterLimit]
  10686. end;
  10687. end;
  10688. var
  10689. _GetArcDirection: Pointer;
  10690. function GetArcDirection;
  10691. begin
  10692. GetProcedureAddress(_GetArcDirection, gdi32, 'GetArcDirection');
  10693. asm
  10694. MOV ESP, EBP
  10695. POP EBP
  10696. JMP [_GetArcDirection]
  10697. end;
  10698. end;
  10699. var
  10700. _GetObjectA: Pointer;
  10701. function GetObjectA;
  10702. begin
  10703. GetProcedureAddress(_GetObjectA, gdi32, 'GetObjectA');
  10704. asm
  10705. MOV ESP, EBP
  10706. POP EBP
  10707. JMP [_GetObjectA]
  10708. end;
  10709. end;
  10710. var
  10711. _GetObjectW: Pointer;
  10712. function GetObjectW;
  10713. begin
  10714. GetProcedureAddress(_GetObjectW, gdi32, 'GetObjectW');
  10715. asm
  10716. MOV ESP, EBP
  10717. POP EBP
  10718. JMP [_GetObjectW]
  10719. end;
  10720. end;
  10721. var
  10722. _GetObject: Pointer;
  10723. function GetObject;
  10724. begin
  10725. GetProcedureAddress(_GetObject, gdi32, 'GetObject' + AWSuffix);
  10726. asm
  10727. MOV ESP, EBP
  10728. POP EBP
  10729. JMP [_GetObject]
  10730. end;
  10731. end;
  10732. var
  10733. _MoveToEx: Pointer;
  10734. function MoveToEx;
  10735. begin
  10736. GetProcedureAddress(_MoveToEx, gdi32, 'MoveToEx');
  10737. asm
  10738. MOV ESP, EBP
  10739. POP EBP
  10740. JMP [_MoveToEx]
  10741. end;
  10742. end;
  10743. var
  10744. _TextOutA: Pointer;
  10745. function TextOutA;
  10746. begin
  10747. GetProcedureAddress(_TextOutA, gdi32, 'TextOutA');
  10748. asm
  10749. MOV ESP, EBP
  10750. POP EBP
  10751. JMP [_TextOutA]
  10752. end;
  10753. end;
  10754. var
  10755. _TextOutW: Pointer;
  10756. function TextOutW;
  10757. begin
  10758. GetProcedureAddress(_TextOutW, gdi32, 'TextOutW');
  10759. asm
  10760. MOV ESP, EBP
  10761. POP EBP
  10762. JMP [_TextOutW]
  10763. end;
  10764. end;
  10765. var
  10766. _TextOut: Pointer;
  10767. function TextOut;
  10768. begin
  10769. GetProcedureAddress(_TextOut, gdi32, 'TextOut' + AWSuffix);
  10770. asm
  10771. MOV ESP, EBP
  10772. POP EBP
  10773. JMP [_TextOut]
  10774. end;
  10775. end;
  10776. var
  10777. _ExtTextOutA: Pointer;
  10778. function ExtTextOutA;
  10779. begin
  10780. GetProcedureAddress(_ExtTextOutA, gdi32, 'ExtTextOutA');
  10781. asm
  10782. MOV ESP, EBP
  10783. POP EBP
  10784. JMP [_ExtTextOutA]
  10785. end;
  10786. end;
  10787. var
  10788. _ExtTextOutW: Pointer;
  10789. function ExtTextOutW;
  10790. begin
  10791. GetProcedureAddress(_ExtTextOutW, gdi32, 'ExtTextOutW');
  10792. asm
  10793. MOV ESP, EBP
  10794. POP EBP
  10795. JMP [_ExtTextOutW]
  10796. end;
  10797. end;
  10798. var
  10799. _ExtTextOut: Pointer;
  10800. function ExtTextOut;
  10801. begin
  10802. GetProcedureAddress(_ExtTextOut, gdi32, 'ExtTextOut' + AWSuffix);
  10803. asm
  10804. MOV ESP, EBP
  10805. POP EBP
  10806. JMP [_ExtTextOut]
  10807. end;
  10808. end;
  10809. var
  10810. _PolyTextOutA: Pointer;
  10811. function PolyTextOutA;
  10812. begin
  10813. GetProcedureAddress(_PolyTextOutA, gdi32, 'PolyTextOutA');
  10814. asm
  10815. MOV ESP, EBP
  10816. POP EBP
  10817. JMP [_PolyTextOutA]
  10818. end;
  10819. end;
  10820. var
  10821. _PolyTextOutW: Pointer;
  10822. function PolyTextOutW;
  10823. begin
  10824. GetProcedureAddress(_PolyTextOutW, gdi32, 'PolyTextOutW');
  10825. asm
  10826. MOV ESP, EBP
  10827. POP EBP
  10828. JMP [_PolyTextOutW]
  10829. end;
  10830. end;
  10831. var
  10832. _PolyTextOut: Pointer;
  10833. function PolyTextOut;
  10834. begin
  10835. GetProcedureAddress(_PolyTextOut, gdi32, 'PolyTextOut' + AWSuffix);
  10836. asm
  10837. MOV ESP, EBP
  10838. POP EBP
  10839. JMP [_PolyTextOut]
  10840. end;
  10841. end;
  10842. var
  10843. _CreatePolygonRgn: Pointer;
  10844. function CreatePolygonRgn;
  10845. begin
  10846. GetProcedureAddress(_CreatePolygonRgn, gdi32, 'CreatePolygonRgn');
  10847. asm
  10848. MOV ESP, EBP
  10849. POP EBP
  10850. JMP [_CreatePolygonRgn]
  10851. end;
  10852. end;
  10853. var
  10854. _DPtoLP: Pointer;
  10855. function DPtoLP;
  10856. begin
  10857. GetProcedureAddress(_DPtoLP, gdi32, 'DPtoLP');
  10858. asm
  10859. MOV ESP, EBP
  10860. POP EBP
  10861. JMP [_DPtoLP]
  10862. end;
  10863. end;
  10864. var
  10865. _LPtoDP: Pointer;
  10866. function LPtoDP;
  10867. begin
  10868. GetProcedureAddress(_LPtoDP, gdi32, 'LPtoDP');
  10869. asm
  10870. MOV ESP, EBP
  10871. POP EBP
  10872. JMP [_LPtoDP]
  10873. end;
  10874. end;
  10875. var
  10876. _Polygon: Pointer;
  10877. function Polygon;
  10878. begin
  10879. GetProcedureAddress(_Polygon, gdi32, 'Polygon');
  10880. asm
  10881. MOV ESP, EBP
  10882. POP EBP
  10883. JMP [_Polygon]
  10884. end;
  10885. end;
  10886. var
  10887. _Polyline: Pointer;
  10888. function Polyline;
  10889. begin
  10890. GetProcedureAddress(_Polyline, gdi32, 'Polyline');
  10891. asm
  10892. MOV ESP, EBP
  10893. POP EBP
  10894. JMP [_Polyline]
  10895. end;
  10896. end;
  10897. var
  10898. _PolyBezier: Pointer;
  10899. function PolyBezier;
  10900. begin
  10901. GetProcedureAddress(_PolyBezier, gdi32, 'PolyBezier');
  10902. asm
  10903. MOV ESP, EBP
  10904. POP EBP
  10905. JMP [_PolyBezier]
  10906. end;
  10907. end;
  10908. var
  10909. _PolyBezierTo: Pointer;
  10910. function PolyBezierTo;
  10911. begin
  10912. GetProcedureAddress(_PolyBezierTo, gdi32, 'PolyBezierTo');
  10913. asm
  10914. MOV ESP, EBP
  10915. POP EBP
  10916. JMP [_PolyBezierTo]
  10917. end;
  10918. end;
  10919. var
  10920. _PolylineTo: Pointer;
  10921. function PolylineTo;
  10922. begin
  10923. GetProcedureAddress(_PolylineTo, gdi32, 'PolylineTo');
  10924. asm
  10925. MOV ESP, EBP
  10926. POP EBP
  10927. JMP [_PolylineTo]
  10928. end;
  10929. end;
  10930. var
  10931. _SetViewportExtEx: Pointer;
  10932. function SetViewportExtEx;
  10933. begin
  10934. GetProcedureAddress(_SetViewportExtEx, gdi32, 'SetViewportExtEx');
  10935. asm
  10936. MOV ESP, EBP
  10937. POP EBP
  10938. JMP [_SetViewportExtEx]
  10939. end;
  10940. end;
  10941. var
  10942. _SetViewportOrgEx: Pointer;
  10943. function SetViewportOrgEx;
  10944. begin
  10945. GetProcedureAddress(_SetViewportOrgEx, gdi32, 'SetViewportOrgEx');
  10946. asm
  10947. MOV ESP, EBP
  10948. POP EBP
  10949. JMP [_SetViewportOrgEx]
  10950. end;
  10951. end;
  10952. var
  10953. _SetWindowExtEx: Pointer;
  10954. function SetWindowExtEx;
  10955. begin
  10956. GetProcedureAddress(_SetWindowExtEx, gdi32, 'SetWindowExtEx');
  10957. asm
  10958. MOV ESP, EBP
  10959. POP EBP
  10960. JMP [_SetWindowExtEx]
  10961. end;
  10962. end;
  10963. var
  10964. _SetWindowOrgEx: Pointer;
  10965. function SetWindowOrgEx;
  10966. begin
  10967. GetProcedureAddress(_SetWindowOrgEx, gdi32, 'SetWindowOrgEx');
  10968. asm
  10969. MOV ESP, EBP
  10970. POP EBP
  10971. JMP [_SetWindowOrgEx]
  10972. end;
  10973. end;
  10974. var
  10975. _OffsetViewportOrgEx: Pointer;
  10976. function OffsetViewportOrgEx;
  10977. begin
  10978. GetProcedureAddress(_OffsetViewportOrgEx, gdi32, 'OffsetViewportOrgEx');
  10979. asm
  10980. MOV ESP, EBP
  10981. POP EBP
  10982. JMP [_OffsetViewportOrgEx]
  10983. end;
  10984. end;
  10985. var
  10986. _OffsetWindowOrgEx: Pointer;
  10987. function OffsetWindowOrgEx;
  10988. begin
  10989. GetProcedureAddress(_OffsetWindowOrgEx, gdi32, 'OffsetWindowOrgEx');
  10990. asm
  10991. MOV ESP, EBP
  10992. POP EBP
  10993. JMP [_OffsetWindowOrgEx]
  10994. end;
  10995. end;
  10996. var
  10997. _ScaleViewportExtEx: Pointer;
  10998. function ScaleViewportExtEx;
  10999. begin
  11000. GetProcedureAddress(_ScaleViewportExtEx, gdi32, 'ScaleViewportExtEx');
  11001. asm
  11002. MOV ESP, EBP
  11003. POP EBP
  11004. JMP [_ScaleViewportExtEx]
  11005. end;
  11006. end;
  11007. var
  11008. _ScaleWindowExtEx: Pointer;
  11009. function ScaleWindowExtEx;
  11010. begin
  11011. GetProcedureAddress(_ScaleWindowExtEx, gdi32, 'ScaleWindowExtEx');
  11012. asm
  11013. MOV ESP, EBP
  11014. POP EBP
  11015. JMP [_ScaleWindowExtEx]
  11016. end;
  11017. end;
  11018. var
  11019. _SetBitmapDimensionEx: Pointer;
  11020. function SetBitmapDimensionEx;
  11021. begin
  11022. GetProcedureAddress(_SetBitmapDimensionEx, gdi32, 'SetBitmapDimensionEx');
  11023. asm
  11024. MOV ESP, EBP
  11025. POP EBP
  11026. JMP [_SetBitmapDimensionEx]
  11027. end;
  11028. end;
  11029. var
  11030. _SetBrushOrgEx: Pointer;
  11031. function SetBrushOrgEx;
  11032. begin
  11033. GetProcedureAddress(_SetBrushOrgEx, gdi32, 'SetBrushOrgEx');
  11034. asm
  11035. MOV ESP, EBP
  11036. POP EBP
  11037. JMP [_SetBrushOrgEx]
  11038. end;
  11039. end;
  11040. var
  11041. _GetTextFaceA: Pointer;
  11042. function GetTextFaceA;
  11043. begin
  11044. GetProcedureAddress(_GetTextFaceA, gdi32, 'GetTextFaceA');
  11045. asm
  11046. MOV ESP, EBP
  11047. POP EBP
  11048. JMP [_GetTextFaceA]
  11049. end;
  11050. end;
  11051. var
  11052. _GetTextFaceW: Pointer;
  11053. function GetTextFaceW;
  11054. begin
  11055. GetProcedureAddress(_GetTextFaceW, gdi32, 'GetTextFaceW');
  11056. asm
  11057. MOV ESP, EBP
  11058. POP EBP
  11059. JMP [_GetTextFaceW]
  11060. end;
  11061. end;
  11062. var
  11063. _GetTextFace: Pointer;
  11064. function GetTextFace;
  11065. begin
  11066. GetProcedureAddress(_GetTextFace, gdi32, 'GetTextFace' + AWSuffix);
  11067. asm
  11068. MOV ESP, EBP
  11069. POP EBP
  11070. JMP [_GetTextFace]
  11071. end;
  11072. end;
  11073. var
  11074. _GetKerningPairsA: Pointer;
  11075. function GetKerningPairsA;
  11076. begin
  11077. GetProcedureAddress(_GetKerningPairsA, gdi32, 'GetKerningPairsA');
  11078. asm
  11079. MOV ESP, EBP
  11080. POP EBP
  11081. JMP [_GetKerningPairsA]
  11082. end;
  11083. end;
  11084. var
  11085. _GetKerningPairsW: Pointer;
  11086. function GetKerningPairsW;
  11087. begin
  11088. GetProcedureAddress(_GetKerningPairsW, gdi32, 'GetKerningPairsW');
  11089. asm
  11090. MOV ESP, EBP
  11091. POP EBP
  11092. JMP [_GetKerningPairsW]
  11093. end;
  11094. end;
  11095. var
  11096. _GetKerningPairs: Pointer;
  11097. function GetKerningPairs;
  11098. begin
  11099. GetProcedureAddress(_GetKerningPairs, gdi32, 'GetKerningPairs' + AWSuffix);
  11100. asm
  11101. MOV ESP, EBP
  11102. POP EBP
  11103. JMP [_GetKerningPairs]
  11104. end;
  11105. end;
  11106. var
  11107. _GetDCOrgEx: Pointer;
  11108. function GetDCOrgEx;
  11109. begin
  11110. GetProcedureAddress(_GetDCOrgEx, gdi32, 'GetDCOrgEx');
  11111. asm
  11112. MOV ESP, EBP
  11113. POP EBP
  11114. JMP [_GetDCOrgEx]
  11115. end;
  11116. end;
  11117. var
  11118. _FixBrushOrgEx: Pointer;
  11119. function FixBrushOrgEx;
  11120. begin
  11121. GetProcedureAddress(_FixBrushOrgEx, gdi32, 'FixBrushOrgEx');
  11122. asm
  11123. MOV ESP, EBP
  11124. POP EBP
  11125. JMP [_FixBrushOrgEx]
  11126. end;
  11127. end;
  11128. var
  11129. _UnrealizeObject: Pointer;
  11130. function UnrealizeObject;
  11131. begin
  11132. GetProcedureAddress(_UnrealizeObject, gdi32, 'UnrealizeObject');
  11133. asm
  11134. MOV ESP, EBP
  11135. POP EBP
  11136. JMP [_UnrealizeObject]
  11137. end;
  11138. end;
  11139. var
  11140. _GdiFlush: Pointer;
  11141. function GdiFlush;
  11142. begin
  11143. GetProcedureAddress(_GdiFlush, gdi32, 'GdiFlush');
  11144. asm
  11145. MOV ESP, EBP
  11146. POP EBP
  11147. JMP [_GdiFlush]
  11148. end;
  11149. end;
  11150. var
  11151. _GdiSetBatchLimit: Pointer;
  11152. function GdiSetBatchLimit;
  11153. begin
  11154. GetProcedureAddress(_GdiSetBatchLimit, gdi32, 'GdiSetBatchLimit');
  11155. asm
  11156. MOV ESP, EBP
  11157. POP EBP
  11158. JMP [_GdiSetBatchLimit]
  11159. end;
  11160. end;
  11161. var
  11162. _GdiGetBatchLimit: Pointer;
  11163. function GdiGetBatchLimit;
  11164. begin
  11165. GetProcedureAddress(_GdiGetBatchLimit, gdi32, 'GdiGetBatchLimit');
  11166. asm
  11167. MOV ESP, EBP
  11168. POP EBP
  11169. JMP [_GdiGetBatchLimit]
  11170. end;
  11171. end;
  11172. var
  11173. _SetICMMode: Pointer;
  11174. function SetICMMode;
  11175. begin
  11176. GetProcedureAddress(_SetICMMode, gdi32, 'SetICMMode');
  11177. asm
  11178. MOV ESP, EBP
  11179. POP EBP
  11180. JMP [_SetICMMode]
  11181. end;
  11182. end;
  11183. var
  11184. _CheckColorsInGamut: Pointer;
  11185. function CheckColorsInGamut;
  11186. begin
  11187. GetProcedureAddress(_CheckColorsInGamut, gdi32, 'CheckColorsInGamut');
  11188. asm
  11189. MOV ESP, EBP
  11190. POP EBP
  11191. JMP [_CheckColorsInGamut]
  11192. end;
  11193. end;
  11194. var
  11195. _GetColorSpace: Pointer;
  11196. function GetColorSpace;
  11197. begin
  11198. GetProcedureAddress(_GetColorSpace, gdi32, 'GetColorSpace');
  11199. asm
  11200. MOV ESP, EBP
  11201. POP EBP
  11202. JMP [_GetColorSpace]
  11203. end;
  11204. end;
  11205. var
  11206. _GetLogColorSpaceA: Pointer;
  11207. function GetLogColorSpaceA;
  11208. begin
  11209. GetProcedureAddress(_GetLogColorSpaceA, gdi32, 'GetLogColorSpaceA');
  11210. asm
  11211. MOV ESP, EBP
  11212. POP EBP
  11213. JMP [_GetLogColorSpaceA]
  11214. end;
  11215. end;
  11216. var
  11217. _GetLogColorSpaceW: Pointer;
  11218. function GetLogColorSpaceW;
  11219. begin
  11220. GetProcedureAddress(_GetLogColorSpaceW, gdi32, 'GetLogColorSpaceW');
  11221. asm
  11222. MOV ESP, EBP
  11223. POP EBP
  11224. JMP [_GetLogColorSpaceW]
  11225. end;
  11226. end;
  11227. var
  11228. _GetLogColorSpace: Pointer;
  11229. function GetLogColorSpace;
  11230. begin
  11231. GetProcedureAddress(_GetLogColorSpace, gdi32, 'GetLogColorSpace' + AWSuffix);
  11232. asm
  11233. MOV ESP, EBP
  11234. POP EBP
  11235. JMP [_GetLogColorSpace]
  11236. end;
  11237. end;
  11238. var
  11239. _CreateColorSpaceA: Pointer;
  11240. function CreateColorSpaceA;
  11241. begin
  11242. GetProcedureAddress(_CreateColorSpaceA, gdi32, 'CreateColorSpaceA');
  11243. asm
  11244. MOV ESP, EBP
  11245. POP EBP
  11246. JMP [_CreateColorSpaceA]
  11247. end;
  11248. end;
  11249. var
  11250. _CreateColorSpaceW: Pointer;
  11251. function CreateColorSpaceW;
  11252. begin
  11253. GetProcedureAddress(_CreateColorSpaceW, gdi32, 'CreateColorSpaceW');
  11254. asm
  11255. MOV ESP, EBP
  11256. POP EBP
  11257. JMP [_CreateColorSpaceW]
  11258. end;
  11259. end;
  11260. var
  11261. _CreateColorSpace: Pointer;
  11262. function CreateColorSpace;
  11263. begin
  11264. GetProcedureAddress(_CreateColorSpace, gdi32, 'CreateColorSpace' + AWSuffix);
  11265. asm
  11266. MOV ESP, EBP
  11267. POP EBP
  11268. JMP [_CreateColorSpace]
  11269. end;
  11270. end;
  11271. var
  11272. _SetColorSpace: Pointer;
  11273. function SetColorSpace;
  11274. begin
  11275. GetProcedureAddress(_SetColorSpace, gdi32, 'SetColorSpace');
  11276. asm
  11277. MOV ESP, EBP
  11278. POP EBP
  11279. JMP [_SetColorSpace]
  11280. end;
  11281. end;
  11282. var
  11283. _DeleteColorSpace: Pointer;
  11284. function DeleteColorSpace;
  11285. begin
  11286. GetProcedureAddress(_DeleteColorSpace, gdi32, 'DeleteColorSpace');
  11287. asm
  11288. MOV ESP, EBP
  11289. POP EBP
  11290. JMP [_DeleteColorSpace]
  11291. end;
  11292. end;
  11293. var
  11294. _GetICMProfileA: Pointer;
  11295. function GetICMProfileA;
  11296. begin
  11297. GetProcedureAddress(_GetICMProfileA, gdi32, 'GetICMProfileA');
  11298. asm
  11299. MOV ESP, EBP
  11300. POP EBP
  11301. JMP [_GetICMProfileA]
  11302. end;
  11303. end;
  11304. var
  11305. _GetICMProfileW: Pointer;
  11306. function GetICMProfileW;
  11307. begin
  11308. GetProcedureAddress(_GetICMProfileW, gdi32, 'GetICMProfileW');
  11309. asm
  11310. MOV ESP, EBP
  11311. POP EBP
  11312. JMP [_GetICMProfileW]
  11313. end;
  11314. end;
  11315. var
  11316. _GetICMProfile: Pointer;
  11317. function GetICMProfile;
  11318. begin
  11319. GetProcedureAddress(_GetICMProfile, gdi32, 'GetICMProfile' + AWSuffix);
  11320. asm
  11321. MOV ESP, EBP
  11322. POP EBP
  11323. JMP [_GetICMProfile]
  11324. end;
  11325. end;
  11326. var
  11327. _SetICMProfileA: Pointer;
  11328. function SetICMProfileA;
  11329. begin
  11330. GetProcedureAddress(_SetICMProfileA, gdi32, 'SetICMProfileA');
  11331. asm
  11332. MOV ESP, EBP
  11333. POP EBP
  11334. JMP [_SetICMProfileA]
  11335. end;
  11336. end;
  11337. var
  11338. _SetICMProfileW: Pointer;
  11339. function SetICMProfileW;
  11340. begin
  11341. GetProcedureAddress(_SetICMProfileW, gdi32, 'SetICMProfileW');
  11342. asm
  11343. MOV ESP, EBP
  11344. POP EBP
  11345. JMP [_SetICMProfileW]
  11346. end;
  11347. end;
  11348. var
  11349. _SetICMProfile: Pointer;
  11350. function SetICMProfile;
  11351. begin
  11352. GetProcedureAddress(_SetICMProfile, gdi32, 'SetICMProfile' + AWSuffix);
  11353. asm
  11354. MOV ESP, EBP
  11355. POP EBP
  11356. JMP [_SetICMProfile]
  11357. end;
  11358. end;
  11359. var
  11360. _GetDeviceGammaRamp: Pointer;
  11361. function GetDeviceGammaRamp;
  11362. begin
  11363. GetProcedureAddress(_GetDeviceGammaRamp, gdi32, 'GetDeviceGammaRamp');
  11364. asm
  11365. MOV ESP, EBP
  11366. POP EBP
  11367. JMP [_GetDeviceGammaRamp]
  11368. end;
  11369. end;
  11370. var
  11371. _SetDeviceGammaRamp: Pointer;
  11372. function SetDeviceGammaRamp;
  11373. begin
  11374. GetProcedureAddress(_SetDeviceGammaRamp, gdi32, 'SetDeviceGammaRamp');
  11375. asm
  11376. MOV ESP, EBP
  11377. POP EBP
  11378. JMP [_SetDeviceGammaRamp]
  11379. end;
  11380. end;
  11381. var
  11382. _ColorMatchToTarget: Pointer;
  11383. function ColorMatchToTarget;
  11384. begin
  11385. GetProcedureAddress(_ColorMatchToTarget, gdi32, 'ColorMatchToTarget');
  11386. asm
  11387. MOV ESP, EBP
  11388. POP EBP
  11389. JMP [_ColorMatchToTarget]
  11390. end;
  11391. end;
  11392. var
  11393. _EnumICMProfilesA: Pointer;
  11394. function EnumICMProfilesA;
  11395. begin
  11396. GetProcedureAddress(_EnumICMProfilesA, gdi32, 'EnumICMProfilesA');
  11397. asm
  11398. MOV ESP, EBP
  11399. POP EBP
  11400. JMP [_EnumICMProfilesA]
  11401. end;
  11402. end;
  11403. var
  11404. _EnumICMProfilesW: Pointer;
  11405. function EnumICMProfilesW;
  11406. begin
  11407. GetProcedureAddress(_EnumICMProfilesW, gdi32, 'EnumICMProfilesW');
  11408. asm
  11409. MOV ESP, EBP
  11410. POP EBP
  11411. JMP [_EnumICMProfilesW]
  11412. end;
  11413. end;
  11414. var
  11415. _EnumICMProfiles: Pointer;
  11416. function EnumICMProfiles;
  11417. begin
  11418. GetProcedureAddress(_EnumICMProfiles, gdi32, 'EnumICMProfiles' + AWSuffix);
  11419. asm
  11420. MOV ESP, EBP
  11421. POP EBP
  11422. JMP [_EnumICMProfiles]
  11423. end;
  11424. end;
  11425. var
  11426. _UpdateICMRegKeyA: Pointer;
  11427. function UpdateICMRegKeyA;
  11428. begin
  11429. GetProcedureAddress(_UpdateICMRegKeyA, gdi32, 'UpdateICMRegKeyA');
  11430. asm
  11431. MOV ESP, EBP
  11432. POP EBP
  11433. JMP [_UpdateICMRegKeyA]
  11434. end;
  11435. end;
  11436. var
  11437. _UpdateICMRegKeyW: Pointer;
  11438. function UpdateICMRegKeyW;
  11439. begin
  11440. GetProcedureAddress(_UpdateICMRegKeyW, gdi32, 'UpdateICMRegKeyW');
  11441. asm
  11442. MOV ESP, EBP
  11443. POP EBP
  11444. JMP [_UpdateICMRegKeyW]
  11445. end;
  11446. end;
  11447. var
  11448. _UpdateICMRegKey: Pointer;
  11449. function UpdateICMRegKey;
  11450. begin
  11451. GetProcedureAddress(_UpdateICMRegKey, gdi32, 'UpdateICMRegKey' + AWSuffix);
  11452. asm
  11453. MOV ESP, EBP
  11454. POP EBP
  11455. JMP [_UpdateICMRegKey]
  11456. end;
  11457. end;
  11458. var
  11459. _ColorCorrectPalette: Pointer;
  11460. function ColorCorrectPalette;
  11461. begin
  11462. GetProcedureAddress(_ColorCorrectPalette, gdi32, 'ColorCorrectPalette');
  11463. asm
  11464. MOV ESP, EBP
  11465. POP EBP
  11466. JMP [_ColorCorrectPalette]
  11467. end;
  11468. end;
  11469. var
  11470. _wglCopyContext: Pointer;
  11471. function wglCopyContext;
  11472. begin
  11473. GetProcedureAddress(_wglCopyContext, opengl32, 'wglCopyContext');
  11474. asm
  11475. MOV ESP, EBP
  11476. POP EBP
  11477. JMP [_wglCopyContext]
  11478. end;
  11479. end;
  11480. var
  11481. _wglCreateContext: Pointer;
  11482. function wglCreateContext;
  11483. begin
  11484. GetProcedureAddress(_wglCreateContext, opengl32, 'wglCreateContext');
  11485. asm
  11486. MOV ESP, EBP
  11487. POP EBP
  11488. JMP [_wglCreateContext]
  11489. end;
  11490. end;
  11491. var
  11492. _wglCreateLayerContext: Pointer;
  11493. function wglCreateLayerContext;
  11494. begin
  11495. GetProcedureAddress(_wglCreateLayerContext, opengl32, 'wglCreateLayerContext');
  11496. asm
  11497. MOV ESP, EBP
  11498. POP EBP
  11499. JMP [_wglCreateLayerContext]
  11500. end;
  11501. end;
  11502. var
  11503. _wglDeleteContext: Pointer;
  11504. function wglDeleteContext;
  11505. begin
  11506. GetProcedureAddress(_wglDeleteContext, opengl32, 'wglDeleteContext');
  11507. asm
  11508. MOV ESP, EBP
  11509. POP EBP
  11510. JMP [_wglDeleteContext]
  11511. end;
  11512. end;
  11513. var
  11514. _wglGetCurrentContext: Pointer;
  11515. function wglGetCurrentContext;
  11516. begin
  11517. GetProcedureAddress(_wglGetCurrentContext, opengl32, 'wglGetCurrentContext');
  11518. asm
  11519. MOV ESP, EBP
  11520. POP EBP
  11521. JMP [_wglGetCurrentContext]
  11522. end;
  11523. end;
  11524. var
  11525. _wglGetCurrentDC: Pointer;
  11526. function wglGetCurrentDC;
  11527. begin
  11528. GetProcedureAddress(_wglGetCurrentDC, opengl32, 'wglGetCurrentDC');
  11529. asm
  11530. MOV ESP, EBP
  11531. POP EBP
  11532. JMP [_wglGetCurrentDC]
  11533. end;
  11534. end;
  11535. var
  11536. _wglGetProcAddress: Pointer;
  11537. function wglGetProcAddress;
  11538. begin
  11539. GetProcedureAddress(_wglGetProcAddress, opengl32, 'wglGetProcAddress');
  11540. asm
  11541. MOV ESP, EBP
  11542. POP EBP
  11543. JMP [_wglGetProcAddress]
  11544. end;
  11545. end;
  11546. var
  11547. _wglMakeCurrent: Pointer;
  11548. function wglMakeCurrent;
  11549. begin
  11550. GetProcedureAddress(_wglMakeCurrent, opengl32, 'wglMakeCurrent');
  11551. asm
  11552. MOV ESP, EBP
  11553. POP EBP
  11554. JMP [_wglMakeCurrent]
  11555. end;
  11556. end;
  11557. var
  11558. _wglShareLists: Pointer;
  11559. function wglShareLists;
  11560. begin
  11561. GetProcedureAddress(_wglShareLists, opengl32, 'wglShareLists');
  11562. asm
  11563. MOV ESP, EBP
  11564. POP EBP
  11565. JMP [_wglShareLists]
  11566. end;
  11567. end;
  11568. var
  11569. _wglUseFontBitmapsA: Pointer;
  11570. function wglUseFontBitmapsA;
  11571. begin
  11572. GetProcedureAddress(_wglUseFontBitmapsA, opengl32, 'wglUseFontBitmapsA');
  11573. asm
  11574. MOV ESP, EBP
  11575. POP EBP
  11576. JMP [_wglUseFontBitmapsA]
  11577. end;
  11578. end;
  11579. var
  11580. _wglUseFontBitmapsW: Pointer;
  11581. function wglUseFontBitmapsW;
  11582. begin
  11583. GetProcedureAddress(_wglUseFontBitmapsW, opengl32, 'wglUseFontBitmapsW');
  11584. asm
  11585. MOV ESP, EBP
  11586. POP EBP
  11587. JMP [_wglUseFontBitmapsW]
  11588. end;
  11589. end;
  11590. var
  11591. _wglUseFontBitmaps: Pointer;
  11592. function wglUseFontBitmaps;
  11593. begin
  11594. GetProcedureAddress(_wglUseFontBitmaps, opengl32, 'wglUseFontBitmaps' + AWSuffix);
  11595. asm
  11596. MOV ESP, EBP
  11597. POP EBP
  11598. JMP [_wglUseFontBitmaps]
  11599. end;
  11600. end;
  11601. var
  11602. _SwapBuffers: Pointer;
  11603. function SwapBuffers;
  11604. begin
  11605. GetProcedureAddress(_SwapBuffers, opengl32, 'SwapBuffers');
  11606. asm
  11607. MOV ESP, EBP
  11608. POP EBP
  11609. JMP [_SwapBuffers]
  11610. end;
  11611. end;
  11612. var
  11613. _wglUseFontOutlinesA: Pointer;
  11614. function wglUseFontOutlinesA;
  11615. begin
  11616. GetProcedureAddress(_wglUseFontOutlinesA, opengl32, 'wglUseFontOutlinesA');
  11617. asm
  11618. MOV ESP, EBP
  11619. POP EBP
  11620. JMP [_wglUseFontOutlinesA]
  11621. end;
  11622. end;
  11623. var
  11624. _wglUseFontOutlinesW: Pointer;
  11625. function wglUseFontOutlinesW;
  11626. begin
  11627. GetProcedureAddress(_wglUseFontOutlinesW, opengl32, 'wglUseFontOutlinesW');
  11628. asm
  11629. MOV ESP, EBP
  11630. POP EBP
  11631. JMP [_wglUseFontOutlinesW]
  11632. end;
  11633. end;
  11634. var
  11635. _wglUseFontOutlines: Pointer;
  11636. function wglUseFontOutlines;
  11637. begin
  11638. GetProcedureAddress(_wglUseFontOutlines, opengl32, 'wglUseFontOutlines' + AWSuffix);
  11639. asm
  11640. MOV ESP, EBP
  11641. POP EBP
  11642. JMP [_wglUseFontOutlines]
  11643. end;
  11644. end;
  11645. var
  11646. _wglDescribeLayerPlane: Pointer;
  11647. function wglDescribeLayerPlane;
  11648. begin
  11649. GetProcedureAddress(_wglDescribeLayerPlane, opengl32, 'wglDescribeLayerPlane');
  11650. asm
  11651. MOV ESP, EBP
  11652. POP EBP
  11653. JMP [_wglDescribeLayerPlane]
  11654. end;
  11655. end;
  11656. var
  11657. _wglSetLayerPaletteEntries: Pointer;
  11658. function wglSetLayerPaletteEntries;
  11659. begin
  11660. GetProcedureAddress(_wglSetLayerPaletteEntries, opengl32, 'wglSetLayerPaletteEntries');
  11661. asm
  11662. MOV ESP, EBP
  11663. POP EBP
  11664. JMP [_wglSetLayerPaletteEntries]
  11665. end;
  11666. end;
  11667. var
  11668. _wglGetLayerPaletteEntries: Pointer;
  11669. function wglGetLayerPaletteEntries;
  11670. begin
  11671. GetProcedureAddress(_wglGetLayerPaletteEntries, opengl32, 'wglGetLayerPaletteEntries');
  11672. asm
  11673. MOV ESP, EBP
  11674. POP EBP
  11675. JMP [_wglGetLayerPaletteEntries]
  11676. end;
  11677. end;
  11678. var
  11679. _wglRealizeLayerPalette: Pointer;
  11680. function wglRealizeLayerPalette;
  11681. begin
  11682. GetProcedureAddress(_wglRealizeLayerPalette, opengl32, 'wglRealizeLayerPalette');
  11683. asm
  11684. MOV ESP, EBP
  11685. POP EBP
  11686. JMP [_wglRealizeLayerPalette]
  11687. end;
  11688. end;
  11689. var
  11690. _wglSwapLayerBuffers: Pointer;
  11691. function wglSwapLayerBuffers;
  11692. begin
  11693. GetProcedureAddress(_wglSwapLayerBuffers, opengl32, 'wglSwapLayerBuffers');
  11694. asm
  11695. MOV ESP, EBP
  11696. POP EBP
  11697. JMP [_wglSwapLayerBuffers]
  11698. end;
  11699. end;
  11700. var
  11701. _wglSwapMultipleBuffers: Pointer;
  11702. function wglSwapMultipleBuffers;
  11703. begin
  11704. GetProcedureAddress(_wglSwapMultipleBuffers, opengl32, 'wglSwapMultipleBuffers');
  11705. asm
  11706. MOV ESP, EBP
  11707. POP EBP
  11708. JMP [_wglSwapMultipleBuffers]
  11709. end;
  11710. end;
  11711. {$ELSE}
  11712. function AddFontResourceA; external gdi32 name 'AddFontResourceA';
  11713. function AddFontResourceW; external gdi32 name 'AddFontResourceW';
  11714. function AddFontResource; external gdi32 name 'AddFontResource' + AWSuffix;
  11715. function AnimatePalette; external gdi32 name 'AnimatePalette';
  11716. function Arc; external gdi32 name 'Arc';
  11717. function BitBlt; external gdi32 name 'BitBlt';
  11718. function CancelDC; external gdi32 name 'CancelDC';
  11719. function Chord; external gdi32 name 'Chord';
  11720. function ChoosePixelFormat; external gdi32 name 'ChoosePixelFormat';
  11721. function CloseMetaFile; external gdi32 name 'CloseMetaFile';
  11722. function CombineRgn; external gdi32 name 'CombineRgn';
  11723. function CopyMetaFileA; external gdi32 name 'CopyMetaFileA';
  11724. function CopyMetaFileW; external gdi32 name 'CopyMetaFileW';
  11725. function CopyMetaFile; external gdi32 name 'CopyMetaFile' + AWSuffix;
  11726. function CreateBitmap; external gdi32 name 'CreateBitmap';
  11727. function CreateBitmapIndirect; external gdi32 name 'CreateBitmapIndirect';
  11728. function CreateBrushIndirect; external gdi32 name 'CreateBrushIndirect';
  11729. function CreateCompatibleBitmap; external gdi32 name 'CreateCompatibleBitmap';
  11730. function CreateDiscardableBitmap; external gdi32 name 'CreateDiscardableBitmap';
  11731. function CreateCompatibleDC; external gdi32 name 'CreateCompatibleDC';
  11732. function CreateDCA; external gdi32 name 'CreateDCA';
  11733. function CreateDCW; external gdi32 name 'CreateDCW';
  11734. function CreateDC; external gdi32 name 'CreateDC' + AWSuffix;
  11735. function CreateDIBitmap; external gdi32 name 'CreateDIBitmap';
  11736. function CreateDIBPatternBrush; external gdi32 name 'CreateDIBPatternBrush';
  11737. function CreateDIBPatternBrushPt; external gdi32 name 'CreateDIBPatternBrushPt';
  11738. function CreateEllipticRgn; external gdi32 name 'CreateEllipticRgn';
  11739. function CreateEllipticRgnIndirect; external gdi32 name 'CreateEllipticRgnIndirect';
  11740. function CreateFontIndirectA; external gdi32 name 'CreateFontIndirectA';
  11741. function CreateFontIndirectW; external gdi32 name 'CreateFontIndirectW';
  11742. function CreateFontIndirect; external gdi32 name 'CreateFontIndirect' + AWSuffix;
  11743. function CreateFontA; external gdi32 name 'CreateFontA';
  11744. function CreateFontW; external gdi32 name 'CreateFontW';
  11745. function CreateFont; external gdi32 name 'CreateFont' + AWSuffix;
  11746. function CreateHatchBrush; external gdi32 name 'CreateHatchBrush';
  11747. function CreateICA; external gdi32 name 'CreateICA';
  11748. function CreateICW; external gdi32 name 'CreateICW';
  11749. function CreateIC; external gdi32 name 'CreateIC' + AWSuffix;
  11750. function CreateMetaFileA; external gdi32 name 'CreateMetaFileA';
  11751. function CreateMetaFileW; external gdi32 name 'CreateMetaFileW';
  11752. function CreateMetaFile; external gdi32 name 'CreateMetaFile' + AWSuffix;
  11753. function CreatePalette; external gdi32 name 'CreatePalette';
  11754. function CreatePen; external gdi32 name 'CreatePen';
  11755. function CreatePenIndirect; external gdi32 name 'CreatePenIndirect';
  11756. function CreatePolyPolygonRgn; external gdi32 name 'CreatePolyPolygonRgn';
  11757. function CreatePatternBrush; external gdi32 name 'CreatePatternBrush';
  11758. function CreateRectRgn; external gdi32 name 'CreateRectRgn';
  11759. function CreateRectRgnIndirect; external gdi32 name 'CreateRectRgnIndirect';
  11760. function CreateRoundRectRgn; external gdi32 name 'CreateRoundRectRgn';
  11761. function CreateScalableFontResourceA; external gdi32 name 'CreateScalableFontResourceA';
  11762. function CreateScalableFontResourceW; external gdi32 name 'CreateScalableFontResourceW';
  11763. function CreateScalableFontResource; external gdi32 name 'CreateScalableFontResource' + AWSuffix;
  11764. function CreateSolidBrush; external gdi32 name 'CreateSolidBrush';
  11765. function DeleteDC; external gdi32 name 'DeleteDC';
  11766. function DeleteMetaFile; external gdi32 name 'DeleteMetaFile';
  11767. function DeleteObject; external gdi32 name 'DeleteObject';
  11768. function DescribePixelFormat; external gdi32 name 'DescribePixelFormat';
  11769. function DeviceCapabilitiesA; external winspool32 name 'DeviceCapabilitiesA';
  11770. function DeviceCapabilitiesW; external winspool32 name 'DeviceCapabilitiesW';
  11771. function DeviceCapabilities; external winspool32 name 'DeviceCapabilities' + AWSuffix;
  11772. function DrawEscape; external gdi32 name 'DrawEscape';
  11773. function Ellipse; external gdi32 name 'Ellipse';
  11774. function EnumFontFamiliesExA; external gdi32 name 'EnumFontFamiliesExA';
  11775. function EnumFontFamiliesExW; external gdi32 name 'EnumFontFamiliesExW';
  11776. function EnumFontFamiliesEx; external gdi32 name 'EnumFontFamiliesEx' + AWSuffix;
  11777. function EnumFontFamiliesA; external gdi32 name 'EnumFontFamiliesA';
  11778. function EnumFontFamiliesW; external gdi32 name 'EnumFontFamiliesW';
  11779. function EnumFontFamilies; external gdi32 name 'EnumFontFamilies' + AWSuffix;
  11780. function EnumFontsA; external gdi32 name 'EnumFontsA';
  11781. function EnumFontsW; external gdi32 name 'EnumFontsW';
  11782. function EnumFonts; external gdi32 name 'EnumFonts' + AWSuffix;
  11783. function EnumObjects; external gdi32 name 'EnumObjects';
  11784. function EqualRgn; external gdi32 name 'EqualRgn';
  11785. function Escape; external gdi32 name 'Escape';
  11786. function ExtEscape; external gdi32 name 'ExtEscape';
  11787. function ExcludeClipRect; external gdi32 name 'ExcludeClipRect';
  11788. function ExtCreateRegion; external gdi32 name 'ExtCreateRegion';
  11789. function ExtFloodFill; external gdi32 name 'ExtFloodFill';
  11790. function FillRgn; external gdi32 name 'FillRgn';
  11791. function FloodFill; external gdi32 name 'FloodFill';
  11792. function FrameRgn; external gdi32 name 'FrameRgn';
  11793. function GetROP2; external gdi32 name 'GetROP2';
  11794. function GetAspectRatioFilterEx; external gdi32 name 'GetAspectRatioFilterEx';
  11795. function GetBkColor; external gdi32 name 'GetBkColor';
  11796. function GetDCBrushColor; external gdi32 name 'GetDCBrushColor';
  11797. function GetDCPenColor; external gdi32 name 'GetDCPenColor';
  11798. function GetBkMode; external gdi32 name 'GetBkMode';
  11799. function GetBitmapBits; external gdi32 name 'GetBitmapBits';
  11800. function GetBitmapDimensionEx; external gdi32 name 'GetBitmapDimensionEx';
  11801. function GetBoundsRect; external gdi32 name 'GetBoundsRect';
  11802. function GetBrushOrgEx; external gdi32 name 'GetBrushOrgEx';
  11803. function GetCharWidthA; external gdi32 name 'GetCharWidthA';
  11804. function GetCharWidthW; external gdi32 name 'GetCharWidthW';
  11805. function GetCharWidth; external gdi32 name 'GetCharWidth' + AWSuffix;
  11806. function GetCharWidth32A; external gdi32 name 'GetCharWidth32A';
  11807. function GetCharWidth32W; external gdi32 name 'GetCharWidth32W';
  11808. function GetCharWidth32; external gdi32 name 'GetCharWidth32' + AWSuffix;
  11809. function GetCharWidthFloatA; external gdi32 name 'GetCharWidthFloatA';
  11810. function GetCharWidthFloatW; external gdi32 name 'GetCharWidthFloatW';
  11811. function GetCharWidthFloat; external gdi32 name 'GetCharWidthFloat' + AWSuffix;
  11812. function GetCharABCWidthsA; external gdi32 name 'GetCharABCWidthsA';
  11813. function GetCharABCWidthsW; external gdi32 name 'GetCharABCWidthsW';
  11814. function GetCharABCWidths; external gdi32 name 'GetCharABCWidths' + AWSuffix;
  11815. function GetCharABCWidthsFloatA; external gdi32 name 'GetCharABCWidthsFloatA';
  11816. function GetCharABCWidthsFloatW; external gdi32 name 'GetCharABCWidthsFloatW';
  11817. function GetCharABCWidthsFloat; external gdi32 name 'GetCharABCWidthsFloat' + AWSuffix;
  11818. function GetClipBox; external gdi32 name 'GetClipBox';
  11819. function GetClipRgn; external gdi32 name 'GetClipRgn';
  11820. function GetMetaRgn; external gdi32 name 'GetMetaRgn';
  11821. function GetCurrentObject; external gdi32 name 'GetCurrentObject';
  11822. function GetCurrentPositionEx; external gdi32 name 'GetCurrentPositionEx';
  11823. function GetDeviceCaps; external gdi32 name 'GetDeviceCaps';
  11824. function GetDIBits; external gdi32 name 'GetDIBits';
  11825. function GetFontData; external gdi32 name 'GetFontData';
  11826. function GetGlyphOutlineA; external gdi32 name 'GetGlyphOutlineA';
  11827. function GetGlyphOutlineW; external gdi32 name 'GetGlyphOutlineW';
  11828. function GetGlyphOutline; external gdi32 name 'GetGlyphOutline' + AWSuffix;
  11829. function GetGraphicsMode; external gdi32 name 'GetGraphicsMode';
  11830. function GetMapMode; external gdi32 name 'GetMapMode';
  11831. function GetMetaFileBitsEx; external gdi32 name 'GetMetaFileBitsEx';
  11832. function GetMetaFileA; external gdi32 name 'GetMetaFileA';
  11833. function GetMetaFileW; external gdi32 name 'GetMetaFileW';
  11834. function GetMetaFile; external gdi32 name 'GetMetaFile' + AWSuffix;
  11835. function GetNearestColor; external gdi32 name 'GetNearestColor';
  11836. function GetNearestPaletteIndex; external gdi32 name 'GetNearestPaletteIndex';
  11837. function GetObjectType; external gdi32 name 'GetObjectType';
  11838. function GetOutlineTextMetricsA; external gdi32 name 'GetOutlineTextMetricsA';
  11839. function GetOutlineTextMetricsW; external gdi32 name 'GetOutlineTextMetricsW';
  11840. function GetOutlineTextMetrics; external gdi32 name 'GetOutlineTextMetrics' + AWSuffix;
  11841. function GetPaletteEntries; external gdi32 name 'GetPaletteEntries';
  11842. function GetPixel; external gdi32 name 'GetPixel';
  11843. function GetPixelFormat; external gdi32 name 'GetPixelFormat';
  11844. function GetPolyFillMode; external gdi32 name 'GetPolyFillMode';
  11845. function GetRasterizerCaps; external gdi32 name 'GetRasterizerCaps';
  11846. function GetRandomRgn; external gdi32 name 'GetRandomRgn';
  11847. function GetRegionData; external gdi32 name 'GetRegionData';
  11848. function GetRgnBox; external gdi32 name 'GetRgnBox';
  11849. function GetStockObject; external gdi32 name 'GetStockObject';
  11850. function GetStretchBltMode; external gdi32 name 'GetStretchBltMode';
  11851. function GetSystemPaletteEntries; external gdi32 name 'GetSystemPaletteEntries';
  11852. function GetSystemPaletteUse; external gdi32 name 'GetSystemPaletteUse';
  11853. function GetTextCharacterExtra; external gdi32 name 'GetTextCharacterExtra';
  11854. function GetTextAlign; external gdi32 name 'GetTextAlign';
  11855. function GetTextColor; external gdi32 name 'GetTextColor';
  11856. function GetTextExtentPointA; external gdi32 name 'GetTextExtentPointA';
  11857. function GetTextExtentPointW; external gdi32 name 'GetTextExtentPointW';
  11858. function GetTextExtentPoint; external gdi32 name 'GetTextExtentPoint' + AWSuffix;
  11859. function GetTextExtentPoint32A; external gdi32 name 'GetTextExtentPoint32A';
  11860. function GetTextExtentPoint32W; external gdi32 name 'GetTextExtentPoint32W';
  11861. function GetTextExtentPoint32; external gdi32 name 'GetTextExtentPoint32' + AWSuffix;
  11862. function GetTextExtentExPointA; external gdi32 name 'GetTextExtentExPointA';
  11863. function GetTextExtentExPointW; external gdi32 name 'GetTextExtentExPointW';
  11864. function GetTextExtentExPoint; external gdi32 name 'GetTextExtentExPoint' + AWSuffix;
  11865. function GetTextCharset; external gdi32 name 'GetTextCharset';
  11866. function GetTextCharsetInfo; external gdi32 name 'GetTextCharsetInfo';
  11867. function TranslateCharsetInfo; external gdi32 name 'TranslateCharsetInfo';
  11868. function GetFontLanguageInfo; external gdi32 name 'GetFontLanguageInfo';
  11869. function GetCharacterPlacementA; external gdi32 name 'GetCharacterPlacementA';
  11870. function GetCharacterPlacementW; external gdi32 name 'GetCharacterPlacementW';
  11871. function GetCharacterPlacement; external gdi32 name 'GetCharacterPlacement' + AWSuffix;
  11872. function GetFontUnicodeRanges; external gdi32 name 'GetFontUnicodeRanges';
  11873. function GetGlyphIndicesA; external gdi32 name 'GetGlyphIndicesA';
  11874. function GetGlyphIndicesW; external gdi32 name 'GetGlyphIndicesW';
  11875. function GetGlyphIndices; external gdi32 name 'GetGlyphIndices' + AWSuffix;
  11876. function GetTextExtentPointI; external gdi32 name 'GetTextExtentPointI';
  11877. function GetTextExtentExPointI; external gdi32 name 'GetTextExtentExPointI';
  11878. function GetCharWidthI; external gdi32 name 'GetCharWidthI';
  11879. function GetCharABCWidthsI; external gdi32 name 'GetCharABCWidthsI';
  11880. function AddFontResourceExA; external gdi32 name 'AddFontResourceExA';
  11881. function AddFontResourceExW; external gdi32 name 'AddFontResourceExW';
  11882. function AddFontResourceEx; external gdi32 name 'AddFontResourceEx' + AWSuffix;
  11883. function RemoveFontResourceExA; external gdi32 name 'RemoveFontResourceExA';
  11884. function RemoveFontResourceExW; external gdi32 name 'RemoveFontResourceExW';
  11885. function RemoveFontResourceEx; external gdi32 name 'RemoveFontResourceEx' + AWSuffix;
  11886. function AddFontMemResourceEx; external gdi32 name 'AddFontMemResourceEx';
  11887. function RemoveFontMemResourceEx; external gdi32 name 'RemoveFontMemResourceEx';
  11888. function CreateFontIndirectExA; external gdi32 name 'CreateFontIndirectExA';
  11889. function CreateFontIndirectExW; external gdi32 name 'CreateFontIndirectExW';
  11890. function CreateFontIndirectEx; external gdi32 name 'CreateFontIndirectEx' + AWSuffix;
  11891. function GetViewportExtEx; external gdi32 name 'GetViewportExtEx';
  11892. function GetViewportOrgEx; external gdi32 name 'GetViewportOrgEx';
  11893. function GetWindowExtEx; external gdi32 name 'GetWindowExtEx';
  11894. function GetWindowOrgEx; external gdi32 name 'GetWindowOrgEx';
  11895. function IntersectClipRect; external gdi32 name 'IntersectClipRect';
  11896. function InvertRgn; external gdi32 name 'InvertRgn';
  11897. function LineDDA; external gdi32 name 'LineDDA';
  11898. function LineTo; external gdi32 name 'LineTo';
  11899. function MaskBlt; external gdi32 name 'MaskBlt';
  11900. function PlgBlt; external gdi32 name 'PlgBlt';
  11901. function OffsetClipRgn; external gdi32 name 'OffsetClipRgn';
  11902. function OffsetRgn; external gdi32 name 'OffsetRgn';
  11903. function PatBlt; external gdi32 name 'PatBlt';
  11904. function Pie; external gdi32 name 'Pie';
  11905. function PlayMetaFile; external gdi32 name 'PlayMetaFile';
  11906. function PaintRgn; external gdi32 name 'PaintRgn';
  11907. function PolyPolygon; external gdi32 name 'PolyPolygon';
  11908. function PtInRegion; external gdi32 name 'PtInRegion';
  11909. function PtVisible; external gdi32 name 'PtVisible';
  11910. function RectInRegion; external gdi32 name 'RectInRegion';
  11911. function RectVisible; external gdi32 name 'RectVisible';
  11912. function Rectangle; external gdi32 name 'Rectangle';
  11913. function RestoreDC; external gdi32 name 'RestoreDC';
  11914. function ResetDCA; external gdi32 name 'ResetDCA';
  11915. function ResetDCW; external gdi32 name 'ResetDCW';
  11916. function ResetDC; external gdi32 name 'ResetDC' + AWSuffix;
  11917. function RealizePalette; external gdi32 name 'RealizePalette';
  11918. function RemoveFontResourceA; external gdi32 name 'RemoveFontResourceA';
  11919. function RemoveFontResourceW; external gdi32 name 'RemoveFontResourceW';
  11920. function RemoveFontResource; external gdi32 name 'RemoveFontResource' + AWSuffix;
  11921. function RoundRect; external gdi32 name 'RoundRect';
  11922. function ResizePalette; external gdi32 name 'ResizePalette';
  11923. function SaveDC; external gdi32 name 'SaveDC';
  11924. function SelectClipRgn; external gdi32 name 'SelectClipRgn';
  11925. function ExtSelectClipRgn; external gdi32 name 'ExtSelectClipRgn';
  11926. function SetMetaRgn; external gdi32 name 'SetMetaRgn';
  11927. function SelectObject; external gdi32 name 'SelectObject';
  11928. function SelectPalette; external gdi32 name 'SelectPalette';
  11929. function SetBkColor; external gdi32 name 'SetBkColor';
  11930. function SetDCBrushColor; external gdi32 name 'SetDCBrushColor';
  11931. function SetDCPenColor; external gdi32 name 'SetDCPenColor';
  11932. function SetBkMode; external gdi32 name 'SetBkMode';
  11933. function SetBitmapBits; external gdi32 name 'SetBitmapBits';
  11934. function SetBoundsRect; external gdi32 name 'SetBoundsRect';
  11935. function SetDIBits; external gdi32 name 'SetDIBits';
  11936. function SetDIBitsToDevice; external gdi32 name 'SetDIBitsToDevice';
  11937. function SetMapperFlags; external gdi32 name 'SetMapperFlags';
  11938. function SetGraphicsMode; external gdi32 name 'SetGraphicsMode';
  11939. function SetMapMode; external gdi32 name 'SetMapMode';
  11940. function SetLayout; external gdi32 name 'SetLayout';
  11941. function GetLayout; external gdi32 name 'GetLayout';
  11942. function SetMetaFileBitsEx; external gdi32 name 'SetMetaFileBitsEx';
  11943. function SetPaletteEntries; external gdi32 name 'SetPaletteEntries';
  11944. function SetPixel; external gdi32 name 'SetPixel';
  11945. function SetPixelV; external gdi32 name 'SetPixelV';
  11946. function SetPixelFormat; external gdi32 name 'SetPixelFormat';
  11947. function SetPolyFillMode; external gdi32 name 'SetPolyFillMode';
  11948. function StretchBlt; external gdi32 name 'StretchBlt';
  11949. function SetRectRgn; external gdi32 name 'SetRectRgn';
  11950. function StretchDIBits; external gdi32 name 'StretchDIBits';
  11951. function SetROP2; external gdi32 name 'SetROP2';
  11952. function SetStretchBltMode; external gdi32 name 'SetStretchBltMode';
  11953. function SetSystemPaletteUse; external gdi32 name 'SetSystemPaletteUse';
  11954. function SetTextCharacterExtra; external gdi32 name 'SetTextCharacterExtra';
  11955. function SetTextColor; external gdi32 name 'SetTextColor';
  11956. function SetTextAlign; external gdi32 name 'SetTextAlign';
  11957. function SetTextJustification; external gdi32 name 'SetTextJustification';
  11958. function UpdateColors; external gdi32 name 'UpdateColors';
  11959. function AlphaBlend; external msimg32 name 'AlphaBlend';
  11960. function TransparentBlt; external msimg32 name 'TransparentBlt';
  11961. function GradientFill; external msimg32 name 'GradientFill';
  11962. function PlayMetaFileRecord; external gdi32 name 'PlayMetaFileRecord';
  11963. function EnumMetaFile; external gdi32 name 'EnumMetaFile';
  11964. function CloseEnhMetaFile; external gdi32 name 'CloseEnhMetaFile';
  11965. function CopyEnhMetaFileA; external gdi32 name 'CopyEnhMetaFileA';
  11966. function CopyEnhMetaFileW; external gdi32 name 'CopyEnhMetaFileW';
  11967. function CopyEnhMetaFile; external gdi32 name 'CopyEnhMetaFile' + AWSuffix;
  11968. function CreateEnhMetaFileA; external gdi32 name 'CreateEnhMetaFileA';
  11969. function CreateEnhMetaFileW; external gdi32 name 'CreateEnhMetaFileW';
  11970. function CreateEnhMetaFile; external gdi32 name 'CreateEnhMetaFile' + AWSuffix;
  11971. function DeleteEnhMetaFile; external gdi32 name 'DeleteEnhMetaFile';
  11972. function EnumEnhMetaFile; external gdi32 name 'EnumEnhMetaFile';
  11973. function GetEnhMetaFileA; external gdi32 name 'GetEnhMetaFileA';
  11974. function GetEnhMetaFileW; external gdi32 name 'GetEnhMetaFileW';
  11975. function GetEnhMetaFile; external gdi32 name 'GetEnhMetaFile' + AWSuffix;
  11976. function GetEnhMetaFileBits; external gdi32 name 'GetEnhMetaFileBits';
  11977. function GetEnhMetaFileDescriptionA; external gdi32 name 'GetEnhMetaFileDescriptionA';
  11978. function GetEnhMetaFileDescriptionW; external gdi32 name 'GetEnhMetaFileDescriptionW';
  11979. function GetEnhMetaFileDescription; external gdi32 name 'GetEnhMetaFileDescription' + AWSuffix;
  11980. function GetEnhMetaFileHeader; external gdi32 name 'GetEnhMetaFileHeader';
  11981. function GetEnhMetaFilePaletteEntries; external gdi32 name 'GetEnhMetaFilePaletteEntries';
  11982. function GetEnhMetaFilePixelFormat; external gdi32 name 'GetEnhMetaFilePixelFormat';
  11983. function GetWinMetaFileBits; external gdi32 name 'GetWinMetaFileBits';
  11984. function PlayEnhMetaFile; external gdi32 name 'PlayEnhMetaFile';
  11985. function PlayEnhMetaFileRecord; external gdi32 name 'PlayEnhMetaFileRecord';
  11986. function SetEnhMetaFileBits; external gdi32 name 'SetEnhMetaFileBits';
  11987. function SetWinMetaFileBits; external gdi32 name 'SetWinMetaFileBits';
  11988. function GdiComment; external gdi32 name 'GdiComment';
  11989. function GetTextMetricsA; external gdi32 name 'GetTextMetricsA';
  11990. function GetTextMetricsW; external gdi32 name 'GetTextMetricsW';
  11991. function GetTextMetrics; external gdi32 name 'GetTextMetrics' + AWSuffix;
  11992. function AngleArc; external gdi32 name 'AngleArc';
  11993. function PolyPolyline; external gdi32 name 'PolyPolyline';
  11994. function GetWorldTransform; external gdi32 name 'GetWorldTransform';
  11995. function SetWorldTransform; external gdi32 name 'SetWorldTransform';
  11996. function ModifyWorldTransform; external gdi32 name 'ModifyWorldTransform';
  11997. function CombineTransform; external gdi32 name 'CombineTransform';
  11998. function CreateDIBSection; external gdi32 name 'CreateDIBSection';
  11999. function GetDIBColorTable; external gdi32 name 'GetDIBColorTable';
  12000. function SetDIBColorTable; external gdi32 name 'SetDIBColorTable';
  12001. function SetColorAdjustment; external gdi32 name 'SetColorAdjustment';
  12002. function GetColorAdjustment; external gdi32 name 'GetColorAdjustment';
  12003. function CreateHalftonePalette; external gdi32 name 'CreateHalftonePalette';
  12004. function StartDocA; external gdi32 name 'StartDocA';
  12005. function StartDocW; external gdi32 name 'StartDocW';
  12006. function StartDoc; external gdi32 name 'StartDoc' + AWSuffix;
  12007. function EndDoc; external gdi32 name 'EndDoc';
  12008. function StartPage; external gdi32 name 'StartPage';
  12009. function EndPage; external gdi32 name 'EndPage';
  12010. function AbortDoc; external gdi32 name 'AbortDoc';
  12011. function SetAbortProc; external gdi32 name 'SetAbortProc';
  12012. function AbortPath; external gdi32 name 'AbortPath';
  12013. function ArcTo; external gdi32 name 'ArcTo';
  12014. function BeginPath; external gdi32 name 'BeginPath';
  12015. function CloseFigure; external gdi32 name 'CloseFigure';
  12016. function EndPath; external gdi32 name 'EndPath';
  12017. function FillPath; external gdi32 name 'FillPath';
  12018. function FlattenPath; external gdi32 name 'FlattenPath';
  12019. function GetPath; external gdi32 name 'GetPath';
  12020. function PathToRegion; external gdi32 name 'PathToRegion';
  12021. function PolyDraw; external gdi32 name 'PolyDraw';
  12022. function SelectClipPath; external gdi32 name 'SelectClipPath';
  12023. function SetArcDirection; external gdi32 name 'SetArcDirection';
  12024. function SetMiterLimit; external gdi32 name 'SetMiterLimit';
  12025. function StrokeAndFillPath; external gdi32 name 'StrokeAndFillPath';
  12026. function StrokePath; external gdi32 name 'StrokePath';
  12027. function WidenPath; external gdi32 name 'WidenPath';
  12028. function ExtCreatePen; external gdi32 name 'ExtCreatePen';
  12029. function GetMiterLimit; external gdi32 name 'GetMiterLimit';
  12030. function GetArcDirection; external gdi32 name 'GetArcDirection';
  12031. function GetObjectA; external gdi32 name 'GetObjectA';
  12032. function GetObjectW; external gdi32 name 'GetObjectW';
  12033. function GetObject; external gdi32 name 'GetObject' + AWSuffix;
  12034. function MoveToEx; external gdi32 name 'MoveToEx';
  12035. function TextOutA; external gdi32 name 'TextOutA';
  12036. function TextOutW; external gdi32 name 'TextOutW';
  12037. function TextOut; external gdi32 name 'TextOut' + AWSuffix;
  12038. function ExtTextOutA; external gdi32 name 'ExtTextOutA';
  12039. function ExtTextOutW; external gdi32 name 'ExtTextOutW';
  12040. function ExtTextOut; external gdi32 name 'ExtTextOut' + AWSuffix;
  12041. function PolyTextOutA; external gdi32 name 'PolyTextOutA';
  12042. function PolyTextOutW; external gdi32 name 'PolyTextOutW';
  12043. function PolyTextOut; external gdi32 name 'PolyTextOut' + AWSuffix;
  12044. function CreatePolygonRgn; external gdi32 name 'CreatePolygonRgn';
  12045. function DPtoLP; external gdi32 name 'DPtoLP';
  12046. function LPtoDP; external gdi32 name 'LPtoDP';
  12047. function Polygon; external gdi32 name 'Polygon';
  12048. function Polyline; external gdi32 name 'Polyline';
  12049. function PolyBezier; external gdi32 name 'PolyBezier';
  12050. function PolyBezierTo; external gdi32 name 'PolyBezierTo';
  12051. function PolylineTo; external gdi32 name 'PolylineTo';
  12052. function SetViewportExtEx; external gdi32 name 'SetViewportExtEx';
  12053. function SetViewportOrgEx; external gdi32 name 'SetViewportOrgEx';
  12054. function SetWindowExtEx; external gdi32 name 'SetWindowExtEx';
  12055. function SetWindowOrgEx; external gdi32 name 'SetWindowOrgEx';
  12056. function OffsetViewportOrgEx; external gdi32 name 'OffsetViewportOrgEx';
  12057. function OffsetWindowOrgEx; external gdi32 name 'OffsetWindowOrgEx';
  12058. function ScaleViewportExtEx; external gdi32 name 'ScaleViewportExtEx';
  12059. function ScaleWindowExtEx; external gdi32 name 'ScaleWindowExtEx';
  12060. function SetBitmapDimensionEx; external gdi32 name 'SetBitmapDimensionEx';
  12061. function SetBrushOrgEx; external gdi32 name 'SetBrushOrgEx';
  12062. function GetTextFaceA; external gdi32 name 'GetTextFaceA';
  12063. function GetTextFaceW; external gdi32 name 'GetTextFaceW';
  12064. function GetTextFace; external gdi32 name 'GetTextFace' + AWSuffix;
  12065. function GetKerningPairsA; external gdi32 name 'GetKerningPairsA';
  12066. function GetKerningPairsW; external gdi32 name 'GetKerningPairsW';
  12067. function GetKerningPairs; external gdi32 name 'GetKerningPairs' + AWSuffix;
  12068. function GetDCOrgEx; external gdi32 name 'GetDCOrgEx';
  12069. function FixBrushOrgEx; external gdi32 name 'FixBrushOrgEx';
  12070. function UnrealizeObject; external gdi32 name 'UnrealizeObject';
  12071. function GdiFlush; external gdi32 name 'GdiFlush';
  12072. function GdiSetBatchLimit; external gdi32 name 'GdiSetBatchLimit';
  12073. function GdiGetBatchLimit; external gdi32 name 'GdiGetBatchLimit';
  12074. function SetICMMode; external gdi32 name 'SetICMMode';
  12075. function CheckColorsInGamut; external gdi32 name 'CheckColorsInGamut';
  12076. function GetColorSpace; external gdi32 name 'GetColorSpace';
  12077. function GetLogColorSpaceA; external gdi32 name 'GetLogColorSpaceA';
  12078. function GetLogColorSpaceW; external gdi32 name 'GetLogColorSpaceW';
  12079. function GetLogColorSpace; external gdi32 name 'GetLogColorSpace' + AWSuffix;
  12080. function CreateColorSpaceA; external gdi32 name 'CreateColorSpaceA';
  12081. function CreateColorSpaceW; external gdi32 name 'CreateColorSpaceW';
  12082. function CreateColorSpace; external gdi32 name 'CreateColorSpace' + AWSuffix;
  12083. function SetColorSpace; external gdi32 name 'SetColorSpace';
  12084. function DeleteColorSpace; external gdi32 name 'DeleteColorSpace';
  12085. function GetICMProfileA; external gdi32 name 'GetICMProfileA';
  12086. function GetICMProfileW; external gdi32 name 'GetICMProfileW';
  12087. function GetICMProfile; external gdi32 name 'GetICMProfile' + AWSuffix;
  12088. function SetICMProfileA; external gdi32 name 'SetICMProfileA';
  12089. function SetICMProfileW; external gdi32 name 'SetICMProfileW';
  12090. function SetICMProfile; external gdi32 name 'SetICMProfile' + AWSuffix;
  12091. function GetDeviceGammaRamp; external gdi32 name 'GetDeviceGammaRamp';
  12092. function SetDeviceGammaRamp; external gdi32 name 'SetDeviceGammaRamp';
  12093. function ColorMatchToTarget; external gdi32 name 'ColorMatchToTarget';
  12094. function EnumICMProfilesA; external gdi32 name 'EnumICMProfilesA';
  12095. function EnumICMProfilesW; external gdi32 name 'EnumICMProfilesW';
  12096. function EnumICMProfiles; external gdi32 name 'EnumICMProfiles' + AWSuffix;
  12097. function UpdateICMRegKeyA; external gdi32 name 'UpdateICMRegKeyA';
  12098. function UpdateICMRegKeyW; external gdi32 name 'UpdateICMRegKeyW';
  12099. function UpdateICMRegKey; external gdi32 name 'UpdateICMRegKey' + AWSuffix;
  12100. function ColorCorrectPalette; external gdi32 name 'ColorCorrectPalette';
  12101. function wglCopyContext; external opengl32 name 'wglCopyContext';
  12102. function wglCreateContext; external opengl32 name 'wglCreateContext';
  12103. function wglCreateLayerContext; external opengl32 name 'wglCreateLayerContext';
  12104. function wglDeleteContext; external opengl32 name 'wglDeleteContext';
  12105. function wglGetCurrentContext; external opengl32 name 'wglGetCurrentContext';
  12106. function wglGetCurrentDC; external opengl32 name 'wglGetCurrentDC';
  12107. function wglGetProcAddress; external opengl32 name 'wglGetProcAddress';
  12108. function wglMakeCurrent; external opengl32 name 'wglMakeCurrent';
  12109. function wglShareLists; external opengl32 name 'wglShareLists';
  12110. function wglUseFontBitmapsA; external opengl32 name 'wglUseFontBitmapsA';
  12111. function wglUseFontBitmapsW; external opengl32 name 'wglUseFontBitmapsW';
  12112. function wglUseFontBitmaps; external opengl32 name 'wglUseFontBitmaps' + AWSuffix;
  12113. function SwapBuffers; external opengl32 name 'SwapBuffers';
  12114. function wglUseFontOutlinesA; external opengl32 name 'wglUseFontOutlinesA';
  12115. function wglUseFontOutlinesW; external opengl32 name 'wglUseFontOutlinesW';
  12116. function wglUseFontOutlines; external opengl32 name 'wglUseFontOutlines' + AWSuffix;
  12117. function wglDescribeLayerPlane; external opengl32 name 'wglDescribeLayerPlane';
  12118. function wglSetLayerPaletteEntries; external opengl32 name 'wglSetLayerPaletteEntries';
  12119. function wglGetLayerPaletteEntries; external opengl32 name 'wglGetLayerPaletteEntries';
  12120. function wglRealizeLayerPalette; external opengl32 name 'wglRealizeLayerPalette';
  12121. function wglSwapLayerBuffers; external opengl32 name 'wglSwapLayerBuffers';
  12122. function wglSwapMultipleBuffers; external opengl32 name 'wglSwapMultipleBuffers';
  12123. {$ENDIF DYNAMIC_LINK}
  12124. {$ENDIF JWA_IMPLEMENTATIONSECTION}
  12125. {$IFNDEF JWA_INCLUDEMODE}
  12126. end.
  12127. {$ENDIF !JWA_INCLUDEMODE}