1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168 |
- /*
- * winddi.h
- *
- * GDI device driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
- #ifndef _WINDDI_
- #define _WINDDI_
- #ifdef __VIDEO_H__
- #error video.h cannot be included with winddi.h
- #else
- #include <ddrawint.h>
- #include <d3dnthal.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef DECLSPEC_IMPORT
- #ifndef __WIDL__
- #define DECLSPEC_IMPORT __declspec(dllimport)
- #else
- #define DECLSPEC_IMPORT
- #endif
- #endif
- #ifndef WIN32KAPI
- #define WIN32KAPI DECLSPEC_ADDRSAFE
- #endif
- #define DDI_DRIVER_VERSION_NT4 0x00020000
- #define DDI_DRIVER_VERSION_SP3 0x00020003
- #define DDI_DRIVER_VERSION_NT5 0x00030000
- #define DDI_DRIVER_VERSION_NT5_01 0x00030100
- #define GDI_DRIVER_VERSION 0x4000
- #ifdef _X86_
- typedef DWORD FLOATL;
- #else /* !_X86_ */
- typedef FLOAT FLOATL;
- #endif
- typedef SHORT FWORD;
- typedef LONG LDECI4;
- typedef ULONG IDENT;
- typedef ULONG_PTR HFF;
- typedef ULONG_PTR HFC;
- typedef LONG PTRDIFF;
- typedef PTRDIFF *PPTRDIFF;
- typedef LONG FIX;
- typedef FIX *PFIX;
- typedef ULONG ROP4;
- typedef ULONG MIX;
- typedef ULONG HGLYPH;
- typedef HGLYPH *PHGLYPH;
- typedef LONG_PTR (APIENTRY *PFN)();
- DECLARE_HANDLE(HBM);
- DECLARE_HANDLE(HDEV);
- DECLARE_HANDLE(HSURF);
- DECLARE_HANDLE(DHSURF);
- DECLARE_HANDLE(DHPDEV);
- DECLARE_HANDLE(HDRVOBJ);
- #ifndef _NTDDVDEO_
- typedef struct _ENG_EVENT *PEVENT;
- #endif
- #define OPENGL_CMD 4352
- #define OPENGL_GETINFO 4353
- #define WNDOBJ_SETUP 4354
- #define FD_ERROR 0xFFFFFFFF
- #define DDI_ERROR 0xFFFFFFFF
- #define HFF_INVALID ((HFF) 0)
- #define HFC_INVALID ((HFC) 0)
- #define HGLYPH_INVALID ((HGLYPH) -1)
- #define FP_ALTERNATEMODE 1
- #define FP_WINDINGMODE 2
- #define DN_ACCELERATION_LEVEL 1
- #define DN_DEVICE_ORIGIN 2
- #define DN_SLEEP_MODE 3
- #define DN_DRAWING_BEGIN 4
- #define DCR_SOLID 0
- #define DCR_DRIVER 1
- #define DCR_HALFTONE 2
- #define GX_IDENTITY 0
- #define GX_OFFSET 1
- #define GX_SCALE 2
- #define GX_GENERAL 3
- #define LTOFX(x) ((x) << 4)
- #define FXTOL(x) ((x) >> 4)
- #define FXTOLFLOOR(x) ((x) >> 4)
- #define FXTOLCEILING(x) ((x + 0x0F) >> 4)
- #define FXTOLROUND(x) ((((x) >> 3) + 1) >> 1)
- typedef struct _POINTE {
- FLOATL x;
- FLOATL y;
- } POINTE, *PPOINTE;
- typedef union _FLOAT_LONG {
- FLOATL e;
- LONG l;
- } FLOAT_LONG, *PFLOAT_LONG;
- typedef struct _POINTFIX {
- FIX x;
- FIX y;
- } POINTFIX, *PPOINTFIX;
- typedef struct _RECTFX {
- FIX xLeft;
- FIX yTop;
- FIX xRight;
- FIX yBottom;
- } RECTFX, *PRECTFX;
- typedef struct _POINTQF {
- LARGE_INTEGER x;
- LARGE_INTEGER y;
- } POINTQF, *PPOINTQF;
- typedef struct _BLENDOBJ {
- BLENDFUNCTION BlendFunction;
- } BLENDOBJ,*PBLENDOBJ;
- /* BRUSHOBJ.flColorType */
- #define BR_DEVICE_ICM 0x01
- #define BR_HOST_ICM 0x02
- #define BR_CMYKCOLOR 0x04
- #define BR_ORIGCOLOR 0x08
- typedef struct _BRUSHOBJ {
- ULONG iSolidColor;
- PVOID pvRbrush;
- FLONG flColorType;
- } BRUSHOBJ;
- typedef struct _CIECHROMA {
- LDECI4 x;
- LDECI4 y;
- LDECI4 Y;
- } CIECHROMA;
- typedef struct _RUN {
- LONG iStart;
- LONG iStop;
- } RUN, *PRUN;
- typedef struct _CLIPLINE {
- POINTFIX ptfxA;
- POINTFIX ptfxB;
- LONG lStyleState;
- ULONG c;
- RUN arun[1];
- } CLIPLINE, *PCLIPLINE;
- /* CLIPOBJ.iDComplexity constants */
- #define DC_TRIVIAL 0
- #define DC_RECT 1
- #define DC_COMPLEX 3
- /* CLIPOBJ.iFComplexity constants */
- #define FC_RECT 1
- #define FC_RECT4 2
- #define FC_COMPLEX 3
- /* CLIPOBJ.iMode constants */
- #define TC_RECTANGLES 0
- #define TC_PATHOBJ 2
- /* CLIPOBJ.fjOptions constants */
- #define OC_BANK_CLIP 1
- typedef struct _CLIPOBJ {
- ULONG iUniq;
- RECTL rclBounds;
- BYTE iDComplexity;
- BYTE iFComplexity;
- BYTE iMode;
- BYTE fjOptions;
- } CLIPOBJ;
- typedef struct _COLORINFO {
- CIECHROMA Red;
- CIECHROMA Green;
- CIECHROMA Blue;
- CIECHROMA Cyan;
- CIECHROMA Magenta;
- CIECHROMA Yellow;
- CIECHROMA AlignmentWhite;
- LDECI4 RedGamma;
- LDECI4 GreenGamma;
- LDECI4 BlueGamma;
- LDECI4 MagentaInCyanDye;
- LDECI4 YellowInCyanDye;
- LDECI4 CyanInMagentaDye;
- LDECI4 YellowInMagentaDye;
- LDECI4 CyanInYellowDye;
- LDECI4 MagentaInYellowDye;
- } COLORINFO, *PCOLORINFO;
- /* DEVHTADJDATA.DeviceFlags constants */
- #define DEVHTADJF_COLOR_DEVICE 0x00000001
- #define DEVHTADJF_ADDITIVE_DEVICE 0x00000002
- typedef struct _DEVHTINFO {
- DWORD HTFlags;
- DWORD HTPatternSize;
- DWORD DevPelsDPI;
- COLORINFO ColorInfo;
- } DEVHTINFO, *PDEVHTINFO;
- typedef struct _DEVHTADJDATA {
- DWORD DeviceFlags;
- DWORD DeviceXDPI;
- DWORD DeviceYDPI;
- PDEVHTINFO pDefHTInfo;
- PDEVHTINFO pAdjHTInfo;
- } DEVHTADJDATA, *PDEVHTADJDATA;
- /* DEVINFO.flGraphicsCaps flags */
- #define GCAPS_BEZIERS 0x00000001
- #define GCAPS_GEOMETRICWIDE 0x00000002
- #define GCAPS_ALTERNATEFILL 0x00000004
- #define GCAPS_WINDINGFILL 0x00000008
- #define GCAPS_HALFTONE 0x00000010
- #define GCAPS_COLOR_DITHER 0x00000020
- #define GCAPS_HORIZSTRIKE 0x00000040
- #define GCAPS_VERTSTRIKE 0x00000080
- #define GCAPS_OPAQUERECT 0x00000100
- #define GCAPS_VECTORFONT 0x00000200
- #define GCAPS_MONO_DITHER 0x00000400
- #define GCAPS_ASYNCCHANGE 0x00000800
- #define GCAPS_ASYNCMOVE 0x00001000
- #define GCAPS_DONTJOURNAL 0x00002000
- #define GCAPS_DIRECTDRAW 0x00004000
- #define GCAPS_ARBRUSHOPAQUE 0x00008000
- #define GCAPS_PANNING 0x00010000
- #define GCAPS_HIGHRESTEXT 0x00040000
- #define GCAPS_PALMANAGED 0x00080000
- #define GCAPS_DITHERONREALIZE 0x00200000
- #define GCAPS_NO64BITMEMACCESS 0x00400000
- #define GCAPS_FORCEDITHER 0x00800000
- #define GCAPS_GRAY16 0x01000000
- #define GCAPS_ICM 0x02000000
- #define GCAPS_CMYKCOLOR 0x04000000
- #define GCAPS_LAYERED 0x08000000
- #define GCAPS_ARBRUSHTEXT 0x10000000
- #define GCAPS_SCREENPRECISION 0x20000000
- #define GCAPS_FONT_RASTERIZER 0x40000000
- #define GCAPS_NUP 0x80000000
- /* DEVINFO.iDitherFormat constants */
- #define BMF_1BPP __MSABI_LONG(1)
- #define BMF_4BPP __MSABI_LONG(2)
- #define BMF_8BPP __MSABI_LONG(3)
- #define BMF_16BPP __MSABI_LONG(4)
- #define BMF_24BPP __MSABI_LONG(5)
- #define BMF_32BPP __MSABI_LONG(6)
- #define BMF_4RLE __MSABI_LONG(7)
- #define BMF_8RLE __MSABI_LONG(8)
- #define BMF_JPEG __MSABI_LONG(9)
- #define BMF_PNG __MSABI_LONG(10)
- /* DEVINFO.flGraphicsCaps2 flags */
- #define GCAPS2_JPEGSRC 0x00000001
- #define GCAPS2_xxxx 0x00000002
- #define GCAPS2_PNGSRC 0x00000008
- #define GCAPS2_CHANGEGAMMARAMP 0x00000010
- #define GCAPS2_ALPHACURSOR 0x00000020
- #define GCAPS2_SYNCFLUSH 0x00000040
- #define GCAPS2_SYNCTIMER 0x00000080
- #define GCAPS2_ICD_MULTIMON 0x00000100
- #define GCAPS2_MOUSETRAILS 0x00000200
- #define GCAPS2_RESERVED1 0x00000400
- typedef struct _DEVINFO {
- FLONG flGraphicsCaps;
- LOGFONTW lfDefaultFont;
- LOGFONTW lfAnsiVarFont;
- LOGFONTW lfAnsiFixFont;
- ULONG cFonts;
- ULONG iDitherFormat;
- USHORT cxDither;
- USHORT cyDither;
- HPALETTE hpalDefault;
- FLONG flGraphicsCaps2;
- } DEVINFO, *PDEVINFO;
- struct _DRIVEROBJ;
- typedef WINBOOL
- (APIENTRY CALLBACK *FREEOBJPROC)(
- struct _DRIVEROBJ *pDriverObj);
- typedef struct _DRIVEROBJ {
- PVOID pvObj;
- FREEOBJPROC pFreeProc;
- HDEV hdev;
- DHPDEV dhpdev;
- } DRIVEROBJ;
- /* DRVFN.iFunc constants */
- #define INDEX_DrvEnablePDEV __MSABI_LONG(0)
- #define INDEX_DrvCompletePDEV __MSABI_LONG(1)
- #define INDEX_DrvDisablePDEV __MSABI_LONG(2)
- #define INDEX_DrvEnableSurface __MSABI_LONG(3)
- #define INDEX_DrvDisableSurface __MSABI_LONG(4)
- #define INDEX_DrvAssertMode __MSABI_LONG(5)
- #define INDEX_DrvOffset __MSABI_LONG(6)
- #define INDEX_DrvResetPDEV __MSABI_LONG(7)
- #define INDEX_DrvDisableDriver __MSABI_LONG(8)
- #define INDEX_DrvUnknown1 __MSABI_LONG(9)
- #define INDEX_DrvCreateDeviceBitmap __MSABI_LONG(10)
- #define INDEX_DrvDeleteDeviceBitmap __MSABI_LONG(11)
- #define INDEX_DrvRealizeBrush __MSABI_LONG(12)
- #define INDEX_DrvDitherColor __MSABI_LONG(13)
- #define INDEX_DrvStrokePath __MSABI_LONG(14)
- #define INDEX_DrvFillPath __MSABI_LONG(15)
- #define INDEX_DrvStrokeAndFillPath __MSABI_LONG(16)
- #define INDEX_DrvPaint __MSABI_LONG(17)
- #define INDEX_DrvBitBlt __MSABI_LONG(18)
- #define INDEX_DrvCopyBits __MSABI_LONG(19)
- #define INDEX_DrvStretchBlt __MSABI_LONG(20)
- #define INDEX_DrvUnknown2 __MSABI_LONG(21)
- #define INDEX_DrvSetPalette __MSABI_LONG(22)
- #define INDEX_DrvTextOut __MSABI_LONG(23)
- #define INDEX_DrvEscape __MSABI_LONG(24)
- #define INDEX_DrvDrawEscape __MSABI_LONG(25)
- #define INDEX_DrvQueryFont __MSABI_LONG(26)
- #define INDEX_DrvQueryFontTree __MSABI_LONG(27)
- #define INDEX_DrvQueryFontData __MSABI_LONG(28)
- #define INDEX_DrvSetPointerShape __MSABI_LONG(29)
- #define INDEX_DrvMovePointer __MSABI_LONG(30)
- #define INDEX_DrvLineTo __MSABI_LONG(31)
- #define INDEX_DrvSendPage __MSABI_LONG(32)
- #define INDEX_DrvStartPage __MSABI_LONG(33)
- #define INDEX_DrvEndDoc __MSABI_LONG(34)
- #define INDEX_DrvStartDoc __MSABI_LONG(35)
- #define INDEX_DrvUnknown3 __MSABI_LONG(36)
- #define INDEX_DrvGetGlyphMode __MSABI_LONG(37)
- #define INDEX_DrvSynchronize __MSABI_LONG(38)
- #define INDEX_DrvUnknown4 __MSABI_LONG(39)
- #define INDEX_DrvSaveScreenBits __MSABI_LONG(40)
- #define INDEX_DrvGetModes __MSABI_LONG(41)
- #define INDEX_DrvFree __MSABI_LONG(42)
- #define INDEX_DrvDestroyFont __MSABI_LONG(43)
- #define INDEX_DrvQueryFontCaps __MSABI_LONG(44)
- #define INDEX_DrvLoadFontFile __MSABI_LONG(45)
- #define INDEX_DrvUnloadFontFile __MSABI_LONG(46)
- #define INDEX_DrvFontManagement __MSABI_LONG(47)
- #define INDEX_DrvQueryTrueTypeTable __MSABI_LONG(48)
- #define INDEX_DrvQueryTrueTypeOutline __MSABI_LONG(49)
- #define INDEX_DrvGetTrueTypeFile __MSABI_LONG(50)
- #define INDEX_DrvQueryFontFile __MSABI_LONG(51)
- #define INDEX_DrvMovePanning __MSABI_LONG(52)
- #define INDEX_DrvQueryAdvanceWidths __MSABI_LONG(53)
- #define INDEX_DrvSetPixelFormat __MSABI_LONG(54)
- #define INDEX_DrvDescribePixelFormat __MSABI_LONG(55)
- #define INDEX_DrvSwapBuffers __MSABI_LONG(56)
- #define INDEX_DrvStartBanding __MSABI_LONG(57)
- #define INDEX_DrvNextBand __MSABI_LONG(58)
- #define INDEX_DrvGetDirectDrawInfo __MSABI_LONG(59)
- #define INDEX_DrvEnableDirectDraw __MSABI_LONG(60)
- #define INDEX_DrvDisableDirectDraw __MSABI_LONG(61)
- #define INDEX_DrvQuerySpoolType __MSABI_LONG(62)
- #define INDEX_DrvUnknown5 __MSABI_LONG(63)
- #define INDEX_DrvIcmCreateColorTransform __MSABI_LONG(64)
- #define INDEX_DrvIcmDeleteColorTransform __MSABI_LONG(65)
- #define INDEX_DrvIcmCheckBitmapBits __MSABI_LONG(66)
- #define INDEX_DrvIcmSetDeviceGammaRamp __MSABI_LONG(67)
- #define INDEX_DrvGradientFill __MSABI_LONG(68)
- #define INDEX_DrvStretchBltROP __MSABI_LONG(69)
- #define INDEX_DrvPlgBlt __MSABI_LONG(70)
- #define INDEX_DrvAlphaBlend __MSABI_LONG(71)
- #define INDEX_DrvSynthesizeFont __MSABI_LONG(72)
- #define INDEX_DrvGetSynthesizedFontFiles __MSABI_LONG(73)
- #define INDEX_DrvTransparentBlt __MSABI_LONG(74)
- #define INDEX_DrvQueryPerBandInfo __MSABI_LONG(75)
- #define INDEX_DrvQueryDeviceSupport __MSABI_LONG(76)
- #define INDEX_DrvReserved1 __MSABI_LONG(77)
- #define INDEX_DrvReserved2 __MSABI_LONG(78)
- #define INDEX_DrvReserved3 __MSABI_LONG(79)
- #define INDEX_DrvReserved4 __MSABI_LONG(80)
- #define INDEX_DrvReserved5 __MSABI_LONG(81)
- #define INDEX_DrvReserved6 __MSABI_LONG(82)
- #define INDEX_DrvReserved7 __MSABI_LONG(83)
- #define INDEX_DrvReserved8 __MSABI_LONG(84)
- #define INDEX_DrvDeriveSurface __MSABI_LONG(85)
- #define INDEX_DrvQueryGlyphAttrs __MSABI_LONG(86)
- #define INDEX_DrvNotify __MSABI_LONG(87)
- #define INDEX_DrvSynchronizeSurface __MSABI_LONG(88)
- #define INDEX_DrvResetDevice __MSABI_LONG(89)
- #define INDEX_DrvReserved9 __MSABI_LONG(90)
- #define INDEX_DrvReserved10 __MSABI_LONG(91)
- #define INDEX_DrvReserved11 __MSABI_LONG(92)
- #define INDEX_LAST __MSABI_LONG(93)
- typedef struct _DRVFN {
- ULONG iFunc;
- PFN pfn;
- } DRVFN, *PDRVFN;
- /* DRVENABLEDATA.iDriverVersion constants */
- #define DDI_DRIVER_VERSION_NT4 0x00020000
- #define DDI_DRIVER_VERSION_SP3 0x00020003
- #define DDI_DRIVER_VERSION_NT5 0x00030000
- #define DDI_DRIVER_VERSION_NT5_01 0x00030100
- #define DDI_DRIVER_VERSION_NT5_01_SP1 0x00030101
- typedef struct _DRVENABLEDATA {
- ULONG iDriverVersion;
- ULONG c;
- DRVFN *pdrvfn;
- } DRVENABLEDATA, *PDRVENABLEDATA;
- DECLARE_HANDLE(HSEMAPHORE);
- typedef struct {
- DWORD nSize;
- HDC hdc;
- PBYTE pvEMF;
- PBYTE pvCurrentRecord;
- } EMFINFO, *PEMFINFO;
- typedef struct _ENGSAFESEMAPHORE {
- HSEMAPHORE hsem;
- LONG lCount;
- } ENGSAFESEMAPHORE;
- typedef struct _ENG_TIME_FIELDS {
- USHORT usYear;
- USHORT usMonth;
- USHORT usDay;
- USHORT usHour;
- USHORT usMinute;
- USHORT usSecond;
- USHORT usMilliseconds;
- USHORT usWeekday;
- } ENG_TIME_FIELDS, *PENG_TIME_FIELDS;
- typedef struct _ENUMRECTS {
- ULONG c;
- RECTL arcl[1];
- } ENUMRECTS;
- typedef struct _FD_XFORM {
- FLOATL eXX;
- FLOATL eXY;
- FLOATL eYX;
- FLOATL eYY;
- } FD_XFORM, *PFD_XFORM;
- /* FD_DEVICEMETRICS.flRealizedType constants */
- #define FDM_TYPE_BM_SIDE_CONST 0x00000001
- #define FDM_TYPE_MAXEXT_EQUAL_BM_SIDE 0x00000002
- #define FDM_TYPE_CHAR_INC_EQUAL_BM_BASE 0x00000004
- #define FDM_TYPE_ZERO_BEARINGS 0x00000008
- #define FDM_TYPE_CONST_BEARINGS 0x00000010
- typedef struct _FD_DEVICEMETRICS {
- FLONG flRealizedType;
- POINTE pteBase;
- POINTE pteSide;
- LONG lD;
- FIX fxMaxAscender;
- FIX fxMaxDescender;
- POINTL ptlUnderline1;
- POINTL ptlStrikeout;
- POINTL ptlULThickness;
- POINTL ptlSOThickness;
- ULONG cxMax;
- ULONG cyMax;
- ULONG cjGlyphMax;
- FD_XFORM fdxQuantized;
- LONG lNonLinearExtLeading;
- LONG lNonLinearIntLeading;
- LONG lNonLinearMaxCharWidth;
- LONG lNonLinearAvgCharWidth;
- LONG lMinA;
- LONG lMinC;
- LONG lMinD;
- LONG alReserved[1];
- } FD_DEVICEMETRICS, *PFD_DEVICEMETRICS;
- /* FD_GLYPHATTR.iMode constants */
- #define FO_ATTR_MODE_ROTATE 1
- typedef struct _FD_GLYPHATTR {
- ULONG cjThis;
- ULONG cGlyphs;
- ULONG iMode;
- BYTE aGlyphAttr[1];
- } FD_GLYPHATTR, *PFD_GLYPHATTR;
- /* FD_GLYPHSET.flAccel */
- #define GS_UNICODE_HANDLES 0x00000001
- #define GS_8BIT_HANDLES 0x00000002
- #define GS_16BIT_HANDLES 0x00000004
- typedef struct _WCRUN {
- WCHAR wcLow;
- USHORT cGlyphs;
- HGLYPH *phg;
- } WCRUN, *PWCRUN;
- typedef struct _FD_GLYPHSET {
- ULONG cjThis;
- FLONG flAccel;
- ULONG cGlyphsSupported;
- ULONG cRuns;
- WCRUN awcrun[1];
- } FD_GLYPHSET, *PFD_GLYPHSET;
- typedef struct _FD_KERNINGPAIR {
- WCHAR wcFirst;
- WCHAR wcSecond;
- FWORD fwdKern;
- } FD_KERNINGPAIR;
- #if defined(_X86_) && !defined(USERMODE_DRIVER)
- typedef struct _FLOATOBJ
- {
- ULONG ul1;
- ULONG ul2;
- } FLOATOBJ, *PFLOATOBJ;
- #else
- typedef FLOAT FLOATOBJ, *PFLOATOBJ;
- #endif
- typedef struct _FLOATOBJ_XFORM {
- FLOATOBJ eM11;
- FLOATOBJ eM12;
- FLOATOBJ eM21;
- FLOATOBJ eM22;
- FLOATOBJ eDx;
- FLOATOBJ eDy;
- } FLOATOBJ_XFORM, *PFLOATOBJ_XFORM, FAR *LPFLOATOBJ_XFORM;
- /* FONTDIFF.fsSelection */
- #define FM_SEL_ITALIC 0x0001
- #define FM_SEL_UNDERSCORE 0x0002
- #define FM_SEL_NEGATIVE 0x0004
- #define FM_SEL_OUTLINED 0x0008
- #define FM_SEL_STRIKEOUT 0x0010
- #define FM_SEL_BOLD 0x0020
- #define FM_SEL_REGULAR 0x0040
- typedef struct _FONTDIFF {
- BYTE jReserved1;
- BYTE jReserved2;
- BYTE jReserved3;
- BYTE bWeight;
- USHORT usWinWeight;
- FSHORT fsSelection;
- FWORD fwdAveCharWidth;
- FWORD fwdMaxCharInc;
- POINTL ptlCaret;
- } FONTDIFF;
- typedef struct _FONTSIM {
- PTRDIFF dpBold;
- PTRDIFF dpItalic;
- PTRDIFF dpBoldItalic;
- } FONTSIM;
- /* FONTINFO.flCaps constants */
- #define FO_DEVICE_FONT __MSABI_LONG(1)
- #define FO_OUTLINE_CAPABLE __MSABI_LONG(2)
- typedef struct _FONTINFO {
- ULONG cjThis;
- FLONG flCaps;
- ULONG cGlyphsSupported;
- ULONG cjMaxGlyph1;
- ULONG cjMaxGlyph4;
- ULONG cjMaxGlyph8;
- ULONG cjMaxGlyph32;
- } FONTINFO, *PFONTINFO;
- /* FONTOBJ.flFontType constants */
- #define FO_TYPE_RASTER RASTER_FONTTYPE
- #define FO_TYPE_DEVICE DEVICE_FONTTYPE
- #define FO_TYPE_TRUETYPE TRUETYPE_FONTTYPE
- #define FO_TYPE_OPENTYPE OPENTYPE_FONTTYPE
- #define FO_SIM_BOLD 0x00002000
- #define FO_SIM_ITALIC 0x00004000
- #define FO_EM_HEIGHT 0x00008000
- #define FO_GRAY16 0x00010000
- #define FO_NOGRAY16 0x00020000
- #define FO_NOHINTS 0x00040000
- #define FO_NO_CHOICE 0x00080000
- #define FO_CFF 0x00100000
- #define FO_POSTSCRIPT 0x00200000
- #define FO_MULTIPLEMASTER 0x00400000
- #define FO_VERT_FACE 0x00800000
- #define FO_DBCS_FONT 0X01000000
- #define FO_NOCLEARTYPE 0x02000000
- #define FO_CLEARTYPE_X 0x10000000
- #define FO_CLEARTYPE_Y 0x20000000
- typedef struct _FONTOBJ {
- ULONG iUniq;
- ULONG iFace;
- ULONG cxMax;
- FLONG flFontType;
- ULONG_PTR iTTUniq;
- ULONG_PTR iFile;
- SIZE sizLogResPpi;
- ULONG ulStyleSize;
- PVOID pvConsumer;
- PVOID pvProducer;
- } FONTOBJ;
- typedef struct _GAMMARAMP {
- WORD Red[256];
- WORD Green[256];
- WORD Blue[256];
- } GAMMARAMP, *PGAMMARAMP;
- /* GDIINFO.ulPrimaryOrder constants */
- #define PRIMARY_ORDER_ABC 0
- #define PRIMARY_ORDER_ACB 1
- #define PRIMARY_ORDER_BAC 2
- #define PRIMARY_ORDER_BCA 3
- #define PRIMARY_ORDER_CBA 4
- #define PRIMARY_ORDER_CAB 5
- /* GDIINFO.ulHTPatternSize constants */
- #define HT_PATSIZE_2x2 0
- #define HT_PATSIZE_2x2_M 1
- #define HT_PATSIZE_4x4 2
- #define HT_PATSIZE_4x4_M 3
- #define HT_PATSIZE_6x6 4
- #define HT_PATSIZE_6x6_M 5
- #define HT_PATSIZE_8x8 6
- #define HT_PATSIZE_8x8_M 7
- #define HT_PATSIZE_10x10 8
- #define HT_PATSIZE_10x10_M 9
- #define HT_PATSIZE_12x12 10
- #define HT_PATSIZE_12x12_M 11
- #define HT_PATSIZE_14x14 12
- #define HT_PATSIZE_14x14_M 13
- #define HT_PATSIZE_16x16 14
- #define HT_PATSIZE_16x16_M 15
- #define HT_PATSIZE_SUPERCELL 16
- #define HT_PATSIZE_SUPERCELL_M 17
- #define HT_PATSIZE_USER 18
- #define HT_PATSIZE_MAX_INDEX HT_PATSIZE_USER
- #define HT_PATSIZE_DEFAULT HT_PATSIZE_SUPERCELL_M
- #define HT_USERPAT_CX_MIN 4
- #define HT_USERPAT_CX_MAX 256
- #define HT_USERPAT_CY_MIN 4
- #define HT_USERPAT_CY_MAX 256
- /* GDIINFO.ulHTOutputFormat constants */
- #define HT_FORMAT_1BPP 0
- #define HT_FORMAT_4BPP 2
- #define HT_FORMAT_4BPP_IRGB 3
- #define HT_FORMAT_8BPP 4
- #define HT_FORMAT_16BPP 5
- #define HT_FORMAT_24BPP 6
- #define HT_FORMAT_32BPP 7
- /* GDIINFO.flHTFlags */
- #define HT_FLAG_SQUARE_DEVICE_PEL 0x00000001
- #define HT_FLAG_HAS_BLACK_DYE 0x00000002
- #define HT_FLAG_ADDITIVE_PRIMS 0x00000004
- #define HT_FLAG_USE_8BPP_BITMASK 0x00000008
- #define HT_FLAG_INK_HIGH_ABSORPTION 0x00000010
- #define HT_FLAG_INK_ABSORPTION_INDICES 0x00000060
- #define HT_FLAG_DO_DEVCLR_XFORM 0x00000080
- #define HT_FLAG_OUTPUT_CMY 0x00000100
- #define HT_FLAG_PRINT_DRAFT_MODE 0x00000200
- #define HT_FLAG_INVERT_8BPP_BITMASK_IDX 0x00000400
- #define HT_FLAG_8BPP_CMY332_MASK 0xFF000000
- #define MAKE_CMYMASK_BYTE(c,m,y) ((BYTE)(((BYTE)(c) & 0x07) << 5) \
- |(BYTE)(((BYTE)(m) & 0x07) << 2) \
- |(BYTE)((BYTE)(y) & 0x03))
- #define MAKE_CMY332_MASK(c,m,y) ((DWORD)(((DWORD)(c) & 0x07) << 29)\
- |(DWORD)(((DWORD)(m) & 0x07) << 26)\
- |(DWORD)(((DWORD)(y) & 0x03) << 24))
- /* GDIINFO.flHTFlags constants */
- #define HT_FLAG_INK_ABSORPTION_IDX0 0x00000000
- #define HT_FLAG_INK_ABSORPTION_IDX1 0x00000020
- #define HT_FLAG_INK_ABSORPTION_IDX2 0x00000040
- #define HT_FLAG_INK_ABSORPTION_IDX3 0x00000060
- #define HT_FLAG_HIGHEST_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX3)
- #define HT_FLAG_HIGHER_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX2)
- #define HT_FLAG_HIGH_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \
- |HT_FLAG_INK_ABSORPTION_IDX1)
- #define HT_FLAG_NORMAL_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX0
- #define HT_FLAG_LOW_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX1
- #define HT_FLAG_LOWER_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX2
- #define HT_FLAG_LOWEST_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX3
- #define HT_BITMASKPALRGB (DWORD)'0BGR'
- #define HT_SET_BITMASKPAL2RGB(pPal) (*((LPDWORD)(pPal)) = HT_BITMASKPALRGB)
- #define HT_IS_BITMASKPALRGB(pPal) (*((LPDWORD)(pPal)) == (DWORD)0)
- /* GDIINFO.ulPhysicalPixelCharacteristics constants */
- #define PPC_DEFAULT 0x0
- #define PPC_UNDEFINED 0x1
- #define PPC_RGB_ORDER_VERTICAL_STRIPES 0x2
- #define PPC_BGR_ORDER_VERTICAL_STRIPES 0x3
- #define PPC_RGB_ORDER_HORIZONTAL_STRIPES 0x4
- #define PPC_BGR_ORDER_HORIZONTAL_STRIPES 0x5
- #define PPG_DEFAULT 0
- #define PPG_SRGB 1
- typedef struct _GDIINFO {
- ULONG ulVersion;
- ULONG ulTechnology;
- ULONG ulHorzSize;
- ULONG ulVertSize;
- ULONG ulHorzRes;
- ULONG ulVertRes;
- ULONG cBitsPixel;
- ULONG cPlanes;
- ULONG ulNumColors;
- ULONG flRaster;
- ULONG ulLogPixelsX;
- ULONG ulLogPixelsY;
- ULONG flTextCaps;
- ULONG ulDACRed;
- ULONG ulDACGreen;
- ULONG ulDACBlue;
- ULONG ulAspectX;
- ULONG ulAspectY;
- ULONG ulAspectXY;
- LONG xStyleStep;
- LONG yStyleStep;
- LONG denStyleStep;
- POINTL ptlPhysOffset;
- SIZEL szlPhysSize;
- ULONG ulNumPalReg;
- COLORINFO ciDevice;
- ULONG ulDevicePelsDPI;
- ULONG ulPrimaryOrder;
- ULONG ulHTPatternSize;
- ULONG ulHTOutputFormat;
- ULONG flHTFlags;
- ULONG ulVRefresh;
- ULONG ulBltAlignment;
- ULONG ulPanningHorzRes;
- ULONG ulPanningVertRes;
- ULONG xPanningAlignment;
- ULONG yPanningAlignment;
- ULONG cxHTPat;
- ULONG cyHTPat;
- LPBYTE pHTPatA;
- LPBYTE pHTPatB;
- LPBYTE pHTPatC;
- ULONG flShadeBlend;
- ULONG ulPhysicalPixelCharacteristics;
- ULONG ulPhysicalPixelGamma;
- } GDIINFO, *PGDIINFO;
- /* PATHDATA.flags constants */
- #define PD_BEGINSUBPATH 0x00000001
- #define PD_ENDSUBPATH 0x00000002
- #define PD_RESETSTYLE 0x00000004
- #define PD_CLOSEFIGURE 0x00000008
- #define PD_BEZIERS 0x00000010
- #define PD_ALL (PD_BEGINSUBPATH \
- |PD_ENDSUBPATH \
- |PD_RESETSTYLE \
- |PD_CLOSEFIGURE \
- PD_BEZIERS)
- typedef struct _PATHDATA {
- FLONG flags;
- ULONG count;
- POINTFIX *pptfx;
- } PATHDATA, *PPATHDATA;
- /* PATHOBJ.fl constants */
- #define PO_BEZIERS 0x00000001
- #define PO_ELLIPSE 0x00000002
- #define PO_ALL_INTEGERS 0x00000004
- #define PO_ENUM_AS_INTEGERS 0x00000008
- typedef struct _PATHOBJ {
- FLONG fl;
- ULONG cCurves;
- } PATHOBJ;
- typedef struct _GLYPHBITS {
- POINTL ptlOrigin;
- SIZEL sizlBitmap;
- BYTE aj[1];
- } GLYPHBITS;
- typedef union _GLYPHDEF {
- GLYPHBITS *pgb;
- PATHOBJ *ppo;
- } GLYPHDEF;
- typedef struct _GLYPHPOS {
- HGLYPH hg;
- GLYPHDEF *pgdf;
- POINTL ptl;
- } GLYPHPOS, *PGLYPHPOS;
- typedef struct _GLYPHDATA {
- GLYPHDEF gdf;
- HGLYPH hg;
- FIX fxD;
- FIX fxA;
- FIX fxAB;
- FIX fxInkTop;
- FIX fxInkBottom;
- RECTL rclInk;
- POINTQF ptqD;
- } GLYPHDATA;
- typedef struct _IFIEXTRA {
- ULONG ulIdentifier;
- PTRDIFF dpFontSig;
- ULONG cig;
- PTRDIFF dpDesignVector;
- PTRDIFF dpAxesInfoW;
- ULONG aulReserved[1];
- } IFIEXTRA, *PIFIEXTRA;
- /* IFIMETRICS constants */
- #define FM_VERSION_NUMBER 0x0
- /* IFIMETRICS.fsType constants */
- #define FM_TYPE_LICENSED 0x2
- #define FM_READONLY_EMBED 0x4
- #define FM_EDITABLE_EMBED 0x8
- #define FM_NO_EMBEDDING FM_TYPE_LICENSED
- /* IFIMETRICS.flInfo constants */
- #define FM_INFO_TECH_TRUETYPE 0x00000001
- #define FM_INFO_TECH_BITMAP 0x00000002
- #define FM_INFO_TECH_STROKE 0x00000004
- #define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE 0x00000008
- #define FM_INFO_ARB_XFORMS 0x00000010
- #define FM_INFO_1BPP 0x00000020
- #define FM_INFO_4BPP 0x00000040
- #define FM_INFO_8BPP 0x00000080
- #define FM_INFO_16BPP 0x00000100
- #define FM_INFO_24BPP 0x00000200
- #define FM_INFO_32BPP 0x00000400
- #define FM_INFO_INTEGER_WIDTH 0x00000800
- #define FM_INFO_CONSTANT_WIDTH 0x00001000
- #define FM_INFO_NOT_CONTIGUOUS 0x00002000
- #define FM_INFO_TECH_MM 0x00004000
- #define FM_INFO_RETURNS_OUTLINES 0x00008000
- #define FM_INFO_RETURNS_STROKES 0x00010000
- #define FM_INFO_RETURNS_BITMAPS 0x00020000
- #define FM_INFO_DSIG 0x00040000
- #define FM_INFO_RIGHT_HANDED 0x00080000
- #define FM_INFO_INTEGRAL_SCALING 0x00100000
- #define FM_INFO_90DEGREE_ROTATIONS 0x00200000
- #define FM_INFO_OPTICALLY_FIXED_PITCH 0x00400000
- #define FM_INFO_DO_NOT_ENUMERATE 0x00800000
- #define FM_INFO_ISOTROPIC_SCALING_ONLY 0x01000000
- #define FM_INFO_ANISOTROPIC_SCALING_ONLY 0x02000000
- #define FM_INFO_TECH_CFF 0x04000000
- #define FM_INFO_FAMILY_EQUIV 0x08000000
- #define FM_INFO_DBCS_FIXED_PITCH 0x10000000
- #define FM_INFO_NONNEGATIVE_AC 0x20000000
- #define FM_INFO_IGNORE_TC_RA_ABLE 0x40000000
- #define FM_INFO_TECH_TYPE1 0x80000000
- #define MAXCHARSETS 16
- /* IFIMETRICS.ulPanoseCulture constants */
- #define FM_PANOSE_CULTURE_LATIN 0x0
- typedef struct _IFIMETRICS {
- ULONG cjThis;
- ULONG cjIfiExtra;
- PTRDIFF dpwszFamilyName;
- PTRDIFF dpwszStyleName;
- PTRDIFF dpwszFaceName;
- PTRDIFF dpwszUniqueName;
- PTRDIFF dpFontSim;
- LONG lEmbedId;
- LONG lItalicAngle;
- LONG lCharBias;
- PTRDIFF dpCharSets;
- BYTE jWinCharSet;
- BYTE jWinPitchAndFamily;
- USHORT usWinWeight;
- ULONG flInfo;
- USHORT fsSelection;
- USHORT fsType;
- FWORD fwdUnitsPerEm;
- FWORD fwdLowestPPEm;
- FWORD fwdWinAscender;
- FWORD fwdWinDescender;
- FWORD fwdMacAscender;
- FWORD fwdMacDescender;
- FWORD fwdMacLineGap;
- FWORD fwdTypoAscender;
- FWORD fwdTypoDescender;
- FWORD fwdTypoLineGap;
- FWORD fwdAveCharWidth;
- FWORD fwdMaxCharInc;
- FWORD fwdCapHeight;
- FWORD fwdXHeight;
- FWORD fwdSubscriptXSize;
- FWORD fwdSubscriptYSize;
- FWORD fwdSubscriptXOffset;
- FWORD fwdSubscriptYOffset;
- FWORD fwdSuperscriptXSize;
- FWORD fwdSuperscriptYSize;
- FWORD fwdSuperscriptXOffset;
- FWORD fwdSuperscriptYOffset;
- FWORD fwdUnderscoreSize;
- FWORD fwdUnderscorePosition;
- FWORD fwdStrikeoutSize;
- FWORD fwdStrikeoutPosition;
- BYTE chFirstChar;
- BYTE chLastChar;
- BYTE chDefaultChar;
- BYTE chBreakChar;
- WCHAR wcFirstChar;
- WCHAR wcLastChar;
- WCHAR wcDefaultChar;
- WCHAR wcBreakChar;
- POINTL ptlBaseline;
- POINTL ptlAspect;
- POINTL ptlCaret;
- RECTL rclFontBox;
- BYTE achVendId[4];
- ULONG cKerningPairs;
- ULONG ulPanoseCulture;
- PANOSE panose;
- #if defined(_WIN64)
- PVOID Align;
- #endif
- } IFIMETRICS, *PIFIMETRICS;
- /* LINEATTRS.fl */
- #define LA_GEOMETRIC 0x00000001
- #define LA_ALTERNATE 0x00000002
- #define LA_STARTGAP 0x00000004
- #define LA_STYLED 0x00000008
- /* LINEATTRS.iJoin */
- #define JOIN_ROUND __MSABI_LONG(0)
- #define JOIN_BEVEL __MSABI_LONG(1)
- #define JOIN_MITER __MSABI_LONG(2)
- /* LINEATTRS.iEndCap */
- #define ENDCAP_ROUND __MSABI_LONG(0)
- #define ENDCAP_SQUARE __MSABI_LONG(1)
- #define ENDCAP_BUTT __MSABI_LONG(2)
- typedef struct _LINEATTRS {
- FLONG fl;
- ULONG iJoin;
- ULONG iEndCap;
- FLOAT_LONG elWidth;
- FLOATL eMiterLimit;
- ULONG cstyle;
- PFLOAT_LONG pstyle;
- FLOAT_LONG elStyleState;
- } LINEATTRS, *PLINEATTRS;
- typedef struct _PALOBJ {
- ULONG ulReserved;
- } PALOBJ;
- typedef struct _PERBANDINFO {
- WINBOOL bRepeatThisBand;
- SIZEL szlBand;
- ULONG ulHorzRes;
- ULONG ulVertRes;
- } PERBANDINFO, *PPERBANDINFO;
- /* STROBJ.flAccel constants */
- #define SO_FLAG_DEFAULT_PLACEMENT 0x00000001
- #define SO_HORIZONTAL 0x00000002
- #define SO_VERTICAL 0x00000004
- #define SO_REVERSED 0x00000008
- #define SO_ZERO_BEARINGS 0x00000010
- #define SO_CHAR_INC_EQUAL_BM_BASE 0x00000020
- #define SO_MAXEXT_EQUAL_BM_SIDE 0x00000040
- #define SO_DO_NOT_SUBSTITUTE_DEVICE_FONT 0x00000080
- #define SO_GLYPHINDEX_TEXTOUT 0x00000100
- #define SO_ESC_NOT_ORIENT 0x00000200
- #define SO_DXDY 0x00000400
- #define SO_CHARACTER_EXTRA 0x00000800
- #define SO_BREAK_EXTRA 0x00001000
- typedef struct _STROBJ {
- ULONG cGlyphs;
- FLONG flAccel;
- ULONG ulCharInc;
- RECTL rclBkGround;
- GLYPHPOS *pgp;
- LPWSTR pwszOrg;
- } STROBJ;
- /* SURFOBJ.iType constants */
- #define STYPE_BITMAP __MSABI_LONG(0)
- #define STYPE_DEVICE __MSABI_LONG(1)
- #define STYPE_DEVBITMAP __MSABI_LONG(3)
- /* SURFOBJ.fjBitmap constants */
- #define BMF_TOPDOWN 0x0001
- #define BMF_NOZEROINIT 0x0002
- #define BMF_DONTCACHE 0x0004
- #define BMF_USERMEM 0x0008
- #define BMF_KMSECTION 0x0010
- #define BMF_NOTSYSMEM 0x0020
- #define BMF_WINDOW_BLT 0x0040
- #define BMF_UMPDMEM 0x0080
- #define BMF_RESERVED 0xFF00
- typedef struct _SURFOBJ {
- DHSURF dhsurf;
- HSURF hsurf;
- DHPDEV dhpdev;
- HDEV hdev;
- SIZEL sizlBitmap;
- ULONG cjBits;
- PVOID pvBits;
- PVOID pvScan0;
- LONG lDelta;
- ULONG iUniq;
- ULONG iBitmapFormat;
- USHORT iType;
- USHORT fjBitmap;
- } SURFOBJ;
- typedef struct _TYPE1_FONT {
- HANDLE hPFM;
- HANDLE hPFB;
- ULONG ulIdentifier;
- } TYPE1_FONT;
- typedef struct _WNDOBJ {
- CLIPOBJ coClient;
- PVOID pvConsumer;
- RECTL rclClient;
- SURFOBJ *psoOwner;
- } WNDOBJ, *PWNDOBJ;
- typedef struct _XFORML {
- FLOATL eM11;
- FLOATL eM12;
- FLOATL eM21;
- FLOATL eM22;
- FLOATL eDx;
- FLOATL eDy;
- } XFORML, *PXFORML;
- typedef struct _XFORMOBJ {
- ULONG ulReserved;
- } XFORMOBJ;
- /* XLATEOBJ.flXlate constants */
- #define XO_TRIVIAL 0x00000001
- #define XO_TABLE 0x00000002
- #define XO_TO_MONO 0x00000004
- #define XO_FROM_CMYK 0x00000008
- #define XO_DEVICE_ICM 0x00000010
- #define XO_HOST_ICM 0x00000020
- typedef struct _XLATEOBJ {
- ULONG iUniq;
- FLONG flXlate;
- USHORT iSrcType;
- USHORT iDstType;
- ULONG cEntries;
- ULONG *pulXlate;
- } XLATEOBJ;
- /* WNDOBJCHANGEPROC.fl constants */
- #define WOC_RGN_CLIENT_DELTA 0x00000001
- #define WOC_RGN_CLIENT 0x00000002
- #define WOC_RGN_SURFACE_DELTA 0x00000004
- #define WOC_RGN_SURFACE 0x00000008
- #define WOC_CHANGED 0x00000010
- #define WOC_DELETE 0x00000020
- #define WOC_DRAWN 0x00000040
- #define WOC_SPRITE_OVERLAP 0x00000080
- #define WOC_SPRITE_NO_OVERLAP 0x00000100
- typedef VOID (APIENTRY CALLBACK *WNDOBJCHANGEPROC)(
- WNDOBJ *pwo,
- FLONG fl);
- WIN32KAPI
- HANDLE
- APIENTRY
- BRUSHOBJ_hGetColorTransform(
- BRUSHOBJ *pbo);
- WIN32KAPI
- PVOID
- APIENTRY
- BRUSHOBJ_pvAllocRbrush(
- BRUSHOBJ *pbo,
- ULONG cj);
- WIN32KAPI
- PVOID
- APIENTRY
- BRUSHOBJ_pvGetRbrush(
- BRUSHOBJ *pbo);
- WIN32KAPI
- ULONG
- APIENTRY
- BRUSHOBJ_ulGetBrushColor(
- BRUSHOBJ *pbo);
- WIN32KAPI
- WINBOOL
- APIENTRY
- CLIPOBJ_bEnum(
- CLIPOBJ *pco,
- ULONG cj,
- ULONG *pv);
- /* CLIPOBJ_cEnumStart.iType constants */
- #define CT_RECTANGLES __MSABI_LONG(0)
- /* CLIPOBJ_cEnumStart.iDirection constants */
- #define CD_RIGHTDOWN 0x00000000
- #define CD_LEFTDOWN 0x00000001
- #define CD_LEFTWARDS 0x00000001
- #define CD_RIGHTUP 0x00000002
- #define CD_UPWARDS 0x00000002
- #define CD_LEFTUP 0x00000003
- #define CD_ANY 0x00000004
- WIN32KAPI
- ULONG
- APIENTRY
- CLIPOBJ_cEnumStart(
- CLIPOBJ *pco,
- WINBOOL bAll,
- ULONG iType,
- ULONG iDirection,
- ULONG cLimit);
- WIN32KAPI
- PATHOBJ*
- APIENTRY
- CLIPOBJ_ppoGetPath(
- CLIPOBJ *pco);
- WIN32KAPI
- VOID
- APIENTRY
- EngAcquireSemaphore(
- HSEMAPHORE hsem);
- #define FL_ZERO_MEMORY 0x00000001
- #define FL_NONPAGED_MEMORY 0x00000002
- WIN32KAPI
- PVOID
- APIENTRY
- EngAllocMem(
- ULONG Flags,
- ULONG MemSize,
- ULONG Tag);
- WIN32KAPI
- PVOID
- APIENTRY
- EngAllocPrivateUserMem(
- PDD_SURFACE_LOCAL psl,
- SIZE_T cj,
- ULONG tag);
- WIN32KAPI
- PVOID
- APIENTRY
- EngAllocUserMem(
- SIZE_T cj,
- ULONG tag);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngAlphaBlend(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- RECTL *prclSrc,
- BLENDOBJ *pBlendObj);
- /* EngAssociateSurface.flHooks constants */
- #define HOOK_BITBLT 0x00000001
- #define HOOK_STRETCHBLT 0x00000002
- #define HOOK_PLGBLT 0x00000004
- #define HOOK_TEXTOUT 0x00000008
- #define HOOK_PAINT 0x00000010
- #define HOOK_STROKEPATH 0x00000020
- #define HOOK_FILLPATH 0x00000040
- #define HOOK_STROKEANDFILLPATH 0x00000080
- #define HOOK_LINETO 0x00000100
- #define HOOK_COPYBITS 0x00000400
- #define HOOK_MOVEPANNING 0x00000800
- #define HOOK_SYNCHRONIZE 0x00001000
- #define HOOK_STRETCHBLTROP 0x00002000
- #define HOOK_SYNCHRONIZEACCESS 0x00004000
- #define HOOK_TRANSPARENTBLT 0x00008000
- #define HOOK_ALPHABLEND 0x00010000
- #define HOOK_GRADIENTFILL 0x00020000
- #define HOOK_FLAGS 0x0003b5ff
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngAssociateSurface(
- HSURF hsurf,
- HDEV hdev,
- FLONG flHooks);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngBitBlt(
- SURFOBJ *psoTrg,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclTrg,
- POINTL *pptlSrc,
- POINTL *pptlMask,
- BRUSHOBJ *pbo,
- POINTL *pptlBrush,
- ROP4 rop4);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngCheckAbort(
- SURFOBJ *pso);
- WIN32KAPI
- VOID
- APIENTRY
- EngClearEvent(
- PEVENT pEvent);
- WIN32KAPI
- FD_GLYPHSET*
- APIENTRY
- EngComputeGlyphSet(
- INT nCodePage,
- INT nFirstChar,
- INT cChars);
- /* EngControlSprites.fl constants */
- #define ECS_TEARDOWN 0x00000001
- #define ECS_REDRAW 0x00000002
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngControlSprites(
- WNDOBJ *pwo,
- FLONG fl);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngCopyBits(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- POINTL *pptlSrc);
- WIN32KAPI
- HBITMAP
- APIENTRY
- EngCreateBitmap(
- SIZEL sizl,
- LONG lWidth,
- ULONG iFormat,
- FLONG fl,
- PVOID pvBits);
- WIN32KAPI
- CLIPOBJ*
- APIENTRY
- EngCreateClip(
- VOID);
- WIN32KAPI
- HBITMAP
- APIENTRY
- EngCreateDeviceBitmap(
- DHSURF dhsurf,
- SIZEL sizl,
- ULONG iFormatCompat);
- WIN32KAPI
- HSURF
- APIENTRY
- EngCreateDeviceSurface(
- DHSURF dhsurf,
- SIZEL sizl,
- ULONG iFormatCompat);
- #if 0
- WIN32KAPI
- HDRVOBJ
- APIENTRY
- EngCreateDriverObj(
- PVOID pvObj,
- FREEOBJPROC pFreeObjProc,
- HDEV hdev);
- #endif
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngCreateEvent(
- PEVENT *ppEvent);
- /* EngCreatePalette.iMode constants */
- #define PAL_INDEXED 0x00000001
- #define PAL_BITFIELDS 0x00000002
- #define PAL_RGB 0x00000004
- #define PAL_BGR 0x00000008
- #define PAL_CMYK 0x00000010
- WIN32KAPI
- HPALETTE
- APIENTRY
- EngCreatePalette(
- ULONG iMode,
- ULONG cColors,
- ULONG *pulColors,
- FLONG flRed,
- FLONG flGreen,
- FLONG flBlue);
- WIN32KAPI
- PATHOBJ*
- APIENTRY
- EngCreatePath(
- VOID);
- WIN32KAPI
- HSEMAPHORE
- APIENTRY
- EngCreateSemaphore(
- VOID);
- /* EngCreateWnd.fl constants */
- #define WO_RGN_CLIENT_DELTA 0x00000001
- #define WO_RGN_CLIENT 0x00000002
- #define WO_RGN_SURFACE_DELTA 0x00000004
- #define WO_RGN_SURFACE 0x00000008
- #define WO_RGN_UPDATE_ALL 0x00000010
- #define WO_RGN_WINDOW 0x00000020
- #define WO_DRAW_NOTIFY 0x00000040
- #define WO_SPRITE_NOTIFY 0x00000080
- #define WO_RGN_DESKTOP_COORD 0x00000100
- WIN32KAPI
- WNDOBJ*
- APIENTRY
- EngCreateWnd(
- SURFOBJ *pso,
- HWND hwnd,
- WNDOBJCHANGEPROC pfn,
- FLONG fl,
- int iPixelFormat);
- WIN32KAPI
- VOID
- APIENTRY
- EngDebugBreak(
- VOID);
- WIN32KAPI
- VOID
- APIENTRY
- EngDebugPrint(
- PCHAR StandardPrefix,
- PCHAR DebugMessage,
- va_list ap);
- WIN32KAPI
- VOID
- APIENTRY
- EngDeleteClip(
- CLIPOBJ *pco);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngDeleteDriverObj(
- HDRVOBJ hdo,
- WINBOOL bCallBack,
- WINBOOL bLocked);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngDeleteEvent(
- PEVENT pEvent);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngDeleteFile(
- LPWSTR pwszFileName);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngDeletePalette(
- HPALETTE hpal);
- WIN32KAPI
- VOID
- APIENTRY
- EngDeletePath(
- PATHOBJ *ppo);
- WIN32KAPI
- VOID
- APIENTRY
- EngDeleteSafeSemaphore(
- ENGSAFESEMAPHORE *pssem);
- WIN32KAPI
- VOID
- APIENTRY
- EngDeleteSemaphore(
- HSEMAPHORE hsem);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngDeleteSurface(
- HSURF hsurf);
- WIN32KAPI
- VOID
- APIENTRY
- EngDeleteWnd(
- WNDOBJ *pwo);
- WIN32KAPI
- DWORD
- APIENTRY
- EngDeviceIoControl(
- HANDLE hDevice,
- DWORD dwIoControlCode,
- LPVOID lpInBuffer,
- DWORD nInBufferSize,
- LPVOID lpOutBuffer,
- DWORD nOutBufferSize,
- LPDWORD lpBytesReturned);
- WIN32KAPI
- ULONG
- APIENTRY
- EngDitherColor(
- HDEV hdev,
- ULONG iMode,
- ULONG rgb,
- ULONG *pul);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngEnumForms(
- HANDLE hPrinter,
- DWORD Level,
- LPBYTE pForm,
- DWORD cbBuf,
- LPDWORD pcbNeeded,
- LPDWORD pcReturned);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngEraseSurface(
- SURFOBJ *pso,
- RECTL *prcl,
- ULONG iColor);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix,
- FLONG flOptions);
- WIN32KAPI
- PVOID
- APIENTRY
- EngFindImageProcAddress(
- HANDLE hModule,
- LPSTR lpProcName);
- WIN32KAPI
- PVOID
- APIENTRY
- EngFindResource(
- HANDLE h,
- int iName,
- int iType,
- PULONG pulSize);
- WIN32KAPI
- PVOID
- APIENTRY
- EngFntCacheAlloc(
- ULONG FastCheckSum,
- ULONG ulSize);
- /* EngFntCacheFault.iFaultMode constants */
- #define ENG_FNT_CACHE_READ_FAULT 0x00000001
- #define ENG_FNT_CACHE_WRITE_FAULT 0x00000002
- WIN32KAPI
- VOID
- APIENTRY
- EngFntCacheFault(
- ULONG ulFastCheckSum,
- ULONG iFaultMode);
- WIN32KAPI
- PVOID
- APIENTRY
- EngFntCacheLookUp(
- ULONG FastCheckSum,
- ULONG *pulSize);
- WIN32KAPI
- VOID
- APIENTRY
- EngFreeMem(
- PVOID Mem);
- WIN32KAPI
- VOID
- APIENTRY
- EngFreeModule(
- HANDLE h);
- WIN32KAPI
- VOID
- APIENTRY
- EngFreePrivateUserMem(
- PDD_SURFACE_LOCAL psl,
- PVOID pv);
- WIN32KAPI
- VOID
- APIENTRY
- EngFreeUserMem(
- PVOID pv);
- WIN32KAPI
- VOID
- APIENTRY
- EngGetCurrentCodePage(
- PUSHORT OemCodePage,
- PUSHORT AnsiCodePage);
- WIN32KAPI
- HANDLE
- APIENTRY
- EngGetCurrentProcessId(
- VOID);
- WIN32KAPI
- HANDLE
- APIENTRY
- EngGetCurrentThreadId(
- VOID);
- WIN32KAPI
- LPWSTR
- APIENTRY
- EngGetDriverName(
- HDEV hdev);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngGetFileChangeTime(
- HANDLE h,
- LARGE_INTEGER *pChangeTime);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngGetFilePath(
- HANDLE h,
- WCHAR (*pDest)[MAX_PATH+1]);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngGetForm(
- HANDLE hPrinter,
- LPWSTR pFormName,
- DWORD Level,
- LPBYTE pForm,
- DWORD cbBuf,
- LPDWORD pcbNeeded);
- WIN32KAPI
- ULONG
- APIENTRY
- EngGetLastError(
- VOID);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngGetPrinter(
- HANDLE hPrinter,
- DWORD dwLevel,
- LPBYTE pPrinter,
- DWORD cbBuf,
- LPDWORD pcbNeeded);
- WIN32KAPI
- DWORD
- APIENTRY
- EngGetPrinterData(
- HANDLE hPrinter,
- LPWSTR pValueName,
- LPDWORD pType,
- LPBYTE pData,
- DWORD nSize,
- LPDWORD pcbNeeded);
- WIN32KAPI
- LPWSTR
- APIENTRY
- EngGetPrinterDataFileName(
- HDEV hdev);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngGetPrinterDriver(
- HANDLE hPrinter,
- LPWSTR pEnvironment,
- DWORD dwLevel,
- BYTE *lpbDrvInfo,
- DWORD cbBuf,
- DWORD *pcbNeeded);
- WIN32KAPI
- HANDLE
- APIENTRY
- EngGetProcessHandle(
- VOID);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngGetType1FontList(
- HDEV hdev,
- TYPE1_FONT *pType1Buffer,
- ULONG cjType1Buffer,
- PULONG pulLocalFonts,
- PULONG pulRemoteFonts,
- LARGE_INTEGER *pLastModified);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngGradientFill(
- SURFOBJ *psoDest,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- TRIVERTEX *pVertex,
- ULONG nVertex,
- PVOID pMesh,
- ULONG nMesh,
- RECTL *prclExtents,
- POINTL *pptlDitherOrg,
- ULONG ulMode);
- /* EngHangNotification return values */
- #define EHN_RESTORED 0x00000000
- #define EHN_ERROR 0x00000001
- WIN32KAPI
- ULONG
- APIENTRY
- EngHangNotification(
- HDEV hDev,
- PVOID Reserved);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngInitializeSafeSemaphore(
- ENGSAFESEMAPHORE *pssem);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngIsSemaphoreOwned(
- HSEMAPHORE hsem);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngIsSemaphoreOwnedByCurrentThread(
- HSEMAPHORE hsem);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
- WIN32KAPI
- HANDLE
- APIENTRY
- EngLoadImage(
- LPWSTR pwszDriver);
- WIN32KAPI
- HANDLE
- APIENTRY
- EngLoadModule(
- LPWSTR pwsz);
- WIN32KAPI
- HANDLE
- APIENTRY
- EngLoadModuleForWrite(
- LPWSTR pwsz,
- ULONG cjSizeOfModule);
- WIN32KAPI
- PDD_SURFACE_LOCAL
- APIENTRY
- EngLockDirectDrawSurface(
- HANDLE hSurface);
- WIN32KAPI
- DRIVEROBJ*
- APIENTRY
- EngLockDriverObj(
- HDRVOBJ hdo);
- WIN32KAPI
- SURFOBJ*
- APIENTRY
- EngLockSurface(
- HSURF hsurf);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngLpkInstalled(
- VOID);
- WIN32KAPI
- PEVENT
- APIENTRY
- EngMapEvent(
- HDEV hDev,
- HANDLE hUserObject,
- PVOID Reserved1,
- PVOID Reserved2,
- PVOID Reserved3);
- WIN32KAPI
- PVOID
- APIENTRY
- EngMapFile(
- LPWSTR pwsz,
- ULONG cjSize,
- ULONG_PTR *piFile);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngMapFontFile(
- ULONG_PTR iFile,
- PULONG *ppjBuf,
- ULONG *pcjBuf);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngMapFontFileFD(
- ULONG_PTR iFile,
- PULONG *ppjBuf,
- ULONG *pcjBuf);
- WIN32KAPI
- PVOID
- APIENTRY
- EngMapModule(
- HANDLE h,
- PULONG pSize);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngMarkBandingSurface(
- HSURF hsurf);
- /* EngModifySurface.flSurface constants */
- #define MS_NOTSYSTEMMEMORY 0x00000001
- #define MS_SHAREDACCESS 0x00000002
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngModifySurface(
- HSURF hsurf,
- HDEV hdev,
- FLONG flHooks,
- FLONG flSurface,
- DHSURF dhsurf,
- VOID *pvScan0,
- LONG lDelta,
- VOID *pvReserved);
- WIN32KAPI
- VOID
- APIENTRY
- EngMovePointer(
- SURFOBJ *pso,
- LONG x,
- LONG y,
- RECTL *prcl);
- WIN32KAPI
- int
- APIENTRY
- EngMulDiv(
- int a,
- int b,
- int c);
- WIN32KAPI
- VOID
- APIENTRY
- EngMultiByteToUnicodeN(
- LPWSTR UnicodeString,
- ULONG MaxBytesInUnicodeString,
- PULONG BytesInUnicodeString,
- PCHAR MultiByteString,
- ULONG BytesInMultiByteString);
- WIN32KAPI
- INT
- APIENTRY
- EngMultiByteToWideChar(
- UINT CodePage,
- LPWSTR WideCharString,
- INT BytesInWideCharString,
- LPSTR MultiByteString,
- INT BytesInMultiByteString);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngPaint(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngPlgBlt(
- SURFOBJ *psoTrg,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMsk,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlBrushOrg,
- POINTFIX *pptfx,
- RECTL *prcl,
- POINTL *pptl,
- ULONG iMode);
- WIN32KAPI
- VOID
- APIENTRY
- EngProbeForRead(
- PVOID Address,
- ULONG Length,
- ULONG Alignment);
- WIN32KAPI
- VOID
- APIENTRY
- EngProbeForReadAndWrite(
- PVOID Address,
- ULONG Length,
- ULONG Alignment);
- typedef enum _ENG_DEVICE_ATTRIBUTE {
- QDA_RESERVED = 0,
- QDA_ACCELERATION_LEVEL
- } ENG_DEVICE_ATTRIBUTE;
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngQueryDeviceAttribute(
- HDEV hdev,
- ENG_DEVICE_ATTRIBUTE devAttr,
- VOID *pvIn,
- ULONG ulInSize,
- VOID *pvOut,
- ULONG ulOutSize);
- WIN32KAPI
- LARGE_INTEGER
- APIENTRY
- EngQueryFileTimeStamp(
- LPWSTR pwsz);
- WIN32KAPI
- VOID
- APIENTRY
- EngQueryLocalTime(
- PENG_TIME_FIELDS ptf);
- WIN32KAPI
- ULONG
- APIENTRY
- EngQueryPalette(
- HPALETTE hPal,
- ULONG *piMode,
- ULONG cColors,
- ULONG *pulColors);
- WIN32KAPI
- VOID
- APIENTRY
- EngQueryPerformanceCounter(
- LONGLONG *pPerformanceCount);
- WIN32KAPI
- VOID
- APIENTRY
- EngQueryPerformanceFrequency(
- LONGLONG *pFrequency);
- typedef enum _ENG_SYSTEM_ATTRIBUTE {
- EngProcessorFeature = 1,
- EngNumberOfProcessors,
- EngOptimumAvailableUserMemory,
- EngOptimumAvailableSystemMemory,
- } ENG_SYSTEM_ATTRIBUTE;
- #define QSA_MMX 0x00000100
- #define QSA_SSE 0x00002000
- #define QSA_3DNOW 0x00004000
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngQuerySystemAttribute(
- ENG_SYSTEM_ATTRIBUTE CapNum,
- PDWORD pCapability);
- WIN32KAPI
- LONG
- APIENTRY
- EngReadStateEvent(
- PEVENT pEvent);
- WIN32KAPI
- VOID
- APIENTRY
- EngReleaseSemaphore(
- HSEMAPHORE hsem);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngRestoreFloatingPointState(
- VOID *pBuffer);
- WIN32KAPI
- ULONG
- APIENTRY
- EngSaveFloatingPointState(
- VOID *pBuffer,
- ULONG cjBufferSize);
- WIN32KAPI
- HANDLE
- APIENTRY
- EngSecureMem(
- PVOID Address,
- ULONG Length);
- WIN32KAPI
- LONG
- APIENTRY
- EngSetEvent(
- PEVENT pEvent);
- WIN32KAPI
- VOID
- APIENTRY
- EngSetLastError(
- ULONG iError);
- WIN32KAPI
- ULONG
- APIENTRY
- EngSetPointerShape(
- SURFOBJ *pso,
- SURFOBJ *psoMask,
- SURFOBJ *psoColor,
- XLATEOBJ *pxlo,
- LONG xHot,
- LONG yHot,
- LONG x,
- LONG y,
- RECTL *prcl,
- FLONG fl);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngSetPointerTag(
- HDEV hdev,
- SURFOBJ *psoMask,
- SURFOBJ *psoColor,
- XLATEOBJ *pxlo,
- FLONG fl);
- WIN32KAPI
- DWORD
- APIENTRY
- EngSetPrinterData(
- HANDLE hPrinter,
- LPWSTR pType,
- DWORD dwType,
- LPBYTE lpbPrinterData,
- DWORD cjPrinterData);
- typedef int (CDECL *SORTCOMP)(const void *pv1, const void *pv2);
- WIN32KAPI
- VOID
- APIENTRY
- EngSort(
- PBYTE pjBuf,
- ULONG c,
- ULONG cjElem,
- SORTCOMP pfnComp);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngStretchBlt(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngStretchBltROP(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode,
- BRUSHOBJ *pbo,
- DWORD rop4);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngStrokeAndFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pboStroke,
- LINEATTRS *plineattrs,
- BRUSHOBJ *pboFill,
- POINTL *pptlBrushOrg,
- MIX mixFill,
- FLONG flOptions);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngStrokePath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- LINEATTRS *plineattrs,
- MIX mix);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngTextOut(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngTransparentBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- RECTL *prclSrc,
- ULONG iTransColor,
- ULONG ulReserved);
- WIN32KAPI
- VOID
- APIENTRY
- EngUnicodeToMultiByteN(
- PCHAR MultiByteString,
- ULONG MaxBytesInMultiByteString,
- PULONG BytesInMultiByteString,
- PWSTR UnicodeString,
- ULONG BytesInUnicodeString);
- WIN32KAPI
- VOID
- APIENTRY
- EngUnloadImage(
- HANDLE hModule);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngUnlockDirectDrawSurface(
- PDD_SURFACE_LOCAL pSurface);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngUnlockDriverObj(
- HDRVOBJ hdo);
- WIN32KAPI
- VOID
- APIENTRY
- EngUnlockSurface(
- SURFOBJ *pso);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngUnmapEvent(
- PEVENT pEvent);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngUnmapFile(
- ULONG_PTR iFile);
- WIN32KAPI
- VOID
- APIENTRY
- EngUnmapFontFile(
- ULONG_PTR iFile);
- WIN32KAPI
- VOID
- APIENTRY
- EngUnmapFontFileFD(
- ULONG_PTR iFile);
- WIN32KAPI
- VOID
- APIENTRY
- EngUnsecureMem(
- HANDLE hSecure);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngWaitForSingleObject(
- PEVENT pEvent,
- PLARGE_INTEGER pTimeOut);
- WIN32KAPI
- INT
- APIENTRY
- EngWideCharToMultiByte(
- UINT CodePage,
- LPWSTR WideCharString,
- INT BytesInWideCharString,
- LPSTR MultiByteString,
- INT BytesInMultiByteString);
- WIN32KAPI
- WINBOOL
- APIENTRY
- EngWritePrinter(
- HANDLE hPrinter,
- LPVOID pBuf,
- DWORD cbBuf,
- LPDWORD pcWritten);
- #if defined(_X86_) && !defined(USERMODE_DRIVER)
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_Add(
- PFLOATOBJ pf,
- PFLOATOBJ pf1);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_AddFloat(
- PFLOATOBJ pf,
- FLOATL f);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_AddLong(
- PFLOATOBJ pf,
- LONG l);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_Div(
- PFLOATOBJ pf,
- PFLOATOBJ pf1);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_DivFloat(
- PFLOATOBJ pf,
- FLOATL f);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_DivLong(
- PFLOATOBJ pf,
- LONG l);
- WIN32KAPI
- WINBOOL
- APIENTRY
- FLOATOBJ_Equal(
- PFLOATOBJ pf,
- PFLOATOBJ pf1);
- WIN32KAPI
- WINBOOL
- APIENTRY
- FLOATOBJ_EqualLong(
- PFLOATOBJ pf,
- LONG l);
- WIN32KAPI
- LONG
- APIENTRY
- FLOATOBJ_GetFloat(
- PFLOATOBJ pf);
- WIN32KAPI
- LONG
- APIENTRY
- FLOATOBJ_GetLong(
- PFLOATOBJ pf);
- WIN32KAPI
- WINBOOL
- APIENTRY
- FLOATOBJ_GreaterThan(
- PFLOATOBJ pf,
- PFLOATOBJ pf1);
- WIN32KAPI
- WINBOOL
- APIENTRY
- FLOATOBJ_GreaterThanLong(
- PFLOATOBJ pf,
- LONG l);
- WIN32KAPI
- WINBOOL
- APIENTRY
- FLOATOBJ_LessThan(
- PFLOATOBJ pf,
- PFLOATOBJ pf1);
- WIN32KAPI
- WINBOOL
- APIENTRY
- FLOATOBJ_LessThanLong(
- PFLOATOBJ pf,
- LONG l);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_Mul(
- PFLOATOBJ pf,
- PFLOATOBJ pf1);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_MulFloat(
- PFLOATOBJ pf,
- FLOATL f);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_MulLong(
- PFLOATOBJ pf,
- LONG l);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_Neg(
- PFLOATOBJ pf);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_SetFloat(
- PFLOATOBJ pf,
- FLOATL f);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_SetLong(
- PFLOATOBJ pf,
- LONG l);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_Sub(
- PFLOATOBJ pf,
- PFLOATOBJ pf1);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_SubFloat(
- PFLOATOBJ pf,
- FLOATL f);
- WIN32KAPI
- VOID
- APIENTRY
- FLOATOBJ_SubLong(
- PFLOATOBJ pf,
- LONG l);
- #else
- #define FLOATOBJ_SetFloat(pf, f) {*(pf) = (f);}
- #define FLOATOBJ_SetLong(pf, l) {*(pf) = (FLOAT)(l);}
- #define FLOATOBJ_GetFloat(pf) (*(PULONG)(pf))
- #define FLOATOBJ_GetLong(pf) ((LONG)*(pf))
- #define FLOATOBJ_Add(pf, pf1) {*(pf) += *(pf1);}
- #define FLOATOBJ_AddFloat(pf, f) {*(pf) += (f);}
- #define FLOATOBJ_AddLong(pf, l) {*(pf) += (l);}
- #define FLOATOBJ_Sub(pf, pf1) {*(pf) -= *(pf1);}
- #define FLOATOBJ_SubFloat(pf, f) {*(pf) -= (f);}
- #define FLOATOBJ_SubLong(pf, l) {*(pf) -= (l);}
- #define FLOATOBJ_Mul(pf, pf1) {*(pf) *= *(pf1);}
- #define FLOATOBJ_MulFloat(pf, f) {*(pf) *= (f);}
- #define FLOATOBJ_MulLong(pf, l) {*(pf) *= (l);}
- #define FLOATOBJ_Div(pf, pf1) {*(pf) /= *(pf1);}
- #define FLOATOBJ_DivFloat(pf, f) {*(pf) /= (f);}
- #define FLOATOBJ_DivLong(pf, l) {*(pf) /= (l);}
- #define FLOATOBJ_Neg(pf) {*(pf) = -(*(pf));}
- #define FLOATOBJ_Equal(pf, pf1) (*(pf) == *(pf1))
- #define FLOATOBJ_GreaterThan(pf, pf1) (*(pf) > *(pf1))
- #define FLOATOBJ_LessThan(pf, pf1) (*(pf) < *(pf1))
- #define FLOATOBJ_EqualLong(pf, l) (*(pf) == (FLOAT)(l))
- #define FLOATOBJ_GreaterThanLong(pf, l) (*(pf) > (FLOAT)(l))
- #define FLOATOBJ_LessThanLong(pf, l) (*(pf) < (FLOAT)(l))
- #endif
- WIN32KAPI
- ULONG
- APIENTRY
- FONTOBJ_cGetAllGlyphHandles(
- FONTOBJ *pfo,
- HGLYPH *phg);
- WIN32KAPI
- ULONG
- APIENTRY
- FONTOBJ_cGetGlyphs(
- FONTOBJ *pfo,
- ULONG iMode,
- ULONG cGlyph,
- HGLYPH *phg,
- PVOID *ppvGlyph);
- WIN32KAPI
- FD_GLYPHSET*
- APIENTRY
- FONTOBJ_pfdg(
- FONTOBJ *pfo);
- WIN32KAPI
- IFIMETRICS*
- APIENTRY
- FONTOBJ_pifi(
- FONTOBJ *pfo);
- WIN32KAPI
- PBYTE
- APIENTRY
- FONTOBJ_pjOpenTypeTablePointer(
- FONTOBJ *pfo,
- ULONG ulTag,
- ULONG *pcjTable);
- WIN32KAPI
- PFD_GLYPHATTR
- APIENTRY
- FONTOBJ_pQueryGlyphAttrs(
- FONTOBJ *pfo,
- ULONG iMode);
- WIN32KAPI
- PVOID
- APIENTRY
- FONTOBJ_pvTrueTypeFontFile(
- FONTOBJ *pfo,
- ULONG *pcjFile);
- WIN32KAPI
- LPWSTR
- APIENTRY
- FONTOBJ_pwszFontFilePaths(
- FONTOBJ *pfo,
- ULONG *pcwc);
- WIN32KAPI
- XFORMOBJ*
- APIENTRY
- FONTOBJ_pxoGetXform(
- FONTOBJ *pfo);
- WIN32KAPI
- VOID
- APIENTRY
- FONTOBJ_vGetInfo(
- FONTOBJ *pfo,
- ULONG cjSize,
- FONTINFO *pfi);
- WIN32KAPI
- LONG
- APIENTRY
- HT_ComputeRGBGammaTable(
- USHORT GammaTableEntries,
- USHORT GammaTableType,
- USHORT RedGamma,
- USHORT GreenGamma,
- USHORT BlueGamma,
- LPBYTE pGammaTable);
- WIN32KAPI
- LONG
- APIENTRY
- HT_Get8BPPFormatPalette(
- LPPALETTEENTRY pPaletteEntry,
- USHORT RedGamma,
- USHORT GreenGamma,
- USHORT BlueGamma);
- WIN32KAPI
- LONG
- APIENTRY
- HT_Get8BPPMaskPalette(
- LPPALETTEENTRY pPaletteEntry,
- WINBOOL Use8BPPMaskPal,
- BYTE CMYMask,
- USHORT RedGamma,
- USHORT GreenGamma,
- USHORT BlueGamma);
- WIN32KAPI
- LONG
- APIENTRY
- HTUI_DeviceColorAdjustment(
- LPSTR pDeviceName,
- PDEVHTADJDATA pDevHTAdjData);
- WIN32KAPI
- ULONG
- APIENTRY
- PALOBJ_cGetColors(
- PALOBJ *ppalo,
- ULONG iStart,
- ULONG cColors,
- ULONG *pulColors);
- WIN32KAPI
- WINBOOL
- APIENTRY
- PATHOBJ_bCloseFigure(
- PATHOBJ *ppo);
- WIN32KAPI
- WINBOOL
- APIENTRY
- PATHOBJ_bEnum(
- PATHOBJ *ppo,
- PATHDATA *ppd);
- WIN32KAPI
- WINBOOL
- APIENTRY
- PATHOBJ_bEnumClipLines(
- PATHOBJ *ppo,
- ULONG cb,
- CLIPLINE *pcl);
- WIN32KAPI
- WINBOOL
- APIENTRY
- PATHOBJ_bMoveTo(
- PATHOBJ *ppo,
- POINTFIX ptfx);
- WIN32KAPI
- WINBOOL
- APIENTRY
- PATHOBJ_bPolyBezierTo(
- PATHOBJ *ppo,
- POINTFIX *pptfx,
- ULONG cptfx);
- WIN32KAPI
- WINBOOL
- APIENTRY
- PATHOBJ_bPolyLineTo(
- PATHOBJ *ppo,
- POINTFIX *pptfx,
- ULONG cptfx);
- WIN32KAPI
- VOID
- APIENTRY
- PATHOBJ_vEnumStart(
- PATHOBJ *ppo);
- WIN32KAPI
- VOID
- APIENTRY
- PATHOBJ_vEnumStartClipLines(
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- SURFOBJ *pso,
- LINEATTRS *pla);
- WIN32KAPI
- VOID
- APIENTRY
- PATHOBJ_vGetBounds(
- PATHOBJ *ppo,
- PRECTFX prectfx);
- WIN32KAPI
- WINBOOL
- APIENTRY
- STROBJ_bEnum(
- STROBJ *pstro,
- ULONG *pc,
- PGLYPHPOS *ppgpos);
- WIN32KAPI
- WINBOOL
- APIENTRY
- STROBJ_bEnumPositionsOnly(
- STROBJ *pstro,
- ULONG *pc,
- PGLYPHPOS *ppgpos);
- WIN32KAPI
- WINBOOL
- APIENTRY
- STROBJ_bGetAdvanceWidths(
- STROBJ *pso,
- ULONG iFirst,
- ULONG c,
- POINTQF *pptqD);
- WIN32KAPI
- DWORD
- APIENTRY
- STROBJ_dwGetCodePage(
- STROBJ *pstro);
- WIN32KAPI
- FIX
- APIENTRY
- STROBJ_fxBreakExtra(
- STROBJ *pstro);
- WIN32KAPI
- FIX
- APIENTRY
- STROBJ_fxCharacterExtra(
- STROBJ *pstro);
- WIN32KAPI
- VOID
- APIENTRY
- STROBJ_vEnumStart(
- STROBJ *pstro);
- WIN32KAPI
- WINBOOL
- APIENTRY
- WNDOBJ_bEnum(
- WNDOBJ *pwo,
- ULONG cj,
- ULONG *pul);
- WIN32KAPI
- ULONG
- APIENTRY
- WNDOBJ_cEnumStart(
- WNDOBJ *pwo,
- ULONG iType,
- ULONG iDirection,
- ULONG cLimit);
- WIN32KAPI
- VOID
- APIENTRY
- WNDOBJ_vSetConsumer(
- WNDOBJ *pwo,
- PVOID pvConsumer);
- /* XFORMOBJ_bApplyXform.iMode constants */
- #define XF_LTOL __MSABI_LONG(0)
- #define XF_INV_LTOL __MSABI_LONG(1)
- #define XF_LTOFX __MSABI_LONG(2)
- #define XF_INV_FXTOL __MSABI_LONG(3)
- WIN32KAPI
- WINBOOL
- APIENTRY
- XFORMOBJ_bApplyXform(
- XFORMOBJ *pxo,
- ULONG iMode,
- ULONG cPoints,
- PVOID pvIn,
- PVOID pvOut);
- WIN32KAPI
- ULONG
- APIENTRY
- XFORMOBJ_iGetFloatObjXform(
- XFORMOBJ *pxo,
- FLOATOBJ_XFORM *pxfo);
- WIN32KAPI
- ULONG
- APIENTRY
- XFORMOBJ_iGetXform(
- XFORMOBJ *pxo,
- XFORML *pxform);
- /* XLATEOBJ_cGetPalette.iPal constants */
- #define XO_SRCPALETTE 1
- #define XO_DESTPALETTE 2
- #define XO_DESTDCPALETTE 3
- #define XO_SRCBITFIELDS 4
- #define XO_DESTBITFIELDS 5
- WIN32KAPI
- ULONG
- APIENTRY
- XLATEOBJ_cGetPalette(
- XLATEOBJ *pxlo,
- ULONG iPal,
- ULONG cPal,
- ULONG *pPal);
- WIN32KAPI
- HANDLE
- APIENTRY
- XLATEOBJ_hGetColorTransform(
- XLATEOBJ *pxlo);
- WIN32KAPI
- ULONG
- APIENTRY
- XLATEOBJ_iXlate(
- XLATEOBJ *pxlo,
- ULONG iColor);
- WIN32KAPI
- ULONG*
- APIENTRY
- XLATEOBJ_piVector(
- XLATEOBJ *pxlo);
- /* Graphics Driver Functions */
- WINBOOL
- APIENTRY
- DrvAlphaBlend(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- RECTL *prclSrc,
- BLENDOBJ *pBlendObj);
- WINBOOL
- APIENTRY
- DrvAssertMode(
- DHPDEV dhpdev,
- WINBOOL bEnable);
- WINBOOL
- APIENTRY
- DrvBitBlt(
- SURFOBJ *psoTrg,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclTrg,
- POINTL *pptlSrc,
- POINTL *pptlMask,
- BRUSHOBJ *pbo,
- POINTL *pptlBrush,
- ROP4 rop4);
- VOID
- APIENTRY
- DrvCompletePDEV(
- DHPDEV dhpdev,
- HDEV hdev);
- WINBOOL
- APIENTRY
- DrvCopyBits(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- POINTL *pptlSrc);
- HBITMAP
- APIENTRY
- DrvCreateDeviceBitmap(
- DHPDEV dhpdev,
- SIZEL sizl,
- ULONG iFormat);
- VOID
- APIENTRY
- DrvDeleteDeviceBitmap(
- DHSURF dhsurf);
- HBITMAP
- APIENTRY
- DrvDeriveSurface(
- DD_DIRECTDRAW_GLOBAL *pDirectDraw,
- DD_SURFACE_LOCAL *pSurface);
- LONG
- APIENTRY
- DrvDescribePixelFormat(
- DHPDEV dhpdev,
- LONG iPixelFormat,
- ULONG cjpfd,
- PIXELFORMATDESCRIPTOR *ppfd);
- VOID
- APIENTRY
- DrvDestroyFont(
- FONTOBJ *pfo);
- VOID
- APIENTRY
- DrvDisableDriver(
- VOID);
- VOID
- APIENTRY
- DrvDisablePDEV(
- DHPDEV dhpdev);
- VOID
- APIENTRY
- DrvDisableSurface(
- DHPDEV dhpdev);
- #define DM_DEFAULT 0x00000001
- #define DM_MONOCHROME 0x00000002
- ULONG
- APIENTRY
- DrvDitherColor(
- DHPDEV dhpdev,
- ULONG iMode,
- ULONG rgb,
- ULONG *pul);
- ULONG
- APIENTRY
- DrvDrawEscape(
- SURFOBJ *pso,
- ULONG iEsc,
- CLIPOBJ *pco,
- RECTL *prcl,
- ULONG cjIn,
- PVOID pvIn);
- WINBOOL
- APIENTRY
- DrvEnableDriver(
- ULONG iEngineVersion,
- ULONG cj,
- DRVENABLEDATA *pded);
- DHPDEV
- APIENTRY
- DrvEnablePDEV(
- DEVMODEW *pdm,
- LPWSTR pwszLogAddress,
- ULONG cPat,
- HSURF *phsurfPatterns,
- ULONG cjCaps,
- ULONG *pdevcaps,
- ULONG cjDevInfo,
- DEVINFO *pdi,
- HDEV hdev,
- LPWSTR pwszDeviceName,
- HANDLE hDriver);
- HSURF
- APIENTRY
- DrvEnableSurface(
- DHPDEV dhpdev);
- /* DrvEndDoc.fl constants */
- #define ED_ABORTDOC 0x00000001
- WINBOOL
- APIENTRY
- DrvEndDoc(
- SURFOBJ *pso,
- FLONG fl);
- ULONG
- APIENTRY
- DrvEscape(
- SURFOBJ *pso,
- ULONG iEsc,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
- WINBOOL
- APIENTRY
- DrvFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix,
- FLONG flOptions);
- ULONG
- APIENTRY
- DrvFontManagement(
- SURFOBJ *pso,
- FONTOBJ *pfo,
- ULONG iMode,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
- VOID
- APIENTRY
- DrvFree(
- PVOID pv,
- ULONG_PTR id);
- /* DrvGetGlyphMode return values */
- #define FO_HGLYPHS __MSABI_LONG(0)
- #define FO_GLYPHBITS __MSABI_LONG(1)
- #define FO_PATHOBJ __MSABI_LONG(2)
- ULONG
- APIENTRY
- DrvGetGlyphMode(
- DHPDEV dhpdev,
- FONTOBJ *pfo);
- ULONG
- APIENTRY
- DrvGetModes(
- HANDLE hDriver,
- ULONG cjSize,
- DEVMODEW *pdm);
- PVOID
- APIENTRY
- DrvGetTrueTypeFile(
- ULONG_PTR iFile,
- ULONG *pcj);
- WINBOOL
- APIENTRY
- DrvGradientFill(
- SURFOBJ *psoDest,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- TRIVERTEX *pVertex,
- ULONG nVertex,
- PVOID pMesh,
- ULONG nMesh,
- RECTL *prclExtents,
- POINTL *pptlDitherOrg,
- ULONG ulMode);
- WINBOOL
- APIENTRY
- DrvIcmCheckBitmapBits(
- DHPDEV dhpdev,
- HANDLE hColorTransform,
- SURFOBJ *pso,
- PBYTE paResults);
- HANDLE
- APIENTRY
- DrvIcmCreateColorTransform(
- DHPDEV dhpdev,
- LPLOGCOLORSPACEW pLogColorSpace,
- PVOID pvSourceProfile,
- ULONG cjSourceProfile,
- PVOID pvDestProfile,
- ULONG cjDestProfile,
- PVOID pvTargetProfile,
- ULONG cjTargetProfile,
- DWORD dwReserved);
- WINBOOL
- APIENTRY
- DrvIcmDeleteColorTransform(
- DHPDEV dhpdev,
- HANDLE hcmXform);
- /* DrvIcmSetDeviceGammaRamp.iFormat constants */
- #define IGRF_RGB_256BYTES 0x00000000
- #define IGRF_RGB_256WORDS 0x00000001
- WINBOOL
- APIENTRY
- DrvIcmSetDeviceGammaRamp(
- DHPDEV dhpdev,
- ULONG iFormat,
- LPVOID lpRamp);
- WINBOOL
- APIENTRY
- DrvLineTo(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
- ULONG_PTR
- APIENTRY
- DrvLoadFontFile(
- ULONG cFiles,
- ULONG_PTR *piFile,
- PVOID *ppvView,
- ULONG *pcjView,
- DESIGNVECTOR *pdv,
- ULONG ulLangID,
- ULONG ulFastCheckSum);
- VOID
- APIENTRY
- DrvMovePointer(
- SURFOBJ *pso,
- LONG x,
- LONG y,
- RECTL *prcl);
- WINBOOL
- APIENTRY
- DrvNextBand(
- SURFOBJ *pso,
- POINTL *pptl);
- VOID
- APIENTRY
- DrvNotify(
- SURFOBJ *pso,
- ULONG iType,
- PVOID pvData);
- WINBOOL
- APIENTRY
- DrvOffset(
- SURFOBJ *pso,
- LONG x,
- LONG y,
- FLONG flReserved);
- WINBOOL
- APIENTRY
- DrvPaint(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix);
- WINBOOL
- APIENTRY
- DrvPlgBlt(
- SURFOBJ *psoTrg,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMsk,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlBrushOrg,
- POINTFIX *pptfx,
- RECTL *prcl,
- POINTL *pptl,
- ULONG iMode);
- /* DrvQueryAdvanceWidths.iMode constants */
- #define QAW_GETWIDTHS 0
- #define QAW_GETEASYWIDTHS 1
- WINBOOL
- APIENTRY
- DrvQueryAdvanceWidths(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- HGLYPH *phg,
- PVOID pvWidths,
- ULONG cGlyphs);
- /* DrvQueryDeviceSupport.iType constants */
- #define QDS_CHECKJPEGFORMAT 0x00000000
- #define QDS_CHECKPNGFORMAT 0x00000001
- WINBOOL
- APIENTRY
- DrvQueryDeviceSupport(
- SURFOBJ *pso,
- XLATEOBJ *pxlo,
- XFORMOBJ *pxo,
- ULONG iType,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
- /* DrvQueryDriverInfo.dwMode constants */
- #define DRVQUERY_USERMODE 0x00000001
- WINBOOL
- APIENTRY
- DrvQueryDriverInfo(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbBuf,
- PDWORD pcbNeeded);
- PIFIMETRICS
- APIENTRY
- DrvQueryFont(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG_PTR *pid);
- /* DrvQueryFontCaps.pulCaps constants */
- #define QC_OUTLINES 0x00000001
- #define QC_1BIT 0x00000002
- #define QC_4BIT 0x00000004
- #define QC_FONTDRIVERCAPS (QC_OUTLINES | QC_1BIT | QC_4BIT)
- LONG
- APIENTRY
- DrvQueryFontCaps(
- ULONG culCaps,
- ULONG *pulCaps);
- /* DrvQueryFontData.iMode constants */
- #define QFD_GLYPHANDBITMAP __MSABI_LONG(1)
- #define QFD_GLYPHANDOUTLINE __MSABI_LONG(2)
- #define QFD_MAXEXTENTS __MSABI_LONG(3)
- #define QFD_TT_GLYPHANDBITMAP __MSABI_LONG(4)
- #define QFD_TT_GRAY1_BITMAP __MSABI_LONG(5)
- #define QFD_TT_GRAY2_BITMAP __MSABI_LONG(6)
- #define QFD_TT_GRAY4_BITMAP __MSABI_LONG(8)
- #define QFD_TT_GRAY8_BITMAP __MSABI_LONG(9)
- #define QFD_TT_MONO_BITMAP QFD_TT_GRAY1_BITMAP
- LONG
- APIENTRY
- DrvQueryFontData(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- HGLYPH hg,
- GLYPHDATA *pgd,
- PVOID pv,
- ULONG cjSize);
- /* DrvQueryFontFile.ulMode constants */
- #define QFF_DESCRIPTION 0x00000001
- #define QFF_NUMFACES 0x00000002
- LONG
- APIENTRY
- DrvQueryFontFile(
- ULONG_PTR iFile,
- ULONG ulMode,
- ULONG cjBuf,
- ULONG *pulBuf);
- /* DrvQueryFontTree.iMode constants */
- #define QFT_UNICODE __MSABI_LONG(0)
- #define QFT_LIGATURES __MSABI_LONG(1)
- #define QFT_KERNPAIRS __MSABI_LONG(2)
- #define QFT_GLYPHSET __MSABI_LONG(3)
- PVOID
- APIENTRY
- DrvQueryFontTree(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG iMode,
- ULONG_PTR *pid);
- PFD_GLYPHATTR
- APIENTRY
- DrvQueryGlyphAttrs(
- FONTOBJ *pfo,
- ULONG iMode);
- ULONG
- APIENTRY
- DrvQueryPerBandInfo(
- SURFOBJ *pso,
- PERBANDINFO *pbi);
- /* DrvQueryTrueTypeOutline.bMetricsOnly constants */
- #define TTO_METRICS_ONLY 0x00000001
- #define TTO_QUBICS 0x00000002
- #define TTO_UNHINTED 0x00000004
- LONG
- APIENTRY
- DrvQueryTrueTypeOutline(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- HGLYPH hglyph,
- WINBOOL bMetricsOnly,
- GLYPHDATA *pgldt,
- ULONG cjBuf,
- TTPOLYGONHEADER *ppoly);
- LONG
- APIENTRY
- DrvQueryTrueTypeTable(
- ULONG_PTR iFile,
- ULONG ulFont,
- ULONG ulTag,
- PTRDIFF dpStart,
- ULONG cjBuf,
- BYTE *pjBuf,
- PBYTE *ppjTable,
- ULONG *pcjTable);
- /* DrvRealizeBrush.iHatch constants */
- #define RB_DITHERCOLOR __MSABI_LONG(0x80000000)
- #define HS_DDI_MAX 6
- WINBOOL
- APIENTRY
- DrvRealizeBrush(
- BRUSHOBJ *pbo,
- SURFOBJ *psoTarget,
- SURFOBJ *psoPattern,
- SURFOBJ *psoMask,
- XLATEOBJ *pxlo,
- ULONG iHatch);
- /* DrvResetDevice return values */
- #define DRD_SUCCESS 0
- #define DRD_ERROR 1
- ULONG
- APIENTRY
- DrvResetDevice(
- DHPDEV dhpdev,
- PVOID Reserved);
- WINBOOL
- APIENTRY
- DrvResetPDEV(
- DHPDEV dhpdevOld,
- DHPDEV dhpdevNew);
- /* DrvSaveScreenBits.iMode constants */
- #define SS_SAVE 0x00000000
- #define SS_RESTORE 0x00000001
- #define SS_FREE 0x00000002
- ULONG_PTR
- APIENTRY
- DrvSaveScreenBits(
- SURFOBJ *pso,
- ULONG iMode,
- ULONG_PTR ident,
- RECTL *prcl);
- WINBOOL
- APIENTRY
- DrvSendPage(
- SURFOBJ *pso);
- WINBOOL
- APIENTRY
- DrvSetPalette(
- DHPDEV dhpdev,
- PALOBJ *ppalo,
- FLONG fl,
- ULONG iStart,
- ULONG cColors);
- WINBOOL
- APIENTRY
- DrvSetPixelFormat(
- SURFOBJ *pso,
- LONG iPixelFormat,
- HWND hwnd);
- /* DrvSetPointerShape return values */
- #define SPS_ERROR 0x00000000
- #define SPS_DECLINE 0x00000001
- #define SPS_ACCEPT_NOEXCLUDE 0x00000002
- #define SPS_ACCEPT_EXCLUDE 0x00000003
- #define SPS_ACCEPT_SYNCHRONOUS 0x00000004
- /* DrvSetPointerShape.fl constants */
- #define SPS_CHANGE __MSABI_LONG(0x00000001)
- #define SPS_ASYNCCHANGE __MSABI_LONG(0x00000002)
- #define SPS_ANIMATESTART __MSABI_LONG(0x00000004)
- #define SPS_ANIMATEUPDATE __MSABI_LONG(0x00000008)
- #define SPS_ALPHA __MSABI_LONG(0x00000010)
- #define SPS_LENGTHMASK __MSABI_LONG(0x00000F00)
- #define SPS_FREQMASK __MSABI_LONG(0x000FF000)
- ULONG
- APIENTRY
- DrvSetPointerShape(
- SURFOBJ *pso,
- SURFOBJ *psoMask,
- SURFOBJ *psoColor,
- XLATEOBJ *pxlo,
- LONG xHot,
- LONG yHot,
- LONG x,
- LONG y,
- RECTL *prcl,
- FLONG fl);
- WINBOOL
- APIENTRY
- DrvStartBanding(
- SURFOBJ *pso,
- POINTL *pptl);
- WINBOOL
- APIENTRY
- DrvStartDoc(
- SURFOBJ *pso,
- LPWSTR pwszDocName,
- DWORD dwJobId);
- WINBOOL
- APIENTRY
- DrvStartPage(
- SURFOBJ *pso);
- WINBOOL
- APIENTRY
- DrvStretchBlt(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode);
- WINBOOL
- APIENTRY
- DrvStretchBltROP(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode,
- BRUSHOBJ *pbo,
- DWORD rop4);
- WINBOOL
- APIENTRY
- DrvStrokeAndFillPath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pboStroke,
- LINEATTRS *plineattrs,
- BRUSHOBJ *pboFill,
- POINTL *pptlBrushOrg,
- MIX mixFill,
- FLONG flOptions);
- WINBOOL
- APIENTRY
- DrvStrokePath(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- LINEATTRS *plineattrs,
- MIX mix);
- WINBOOL
- APIENTRY
- DrvSwapBuffers(
- SURFOBJ *pso,
- WNDOBJ *pwo);
- VOID
- APIENTRY
- DrvSynchronize(
- DHPDEV dhpdev,
- RECTL *prcl);
- /* DrvSynchronizeSurface.fl constants */
- #define DSS_TIMER_EVENT 0x00000001
- #define DSS_FLUSH_EVENT 0x00000002
- VOID
- APIENTRY
- DrvSynchronizeSurface(
- SURFOBJ *pso,
- RECTL *prcl,
- FLONG fl);
- WINBOOL
- APIENTRY
- DrvTextOut(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix);
- WINBOOL
- APIENTRY
- DrvTransparentBlt(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- RECTL *prclSrc,
- ULONG iTransColor,
- ULONG ulReserved);
- WINBOOL
- APIENTRY
- DrvUnloadFontFile(
- ULONG_PTR iFile);
- typedef WINBOOL
- (APIENTRY *PFN_DrvAlphaBlend)(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- RECTL *prclSrc,
- BLENDOBJ *pBlendObj);
- typedef WINBOOL
- (APIENTRY *PFN_DrvAssertMode)(
- DHPDEV dhpdev,
- WINBOOL bEnable);
- typedef WINBOOL
- (APIENTRY *PFN_DrvBitBlt)(
- SURFOBJ *psoTrg,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclTrg,
- POINTL *pptlSrc,
- POINTL *pptlMask,
- BRUSHOBJ *pbo,
- POINTL *pptlBrush,
- ROP4 rop4);
- typedef VOID
- (APIENTRY *PFN_DrvCompletePDEV)(
- DHPDEV dhpdev,
- HDEV hdev);
- typedef WINBOOL
- (APIENTRY *PFN_DrvCopyBits)(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDest,
- POINTL *pptlSrc);
- typedef HBITMAP
- (APIENTRY *PFN_DrvCreateDeviceBitmap)(
- DHPDEV dhpdev,
- SIZEL sizl,
- ULONG iFormat);
- typedef VOID
- (APIENTRY *PFN_DrvDeleteDeviceBitmap)(
- DHSURF dhsurf);
- typedef HBITMAP
- (APIENTRY *PFN_DrvDeriveSurface)(
- DD_DIRECTDRAW_GLOBAL *pDirectDraw,
- DD_SURFACE_LOCAL *pSurface);
- typedef LONG
- (APIENTRY *PFN_DrvDescribePixelFormat)(
- DHPDEV dhpdev,
- LONG iPixelFormat,
- ULONG cjpfd,
- PIXELFORMATDESCRIPTOR *ppfd);
- typedef VOID
- (APIENTRY *PFN_DrvDestroyFont)(
- FONTOBJ *pfo);
- typedef VOID
- (APIENTRY *PFN_DrvDisableDriver)(
- VOID);
- typedef VOID
- (APIENTRY *PFN_DrvDisablePDEV)(
- DHPDEV dhpdev);
- typedef VOID
- (APIENTRY *PFN_DrvDisableSurface)(
- DHPDEV dhpdev);
- typedef ULONG
- (APIENTRY *PFN_DrvDitherColor)(
- DHPDEV dhpdev,
- ULONG iMode,
- ULONG rgb,
- ULONG *pul);
- typedef ULONG
- (APIENTRY *PFN_DrvDrawEscape)(
- SURFOBJ *pso,
- ULONG iEsc,
- CLIPOBJ *pco,
- RECTL *prcl,
- ULONG cjIn,
- PVOID pvIn);
- typedef WINBOOL
- (APIENTRY *PFN_DrvEnableDriver)(
- ULONG iEngineVersion,
- ULONG cj,
- DRVENABLEDATA *pded);
- typedef DHPDEV
- (APIENTRY *PFN_DrvEnablePDEV)(
- DEVMODEW *pdm,
- LPWSTR pwszLogAddress,
- ULONG cPat,
- HSURF *phsurfPatterns,
- ULONG cjCaps,
- GDIINFO *pdevcaps,
- ULONG cjDevInfo,
- DEVINFO *pdi,
- HDEV hdev,
- LPWSTR pwszDeviceName,
- HANDLE hDriver);
- typedef HSURF
- (APIENTRY *PFN_DrvEnableSurface)(
- DHPDEV dhpdev);
- typedef WINBOOL
- (APIENTRY *PFN_DrvEndDoc)(
- SURFOBJ *pso,
- FLONG fl);
- typedef ULONG
- (APIENTRY *PFN_DrvEscape)(
- SURFOBJ *pso,
- ULONG iEsc,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
- typedef WINBOOL
- (APIENTRY *PFN_DrvFillPath)(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix,
- FLONG flOptions);
- typedef ULONG
- (APIENTRY *PFN_DrvFontManagement)(
- SURFOBJ *pso,
- FONTOBJ *pfo,
- ULONG iMode,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
- typedef VOID
- (APIENTRY *PFN_DrvFree)(
- PVOID pv,
- ULONG_PTR id);
- typedef ULONG
- (APIENTRY *PFN_DrvGetGlyphMode)(
- DHPDEV dhpdev,
- FONTOBJ *pfo);
- typedef ULONG
- (APIENTRY *PFN_DrvGetModes)(
- HANDLE hDriver,
- ULONG cjSize,
- DEVMODEW *pdm);
- typedef PVOID
- (APIENTRY *PFN_DrvGetTrueTypeFile)(
- ULONG_PTR iFile,
- ULONG *pcj);
- typedef WINBOOL
- (APIENTRY *PFN_DrvGradientFill)(
- SURFOBJ *psoDest,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- TRIVERTEX *pVertex,
- ULONG nVertex,
- PVOID pMesh,
- ULONG nMesh,
- RECTL *prclExtents,
- POINTL *pptlDitherOrg,
- ULONG ulMode);
- typedef WINBOOL
- (APIENTRY *PFN_DrvIcmCheckBitmapBits)(
- DHPDEV dhpdev,
- HANDLE hColorTransform,
- SURFOBJ *pso,
- PBYTE paResults);
- typedef HANDLE
- (APIENTRY *PFN_DrvIcmCreateColorTransform)(
- DHPDEV dhpdev,
- LPLOGCOLORSPACEW pLogColorSpace,
- PVOID pvSourceProfile,
- ULONG cjSourceProfile,
- PVOID pvDestProfile,
- ULONG cjDestProfile,
- PVOID pvTargetProfile,
- ULONG cjTargetProfile,
- DWORD dwReserved);
- typedef WINBOOL
- (APIENTRY *PFN_DrvIcmDeleteColorTransform)(
- DHPDEV dhpdev,
- HANDLE hcmXform);
- typedef WINBOOL
- (APIENTRY *PFN_DrvIcmSetDeviceGammaRamp)(
- DHPDEV dhpdev,
- ULONG iFormat,
- LPVOID lpRamp);
- typedef WINBOOL
- (APIENTRY *PFN_DrvLineTo)(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- LONG x1,
- LONG y1,
- LONG x2,
- LONG y2,
- RECTL *prclBounds,
- MIX mix);
- typedef ULONG_PTR
- (APIENTRY *PFN_DrvLoadFontFile)(
- ULONG cFiles,
- ULONG_PTR *piFile,
- PVOID *ppvView,
- ULONG *pcjView,
- DESIGNVECTOR *pdv,
- ULONG ulLangID,
- ULONG ulFastCheckSum);
- typedef VOID
- (APIENTRY *PFN_DrvMovePointer)(
- SURFOBJ *pso,
- LONG x,
- LONG y,
- RECTL *prcl);
- typedef WINBOOL
- (APIENTRY *PFN_DrvNextBand)(
- SURFOBJ *pso,
- POINTL *pptl);
- typedef VOID
- (APIENTRY *PFN_DrvNotify)(
- SURFOBJ *pso,
- ULONG iType,
- PVOID pvData);
- typedef WINBOOL
- (APIENTRY *PFN_DrvOffset)(
- SURFOBJ *pso,
- LONG x,
- LONG y,
- FLONG flReserved);
- typedef WINBOOL
- (APIENTRY *PFN_DrvPaint)(
- SURFOBJ *pso,
- CLIPOBJ *pco,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- MIX mix);
- typedef WINBOOL
- (APIENTRY *PFN_DrvPlgBlt)(
- SURFOBJ *psoTrg,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMsk,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlBrushOrg,
- POINTFIX *pptfx,
- RECTL *prcl,
- POINTL *pptl,
- ULONG iMode);
- typedef WINBOOL
- (APIENTRY *PFN_DrvQueryAdvanceWidths)(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- HGLYPH *phg,
- PVOID pvWidths,
- ULONG cGlyphs);
- typedef WINBOOL
- (APIENTRY *PFN_DrvQueryDeviceSupport)(
- SURFOBJ *pso,
- XLATEOBJ *pxlo,
- XFORMOBJ *pxo,
- ULONG iType,
- ULONG cjIn,
- PVOID pvIn,
- ULONG cjOut,
- PVOID pvOut);
- typedef WINBOOL
- (APIENTRY *PFN_DrvQueryDriverInfo)(
- DWORD dwMode,
- PVOID pBuffer,
- DWORD cbBuf,
- PDWORD pcbNeeded);
- typedef PIFIMETRICS
- (APIENTRY *PFN_DrvQueryFont)(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG_PTR *pid);
- typedef LONG
- (APIENTRY *PFN_DrvQueryFontCaps)(
- ULONG culCaps,
- ULONG *pulCaps);
- typedef LONG
- (APIENTRY *PFN_DrvQueryFontData)(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- ULONG iMode,
- HGLYPH hg,
- GLYPHDATA *pgd,
- PVOID pv,
- ULONG cjSize);
- typedef LONG
- (APIENTRY *PFN_DrvQueryFontFile)(
- ULONG_PTR iFile,
- ULONG ulMode,
- ULONG cjBuf,
- ULONG *pulBuf);
- typedef PVOID
- (APIENTRY *PFN_DrvQueryFontTree)(
- DHPDEV dhpdev,
- ULONG_PTR iFile,
- ULONG iFace,
- ULONG iMode,
- ULONG_PTR *pid);
- typedef PFD_GLYPHATTR
- (APIENTRY *PFN_DrvQueryGlyphAttrs)(
- FONTOBJ *pfo,
- ULONG iMode);
- typedef ULONG
- (APIENTRY *PFN_DrvQueryPerBandInfo)(
- SURFOBJ *pso,
- PERBANDINFO *pbi);
- typedef LONG
- (APIENTRY *PFN_DrvQueryTrueTypeOutline)(
- DHPDEV dhpdev,
- FONTOBJ *pfo,
- HGLYPH hglyph,
- WINBOOL bMetricsOnly,
- GLYPHDATA *pgldt,
- ULONG cjBuf,
- TTPOLYGONHEADER *ppoly);
- typedef LONG
- (APIENTRY *PFN_DrvQueryTrueTypeTable)(
- ULONG_PTR iFile,
- ULONG ulFont,
- ULONG ulTag,
- PTRDIFF dpStart,
- ULONG cjBuf,
- BYTE *pjBuf,
- PBYTE *ppjTable,
- ULONG *pcjTable);
- typedef WINBOOL
- (APIENTRY *PFN_DrvRealizeBrush)(
- BRUSHOBJ *pbo,
- SURFOBJ *psoTarget,
- SURFOBJ *psoPattern,
- SURFOBJ *psoMask,
- XLATEOBJ *pxlo,
- ULONG iHatch);
- typedef ULONG
- (APIENTRY *PFN_DrvResetDevice)(
- DHPDEV dhpdev,
- PVOID Reserved);
- typedef WINBOOL
- (APIENTRY *PFN_DrvResetPDEV)(
- DHPDEV dhpdevOld,
- DHPDEV dhpdevNew);
- typedef ULONG_PTR
- (APIENTRY *PFN_DrvSaveScreenBits)(
- SURFOBJ *pso,
- ULONG iMode,
- ULONG_PTR ident,
- RECTL *prcl);
- typedef WINBOOL
- (APIENTRY *PFN_DrvSendPage)(
- SURFOBJ *pso);
- typedef WINBOOL
- (APIENTRY *PFN_DrvSetPalette)(
- DHPDEV dhpdev,
- PALOBJ *ppalo,
- FLONG fl,
- ULONG iStart,
- ULONG cColors);
- typedef WINBOOL
- (APIENTRY *PFN_DrvSetPixelFormat)(
- SURFOBJ *pso,
- LONG iPixelFormat,
- HWND hwnd);
- typedef ULONG
- (APIENTRY *PFN_DrvSetPointerShape)(
- SURFOBJ *pso,
- SURFOBJ *psoMask,
- SURFOBJ *psoColor,
- XLATEOBJ *pxlo,
- LONG xHot,
- LONG yHot,
- LONG x,
- LONG y,
- RECTL *prcl,
- FLONG fl);
- typedef WINBOOL
- (APIENTRY *PFN_DrvStartBanding)(
- SURFOBJ *pso,
- POINTL *pptl);
- typedef WINBOOL
- (APIENTRY *PFN_DrvStartDoc)(
- SURFOBJ *pso,
- LPWSTR pwszDocName,
- DWORD dwJobId);
- typedef WINBOOL
- (APIENTRY *PFN_DrvStartPage)(
- SURFOBJ *pso);
- typedef WINBOOL
- (APIENTRY *PFN_DrvStretchBlt)(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode);
- typedef WINBOOL
- (APIENTRY *PFN_DrvStretchBltROP)(
- SURFOBJ *psoDest,
- SURFOBJ *psoSrc,
- SURFOBJ *psoMask,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- COLORADJUSTMENT *pca,
- POINTL *pptlHTOrg,
- RECTL *prclDest,
- RECTL *prclSrc,
- POINTL *pptlMask,
- ULONG iMode,
- BRUSHOBJ *pbo,
- DWORD rop4);
- typedef WINBOOL
- (APIENTRY *PFN_DrvStrokeAndFillPath)(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pboStroke,
- LINEATTRS *plineattrs,
- BRUSHOBJ *pboFill,
- POINTL *pptlBrushOrg,
- MIX mixFill,
- FLONG flOptions);
- typedef WINBOOL
- (APIENTRY *PFN_DrvStrokePath)(
- SURFOBJ *pso,
- PATHOBJ *ppo,
- CLIPOBJ *pco,
- XFORMOBJ *pxo,
- BRUSHOBJ *pbo,
- POINTL *pptlBrushOrg,
- LINEATTRS *plineattrs,
- MIX mix);
- typedef WINBOOL
- (APIENTRY *PFN_DrvSwapBuffers)(
- SURFOBJ *pso,
- WNDOBJ *pwo);
- typedef VOID
- (APIENTRY *PFN_DrvSynchronize)(
- DHPDEV dhpdev,
- RECTL *prcl);
- typedef VOID
- (APIENTRY *PFN_DrvSynchronizeSurface)(
- SURFOBJ *pso,
- RECTL *prcl,
- FLONG fl);
- typedef WINBOOL
- (APIENTRY *PFN_DrvTextOut)(
- SURFOBJ *pso,
- STROBJ *pstro,
- FONTOBJ *pfo,
- CLIPOBJ *pco,
- RECTL *prclExtra,
- RECTL *prclOpaque,
- BRUSHOBJ *pboFore,
- BRUSHOBJ *pboOpaque,
- POINTL *pptlOrg,
- MIX mix);
- typedef WINBOOL
- (APIENTRY *PFN_DrvTransparentBlt)(
- SURFOBJ *psoDst,
- SURFOBJ *psoSrc,
- CLIPOBJ *pco,
- XLATEOBJ *pxlo,
- RECTL *prclDst,
- RECTL *prclSrc,
- ULONG iTransColor,
- ULONG ulReserved);
- typedef WINBOOL
- (APIENTRY *PFN_DrvUnloadFontFile)(
- ULONG_PTR iFile);
- WIN32KAPI
- VOID
- APIENTRY
- DrvDisableDirectDraw(
- DHPDEV dhpdev);
- typedef VOID
- (APIENTRY *PFN_DrvDisableDirectDraw)(
- DHPDEV dhpdev);
- WIN32KAPI
- WINBOOL
- APIENTRY
- DrvEnableDirectDraw(
- DHPDEV dhpdev,
- DD_CALLBACKS *pCallBacks,
- DD_SURFACECALLBACKS *pSurfaceCallBacks,
- DD_PALETTECALLBACKS *pPaletteCallBacks);
- typedef WINBOOL
- (APIENTRY *PFN_DrvEnableDirectDraw)(
- DHPDEV dhpdev,
- DD_CALLBACKS *pCallBacks,
- DD_SURFACECALLBACKS *pSurfaceCallBacks,
- DD_PALETTECALLBACKS *pPaletteCallBacks);
- WIN32KAPI
- WINBOOL
- APIENTRY
- DrvGetDirectDrawInfo(
- DHPDEV dhpdev,
- DD_HALINFO *pHalInfo,
- DWORD *pdwNumHeaps,
- VIDEOMEMORY *pvmList,
- DWORD *pdwNumFourCCCodes,
- DWORD *pdwFourCC);
- typedef WINBOOL
- (APIENTRY *PFN_DrvGetDirectDrawInfo)(
- DHPDEV dhpdev,
- DD_HALINFO *pHalInfo,
- DWORD *pdwNumHeaps,
- VIDEOMEMORY *pvmList,
- DWORD *pdwNumFourCCCodes,
- DWORD *pdwFourCC);
- //DECLSPEC_DEPRECATED_DDK
- WINBOOL
- APIENTRY
- DrvQuerySpoolType(
- DHPDEV dhpdev,
- LPWSTR pwchType);
- typedef WINBOOL
- (APIENTRY *PFN_DrvQuerySpoolType)(
- DHPDEV dhpdev,
- LPWSTR pwchType);
- #ifdef __cplusplus
- }
- #endif
- #endif /* defined __VIDEO_H__ */
- #endif /* _WINDDI_ */
|