msinkaut.h 226 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794
  1. /*** Autogenerated by WIDL 7.7 from include/msinkaut.idl - Do not edit ***/
  2. #ifdef _WIN32
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6. #include <rpc.h>
  7. #include <rpcndr.h>
  8. #endif
  9. #ifndef COM_NO_WINDOWS_H
  10. #include <windows.h>
  11. #include <ole2.h>
  12. #endif
  13. #ifndef __msinkaut_h__
  14. #define __msinkaut_h__
  15. /* Forward declarations */
  16. #ifndef __IInkExtendedProperty_FWD_DEFINED__
  17. #define __IInkExtendedProperty_FWD_DEFINED__
  18. typedef interface IInkExtendedProperty IInkExtendedProperty;
  19. #ifdef __cplusplus
  20. interface IInkExtendedProperty;
  21. #endif /* __cplusplus */
  22. #endif
  23. #ifndef __IInkExtendedProperties_FWD_DEFINED__
  24. #define __IInkExtendedProperties_FWD_DEFINED__
  25. typedef interface IInkExtendedProperties IInkExtendedProperties;
  26. #ifdef __cplusplus
  27. interface IInkExtendedProperties;
  28. #endif /* __cplusplus */
  29. #endif
  30. #ifndef __IInkDrawingAttributes_FWD_DEFINED__
  31. #define __IInkDrawingAttributes_FWD_DEFINED__
  32. typedef interface IInkDrawingAttributes IInkDrawingAttributes;
  33. #ifdef __cplusplus
  34. interface IInkDrawingAttributes;
  35. #endif /* __cplusplus */
  36. #endif
  37. #ifndef __IInkRectangle_FWD_DEFINED__
  38. #define __IInkRectangle_FWD_DEFINED__
  39. typedef interface IInkRectangle IInkRectangle;
  40. #ifdef __cplusplus
  41. interface IInkRectangle;
  42. #endif /* __cplusplus */
  43. #endif
  44. #ifndef __IInkTablet_FWD_DEFINED__
  45. #define __IInkTablet_FWD_DEFINED__
  46. typedef interface IInkTablet IInkTablet;
  47. #ifdef __cplusplus
  48. interface IInkTablet;
  49. #endif /* __cplusplus */
  50. #endif
  51. #ifndef __IInkCursorButton_FWD_DEFINED__
  52. #define __IInkCursorButton_FWD_DEFINED__
  53. typedef interface IInkCursorButton IInkCursorButton;
  54. #ifdef __cplusplus
  55. interface IInkCursorButton;
  56. #endif /* __cplusplus */
  57. #endif
  58. #ifndef __IInkCursorButtons_FWD_DEFINED__
  59. #define __IInkCursorButtons_FWD_DEFINED__
  60. typedef interface IInkCursorButtons IInkCursorButtons;
  61. #ifdef __cplusplus
  62. interface IInkCursorButtons;
  63. #endif /* __cplusplus */
  64. #endif
  65. #ifndef __IInkCursor_FWD_DEFINED__
  66. #define __IInkCursor_FWD_DEFINED__
  67. typedef interface IInkCursor IInkCursor;
  68. #ifdef __cplusplus
  69. interface IInkCursor;
  70. #endif /* __cplusplus */
  71. #endif
  72. #ifndef __IInkTransform_FWD_DEFINED__
  73. #define __IInkTransform_FWD_DEFINED__
  74. typedef interface IInkTransform IInkTransform;
  75. #ifdef __cplusplus
  76. interface IInkTransform;
  77. #endif /* __cplusplus */
  78. #endif
  79. #ifndef __IInkRecognitionAlternates_FWD_DEFINED__
  80. #define __IInkRecognitionAlternates_FWD_DEFINED__
  81. typedef interface IInkRecognitionAlternates IInkRecognitionAlternates;
  82. #ifdef __cplusplus
  83. interface IInkRecognitionAlternates;
  84. #endif /* __cplusplus */
  85. #endif
  86. #ifndef __IInkRecognitionAlternate_FWD_DEFINED__
  87. #define __IInkRecognitionAlternate_FWD_DEFINED__
  88. typedef interface IInkRecognitionAlternate IInkRecognitionAlternate;
  89. #ifdef __cplusplus
  90. interface IInkRecognitionAlternate;
  91. #endif /* __cplusplus */
  92. #endif
  93. #ifndef __IInkRecognitionResult_FWD_DEFINED__
  94. #define __IInkRecognitionResult_FWD_DEFINED__
  95. typedef interface IInkRecognitionResult IInkRecognitionResult;
  96. #ifdef __cplusplus
  97. interface IInkRecognitionResult;
  98. #endif /* __cplusplus */
  99. #endif
  100. #ifndef __IInkStrokeDisp_FWD_DEFINED__
  101. #define __IInkStrokeDisp_FWD_DEFINED__
  102. typedef interface IInkStrokeDisp IInkStrokeDisp;
  103. #ifdef __cplusplus
  104. interface IInkStrokeDisp;
  105. #endif /* __cplusplus */
  106. #endif
  107. #ifndef __IInkCustomStrokes_FWD_DEFINED__
  108. #define __IInkCustomStrokes_FWD_DEFINED__
  109. typedef interface IInkCustomStrokes IInkCustomStrokes;
  110. #ifdef __cplusplus
  111. interface IInkCustomStrokes;
  112. #endif /* __cplusplus */
  113. #endif
  114. #ifndef __IInkDisp_FWD_DEFINED__
  115. #define __IInkDisp_FWD_DEFINED__
  116. typedef interface IInkDisp IInkDisp;
  117. #ifdef __cplusplus
  118. interface IInkDisp;
  119. #endif /* __cplusplus */
  120. #endif
  121. #ifndef __IInkStrokes_FWD_DEFINED__
  122. #define __IInkStrokes_FWD_DEFINED__
  123. typedef interface IInkStrokes IInkStrokes;
  124. #ifdef __cplusplus
  125. interface IInkStrokes;
  126. #endif /* __cplusplus */
  127. #endif
  128. #ifndef __IInkRenderer_FWD_DEFINED__
  129. #define __IInkRenderer_FWD_DEFINED__
  130. typedef interface IInkRenderer IInkRenderer;
  131. #ifdef __cplusplus
  132. interface IInkRenderer;
  133. #endif /* __cplusplus */
  134. #endif
  135. #ifndef __IInkCursors_FWD_DEFINED__
  136. #define __IInkCursors_FWD_DEFINED__
  137. typedef interface IInkCursors IInkCursors;
  138. #ifdef __cplusplus
  139. interface IInkCursors;
  140. #endif /* __cplusplus */
  141. #endif
  142. #ifndef __IInkCollector_FWD_DEFINED__
  143. #define __IInkCollector_FWD_DEFINED__
  144. typedef interface IInkCollector IInkCollector;
  145. #ifdef __cplusplus
  146. interface IInkCollector;
  147. #endif /* __cplusplus */
  148. #endif
  149. #ifndef ___IInkCollectorEvents_FWD_DEFINED__
  150. #define ___IInkCollectorEvents_FWD_DEFINED__
  151. typedef interface _IInkCollectorEvents _IInkCollectorEvents;
  152. #ifdef __cplusplus
  153. interface _IInkCollectorEvents;
  154. #endif /* __cplusplus */
  155. #endif
  156. #ifndef __InkCollector_FWD_DEFINED__
  157. #define __InkCollector_FWD_DEFINED__
  158. #ifdef __cplusplus
  159. typedef class InkCollector InkCollector;
  160. #else
  161. typedef struct InkCollector InkCollector;
  162. #endif /* defined __cplusplus */
  163. #endif /* defined __InkCollector_FWD_DEFINED__ */
  164. /* Headers for imported files */
  165. #include <oaidl.h>
  166. #include <ocidl.h>
  167. #include <tpcshrd.h>
  168. #ifdef __cplusplus
  169. extern "C" {
  170. #endif
  171. typedef enum InkRasterOperation {
  172. IRO_Black = 1,
  173. IRO_NotMergePen = 2,
  174. IRO_MaskNotPen = 3,
  175. IRO_NotCopyPen = 4,
  176. IRO_MaskPenNot = 5,
  177. IRO_Not = 6,
  178. IRO_XOrPen = 7,
  179. IRO_NotMaskPen = 8,
  180. IRO_MaskPen = 9,
  181. IRO_NotXOrPen = 10,
  182. IRO_NoOperation = 11,
  183. IRO_MergeNotPen = 12,
  184. IRO_CopyPen = 13,
  185. IRO_MergePenNot = 14,
  186. IRO_MergePen = 15,
  187. IRO_White = 16
  188. } InkRasterOperation;
  189. typedef enum InkPenTip {
  190. IPT_Ball = 0,
  191. IPT_Rectangle = 1
  192. } InkPenTip;
  193. typedef enum TabletHardwareCapabilities {
  194. THWC_Integrated = 0x1,
  195. THWC_CursorMustTouch = 0x2,
  196. THWC_HardProximity = 0x4,
  197. THWC_CursorsHavePhysicalIds = 0x8
  198. } TabletHardwareCapabilities;
  199. typedef enum TabletPropertyMetricUnit {
  200. TPMU_Default = 0,
  201. TPMU_Inches = 1,
  202. TPMU_Centimeters = 2,
  203. TPMU_Degrees = 3,
  204. TPMU_Radians = 4,
  205. TPMU_Seconds = 5,
  206. TPMU_Pounds = 6,
  207. TPMU_Grams = 7
  208. } TabletPropertyMetricUnit;
  209. typedef enum InkCursorButtonState {
  210. ICBS_Unavailable = 0,
  211. ICBS_Up = 1,
  212. ICBS_Down = 2
  213. } InkCursorButtonState;
  214. typedef enum InkRecognitionConfidence {
  215. IRC_Strong = 0,
  216. IRC_Intermediate = 1,
  217. IRC_Poor = 2
  218. } InkRecognitionConfidence;
  219. typedef enum InkBoundingBoxMode {
  220. IBBM_Default = 0,
  221. IBBM_NoCurveFit = 1,
  222. IBBM_CurveFit = 2,
  223. IBBM_PointsOnly = 3,
  224. IBBM_Union = 4
  225. } InkBoundingBoxMode;
  226. typedef enum InkExtractFlags {
  227. IEF_CopyFromOriginal = 0,
  228. IEF_RemoveFromOriginal = 1,
  229. IEF_Default = IEF_RemoveFromOriginal
  230. } InkExtractFlags;
  231. typedef enum InkPersistenceFormat {
  232. IPF_InkSerializedFormat = 0,
  233. IPF_Base64InkSerializedFormat = 1,
  234. IPF_GIF = 2,
  235. IPF_Base64GIF = 3
  236. } InkPersistenceFormat;
  237. typedef enum InkPersistenceCompressionMode {
  238. IPCM_Default = 0,
  239. IPCM_MaximumCompression = 1,
  240. IPCM_NoCompression = 2
  241. } InkPersistenceCompressionMode;
  242. typedef enum InkClipboardFormats {
  243. ICF_None = 0x0,
  244. ICF_InkSerializedFormat = 0x1,
  245. ICF_SketchInk = 0x2,
  246. ICF_TextInk = 0x6,
  247. ICF_EnhancedMetafile = 0x8,
  248. ICF_Metafile = 0x20,
  249. ICF_Bitmap = 0x40,
  250. ICF_PasteMask = 0x7,
  251. ICF_CopyMask = 0x7f,
  252. ICF_Default = ICF_CopyMask
  253. } InkClipboardFormats;
  254. typedef enum InkClipboardModes {
  255. ICB_Copy = 0x0,
  256. ICB_Cut = 0x1,
  257. ICB_ExtractOnly = 0x30,
  258. ICB_DelayedCopy = 0x20,
  259. ICB_Default = ICB_Copy
  260. } InkClipboardModes;
  261. typedef enum InkCollectionMode {
  262. ICM_InkOnly = 0,
  263. ICM_GestureOnly = 1,
  264. ICM_InkAndGesture = 2
  265. } InkCollectionMode;
  266. typedef enum InkMousePointer {
  267. IMP_Default = 0,
  268. IMP_Arrow = 1,
  269. IMP_Crosshair = 2,
  270. IMP_Ibeam = 3,
  271. IMP_SizeNESW = 4,
  272. IMP_SizeNS = 5,
  273. IMP_SizeNWSE = 6,
  274. IMP_SizeWE = 7,
  275. IMP_UpArrow = 8,
  276. IMP_Hourglass = 9,
  277. IMP_NoDrop = 10,
  278. IMP_ArrowHourglass = 11,
  279. IMP_ArrowQuestion = 12,
  280. IMP_SizeAll = 13,
  281. IMP_Hand = 14,
  282. IMP_Custom = 99
  283. } InkMousePointer;
  284. typedef enum InkApplicationGesture {
  285. IAG_AllGestures = 0x0,
  286. IAG_NoGesture = 0xf000,
  287. IAG_Scratchout = 0xf001,
  288. IAG_Triangle = 0xf002,
  289. IAG_Square = 0xf003,
  290. IAG_Star = 0xf004,
  291. IAG_Check = 0xf005,
  292. IAG_Curlicue = 0xf010,
  293. IAG_DoubleCurlicue = 0xf011,
  294. IAG_Circle = 0xf020,
  295. IAG_DoubleCircle = 0xf021,
  296. IAG_SemiCircleLeft = 0xf028,
  297. IAG_SemiCircleRight = 0xf029,
  298. IAG_ChevronUp = 0xf030,
  299. IAG_ChevronDown = 0xf031,
  300. IAG_ChevronLeft = 0xf032,
  301. IAG_ChevronRight = 0xf033,
  302. IAG_ArrowUp = 0xf038,
  303. IAG_ArrowDown = 0xf039,
  304. IAG_ArrowLeft = 0xf03a,
  305. IAG_ArrowRight = 0xf03b,
  306. IAG_Up = 0xf058,
  307. IAG_Down = 0xf059,
  308. IAG_Left = 0xf05a,
  309. IAG_Right = 0xf05b,
  310. IAG_UpDown = 0xf060,
  311. IAG_DownUp = 0xf061,
  312. IAG_LeftRight = 0xf062,
  313. IAG_RightLeft = 0xf063,
  314. IAG_UpLeftLong = 0xf064,
  315. IAG_UpRightLong = 0xf065,
  316. IAG_DownLeftLong = 0xf066,
  317. IAG_DownRightLong = 0xf067,
  318. IAG_UpLeft = 0xf068,
  319. IAG_UpRight = 0xf069,
  320. IAG_DownLeft = 0xf06a,
  321. IAG_DownRight = 0xf06b,
  322. IAG_LeftUp = 0xf06c,
  323. IAG_LeftDown = 0xf06d,
  324. IAG_RightUp = 0xf06e,
  325. IAG_RightDown = 0xf06f,
  326. IAG_Exclamation = 0xf0a4,
  327. IAG_Tap = 0xf0f0,
  328. IAG_DoubleTap = 0xf0f1
  329. } InkApplicationGesture;
  330. typedef enum InkCollectorEventInterest {
  331. ICEI_DefaultEvents = -1,
  332. ICEI_CursorDown = ICEI_DefaultEvents + 1,
  333. ICEI_Stroke = ICEI_CursorDown + 1,
  334. ICEI_NewPackets = ICEI_Stroke + 1,
  335. ICEI_NewInAirPackets = ICEI_NewPackets + 1,
  336. ICEI_CursorButtonDown = ICEI_NewInAirPackets + 1,
  337. ICEI_CursorButtonUp = ICEI_CursorButtonDown + 1,
  338. ICEI_CursorInRange = ICEI_CursorButtonUp + 1,
  339. ICEI_CursorOutOfRange = ICEI_CursorInRange + 1,
  340. ICEI_SystemGesture = ICEI_CursorOutOfRange + 1,
  341. ICEI_TabletAdded = ICEI_SystemGesture + 1,
  342. ICEI_TabletRemoved = ICEI_TabletAdded + 1,
  343. ICEI_MouseDown = ICEI_TabletRemoved + 1,
  344. ICEI_MouseMove = ICEI_MouseDown + 1,
  345. ICEI_MouseUp = ICEI_MouseMove + 1,
  346. ICEI_MouseWheel = ICEI_MouseUp + 1,
  347. ICEI_DblClick = ICEI_MouseWheel + 1,
  348. ICEI_AllEvents = ICEI_DblClick + 1
  349. } InkCollectorEventInterest;
  350. typedef enum DISPID_InkCollectorEvent {
  351. DISPID_ICEStroke = 1,
  352. DISPID_ICECursorDown = DISPID_ICEStroke + 1,
  353. DISPID_ICENewPackets = DISPID_ICECursorDown + 1,
  354. DISPID_ICENewInAirPackets = DISPID_ICENewPackets + 1,
  355. DISPID_ICECursorButtonDown = DISPID_ICENewInAirPackets + 1,
  356. DISPID_ICECursorButtonUp = DISPID_ICECursorButtonDown + 1,
  357. DISPID_ICECursorInRange = DISPID_ICECursorButtonUp + 1,
  358. DISPID_ICECursorOutOfRange = DISPID_ICECursorInRange + 1,
  359. DISPID_ICESystemGesture = DISPID_ICECursorOutOfRange + 1,
  360. DISPID_ICEGesture = DISPID_ICESystemGesture + 1,
  361. DISPID_ICETabletAdded = DISPID_ICEGesture + 1,
  362. DISPID_ICETabletRemoved = DISPID_ICETabletAdded + 1,
  363. DISPID_IOEPainting = DISPID_ICETabletRemoved + 1,
  364. DISPID_IOEPainted = DISPID_IOEPainting + 1,
  365. DISPID_IOESelectionChanging = DISPID_IOEPainted + 1,
  366. DISPID_IOESelectionChanged = DISPID_IOESelectionChanging + 1,
  367. DISPID_IOESelectionMoving = DISPID_IOESelectionChanged + 1,
  368. DISPID_IOESelectionMoved = DISPID_IOESelectionMoving + 1,
  369. DISPID_IOESelectionResizing = DISPID_IOESelectionMoved + 1,
  370. DISPID_IOESelectionResized = DISPID_IOESelectionResizing + 1,
  371. DISPID_IOEStrokesDeleting = DISPID_IOESelectionResized + 1,
  372. DISPID_IOEStrokesDeleted = DISPID_IOEStrokesDeleting + 1,
  373. DISPID_IPEChangeUICues = DISPID_IOEStrokesDeleted + 1,
  374. DISPID_IPEClick = DISPID_IPEChangeUICues + 1,
  375. DISPID_IPEDblClick = DISPID_IPEClick + 1,
  376. DISPID_IPEInvalidated = DISPID_IPEDblClick + 1,
  377. DISPID_IPEMouseDown = DISPID_IPEInvalidated + 1,
  378. DISPID_IPEMouseEnter = DISPID_IPEMouseDown + 1,
  379. DISPID_IPEMouseHover = DISPID_IPEMouseEnter + 1,
  380. DISPID_IPEMouseLeave = DISPID_IPEMouseHover + 1,
  381. DISPID_IPEMouseMove = DISPID_IPEMouseLeave + 1,
  382. DISPID_IPEMouseUp = DISPID_IPEMouseMove + 1,
  383. DISPID_IPEMouseWheel = DISPID_IPEMouseUp + 1,
  384. DISPID_IPESizeModeChanged = DISPID_IPEMouseWheel + 1,
  385. DISPID_IPEStyleChanged = DISPID_IPESizeModeChanged + 1,
  386. DISPID_IPESystemColorsChanged = DISPID_IPEStyleChanged + 1,
  387. DISPID_IPEKeyDown = DISPID_IPESystemColorsChanged + 1,
  388. DISPID_IPEKeyPress = DISPID_IPEKeyDown + 1,
  389. DISPID_IPEKeyUp = DISPID_IPEKeyPress + 1,
  390. DISPID_IPEResize = DISPID_IPEKeyUp + 1,
  391. DISPID_IPESizeChanged = DISPID_IPEResize + 1
  392. } DISPID_InkCollectorEvent;
  393. #ifndef __IInkDisp_FWD_DEFINED__
  394. #define __IInkDisp_FWD_DEFINED__
  395. typedef interface IInkDisp IInkDisp;
  396. #ifdef __cplusplus
  397. interface IInkDisp;
  398. #endif /* __cplusplus */
  399. #endif
  400. #ifndef __IInkStrokes_FWD_DEFINED__
  401. #define __IInkStrokes_FWD_DEFINED__
  402. typedef interface IInkStrokes IInkStrokes;
  403. #ifdef __cplusplus
  404. interface IInkStrokes;
  405. #endif /* __cplusplus */
  406. #endif
  407. #ifndef __IInkRecognitionAlternate_FWD_DEFINED__
  408. #define __IInkRecognitionAlternate_FWD_DEFINED__
  409. typedef interface IInkRecognitionAlternate IInkRecognitionAlternate;
  410. #ifdef __cplusplus
  411. interface IInkRecognitionAlternate;
  412. #endif /* __cplusplus */
  413. #endif
  414. /*****************************************************************************
  415. * IInkExtendedProperty interface
  416. */
  417. #ifndef __IInkExtendedProperty_INTERFACE_DEFINED__
  418. #define __IInkExtendedProperty_INTERFACE_DEFINED__
  419. DEFINE_GUID(IID_IInkExtendedProperty, 0xdb489209, 0xb7c3, 0x411d, 0x90,0xf6, 0x15,0x48,0xcf,0xff,0x27,0x1e);
  420. #if defined(__cplusplus) && !defined(CINTERFACE)
  421. MIDL_INTERFACE("db489209-b7c3-411d-90f6-1548cfff271e")
  422. IInkExtendedProperty : public IDispatch
  423. {
  424. virtual HRESULT STDMETHODCALLTYPE get_Guid(
  425. BSTR *Guid) = 0;
  426. virtual HRESULT STDMETHODCALLTYPE get_Data(
  427. VARIANT *Data) = 0;
  428. virtual HRESULT STDMETHODCALLTYPE put_Data(
  429. VARIANT Data) = 0;
  430. };
  431. #ifdef __CRT_UUID_DECL
  432. __CRT_UUID_DECL(IInkExtendedProperty, 0xdb489209, 0xb7c3, 0x411d, 0x90,0xf6, 0x15,0x48,0xcf,0xff,0x27,0x1e)
  433. #endif
  434. #else
  435. typedef struct IInkExtendedPropertyVtbl {
  436. BEGIN_INTERFACE
  437. /*** IUnknown methods ***/
  438. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  439. IInkExtendedProperty *This,
  440. REFIID riid,
  441. void **ppvObject);
  442. ULONG (STDMETHODCALLTYPE *AddRef)(
  443. IInkExtendedProperty *This);
  444. ULONG (STDMETHODCALLTYPE *Release)(
  445. IInkExtendedProperty *This);
  446. /*** IDispatch methods ***/
  447. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  448. IInkExtendedProperty *This,
  449. UINT *pctinfo);
  450. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  451. IInkExtendedProperty *This,
  452. UINT iTInfo,
  453. LCID lcid,
  454. ITypeInfo **ppTInfo);
  455. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  456. IInkExtendedProperty *This,
  457. REFIID riid,
  458. LPOLESTR *rgszNames,
  459. UINT cNames,
  460. LCID lcid,
  461. DISPID *rgDispId);
  462. HRESULT (STDMETHODCALLTYPE *Invoke)(
  463. IInkExtendedProperty *This,
  464. DISPID dispIdMember,
  465. REFIID riid,
  466. LCID lcid,
  467. WORD wFlags,
  468. DISPPARAMS *pDispParams,
  469. VARIANT *pVarResult,
  470. EXCEPINFO *pExcepInfo,
  471. UINT *puArgErr);
  472. /*** IInkExtendedProperty methods ***/
  473. HRESULT (STDMETHODCALLTYPE *get_Guid)(
  474. IInkExtendedProperty *This,
  475. BSTR *Guid);
  476. HRESULT (STDMETHODCALLTYPE *get_Data)(
  477. IInkExtendedProperty *This,
  478. VARIANT *Data);
  479. HRESULT (STDMETHODCALLTYPE *put_Data)(
  480. IInkExtendedProperty *This,
  481. VARIANT Data);
  482. END_INTERFACE
  483. } IInkExtendedPropertyVtbl;
  484. interface IInkExtendedProperty {
  485. CONST_VTBL IInkExtendedPropertyVtbl* lpVtbl;
  486. };
  487. #ifdef COBJMACROS
  488. #ifndef WIDL_C_INLINE_WRAPPERS
  489. /*** IUnknown methods ***/
  490. #define IInkExtendedProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  491. #define IInkExtendedProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
  492. #define IInkExtendedProperty_Release(This) (This)->lpVtbl->Release(This)
  493. /*** IDispatch methods ***/
  494. #define IInkExtendedProperty_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  495. #define IInkExtendedProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  496. #define IInkExtendedProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  497. #define IInkExtendedProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  498. /*** IInkExtendedProperty methods ***/
  499. #define IInkExtendedProperty_get_Guid(This,Guid) (This)->lpVtbl->get_Guid(This,Guid)
  500. #define IInkExtendedProperty_get_Data(This,Data) (This)->lpVtbl->get_Data(This,Data)
  501. #define IInkExtendedProperty_put_Data(This,Data) (This)->lpVtbl->put_Data(This,Data)
  502. #else
  503. /*** IUnknown methods ***/
  504. static FORCEINLINE HRESULT IInkExtendedProperty_QueryInterface(IInkExtendedProperty* This,REFIID riid,void **ppvObject) {
  505. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  506. }
  507. static FORCEINLINE ULONG IInkExtendedProperty_AddRef(IInkExtendedProperty* This) {
  508. return This->lpVtbl->AddRef(This);
  509. }
  510. static FORCEINLINE ULONG IInkExtendedProperty_Release(IInkExtendedProperty* This) {
  511. return This->lpVtbl->Release(This);
  512. }
  513. /*** IDispatch methods ***/
  514. static FORCEINLINE HRESULT IInkExtendedProperty_GetTypeInfoCount(IInkExtendedProperty* This,UINT *pctinfo) {
  515. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  516. }
  517. static FORCEINLINE HRESULT IInkExtendedProperty_GetTypeInfo(IInkExtendedProperty* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  518. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  519. }
  520. static FORCEINLINE HRESULT IInkExtendedProperty_GetIDsOfNames(IInkExtendedProperty* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  521. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  522. }
  523. static FORCEINLINE HRESULT IInkExtendedProperty_Invoke(IInkExtendedProperty* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  524. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  525. }
  526. /*** IInkExtendedProperty methods ***/
  527. static FORCEINLINE HRESULT IInkExtendedProperty_get_Guid(IInkExtendedProperty* This,BSTR *Guid) {
  528. return This->lpVtbl->get_Guid(This,Guid);
  529. }
  530. static FORCEINLINE HRESULT IInkExtendedProperty_get_Data(IInkExtendedProperty* This,VARIANT *Data) {
  531. return This->lpVtbl->get_Data(This,Data);
  532. }
  533. static FORCEINLINE HRESULT IInkExtendedProperty_put_Data(IInkExtendedProperty* This,VARIANT Data) {
  534. return This->lpVtbl->put_Data(This,Data);
  535. }
  536. #endif
  537. #endif
  538. #endif
  539. #endif /* __IInkExtendedProperty_INTERFACE_DEFINED__ */
  540. /*****************************************************************************
  541. * IInkExtendedProperties interface
  542. */
  543. #ifndef __IInkExtendedProperties_INTERFACE_DEFINED__
  544. #define __IInkExtendedProperties_INTERFACE_DEFINED__
  545. DEFINE_GUID(IID_IInkExtendedProperties, 0x89f2a8be, 0x95a9, 0x4530, 0x8b,0x8f, 0x88,0xe9,0x71,0xe3,0xe2,0x5f);
  546. #if defined(__cplusplus) && !defined(CINTERFACE)
  547. MIDL_INTERFACE("89f2a8be-95a9-4530-8b8f-88e971e3e25f")
  548. IInkExtendedProperties : public IDispatch
  549. {
  550. virtual HRESULT STDMETHODCALLTYPE get_Count(
  551. LONG *Count) = 0;
  552. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  553. IUnknown **_NewEnum) = 0;
  554. virtual HRESULT STDMETHODCALLTYPE Item(
  555. VARIANT Identifier,
  556. IInkExtendedProperty **Item) = 0;
  557. virtual HRESULT STDMETHODCALLTYPE Add(
  558. BSTR Guid,
  559. VARIANT Data,
  560. IInkExtendedProperty **InkExtendedProperty) = 0;
  561. virtual HRESULT STDMETHODCALLTYPE Remove(
  562. VARIANT Identifier) = 0;
  563. virtual HRESULT STDMETHODCALLTYPE Clear(
  564. ) = 0;
  565. virtual HRESULT STDMETHODCALLTYPE DoesPropertyExist(
  566. BSTR Guid,
  567. VARIANT_BOOL *DoesPropertyExist) = 0;
  568. };
  569. #ifdef __CRT_UUID_DECL
  570. __CRT_UUID_DECL(IInkExtendedProperties, 0x89f2a8be, 0x95a9, 0x4530, 0x8b,0x8f, 0x88,0xe9,0x71,0xe3,0xe2,0x5f)
  571. #endif
  572. #else
  573. typedef struct IInkExtendedPropertiesVtbl {
  574. BEGIN_INTERFACE
  575. /*** IUnknown methods ***/
  576. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  577. IInkExtendedProperties *This,
  578. REFIID riid,
  579. void **ppvObject);
  580. ULONG (STDMETHODCALLTYPE *AddRef)(
  581. IInkExtendedProperties *This);
  582. ULONG (STDMETHODCALLTYPE *Release)(
  583. IInkExtendedProperties *This);
  584. /*** IDispatch methods ***/
  585. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  586. IInkExtendedProperties *This,
  587. UINT *pctinfo);
  588. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  589. IInkExtendedProperties *This,
  590. UINT iTInfo,
  591. LCID lcid,
  592. ITypeInfo **ppTInfo);
  593. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  594. IInkExtendedProperties *This,
  595. REFIID riid,
  596. LPOLESTR *rgszNames,
  597. UINT cNames,
  598. LCID lcid,
  599. DISPID *rgDispId);
  600. HRESULT (STDMETHODCALLTYPE *Invoke)(
  601. IInkExtendedProperties *This,
  602. DISPID dispIdMember,
  603. REFIID riid,
  604. LCID lcid,
  605. WORD wFlags,
  606. DISPPARAMS *pDispParams,
  607. VARIANT *pVarResult,
  608. EXCEPINFO *pExcepInfo,
  609. UINT *puArgErr);
  610. /*** IInkExtendedProperties methods ***/
  611. HRESULT (STDMETHODCALLTYPE *get_Count)(
  612. IInkExtendedProperties *This,
  613. LONG *Count);
  614. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  615. IInkExtendedProperties *This,
  616. IUnknown **_NewEnum);
  617. HRESULT (STDMETHODCALLTYPE *Item)(
  618. IInkExtendedProperties *This,
  619. VARIANT Identifier,
  620. IInkExtendedProperty **Item);
  621. HRESULT (STDMETHODCALLTYPE *Add)(
  622. IInkExtendedProperties *This,
  623. BSTR Guid,
  624. VARIANT Data,
  625. IInkExtendedProperty **InkExtendedProperty);
  626. HRESULT (STDMETHODCALLTYPE *Remove)(
  627. IInkExtendedProperties *This,
  628. VARIANT Identifier);
  629. HRESULT (STDMETHODCALLTYPE *Clear)(
  630. IInkExtendedProperties *This);
  631. HRESULT (STDMETHODCALLTYPE *DoesPropertyExist)(
  632. IInkExtendedProperties *This,
  633. BSTR Guid,
  634. VARIANT_BOOL *DoesPropertyExist);
  635. END_INTERFACE
  636. } IInkExtendedPropertiesVtbl;
  637. interface IInkExtendedProperties {
  638. CONST_VTBL IInkExtendedPropertiesVtbl* lpVtbl;
  639. };
  640. #ifdef COBJMACROS
  641. #ifndef WIDL_C_INLINE_WRAPPERS
  642. /*** IUnknown methods ***/
  643. #define IInkExtendedProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  644. #define IInkExtendedProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
  645. #define IInkExtendedProperties_Release(This) (This)->lpVtbl->Release(This)
  646. /*** IDispatch methods ***/
  647. #define IInkExtendedProperties_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  648. #define IInkExtendedProperties_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  649. #define IInkExtendedProperties_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  650. #define IInkExtendedProperties_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  651. /*** IInkExtendedProperties methods ***/
  652. #define IInkExtendedProperties_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  653. #define IInkExtendedProperties_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
  654. #define IInkExtendedProperties_Item(This,Identifier,Item) (This)->lpVtbl->Item(This,Identifier,Item)
  655. #define IInkExtendedProperties_Add(This,Guid,Data,InkExtendedProperty) (This)->lpVtbl->Add(This,Guid,Data,InkExtendedProperty)
  656. #define IInkExtendedProperties_Remove(This,Identifier) (This)->lpVtbl->Remove(This,Identifier)
  657. #define IInkExtendedProperties_Clear(This) (This)->lpVtbl->Clear(This)
  658. #define IInkExtendedProperties_DoesPropertyExist(This,Guid,DoesPropertyExist) (This)->lpVtbl->DoesPropertyExist(This,Guid,DoesPropertyExist)
  659. #else
  660. /*** IUnknown methods ***/
  661. static FORCEINLINE HRESULT IInkExtendedProperties_QueryInterface(IInkExtendedProperties* This,REFIID riid,void **ppvObject) {
  662. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  663. }
  664. static FORCEINLINE ULONG IInkExtendedProperties_AddRef(IInkExtendedProperties* This) {
  665. return This->lpVtbl->AddRef(This);
  666. }
  667. static FORCEINLINE ULONG IInkExtendedProperties_Release(IInkExtendedProperties* This) {
  668. return This->lpVtbl->Release(This);
  669. }
  670. /*** IDispatch methods ***/
  671. static FORCEINLINE HRESULT IInkExtendedProperties_GetTypeInfoCount(IInkExtendedProperties* This,UINT *pctinfo) {
  672. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  673. }
  674. static FORCEINLINE HRESULT IInkExtendedProperties_GetTypeInfo(IInkExtendedProperties* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  675. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  676. }
  677. static FORCEINLINE HRESULT IInkExtendedProperties_GetIDsOfNames(IInkExtendedProperties* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  678. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  679. }
  680. static FORCEINLINE HRESULT IInkExtendedProperties_Invoke(IInkExtendedProperties* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  681. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  682. }
  683. /*** IInkExtendedProperties methods ***/
  684. static FORCEINLINE HRESULT IInkExtendedProperties_get_Count(IInkExtendedProperties* This,LONG *Count) {
  685. return This->lpVtbl->get_Count(This,Count);
  686. }
  687. static FORCEINLINE HRESULT IInkExtendedProperties_get__NewEnum(IInkExtendedProperties* This,IUnknown **_NewEnum) {
  688. return This->lpVtbl->get__NewEnum(This,_NewEnum);
  689. }
  690. static FORCEINLINE HRESULT IInkExtendedProperties_Item(IInkExtendedProperties* This,VARIANT Identifier,IInkExtendedProperty **Item) {
  691. return This->lpVtbl->Item(This,Identifier,Item);
  692. }
  693. static FORCEINLINE HRESULT IInkExtendedProperties_Add(IInkExtendedProperties* This,BSTR Guid,VARIANT Data,IInkExtendedProperty **InkExtendedProperty) {
  694. return This->lpVtbl->Add(This,Guid,Data,InkExtendedProperty);
  695. }
  696. static FORCEINLINE HRESULT IInkExtendedProperties_Remove(IInkExtendedProperties* This,VARIANT Identifier) {
  697. return This->lpVtbl->Remove(This,Identifier);
  698. }
  699. static FORCEINLINE HRESULT IInkExtendedProperties_Clear(IInkExtendedProperties* This) {
  700. return This->lpVtbl->Clear(This);
  701. }
  702. static FORCEINLINE HRESULT IInkExtendedProperties_DoesPropertyExist(IInkExtendedProperties* This,BSTR Guid,VARIANT_BOOL *DoesPropertyExist) {
  703. return This->lpVtbl->DoesPropertyExist(This,Guid,DoesPropertyExist);
  704. }
  705. #endif
  706. #endif
  707. #endif
  708. #endif /* __IInkExtendedProperties_INTERFACE_DEFINED__ */
  709. /*****************************************************************************
  710. * IInkDrawingAttributes interface
  711. */
  712. #ifndef __IInkDrawingAttributes_INTERFACE_DEFINED__
  713. #define __IInkDrawingAttributes_INTERFACE_DEFINED__
  714. DEFINE_GUID(IID_IInkDrawingAttributes, 0xbf519b75, 0x0a15, 0x4623, 0xad,0xc9, 0xc0,0x0d,0x43,0x6a,0x80,0x92);
  715. #if defined(__cplusplus) && !defined(CINTERFACE)
  716. MIDL_INTERFACE("bf519b75-0a15-4623-adc9-c00d436a8092")
  717. IInkDrawingAttributes : public IDispatch
  718. {
  719. virtual HRESULT STDMETHODCALLTYPE get_Color(
  720. LONG *CurrentColor) = 0;
  721. virtual HRESULT STDMETHODCALLTYPE put_Color(
  722. LONG NewColor) = 0;
  723. virtual HRESULT STDMETHODCALLTYPE get_Width(
  724. float *CurrentWidth) = 0;
  725. virtual HRESULT STDMETHODCALLTYPE put_Width(
  726. float NewWidth) = 0;
  727. virtual HRESULT STDMETHODCALLTYPE get_Height(
  728. float *CurrentHeight) = 0;
  729. virtual HRESULT STDMETHODCALLTYPE put_Height(
  730. float NewHeight) = 0;
  731. virtual HRESULT STDMETHODCALLTYPE get_FitToCurve(
  732. VARIANT_BOOL *Flag) = 0;
  733. virtual HRESULT STDMETHODCALLTYPE put_FitToCurve(
  734. VARIANT_BOOL Flag) = 0;
  735. virtual HRESULT STDMETHODCALLTYPE get_IgnorePressure(
  736. VARIANT_BOOL *Flag) = 0;
  737. virtual HRESULT STDMETHODCALLTYPE put_IgnorePressure(
  738. VARIANT_BOOL Flag) = 0;
  739. virtual HRESULT STDMETHODCALLTYPE get_AntiAliased(
  740. VARIANT_BOOL *Flag) = 0;
  741. virtual HRESULT STDMETHODCALLTYPE put_AntiAliased(
  742. VARIANT_BOOL Flag) = 0;
  743. virtual HRESULT STDMETHODCALLTYPE get_Transparency(
  744. LONG *CurrentTransparency) = 0;
  745. virtual HRESULT STDMETHODCALLTYPE put_Transparency(
  746. LONG NewTransparency) = 0;
  747. virtual HRESULT STDMETHODCALLTYPE get_RasterOperation(
  748. InkRasterOperation *CurrentRasterOperation) = 0;
  749. virtual HRESULT STDMETHODCALLTYPE put_RasterOperation(
  750. InkRasterOperation NewRasterOperation) = 0;
  751. virtual HRESULT STDMETHODCALLTYPE get_PenTip(
  752. InkPenTip *CurrentPenTip) = 0;
  753. virtual HRESULT STDMETHODCALLTYPE put_PenTip(
  754. InkPenTip NewPenTip) = 0;
  755. virtual HRESULT STDMETHODCALLTYPE get_ExtendedProperties(
  756. IInkExtendedProperties **Properties) = 0;
  757. virtual HRESULT STDMETHODCALLTYPE Clone(
  758. IInkDrawingAttributes **DrawingAttributes) = 0;
  759. };
  760. #ifdef __CRT_UUID_DECL
  761. __CRT_UUID_DECL(IInkDrawingAttributes, 0xbf519b75, 0x0a15, 0x4623, 0xad,0xc9, 0xc0,0x0d,0x43,0x6a,0x80,0x92)
  762. #endif
  763. #else
  764. typedef struct IInkDrawingAttributesVtbl {
  765. BEGIN_INTERFACE
  766. /*** IUnknown methods ***/
  767. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  768. IInkDrawingAttributes *This,
  769. REFIID riid,
  770. void **ppvObject);
  771. ULONG (STDMETHODCALLTYPE *AddRef)(
  772. IInkDrawingAttributes *This);
  773. ULONG (STDMETHODCALLTYPE *Release)(
  774. IInkDrawingAttributes *This);
  775. /*** IDispatch methods ***/
  776. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  777. IInkDrawingAttributes *This,
  778. UINT *pctinfo);
  779. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  780. IInkDrawingAttributes *This,
  781. UINT iTInfo,
  782. LCID lcid,
  783. ITypeInfo **ppTInfo);
  784. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  785. IInkDrawingAttributes *This,
  786. REFIID riid,
  787. LPOLESTR *rgszNames,
  788. UINT cNames,
  789. LCID lcid,
  790. DISPID *rgDispId);
  791. HRESULT (STDMETHODCALLTYPE *Invoke)(
  792. IInkDrawingAttributes *This,
  793. DISPID dispIdMember,
  794. REFIID riid,
  795. LCID lcid,
  796. WORD wFlags,
  797. DISPPARAMS *pDispParams,
  798. VARIANT *pVarResult,
  799. EXCEPINFO *pExcepInfo,
  800. UINT *puArgErr);
  801. /*** IInkDrawingAttributes methods ***/
  802. HRESULT (STDMETHODCALLTYPE *get_Color)(
  803. IInkDrawingAttributes *This,
  804. LONG *CurrentColor);
  805. HRESULT (STDMETHODCALLTYPE *put_Color)(
  806. IInkDrawingAttributes *This,
  807. LONG NewColor);
  808. HRESULT (STDMETHODCALLTYPE *get_Width)(
  809. IInkDrawingAttributes *This,
  810. float *CurrentWidth);
  811. HRESULT (STDMETHODCALLTYPE *put_Width)(
  812. IInkDrawingAttributes *This,
  813. float NewWidth);
  814. HRESULT (STDMETHODCALLTYPE *get_Height)(
  815. IInkDrawingAttributes *This,
  816. float *CurrentHeight);
  817. HRESULT (STDMETHODCALLTYPE *put_Height)(
  818. IInkDrawingAttributes *This,
  819. float NewHeight);
  820. HRESULT (STDMETHODCALLTYPE *get_FitToCurve)(
  821. IInkDrawingAttributes *This,
  822. VARIANT_BOOL *Flag);
  823. HRESULT (STDMETHODCALLTYPE *put_FitToCurve)(
  824. IInkDrawingAttributes *This,
  825. VARIANT_BOOL Flag);
  826. HRESULT (STDMETHODCALLTYPE *get_IgnorePressure)(
  827. IInkDrawingAttributes *This,
  828. VARIANT_BOOL *Flag);
  829. HRESULT (STDMETHODCALLTYPE *put_IgnorePressure)(
  830. IInkDrawingAttributes *This,
  831. VARIANT_BOOL Flag);
  832. HRESULT (STDMETHODCALLTYPE *get_AntiAliased)(
  833. IInkDrawingAttributes *This,
  834. VARIANT_BOOL *Flag);
  835. HRESULT (STDMETHODCALLTYPE *put_AntiAliased)(
  836. IInkDrawingAttributes *This,
  837. VARIANT_BOOL Flag);
  838. HRESULT (STDMETHODCALLTYPE *get_Transparency)(
  839. IInkDrawingAttributes *This,
  840. LONG *CurrentTransparency);
  841. HRESULT (STDMETHODCALLTYPE *put_Transparency)(
  842. IInkDrawingAttributes *This,
  843. LONG NewTransparency);
  844. HRESULT (STDMETHODCALLTYPE *get_RasterOperation)(
  845. IInkDrawingAttributes *This,
  846. InkRasterOperation *CurrentRasterOperation);
  847. HRESULT (STDMETHODCALLTYPE *put_RasterOperation)(
  848. IInkDrawingAttributes *This,
  849. InkRasterOperation NewRasterOperation);
  850. HRESULT (STDMETHODCALLTYPE *get_PenTip)(
  851. IInkDrawingAttributes *This,
  852. InkPenTip *CurrentPenTip);
  853. HRESULT (STDMETHODCALLTYPE *put_PenTip)(
  854. IInkDrawingAttributes *This,
  855. InkPenTip NewPenTip);
  856. HRESULT (STDMETHODCALLTYPE *get_ExtendedProperties)(
  857. IInkDrawingAttributes *This,
  858. IInkExtendedProperties **Properties);
  859. HRESULT (STDMETHODCALLTYPE *Clone)(
  860. IInkDrawingAttributes *This,
  861. IInkDrawingAttributes **DrawingAttributes);
  862. END_INTERFACE
  863. } IInkDrawingAttributesVtbl;
  864. interface IInkDrawingAttributes {
  865. CONST_VTBL IInkDrawingAttributesVtbl* lpVtbl;
  866. };
  867. #ifdef COBJMACROS
  868. #ifndef WIDL_C_INLINE_WRAPPERS
  869. /*** IUnknown methods ***/
  870. #define IInkDrawingAttributes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  871. #define IInkDrawingAttributes_AddRef(This) (This)->lpVtbl->AddRef(This)
  872. #define IInkDrawingAttributes_Release(This) (This)->lpVtbl->Release(This)
  873. /*** IDispatch methods ***/
  874. #define IInkDrawingAttributes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  875. #define IInkDrawingAttributes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  876. #define IInkDrawingAttributes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  877. #define IInkDrawingAttributes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  878. /*** IInkDrawingAttributes methods ***/
  879. #define IInkDrawingAttributes_get_Color(This,CurrentColor) (This)->lpVtbl->get_Color(This,CurrentColor)
  880. #define IInkDrawingAttributes_put_Color(This,NewColor) (This)->lpVtbl->put_Color(This,NewColor)
  881. #define IInkDrawingAttributes_get_Width(This,CurrentWidth) (This)->lpVtbl->get_Width(This,CurrentWidth)
  882. #define IInkDrawingAttributes_put_Width(This,NewWidth) (This)->lpVtbl->put_Width(This,NewWidth)
  883. #define IInkDrawingAttributes_get_Height(This,CurrentHeight) (This)->lpVtbl->get_Height(This,CurrentHeight)
  884. #define IInkDrawingAttributes_put_Height(This,NewHeight) (This)->lpVtbl->put_Height(This,NewHeight)
  885. #define IInkDrawingAttributes_get_FitToCurve(This,Flag) (This)->lpVtbl->get_FitToCurve(This,Flag)
  886. #define IInkDrawingAttributes_put_FitToCurve(This,Flag) (This)->lpVtbl->put_FitToCurve(This,Flag)
  887. #define IInkDrawingAttributes_get_IgnorePressure(This,Flag) (This)->lpVtbl->get_IgnorePressure(This,Flag)
  888. #define IInkDrawingAttributes_put_IgnorePressure(This,Flag) (This)->lpVtbl->put_IgnorePressure(This,Flag)
  889. #define IInkDrawingAttributes_get_AntiAliased(This,Flag) (This)->lpVtbl->get_AntiAliased(This,Flag)
  890. #define IInkDrawingAttributes_put_AntiAliased(This,Flag) (This)->lpVtbl->put_AntiAliased(This,Flag)
  891. #define IInkDrawingAttributes_get_Transparency(This,CurrentTransparency) (This)->lpVtbl->get_Transparency(This,CurrentTransparency)
  892. #define IInkDrawingAttributes_put_Transparency(This,NewTransparency) (This)->lpVtbl->put_Transparency(This,NewTransparency)
  893. #define IInkDrawingAttributes_get_RasterOperation(This,CurrentRasterOperation) (This)->lpVtbl->get_RasterOperation(This,CurrentRasterOperation)
  894. #define IInkDrawingAttributes_put_RasterOperation(This,NewRasterOperation) (This)->lpVtbl->put_RasterOperation(This,NewRasterOperation)
  895. #define IInkDrawingAttributes_get_PenTip(This,CurrentPenTip) (This)->lpVtbl->get_PenTip(This,CurrentPenTip)
  896. #define IInkDrawingAttributes_put_PenTip(This,NewPenTip) (This)->lpVtbl->put_PenTip(This,NewPenTip)
  897. #define IInkDrawingAttributes_get_ExtendedProperties(This,Properties) (This)->lpVtbl->get_ExtendedProperties(This,Properties)
  898. #define IInkDrawingAttributes_Clone(This,DrawingAttributes) (This)->lpVtbl->Clone(This,DrawingAttributes)
  899. #else
  900. /*** IUnknown methods ***/
  901. static FORCEINLINE HRESULT IInkDrawingAttributes_QueryInterface(IInkDrawingAttributes* This,REFIID riid,void **ppvObject) {
  902. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  903. }
  904. static FORCEINLINE ULONG IInkDrawingAttributes_AddRef(IInkDrawingAttributes* This) {
  905. return This->lpVtbl->AddRef(This);
  906. }
  907. static FORCEINLINE ULONG IInkDrawingAttributes_Release(IInkDrawingAttributes* This) {
  908. return This->lpVtbl->Release(This);
  909. }
  910. /*** IDispatch methods ***/
  911. static FORCEINLINE HRESULT IInkDrawingAttributes_GetTypeInfoCount(IInkDrawingAttributes* This,UINT *pctinfo) {
  912. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  913. }
  914. static FORCEINLINE HRESULT IInkDrawingAttributes_GetTypeInfo(IInkDrawingAttributes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  915. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  916. }
  917. static FORCEINLINE HRESULT IInkDrawingAttributes_GetIDsOfNames(IInkDrawingAttributes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  918. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  919. }
  920. static FORCEINLINE HRESULT IInkDrawingAttributes_Invoke(IInkDrawingAttributes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  921. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  922. }
  923. /*** IInkDrawingAttributes methods ***/
  924. static FORCEINLINE HRESULT IInkDrawingAttributes_get_Color(IInkDrawingAttributes* This,LONG *CurrentColor) {
  925. return This->lpVtbl->get_Color(This,CurrentColor);
  926. }
  927. static FORCEINLINE HRESULT IInkDrawingAttributes_put_Color(IInkDrawingAttributes* This,LONG NewColor) {
  928. return This->lpVtbl->put_Color(This,NewColor);
  929. }
  930. static FORCEINLINE HRESULT IInkDrawingAttributes_get_Width(IInkDrawingAttributes* This,float *CurrentWidth) {
  931. return This->lpVtbl->get_Width(This,CurrentWidth);
  932. }
  933. static FORCEINLINE HRESULT IInkDrawingAttributes_put_Width(IInkDrawingAttributes* This,float NewWidth) {
  934. return This->lpVtbl->put_Width(This,NewWidth);
  935. }
  936. static FORCEINLINE HRESULT IInkDrawingAttributes_get_Height(IInkDrawingAttributes* This,float *CurrentHeight) {
  937. return This->lpVtbl->get_Height(This,CurrentHeight);
  938. }
  939. static FORCEINLINE HRESULT IInkDrawingAttributes_put_Height(IInkDrawingAttributes* This,float NewHeight) {
  940. return This->lpVtbl->put_Height(This,NewHeight);
  941. }
  942. static FORCEINLINE HRESULT IInkDrawingAttributes_get_FitToCurve(IInkDrawingAttributes* This,VARIANT_BOOL *Flag) {
  943. return This->lpVtbl->get_FitToCurve(This,Flag);
  944. }
  945. static FORCEINLINE HRESULT IInkDrawingAttributes_put_FitToCurve(IInkDrawingAttributes* This,VARIANT_BOOL Flag) {
  946. return This->lpVtbl->put_FitToCurve(This,Flag);
  947. }
  948. static FORCEINLINE HRESULT IInkDrawingAttributes_get_IgnorePressure(IInkDrawingAttributes* This,VARIANT_BOOL *Flag) {
  949. return This->lpVtbl->get_IgnorePressure(This,Flag);
  950. }
  951. static FORCEINLINE HRESULT IInkDrawingAttributes_put_IgnorePressure(IInkDrawingAttributes* This,VARIANT_BOOL Flag) {
  952. return This->lpVtbl->put_IgnorePressure(This,Flag);
  953. }
  954. static FORCEINLINE HRESULT IInkDrawingAttributes_get_AntiAliased(IInkDrawingAttributes* This,VARIANT_BOOL *Flag) {
  955. return This->lpVtbl->get_AntiAliased(This,Flag);
  956. }
  957. static FORCEINLINE HRESULT IInkDrawingAttributes_put_AntiAliased(IInkDrawingAttributes* This,VARIANT_BOOL Flag) {
  958. return This->lpVtbl->put_AntiAliased(This,Flag);
  959. }
  960. static FORCEINLINE HRESULT IInkDrawingAttributes_get_Transparency(IInkDrawingAttributes* This,LONG *CurrentTransparency) {
  961. return This->lpVtbl->get_Transparency(This,CurrentTransparency);
  962. }
  963. static FORCEINLINE HRESULT IInkDrawingAttributes_put_Transparency(IInkDrawingAttributes* This,LONG NewTransparency) {
  964. return This->lpVtbl->put_Transparency(This,NewTransparency);
  965. }
  966. static FORCEINLINE HRESULT IInkDrawingAttributes_get_RasterOperation(IInkDrawingAttributes* This,InkRasterOperation *CurrentRasterOperation) {
  967. return This->lpVtbl->get_RasterOperation(This,CurrentRasterOperation);
  968. }
  969. static FORCEINLINE HRESULT IInkDrawingAttributes_put_RasterOperation(IInkDrawingAttributes* This,InkRasterOperation NewRasterOperation) {
  970. return This->lpVtbl->put_RasterOperation(This,NewRasterOperation);
  971. }
  972. static FORCEINLINE HRESULT IInkDrawingAttributes_get_PenTip(IInkDrawingAttributes* This,InkPenTip *CurrentPenTip) {
  973. return This->lpVtbl->get_PenTip(This,CurrentPenTip);
  974. }
  975. static FORCEINLINE HRESULT IInkDrawingAttributes_put_PenTip(IInkDrawingAttributes* This,InkPenTip NewPenTip) {
  976. return This->lpVtbl->put_PenTip(This,NewPenTip);
  977. }
  978. static FORCEINLINE HRESULT IInkDrawingAttributes_get_ExtendedProperties(IInkDrawingAttributes* This,IInkExtendedProperties **Properties) {
  979. return This->lpVtbl->get_ExtendedProperties(This,Properties);
  980. }
  981. static FORCEINLINE HRESULT IInkDrawingAttributes_Clone(IInkDrawingAttributes* This,IInkDrawingAttributes **DrawingAttributes) {
  982. return This->lpVtbl->Clone(This,DrawingAttributes);
  983. }
  984. #endif
  985. #endif
  986. #endif
  987. #endif /* __IInkDrawingAttributes_INTERFACE_DEFINED__ */
  988. /*****************************************************************************
  989. * IInkRectangle interface
  990. */
  991. #ifndef __IInkRectangle_INTERFACE_DEFINED__
  992. #define __IInkRectangle_INTERFACE_DEFINED__
  993. DEFINE_GUID(IID_IInkRectangle, 0x9794ff82, 0x6071, 0x4717, 0x8a,0x8b, 0x6a,0xc7,0xc6,0x4a,0x68,0x6e);
  994. #if defined(__cplusplus) && !defined(CINTERFACE)
  995. MIDL_INTERFACE("9794ff82-6071-4717-8a8b-6ac7c64a686e")
  996. IInkRectangle : public IDispatch
  997. {
  998. virtual HRESULT STDMETHODCALLTYPE get_Top(
  999. LONG *Units) = 0;
  1000. virtual HRESULT STDMETHODCALLTYPE put_Top(
  1001. LONG Units) = 0;
  1002. virtual HRESULT STDMETHODCALLTYPE get_Left(
  1003. LONG *Units) = 0;
  1004. virtual HRESULT STDMETHODCALLTYPE put_Left(
  1005. LONG Units) = 0;
  1006. virtual HRESULT STDMETHODCALLTYPE get_Bottom(
  1007. LONG *Units) = 0;
  1008. virtual HRESULT STDMETHODCALLTYPE put_Bottom(
  1009. LONG Units) = 0;
  1010. virtual HRESULT STDMETHODCALLTYPE get_Right(
  1011. LONG *Units) = 0;
  1012. virtual HRESULT STDMETHODCALLTYPE put_Right(
  1013. LONG Units) = 0;
  1014. virtual HRESULT STDMETHODCALLTYPE get_Data(
  1015. RECT *Rect) = 0;
  1016. virtual HRESULT STDMETHODCALLTYPE put_Data(
  1017. RECT Rect) = 0;
  1018. virtual HRESULT STDMETHODCALLTYPE GetRectangle(
  1019. LONG *Top,
  1020. LONG *Left,
  1021. LONG *Bottom,
  1022. LONG *Right) = 0;
  1023. virtual HRESULT STDMETHODCALLTYPE SetRectangle(
  1024. LONG Top,
  1025. LONG Left,
  1026. LONG Bottom,
  1027. LONG Right) = 0;
  1028. };
  1029. #ifdef __CRT_UUID_DECL
  1030. __CRT_UUID_DECL(IInkRectangle, 0x9794ff82, 0x6071, 0x4717, 0x8a,0x8b, 0x6a,0xc7,0xc6,0x4a,0x68,0x6e)
  1031. #endif
  1032. #else
  1033. typedef struct IInkRectangleVtbl {
  1034. BEGIN_INTERFACE
  1035. /*** IUnknown methods ***/
  1036. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1037. IInkRectangle *This,
  1038. REFIID riid,
  1039. void **ppvObject);
  1040. ULONG (STDMETHODCALLTYPE *AddRef)(
  1041. IInkRectangle *This);
  1042. ULONG (STDMETHODCALLTYPE *Release)(
  1043. IInkRectangle *This);
  1044. /*** IDispatch methods ***/
  1045. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1046. IInkRectangle *This,
  1047. UINT *pctinfo);
  1048. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1049. IInkRectangle *This,
  1050. UINT iTInfo,
  1051. LCID lcid,
  1052. ITypeInfo **ppTInfo);
  1053. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1054. IInkRectangle *This,
  1055. REFIID riid,
  1056. LPOLESTR *rgszNames,
  1057. UINT cNames,
  1058. LCID lcid,
  1059. DISPID *rgDispId);
  1060. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1061. IInkRectangle *This,
  1062. DISPID dispIdMember,
  1063. REFIID riid,
  1064. LCID lcid,
  1065. WORD wFlags,
  1066. DISPPARAMS *pDispParams,
  1067. VARIANT *pVarResult,
  1068. EXCEPINFO *pExcepInfo,
  1069. UINT *puArgErr);
  1070. /*** IInkRectangle methods ***/
  1071. HRESULT (STDMETHODCALLTYPE *get_Top)(
  1072. IInkRectangle *This,
  1073. LONG *Units);
  1074. HRESULT (STDMETHODCALLTYPE *put_Top)(
  1075. IInkRectangle *This,
  1076. LONG Units);
  1077. HRESULT (STDMETHODCALLTYPE *get_Left)(
  1078. IInkRectangle *This,
  1079. LONG *Units);
  1080. HRESULT (STDMETHODCALLTYPE *put_Left)(
  1081. IInkRectangle *This,
  1082. LONG Units);
  1083. HRESULT (STDMETHODCALLTYPE *get_Bottom)(
  1084. IInkRectangle *This,
  1085. LONG *Units);
  1086. HRESULT (STDMETHODCALLTYPE *put_Bottom)(
  1087. IInkRectangle *This,
  1088. LONG Units);
  1089. HRESULT (STDMETHODCALLTYPE *get_Right)(
  1090. IInkRectangle *This,
  1091. LONG *Units);
  1092. HRESULT (STDMETHODCALLTYPE *put_Right)(
  1093. IInkRectangle *This,
  1094. LONG Units);
  1095. HRESULT (STDMETHODCALLTYPE *get_Data)(
  1096. IInkRectangle *This,
  1097. RECT *Rect);
  1098. HRESULT (STDMETHODCALLTYPE *put_Data)(
  1099. IInkRectangle *This,
  1100. RECT Rect);
  1101. HRESULT (STDMETHODCALLTYPE *GetRectangle)(
  1102. IInkRectangle *This,
  1103. LONG *Top,
  1104. LONG *Left,
  1105. LONG *Bottom,
  1106. LONG *Right);
  1107. HRESULT (STDMETHODCALLTYPE *SetRectangle)(
  1108. IInkRectangle *This,
  1109. LONG Top,
  1110. LONG Left,
  1111. LONG Bottom,
  1112. LONG Right);
  1113. END_INTERFACE
  1114. } IInkRectangleVtbl;
  1115. interface IInkRectangle {
  1116. CONST_VTBL IInkRectangleVtbl* lpVtbl;
  1117. };
  1118. #ifdef COBJMACROS
  1119. #ifndef WIDL_C_INLINE_WRAPPERS
  1120. /*** IUnknown methods ***/
  1121. #define IInkRectangle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1122. #define IInkRectangle_AddRef(This) (This)->lpVtbl->AddRef(This)
  1123. #define IInkRectangle_Release(This) (This)->lpVtbl->Release(This)
  1124. /*** IDispatch methods ***/
  1125. #define IInkRectangle_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1126. #define IInkRectangle_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1127. #define IInkRectangle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1128. #define IInkRectangle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1129. /*** IInkRectangle methods ***/
  1130. #define IInkRectangle_get_Top(This,Units) (This)->lpVtbl->get_Top(This,Units)
  1131. #define IInkRectangle_put_Top(This,Units) (This)->lpVtbl->put_Top(This,Units)
  1132. #define IInkRectangle_get_Left(This,Units) (This)->lpVtbl->get_Left(This,Units)
  1133. #define IInkRectangle_put_Left(This,Units) (This)->lpVtbl->put_Left(This,Units)
  1134. #define IInkRectangle_get_Bottom(This,Units) (This)->lpVtbl->get_Bottom(This,Units)
  1135. #define IInkRectangle_put_Bottom(This,Units) (This)->lpVtbl->put_Bottom(This,Units)
  1136. #define IInkRectangle_get_Right(This,Units) (This)->lpVtbl->get_Right(This,Units)
  1137. #define IInkRectangle_put_Right(This,Units) (This)->lpVtbl->put_Right(This,Units)
  1138. #define IInkRectangle_get_Data(This,Rect) (This)->lpVtbl->get_Data(This,Rect)
  1139. #define IInkRectangle_put_Data(This,Rect) (This)->lpVtbl->put_Data(This,Rect)
  1140. #define IInkRectangle_GetRectangle(This,Top,Left,Bottom,Right) (This)->lpVtbl->GetRectangle(This,Top,Left,Bottom,Right)
  1141. #define IInkRectangle_SetRectangle(This,Top,Left,Bottom,Right) (This)->lpVtbl->SetRectangle(This,Top,Left,Bottom,Right)
  1142. #else
  1143. /*** IUnknown methods ***/
  1144. static FORCEINLINE HRESULT IInkRectangle_QueryInterface(IInkRectangle* This,REFIID riid,void **ppvObject) {
  1145. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1146. }
  1147. static FORCEINLINE ULONG IInkRectangle_AddRef(IInkRectangle* This) {
  1148. return This->lpVtbl->AddRef(This);
  1149. }
  1150. static FORCEINLINE ULONG IInkRectangle_Release(IInkRectangle* This) {
  1151. return This->lpVtbl->Release(This);
  1152. }
  1153. /*** IDispatch methods ***/
  1154. static FORCEINLINE HRESULT IInkRectangle_GetTypeInfoCount(IInkRectangle* This,UINT *pctinfo) {
  1155. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1156. }
  1157. static FORCEINLINE HRESULT IInkRectangle_GetTypeInfo(IInkRectangle* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1158. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1159. }
  1160. static FORCEINLINE HRESULT IInkRectangle_GetIDsOfNames(IInkRectangle* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1161. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1162. }
  1163. static FORCEINLINE HRESULT IInkRectangle_Invoke(IInkRectangle* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1164. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1165. }
  1166. /*** IInkRectangle methods ***/
  1167. static FORCEINLINE HRESULT IInkRectangle_get_Top(IInkRectangle* This,LONG *Units) {
  1168. return This->lpVtbl->get_Top(This,Units);
  1169. }
  1170. static FORCEINLINE HRESULT IInkRectangle_put_Top(IInkRectangle* This,LONG Units) {
  1171. return This->lpVtbl->put_Top(This,Units);
  1172. }
  1173. static FORCEINLINE HRESULT IInkRectangle_get_Left(IInkRectangle* This,LONG *Units) {
  1174. return This->lpVtbl->get_Left(This,Units);
  1175. }
  1176. static FORCEINLINE HRESULT IInkRectangle_put_Left(IInkRectangle* This,LONG Units) {
  1177. return This->lpVtbl->put_Left(This,Units);
  1178. }
  1179. static FORCEINLINE HRESULT IInkRectangle_get_Bottom(IInkRectangle* This,LONG *Units) {
  1180. return This->lpVtbl->get_Bottom(This,Units);
  1181. }
  1182. static FORCEINLINE HRESULT IInkRectangle_put_Bottom(IInkRectangle* This,LONG Units) {
  1183. return This->lpVtbl->put_Bottom(This,Units);
  1184. }
  1185. static FORCEINLINE HRESULT IInkRectangle_get_Right(IInkRectangle* This,LONG *Units) {
  1186. return This->lpVtbl->get_Right(This,Units);
  1187. }
  1188. static FORCEINLINE HRESULT IInkRectangle_put_Right(IInkRectangle* This,LONG Units) {
  1189. return This->lpVtbl->put_Right(This,Units);
  1190. }
  1191. static FORCEINLINE HRESULT IInkRectangle_get_Data(IInkRectangle* This,RECT *Rect) {
  1192. return This->lpVtbl->get_Data(This,Rect);
  1193. }
  1194. static FORCEINLINE HRESULT IInkRectangle_put_Data(IInkRectangle* This,RECT Rect) {
  1195. return This->lpVtbl->put_Data(This,Rect);
  1196. }
  1197. static FORCEINLINE HRESULT IInkRectangle_GetRectangle(IInkRectangle* This,LONG *Top,LONG *Left,LONG *Bottom,LONG *Right) {
  1198. return This->lpVtbl->GetRectangle(This,Top,Left,Bottom,Right);
  1199. }
  1200. static FORCEINLINE HRESULT IInkRectangle_SetRectangle(IInkRectangle* This,LONG Top,LONG Left,LONG Bottom,LONG Right) {
  1201. return This->lpVtbl->SetRectangle(This,Top,Left,Bottom,Right);
  1202. }
  1203. #endif
  1204. #endif
  1205. #endif
  1206. #endif /* __IInkRectangle_INTERFACE_DEFINED__ */
  1207. /*****************************************************************************
  1208. * IInkTablet interface
  1209. */
  1210. #ifndef __IInkTablet_INTERFACE_DEFINED__
  1211. #define __IInkTablet_INTERFACE_DEFINED__
  1212. DEFINE_GUID(IID_IInkTablet, 0x2de25eaa, 0x6ef8, 0x42d5, 0xae,0xe9, 0x18,0x5b,0xc8,0x1b,0x91,0x2d);
  1213. #if defined(__cplusplus) && !defined(CINTERFACE)
  1214. MIDL_INTERFACE("2de25eaa-6ef8-42d5-aee9-185bc81b912d")
  1215. IInkTablet : public IDispatch
  1216. {
  1217. virtual HRESULT STDMETHODCALLTYPE get_Name(
  1218. BSTR *Name) = 0;
  1219. virtual HRESULT STDMETHODCALLTYPE get_PlugAndPlayId(
  1220. BSTR *Id) = 0;
  1221. virtual HRESULT STDMETHODCALLTYPE get_MaximumInputRectangle(
  1222. IInkRectangle **Rectangle) = 0;
  1223. virtual HRESULT STDMETHODCALLTYPE get_HardwareCapabilities(
  1224. TabletHardwareCapabilities *Capabilities) = 0;
  1225. virtual HRESULT STDMETHODCALLTYPE IsPacketPropertySupported(
  1226. BSTR packetPropertyName,
  1227. VARIANT_BOOL *Supported) = 0;
  1228. virtual HRESULT STDMETHODCALLTYPE GetPropertyMetrics(
  1229. BSTR propertyName,
  1230. LONG *Minimum,
  1231. LONG *Maximum,
  1232. TabletPropertyMetricUnit *Units,
  1233. float *Resolution) = 0;
  1234. };
  1235. #ifdef __CRT_UUID_DECL
  1236. __CRT_UUID_DECL(IInkTablet, 0x2de25eaa, 0x6ef8, 0x42d5, 0xae,0xe9, 0x18,0x5b,0xc8,0x1b,0x91,0x2d)
  1237. #endif
  1238. #else
  1239. typedef struct IInkTabletVtbl {
  1240. BEGIN_INTERFACE
  1241. /*** IUnknown methods ***/
  1242. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1243. IInkTablet *This,
  1244. REFIID riid,
  1245. void **ppvObject);
  1246. ULONG (STDMETHODCALLTYPE *AddRef)(
  1247. IInkTablet *This);
  1248. ULONG (STDMETHODCALLTYPE *Release)(
  1249. IInkTablet *This);
  1250. /*** IDispatch methods ***/
  1251. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1252. IInkTablet *This,
  1253. UINT *pctinfo);
  1254. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1255. IInkTablet *This,
  1256. UINT iTInfo,
  1257. LCID lcid,
  1258. ITypeInfo **ppTInfo);
  1259. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1260. IInkTablet *This,
  1261. REFIID riid,
  1262. LPOLESTR *rgszNames,
  1263. UINT cNames,
  1264. LCID lcid,
  1265. DISPID *rgDispId);
  1266. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1267. IInkTablet *This,
  1268. DISPID dispIdMember,
  1269. REFIID riid,
  1270. LCID lcid,
  1271. WORD wFlags,
  1272. DISPPARAMS *pDispParams,
  1273. VARIANT *pVarResult,
  1274. EXCEPINFO *pExcepInfo,
  1275. UINT *puArgErr);
  1276. /*** IInkTablet methods ***/
  1277. HRESULT (STDMETHODCALLTYPE *get_Name)(
  1278. IInkTablet *This,
  1279. BSTR *Name);
  1280. HRESULT (STDMETHODCALLTYPE *get_PlugAndPlayId)(
  1281. IInkTablet *This,
  1282. BSTR *Id);
  1283. HRESULT (STDMETHODCALLTYPE *get_MaximumInputRectangle)(
  1284. IInkTablet *This,
  1285. IInkRectangle **Rectangle);
  1286. HRESULT (STDMETHODCALLTYPE *get_HardwareCapabilities)(
  1287. IInkTablet *This,
  1288. TabletHardwareCapabilities *Capabilities);
  1289. HRESULT (STDMETHODCALLTYPE *IsPacketPropertySupported)(
  1290. IInkTablet *This,
  1291. BSTR packetPropertyName,
  1292. VARIANT_BOOL *Supported);
  1293. HRESULT (STDMETHODCALLTYPE *GetPropertyMetrics)(
  1294. IInkTablet *This,
  1295. BSTR propertyName,
  1296. LONG *Minimum,
  1297. LONG *Maximum,
  1298. TabletPropertyMetricUnit *Units,
  1299. float *Resolution);
  1300. END_INTERFACE
  1301. } IInkTabletVtbl;
  1302. interface IInkTablet {
  1303. CONST_VTBL IInkTabletVtbl* lpVtbl;
  1304. };
  1305. #ifdef COBJMACROS
  1306. #ifndef WIDL_C_INLINE_WRAPPERS
  1307. /*** IUnknown methods ***/
  1308. #define IInkTablet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1309. #define IInkTablet_AddRef(This) (This)->lpVtbl->AddRef(This)
  1310. #define IInkTablet_Release(This) (This)->lpVtbl->Release(This)
  1311. /*** IDispatch methods ***/
  1312. #define IInkTablet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1313. #define IInkTablet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1314. #define IInkTablet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1315. #define IInkTablet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1316. /*** IInkTablet methods ***/
  1317. #define IInkTablet_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
  1318. #define IInkTablet_get_PlugAndPlayId(This,Id) (This)->lpVtbl->get_PlugAndPlayId(This,Id)
  1319. #define IInkTablet_get_MaximumInputRectangle(This,Rectangle) (This)->lpVtbl->get_MaximumInputRectangle(This,Rectangle)
  1320. #define IInkTablet_get_HardwareCapabilities(This,Capabilities) (This)->lpVtbl->get_HardwareCapabilities(This,Capabilities)
  1321. #define IInkTablet_IsPacketPropertySupported(This,packetPropertyName,Supported) (This)->lpVtbl->IsPacketPropertySupported(This,packetPropertyName,Supported)
  1322. #define IInkTablet_GetPropertyMetrics(This,propertyName,Minimum,Maximum,Units,Resolution) (This)->lpVtbl->GetPropertyMetrics(This,propertyName,Minimum,Maximum,Units,Resolution)
  1323. #else
  1324. /*** IUnknown methods ***/
  1325. static FORCEINLINE HRESULT IInkTablet_QueryInterface(IInkTablet* This,REFIID riid,void **ppvObject) {
  1326. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1327. }
  1328. static FORCEINLINE ULONG IInkTablet_AddRef(IInkTablet* This) {
  1329. return This->lpVtbl->AddRef(This);
  1330. }
  1331. static FORCEINLINE ULONG IInkTablet_Release(IInkTablet* This) {
  1332. return This->lpVtbl->Release(This);
  1333. }
  1334. /*** IDispatch methods ***/
  1335. static FORCEINLINE HRESULT IInkTablet_GetTypeInfoCount(IInkTablet* This,UINT *pctinfo) {
  1336. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1337. }
  1338. static FORCEINLINE HRESULT IInkTablet_GetTypeInfo(IInkTablet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1339. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1340. }
  1341. static FORCEINLINE HRESULT IInkTablet_GetIDsOfNames(IInkTablet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1342. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1343. }
  1344. static FORCEINLINE HRESULT IInkTablet_Invoke(IInkTablet* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1345. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1346. }
  1347. /*** IInkTablet methods ***/
  1348. static FORCEINLINE HRESULT IInkTablet_get_Name(IInkTablet* This,BSTR *Name) {
  1349. return This->lpVtbl->get_Name(This,Name);
  1350. }
  1351. static FORCEINLINE HRESULT IInkTablet_get_PlugAndPlayId(IInkTablet* This,BSTR *Id) {
  1352. return This->lpVtbl->get_PlugAndPlayId(This,Id);
  1353. }
  1354. static FORCEINLINE HRESULT IInkTablet_get_MaximumInputRectangle(IInkTablet* This,IInkRectangle **Rectangle) {
  1355. return This->lpVtbl->get_MaximumInputRectangle(This,Rectangle);
  1356. }
  1357. static FORCEINLINE HRESULT IInkTablet_get_HardwareCapabilities(IInkTablet* This,TabletHardwareCapabilities *Capabilities) {
  1358. return This->lpVtbl->get_HardwareCapabilities(This,Capabilities);
  1359. }
  1360. static FORCEINLINE HRESULT IInkTablet_IsPacketPropertySupported(IInkTablet* This,BSTR packetPropertyName,VARIANT_BOOL *Supported) {
  1361. return This->lpVtbl->IsPacketPropertySupported(This,packetPropertyName,Supported);
  1362. }
  1363. static FORCEINLINE HRESULT IInkTablet_GetPropertyMetrics(IInkTablet* This,BSTR propertyName,LONG *Minimum,LONG *Maximum,TabletPropertyMetricUnit *Units,float *Resolution) {
  1364. return This->lpVtbl->GetPropertyMetrics(This,propertyName,Minimum,Maximum,Units,Resolution);
  1365. }
  1366. #endif
  1367. #endif
  1368. #endif
  1369. #endif /* __IInkTablet_INTERFACE_DEFINED__ */
  1370. /*****************************************************************************
  1371. * IInkCursorButton interface
  1372. */
  1373. #ifndef __IInkCursorButton_INTERFACE_DEFINED__
  1374. #define __IInkCursorButton_INTERFACE_DEFINED__
  1375. DEFINE_GUID(IID_IInkCursorButton, 0x85ef9417, 0x1d59, 0x49b2, 0xa1,0x3c, 0x70,0x2c,0x85,0x43,0x08,0x94);
  1376. #if defined(__cplusplus) && !defined(CINTERFACE)
  1377. MIDL_INTERFACE("85ef9417-1d59-49b2-a13c-702c85430894")
  1378. IInkCursorButton : public IDispatch
  1379. {
  1380. virtual HRESULT STDMETHODCALLTYPE get_Name(
  1381. BSTR *Name) = 0;
  1382. virtual HRESULT STDMETHODCALLTYPE get_Id(
  1383. BSTR *Id) = 0;
  1384. virtual HRESULT STDMETHODCALLTYPE get_State(
  1385. InkCursorButtonState *CurrentState) = 0;
  1386. };
  1387. #ifdef __CRT_UUID_DECL
  1388. __CRT_UUID_DECL(IInkCursorButton, 0x85ef9417, 0x1d59, 0x49b2, 0xa1,0x3c, 0x70,0x2c,0x85,0x43,0x08,0x94)
  1389. #endif
  1390. #else
  1391. typedef struct IInkCursorButtonVtbl {
  1392. BEGIN_INTERFACE
  1393. /*** IUnknown methods ***/
  1394. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1395. IInkCursorButton *This,
  1396. REFIID riid,
  1397. void **ppvObject);
  1398. ULONG (STDMETHODCALLTYPE *AddRef)(
  1399. IInkCursorButton *This);
  1400. ULONG (STDMETHODCALLTYPE *Release)(
  1401. IInkCursorButton *This);
  1402. /*** IDispatch methods ***/
  1403. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1404. IInkCursorButton *This,
  1405. UINT *pctinfo);
  1406. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1407. IInkCursorButton *This,
  1408. UINT iTInfo,
  1409. LCID lcid,
  1410. ITypeInfo **ppTInfo);
  1411. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1412. IInkCursorButton *This,
  1413. REFIID riid,
  1414. LPOLESTR *rgszNames,
  1415. UINT cNames,
  1416. LCID lcid,
  1417. DISPID *rgDispId);
  1418. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1419. IInkCursorButton *This,
  1420. DISPID dispIdMember,
  1421. REFIID riid,
  1422. LCID lcid,
  1423. WORD wFlags,
  1424. DISPPARAMS *pDispParams,
  1425. VARIANT *pVarResult,
  1426. EXCEPINFO *pExcepInfo,
  1427. UINT *puArgErr);
  1428. /*** IInkCursorButton methods ***/
  1429. HRESULT (STDMETHODCALLTYPE *get_Name)(
  1430. IInkCursorButton *This,
  1431. BSTR *Name);
  1432. HRESULT (STDMETHODCALLTYPE *get_Id)(
  1433. IInkCursorButton *This,
  1434. BSTR *Id);
  1435. HRESULT (STDMETHODCALLTYPE *get_State)(
  1436. IInkCursorButton *This,
  1437. InkCursorButtonState *CurrentState);
  1438. END_INTERFACE
  1439. } IInkCursorButtonVtbl;
  1440. interface IInkCursorButton {
  1441. CONST_VTBL IInkCursorButtonVtbl* lpVtbl;
  1442. };
  1443. #ifdef COBJMACROS
  1444. #ifndef WIDL_C_INLINE_WRAPPERS
  1445. /*** IUnknown methods ***/
  1446. #define IInkCursorButton_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1447. #define IInkCursorButton_AddRef(This) (This)->lpVtbl->AddRef(This)
  1448. #define IInkCursorButton_Release(This) (This)->lpVtbl->Release(This)
  1449. /*** IDispatch methods ***/
  1450. #define IInkCursorButton_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1451. #define IInkCursorButton_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1452. #define IInkCursorButton_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1453. #define IInkCursorButton_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1454. /*** IInkCursorButton methods ***/
  1455. #define IInkCursorButton_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
  1456. #define IInkCursorButton_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
  1457. #define IInkCursorButton_get_State(This,CurrentState) (This)->lpVtbl->get_State(This,CurrentState)
  1458. #else
  1459. /*** IUnknown methods ***/
  1460. static FORCEINLINE HRESULT IInkCursorButton_QueryInterface(IInkCursorButton* This,REFIID riid,void **ppvObject) {
  1461. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1462. }
  1463. static FORCEINLINE ULONG IInkCursorButton_AddRef(IInkCursorButton* This) {
  1464. return This->lpVtbl->AddRef(This);
  1465. }
  1466. static FORCEINLINE ULONG IInkCursorButton_Release(IInkCursorButton* This) {
  1467. return This->lpVtbl->Release(This);
  1468. }
  1469. /*** IDispatch methods ***/
  1470. static FORCEINLINE HRESULT IInkCursorButton_GetTypeInfoCount(IInkCursorButton* This,UINT *pctinfo) {
  1471. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1472. }
  1473. static FORCEINLINE HRESULT IInkCursorButton_GetTypeInfo(IInkCursorButton* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1474. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1475. }
  1476. static FORCEINLINE HRESULT IInkCursorButton_GetIDsOfNames(IInkCursorButton* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1477. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1478. }
  1479. static FORCEINLINE HRESULT IInkCursorButton_Invoke(IInkCursorButton* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1480. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1481. }
  1482. /*** IInkCursorButton methods ***/
  1483. static FORCEINLINE HRESULT IInkCursorButton_get_Name(IInkCursorButton* This,BSTR *Name) {
  1484. return This->lpVtbl->get_Name(This,Name);
  1485. }
  1486. static FORCEINLINE HRESULT IInkCursorButton_get_Id(IInkCursorButton* This,BSTR *Id) {
  1487. return This->lpVtbl->get_Id(This,Id);
  1488. }
  1489. static FORCEINLINE HRESULT IInkCursorButton_get_State(IInkCursorButton* This,InkCursorButtonState *CurrentState) {
  1490. return This->lpVtbl->get_State(This,CurrentState);
  1491. }
  1492. #endif
  1493. #endif
  1494. #endif
  1495. #endif /* __IInkCursorButton_INTERFACE_DEFINED__ */
  1496. /*****************************************************************************
  1497. * IInkCursorButtons interface
  1498. */
  1499. #ifndef __IInkCursorButtons_INTERFACE_DEFINED__
  1500. #define __IInkCursorButtons_INTERFACE_DEFINED__
  1501. DEFINE_GUID(IID_IInkCursorButtons, 0x3671cc40, 0xb624, 0x4671, 0x9f,0xa0, 0xdb,0x11,0x9d,0x95,0x2d,0x54);
  1502. #if defined(__cplusplus) && !defined(CINTERFACE)
  1503. MIDL_INTERFACE("3671cc40-b624-4671-9fa0-db119d952d54")
  1504. IInkCursorButtons : public IDispatch
  1505. {
  1506. virtual HRESULT STDMETHODCALLTYPE get_Count(
  1507. LONG *Count) = 0;
  1508. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  1509. IUnknown **_NewEnum) = 0;
  1510. virtual HRESULT STDMETHODCALLTYPE Item(
  1511. VARIANT Identifier,
  1512. IInkCursorButton **Button) = 0;
  1513. };
  1514. #ifdef __CRT_UUID_DECL
  1515. __CRT_UUID_DECL(IInkCursorButtons, 0x3671cc40, 0xb624, 0x4671, 0x9f,0xa0, 0xdb,0x11,0x9d,0x95,0x2d,0x54)
  1516. #endif
  1517. #else
  1518. typedef struct IInkCursorButtonsVtbl {
  1519. BEGIN_INTERFACE
  1520. /*** IUnknown methods ***/
  1521. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1522. IInkCursorButtons *This,
  1523. REFIID riid,
  1524. void **ppvObject);
  1525. ULONG (STDMETHODCALLTYPE *AddRef)(
  1526. IInkCursorButtons *This);
  1527. ULONG (STDMETHODCALLTYPE *Release)(
  1528. IInkCursorButtons *This);
  1529. /*** IDispatch methods ***/
  1530. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1531. IInkCursorButtons *This,
  1532. UINT *pctinfo);
  1533. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1534. IInkCursorButtons *This,
  1535. UINT iTInfo,
  1536. LCID lcid,
  1537. ITypeInfo **ppTInfo);
  1538. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1539. IInkCursorButtons *This,
  1540. REFIID riid,
  1541. LPOLESTR *rgszNames,
  1542. UINT cNames,
  1543. LCID lcid,
  1544. DISPID *rgDispId);
  1545. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1546. IInkCursorButtons *This,
  1547. DISPID dispIdMember,
  1548. REFIID riid,
  1549. LCID lcid,
  1550. WORD wFlags,
  1551. DISPPARAMS *pDispParams,
  1552. VARIANT *pVarResult,
  1553. EXCEPINFO *pExcepInfo,
  1554. UINT *puArgErr);
  1555. /*** IInkCursorButtons methods ***/
  1556. HRESULT (STDMETHODCALLTYPE *get_Count)(
  1557. IInkCursorButtons *This,
  1558. LONG *Count);
  1559. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  1560. IInkCursorButtons *This,
  1561. IUnknown **_NewEnum);
  1562. HRESULT (STDMETHODCALLTYPE *Item)(
  1563. IInkCursorButtons *This,
  1564. VARIANT Identifier,
  1565. IInkCursorButton **Button);
  1566. END_INTERFACE
  1567. } IInkCursorButtonsVtbl;
  1568. interface IInkCursorButtons {
  1569. CONST_VTBL IInkCursorButtonsVtbl* lpVtbl;
  1570. };
  1571. #ifdef COBJMACROS
  1572. #ifndef WIDL_C_INLINE_WRAPPERS
  1573. /*** IUnknown methods ***/
  1574. #define IInkCursorButtons_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1575. #define IInkCursorButtons_AddRef(This) (This)->lpVtbl->AddRef(This)
  1576. #define IInkCursorButtons_Release(This) (This)->lpVtbl->Release(This)
  1577. /*** IDispatch methods ***/
  1578. #define IInkCursorButtons_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1579. #define IInkCursorButtons_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1580. #define IInkCursorButtons_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1581. #define IInkCursorButtons_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1582. /*** IInkCursorButtons methods ***/
  1583. #define IInkCursorButtons_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  1584. #define IInkCursorButtons_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
  1585. #define IInkCursorButtons_Item(This,Identifier,Button) (This)->lpVtbl->Item(This,Identifier,Button)
  1586. #else
  1587. /*** IUnknown methods ***/
  1588. static FORCEINLINE HRESULT IInkCursorButtons_QueryInterface(IInkCursorButtons* This,REFIID riid,void **ppvObject) {
  1589. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1590. }
  1591. static FORCEINLINE ULONG IInkCursorButtons_AddRef(IInkCursorButtons* This) {
  1592. return This->lpVtbl->AddRef(This);
  1593. }
  1594. static FORCEINLINE ULONG IInkCursorButtons_Release(IInkCursorButtons* This) {
  1595. return This->lpVtbl->Release(This);
  1596. }
  1597. /*** IDispatch methods ***/
  1598. static FORCEINLINE HRESULT IInkCursorButtons_GetTypeInfoCount(IInkCursorButtons* This,UINT *pctinfo) {
  1599. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1600. }
  1601. static FORCEINLINE HRESULT IInkCursorButtons_GetTypeInfo(IInkCursorButtons* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1602. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1603. }
  1604. static FORCEINLINE HRESULT IInkCursorButtons_GetIDsOfNames(IInkCursorButtons* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1605. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1606. }
  1607. static FORCEINLINE HRESULT IInkCursorButtons_Invoke(IInkCursorButtons* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1608. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1609. }
  1610. /*** IInkCursorButtons methods ***/
  1611. static FORCEINLINE HRESULT IInkCursorButtons_get_Count(IInkCursorButtons* This,LONG *Count) {
  1612. return This->lpVtbl->get_Count(This,Count);
  1613. }
  1614. static FORCEINLINE HRESULT IInkCursorButtons_get__NewEnum(IInkCursorButtons* This,IUnknown **_NewEnum) {
  1615. return This->lpVtbl->get__NewEnum(This,_NewEnum);
  1616. }
  1617. static FORCEINLINE HRESULT IInkCursorButtons_Item(IInkCursorButtons* This,VARIANT Identifier,IInkCursorButton **Button) {
  1618. return This->lpVtbl->Item(This,Identifier,Button);
  1619. }
  1620. #endif
  1621. #endif
  1622. #endif
  1623. #endif /* __IInkCursorButtons_INTERFACE_DEFINED__ */
  1624. /*****************************************************************************
  1625. * IInkCursor interface
  1626. */
  1627. #ifndef __IInkCursor_INTERFACE_DEFINED__
  1628. #define __IInkCursor_INTERFACE_DEFINED__
  1629. DEFINE_GUID(IID_IInkCursor, 0xad30c630, 0x40c5, 0x4350, 0x84,0x05, 0x9c,0x71,0x01,0x2f,0xc5,0x58);
  1630. #if defined(__cplusplus) && !defined(CINTERFACE)
  1631. MIDL_INTERFACE("ad30c630-40c5-4350-8405-9c71012fc558")
  1632. IInkCursor : public IDispatch
  1633. {
  1634. virtual HRESULT STDMETHODCALLTYPE get_Name(
  1635. BSTR *Name) = 0;
  1636. virtual HRESULT STDMETHODCALLTYPE get_Id(
  1637. LONG *Id) = 0;
  1638. virtual HRESULT STDMETHODCALLTYPE get_Inverted(
  1639. VARIANT_BOOL *Status) = 0;
  1640. virtual HRESULT STDMETHODCALLTYPE get_DrawingAttributes(
  1641. IInkDrawingAttributes **Attributes) = 0;
  1642. virtual HRESULT STDMETHODCALLTYPE putref_DrawingAttributes(
  1643. IInkDrawingAttributes *Attributes) = 0;
  1644. virtual HRESULT STDMETHODCALLTYPE get_Tablet(
  1645. IInkTablet **Tablet) = 0;
  1646. virtual HRESULT STDMETHODCALLTYPE get_Buttons(
  1647. IInkCursorButtons **Buttons) = 0;
  1648. };
  1649. #ifdef __CRT_UUID_DECL
  1650. __CRT_UUID_DECL(IInkCursor, 0xad30c630, 0x40c5, 0x4350, 0x84,0x05, 0x9c,0x71,0x01,0x2f,0xc5,0x58)
  1651. #endif
  1652. #else
  1653. typedef struct IInkCursorVtbl {
  1654. BEGIN_INTERFACE
  1655. /*** IUnknown methods ***/
  1656. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1657. IInkCursor *This,
  1658. REFIID riid,
  1659. void **ppvObject);
  1660. ULONG (STDMETHODCALLTYPE *AddRef)(
  1661. IInkCursor *This);
  1662. ULONG (STDMETHODCALLTYPE *Release)(
  1663. IInkCursor *This);
  1664. /*** IDispatch methods ***/
  1665. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1666. IInkCursor *This,
  1667. UINT *pctinfo);
  1668. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1669. IInkCursor *This,
  1670. UINT iTInfo,
  1671. LCID lcid,
  1672. ITypeInfo **ppTInfo);
  1673. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1674. IInkCursor *This,
  1675. REFIID riid,
  1676. LPOLESTR *rgszNames,
  1677. UINT cNames,
  1678. LCID lcid,
  1679. DISPID *rgDispId);
  1680. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1681. IInkCursor *This,
  1682. DISPID dispIdMember,
  1683. REFIID riid,
  1684. LCID lcid,
  1685. WORD wFlags,
  1686. DISPPARAMS *pDispParams,
  1687. VARIANT *pVarResult,
  1688. EXCEPINFO *pExcepInfo,
  1689. UINT *puArgErr);
  1690. /*** IInkCursor methods ***/
  1691. HRESULT (STDMETHODCALLTYPE *get_Name)(
  1692. IInkCursor *This,
  1693. BSTR *Name);
  1694. HRESULT (STDMETHODCALLTYPE *get_Id)(
  1695. IInkCursor *This,
  1696. LONG *Id);
  1697. HRESULT (STDMETHODCALLTYPE *get_Inverted)(
  1698. IInkCursor *This,
  1699. VARIANT_BOOL *Status);
  1700. HRESULT (STDMETHODCALLTYPE *get_DrawingAttributes)(
  1701. IInkCursor *This,
  1702. IInkDrawingAttributes **Attributes);
  1703. HRESULT (STDMETHODCALLTYPE *putref_DrawingAttributes)(
  1704. IInkCursor *This,
  1705. IInkDrawingAttributes *Attributes);
  1706. HRESULT (STDMETHODCALLTYPE *get_Tablet)(
  1707. IInkCursor *This,
  1708. IInkTablet **Tablet);
  1709. HRESULT (STDMETHODCALLTYPE *get_Buttons)(
  1710. IInkCursor *This,
  1711. IInkCursorButtons **Buttons);
  1712. END_INTERFACE
  1713. } IInkCursorVtbl;
  1714. interface IInkCursor {
  1715. CONST_VTBL IInkCursorVtbl* lpVtbl;
  1716. };
  1717. #ifdef COBJMACROS
  1718. #ifndef WIDL_C_INLINE_WRAPPERS
  1719. /*** IUnknown methods ***/
  1720. #define IInkCursor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1721. #define IInkCursor_AddRef(This) (This)->lpVtbl->AddRef(This)
  1722. #define IInkCursor_Release(This) (This)->lpVtbl->Release(This)
  1723. /*** IDispatch methods ***/
  1724. #define IInkCursor_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1725. #define IInkCursor_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1726. #define IInkCursor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1727. #define IInkCursor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1728. /*** IInkCursor methods ***/
  1729. #define IInkCursor_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
  1730. #define IInkCursor_get_Id(This,Id) (This)->lpVtbl->get_Id(This,Id)
  1731. #define IInkCursor_get_Inverted(This,Status) (This)->lpVtbl->get_Inverted(This,Status)
  1732. #define IInkCursor_get_DrawingAttributes(This,Attributes) (This)->lpVtbl->get_DrawingAttributes(This,Attributes)
  1733. #define IInkCursor_putref_DrawingAttributes(This,Attributes) (This)->lpVtbl->putref_DrawingAttributes(This,Attributes)
  1734. #define IInkCursor_get_Tablet(This,Tablet) (This)->lpVtbl->get_Tablet(This,Tablet)
  1735. #define IInkCursor_get_Buttons(This,Buttons) (This)->lpVtbl->get_Buttons(This,Buttons)
  1736. #else
  1737. /*** IUnknown methods ***/
  1738. static FORCEINLINE HRESULT IInkCursor_QueryInterface(IInkCursor* This,REFIID riid,void **ppvObject) {
  1739. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1740. }
  1741. static FORCEINLINE ULONG IInkCursor_AddRef(IInkCursor* This) {
  1742. return This->lpVtbl->AddRef(This);
  1743. }
  1744. static FORCEINLINE ULONG IInkCursor_Release(IInkCursor* This) {
  1745. return This->lpVtbl->Release(This);
  1746. }
  1747. /*** IDispatch methods ***/
  1748. static FORCEINLINE HRESULT IInkCursor_GetTypeInfoCount(IInkCursor* This,UINT *pctinfo) {
  1749. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  1750. }
  1751. static FORCEINLINE HRESULT IInkCursor_GetTypeInfo(IInkCursor* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  1752. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  1753. }
  1754. static FORCEINLINE HRESULT IInkCursor_GetIDsOfNames(IInkCursor* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  1755. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  1756. }
  1757. static FORCEINLINE HRESULT IInkCursor_Invoke(IInkCursor* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  1758. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  1759. }
  1760. /*** IInkCursor methods ***/
  1761. static FORCEINLINE HRESULT IInkCursor_get_Name(IInkCursor* This,BSTR *Name) {
  1762. return This->lpVtbl->get_Name(This,Name);
  1763. }
  1764. static FORCEINLINE HRESULT IInkCursor_get_Id(IInkCursor* This,LONG *Id) {
  1765. return This->lpVtbl->get_Id(This,Id);
  1766. }
  1767. static FORCEINLINE HRESULT IInkCursor_get_Inverted(IInkCursor* This,VARIANT_BOOL *Status) {
  1768. return This->lpVtbl->get_Inverted(This,Status);
  1769. }
  1770. static FORCEINLINE HRESULT IInkCursor_get_DrawingAttributes(IInkCursor* This,IInkDrawingAttributes **Attributes) {
  1771. return This->lpVtbl->get_DrawingAttributes(This,Attributes);
  1772. }
  1773. static FORCEINLINE HRESULT IInkCursor_putref_DrawingAttributes(IInkCursor* This,IInkDrawingAttributes *Attributes) {
  1774. return This->lpVtbl->putref_DrawingAttributes(This,Attributes);
  1775. }
  1776. static FORCEINLINE HRESULT IInkCursor_get_Tablet(IInkCursor* This,IInkTablet **Tablet) {
  1777. return This->lpVtbl->get_Tablet(This,Tablet);
  1778. }
  1779. static FORCEINLINE HRESULT IInkCursor_get_Buttons(IInkCursor* This,IInkCursorButtons **Buttons) {
  1780. return This->lpVtbl->get_Buttons(This,Buttons);
  1781. }
  1782. #endif
  1783. #endif
  1784. #endif
  1785. #endif /* __IInkCursor_INTERFACE_DEFINED__ */
  1786. /*****************************************************************************
  1787. * IInkTransform interface
  1788. */
  1789. #ifndef __IInkTransform_INTERFACE_DEFINED__
  1790. #define __IInkTransform_INTERFACE_DEFINED__
  1791. DEFINE_GUID(IID_IInkTransform, 0x615f1d43, 0x8703, 0x4565, 0x88,0xe2, 0x82,0x01,0xd2,0xec,0xd7,0xb7);
  1792. #if defined(__cplusplus) && !defined(CINTERFACE)
  1793. MIDL_INTERFACE("615f1d43-8703-4565-88e2-8201d2ecd7b7")
  1794. IInkTransform : public IDispatch
  1795. {
  1796. virtual HRESULT STDMETHODCALLTYPE Reset(
  1797. ) = 0;
  1798. virtual HRESULT STDMETHODCALLTYPE Translate(
  1799. float HorizontalComponent,
  1800. float VerticalComponent) = 0;
  1801. virtual HRESULT STDMETHODCALLTYPE Rotate(
  1802. float Degrees,
  1803. float x = 0,
  1804. float y = 0) = 0;
  1805. virtual HRESULT STDMETHODCALLTYPE Reflect(
  1806. VARIANT_BOOL Horizontally,
  1807. VARIANT_BOOL Vertically) = 0;
  1808. virtual HRESULT STDMETHODCALLTYPE Shear(
  1809. float HorizontalComponent,
  1810. float VerticalComponent) = 0;
  1811. virtual HRESULT STDMETHODCALLTYPE ScaleTransform(
  1812. float HorizontalMultiplier,
  1813. float VerticalMultiplier) = 0;
  1814. virtual HRESULT STDMETHODCALLTYPE GetTransform(
  1815. float *eM11,
  1816. float *eM12,
  1817. float *eM21,
  1818. float *eM22,
  1819. float *eDx,
  1820. float *eDy) = 0;
  1821. virtual HRESULT STDMETHODCALLTYPE SetTransform(
  1822. float eM11,
  1823. float eM12,
  1824. float eM21,
  1825. float eM22,
  1826. float eDx,
  1827. float eDy) = 0;
  1828. virtual HRESULT STDMETHODCALLTYPE get_eM11(
  1829. float *Value) = 0;
  1830. virtual HRESULT STDMETHODCALLTYPE put_eM11(
  1831. float Value) = 0;
  1832. virtual HRESULT STDMETHODCALLTYPE get_eM12(
  1833. float *Value) = 0;
  1834. virtual HRESULT STDMETHODCALLTYPE put_eM12(
  1835. float Value) = 0;
  1836. virtual HRESULT STDMETHODCALLTYPE get_eM21(
  1837. float *Value) = 0;
  1838. virtual HRESULT STDMETHODCALLTYPE put_eM21(
  1839. float Value) = 0;
  1840. virtual HRESULT STDMETHODCALLTYPE get_eM22(
  1841. float *Value) = 0;
  1842. virtual HRESULT STDMETHODCALLTYPE put_eM22(
  1843. float Value) = 0;
  1844. virtual HRESULT STDMETHODCALLTYPE get_eDx(
  1845. float *Value) = 0;
  1846. virtual HRESULT STDMETHODCALLTYPE put_eDx(
  1847. float Value) = 0;
  1848. virtual HRESULT STDMETHODCALLTYPE get_eDy(
  1849. float *Value) = 0;
  1850. virtual HRESULT STDMETHODCALLTYPE put_eDy(
  1851. float Value) = 0;
  1852. virtual HRESULT STDMETHODCALLTYPE get_Data(
  1853. XFORM *XForm) = 0;
  1854. virtual HRESULT STDMETHODCALLTYPE put_Data(
  1855. XFORM XForm) = 0;
  1856. };
  1857. #ifdef __CRT_UUID_DECL
  1858. __CRT_UUID_DECL(IInkTransform, 0x615f1d43, 0x8703, 0x4565, 0x88,0xe2, 0x82,0x01,0xd2,0xec,0xd7,0xb7)
  1859. #endif
  1860. #else
  1861. typedef struct IInkTransformVtbl {
  1862. BEGIN_INTERFACE
  1863. /*** IUnknown methods ***/
  1864. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1865. IInkTransform *This,
  1866. REFIID riid,
  1867. void **ppvObject);
  1868. ULONG (STDMETHODCALLTYPE *AddRef)(
  1869. IInkTransform *This);
  1870. ULONG (STDMETHODCALLTYPE *Release)(
  1871. IInkTransform *This);
  1872. /*** IDispatch methods ***/
  1873. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  1874. IInkTransform *This,
  1875. UINT *pctinfo);
  1876. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  1877. IInkTransform *This,
  1878. UINT iTInfo,
  1879. LCID lcid,
  1880. ITypeInfo **ppTInfo);
  1881. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  1882. IInkTransform *This,
  1883. REFIID riid,
  1884. LPOLESTR *rgszNames,
  1885. UINT cNames,
  1886. LCID lcid,
  1887. DISPID *rgDispId);
  1888. HRESULT (STDMETHODCALLTYPE *Invoke)(
  1889. IInkTransform *This,
  1890. DISPID dispIdMember,
  1891. REFIID riid,
  1892. LCID lcid,
  1893. WORD wFlags,
  1894. DISPPARAMS *pDispParams,
  1895. VARIANT *pVarResult,
  1896. EXCEPINFO *pExcepInfo,
  1897. UINT *puArgErr);
  1898. /*** IInkTransform methods ***/
  1899. HRESULT (STDMETHODCALLTYPE *Reset)(
  1900. IInkTransform *This);
  1901. HRESULT (STDMETHODCALLTYPE *Translate)(
  1902. IInkTransform *This,
  1903. float HorizontalComponent,
  1904. float VerticalComponent);
  1905. HRESULT (STDMETHODCALLTYPE *Rotate)(
  1906. IInkTransform *This,
  1907. float Degrees,
  1908. float x,
  1909. float y);
  1910. HRESULT (STDMETHODCALLTYPE *Reflect)(
  1911. IInkTransform *This,
  1912. VARIANT_BOOL Horizontally,
  1913. VARIANT_BOOL Vertically);
  1914. HRESULT (STDMETHODCALLTYPE *Shear)(
  1915. IInkTransform *This,
  1916. float HorizontalComponent,
  1917. float VerticalComponent);
  1918. HRESULT (STDMETHODCALLTYPE *ScaleTransform)(
  1919. IInkTransform *This,
  1920. float HorizontalMultiplier,
  1921. float VerticalMultiplier);
  1922. HRESULT (STDMETHODCALLTYPE *GetTransform)(
  1923. IInkTransform *This,
  1924. float *eM11,
  1925. float *eM12,
  1926. float *eM21,
  1927. float *eM22,
  1928. float *eDx,
  1929. float *eDy);
  1930. HRESULT (STDMETHODCALLTYPE *SetTransform)(
  1931. IInkTransform *This,
  1932. float eM11,
  1933. float eM12,
  1934. float eM21,
  1935. float eM22,
  1936. float eDx,
  1937. float eDy);
  1938. HRESULT (STDMETHODCALLTYPE *get_eM11)(
  1939. IInkTransform *This,
  1940. float *Value);
  1941. HRESULT (STDMETHODCALLTYPE *put_eM11)(
  1942. IInkTransform *This,
  1943. float Value);
  1944. HRESULT (STDMETHODCALLTYPE *get_eM12)(
  1945. IInkTransform *This,
  1946. float *Value);
  1947. HRESULT (STDMETHODCALLTYPE *put_eM12)(
  1948. IInkTransform *This,
  1949. float Value);
  1950. HRESULT (STDMETHODCALLTYPE *get_eM21)(
  1951. IInkTransform *This,
  1952. float *Value);
  1953. HRESULT (STDMETHODCALLTYPE *put_eM21)(
  1954. IInkTransform *This,
  1955. float Value);
  1956. HRESULT (STDMETHODCALLTYPE *get_eM22)(
  1957. IInkTransform *This,
  1958. float *Value);
  1959. HRESULT (STDMETHODCALLTYPE *put_eM22)(
  1960. IInkTransform *This,
  1961. float Value);
  1962. HRESULT (STDMETHODCALLTYPE *get_eDx)(
  1963. IInkTransform *This,
  1964. float *Value);
  1965. HRESULT (STDMETHODCALLTYPE *put_eDx)(
  1966. IInkTransform *This,
  1967. float Value);
  1968. HRESULT (STDMETHODCALLTYPE *get_eDy)(
  1969. IInkTransform *This,
  1970. float *Value);
  1971. HRESULT (STDMETHODCALLTYPE *put_eDy)(
  1972. IInkTransform *This,
  1973. float Value);
  1974. HRESULT (STDMETHODCALLTYPE *get_Data)(
  1975. IInkTransform *This,
  1976. XFORM *XForm);
  1977. HRESULT (STDMETHODCALLTYPE *put_Data)(
  1978. IInkTransform *This,
  1979. XFORM XForm);
  1980. END_INTERFACE
  1981. } IInkTransformVtbl;
  1982. interface IInkTransform {
  1983. CONST_VTBL IInkTransformVtbl* lpVtbl;
  1984. };
  1985. #ifdef COBJMACROS
  1986. #ifndef WIDL_C_INLINE_WRAPPERS
  1987. /*** IUnknown methods ***/
  1988. #define IInkTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1989. #define IInkTransform_AddRef(This) (This)->lpVtbl->AddRef(This)
  1990. #define IInkTransform_Release(This) (This)->lpVtbl->Release(This)
  1991. /*** IDispatch methods ***/
  1992. #define IInkTransform_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  1993. #define IInkTransform_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1994. #define IInkTransform_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1995. #define IInkTransform_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1996. /*** IInkTransform methods ***/
  1997. #define IInkTransform_Reset(This) (This)->lpVtbl->Reset(This)
  1998. #define IInkTransform_Translate(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Translate(This,HorizontalComponent,VerticalComponent)
  1999. #define IInkTransform_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y)
  2000. #define IInkTransform_Reflect(This,Horizontally,Vertically) (This)->lpVtbl->Reflect(This,Horizontally,Vertically)
  2001. #define IInkTransform_Shear(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Shear(This,HorizontalComponent,VerticalComponent)
  2002. #define IInkTransform_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier)
  2003. #define IInkTransform_GetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy) (This)->lpVtbl->GetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy)
  2004. #define IInkTransform_SetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy) (This)->lpVtbl->SetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy)
  2005. #define IInkTransform_get_eM11(This,Value) (This)->lpVtbl->get_eM11(This,Value)
  2006. #define IInkTransform_put_eM11(This,Value) (This)->lpVtbl->put_eM11(This,Value)
  2007. #define IInkTransform_get_eM12(This,Value) (This)->lpVtbl->get_eM12(This,Value)
  2008. #define IInkTransform_put_eM12(This,Value) (This)->lpVtbl->put_eM12(This,Value)
  2009. #define IInkTransform_get_eM21(This,Value) (This)->lpVtbl->get_eM21(This,Value)
  2010. #define IInkTransform_put_eM21(This,Value) (This)->lpVtbl->put_eM21(This,Value)
  2011. #define IInkTransform_get_eM22(This,Value) (This)->lpVtbl->get_eM22(This,Value)
  2012. #define IInkTransform_put_eM22(This,Value) (This)->lpVtbl->put_eM22(This,Value)
  2013. #define IInkTransform_get_eDx(This,Value) (This)->lpVtbl->get_eDx(This,Value)
  2014. #define IInkTransform_put_eDx(This,Value) (This)->lpVtbl->put_eDx(This,Value)
  2015. #define IInkTransform_get_eDy(This,Value) (This)->lpVtbl->get_eDy(This,Value)
  2016. #define IInkTransform_put_eDy(This,Value) (This)->lpVtbl->put_eDy(This,Value)
  2017. #define IInkTransform_get_Data(This,XForm) (This)->lpVtbl->get_Data(This,XForm)
  2018. #define IInkTransform_put_Data(This,XForm) (This)->lpVtbl->put_Data(This,XForm)
  2019. #else
  2020. /*** IUnknown methods ***/
  2021. static FORCEINLINE HRESULT IInkTransform_QueryInterface(IInkTransform* This,REFIID riid,void **ppvObject) {
  2022. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2023. }
  2024. static FORCEINLINE ULONG IInkTransform_AddRef(IInkTransform* This) {
  2025. return This->lpVtbl->AddRef(This);
  2026. }
  2027. static FORCEINLINE ULONG IInkTransform_Release(IInkTransform* This) {
  2028. return This->lpVtbl->Release(This);
  2029. }
  2030. /*** IDispatch methods ***/
  2031. static FORCEINLINE HRESULT IInkTransform_GetTypeInfoCount(IInkTransform* This,UINT *pctinfo) {
  2032. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2033. }
  2034. static FORCEINLINE HRESULT IInkTransform_GetTypeInfo(IInkTransform* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2035. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2036. }
  2037. static FORCEINLINE HRESULT IInkTransform_GetIDsOfNames(IInkTransform* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2038. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2039. }
  2040. static FORCEINLINE HRESULT IInkTransform_Invoke(IInkTransform* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2041. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2042. }
  2043. /*** IInkTransform methods ***/
  2044. static FORCEINLINE HRESULT IInkTransform_Reset(IInkTransform* This) {
  2045. return This->lpVtbl->Reset(This);
  2046. }
  2047. static FORCEINLINE HRESULT IInkTransform_Translate(IInkTransform* This,float HorizontalComponent,float VerticalComponent) {
  2048. return This->lpVtbl->Translate(This,HorizontalComponent,VerticalComponent);
  2049. }
  2050. static FORCEINLINE HRESULT IInkTransform_Rotate(IInkTransform* This,float Degrees,float x,float y) {
  2051. return This->lpVtbl->Rotate(This,Degrees,x,y);
  2052. }
  2053. static FORCEINLINE HRESULT IInkTransform_Reflect(IInkTransform* This,VARIANT_BOOL Horizontally,VARIANT_BOOL Vertically) {
  2054. return This->lpVtbl->Reflect(This,Horizontally,Vertically);
  2055. }
  2056. static FORCEINLINE HRESULT IInkTransform_Shear(IInkTransform* This,float HorizontalComponent,float VerticalComponent) {
  2057. return This->lpVtbl->Shear(This,HorizontalComponent,VerticalComponent);
  2058. }
  2059. static FORCEINLINE HRESULT IInkTransform_ScaleTransform(IInkTransform* This,float HorizontalMultiplier,float VerticalMultiplier) {
  2060. return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier);
  2061. }
  2062. static FORCEINLINE HRESULT IInkTransform_GetTransform(IInkTransform* This,float *eM11,float *eM12,float *eM21,float *eM22,float *eDx,float *eDy) {
  2063. return This->lpVtbl->GetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy);
  2064. }
  2065. static FORCEINLINE HRESULT IInkTransform_SetTransform(IInkTransform* This,float eM11,float eM12,float eM21,float eM22,float eDx,float eDy) {
  2066. return This->lpVtbl->SetTransform(This,eM11,eM12,eM21,eM22,eDx,eDy);
  2067. }
  2068. static FORCEINLINE HRESULT IInkTransform_get_eM11(IInkTransform* This,float *Value) {
  2069. return This->lpVtbl->get_eM11(This,Value);
  2070. }
  2071. static FORCEINLINE HRESULT IInkTransform_put_eM11(IInkTransform* This,float Value) {
  2072. return This->lpVtbl->put_eM11(This,Value);
  2073. }
  2074. static FORCEINLINE HRESULT IInkTransform_get_eM12(IInkTransform* This,float *Value) {
  2075. return This->lpVtbl->get_eM12(This,Value);
  2076. }
  2077. static FORCEINLINE HRESULT IInkTransform_put_eM12(IInkTransform* This,float Value) {
  2078. return This->lpVtbl->put_eM12(This,Value);
  2079. }
  2080. static FORCEINLINE HRESULT IInkTransform_get_eM21(IInkTransform* This,float *Value) {
  2081. return This->lpVtbl->get_eM21(This,Value);
  2082. }
  2083. static FORCEINLINE HRESULT IInkTransform_put_eM21(IInkTransform* This,float Value) {
  2084. return This->lpVtbl->put_eM21(This,Value);
  2085. }
  2086. static FORCEINLINE HRESULT IInkTransform_get_eM22(IInkTransform* This,float *Value) {
  2087. return This->lpVtbl->get_eM22(This,Value);
  2088. }
  2089. static FORCEINLINE HRESULT IInkTransform_put_eM22(IInkTransform* This,float Value) {
  2090. return This->lpVtbl->put_eM22(This,Value);
  2091. }
  2092. static FORCEINLINE HRESULT IInkTransform_get_eDx(IInkTransform* This,float *Value) {
  2093. return This->lpVtbl->get_eDx(This,Value);
  2094. }
  2095. static FORCEINLINE HRESULT IInkTransform_put_eDx(IInkTransform* This,float Value) {
  2096. return This->lpVtbl->put_eDx(This,Value);
  2097. }
  2098. static FORCEINLINE HRESULT IInkTransform_get_eDy(IInkTransform* This,float *Value) {
  2099. return This->lpVtbl->get_eDy(This,Value);
  2100. }
  2101. static FORCEINLINE HRESULT IInkTransform_put_eDy(IInkTransform* This,float Value) {
  2102. return This->lpVtbl->put_eDy(This,Value);
  2103. }
  2104. static FORCEINLINE HRESULT IInkTransform_get_Data(IInkTransform* This,XFORM *XForm) {
  2105. return This->lpVtbl->get_Data(This,XForm);
  2106. }
  2107. static FORCEINLINE HRESULT IInkTransform_put_Data(IInkTransform* This,XFORM XForm) {
  2108. return This->lpVtbl->put_Data(This,XForm);
  2109. }
  2110. #endif
  2111. #endif
  2112. #endif
  2113. #endif /* __IInkTransform_INTERFACE_DEFINED__ */
  2114. /*****************************************************************************
  2115. * IInkRecognitionAlternates interface
  2116. */
  2117. #ifndef __IInkRecognitionAlternates_INTERFACE_DEFINED__
  2118. #define __IInkRecognitionAlternates_INTERFACE_DEFINED__
  2119. DEFINE_GUID(IID_IInkRecognitionAlternates, 0x286a167f, 0x9f19, 0x4c61, 0x9d,0x53, 0x4f,0x07,0xbe,0x62,0x2b,0x84);
  2120. #if defined(__cplusplus) && !defined(CINTERFACE)
  2121. MIDL_INTERFACE("286a167f-9f19-4c61-9d53-4f07be622b84")
  2122. IInkRecognitionAlternates : public IDispatch
  2123. {
  2124. virtual HRESULT STDMETHODCALLTYPE get_Count(
  2125. LONG *Count) = 0;
  2126. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  2127. IUnknown **_NewEnum) = 0;
  2128. virtual HRESULT STDMETHODCALLTYPE get_Strokes(
  2129. IInkStrokes **Strokes) = 0;
  2130. virtual HRESULT STDMETHODCALLTYPE Item(
  2131. LONG Index,
  2132. IInkRecognitionAlternate **InkRecoAlternate) = 0;
  2133. };
  2134. #ifdef __CRT_UUID_DECL
  2135. __CRT_UUID_DECL(IInkRecognitionAlternates, 0x286a167f, 0x9f19, 0x4c61, 0x9d,0x53, 0x4f,0x07,0xbe,0x62,0x2b,0x84)
  2136. #endif
  2137. #else
  2138. typedef struct IInkRecognitionAlternatesVtbl {
  2139. BEGIN_INTERFACE
  2140. /*** IUnknown methods ***/
  2141. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2142. IInkRecognitionAlternates *This,
  2143. REFIID riid,
  2144. void **ppvObject);
  2145. ULONG (STDMETHODCALLTYPE *AddRef)(
  2146. IInkRecognitionAlternates *This);
  2147. ULONG (STDMETHODCALLTYPE *Release)(
  2148. IInkRecognitionAlternates *This);
  2149. /*** IDispatch methods ***/
  2150. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2151. IInkRecognitionAlternates *This,
  2152. UINT *pctinfo);
  2153. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2154. IInkRecognitionAlternates *This,
  2155. UINT iTInfo,
  2156. LCID lcid,
  2157. ITypeInfo **ppTInfo);
  2158. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2159. IInkRecognitionAlternates *This,
  2160. REFIID riid,
  2161. LPOLESTR *rgszNames,
  2162. UINT cNames,
  2163. LCID lcid,
  2164. DISPID *rgDispId);
  2165. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2166. IInkRecognitionAlternates *This,
  2167. DISPID dispIdMember,
  2168. REFIID riid,
  2169. LCID lcid,
  2170. WORD wFlags,
  2171. DISPPARAMS *pDispParams,
  2172. VARIANT *pVarResult,
  2173. EXCEPINFO *pExcepInfo,
  2174. UINT *puArgErr);
  2175. /*** IInkRecognitionAlternates methods ***/
  2176. HRESULT (STDMETHODCALLTYPE *get_Count)(
  2177. IInkRecognitionAlternates *This,
  2178. LONG *Count);
  2179. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  2180. IInkRecognitionAlternates *This,
  2181. IUnknown **_NewEnum);
  2182. HRESULT (STDMETHODCALLTYPE *get_Strokes)(
  2183. IInkRecognitionAlternates *This,
  2184. IInkStrokes **Strokes);
  2185. HRESULT (STDMETHODCALLTYPE *Item)(
  2186. IInkRecognitionAlternates *This,
  2187. LONG Index,
  2188. IInkRecognitionAlternate **InkRecoAlternate);
  2189. END_INTERFACE
  2190. } IInkRecognitionAlternatesVtbl;
  2191. interface IInkRecognitionAlternates {
  2192. CONST_VTBL IInkRecognitionAlternatesVtbl* lpVtbl;
  2193. };
  2194. #ifdef COBJMACROS
  2195. #ifndef WIDL_C_INLINE_WRAPPERS
  2196. /*** IUnknown methods ***/
  2197. #define IInkRecognitionAlternates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2198. #define IInkRecognitionAlternates_AddRef(This) (This)->lpVtbl->AddRef(This)
  2199. #define IInkRecognitionAlternates_Release(This) (This)->lpVtbl->Release(This)
  2200. /*** IDispatch methods ***/
  2201. #define IInkRecognitionAlternates_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2202. #define IInkRecognitionAlternates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2203. #define IInkRecognitionAlternates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2204. #define IInkRecognitionAlternates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2205. /*** IInkRecognitionAlternates methods ***/
  2206. #define IInkRecognitionAlternates_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  2207. #define IInkRecognitionAlternates_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
  2208. #define IInkRecognitionAlternates_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes)
  2209. #define IInkRecognitionAlternates_Item(This,Index,InkRecoAlternate) (This)->lpVtbl->Item(This,Index,InkRecoAlternate)
  2210. #else
  2211. /*** IUnknown methods ***/
  2212. static FORCEINLINE HRESULT IInkRecognitionAlternates_QueryInterface(IInkRecognitionAlternates* This,REFIID riid,void **ppvObject) {
  2213. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2214. }
  2215. static FORCEINLINE ULONG IInkRecognitionAlternates_AddRef(IInkRecognitionAlternates* This) {
  2216. return This->lpVtbl->AddRef(This);
  2217. }
  2218. static FORCEINLINE ULONG IInkRecognitionAlternates_Release(IInkRecognitionAlternates* This) {
  2219. return This->lpVtbl->Release(This);
  2220. }
  2221. /*** IDispatch methods ***/
  2222. static FORCEINLINE HRESULT IInkRecognitionAlternates_GetTypeInfoCount(IInkRecognitionAlternates* This,UINT *pctinfo) {
  2223. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2224. }
  2225. static FORCEINLINE HRESULT IInkRecognitionAlternates_GetTypeInfo(IInkRecognitionAlternates* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2226. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2227. }
  2228. static FORCEINLINE HRESULT IInkRecognitionAlternates_GetIDsOfNames(IInkRecognitionAlternates* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2229. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2230. }
  2231. static FORCEINLINE HRESULT IInkRecognitionAlternates_Invoke(IInkRecognitionAlternates* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2232. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2233. }
  2234. /*** IInkRecognitionAlternates methods ***/
  2235. static FORCEINLINE HRESULT IInkRecognitionAlternates_get_Count(IInkRecognitionAlternates* This,LONG *Count) {
  2236. return This->lpVtbl->get_Count(This,Count);
  2237. }
  2238. static FORCEINLINE HRESULT IInkRecognitionAlternates_get__NewEnum(IInkRecognitionAlternates* This,IUnknown **_NewEnum) {
  2239. return This->lpVtbl->get__NewEnum(This,_NewEnum);
  2240. }
  2241. static FORCEINLINE HRESULT IInkRecognitionAlternates_get_Strokes(IInkRecognitionAlternates* This,IInkStrokes **Strokes) {
  2242. return This->lpVtbl->get_Strokes(This,Strokes);
  2243. }
  2244. static FORCEINLINE HRESULT IInkRecognitionAlternates_Item(IInkRecognitionAlternates* This,LONG Index,IInkRecognitionAlternate **InkRecoAlternate) {
  2245. return This->lpVtbl->Item(This,Index,InkRecoAlternate);
  2246. }
  2247. #endif
  2248. #endif
  2249. #endif
  2250. #endif /* __IInkRecognitionAlternates_INTERFACE_DEFINED__ */
  2251. /*****************************************************************************
  2252. * IInkRecognitionAlternate interface
  2253. */
  2254. #ifndef __IInkRecognitionAlternate_INTERFACE_DEFINED__
  2255. #define __IInkRecognitionAlternate_INTERFACE_DEFINED__
  2256. DEFINE_GUID(IID_IInkRecognitionAlternate, 0xb7e660ad, 0x77e4, 0x429b, 0xad,0xda, 0x87,0x37,0x80,0xd1,0xfc,0x4a);
  2257. #if defined(__cplusplus) && !defined(CINTERFACE)
  2258. MIDL_INTERFACE("b7e660ad-77e4-429b-adda-873780d1fc4a")
  2259. IInkRecognitionAlternate : public IDispatch
  2260. {
  2261. virtual HRESULT STDMETHODCALLTYPE get_String(
  2262. BSTR *RecoString) = 0;
  2263. virtual HRESULT STDMETHODCALLTYPE get_Confidence(
  2264. InkRecognitionConfidence *Confidence) = 0;
  2265. virtual HRESULT STDMETHODCALLTYPE get_Baseline(
  2266. VARIANT *Baseline) = 0;
  2267. virtual HRESULT STDMETHODCALLTYPE get_Midline(
  2268. VARIANT *Midline) = 0;
  2269. virtual HRESULT STDMETHODCALLTYPE get_Ascender(
  2270. VARIANT *Ascender) = 0;
  2271. virtual HRESULT STDMETHODCALLTYPE get_Descender(
  2272. VARIANT *Descender) = 0;
  2273. virtual HRESULT STDMETHODCALLTYPE get_LineNumber(
  2274. LONG *LineNumber) = 0;
  2275. virtual HRESULT STDMETHODCALLTYPE get_Strokes(
  2276. IInkStrokes **Strokes) = 0;
  2277. virtual HRESULT STDMETHODCALLTYPE get_LineAlternates(
  2278. IInkRecognitionAlternates **LineAlternates) = 0;
  2279. virtual HRESULT STDMETHODCALLTYPE get_ConfidenceAlternates(
  2280. IInkRecognitionAlternates **ConfidenceAlternates) = 0;
  2281. virtual HRESULT STDMETHODCALLTYPE GetStrokesFromStrokeRanges(
  2282. IInkStrokes *Strokes,
  2283. IInkStrokes **GetStrokesFromStrokeRanges) = 0;
  2284. virtual HRESULT STDMETHODCALLTYPE GetStrokesFromTextRange(
  2285. LONG *selectionStart,
  2286. LONG *selectionLength,
  2287. IInkStrokes **GetStrokesFromTextRange) = 0;
  2288. virtual HRESULT STDMETHODCALLTYPE GetTextRangeFromStrokes(
  2289. IInkStrokes *Strokes,
  2290. LONG *selectionStart,
  2291. LONG *selectionLength) = 0;
  2292. virtual HRESULT STDMETHODCALLTYPE AlternatesWithConstantPropertyValues(
  2293. BSTR PropertyType,
  2294. IInkRecognitionAlternates **AlternatesWithConstantPropertyValues) = 0;
  2295. virtual HRESULT STDMETHODCALLTYPE GetPropertyValue(
  2296. BSTR PropertyType,
  2297. VARIANT *PropertyValue) = 0;
  2298. };
  2299. #ifdef __CRT_UUID_DECL
  2300. __CRT_UUID_DECL(IInkRecognitionAlternate, 0xb7e660ad, 0x77e4, 0x429b, 0xad,0xda, 0x87,0x37,0x80,0xd1,0xfc,0x4a)
  2301. #endif
  2302. #else
  2303. typedef struct IInkRecognitionAlternateVtbl {
  2304. BEGIN_INTERFACE
  2305. /*** IUnknown methods ***/
  2306. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2307. IInkRecognitionAlternate *This,
  2308. REFIID riid,
  2309. void **ppvObject);
  2310. ULONG (STDMETHODCALLTYPE *AddRef)(
  2311. IInkRecognitionAlternate *This);
  2312. ULONG (STDMETHODCALLTYPE *Release)(
  2313. IInkRecognitionAlternate *This);
  2314. /*** IDispatch methods ***/
  2315. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2316. IInkRecognitionAlternate *This,
  2317. UINT *pctinfo);
  2318. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2319. IInkRecognitionAlternate *This,
  2320. UINT iTInfo,
  2321. LCID lcid,
  2322. ITypeInfo **ppTInfo);
  2323. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2324. IInkRecognitionAlternate *This,
  2325. REFIID riid,
  2326. LPOLESTR *rgszNames,
  2327. UINT cNames,
  2328. LCID lcid,
  2329. DISPID *rgDispId);
  2330. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2331. IInkRecognitionAlternate *This,
  2332. DISPID dispIdMember,
  2333. REFIID riid,
  2334. LCID lcid,
  2335. WORD wFlags,
  2336. DISPPARAMS *pDispParams,
  2337. VARIANT *pVarResult,
  2338. EXCEPINFO *pExcepInfo,
  2339. UINT *puArgErr);
  2340. /*** IInkRecognitionAlternate methods ***/
  2341. HRESULT (STDMETHODCALLTYPE *get_String)(
  2342. IInkRecognitionAlternate *This,
  2343. BSTR *RecoString);
  2344. HRESULT (STDMETHODCALLTYPE *get_Confidence)(
  2345. IInkRecognitionAlternate *This,
  2346. InkRecognitionConfidence *Confidence);
  2347. HRESULT (STDMETHODCALLTYPE *get_Baseline)(
  2348. IInkRecognitionAlternate *This,
  2349. VARIANT *Baseline);
  2350. HRESULT (STDMETHODCALLTYPE *get_Midline)(
  2351. IInkRecognitionAlternate *This,
  2352. VARIANT *Midline);
  2353. HRESULT (STDMETHODCALLTYPE *get_Ascender)(
  2354. IInkRecognitionAlternate *This,
  2355. VARIANT *Ascender);
  2356. HRESULT (STDMETHODCALLTYPE *get_Descender)(
  2357. IInkRecognitionAlternate *This,
  2358. VARIANT *Descender);
  2359. HRESULT (STDMETHODCALLTYPE *get_LineNumber)(
  2360. IInkRecognitionAlternate *This,
  2361. LONG *LineNumber);
  2362. HRESULT (STDMETHODCALLTYPE *get_Strokes)(
  2363. IInkRecognitionAlternate *This,
  2364. IInkStrokes **Strokes);
  2365. HRESULT (STDMETHODCALLTYPE *get_LineAlternates)(
  2366. IInkRecognitionAlternate *This,
  2367. IInkRecognitionAlternates **LineAlternates);
  2368. HRESULT (STDMETHODCALLTYPE *get_ConfidenceAlternates)(
  2369. IInkRecognitionAlternate *This,
  2370. IInkRecognitionAlternates **ConfidenceAlternates);
  2371. HRESULT (STDMETHODCALLTYPE *GetStrokesFromStrokeRanges)(
  2372. IInkRecognitionAlternate *This,
  2373. IInkStrokes *Strokes,
  2374. IInkStrokes **GetStrokesFromStrokeRanges);
  2375. HRESULT (STDMETHODCALLTYPE *GetStrokesFromTextRange)(
  2376. IInkRecognitionAlternate *This,
  2377. LONG *selectionStart,
  2378. LONG *selectionLength,
  2379. IInkStrokes **GetStrokesFromTextRange);
  2380. HRESULT (STDMETHODCALLTYPE *GetTextRangeFromStrokes)(
  2381. IInkRecognitionAlternate *This,
  2382. IInkStrokes *Strokes,
  2383. LONG *selectionStart,
  2384. LONG *selectionLength);
  2385. HRESULT (STDMETHODCALLTYPE *AlternatesWithConstantPropertyValues)(
  2386. IInkRecognitionAlternate *This,
  2387. BSTR PropertyType,
  2388. IInkRecognitionAlternates **AlternatesWithConstantPropertyValues);
  2389. HRESULT (STDMETHODCALLTYPE *GetPropertyValue)(
  2390. IInkRecognitionAlternate *This,
  2391. BSTR PropertyType,
  2392. VARIANT *PropertyValue);
  2393. END_INTERFACE
  2394. } IInkRecognitionAlternateVtbl;
  2395. interface IInkRecognitionAlternate {
  2396. CONST_VTBL IInkRecognitionAlternateVtbl* lpVtbl;
  2397. };
  2398. #ifdef COBJMACROS
  2399. #ifndef WIDL_C_INLINE_WRAPPERS
  2400. /*** IUnknown methods ***/
  2401. #define IInkRecognitionAlternate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2402. #define IInkRecognitionAlternate_AddRef(This) (This)->lpVtbl->AddRef(This)
  2403. #define IInkRecognitionAlternate_Release(This) (This)->lpVtbl->Release(This)
  2404. /*** IDispatch methods ***/
  2405. #define IInkRecognitionAlternate_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2406. #define IInkRecognitionAlternate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2407. #define IInkRecognitionAlternate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2408. #define IInkRecognitionAlternate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2409. /*** IInkRecognitionAlternate methods ***/
  2410. #define IInkRecognitionAlternate_get_String(This,RecoString) (This)->lpVtbl->get_String(This,RecoString)
  2411. #define IInkRecognitionAlternate_get_Confidence(This,Confidence) (This)->lpVtbl->get_Confidence(This,Confidence)
  2412. #define IInkRecognitionAlternate_get_Baseline(This,Baseline) (This)->lpVtbl->get_Baseline(This,Baseline)
  2413. #define IInkRecognitionAlternate_get_Midline(This,Midline) (This)->lpVtbl->get_Midline(This,Midline)
  2414. #define IInkRecognitionAlternate_get_Ascender(This,Ascender) (This)->lpVtbl->get_Ascender(This,Ascender)
  2415. #define IInkRecognitionAlternate_get_Descender(This,Descender) (This)->lpVtbl->get_Descender(This,Descender)
  2416. #define IInkRecognitionAlternate_get_LineNumber(This,LineNumber) (This)->lpVtbl->get_LineNumber(This,LineNumber)
  2417. #define IInkRecognitionAlternate_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes)
  2418. #define IInkRecognitionAlternate_get_LineAlternates(This,LineAlternates) (This)->lpVtbl->get_LineAlternates(This,LineAlternates)
  2419. #define IInkRecognitionAlternate_get_ConfidenceAlternates(This,ConfidenceAlternates) (This)->lpVtbl->get_ConfidenceAlternates(This,ConfidenceAlternates)
  2420. #define IInkRecognitionAlternate_GetStrokesFromStrokeRanges(This,Strokes,GetStrokesFromStrokeRanges) (This)->lpVtbl->GetStrokesFromStrokeRanges(This,Strokes,GetStrokesFromStrokeRanges)
  2421. #define IInkRecognitionAlternate_GetStrokesFromTextRange(This,selectionStart,selectionLength,GetStrokesFromTextRange) (This)->lpVtbl->GetStrokesFromTextRange(This,selectionStart,selectionLength,GetStrokesFromTextRange)
  2422. #define IInkRecognitionAlternate_GetTextRangeFromStrokes(This,Strokes,selectionStart,selectionLength) (This)->lpVtbl->GetTextRangeFromStrokes(This,Strokes,selectionStart,selectionLength)
  2423. #define IInkRecognitionAlternate_AlternatesWithConstantPropertyValues(This,PropertyType,AlternatesWithConstantPropertyValues) (This)->lpVtbl->AlternatesWithConstantPropertyValues(This,PropertyType,AlternatesWithConstantPropertyValues)
  2424. #define IInkRecognitionAlternate_GetPropertyValue(This,PropertyType,PropertyValue) (This)->lpVtbl->GetPropertyValue(This,PropertyType,PropertyValue)
  2425. #else
  2426. /*** IUnknown methods ***/
  2427. static FORCEINLINE HRESULT IInkRecognitionAlternate_QueryInterface(IInkRecognitionAlternate* This,REFIID riid,void **ppvObject) {
  2428. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2429. }
  2430. static FORCEINLINE ULONG IInkRecognitionAlternate_AddRef(IInkRecognitionAlternate* This) {
  2431. return This->lpVtbl->AddRef(This);
  2432. }
  2433. static FORCEINLINE ULONG IInkRecognitionAlternate_Release(IInkRecognitionAlternate* This) {
  2434. return This->lpVtbl->Release(This);
  2435. }
  2436. /*** IDispatch methods ***/
  2437. static FORCEINLINE HRESULT IInkRecognitionAlternate_GetTypeInfoCount(IInkRecognitionAlternate* This,UINT *pctinfo) {
  2438. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2439. }
  2440. static FORCEINLINE HRESULT IInkRecognitionAlternate_GetTypeInfo(IInkRecognitionAlternate* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2441. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2442. }
  2443. static FORCEINLINE HRESULT IInkRecognitionAlternate_GetIDsOfNames(IInkRecognitionAlternate* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2444. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2445. }
  2446. static FORCEINLINE HRESULT IInkRecognitionAlternate_Invoke(IInkRecognitionAlternate* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2447. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2448. }
  2449. /*** IInkRecognitionAlternate methods ***/
  2450. static FORCEINLINE HRESULT IInkRecognitionAlternate_get_String(IInkRecognitionAlternate* This,BSTR *RecoString) {
  2451. return This->lpVtbl->get_String(This,RecoString);
  2452. }
  2453. static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Confidence(IInkRecognitionAlternate* This,InkRecognitionConfidence *Confidence) {
  2454. return This->lpVtbl->get_Confidence(This,Confidence);
  2455. }
  2456. static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Baseline(IInkRecognitionAlternate* This,VARIANT *Baseline) {
  2457. return This->lpVtbl->get_Baseline(This,Baseline);
  2458. }
  2459. static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Midline(IInkRecognitionAlternate* This,VARIANT *Midline) {
  2460. return This->lpVtbl->get_Midline(This,Midline);
  2461. }
  2462. static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Ascender(IInkRecognitionAlternate* This,VARIANT *Ascender) {
  2463. return This->lpVtbl->get_Ascender(This,Ascender);
  2464. }
  2465. static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Descender(IInkRecognitionAlternate* This,VARIANT *Descender) {
  2466. return This->lpVtbl->get_Descender(This,Descender);
  2467. }
  2468. static FORCEINLINE HRESULT IInkRecognitionAlternate_get_LineNumber(IInkRecognitionAlternate* This,LONG *LineNumber) {
  2469. return This->lpVtbl->get_LineNumber(This,LineNumber);
  2470. }
  2471. static FORCEINLINE HRESULT IInkRecognitionAlternate_get_Strokes(IInkRecognitionAlternate* This,IInkStrokes **Strokes) {
  2472. return This->lpVtbl->get_Strokes(This,Strokes);
  2473. }
  2474. static FORCEINLINE HRESULT IInkRecognitionAlternate_get_LineAlternates(IInkRecognitionAlternate* This,IInkRecognitionAlternates **LineAlternates) {
  2475. return This->lpVtbl->get_LineAlternates(This,LineAlternates);
  2476. }
  2477. static FORCEINLINE HRESULT IInkRecognitionAlternate_get_ConfidenceAlternates(IInkRecognitionAlternate* This,IInkRecognitionAlternates **ConfidenceAlternates) {
  2478. return This->lpVtbl->get_ConfidenceAlternates(This,ConfidenceAlternates);
  2479. }
  2480. static FORCEINLINE HRESULT IInkRecognitionAlternate_GetStrokesFromStrokeRanges(IInkRecognitionAlternate* This,IInkStrokes *Strokes,IInkStrokes **GetStrokesFromStrokeRanges) {
  2481. return This->lpVtbl->GetStrokesFromStrokeRanges(This,Strokes,GetStrokesFromStrokeRanges);
  2482. }
  2483. static FORCEINLINE HRESULT IInkRecognitionAlternate_GetStrokesFromTextRange(IInkRecognitionAlternate* This,LONG *selectionStart,LONG *selectionLength,IInkStrokes **GetStrokesFromTextRange) {
  2484. return This->lpVtbl->GetStrokesFromTextRange(This,selectionStart,selectionLength,GetStrokesFromTextRange);
  2485. }
  2486. static FORCEINLINE HRESULT IInkRecognitionAlternate_GetTextRangeFromStrokes(IInkRecognitionAlternate* This,IInkStrokes *Strokes,LONG *selectionStart,LONG *selectionLength) {
  2487. return This->lpVtbl->GetTextRangeFromStrokes(This,Strokes,selectionStart,selectionLength);
  2488. }
  2489. static FORCEINLINE HRESULT IInkRecognitionAlternate_AlternatesWithConstantPropertyValues(IInkRecognitionAlternate* This,BSTR PropertyType,IInkRecognitionAlternates **AlternatesWithConstantPropertyValues) {
  2490. return This->lpVtbl->AlternatesWithConstantPropertyValues(This,PropertyType,AlternatesWithConstantPropertyValues);
  2491. }
  2492. static FORCEINLINE HRESULT IInkRecognitionAlternate_GetPropertyValue(IInkRecognitionAlternate* This,BSTR PropertyType,VARIANT *PropertyValue) {
  2493. return This->lpVtbl->GetPropertyValue(This,PropertyType,PropertyValue);
  2494. }
  2495. #endif
  2496. #endif
  2497. #endif
  2498. #endif /* __IInkRecognitionAlternate_INTERFACE_DEFINED__ */
  2499. /*****************************************************************************
  2500. * IInkRecognitionResult interface
  2501. */
  2502. #ifndef __IInkRecognitionResult_INTERFACE_DEFINED__
  2503. #define __IInkRecognitionResult_INTERFACE_DEFINED__
  2504. DEFINE_GUID(IID_IInkRecognitionResult, 0x3bc129a8, 0x86cd, 0x45ad, 0xbd,0xe8, 0xe0,0xd3,0x2d,0x61,0xc1,0x6d);
  2505. #if defined(__cplusplus) && !defined(CINTERFACE)
  2506. MIDL_INTERFACE("3bc129a8-86cd-45ad-bde8-e0d32d61c16d")
  2507. IInkRecognitionResult : public IDispatch
  2508. {
  2509. virtual HRESULT STDMETHODCALLTYPE get_TopString(
  2510. BSTR *TopString) = 0;
  2511. virtual HRESULT STDMETHODCALLTYPE get_TopAlternate(
  2512. IInkRecognitionAlternate **TopAlternate) = 0;
  2513. virtual HRESULT STDMETHODCALLTYPE get_TopConfidence(
  2514. InkRecognitionConfidence *TopConfidence) = 0;
  2515. virtual HRESULT STDMETHODCALLTYPE get_Strokes(
  2516. IInkStrokes **Strokes) = 0;
  2517. virtual HRESULT STDMETHODCALLTYPE AlternatesFromSelection(
  2518. LONG selectionStart,
  2519. LONG selectionLength,
  2520. LONG maximumAlternates,
  2521. IInkRecognitionAlternates **AlternatesFromSelection) = 0;
  2522. virtual HRESULT STDMETHODCALLTYPE ModifyTopAlternate(
  2523. IInkRecognitionAlternate *Alternate) = 0;
  2524. virtual HRESULT STDMETHODCALLTYPE SetResultOnStrokes(
  2525. ) = 0;
  2526. };
  2527. #ifdef __CRT_UUID_DECL
  2528. __CRT_UUID_DECL(IInkRecognitionResult, 0x3bc129a8, 0x86cd, 0x45ad, 0xbd,0xe8, 0xe0,0xd3,0x2d,0x61,0xc1,0x6d)
  2529. #endif
  2530. #else
  2531. typedef struct IInkRecognitionResultVtbl {
  2532. BEGIN_INTERFACE
  2533. /*** IUnknown methods ***/
  2534. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2535. IInkRecognitionResult *This,
  2536. REFIID riid,
  2537. void **ppvObject);
  2538. ULONG (STDMETHODCALLTYPE *AddRef)(
  2539. IInkRecognitionResult *This);
  2540. ULONG (STDMETHODCALLTYPE *Release)(
  2541. IInkRecognitionResult *This);
  2542. /*** IDispatch methods ***/
  2543. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2544. IInkRecognitionResult *This,
  2545. UINT *pctinfo);
  2546. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2547. IInkRecognitionResult *This,
  2548. UINT iTInfo,
  2549. LCID lcid,
  2550. ITypeInfo **ppTInfo);
  2551. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2552. IInkRecognitionResult *This,
  2553. REFIID riid,
  2554. LPOLESTR *rgszNames,
  2555. UINT cNames,
  2556. LCID lcid,
  2557. DISPID *rgDispId);
  2558. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2559. IInkRecognitionResult *This,
  2560. DISPID dispIdMember,
  2561. REFIID riid,
  2562. LCID lcid,
  2563. WORD wFlags,
  2564. DISPPARAMS *pDispParams,
  2565. VARIANT *pVarResult,
  2566. EXCEPINFO *pExcepInfo,
  2567. UINT *puArgErr);
  2568. /*** IInkRecognitionResult methods ***/
  2569. HRESULT (STDMETHODCALLTYPE *get_TopString)(
  2570. IInkRecognitionResult *This,
  2571. BSTR *TopString);
  2572. HRESULT (STDMETHODCALLTYPE *get_TopAlternate)(
  2573. IInkRecognitionResult *This,
  2574. IInkRecognitionAlternate **TopAlternate);
  2575. HRESULT (STDMETHODCALLTYPE *get_TopConfidence)(
  2576. IInkRecognitionResult *This,
  2577. InkRecognitionConfidence *TopConfidence);
  2578. HRESULT (STDMETHODCALLTYPE *get_Strokes)(
  2579. IInkRecognitionResult *This,
  2580. IInkStrokes **Strokes);
  2581. HRESULT (STDMETHODCALLTYPE *AlternatesFromSelection)(
  2582. IInkRecognitionResult *This,
  2583. LONG selectionStart,
  2584. LONG selectionLength,
  2585. LONG maximumAlternates,
  2586. IInkRecognitionAlternates **AlternatesFromSelection);
  2587. HRESULT (STDMETHODCALLTYPE *ModifyTopAlternate)(
  2588. IInkRecognitionResult *This,
  2589. IInkRecognitionAlternate *Alternate);
  2590. HRESULT (STDMETHODCALLTYPE *SetResultOnStrokes)(
  2591. IInkRecognitionResult *This);
  2592. END_INTERFACE
  2593. } IInkRecognitionResultVtbl;
  2594. interface IInkRecognitionResult {
  2595. CONST_VTBL IInkRecognitionResultVtbl* lpVtbl;
  2596. };
  2597. #ifdef COBJMACROS
  2598. #ifndef WIDL_C_INLINE_WRAPPERS
  2599. /*** IUnknown methods ***/
  2600. #define IInkRecognitionResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2601. #define IInkRecognitionResult_AddRef(This) (This)->lpVtbl->AddRef(This)
  2602. #define IInkRecognitionResult_Release(This) (This)->lpVtbl->Release(This)
  2603. /*** IDispatch methods ***/
  2604. #define IInkRecognitionResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2605. #define IInkRecognitionResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2606. #define IInkRecognitionResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2607. #define IInkRecognitionResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2608. /*** IInkRecognitionResult methods ***/
  2609. #define IInkRecognitionResult_get_TopString(This,TopString) (This)->lpVtbl->get_TopString(This,TopString)
  2610. #define IInkRecognitionResult_get_TopAlternate(This,TopAlternate) (This)->lpVtbl->get_TopAlternate(This,TopAlternate)
  2611. #define IInkRecognitionResult_get_TopConfidence(This,TopConfidence) (This)->lpVtbl->get_TopConfidence(This,TopConfidence)
  2612. #define IInkRecognitionResult_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes)
  2613. #define IInkRecognitionResult_AlternatesFromSelection(This,selectionStart,selectionLength,maximumAlternates,AlternatesFromSelection) (This)->lpVtbl->AlternatesFromSelection(This,selectionStart,selectionLength,maximumAlternates,AlternatesFromSelection)
  2614. #define IInkRecognitionResult_ModifyTopAlternate(This,Alternate) (This)->lpVtbl->ModifyTopAlternate(This,Alternate)
  2615. #define IInkRecognitionResult_SetResultOnStrokes(This) (This)->lpVtbl->SetResultOnStrokes(This)
  2616. #else
  2617. /*** IUnknown methods ***/
  2618. static FORCEINLINE HRESULT IInkRecognitionResult_QueryInterface(IInkRecognitionResult* This,REFIID riid,void **ppvObject) {
  2619. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2620. }
  2621. static FORCEINLINE ULONG IInkRecognitionResult_AddRef(IInkRecognitionResult* This) {
  2622. return This->lpVtbl->AddRef(This);
  2623. }
  2624. static FORCEINLINE ULONG IInkRecognitionResult_Release(IInkRecognitionResult* This) {
  2625. return This->lpVtbl->Release(This);
  2626. }
  2627. /*** IDispatch methods ***/
  2628. static FORCEINLINE HRESULT IInkRecognitionResult_GetTypeInfoCount(IInkRecognitionResult* This,UINT *pctinfo) {
  2629. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  2630. }
  2631. static FORCEINLINE HRESULT IInkRecognitionResult_GetTypeInfo(IInkRecognitionResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  2632. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  2633. }
  2634. static FORCEINLINE HRESULT IInkRecognitionResult_GetIDsOfNames(IInkRecognitionResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  2635. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  2636. }
  2637. static FORCEINLINE HRESULT IInkRecognitionResult_Invoke(IInkRecognitionResult* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  2638. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  2639. }
  2640. /*** IInkRecognitionResult methods ***/
  2641. static FORCEINLINE HRESULT IInkRecognitionResult_get_TopString(IInkRecognitionResult* This,BSTR *TopString) {
  2642. return This->lpVtbl->get_TopString(This,TopString);
  2643. }
  2644. static FORCEINLINE HRESULT IInkRecognitionResult_get_TopAlternate(IInkRecognitionResult* This,IInkRecognitionAlternate **TopAlternate) {
  2645. return This->lpVtbl->get_TopAlternate(This,TopAlternate);
  2646. }
  2647. static FORCEINLINE HRESULT IInkRecognitionResult_get_TopConfidence(IInkRecognitionResult* This,InkRecognitionConfidence *TopConfidence) {
  2648. return This->lpVtbl->get_TopConfidence(This,TopConfidence);
  2649. }
  2650. static FORCEINLINE HRESULT IInkRecognitionResult_get_Strokes(IInkRecognitionResult* This,IInkStrokes **Strokes) {
  2651. return This->lpVtbl->get_Strokes(This,Strokes);
  2652. }
  2653. static FORCEINLINE HRESULT IInkRecognitionResult_AlternatesFromSelection(IInkRecognitionResult* This,LONG selectionStart,LONG selectionLength,LONG maximumAlternates,IInkRecognitionAlternates **AlternatesFromSelection) {
  2654. return This->lpVtbl->AlternatesFromSelection(This,selectionStart,selectionLength,maximumAlternates,AlternatesFromSelection);
  2655. }
  2656. static FORCEINLINE HRESULT IInkRecognitionResult_ModifyTopAlternate(IInkRecognitionResult* This,IInkRecognitionAlternate *Alternate) {
  2657. return This->lpVtbl->ModifyTopAlternate(This,Alternate);
  2658. }
  2659. static FORCEINLINE HRESULT IInkRecognitionResult_SetResultOnStrokes(IInkRecognitionResult* This) {
  2660. return This->lpVtbl->SetResultOnStrokes(This);
  2661. }
  2662. #endif
  2663. #endif
  2664. #endif
  2665. #endif /* __IInkRecognitionResult_INTERFACE_DEFINED__ */
  2666. /*****************************************************************************
  2667. * IInkStrokeDisp interface
  2668. */
  2669. #ifndef __IInkStrokeDisp_INTERFACE_DEFINED__
  2670. #define __IInkStrokeDisp_INTERFACE_DEFINED__
  2671. DEFINE_GUID(IID_IInkStrokeDisp, 0x43242fea, 0x91d1, 0x4a72, 0x96,0x3e, 0xfb,0xb9,0x18,0x29,0xcf,0xa2);
  2672. #if defined(__cplusplus) && !defined(CINTERFACE)
  2673. MIDL_INTERFACE("43242fea-91d1-4a72-963e-fbb91829cfa2")
  2674. IInkStrokeDisp : public IDispatch
  2675. {
  2676. virtual HRESULT STDMETHODCALLTYPE get_ID(
  2677. LONG *ID) = 0;
  2678. virtual HRESULT STDMETHODCALLTYPE get_BezierPoints(
  2679. VARIANT *Points) = 0;
  2680. virtual HRESULT STDMETHODCALLTYPE get_DrawingAttributes(
  2681. IInkDrawingAttributes **DrawAttrs) = 0;
  2682. virtual HRESULT STDMETHODCALLTYPE putref_DrawingAttributes(
  2683. IInkDrawingAttributes *DrawAttrs) = 0;
  2684. virtual HRESULT STDMETHODCALLTYPE get_Ink(
  2685. IInkDisp **Ink) = 0;
  2686. virtual HRESULT STDMETHODCALLTYPE get_ExtendedProperties(
  2687. IInkExtendedProperties **Properties) = 0;
  2688. virtual HRESULT STDMETHODCALLTYPE get_PolylineCusps(
  2689. VARIANT *Cusps) = 0;
  2690. virtual HRESULT STDMETHODCALLTYPE get_BezierCusps(
  2691. VARIANT *Cusps) = 0;
  2692. virtual HRESULT STDMETHODCALLTYPE get_SelfIntersections(
  2693. VARIANT *Intersections) = 0;
  2694. virtual HRESULT STDMETHODCALLTYPE get_PacketCount(
  2695. LONG *plCount) = 0;
  2696. virtual HRESULT STDMETHODCALLTYPE get_PacketSize(
  2697. LONG *plSize) = 0;
  2698. virtual HRESULT STDMETHODCALLTYPE get_PacketDescription(
  2699. VARIANT *PacketDescription) = 0;
  2700. virtual HRESULT STDMETHODCALLTYPE get_Deleted(
  2701. VARIANT_BOOL *Deleted) = 0;
  2702. virtual HRESULT STDMETHODCALLTYPE GetBoundingBox(
  2703. InkBoundingBoxMode BoundingBoxMode,
  2704. IInkRectangle **Rectangle) = 0;
  2705. virtual HRESULT STDMETHODCALLTYPE FindIntersections(
  2706. IInkStrokes *Strokes,
  2707. VARIANT *Intersections) = 0;
  2708. virtual HRESULT STDMETHODCALLTYPE GetRectangleIntersections(
  2709. IInkRectangle *Rectangle,
  2710. VARIANT *Intersections) = 0;
  2711. virtual HRESULT STDMETHODCALLTYPE Clip(
  2712. IInkRectangle *Rectangle) = 0;
  2713. virtual HRESULT STDMETHODCALLTYPE HitTestCircle(
  2714. LONG X,
  2715. LONG Y,
  2716. float Radius,
  2717. VARIANT_BOOL *Intersects) = 0;
  2718. virtual HRESULT STDMETHODCALLTYPE NearestPoint(
  2719. LONG X,
  2720. LONG Y,
  2721. float *Distance,
  2722. float *Point) = 0;
  2723. virtual HRESULT STDMETHODCALLTYPE Split(
  2724. float SplitAt,
  2725. IInkStrokeDisp **NewStroke) = 0;
  2726. virtual HRESULT STDMETHODCALLTYPE GetPacketDescriptionPropertyMetrics(
  2727. BSTR PropertyName,
  2728. LONG *Minimum,
  2729. LONG *Maximum,
  2730. TabletPropertyMetricUnit *Units,
  2731. float *Resolution) = 0;
  2732. virtual HRESULT STDMETHODCALLTYPE GetPoints(
  2733. LONG Index,
  2734. LONG Count,
  2735. VARIANT *Points) = 0;
  2736. virtual HRESULT STDMETHODCALLTYPE SetPoints(
  2737. VARIANT Points,
  2738. LONG Index,
  2739. LONG Count,
  2740. LONG *NumberOfPointsSet) = 0;
  2741. virtual HRESULT STDMETHODCALLTYPE GetPacketData(
  2742. LONG Index,
  2743. LONG Count,
  2744. VARIANT *PacketData) = 0;
  2745. virtual HRESULT STDMETHODCALLTYPE GetPacketValuesByProperty(
  2746. BSTR PropertyName,
  2747. LONG Index,
  2748. LONG Count,
  2749. VARIANT *PacketValues) = 0;
  2750. virtual HRESULT STDMETHODCALLTYPE SetPacketValuesByProperty(
  2751. BSTR bstrPropertyName,
  2752. VARIANT PacketValues,
  2753. LONG Index,
  2754. LONG Count,
  2755. LONG *NumberOfPacketsSet) = 0;
  2756. virtual HRESULT STDMETHODCALLTYPE GetFlattenedBezierPoints(
  2757. LONG FittingError,
  2758. VARIANT *FlattenedBezierPoints) = 0;
  2759. virtual HRESULT STDMETHODCALLTYPE Transform(
  2760. IInkTransform *Transform,
  2761. VARIANT_BOOL ApplyOnPenWidth = 0) = 0;
  2762. virtual HRESULT STDMETHODCALLTYPE ScaleToRectangle(
  2763. IInkRectangle *Rectangle) = 0;
  2764. virtual HRESULT STDMETHODCALLTYPE Move(
  2765. float HorizontalComponent,
  2766. float VerticalComponent) = 0;
  2767. virtual HRESULT STDMETHODCALLTYPE Rotate(
  2768. float Degrees,
  2769. float x = 0,
  2770. float y = 0) = 0;
  2771. virtual HRESULT STDMETHODCALLTYPE Shear(
  2772. float HorizontalMultiplier,
  2773. float VerticalMultiplier) = 0;
  2774. virtual HRESULT STDMETHODCALLTYPE ScaleTransform(
  2775. float HorizontalMultiplier,
  2776. float VerticalMultiplier) = 0;
  2777. };
  2778. #ifdef __CRT_UUID_DECL
  2779. __CRT_UUID_DECL(IInkStrokeDisp, 0x43242fea, 0x91d1, 0x4a72, 0x96,0x3e, 0xfb,0xb9,0x18,0x29,0xcf,0xa2)
  2780. #endif
  2781. #else
  2782. typedef struct IInkStrokeDispVtbl {
  2783. BEGIN_INTERFACE
  2784. /*** IUnknown methods ***/
  2785. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2786. IInkStrokeDisp *This,
  2787. REFIID riid,
  2788. void **ppvObject);
  2789. ULONG (STDMETHODCALLTYPE *AddRef)(
  2790. IInkStrokeDisp *This);
  2791. ULONG (STDMETHODCALLTYPE *Release)(
  2792. IInkStrokeDisp *This);
  2793. /*** IDispatch methods ***/
  2794. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  2795. IInkStrokeDisp *This,
  2796. UINT *pctinfo);
  2797. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  2798. IInkStrokeDisp *This,
  2799. UINT iTInfo,
  2800. LCID lcid,
  2801. ITypeInfo **ppTInfo);
  2802. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  2803. IInkStrokeDisp *This,
  2804. REFIID riid,
  2805. LPOLESTR *rgszNames,
  2806. UINT cNames,
  2807. LCID lcid,
  2808. DISPID *rgDispId);
  2809. HRESULT (STDMETHODCALLTYPE *Invoke)(
  2810. IInkStrokeDisp *This,
  2811. DISPID dispIdMember,
  2812. REFIID riid,
  2813. LCID lcid,
  2814. WORD wFlags,
  2815. DISPPARAMS *pDispParams,
  2816. VARIANT *pVarResult,
  2817. EXCEPINFO *pExcepInfo,
  2818. UINT *puArgErr);
  2819. /*** IInkStrokeDisp methods ***/
  2820. HRESULT (STDMETHODCALLTYPE *get_ID)(
  2821. IInkStrokeDisp *This,
  2822. LONG *ID);
  2823. HRESULT (STDMETHODCALLTYPE *get_BezierPoints)(
  2824. IInkStrokeDisp *This,
  2825. VARIANT *Points);
  2826. HRESULT (STDMETHODCALLTYPE *get_DrawingAttributes)(
  2827. IInkStrokeDisp *This,
  2828. IInkDrawingAttributes **DrawAttrs);
  2829. HRESULT (STDMETHODCALLTYPE *putref_DrawingAttributes)(
  2830. IInkStrokeDisp *This,
  2831. IInkDrawingAttributes *DrawAttrs);
  2832. HRESULT (STDMETHODCALLTYPE *get_Ink)(
  2833. IInkStrokeDisp *This,
  2834. IInkDisp **Ink);
  2835. HRESULT (STDMETHODCALLTYPE *get_ExtendedProperties)(
  2836. IInkStrokeDisp *This,
  2837. IInkExtendedProperties **Properties);
  2838. HRESULT (STDMETHODCALLTYPE *get_PolylineCusps)(
  2839. IInkStrokeDisp *This,
  2840. VARIANT *Cusps);
  2841. HRESULT (STDMETHODCALLTYPE *get_BezierCusps)(
  2842. IInkStrokeDisp *This,
  2843. VARIANT *Cusps);
  2844. HRESULT (STDMETHODCALLTYPE *get_SelfIntersections)(
  2845. IInkStrokeDisp *This,
  2846. VARIANT *Intersections);
  2847. HRESULT (STDMETHODCALLTYPE *get_PacketCount)(
  2848. IInkStrokeDisp *This,
  2849. LONG *plCount);
  2850. HRESULT (STDMETHODCALLTYPE *get_PacketSize)(
  2851. IInkStrokeDisp *This,
  2852. LONG *plSize);
  2853. HRESULT (STDMETHODCALLTYPE *get_PacketDescription)(
  2854. IInkStrokeDisp *This,
  2855. VARIANT *PacketDescription);
  2856. HRESULT (STDMETHODCALLTYPE *get_Deleted)(
  2857. IInkStrokeDisp *This,
  2858. VARIANT_BOOL *Deleted);
  2859. HRESULT (STDMETHODCALLTYPE *GetBoundingBox)(
  2860. IInkStrokeDisp *This,
  2861. InkBoundingBoxMode BoundingBoxMode,
  2862. IInkRectangle **Rectangle);
  2863. HRESULT (STDMETHODCALLTYPE *FindIntersections)(
  2864. IInkStrokeDisp *This,
  2865. IInkStrokes *Strokes,
  2866. VARIANT *Intersections);
  2867. HRESULT (STDMETHODCALLTYPE *GetRectangleIntersections)(
  2868. IInkStrokeDisp *This,
  2869. IInkRectangle *Rectangle,
  2870. VARIANT *Intersections);
  2871. HRESULT (STDMETHODCALLTYPE *Clip)(
  2872. IInkStrokeDisp *This,
  2873. IInkRectangle *Rectangle);
  2874. HRESULT (STDMETHODCALLTYPE *HitTestCircle)(
  2875. IInkStrokeDisp *This,
  2876. LONG X,
  2877. LONG Y,
  2878. float Radius,
  2879. VARIANT_BOOL *Intersects);
  2880. HRESULT (STDMETHODCALLTYPE *NearestPoint)(
  2881. IInkStrokeDisp *This,
  2882. LONG X,
  2883. LONG Y,
  2884. float *Distance,
  2885. float *Point);
  2886. HRESULT (STDMETHODCALLTYPE *Split)(
  2887. IInkStrokeDisp *This,
  2888. float SplitAt,
  2889. IInkStrokeDisp **NewStroke);
  2890. HRESULT (STDMETHODCALLTYPE *GetPacketDescriptionPropertyMetrics)(
  2891. IInkStrokeDisp *This,
  2892. BSTR PropertyName,
  2893. LONG *Minimum,
  2894. LONG *Maximum,
  2895. TabletPropertyMetricUnit *Units,
  2896. float *Resolution);
  2897. HRESULT (STDMETHODCALLTYPE *GetPoints)(
  2898. IInkStrokeDisp *This,
  2899. LONG Index,
  2900. LONG Count,
  2901. VARIANT *Points);
  2902. HRESULT (STDMETHODCALLTYPE *SetPoints)(
  2903. IInkStrokeDisp *This,
  2904. VARIANT Points,
  2905. LONG Index,
  2906. LONG Count,
  2907. LONG *NumberOfPointsSet);
  2908. HRESULT (STDMETHODCALLTYPE *GetPacketData)(
  2909. IInkStrokeDisp *This,
  2910. LONG Index,
  2911. LONG Count,
  2912. VARIANT *PacketData);
  2913. HRESULT (STDMETHODCALLTYPE *GetPacketValuesByProperty)(
  2914. IInkStrokeDisp *This,
  2915. BSTR PropertyName,
  2916. LONG Index,
  2917. LONG Count,
  2918. VARIANT *PacketValues);
  2919. HRESULT (STDMETHODCALLTYPE *SetPacketValuesByProperty)(
  2920. IInkStrokeDisp *This,
  2921. BSTR bstrPropertyName,
  2922. VARIANT PacketValues,
  2923. LONG Index,
  2924. LONG Count,
  2925. LONG *NumberOfPacketsSet);
  2926. HRESULT (STDMETHODCALLTYPE *GetFlattenedBezierPoints)(
  2927. IInkStrokeDisp *This,
  2928. LONG FittingError,
  2929. VARIANT *FlattenedBezierPoints);
  2930. HRESULT (STDMETHODCALLTYPE *Transform)(
  2931. IInkStrokeDisp *This,
  2932. IInkTransform *Transform,
  2933. VARIANT_BOOL ApplyOnPenWidth);
  2934. HRESULT (STDMETHODCALLTYPE *ScaleToRectangle)(
  2935. IInkStrokeDisp *This,
  2936. IInkRectangle *Rectangle);
  2937. HRESULT (STDMETHODCALLTYPE *Move)(
  2938. IInkStrokeDisp *This,
  2939. float HorizontalComponent,
  2940. float VerticalComponent);
  2941. HRESULT (STDMETHODCALLTYPE *Rotate)(
  2942. IInkStrokeDisp *This,
  2943. float Degrees,
  2944. float x,
  2945. float y);
  2946. HRESULT (STDMETHODCALLTYPE *Shear)(
  2947. IInkStrokeDisp *This,
  2948. float HorizontalMultiplier,
  2949. float VerticalMultiplier);
  2950. HRESULT (STDMETHODCALLTYPE *ScaleTransform)(
  2951. IInkStrokeDisp *This,
  2952. float HorizontalMultiplier,
  2953. float VerticalMultiplier);
  2954. END_INTERFACE
  2955. } IInkStrokeDispVtbl;
  2956. interface IInkStrokeDisp {
  2957. CONST_VTBL IInkStrokeDispVtbl* lpVtbl;
  2958. };
  2959. #ifdef COBJMACROS
  2960. #ifndef WIDL_C_INLINE_WRAPPERS
  2961. /*** IUnknown methods ***/
  2962. #define IInkStrokeDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2963. #define IInkStrokeDisp_AddRef(This) (This)->lpVtbl->AddRef(This)
  2964. #define IInkStrokeDisp_Release(This) (This)->lpVtbl->Release(This)
  2965. /*** IDispatch methods ***/
  2966. #define IInkStrokeDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  2967. #define IInkStrokeDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2968. #define IInkStrokeDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2969. #define IInkStrokeDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2970. /*** IInkStrokeDisp methods ***/
  2971. #define IInkStrokeDisp_get_ID(This,ID) (This)->lpVtbl->get_ID(This,ID)
  2972. #define IInkStrokeDisp_get_BezierPoints(This,Points) (This)->lpVtbl->get_BezierPoints(This,Points)
  2973. #define IInkStrokeDisp_get_DrawingAttributes(This,DrawAttrs) (This)->lpVtbl->get_DrawingAttributes(This,DrawAttrs)
  2974. #define IInkStrokeDisp_putref_DrawingAttributes(This,DrawAttrs) (This)->lpVtbl->putref_DrawingAttributes(This,DrawAttrs)
  2975. #define IInkStrokeDisp_get_Ink(This,Ink) (This)->lpVtbl->get_Ink(This,Ink)
  2976. #define IInkStrokeDisp_get_ExtendedProperties(This,Properties) (This)->lpVtbl->get_ExtendedProperties(This,Properties)
  2977. #define IInkStrokeDisp_get_PolylineCusps(This,Cusps) (This)->lpVtbl->get_PolylineCusps(This,Cusps)
  2978. #define IInkStrokeDisp_get_BezierCusps(This,Cusps) (This)->lpVtbl->get_BezierCusps(This,Cusps)
  2979. #define IInkStrokeDisp_get_SelfIntersections(This,Intersections) (This)->lpVtbl->get_SelfIntersections(This,Intersections)
  2980. #define IInkStrokeDisp_get_PacketCount(This,plCount) (This)->lpVtbl->get_PacketCount(This,plCount)
  2981. #define IInkStrokeDisp_get_PacketSize(This,plSize) (This)->lpVtbl->get_PacketSize(This,plSize)
  2982. #define IInkStrokeDisp_get_PacketDescription(This,PacketDescription) (This)->lpVtbl->get_PacketDescription(This,PacketDescription)
  2983. #define IInkStrokeDisp_get_Deleted(This,Deleted) (This)->lpVtbl->get_Deleted(This,Deleted)
  2984. #define IInkStrokeDisp_GetBoundingBox(This,BoundingBoxMode,Rectangle) (This)->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle)
  2985. #define IInkStrokeDisp_FindIntersections(This,Strokes,Intersections) (This)->lpVtbl->FindIntersections(This,Strokes,Intersections)
  2986. #define IInkStrokeDisp_GetRectangleIntersections(This,Rectangle,Intersections) (This)->lpVtbl->GetRectangleIntersections(This,Rectangle,Intersections)
  2987. #define IInkStrokeDisp_Clip(This,Rectangle) (This)->lpVtbl->Clip(This,Rectangle)
  2988. #define IInkStrokeDisp_HitTestCircle(This,X,Y,Radius,Intersects) (This)->lpVtbl->HitTestCircle(This,X,Y,Radius,Intersects)
  2989. #define IInkStrokeDisp_NearestPoint(This,X,Y,Distance,Point) (This)->lpVtbl->NearestPoint(This,X,Y,Distance,Point)
  2990. #define IInkStrokeDisp_Split(This,SplitAt,NewStroke) (This)->lpVtbl->Split(This,SplitAt,NewStroke)
  2991. #define IInkStrokeDisp_GetPacketDescriptionPropertyMetrics(This,PropertyName,Minimum,Maximum,Units,Resolution) (This)->lpVtbl->GetPacketDescriptionPropertyMetrics(This,PropertyName,Minimum,Maximum,Units,Resolution)
  2992. #define IInkStrokeDisp_GetPoints(This,Index,Count,Points) (This)->lpVtbl->GetPoints(This,Index,Count,Points)
  2993. #define IInkStrokeDisp_SetPoints(This,Points,Index,Count,NumberOfPointsSet) (This)->lpVtbl->SetPoints(This,Points,Index,Count,NumberOfPointsSet)
  2994. #define IInkStrokeDisp_GetPacketData(This,Index,Count,PacketData) (This)->lpVtbl->GetPacketData(This,Index,Count,PacketData)
  2995. #define IInkStrokeDisp_GetPacketValuesByProperty(This,PropertyName,Index,Count,PacketValues) (This)->lpVtbl->GetPacketValuesByProperty(This,PropertyName,Index,Count,PacketValues)
  2996. #define IInkStrokeDisp_SetPacketValuesByProperty(This,bstrPropertyName,PacketValues,Index,Count,NumberOfPacketsSet) (This)->lpVtbl->SetPacketValuesByProperty(This,bstrPropertyName,PacketValues,Index,Count,NumberOfPacketsSet)
  2997. #define IInkStrokeDisp_GetFlattenedBezierPoints(This,FittingError,FlattenedBezierPoints) (This)->lpVtbl->GetFlattenedBezierPoints(This,FittingError,FlattenedBezierPoints)
  2998. #define IInkStrokeDisp_Transform(This,Transform,ApplyOnPenWidth) (This)->lpVtbl->Transform(This,Transform,ApplyOnPenWidth)
  2999. #define IInkStrokeDisp_ScaleToRectangle(This,Rectangle) (This)->lpVtbl->ScaleToRectangle(This,Rectangle)
  3000. #define IInkStrokeDisp_Move(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Move(This,HorizontalComponent,VerticalComponent)
  3001. #define IInkStrokeDisp_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y)
  3002. #define IInkStrokeDisp_Shear(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier)
  3003. #define IInkStrokeDisp_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier)
  3004. #else
  3005. /*** IUnknown methods ***/
  3006. static FORCEINLINE HRESULT IInkStrokeDisp_QueryInterface(IInkStrokeDisp* This,REFIID riid,void **ppvObject) {
  3007. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3008. }
  3009. static FORCEINLINE ULONG IInkStrokeDisp_AddRef(IInkStrokeDisp* This) {
  3010. return This->lpVtbl->AddRef(This);
  3011. }
  3012. static FORCEINLINE ULONG IInkStrokeDisp_Release(IInkStrokeDisp* This) {
  3013. return This->lpVtbl->Release(This);
  3014. }
  3015. /*** IDispatch methods ***/
  3016. static FORCEINLINE HRESULT IInkStrokeDisp_GetTypeInfoCount(IInkStrokeDisp* This,UINT *pctinfo) {
  3017. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3018. }
  3019. static FORCEINLINE HRESULT IInkStrokeDisp_GetTypeInfo(IInkStrokeDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3020. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3021. }
  3022. static FORCEINLINE HRESULT IInkStrokeDisp_GetIDsOfNames(IInkStrokeDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3023. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3024. }
  3025. static FORCEINLINE HRESULT IInkStrokeDisp_Invoke(IInkStrokeDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3026. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3027. }
  3028. /*** IInkStrokeDisp methods ***/
  3029. static FORCEINLINE HRESULT IInkStrokeDisp_get_ID(IInkStrokeDisp* This,LONG *ID) {
  3030. return This->lpVtbl->get_ID(This,ID);
  3031. }
  3032. static FORCEINLINE HRESULT IInkStrokeDisp_get_BezierPoints(IInkStrokeDisp* This,VARIANT *Points) {
  3033. return This->lpVtbl->get_BezierPoints(This,Points);
  3034. }
  3035. static FORCEINLINE HRESULT IInkStrokeDisp_get_DrawingAttributes(IInkStrokeDisp* This,IInkDrawingAttributes **DrawAttrs) {
  3036. return This->lpVtbl->get_DrawingAttributes(This,DrawAttrs);
  3037. }
  3038. static FORCEINLINE HRESULT IInkStrokeDisp_putref_DrawingAttributes(IInkStrokeDisp* This,IInkDrawingAttributes *DrawAttrs) {
  3039. return This->lpVtbl->putref_DrawingAttributes(This,DrawAttrs);
  3040. }
  3041. static FORCEINLINE HRESULT IInkStrokeDisp_get_Ink(IInkStrokeDisp* This,IInkDisp **Ink) {
  3042. return This->lpVtbl->get_Ink(This,Ink);
  3043. }
  3044. static FORCEINLINE HRESULT IInkStrokeDisp_get_ExtendedProperties(IInkStrokeDisp* This,IInkExtendedProperties **Properties) {
  3045. return This->lpVtbl->get_ExtendedProperties(This,Properties);
  3046. }
  3047. static FORCEINLINE HRESULT IInkStrokeDisp_get_PolylineCusps(IInkStrokeDisp* This,VARIANT *Cusps) {
  3048. return This->lpVtbl->get_PolylineCusps(This,Cusps);
  3049. }
  3050. static FORCEINLINE HRESULT IInkStrokeDisp_get_BezierCusps(IInkStrokeDisp* This,VARIANT *Cusps) {
  3051. return This->lpVtbl->get_BezierCusps(This,Cusps);
  3052. }
  3053. static FORCEINLINE HRESULT IInkStrokeDisp_get_SelfIntersections(IInkStrokeDisp* This,VARIANT *Intersections) {
  3054. return This->lpVtbl->get_SelfIntersections(This,Intersections);
  3055. }
  3056. static FORCEINLINE HRESULT IInkStrokeDisp_get_PacketCount(IInkStrokeDisp* This,LONG *plCount) {
  3057. return This->lpVtbl->get_PacketCount(This,plCount);
  3058. }
  3059. static FORCEINLINE HRESULT IInkStrokeDisp_get_PacketSize(IInkStrokeDisp* This,LONG *plSize) {
  3060. return This->lpVtbl->get_PacketSize(This,plSize);
  3061. }
  3062. static FORCEINLINE HRESULT IInkStrokeDisp_get_PacketDescription(IInkStrokeDisp* This,VARIANT *PacketDescription) {
  3063. return This->lpVtbl->get_PacketDescription(This,PacketDescription);
  3064. }
  3065. static FORCEINLINE HRESULT IInkStrokeDisp_get_Deleted(IInkStrokeDisp* This,VARIANT_BOOL *Deleted) {
  3066. return This->lpVtbl->get_Deleted(This,Deleted);
  3067. }
  3068. static FORCEINLINE HRESULT IInkStrokeDisp_GetBoundingBox(IInkStrokeDisp* This,InkBoundingBoxMode BoundingBoxMode,IInkRectangle **Rectangle) {
  3069. return This->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle);
  3070. }
  3071. static FORCEINLINE HRESULT IInkStrokeDisp_FindIntersections(IInkStrokeDisp* This,IInkStrokes *Strokes,VARIANT *Intersections) {
  3072. return This->lpVtbl->FindIntersections(This,Strokes,Intersections);
  3073. }
  3074. static FORCEINLINE HRESULT IInkStrokeDisp_GetRectangleIntersections(IInkStrokeDisp* This,IInkRectangle *Rectangle,VARIANT *Intersections) {
  3075. return This->lpVtbl->GetRectangleIntersections(This,Rectangle,Intersections);
  3076. }
  3077. static FORCEINLINE HRESULT IInkStrokeDisp_Clip(IInkStrokeDisp* This,IInkRectangle *Rectangle) {
  3078. return This->lpVtbl->Clip(This,Rectangle);
  3079. }
  3080. static FORCEINLINE HRESULT IInkStrokeDisp_HitTestCircle(IInkStrokeDisp* This,LONG X,LONG Y,float Radius,VARIANT_BOOL *Intersects) {
  3081. return This->lpVtbl->HitTestCircle(This,X,Y,Radius,Intersects);
  3082. }
  3083. static FORCEINLINE HRESULT IInkStrokeDisp_NearestPoint(IInkStrokeDisp* This,LONG X,LONG Y,float *Distance,float *Point) {
  3084. return This->lpVtbl->NearestPoint(This,X,Y,Distance,Point);
  3085. }
  3086. static FORCEINLINE HRESULT IInkStrokeDisp_Split(IInkStrokeDisp* This,float SplitAt,IInkStrokeDisp **NewStroke) {
  3087. return This->lpVtbl->Split(This,SplitAt,NewStroke);
  3088. }
  3089. static FORCEINLINE HRESULT IInkStrokeDisp_GetPacketDescriptionPropertyMetrics(IInkStrokeDisp* This,BSTR PropertyName,LONG *Minimum,LONG *Maximum,TabletPropertyMetricUnit *Units,float *Resolution) {
  3090. return This->lpVtbl->GetPacketDescriptionPropertyMetrics(This,PropertyName,Minimum,Maximum,Units,Resolution);
  3091. }
  3092. static FORCEINLINE HRESULT IInkStrokeDisp_GetPoints(IInkStrokeDisp* This,LONG Index,LONG Count,VARIANT *Points) {
  3093. return This->lpVtbl->GetPoints(This,Index,Count,Points);
  3094. }
  3095. static FORCEINLINE HRESULT IInkStrokeDisp_SetPoints(IInkStrokeDisp* This,VARIANT Points,LONG Index,LONG Count,LONG *NumberOfPointsSet) {
  3096. return This->lpVtbl->SetPoints(This,Points,Index,Count,NumberOfPointsSet);
  3097. }
  3098. static FORCEINLINE HRESULT IInkStrokeDisp_GetPacketData(IInkStrokeDisp* This,LONG Index,LONG Count,VARIANT *PacketData) {
  3099. return This->lpVtbl->GetPacketData(This,Index,Count,PacketData);
  3100. }
  3101. static FORCEINLINE HRESULT IInkStrokeDisp_GetPacketValuesByProperty(IInkStrokeDisp* This,BSTR PropertyName,LONG Index,LONG Count,VARIANT *PacketValues) {
  3102. return This->lpVtbl->GetPacketValuesByProperty(This,PropertyName,Index,Count,PacketValues);
  3103. }
  3104. static FORCEINLINE HRESULT IInkStrokeDisp_SetPacketValuesByProperty(IInkStrokeDisp* This,BSTR bstrPropertyName,VARIANT PacketValues,LONG Index,LONG Count,LONG *NumberOfPacketsSet) {
  3105. return This->lpVtbl->SetPacketValuesByProperty(This,bstrPropertyName,PacketValues,Index,Count,NumberOfPacketsSet);
  3106. }
  3107. static FORCEINLINE HRESULT IInkStrokeDisp_GetFlattenedBezierPoints(IInkStrokeDisp* This,LONG FittingError,VARIANT *FlattenedBezierPoints) {
  3108. return This->lpVtbl->GetFlattenedBezierPoints(This,FittingError,FlattenedBezierPoints);
  3109. }
  3110. static FORCEINLINE HRESULT IInkStrokeDisp_Transform(IInkStrokeDisp* This,IInkTransform *Transform,VARIANT_BOOL ApplyOnPenWidth) {
  3111. return This->lpVtbl->Transform(This,Transform,ApplyOnPenWidth);
  3112. }
  3113. static FORCEINLINE HRESULT IInkStrokeDisp_ScaleToRectangle(IInkStrokeDisp* This,IInkRectangle *Rectangle) {
  3114. return This->lpVtbl->ScaleToRectangle(This,Rectangle);
  3115. }
  3116. static FORCEINLINE HRESULT IInkStrokeDisp_Move(IInkStrokeDisp* This,float HorizontalComponent,float VerticalComponent) {
  3117. return This->lpVtbl->Move(This,HorizontalComponent,VerticalComponent);
  3118. }
  3119. static FORCEINLINE HRESULT IInkStrokeDisp_Rotate(IInkStrokeDisp* This,float Degrees,float x,float y) {
  3120. return This->lpVtbl->Rotate(This,Degrees,x,y);
  3121. }
  3122. static FORCEINLINE HRESULT IInkStrokeDisp_Shear(IInkStrokeDisp* This,float HorizontalMultiplier,float VerticalMultiplier) {
  3123. return This->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier);
  3124. }
  3125. static FORCEINLINE HRESULT IInkStrokeDisp_ScaleTransform(IInkStrokeDisp* This,float HorizontalMultiplier,float VerticalMultiplier) {
  3126. return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier);
  3127. }
  3128. #endif
  3129. #endif
  3130. #endif
  3131. #endif /* __IInkStrokeDisp_INTERFACE_DEFINED__ */
  3132. /*****************************************************************************
  3133. * IInkCustomStrokes interface
  3134. */
  3135. #ifndef __IInkCustomStrokes_INTERFACE_DEFINED__
  3136. #define __IInkCustomStrokes_INTERFACE_DEFINED__
  3137. DEFINE_GUID(IID_IInkCustomStrokes, 0x7e23a88f, 0xc30e, 0x420f, 0x9b,0xdb, 0x28,0x90,0x25,0x43,0xf0,0xc1);
  3138. #if defined(__cplusplus) && !defined(CINTERFACE)
  3139. MIDL_INTERFACE("7e23a88f-c30e-420f-9bdb-28902543f0c1")
  3140. IInkCustomStrokes : public IDispatch
  3141. {
  3142. virtual HRESULT STDMETHODCALLTYPE get_Count(
  3143. LONG *Count) = 0;
  3144. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  3145. IUnknown **_NewEnum) = 0;
  3146. virtual HRESULT STDMETHODCALLTYPE Item(
  3147. VARIANT Identifier,
  3148. IInkStrokes **Strokes) = 0;
  3149. virtual HRESULT STDMETHODCALLTYPE Add(
  3150. BSTR Name,
  3151. IInkStrokes *Strokes) = 0;
  3152. virtual HRESULT STDMETHODCALLTYPE Remove(
  3153. VARIANT Identifier) = 0;
  3154. virtual HRESULT STDMETHODCALLTYPE Clear(
  3155. ) = 0;
  3156. };
  3157. #ifdef __CRT_UUID_DECL
  3158. __CRT_UUID_DECL(IInkCustomStrokes, 0x7e23a88f, 0xc30e, 0x420f, 0x9b,0xdb, 0x28,0x90,0x25,0x43,0xf0,0xc1)
  3159. #endif
  3160. #else
  3161. typedef struct IInkCustomStrokesVtbl {
  3162. BEGIN_INTERFACE
  3163. /*** IUnknown methods ***/
  3164. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3165. IInkCustomStrokes *This,
  3166. REFIID riid,
  3167. void **ppvObject);
  3168. ULONG (STDMETHODCALLTYPE *AddRef)(
  3169. IInkCustomStrokes *This);
  3170. ULONG (STDMETHODCALLTYPE *Release)(
  3171. IInkCustomStrokes *This);
  3172. /*** IDispatch methods ***/
  3173. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3174. IInkCustomStrokes *This,
  3175. UINT *pctinfo);
  3176. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3177. IInkCustomStrokes *This,
  3178. UINT iTInfo,
  3179. LCID lcid,
  3180. ITypeInfo **ppTInfo);
  3181. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3182. IInkCustomStrokes *This,
  3183. REFIID riid,
  3184. LPOLESTR *rgszNames,
  3185. UINT cNames,
  3186. LCID lcid,
  3187. DISPID *rgDispId);
  3188. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3189. IInkCustomStrokes *This,
  3190. DISPID dispIdMember,
  3191. REFIID riid,
  3192. LCID lcid,
  3193. WORD wFlags,
  3194. DISPPARAMS *pDispParams,
  3195. VARIANT *pVarResult,
  3196. EXCEPINFO *pExcepInfo,
  3197. UINT *puArgErr);
  3198. /*** IInkCustomStrokes methods ***/
  3199. HRESULT (STDMETHODCALLTYPE *get_Count)(
  3200. IInkCustomStrokes *This,
  3201. LONG *Count);
  3202. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  3203. IInkCustomStrokes *This,
  3204. IUnknown **_NewEnum);
  3205. HRESULT (STDMETHODCALLTYPE *Item)(
  3206. IInkCustomStrokes *This,
  3207. VARIANT Identifier,
  3208. IInkStrokes **Strokes);
  3209. HRESULT (STDMETHODCALLTYPE *Add)(
  3210. IInkCustomStrokes *This,
  3211. BSTR Name,
  3212. IInkStrokes *Strokes);
  3213. HRESULT (STDMETHODCALLTYPE *Remove)(
  3214. IInkCustomStrokes *This,
  3215. VARIANT Identifier);
  3216. HRESULT (STDMETHODCALLTYPE *Clear)(
  3217. IInkCustomStrokes *This);
  3218. END_INTERFACE
  3219. } IInkCustomStrokesVtbl;
  3220. interface IInkCustomStrokes {
  3221. CONST_VTBL IInkCustomStrokesVtbl* lpVtbl;
  3222. };
  3223. #ifdef COBJMACROS
  3224. #ifndef WIDL_C_INLINE_WRAPPERS
  3225. /*** IUnknown methods ***/
  3226. #define IInkCustomStrokes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3227. #define IInkCustomStrokes_AddRef(This) (This)->lpVtbl->AddRef(This)
  3228. #define IInkCustomStrokes_Release(This) (This)->lpVtbl->Release(This)
  3229. /*** IDispatch methods ***/
  3230. #define IInkCustomStrokes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3231. #define IInkCustomStrokes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3232. #define IInkCustomStrokes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3233. #define IInkCustomStrokes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3234. /*** IInkCustomStrokes methods ***/
  3235. #define IInkCustomStrokes_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  3236. #define IInkCustomStrokes_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
  3237. #define IInkCustomStrokes_Item(This,Identifier,Strokes) (This)->lpVtbl->Item(This,Identifier,Strokes)
  3238. #define IInkCustomStrokes_Add(This,Name,Strokes) (This)->lpVtbl->Add(This,Name,Strokes)
  3239. #define IInkCustomStrokes_Remove(This,Identifier) (This)->lpVtbl->Remove(This,Identifier)
  3240. #define IInkCustomStrokes_Clear(This) (This)->lpVtbl->Clear(This)
  3241. #else
  3242. /*** IUnknown methods ***/
  3243. static FORCEINLINE HRESULT IInkCustomStrokes_QueryInterface(IInkCustomStrokes* This,REFIID riid,void **ppvObject) {
  3244. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3245. }
  3246. static FORCEINLINE ULONG IInkCustomStrokes_AddRef(IInkCustomStrokes* This) {
  3247. return This->lpVtbl->AddRef(This);
  3248. }
  3249. static FORCEINLINE ULONG IInkCustomStrokes_Release(IInkCustomStrokes* This) {
  3250. return This->lpVtbl->Release(This);
  3251. }
  3252. /*** IDispatch methods ***/
  3253. static FORCEINLINE HRESULT IInkCustomStrokes_GetTypeInfoCount(IInkCustomStrokes* This,UINT *pctinfo) {
  3254. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3255. }
  3256. static FORCEINLINE HRESULT IInkCustomStrokes_GetTypeInfo(IInkCustomStrokes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3257. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3258. }
  3259. static FORCEINLINE HRESULT IInkCustomStrokes_GetIDsOfNames(IInkCustomStrokes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3260. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3261. }
  3262. static FORCEINLINE HRESULT IInkCustomStrokes_Invoke(IInkCustomStrokes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3263. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3264. }
  3265. /*** IInkCustomStrokes methods ***/
  3266. static FORCEINLINE HRESULT IInkCustomStrokes_get_Count(IInkCustomStrokes* This,LONG *Count) {
  3267. return This->lpVtbl->get_Count(This,Count);
  3268. }
  3269. static FORCEINLINE HRESULT IInkCustomStrokes_get__NewEnum(IInkCustomStrokes* This,IUnknown **_NewEnum) {
  3270. return This->lpVtbl->get__NewEnum(This,_NewEnum);
  3271. }
  3272. static FORCEINLINE HRESULT IInkCustomStrokes_Item(IInkCustomStrokes* This,VARIANT Identifier,IInkStrokes **Strokes) {
  3273. return This->lpVtbl->Item(This,Identifier,Strokes);
  3274. }
  3275. static FORCEINLINE HRESULT IInkCustomStrokes_Add(IInkCustomStrokes* This,BSTR Name,IInkStrokes *Strokes) {
  3276. return This->lpVtbl->Add(This,Name,Strokes);
  3277. }
  3278. static FORCEINLINE HRESULT IInkCustomStrokes_Remove(IInkCustomStrokes* This,VARIANT Identifier) {
  3279. return This->lpVtbl->Remove(This,Identifier);
  3280. }
  3281. static FORCEINLINE HRESULT IInkCustomStrokes_Clear(IInkCustomStrokes* This) {
  3282. return This->lpVtbl->Clear(This);
  3283. }
  3284. #endif
  3285. #endif
  3286. #endif
  3287. #endif /* __IInkCustomStrokes_INTERFACE_DEFINED__ */
  3288. /*****************************************************************************
  3289. * IInkDisp interface
  3290. */
  3291. #ifndef __IInkDisp_INTERFACE_DEFINED__
  3292. #define __IInkDisp_INTERFACE_DEFINED__
  3293. DEFINE_GUID(IID_IInkDisp, 0x9d398fa0, 0xc4e2, 0x4fcd, 0x99,0x73, 0x97,0x5c,0xaa,0xf4,0x7e,0xa6);
  3294. #if defined(__cplusplus) && !defined(CINTERFACE)
  3295. MIDL_INTERFACE("9d398fa0-c4e2-4fcd-9973-975caaf47ea6")
  3296. IInkDisp : public IDispatch
  3297. {
  3298. virtual HRESULT STDMETHODCALLTYPE get_Strokes(
  3299. IInkStrokes **Strokes) = 0;
  3300. virtual HRESULT STDMETHODCALLTYPE get_ExtendedProperties(
  3301. IInkExtendedProperties **Properties) = 0;
  3302. virtual HRESULT STDMETHODCALLTYPE get_Dirty(
  3303. VARIANT_BOOL *Dirty) = 0;
  3304. virtual HRESULT STDMETHODCALLTYPE put_Dirty(
  3305. VARIANT_BOOL Dirty) = 0;
  3306. virtual HRESULT STDMETHODCALLTYPE get_CustomStrokes(
  3307. IInkCustomStrokes **ppunkInkCustomStrokes) = 0;
  3308. virtual HRESULT STDMETHODCALLTYPE GetBoundingBox(
  3309. InkBoundingBoxMode BoundingBoxMode,
  3310. IInkRectangle **Rectangle) = 0;
  3311. virtual HRESULT STDMETHODCALLTYPE DeleteStrokes(
  3312. IInkStrokes *Strokes = 0) = 0;
  3313. virtual HRESULT STDMETHODCALLTYPE DeleteStroke(
  3314. IInkStrokeDisp *Stroke) = 0;
  3315. virtual HRESULT STDMETHODCALLTYPE ExtractStrokes(
  3316. IInkStrokes *Strokes,
  3317. InkExtractFlags ExtractFlags,
  3318. IInkDisp **ExtractedInk) = 0;
  3319. virtual HRESULT STDMETHODCALLTYPE ExtractWithRectangle(
  3320. IInkRectangle *Rectangle,
  3321. InkExtractFlags extractFlags,
  3322. IInkDisp **ExtractedInk) = 0;
  3323. virtual HRESULT STDMETHODCALLTYPE Clip(
  3324. IInkRectangle *Rectangle) = 0;
  3325. virtual HRESULT STDMETHODCALLTYPE Clone(
  3326. IInkDisp **NewInk) = 0;
  3327. virtual HRESULT STDMETHODCALLTYPE HitTestCircle(
  3328. LONG X,
  3329. LONG Y,
  3330. float radius,
  3331. IInkStrokes **Strokes) = 0;
  3332. virtual HRESULT STDMETHODCALLTYPE HitTestWithRectangle(
  3333. IInkRectangle *SelectionRectangle,
  3334. float IntersectPercent,
  3335. IInkStrokes **Strokes) = 0;
  3336. virtual HRESULT STDMETHODCALLTYPE HitTestWithLasso(
  3337. VARIANT Points,
  3338. float IntersectPercent,
  3339. VARIANT *LassoPoints,
  3340. IInkStrokes **Strokes) = 0;
  3341. virtual HRESULT STDMETHODCALLTYPE NearestPoint(
  3342. LONG X,
  3343. LONG Y,
  3344. float *PointOnStroke,
  3345. float *DistanceFromPacket,
  3346. IInkStrokeDisp **Stroke) = 0;
  3347. virtual HRESULT STDMETHODCALLTYPE CreateStrokes(
  3348. VARIANT StrokeIds,
  3349. IInkStrokes **Strokes) = 0;
  3350. virtual HRESULT STDMETHODCALLTYPE AddStrokesAtRectangle(
  3351. IInkStrokes *SourceStrokes,
  3352. IInkRectangle *TargetRectangle) = 0;
  3353. virtual HRESULT STDMETHODCALLTYPE Save(
  3354. InkPersistenceFormat PersistenceFormat,
  3355. InkPersistenceCompressionMode CompressionMode,
  3356. VARIANT *Data) = 0;
  3357. virtual HRESULT STDMETHODCALLTYPE Load(
  3358. VARIANT Data) = 0;
  3359. virtual HRESULT STDMETHODCALLTYPE CreateStroke(
  3360. VARIANT PacketData,
  3361. VARIANT PacketDescription,
  3362. IInkStrokeDisp **Stroke) = 0;
  3363. virtual HRESULT STDMETHODCALLTYPE ClipboardCopyWithRectangle(
  3364. IInkRectangle *Rectangle,
  3365. InkClipboardFormats ClipboardFormats,
  3366. InkClipboardModes ClipboardModes,
  3367. IDataObject **DataObject) = 0;
  3368. virtual HRESULT STDMETHODCALLTYPE ClipboardCopy(
  3369. IInkStrokes *strokes,
  3370. InkClipboardFormats ClipboardFormats,
  3371. InkClipboardModes ClipboardModes,
  3372. IDataObject **DataObject) = 0;
  3373. virtual HRESULT STDMETHODCALLTYPE CanPaste(
  3374. IDataObject *DataObject,
  3375. VARIANT_BOOL *CanPaste) = 0;
  3376. virtual HRESULT STDMETHODCALLTYPE ClipboardPaste(
  3377. LONG x,
  3378. LONG y,
  3379. IDataObject *DataObject,
  3380. IInkStrokes **Strokes) = 0;
  3381. };
  3382. #ifdef __CRT_UUID_DECL
  3383. __CRT_UUID_DECL(IInkDisp, 0x9d398fa0, 0xc4e2, 0x4fcd, 0x99,0x73, 0x97,0x5c,0xaa,0xf4,0x7e,0xa6)
  3384. #endif
  3385. #else
  3386. typedef struct IInkDispVtbl {
  3387. BEGIN_INTERFACE
  3388. /*** IUnknown methods ***/
  3389. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3390. IInkDisp *This,
  3391. REFIID riid,
  3392. void **ppvObject);
  3393. ULONG (STDMETHODCALLTYPE *AddRef)(
  3394. IInkDisp *This);
  3395. ULONG (STDMETHODCALLTYPE *Release)(
  3396. IInkDisp *This);
  3397. /*** IDispatch methods ***/
  3398. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3399. IInkDisp *This,
  3400. UINT *pctinfo);
  3401. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3402. IInkDisp *This,
  3403. UINT iTInfo,
  3404. LCID lcid,
  3405. ITypeInfo **ppTInfo);
  3406. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3407. IInkDisp *This,
  3408. REFIID riid,
  3409. LPOLESTR *rgszNames,
  3410. UINT cNames,
  3411. LCID lcid,
  3412. DISPID *rgDispId);
  3413. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3414. IInkDisp *This,
  3415. DISPID dispIdMember,
  3416. REFIID riid,
  3417. LCID lcid,
  3418. WORD wFlags,
  3419. DISPPARAMS *pDispParams,
  3420. VARIANT *pVarResult,
  3421. EXCEPINFO *pExcepInfo,
  3422. UINT *puArgErr);
  3423. /*** IInkDisp methods ***/
  3424. HRESULT (STDMETHODCALLTYPE *get_Strokes)(
  3425. IInkDisp *This,
  3426. IInkStrokes **Strokes);
  3427. HRESULT (STDMETHODCALLTYPE *get_ExtendedProperties)(
  3428. IInkDisp *This,
  3429. IInkExtendedProperties **Properties);
  3430. HRESULT (STDMETHODCALLTYPE *get_Dirty)(
  3431. IInkDisp *This,
  3432. VARIANT_BOOL *Dirty);
  3433. HRESULT (STDMETHODCALLTYPE *put_Dirty)(
  3434. IInkDisp *This,
  3435. VARIANT_BOOL Dirty);
  3436. HRESULT (STDMETHODCALLTYPE *get_CustomStrokes)(
  3437. IInkDisp *This,
  3438. IInkCustomStrokes **ppunkInkCustomStrokes);
  3439. HRESULT (STDMETHODCALLTYPE *GetBoundingBox)(
  3440. IInkDisp *This,
  3441. InkBoundingBoxMode BoundingBoxMode,
  3442. IInkRectangle **Rectangle);
  3443. HRESULT (STDMETHODCALLTYPE *DeleteStrokes)(
  3444. IInkDisp *This,
  3445. IInkStrokes *Strokes);
  3446. HRESULT (STDMETHODCALLTYPE *DeleteStroke)(
  3447. IInkDisp *This,
  3448. IInkStrokeDisp *Stroke);
  3449. HRESULT (STDMETHODCALLTYPE *ExtractStrokes)(
  3450. IInkDisp *This,
  3451. IInkStrokes *Strokes,
  3452. InkExtractFlags ExtractFlags,
  3453. IInkDisp **ExtractedInk);
  3454. HRESULT (STDMETHODCALLTYPE *ExtractWithRectangle)(
  3455. IInkDisp *This,
  3456. IInkRectangle *Rectangle,
  3457. InkExtractFlags extractFlags,
  3458. IInkDisp **ExtractedInk);
  3459. HRESULT (STDMETHODCALLTYPE *Clip)(
  3460. IInkDisp *This,
  3461. IInkRectangle *Rectangle);
  3462. HRESULT (STDMETHODCALLTYPE *Clone)(
  3463. IInkDisp *This,
  3464. IInkDisp **NewInk);
  3465. HRESULT (STDMETHODCALLTYPE *HitTestCircle)(
  3466. IInkDisp *This,
  3467. LONG X,
  3468. LONG Y,
  3469. float radius,
  3470. IInkStrokes **Strokes);
  3471. HRESULT (STDMETHODCALLTYPE *HitTestWithRectangle)(
  3472. IInkDisp *This,
  3473. IInkRectangle *SelectionRectangle,
  3474. float IntersectPercent,
  3475. IInkStrokes **Strokes);
  3476. HRESULT (STDMETHODCALLTYPE *HitTestWithLasso)(
  3477. IInkDisp *This,
  3478. VARIANT Points,
  3479. float IntersectPercent,
  3480. VARIANT *LassoPoints,
  3481. IInkStrokes **Strokes);
  3482. HRESULT (STDMETHODCALLTYPE *NearestPoint)(
  3483. IInkDisp *This,
  3484. LONG X,
  3485. LONG Y,
  3486. float *PointOnStroke,
  3487. float *DistanceFromPacket,
  3488. IInkStrokeDisp **Stroke);
  3489. HRESULT (STDMETHODCALLTYPE *CreateStrokes)(
  3490. IInkDisp *This,
  3491. VARIANT StrokeIds,
  3492. IInkStrokes **Strokes);
  3493. HRESULT (STDMETHODCALLTYPE *AddStrokesAtRectangle)(
  3494. IInkDisp *This,
  3495. IInkStrokes *SourceStrokes,
  3496. IInkRectangle *TargetRectangle);
  3497. HRESULT (STDMETHODCALLTYPE *Save)(
  3498. IInkDisp *This,
  3499. InkPersistenceFormat PersistenceFormat,
  3500. InkPersistenceCompressionMode CompressionMode,
  3501. VARIANT *Data);
  3502. HRESULT (STDMETHODCALLTYPE *Load)(
  3503. IInkDisp *This,
  3504. VARIANT Data);
  3505. HRESULT (STDMETHODCALLTYPE *CreateStroke)(
  3506. IInkDisp *This,
  3507. VARIANT PacketData,
  3508. VARIANT PacketDescription,
  3509. IInkStrokeDisp **Stroke);
  3510. HRESULT (STDMETHODCALLTYPE *ClipboardCopyWithRectangle)(
  3511. IInkDisp *This,
  3512. IInkRectangle *Rectangle,
  3513. InkClipboardFormats ClipboardFormats,
  3514. InkClipboardModes ClipboardModes,
  3515. IDataObject **DataObject);
  3516. HRESULT (STDMETHODCALLTYPE *ClipboardCopy)(
  3517. IInkDisp *This,
  3518. IInkStrokes *strokes,
  3519. InkClipboardFormats ClipboardFormats,
  3520. InkClipboardModes ClipboardModes,
  3521. IDataObject **DataObject);
  3522. HRESULT (STDMETHODCALLTYPE *CanPaste)(
  3523. IInkDisp *This,
  3524. IDataObject *DataObject,
  3525. VARIANT_BOOL *CanPaste);
  3526. HRESULT (STDMETHODCALLTYPE *ClipboardPaste)(
  3527. IInkDisp *This,
  3528. LONG x,
  3529. LONG y,
  3530. IDataObject *DataObject,
  3531. IInkStrokes **Strokes);
  3532. END_INTERFACE
  3533. } IInkDispVtbl;
  3534. interface IInkDisp {
  3535. CONST_VTBL IInkDispVtbl* lpVtbl;
  3536. };
  3537. #ifdef COBJMACROS
  3538. #ifndef WIDL_C_INLINE_WRAPPERS
  3539. /*** IUnknown methods ***/
  3540. #define IInkDisp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3541. #define IInkDisp_AddRef(This) (This)->lpVtbl->AddRef(This)
  3542. #define IInkDisp_Release(This) (This)->lpVtbl->Release(This)
  3543. /*** IDispatch methods ***/
  3544. #define IInkDisp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3545. #define IInkDisp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3546. #define IInkDisp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3547. #define IInkDisp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3548. /*** IInkDisp methods ***/
  3549. #define IInkDisp_get_Strokes(This,Strokes) (This)->lpVtbl->get_Strokes(This,Strokes)
  3550. #define IInkDisp_get_ExtendedProperties(This,Properties) (This)->lpVtbl->get_ExtendedProperties(This,Properties)
  3551. #define IInkDisp_get_Dirty(This,Dirty) (This)->lpVtbl->get_Dirty(This,Dirty)
  3552. #define IInkDisp_put_Dirty(This,Dirty) (This)->lpVtbl->put_Dirty(This,Dirty)
  3553. #define IInkDisp_get_CustomStrokes(This,ppunkInkCustomStrokes) (This)->lpVtbl->get_CustomStrokes(This,ppunkInkCustomStrokes)
  3554. #define IInkDisp_GetBoundingBox(This,BoundingBoxMode,Rectangle) (This)->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle)
  3555. #define IInkDisp_DeleteStrokes(This,Strokes) (This)->lpVtbl->DeleteStrokes(This,Strokes)
  3556. #define IInkDisp_DeleteStroke(This,Stroke) (This)->lpVtbl->DeleteStroke(This,Stroke)
  3557. #define IInkDisp_ExtractStrokes(This,Strokes,ExtractFlags,ExtractedInk) (This)->lpVtbl->ExtractStrokes(This,Strokes,ExtractFlags,ExtractedInk)
  3558. #define IInkDisp_ExtractWithRectangle(This,Rectangle,extractFlags,ExtractedInk) (This)->lpVtbl->ExtractWithRectangle(This,Rectangle,extractFlags,ExtractedInk)
  3559. #define IInkDisp_Clip(This,Rectangle) (This)->lpVtbl->Clip(This,Rectangle)
  3560. #define IInkDisp_Clone(This,NewInk) (This)->lpVtbl->Clone(This,NewInk)
  3561. #define IInkDisp_HitTestCircle(This,X,Y,radius,Strokes) (This)->lpVtbl->HitTestCircle(This,X,Y,radius,Strokes)
  3562. #define IInkDisp_HitTestWithRectangle(This,SelectionRectangle,IntersectPercent,Strokes) (This)->lpVtbl->HitTestWithRectangle(This,SelectionRectangle,IntersectPercent,Strokes)
  3563. #define IInkDisp_HitTestWithLasso(This,Points,IntersectPercent,LassoPoints,Strokes) (This)->lpVtbl->HitTestWithLasso(This,Points,IntersectPercent,LassoPoints,Strokes)
  3564. #define IInkDisp_NearestPoint(This,X,Y,PointOnStroke,DistanceFromPacket,Stroke) (This)->lpVtbl->NearestPoint(This,X,Y,PointOnStroke,DistanceFromPacket,Stroke)
  3565. #define IInkDisp_CreateStrokes(This,StrokeIds,Strokes) (This)->lpVtbl->CreateStrokes(This,StrokeIds,Strokes)
  3566. #define IInkDisp_AddStrokesAtRectangle(This,SourceStrokes,TargetRectangle) (This)->lpVtbl->AddStrokesAtRectangle(This,SourceStrokes,TargetRectangle)
  3567. #define IInkDisp_Save(This,PersistenceFormat,CompressionMode,Data) (This)->lpVtbl->Save(This,PersistenceFormat,CompressionMode,Data)
  3568. #define IInkDisp_Load(This,Data) (This)->lpVtbl->Load(This,Data)
  3569. #define IInkDisp_CreateStroke(This,PacketData,PacketDescription,Stroke) (This)->lpVtbl->CreateStroke(This,PacketData,PacketDescription,Stroke)
  3570. #define IInkDisp_ClipboardCopyWithRectangle(This,Rectangle,ClipboardFormats,ClipboardModes,DataObject) (This)->lpVtbl->ClipboardCopyWithRectangle(This,Rectangle,ClipboardFormats,ClipboardModes,DataObject)
  3571. #define IInkDisp_ClipboardCopy(This,strokes,ClipboardFormats,ClipboardModes,DataObject) (This)->lpVtbl->ClipboardCopy(This,strokes,ClipboardFormats,ClipboardModes,DataObject)
  3572. #define IInkDisp_CanPaste(This,DataObject,CanPaste) (This)->lpVtbl->CanPaste(This,DataObject,CanPaste)
  3573. #define IInkDisp_ClipboardPaste(This,x,y,DataObject,Strokes) (This)->lpVtbl->ClipboardPaste(This,x,y,DataObject,Strokes)
  3574. #else
  3575. /*** IUnknown methods ***/
  3576. static FORCEINLINE HRESULT IInkDisp_QueryInterface(IInkDisp* This,REFIID riid,void **ppvObject) {
  3577. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3578. }
  3579. static FORCEINLINE ULONG IInkDisp_AddRef(IInkDisp* This) {
  3580. return This->lpVtbl->AddRef(This);
  3581. }
  3582. static FORCEINLINE ULONG IInkDisp_Release(IInkDisp* This) {
  3583. return This->lpVtbl->Release(This);
  3584. }
  3585. /*** IDispatch methods ***/
  3586. static FORCEINLINE HRESULT IInkDisp_GetTypeInfoCount(IInkDisp* This,UINT *pctinfo) {
  3587. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3588. }
  3589. static FORCEINLINE HRESULT IInkDisp_GetTypeInfo(IInkDisp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3590. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3591. }
  3592. static FORCEINLINE HRESULT IInkDisp_GetIDsOfNames(IInkDisp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3593. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3594. }
  3595. static FORCEINLINE HRESULT IInkDisp_Invoke(IInkDisp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3596. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3597. }
  3598. /*** IInkDisp methods ***/
  3599. static FORCEINLINE HRESULT IInkDisp_get_Strokes(IInkDisp* This,IInkStrokes **Strokes) {
  3600. return This->lpVtbl->get_Strokes(This,Strokes);
  3601. }
  3602. static FORCEINLINE HRESULT IInkDisp_get_ExtendedProperties(IInkDisp* This,IInkExtendedProperties **Properties) {
  3603. return This->lpVtbl->get_ExtendedProperties(This,Properties);
  3604. }
  3605. static FORCEINLINE HRESULT IInkDisp_get_Dirty(IInkDisp* This,VARIANT_BOOL *Dirty) {
  3606. return This->lpVtbl->get_Dirty(This,Dirty);
  3607. }
  3608. static FORCEINLINE HRESULT IInkDisp_put_Dirty(IInkDisp* This,VARIANT_BOOL Dirty) {
  3609. return This->lpVtbl->put_Dirty(This,Dirty);
  3610. }
  3611. static FORCEINLINE HRESULT IInkDisp_get_CustomStrokes(IInkDisp* This,IInkCustomStrokes **ppunkInkCustomStrokes) {
  3612. return This->lpVtbl->get_CustomStrokes(This,ppunkInkCustomStrokes);
  3613. }
  3614. static FORCEINLINE HRESULT IInkDisp_GetBoundingBox(IInkDisp* This,InkBoundingBoxMode BoundingBoxMode,IInkRectangle **Rectangle) {
  3615. return This->lpVtbl->GetBoundingBox(This,BoundingBoxMode,Rectangle);
  3616. }
  3617. static FORCEINLINE HRESULT IInkDisp_DeleteStrokes(IInkDisp* This,IInkStrokes *Strokes) {
  3618. return This->lpVtbl->DeleteStrokes(This,Strokes);
  3619. }
  3620. static FORCEINLINE HRESULT IInkDisp_DeleteStroke(IInkDisp* This,IInkStrokeDisp *Stroke) {
  3621. return This->lpVtbl->DeleteStroke(This,Stroke);
  3622. }
  3623. static FORCEINLINE HRESULT IInkDisp_ExtractStrokes(IInkDisp* This,IInkStrokes *Strokes,InkExtractFlags ExtractFlags,IInkDisp **ExtractedInk) {
  3624. return This->lpVtbl->ExtractStrokes(This,Strokes,ExtractFlags,ExtractedInk);
  3625. }
  3626. static FORCEINLINE HRESULT IInkDisp_ExtractWithRectangle(IInkDisp* This,IInkRectangle *Rectangle,InkExtractFlags extractFlags,IInkDisp **ExtractedInk) {
  3627. return This->lpVtbl->ExtractWithRectangle(This,Rectangle,extractFlags,ExtractedInk);
  3628. }
  3629. static FORCEINLINE HRESULT IInkDisp_Clip(IInkDisp* This,IInkRectangle *Rectangle) {
  3630. return This->lpVtbl->Clip(This,Rectangle);
  3631. }
  3632. static FORCEINLINE HRESULT IInkDisp_Clone(IInkDisp* This,IInkDisp **NewInk) {
  3633. return This->lpVtbl->Clone(This,NewInk);
  3634. }
  3635. static FORCEINLINE HRESULT IInkDisp_HitTestCircle(IInkDisp* This,LONG X,LONG Y,float radius,IInkStrokes **Strokes) {
  3636. return This->lpVtbl->HitTestCircle(This,X,Y,radius,Strokes);
  3637. }
  3638. static FORCEINLINE HRESULT IInkDisp_HitTestWithRectangle(IInkDisp* This,IInkRectangle *SelectionRectangle,float IntersectPercent,IInkStrokes **Strokes) {
  3639. return This->lpVtbl->HitTestWithRectangle(This,SelectionRectangle,IntersectPercent,Strokes);
  3640. }
  3641. static FORCEINLINE HRESULT IInkDisp_HitTestWithLasso(IInkDisp* This,VARIANT Points,float IntersectPercent,VARIANT *LassoPoints,IInkStrokes **Strokes) {
  3642. return This->lpVtbl->HitTestWithLasso(This,Points,IntersectPercent,LassoPoints,Strokes);
  3643. }
  3644. static FORCEINLINE HRESULT IInkDisp_NearestPoint(IInkDisp* This,LONG X,LONG Y,float *PointOnStroke,float *DistanceFromPacket,IInkStrokeDisp **Stroke) {
  3645. return This->lpVtbl->NearestPoint(This,X,Y,PointOnStroke,DistanceFromPacket,Stroke);
  3646. }
  3647. static FORCEINLINE HRESULT IInkDisp_CreateStrokes(IInkDisp* This,VARIANT StrokeIds,IInkStrokes **Strokes) {
  3648. return This->lpVtbl->CreateStrokes(This,StrokeIds,Strokes);
  3649. }
  3650. static FORCEINLINE HRESULT IInkDisp_AddStrokesAtRectangle(IInkDisp* This,IInkStrokes *SourceStrokes,IInkRectangle *TargetRectangle) {
  3651. return This->lpVtbl->AddStrokesAtRectangle(This,SourceStrokes,TargetRectangle);
  3652. }
  3653. static FORCEINLINE HRESULT IInkDisp_Save(IInkDisp* This,InkPersistenceFormat PersistenceFormat,InkPersistenceCompressionMode CompressionMode,VARIANT *Data) {
  3654. return This->lpVtbl->Save(This,PersistenceFormat,CompressionMode,Data);
  3655. }
  3656. static FORCEINLINE HRESULT IInkDisp_Load(IInkDisp* This,VARIANT Data) {
  3657. return This->lpVtbl->Load(This,Data);
  3658. }
  3659. static FORCEINLINE HRESULT IInkDisp_CreateStroke(IInkDisp* This,VARIANT PacketData,VARIANT PacketDescription,IInkStrokeDisp **Stroke) {
  3660. return This->lpVtbl->CreateStroke(This,PacketData,PacketDescription,Stroke);
  3661. }
  3662. static FORCEINLINE HRESULT IInkDisp_ClipboardCopyWithRectangle(IInkDisp* This,IInkRectangle *Rectangle,InkClipboardFormats ClipboardFormats,InkClipboardModes ClipboardModes,IDataObject **DataObject) {
  3663. return This->lpVtbl->ClipboardCopyWithRectangle(This,Rectangle,ClipboardFormats,ClipboardModes,DataObject);
  3664. }
  3665. static FORCEINLINE HRESULT IInkDisp_ClipboardCopy(IInkDisp* This,IInkStrokes *strokes,InkClipboardFormats ClipboardFormats,InkClipboardModes ClipboardModes,IDataObject **DataObject) {
  3666. return This->lpVtbl->ClipboardCopy(This,strokes,ClipboardFormats,ClipboardModes,DataObject);
  3667. }
  3668. static FORCEINLINE HRESULT IInkDisp_CanPaste(IInkDisp* This,IDataObject *DataObject,VARIANT_BOOL *CanPaste) {
  3669. return This->lpVtbl->CanPaste(This,DataObject,CanPaste);
  3670. }
  3671. static FORCEINLINE HRESULT IInkDisp_ClipboardPaste(IInkDisp* This,LONG x,LONG y,IDataObject *DataObject,IInkStrokes **Strokes) {
  3672. return This->lpVtbl->ClipboardPaste(This,x,y,DataObject,Strokes);
  3673. }
  3674. #endif
  3675. #endif
  3676. #endif
  3677. #endif /* __IInkDisp_INTERFACE_DEFINED__ */
  3678. /*****************************************************************************
  3679. * IInkStrokes interface
  3680. */
  3681. #ifndef __IInkStrokes_INTERFACE_DEFINED__
  3682. #define __IInkStrokes_INTERFACE_DEFINED__
  3683. DEFINE_GUID(IID_IInkStrokes, 0xf1f4c9d8, 0x590a, 0x4963, 0xb3,0xae, 0x19,0x35,0x67,0x1b,0xb6,0xf3);
  3684. #if defined(__cplusplus) && !defined(CINTERFACE)
  3685. MIDL_INTERFACE("f1f4c9d8-590a-4963-b3ae-1935671bb6f3")
  3686. IInkStrokes : public IDispatch
  3687. {
  3688. virtual HRESULT STDMETHODCALLTYPE get_Count(
  3689. LONG *Count) = 0;
  3690. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  3691. IUnknown **_NewEnum) = 0;
  3692. virtual HRESULT STDMETHODCALLTYPE get_Ink(
  3693. IInkDisp **Ink) = 0;
  3694. virtual HRESULT STDMETHODCALLTYPE get_RecognitionResult(
  3695. IInkRecognitionResult **RecognitionResult) = 0;
  3696. virtual HRESULT STDMETHODCALLTYPE ToString(
  3697. BSTR *ToString) = 0;
  3698. virtual HRESULT STDMETHODCALLTYPE Item(
  3699. LONG Index,
  3700. IInkStrokeDisp **Stroke) = 0;
  3701. virtual HRESULT STDMETHODCALLTYPE Add(
  3702. IInkStrokeDisp *InkStroke) = 0;
  3703. virtual HRESULT STDMETHODCALLTYPE AddStrokes(
  3704. IInkStrokes *InkStrokes) = 0;
  3705. virtual HRESULT STDMETHODCALLTYPE Remove(
  3706. IInkStrokeDisp *InkStroke) = 0;
  3707. virtual HRESULT STDMETHODCALLTYPE RemoveStrokes(
  3708. IInkStrokes *InkStrokes) = 0;
  3709. virtual HRESULT STDMETHODCALLTYPE ModifyDrawingAttributes(
  3710. IInkDrawingAttributes *DrawAttrs) = 0;
  3711. virtual HRESULT STDMETHODCALLTYPE GetBoundingBox(
  3712. InkBoundingBoxMode BoundingBoxMode,
  3713. IInkRectangle **BoundingBox) = 0;
  3714. virtual HRESULT STDMETHODCALLTYPE Transform(
  3715. IInkTransform *Transform,
  3716. VARIANT_BOOL ApplyOnPenWidth = 0) = 0;
  3717. virtual HRESULT STDMETHODCALLTYPE ScaleToRectangle(
  3718. IInkRectangle *Rectangle) = 0;
  3719. virtual HRESULT STDMETHODCALLTYPE Move(
  3720. float HorizontalComponent,
  3721. float VerticalComponent) = 0;
  3722. virtual HRESULT STDMETHODCALLTYPE Rotate(
  3723. float Degrees,
  3724. float x = 0,
  3725. float y = 0) = 0;
  3726. virtual HRESULT STDMETHODCALLTYPE Shear(
  3727. float HorizontalMultiplier,
  3728. float VerticalMultiplier) = 0;
  3729. virtual HRESULT STDMETHODCALLTYPE ScaleTransform(
  3730. float HorizontalMultiplier,
  3731. float VerticalMultiplier) = 0;
  3732. virtual HRESULT STDMETHODCALLTYPE Clip(
  3733. IInkRectangle *Rectangle) = 0;
  3734. virtual HRESULT STDMETHODCALLTYPE RemoveRecognitionResult(
  3735. ) = 0;
  3736. };
  3737. #ifdef __CRT_UUID_DECL
  3738. __CRT_UUID_DECL(IInkStrokes, 0xf1f4c9d8, 0x590a, 0x4963, 0xb3,0xae, 0x19,0x35,0x67,0x1b,0xb6,0xf3)
  3739. #endif
  3740. #else
  3741. typedef struct IInkStrokesVtbl {
  3742. BEGIN_INTERFACE
  3743. /*** IUnknown methods ***/
  3744. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3745. IInkStrokes *This,
  3746. REFIID riid,
  3747. void **ppvObject);
  3748. ULONG (STDMETHODCALLTYPE *AddRef)(
  3749. IInkStrokes *This);
  3750. ULONG (STDMETHODCALLTYPE *Release)(
  3751. IInkStrokes *This);
  3752. /*** IDispatch methods ***/
  3753. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  3754. IInkStrokes *This,
  3755. UINT *pctinfo);
  3756. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  3757. IInkStrokes *This,
  3758. UINT iTInfo,
  3759. LCID lcid,
  3760. ITypeInfo **ppTInfo);
  3761. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  3762. IInkStrokes *This,
  3763. REFIID riid,
  3764. LPOLESTR *rgszNames,
  3765. UINT cNames,
  3766. LCID lcid,
  3767. DISPID *rgDispId);
  3768. HRESULT (STDMETHODCALLTYPE *Invoke)(
  3769. IInkStrokes *This,
  3770. DISPID dispIdMember,
  3771. REFIID riid,
  3772. LCID lcid,
  3773. WORD wFlags,
  3774. DISPPARAMS *pDispParams,
  3775. VARIANT *pVarResult,
  3776. EXCEPINFO *pExcepInfo,
  3777. UINT *puArgErr);
  3778. /*** IInkStrokes methods ***/
  3779. HRESULT (STDMETHODCALLTYPE *get_Count)(
  3780. IInkStrokes *This,
  3781. LONG *Count);
  3782. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  3783. IInkStrokes *This,
  3784. IUnknown **_NewEnum);
  3785. HRESULT (STDMETHODCALLTYPE *get_Ink)(
  3786. IInkStrokes *This,
  3787. IInkDisp **Ink);
  3788. HRESULT (STDMETHODCALLTYPE *get_RecognitionResult)(
  3789. IInkStrokes *This,
  3790. IInkRecognitionResult **RecognitionResult);
  3791. HRESULT (STDMETHODCALLTYPE *ToString)(
  3792. IInkStrokes *This,
  3793. BSTR *ToString);
  3794. HRESULT (STDMETHODCALLTYPE *Item)(
  3795. IInkStrokes *This,
  3796. LONG Index,
  3797. IInkStrokeDisp **Stroke);
  3798. HRESULT (STDMETHODCALLTYPE *Add)(
  3799. IInkStrokes *This,
  3800. IInkStrokeDisp *InkStroke);
  3801. HRESULT (STDMETHODCALLTYPE *AddStrokes)(
  3802. IInkStrokes *This,
  3803. IInkStrokes *InkStrokes);
  3804. HRESULT (STDMETHODCALLTYPE *Remove)(
  3805. IInkStrokes *This,
  3806. IInkStrokeDisp *InkStroke);
  3807. HRESULT (STDMETHODCALLTYPE *RemoveStrokes)(
  3808. IInkStrokes *This,
  3809. IInkStrokes *InkStrokes);
  3810. HRESULT (STDMETHODCALLTYPE *ModifyDrawingAttributes)(
  3811. IInkStrokes *This,
  3812. IInkDrawingAttributes *DrawAttrs);
  3813. HRESULT (STDMETHODCALLTYPE *GetBoundingBox)(
  3814. IInkStrokes *This,
  3815. InkBoundingBoxMode BoundingBoxMode,
  3816. IInkRectangle **BoundingBox);
  3817. HRESULT (STDMETHODCALLTYPE *Transform)(
  3818. IInkStrokes *This,
  3819. IInkTransform *Transform,
  3820. VARIANT_BOOL ApplyOnPenWidth);
  3821. HRESULT (STDMETHODCALLTYPE *ScaleToRectangle)(
  3822. IInkStrokes *This,
  3823. IInkRectangle *Rectangle);
  3824. HRESULT (STDMETHODCALLTYPE *Move)(
  3825. IInkStrokes *This,
  3826. float HorizontalComponent,
  3827. float VerticalComponent);
  3828. HRESULT (STDMETHODCALLTYPE *Rotate)(
  3829. IInkStrokes *This,
  3830. float Degrees,
  3831. float x,
  3832. float y);
  3833. HRESULT (STDMETHODCALLTYPE *Shear)(
  3834. IInkStrokes *This,
  3835. float HorizontalMultiplier,
  3836. float VerticalMultiplier);
  3837. HRESULT (STDMETHODCALLTYPE *ScaleTransform)(
  3838. IInkStrokes *This,
  3839. float HorizontalMultiplier,
  3840. float VerticalMultiplier);
  3841. HRESULT (STDMETHODCALLTYPE *Clip)(
  3842. IInkStrokes *This,
  3843. IInkRectangle *Rectangle);
  3844. HRESULT (STDMETHODCALLTYPE *RemoveRecognitionResult)(
  3845. IInkStrokes *This);
  3846. END_INTERFACE
  3847. } IInkStrokesVtbl;
  3848. interface IInkStrokes {
  3849. CONST_VTBL IInkStrokesVtbl* lpVtbl;
  3850. };
  3851. #ifdef COBJMACROS
  3852. #ifndef WIDL_C_INLINE_WRAPPERS
  3853. /*** IUnknown methods ***/
  3854. #define IInkStrokes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3855. #define IInkStrokes_AddRef(This) (This)->lpVtbl->AddRef(This)
  3856. #define IInkStrokes_Release(This) (This)->lpVtbl->Release(This)
  3857. /*** IDispatch methods ***/
  3858. #define IInkStrokes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  3859. #define IInkStrokes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3860. #define IInkStrokes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3861. #define IInkStrokes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3862. /*** IInkStrokes methods ***/
  3863. #define IInkStrokes_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  3864. #define IInkStrokes_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
  3865. #define IInkStrokes_get_Ink(This,Ink) (This)->lpVtbl->get_Ink(This,Ink)
  3866. #define IInkStrokes_get_RecognitionResult(This,RecognitionResult) (This)->lpVtbl->get_RecognitionResult(This,RecognitionResult)
  3867. #define IInkStrokes_ToString(This,ToString) (This)->lpVtbl->ToString(This,ToString)
  3868. #define IInkStrokes_Item(This,Index,Stroke) (This)->lpVtbl->Item(This,Index,Stroke)
  3869. #define IInkStrokes_Add(This,InkStroke) (This)->lpVtbl->Add(This,InkStroke)
  3870. #define IInkStrokes_AddStrokes(This,InkStrokes) (This)->lpVtbl->AddStrokes(This,InkStrokes)
  3871. #define IInkStrokes_Remove(This,InkStroke) (This)->lpVtbl->Remove(This,InkStroke)
  3872. #define IInkStrokes_RemoveStrokes(This,InkStrokes) (This)->lpVtbl->RemoveStrokes(This,InkStrokes)
  3873. #define IInkStrokes_ModifyDrawingAttributes(This,DrawAttrs) (This)->lpVtbl->ModifyDrawingAttributes(This,DrawAttrs)
  3874. #define IInkStrokes_GetBoundingBox(This,BoundingBoxMode,BoundingBox) (This)->lpVtbl->GetBoundingBox(This,BoundingBoxMode,BoundingBox)
  3875. #define IInkStrokes_Transform(This,Transform,ApplyOnPenWidth) (This)->lpVtbl->Transform(This,Transform,ApplyOnPenWidth)
  3876. #define IInkStrokes_ScaleToRectangle(This,Rectangle) (This)->lpVtbl->ScaleToRectangle(This,Rectangle)
  3877. #define IInkStrokes_Move(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Move(This,HorizontalComponent,VerticalComponent)
  3878. #define IInkStrokes_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y)
  3879. #define IInkStrokes_Shear(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier)
  3880. #define IInkStrokes_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier)
  3881. #define IInkStrokes_Clip(This,Rectangle) (This)->lpVtbl->Clip(This,Rectangle)
  3882. #define IInkStrokes_RemoveRecognitionResult(This) (This)->lpVtbl->RemoveRecognitionResult(This)
  3883. #else
  3884. /*** IUnknown methods ***/
  3885. static FORCEINLINE HRESULT IInkStrokes_QueryInterface(IInkStrokes* This,REFIID riid,void **ppvObject) {
  3886. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3887. }
  3888. static FORCEINLINE ULONG IInkStrokes_AddRef(IInkStrokes* This) {
  3889. return This->lpVtbl->AddRef(This);
  3890. }
  3891. static FORCEINLINE ULONG IInkStrokes_Release(IInkStrokes* This) {
  3892. return This->lpVtbl->Release(This);
  3893. }
  3894. /*** IDispatch methods ***/
  3895. static FORCEINLINE HRESULT IInkStrokes_GetTypeInfoCount(IInkStrokes* This,UINT *pctinfo) {
  3896. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  3897. }
  3898. static FORCEINLINE HRESULT IInkStrokes_GetTypeInfo(IInkStrokes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  3899. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  3900. }
  3901. static FORCEINLINE HRESULT IInkStrokes_GetIDsOfNames(IInkStrokes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  3902. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  3903. }
  3904. static FORCEINLINE HRESULT IInkStrokes_Invoke(IInkStrokes* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  3905. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  3906. }
  3907. /*** IInkStrokes methods ***/
  3908. static FORCEINLINE HRESULT IInkStrokes_get_Count(IInkStrokes* This,LONG *Count) {
  3909. return This->lpVtbl->get_Count(This,Count);
  3910. }
  3911. static FORCEINLINE HRESULT IInkStrokes_get__NewEnum(IInkStrokes* This,IUnknown **_NewEnum) {
  3912. return This->lpVtbl->get__NewEnum(This,_NewEnum);
  3913. }
  3914. static FORCEINLINE HRESULT IInkStrokes_get_Ink(IInkStrokes* This,IInkDisp **Ink) {
  3915. return This->lpVtbl->get_Ink(This,Ink);
  3916. }
  3917. static FORCEINLINE HRESULT IInkStrokes_get_RecognitionResult(IInkStrokes* This,IInkRecognitionResult **RecognitionResult) {
  3918. return This->lpVtbl->get_RecognitionResult(This,RecognitionResult);
  3919. }
  3920. static FORCEINLINE HRESULT IInkStrokes_ToString(IInkStrokes* This,BSTR *ToString) {
  3921. return This->lpVtbl->ToString(This,ToString);
  3922. }
  3923. static FORCEINLINE HRESULT IInkStrokes_Item(IInkStrokes* This,LONG Index,IInkStrokeDisp **Stroke) {
  3924. return This->lpVtbl->Item(This,Index,Stroke);
  3925. }
  3926. static FORCEINLINE HRESULT IInkStrokes_Add(IInkStrokes* This,IInkStrokeDisp *InkStroke) {
  3927. return This->lpVtbl->Add(This,InkStroke);
  3928. }
  3929. static FORCEINLINE HRESULT IInkStrokes_AddStrokes(IInkStrokes* This,IInkStrokes *InkStrokes) {
  3930. return This->lpVtbl->AddStrokes(This,InkStrokes);
  3931. }
  3932. static FORCEINLINE HRESULT IInkStrokes_Remove(IInkStrokes* This,IInkStrokeDisp *InkStroke) {
  3933. return This->lpVtbl->Remove(This,InkStroke);
  3934. }
  3935. static FORCEINLINE HRESULT IInkStrokes_RemoveStrokes(IInkStrokes* This,IInkStrokes *InkStrokes) {
  3936. return This->lpVtbl->RemoveStrokes(This,InkStrokes);
  3937. }
  3938. static FORCEINLINE HRESULT IInkStrokes_ModifyDrawingAttributes(IInkStrokes* This,IInkDrawingAttributes *DrawAttrs) {
  3939. return This->lpVtbl->ModifyDrawingAttributes(This,DrawAttrs);
  3940. }
  3941. static FORCEINLINE HRESULT IInkStrokes_GetBoundingBox(IInkStrokes* This,InkBoundingBoxMode BoundingBoxMode,IInkRectangle **BoundingBox) {
  3942. return This->lpVtbl->GetBoundingBox(This,BoundingBoxMode,BoundingBox);
  3943. }
  3944. static FORCEINLINE HRESULT IInkStrokes_Transform(IInkStrokes* This,IInkTransform *Transform,VARIANT_BOOL ApplyOnPenWidth) {
  3945. return This->lpVtbl->Transform(This,Transform,ApplyOnPenWidth);
  3946. }
  3947. static FORCEINLINE HRESULT IInkStrokes_ScaleToRectangle(IInkStrokes* This,IInkRectangle *Rectangle) {
  3948. return This->lpVtbl->ScaleToRectangle(This,Rectangle);
  3949. }
  3950. static FORCEINLINE HRESULT IInkStrokes_Move(IInkStrokes* This,float HorizontalComponent,float VerticalComponent) {
  3951. return This->lpVtbl->Move(This,HorizontalComponent,VerticalComponent);
  3952. }
  3953. static FORCEINLINE HRESULT IInkStrokes_Rotate(IInkStrokes* This,float Degrees,float x,float y) {
  3954. return This->lpVtbl->Rotate(This,Degrees,x,y);
  3955. }
  3956. static FORCEINLINE HRESULT IInkStrokes_Shear(IInkStrokes* This,float HorizontalMultiplier,float VerticalMultiplier) {
  3957. return This->lpVtbl->Shear(This,HorizontalMultiplier,VerticalMultiplier);
  3958. }
  3959. static FORCEINLINE HRESULT IInkStrokes_ScaleTransform(IInkStrokes* This,float HorizontalMultiplier,float VerticalMultiplier) {
  3960. return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier);
  3961. }
  3962. static FORCEINLINE HRESULT IInkStrokes_Clip(IInkStrokes* This,IInkRectangle *Rectangle) {
  3963. return This->lpVtbl->Clip(This,Rectangle);
  3964. }
  3965. static FORCEINLINE HRESULT IInkStrokes_RemoveRecognitionResult(IInkStrokes* This) {
  3966. return This->lpVtbl->RemoveRecognitionResult(This);
  3967. }
  3968. #endif
  3969. #endif
  3970. #endif
  3971. #endif /* __IInkStrokes_INTERFACE_DEFINED__ */
  3972. /*****************************************************************************
  3973. * IInkRenderer interface
  3974. */
  3975. #ifndef __IInkRenderer_INTERFACE_DEFINED__
  3976. #define __IInkRenderer_INTERFACE_DEFINED__
  3977. DEFINE_GUID(IID_IInkRenderer, 0xe6257a9c, 0xb511, 0x4f4c, 0xa8,0xb0, 0xa7,0xdb,0xc9,0x50,0x6b,0x83);
  3978. #if defined(__cplusplus) && !defined(CINTERFACE)
  3979. MIDL_INTERFACE("e6257a9c-b511-4f4c-a8b0-a7dbc9506b83")
  3980. IInkRenderer : public IDispatch
  3981. {
  3982. virtual HRESULT STDMETHODCALLTYPE GetViewTransform(
  3983. IInkTransform *ViewTransform) = 0;
  3984. virtual HRESULT STDMETHODCALLTYPE SetViewTransform(
  3985. IInkTransform *ViewTransform) = 0;
  3986. virtual HRESULT STDMETHODCALLTYPE GetObjectTransform(
  3987. IInkTransform *ObjectTransform) = 0;
  3988. virtual HRESULT STDMETHODCALLTYPE SetObjectTransform(
  3989. IInkTransform *ObjectTransform) = 0;
  3990. virtual HRESULT STDMETHODCALLTYPE Draw(
  3991. LONG_PTR hDC,
  3992. IInkStrokes *Strokes) = 0;
  3993. virtual HRESULT STDMETHODCALLTYPE DrawStroke(
  3994. LONG_PTR hDC,
  3995. IInkStrokeDisp *Stroke,
  3996. IInkDrawingAttributes *DrawingAttributes = 0) = 0;
  3997. virtual HRESULT STDMETHODCALLTYPE PixelToInkSpace(
  3998. LONG_PTR hDC,
  3999. LONG *x,
  4000. LONG *y) = 0;
  4001. virtual HRESULT STDMETHODCALLTYPE InkSpaceToPixel(
  4002. LONG_PTR hdcDisplay,
  4003. LONG *x,
  4004. LONG *y) = 0;
  4005. virtual HRESULT STDMETHODCALLTYPE PixelToInkSpaceFromPoints(
  4006. LONG_PTR hDC,
  4007. VARIANT *Points) = 0;
  4008. virtual HRESULT STDMETHODCALLTYPE InkSpaceToPixelFromPoints(
  4009. LONG_PTR hDC,
  4010. VARIANT *Points) = 0;
  4011. virtual HRESULT STDMETHODCALLTYPE Measure(
  4012. IInkStrokes *Strokes,
  4013. IInkRectangle **Rectangle) = 0;
  4014. virtual HRESULT STDMETHODCALLTYPE MeasureStroke(
  4015. IInkStrokeDisp *Stroke,
  4016. IInkDrawingAttributes *DrawingAttributes,
  4017. IInkRectangle **Rectangle) = 0;
  4018. virtual HRESULT STDMETHODCALLTYPE Move(
  4019. float HorizontalComponent,
  4020. float VerticalComponent) = 0;
  4021. virtual HRESULT STDMETHODCALLTYPE Rotate(
  4022. float Degrees,
  4023. float x = 0,
  4024. float y = 0) = 0;
  4025. virtual HRESULT STDMETHODCALLTYPE ScaleTransform(
  4026. float HorizontalMultiplier,
  4027. float VerticalMultiplier,
  4028. VARIANT_BOOL ApplyOnPenWidth = -1) = 0;
  4029. };
  4030. #ifdef __CRT_UUID_DECL
  4031. __CRT_UUID_DECL(IInkRenderer, 0xe6257a9c, 0xb511, 0x4f4c, 0xa8,0xb0, 0xa7,0xdb,0xc9,0x50,0x6b,0x83)
  4032. #endif
  4033. #else
  4034. typedef struct IInkRendererVtbl {
  4035. BEGIN_INTERFACE
  4036. /*** IUnknown methods ***/
  4037. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4038. IInkRenderer *This,
  4039. REFIID riid,
  4040. void **ppvObject);
  4041. ULONG (STDMETHODCALLTYPE *AddRef)(
  4042. IInkRenderer *This);
  4043. ULONG (STDMETHODCALLTYPE *Release)(
  4044. IInkRenderer *This);
  4045. /*** IDispatch methods ***/
  4046. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4047. IInkRenderer *This,
  4048. UINT *pctinfo);
  4049. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4050. IInkRenderer *This,
  4051. UINT iTInfo,
  4052. LCID lcid,
  4053. ITypeInfo **ppTInfo);
  4054. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4055. IInkRenderer *This,
  4056. REFIID riid,
  4057. LPOLESTR *rgszNames,
  4058. UINT cNames,
  4059. LCID lcid,
  4060. DISPID *rgDispId);
  4061. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4062. IInkRenderer *This,
  4063. DISPID dispIdMember,
  4064. REFIID riid,
  4065. LCID lcid,
  4066. WORD wFlags,
  4067. DISPPARAMS *pDispParams,
  4068. VARIANT *pVarResult,
  4069. EXCEPINFO *pExcepInfo,
  4070. UINT *puArgErr);
  4071. /*** IInkRenderer methods ***/
  4072. HRESULT (STDMETHODCALLTYPE *GetViewTransform)(
  4073. IInkRenderer *This,
  4074. IInkTransform *ViewTransform);
  4075. HRESULT (STDMETHODCALLTYPE *SetViewTransform)(
  4076. IInkRenderer *This,
  4077. IInkTransform *ViewTransform);
  4078. HRESULT (STDMETHODCALLTYPE *GetObjectTransform)(
  4079. IInkRenderer *This,
  4080. IInkTransform *ObjectTransform);
  4081. HRESULT (STDMETHODCALLTYPE *SetObjectTransform)(
  4082. IInkRenderer *This,
  4083. IInkTransform *ObjectTransform);
  4084. HRESULT (STDMETHODCALLTYPE *Draw)(
  4085. IInkRenderer *This,
  4086. LONG_PTR hDC,
  4087. IInkStrokes *Strokes);
  4088. HRESULT (STDMETHODCALLTYPE *DrawStroke)(
  4089. IInkRenderer *This,
  4090. LONG_PTR hDC,
  4091. IInkStrokeDisp *Stroke,
  4092. IInkDrawingAttributes *DrawingAttributes);
  4093. HRESULT (STDMETHODCALLTYPE *PixelToInkSpace)(
  4094. IInkRenderer *This,
  4095. LONG_PTR hDC,
  4096. LONG *x,
  4097. LONG *y);
  4098. HRESULT (STDMETHODCALLTYPE *InkSpaceToPixel)(
  4099. IInkRenderer *This,
  4100. LONG_PTR hdcDisplay,
  4101. LONG *x,
  4102. LONG *y);
  4103. HRESULT (STDMETHODCALLTYPE *PixelToInkSpaceFromPoints)(
  4104. IInkRenderer *This,
  4105. LONG_PTR hDC,
  4106. VARIANT *Points);
  4107. HRESULT (STDMETHODCALLTYPE *InkSpaceToPixelFromPoints)(
  4108. IInkRenderer *This,
  4109. LONG_PTR hDC,
  4110. VARIANT *Points);
  4111. HRESULT (STDMETHODCALLTYPE *Measure)(
  4112. IInkRenderer *This,
  4113. IInkStrokes *Strokes,
  4114. IInkRectangle **Rectangle);
  4115. HRESULT (STDMETHODCALLTYPE *MeasureStroke)(
  4116. IInkRenderer *This,
  4117. IInkStrokeDisp *Stroke,
  4118. IInkDrawingAttributes *DrawingAttributes,
  4119. IInkRectangle **Rectangle);
  4120. HRESULT (STDMETHODCALLTYPE *Move)(
  4121. IInkRenderer *This,
  4122. float HorizontalComponent,
  4123. float VerticalComponent);
  4124. HRESULT (STDMETHODCALLTYPE *Rotate)(
  4125. IInkRenderer *This,
  4126. float Degrees,
  4127. float x,
  4128. float y);
  4129. HRESULT (STDMETHODCALLTYPE *ScaleTransform)(
  4130. IInkRenderer *This,
  4131. float HorizontalMultiplier,
  4132. float VerticalMultiplier,
  4133. VARIANT_BOOL ApplyOnPenWidth);
  4134. END_INTERFACE
  4135. } IInkRendererVtbl;
  4136. interface IInkRenderer {
  4137. CONST_VTBL IInkRendererVtbl* lpVtbl;
  4138. };
  4139. #ifdef COBJMACROS
  4140. #ifndef WIDL_C_INLINE_WRAPPERS
  4141. /*** IUnknown methods ***/
  4142. #define IInkRenderer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4143. #define IInkRenderer_AddRef(This) (This)->lpVtbl->AddRef(This)
  4144. #define IInkRenderer_Release(This) (This)->lpVtbl->Release(This)
  4145. /*** IDispatch methods ***/
  4146. #define IInkRenderer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4147. #define IInkRenderer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4148. #define IInkRenderer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4149. #define IInkRenderer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4150. /*** IInkRenderer methods ***/
  4151. #define IInkRenderer_GetViewTransform(This,ViewTransform) (This)->lpVtbl->GetViewTransform(This,ViewTransform)
  4152. #define IInkRenderer_SetViewTransform(This,ViewTransform) (This)->lpVtbl->SetViewTransform(This,ViewTransform)
  4153. #define IInkRenderer_GetObjectTransform(This,ObjectTransform) (This)->lpVtbl->GetObjectTransform(This,ObjectTransform)
  4154. #define IInkRenderer_SetObjectTransform(This,ObjectTransform) (This)->lpVtbl->SetObjectTransform(This,ObjectTransform)
  4155. #define IInkRenderer_Draw(This,hDC,Strokes) (This)->lpVtbl->Draw(This,hDC,Strokes)
  4156. #define IInkRenderer_DrawStroke(This,hDC,Stroke,DrawingAttributes) (This)->lpVtbl->DrawStroke(This,hDC,Stroke,DrawingAttributes)
  4157. #define IInkRenderer_PixelToInkSpace(This,hDC,x,y) (This)->lpVtbl->PixelToInkSpace(This,hDC,x,y)
  4158. #define IInkRenderer_InkSpaceToPixel(This,hdcDisplay,x,y) (This)->lpVtbl->InkSpaceToPixel(This,hdcDisplay,x,y)
  4159. #define IInkRenderer_PixelToInkSpaceFromPoints(This,hDC,Points) (This)->lpVtbl->PixelToInkSpaceFromPoints(This,hDC,Points)
  4160. #define IInkRenderer_InkSpaceToPixelFromPoints(This,hDC,Points) (This)->lpVtbl->InkSpaceToPixelFromPoints(This,hDC,Points)
  4161. #define IInkRenderer_Measure(This,Strokes,Rectangle) (This)->lpVtbl->Measure(This,Strokes,Rectangle)
  4162. #define IInkRenderer_MeasureStroke(This,Stroke,DrawingAttributes,Rectangle) (This)->lpVtbl->MeasureStroke(This,Stroke,DrawingAttributes,Rectangle)
  4163. #define IInkRenderer_Move(This,HorizontalComponent,VerticalComponent) (This)->lpVtbl->Move(This,HorizontalComponent,VerticalComponent)
  4164. #define IInkRenderer_Rotate(This,Degrees,x,y) (This)->lpVtbl->Rotate(This,Degrees,x,y)
  4165. #define IInkRenderer_ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier,ApplyOnPenWidth) (This)->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier,ApplyOnPenWidth)
  4166. #else
  4167. /*** IUnknown methods ***/
  4168. static FORCEINLINE HRESULT IInkRenderer_QueryInterface(IInkRenderer* This,REFIID riid,void **ppvObject) {
  4169. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4170. }
  4171. static FORCEINLINE ULONG IInkRenderer_AddRef(IInkRenderer* This) {
  4172. return This->lpVtbl->AddRef(This);
  4173. }
  4174. static FORCEINLINE ULONG IInkRenderer_Release(IInkRenderer* This) {
  4175. return This->lpVtbl->Release(This);
  4176. }
  4177. /*** IDispatch methods ***/
  4178. static FORCEINLINE HRESULT IInkRenderer_GetTypeInfoCount(IInkRenderer* This,UINT *pctinfo) {
  4179. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  4180. }
  4181. static FORCEINLINE HRESULT IInkRenderer_GetTypeInfo(IInkRenderer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  4182. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  4183. }
  4184. static FORCEINLINE HRESULT IInkRenderer_GetIDsOfNames(IInkRenderer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  4185. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  4186. }
  4187. static FORCEINLINE HRESULT IInkRenderer_Invoke(IInkRenderer* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  4188. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  4189. }
  4190. /*** IInkRenderer methods ***/
  4191. static FORCEINLINE HRESULT IInkRenderer_GetViewTransform(IInkRenderer* This,IInkTransform *ViewTransform) {
  4192. return This->lpVtbl->GetViewTransform(This,ViewTransform);
  4193. }
  4194. static FORCEINLINE HRESULT IInkRenderer_SetViewTransform(IInkRenderer* This,IInkTransform *ViewTransform) {
  4195. return This->lpVtbl->SetViewTransform(This,ViewTransform);
  4196. }
  4197. static FORCEINLINE HRESULT IInkRenderer_GetObjectTransform(IInkRenderer* This,IInkTransform *ObjectTransform) {
  4198. return This->lpVtbl->GetObjectTransform(This,ObjectTransform);
  4199. }
  4200. static FORCEINLINE HRESULT IInkRenderer_SetObjectTransform(IInkRenderer* This,IInkTransform *ObjectTransform) {
  4201. return This->lpVtbl->SetObjectTransform(This,ObjectTransform);
  4202. }
  4203. static FORCEINLINE HRESULT IInkRenderer_Draw(IInkRenderer* This,LONG_PTR hDC,IInkStrokes *Strokes) {
  4204. return This->lpVtbl->Draw(This,hDC,Strokes);
  4205. }
  4206. static FORCEINLINE HRESULT IInkRenderer_DrawStroke(IInkRenderer* This,LONG_PTR hDC,IInkStrokeDisp *Stroke,IInkDrawingAttributes *DrawingAttributes) {
  4207. return This->lpVtbl->DrawStroke(This,hDC,Stroke,DrawingAttributes);
  4208. }
  4209. static FORCEINLINE HRESULT IInkRenderer_PixelToInkSpace(IInkRenderer* This,LONG_PTR hDC,LONG *x,LONG *y) {
  4210. return This->lpVtbl->PixelToInkSpace(This,hDC,x,y);
  4211. }
  4212. static FORCEINLINE HRESULT IInkRenderer_InkSpaceToPixel(IInkRenderer* This,LONG_PTR hdcDisplay,LONG *x,LONG *y) {
  4213. return This->lpVtbl->InkSpaceToPixel(This,hdcDisplay,x,y);
  4214. }
  4215. static FORCEINLINE HRESULT IInkRenderer_PixelToInkSpaceFromPoints(IInkRenderer* This,LONG_PTR hDC,VARIANT *Points) {
  4216. return This->lpVtbl->PixelToInkSpaceFromPoints(This,hDC,Points);
  4217. }
  4218. static FORCEINLINE HRESULT IInkRenderer_InkSpaceToPixelFromPoints(IInkRenderer* This,LONG_PTR hDC,VARIANT *Points) {
  4219. return This->lpVtbl->InkSpaceToPixelFromPoints(This,hDC,Points);
  4220. }
  4221. static FORCEINLINE HRESULT IInkRenderer_Measure(IInkRenderer* This,IInkStrokes *Strokes,IInkRectangle **Rectangle) {
  4222. return This->lpVtbl->Measure(This,Strokes,Rectangle);
  4223. }
  4224. static FORCEINLINE HRESULT IInkRenderer_MeasureStroke(IInkRenderer* This,IInkStrokeDisp *Stroke,IInkDrawingAttributes *DrawingAttributes,IInkRectangle **Rectangle) {
  4225. return This->lpVtbl->MeasureStroke(This,Stroke,DrawingAttributes,Rectangle);
  4226. }
  4227. static FORCEINLINE HRESULT IInkRenderer_Move(IInkRenderer* This,float HorizontalComponent,float VerticalComponent) {
  4228. return This->lpVtbl->Move(This,HorizontalComponent,VerticalComponent);
  4229. }
  4230. static FORCEINLINE HRESULT IInkRenderer_Rotate(IInkRenderer* This,float Degrees,float x,float y) {
  4231. return This->lpVtbl->Rotate(This,Degrees,x,y);
  4232. }
  4233. static FORCEINLINE HRESULT IInkRenderer_ScaleTransform(IInkRenderer* This,float HorizontalMultiplier,float VerticalMultiplier,VARIANT_BOOL ApplyOnPenWidth) {
  4234. return This->lpVtbl->ScaleTransform(This,HorizontalMultiplier,VerticalMultiplier,ApplyOnPenWidth);
  4235. }
  4236. #endif
  4237. #endif
  4238. #endif
  4239. #endif /* __IInkRenderer_INTERFACE_DEFINED__ */
  4240. /*****************************************************************************
  4241. * IInkCursors interface
  4242. */
  4243. #ifndef __IInkCursors_INTERFACE_DEFINED__
  4244. #define __IInkCursors_INTERFACE_DEFINED__
  4245. DEFINE_GUID(IID_IInkCursors, 0xa248c1ac, 0xc698, 0x4e06, 0x9e,0x5c, 0xd5,0x7f,0x77,0xc7,0xe6,0x47);
  4246. #if defined(__cplusplus) && !defined(CINTERFACE)
  4247. MIDL_INTERFACE("a248c1ac-c698-4e06-9e5c-d57f77c7e647")
  4248. IInkCursors : public IDispatch
  4249. {
  4250. virtual HRESULT STDMETHODCALLTYPE get_Count(
  4251. LONG *Count) = 0;
  4252. virtual HRESULT STDMETHODCALLTYPE get__NewEnum(
  4253. IUnknown **_NewEnum) = 0;
  4254. virtual HRESULT STDMETHODCALLTYPE Item(
  4255. LONG Index,
  4256. IInkCursor **Cursor) = 0;
  4257. };
  4258. #ifdef __CRT_UUID_DECL
  4259. __CRT_UUID_DECL(IInkCursors, 0xa248c1ac, 0xc698, 0x4e06, 0x9e,0x5c, 0xd5,0x7f,0x77,0xc7,0xe6,0x47)
  4260. #endif
  4261. #else
  4262. typedef struct IInkCursorsVtbl {
  4263. BEGIN_INTERFACE
  4264. /*** IUnknown methods ***/
  4265. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4266. IInkCursors *This,
  4267. REFIID riid,
  4268. void **ppvObject);
  4269. ULONG (STDMETHODCALLTYPE *AddRef)(
  4270. IInkCursors *This);
  4271. ULONG (STDMETHODCALLTYPE *Release)(
  4272. IInkCursors *This);
  4273. /*** IDispatch methods ***/
  4274. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4275. IInkCursors *This,
  4276. UINT *pctinfo);
  4277. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4278. IInkCursors *This,
  4279. UINT iTInfo,
  4280. LCID lcid,
  4281. ITypeInfo **ppTInfo);
  4282. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4283. IInkCursors *This,
  4284. REFIID riid,
  4285. LPOLESTR *rgszNames,
  4286. UINT cNames,
  4287. LCID lcid,
  4288. DISPID *rgDispId);
  4289. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4290. IInkCursors *This,
  4291. DISPID dispIdMember,
  4292. REFIID riid,
  4293. LCID lcid,
  4294. WORD wFlags,
  4295. DISPPARAMS *pDispParams,
  4296. VARIANT *pVarResult,
  4297. EXCEPINFO *pExcepInfo,
  4298. UINT *puArgErr);
  4299. /*** IInkCursors methods ***/
  4300. HRESULT (STDMETHODCALLTYPE *get_Count)(
  4301. IInkCursors *This,
  4302. LONG *Count);
  4303. HRESULT (STDMETHODCALLTYPE *get__NewEnum)(
  4304. IInkCursors *This,
  4305. IUnknown **_NewEnum);
  4306. HRESULT (STDMETHODCALLTYPE *Item)(
  4307. IInkCursors *This,
  4308. LONG Index,
  4309. IInkCursor **Cursor);
  4310. END_INTERFACE
  4311. } IInkCursorsVtbl;
  4312. interface IInkCursors {
  4313. CONST_VTBL IInkCursorsVtbl* lpVtbl;
  4314. };
  4315. #ifdef COBJMACROS
  4316. #ifndef WIDL_C_INLINE_WRAPPERS
  4317. /*** IUnknown methods ***/
  4318. #define IInkCursors_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4319. #define IInkCursors_AddRef(This) (This)->lpVtbl->AddRef(This)
  4320. #define IInkCursors_Release(This) (This)->lpVtbl->Release(This)
  4321. /*** IDispatch methods ***/
  4322. #define IInkCursors_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4323. #define IInkCursors_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4324. #define IInkCursors_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4325. #define IInkCursors_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4326. /*** IInkCursors methods ***/
  4327. #define IInkCursors_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
  4328. #define IInkCursors_get__NewEnum(This,_NewEnum) (This)->lpVtbl->get__NewEnum(This,_NewEnum)
  4329. #define IInkCursors_Item(This,Index,Cursor) (This)->lpVtbl->Item(This,Index,Cursor)
  4330. #else
  4331. /*** IUnknown methods ***/
  4332. static FORCEINLINE HRESULT IInkCursors_QueryInterface(IInkCursors* This,REFIID riid,void **ppvObject) {
  4333. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4334. }
  4335. static FORCEINLINE ULONG IInkCursors_AddRef(IInkCursors* This) {
  4336. return This->lpVtbl->AddRef(This);
  4337. }
  4338. static FORCEINLINE ULONG IInkCursors_Release(IInkCursors* This) {
  4339. return This->lpVtbl->Release(This);
  4340. }
  4341. /*** IDispatch methods ***/
  4342. static FORCEINLINE HRESULT IInkCursors_GetTypeInfoCount(IInkCursors* This,UINT *pctinfo) {
  4343. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  4344. }
  4345. static FORCEINLINE HRESULT IInkCursors_GetTypeInfo(IInkCursors* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  4346. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  4347. }
  4348. static FORCEINLINE HRESULT IInkCursors_GetIDsOfNames(IInkCursors* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  4349. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  4350. }
  4351. static FORCEINLINE HRESULT IInkCursors_Invoke(IInkCursors* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  4352. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  4353. }
  4354. /*** IInkCursors methods ***/
  4355. static FORCEINLINE HRESULT IInkCursors_get_Count(IInkCursors* This,LONG *Count) {
  4356. return This->lpVtbl->get_Count(This,Count);
  4357. }
  4358. static FORCEINLINE HRESULT IInkCursors_get__NewEnum(IInkCursors* This,IUnknown **_NewEnum) {
  4359. return This->lpVtbl->get__NewEnum(This,_NewEnum);
  4360. }
  4361. static FORCEINLINE HRESULT IInkCursors_Item(IInkCursors* This,LONG Index,IInkCursor **Cursor) {
  4362. return This->lpVtbl->Item(This,Index,Cursor);
  4363. }
  4364. #endif
  4365. #endif
  4366. #endif
  4367. #endif /* __IInkCursors_INTERFACE_DEFINED__ */
  4368. /*****************************************************************************
  4369. * IInkCollector interface
  4370. */
  4371. #ifndef __IInkCollector_INTERFACE_DEFINED__
  4372. #define __IInkCollector_INTERFACE_DEFINED__
  4373. DEFINE_GUID(IID_IInkCollector, 0xf0f060b5, 0x8b1f, 0x4a7c, 0x89,0xec, 0x88,0x06,0x92,0x58,0x8a,0x4f);
  4374. #if defined(__cplusplus) && !defined(CINTERFACE)
  4375. MIDL_INTERFACE("f0f060b5-8b1f-4a7c-89ec-880692588a4f")
  4376. IInkCollector : public IDispatch
  4377. {
  4378. virtual HRESULT STDMETHODCALLTYPE get_hWnd(
  4379. LONG_PTR *CurrentWindow) = 0;
  4380. virtual HRESULT STDMETHODCALLTYPE put_hWnd(
  4381. LONG_PTR NewWindow) = 0;
  4382. virtual HRESULT STDMETHODCALLTYPE get_Enabled(
  4383. VARIANT_BOOL *Collecting) = 0;
  4384. virtual HRESULT STDMETHODCALLTYPE put_Enabled(
  4385. VARIANT_BOOL Collecting) = 0;
  4386. virtual HRESULT STDMETHODCALLTYPE get_DefaultDrawingAttributes(
  4387. IInkDrawingAttributes **CurrentAttributes) = 0;
  4388. virtual HRESULT STDMETHODCALLTYPE putref_DefaultDrawingAttributes(
  4389. IInkDrawingAttributes *NewAttributes) = 0;
  4390. virtual HRESULT STDMETHODCALLTYPE get_Renderer(
  4391. IInkRenderer **CurrentInkRenderer) = 0;
  4392. virtual HRESULT STDMETHODCALLTYPE putref_Renderer(
  4393. IInkRenderer *NewInkRenderer) = 0;
  4394. virtual HRESULT STDMETHODCALLTYPE get_Ink(
  4395. IInkDisp **Ink) = 0;
  4396. virtual HRESULT STDMETHODCALLTYPE putref_Ink(
  4397. IInkDisp *NewInk) = 0;
  4398. virtual HRESULT STDMETHODCALLTYPE get_AutoRedraw(
  4399. VARIANT_BOOL *AutoRedraw) = 0;
  4400. virtual HRESULT STDMETHODCALLTYPE put_AutoRedraw(
  4401. VARIANT_BOOL AutoRedraw) = 0;
  4402. virtual HRESULT STDMETHODCALLTYPE get_CollectingInk(
  4403. VARIANT_BOOL *Collecting) = 0;
  4404. virtual HRESULT STDMETHODCALLTYPE get_CollectionMode(
  4405. InkCollectionMode *Mode) = 0;
  4406. virtual HRESULT STDMETHODCALLTYPE put_CollectionMode(
  4407. InkCollectionMode Mode) = 0;
  4408. virtual HRESULT STDMETHODCALLTYPE get_DynamicRendering(
  4409. VARIANT_BOOL *Enabled) = 0;
  4410. virtual HRESULT STDMETHODCALLTYPE put_DynamicRendering(
  4411. VARIANT_BOOL Enabled) = 0;
  4412. virtual HRESULT STDMETHODCALLTYPE get_DesiredPacketDescription(
  4413. VARIANT *PacketGuids) = 0;
  4414. virtual HRESULT STDMETHODCALLTYPE put_DesiredPacketDescription(
  4415. VARIANT PacketGuids) = 0;
  4416. virtual HRESULT STDMETHODCALLTYPE get_MouseIcon(
  4417. IPictureDisp **MouseIcon) = 0;
  4418. virtual HRESULT STDMETHODCALLTYPE put_MouseIcon(
  4419. IPictureDisp *MouseIcon) = 0;
  4420. virtual HRESULT STDMETHODCALLTYPE putref_MouseIcon(
  4421. IPictureDisp *MouseIcon) = 0;
  4422. virtual HRESULT STDMETHODCALLTYPE get_MousePointer(
  4423. InkMousePointer *MousePointer) = 0;
  4424. virtual HRESULT STDMETHODCALLTYPE put_MousePointer(
  4425. InkMousePointer MousePointer) = 0;
  4426. virtual HRESULT STDMETHODCALLTYPE get_Cursors(
  4427. IInkCursors **Cursors) = 0;
  4428. virtual HRESULT STDMETHODCALLTYPE get_MarginX(
  4429. LONG *MarginX) = 0;
  4430. virtual HRESULT STDMETHODCALLTYPE put_MarginX(
  4431. LONG MarginX) = 0;
  4432. virtual HRESULT STDMETHODCALLTYPE get_MarginY(
  4433. LONG *MarginY) = 0;
  4434. virtual HRESULT STDMETHODCALLTYPE put_MarginY(
  4435. LONG MarginY) = 0;
  4436. virtual HRESULT STDMETHODCALLTYPE get_Tablet(
  4437. IInkTablet **SingleTablet) = 0;
  4438. virtual HRESULT STDMETHODCALLTYPE get_SupportHighContrastInk(
  4439. VARIANT_BOOL *Support) = 0;
  4440. virtual HRESULT STDMETHODCALLTYPE put_SupportHighContrastInk(
  4441. VARIANT_BOOL Support) = 0;
  4442. virtual HRESULT STDMETHODCALLTYPE SetGestureStatus(
  4443. InkApplicationGesture Gesture,
  4444. VARIANT_BOOL Listen) = 0;
  4445. virtual HRESULT STDMETHODCALLTYPE GetGestureStatus(
  4446. InkApplicationGesture Gesture,
  4447. VARIANT_BOOL *Listening) = 0;
  4448. virtual HRESULT STDMETHODCALLTYPE GetWindowInputRectangle(
  4449. IInkRectangle **WindowInputRectangle) = 0;
  4450. virtual HRESULT STDMETHODCALLTYPE SetWindowInputRectangle(
  4451. IInkRectangle *WindowInputRectangle) = 0;
  4452. virtual HRESULT STDMETHODCALLTYPE SetAllTabletsMode(
  4453. VARIANT_BOOL UseMouseForInput = -1) = 0;
  4454. virtual HRESULT STDMETHODCALLTYPE SetSingleTabletIntegratedMode(
  4455. IInkTablet *Tablet) = 0;
  4456. virtual HRESULT STDMETHODCALLTYPE GetEventInterest(
  4457. InkCollectorEventInterest EventId,
  4458. VARIANT_BOOL *Listen) = 0;
  4459. virtual HRESULT STDMETHODCALLTYPE SetEventInterest(
  4460. InkCollectorEventInterest EventId,
  4461. VARIANT_BOOL Listen) = 0;
  4462. };
  4463. #ifdef __CRT_UUID_DECL
  4464. __CRT_UUID_DECL(IInkCollector, 0xf0f060b5, 0x8b1f, 0x4a7c, 0x89,0xec, 0x88,0x06,0x92,0x58,0x8a,0x4f)
  4465. #endif
  4466. #else
  4467. typedef struct IInkCollectorVtbl {
  4468. BEGIN_INTERFACE
  4469. /*** IUnknown methods ***/
  4470. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4471. IInkCollector *This,
  4472. REFIID riid,
  4473. void **ppvObject);
  4474. ULONG (STDMETHODCALLTYPE *AddRef)(
  4475. IInkCollector *This);
  4476. ULONG (STDMETHODCALLTYPE *Release)(
  4477. IInkCollector *This);
  4478. /*** IDispatch methods ***/
  4479. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4480. IInkCollector *This,
  4481. UINT *pctinfo);
  4482. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4483. IInkCollector *This,
  4484. UINT iTInfo,
  4485. LCID lcid,
  4486. ITypeInfo **ppTInfo);
  4487. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4488. IInkCollector *This,
  4489. REFIID riid,
  4490. LPOLESTR *rgszNames,
  4491. UINT cNames,
  4492. LCID lcid,
  4493. DISPID *rgDispId);
  4494. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4495. IInkCollector *This,
  4496. DISPID dispIdMember,
  4497. REFIID riid,
  4498. LCID lcid,
  4499. WORD wFlags,
  4500. DISPPARAMS *pDispParams,
  4501. VARIANT *pVarResult,
  4502. EXCEPINFO *pExcepInfo,
  4503. UINT *puArgErr);
  4504. /*** IInkCollector methods ***/
  4505. HRESULT (STDMETHODCALLTYPE *get_hWnd)(
  4506. IInkCollector *This,
  4507. LONG_PTR *CurrentWindow);
  4508. HRESULT (STDMETHODCALLTYPE *put_hWnd)(
  4509. IInkCollector *This,
  4510. LONG_PTR NewWindow);
  4511. HRESULT (STDMETHODCALLTYPE *get_Enabled)(
  4512. IInkCollector *This,
  4513. VARIANT_BOOL *Collecting);
  4514. HRESULT (STDMETHODCALLTYPE *put_Enabled)(
  4515. IInkCollector *This,
  4516. VARIANT_BOOL Collecting);
  4517. HRESULT (STDMETHODCALLTYPE *get_DefaultDrawingAttributes)(
  4518. IInkCollector *This,
  4519. IInkDrawingAttributes **CurrentAttributes);
  4520. HRESULT (STDMETHODCALLTYPE *putref_DefaultDrawingAttributes)(
  4521. IInkCollector *This,
  4522. IInkDrawingAttributes *NewAttributes);
  4523. HRESULT (STDMETHODCALLTYPE *get_Renderer)(
  4524. IInkCollector *This,
  4525. IInkRenderer **CurrentInkRenderer);
  4526. HRESULT (STDMETHODCALLTYPE *putref_Renderer)(
  4527. IInkCollector *This,
  4528. IInkRenderer *NewInkRenderer);
  4529. HRESULT (STDMETHODCALLTYPE *get_Ink)(
  4530. IInkCollector *This,
  4531. IInkDisp **Ink);
  4532. HRESULT (STDMETHODCALLTYPE *putref_Ink)(
  4533. IInkCollector *This,
  4534. IInkDisp *NewInk);
  4535. HRESULT (STDMETHODCALLTYPE *get_AutoRedraw)(
  4536. IInkCollector *This,
  4537. VARIANT_BOOL *AutoRedraw);
  4538. HRESULT (STDMETHODCALLTYPE *put_AutoRedraw)(
  4539. IInkCollector *This,
  4540. VARIANT_BOOL AutoRedraw);
  4541. HRESULT (STDMETHODCALLTYPE *get_CollectingInk)(
  4542. IInkCollector *This,
  4543. VARIANT_BOOL *Collecting);
  4544. HRESULT (STDMETHODCALLTYPE *get_CollectionMode)(
  4545. IInkCollector *This,
  4546. InkCollectionMode *Mode);
  4547. HRESULT (STDMETHODCALLTYPE *put_CollectionMode)(
  4548. IInkCollector *This,
  4549. InkCollectionMode Mode);
  4550. HRESULT (STDMETHODCALLTYPE *get_DynamicRendering)(
  4551. IInkCollector *This,
  4552. VARIANT_BOOL *Enabled);
  4553. HRESULT (STDMETHODCALLTYPE *put_DynamicRendering)(
  4554. IInkCollector *This,
  4555. VARIANT_BOOL Enabled);
  4556. HRESULT (STDMETHODCALLTYPE *get_DesiredPacketDescription)(
  4557. IInkCollector *This,
  4558. VARIANT *PacketGuids);
  4559. HRESULT (STDMETHODCALLTYPE *put_DesiredPacketDescription)(
  4560. IInkCollector *This,
  4561. VARIANT PacketGuids);
  4562. HRESULT (STDMETHODCALLTYPE *get_MouseIcon)(
  4563. IInkCollector *This,
  4564. IPictureDisp **MouseIcon);
  4565. HRESULT (STDMETHODCALLTYPE *put_MouseIcon)(
  4566. IInkCollector *This,
  4567. IPictureDisp *MouseIcon);
  4568. HRESULT (STDMETHODCALLTYPE *putref_MouseIcon)(
  4569. IInkCollector *This,
  4570. IPictureDisp *MouseIcon);
  4571. HRESULT (STDMETHODCALLTYPE *get_MousePointer)(
  4572. IInkCollector *This,
  4573. InkMousePointer *MousePointer);
  4574. HRESULT (STDMETHODCALLTYPE *put_MousePointer)(
  4575. IInkCollector *This,
  4576. InkMousePointer MousePointer);
  4577. HRESULT (STDMETHODCALLTYPE *get_Cursors)(
  4578. IInkCollector *This,
  4579. IInkCursors **Cursors);
  4580. HRESULT (STDMETHODCALLTYPE *get_MarginX)(
  4581. IInkCollector *This,
  4582. LONG *MarginX);
  4583. HRESULT (STDMETHODCALLTYPE *put_MarginX)(
  4584. IInkCollector *This,
  4585. LONG MarginX);
  4586. HRESULT (STDMETHODCALLTYPE *get_MarginY)(
  4587. IInkCollector *This,
  4588. LONG *MarginY);
  4589. HRESULT (STDMETHODCALLTYPE *put_MarginY)(
  4590. IInkCollector *This,
  4591. LONG MarginY);
  4592. HRESULT (STDMETHODCALLTYPE *get_Tablet)(
  4593. IInkCollector *This,
  4594. IInkTablet **SingleTablet);
  4595. HRESULT (STDMETHODCALLTYPE *get_SupportHighContrastInk)(
  4596. IInkCollector *This,
  4597. VARIANT_BOOL *Support);
  4598. HRESULT (STDMETHODCALLTYPE *put_SupportHighContrastInk)(
  4599. IInkCollector *This,
  4600. VARIANT_BOOL Support);
  4601. HRESULT (STDMETHODCALLTYPE *SetGestureStatus)(
  4602. IInkCollector *This,
  4603. InkApplicationGesture Gesture,
  4604. VARIANT_BOOL Listen);
  4605. HRESULT (STDMETHODCALLTYPE *GetGestureStatus)(
  4606. IInkCollector *This,
  4607. InkApplicationGesture Gesture,
  4608. VARIANT_BOOL *Listening);
  4609. HRESULT (STDMETHODCALLTYPE *GetWindowInputRectangle)(
  4610. IInkCollector *This,
  4611. IInkRectangle **WindowInputRectangle);
  4612. HRESULT (STDMETHODCALLTYPE *SetWindowInputRectangle)(
  4613. IInkCollector *This,
  4614. IInkRectangle *WindowInputRectangle);
  4615. HRESULT (STDMETHODCALLTYPE *SetAllTabletsMode)(
  4616. IInkCollector *This,
  4617. VARIANT_BOOL UseMouseForInput);
  4618. HRESULT (STDMETHODCALLTYPE *SetSingleTabletIntegratedMode)(
  4619. IInkCollector *This,
  4620. IInkTablet *Tablet);
  4621. HRESULT (STDMETHODCALLTYPE *GetEventInterest)(
  4622. IInkCollector *This,
  4623. InkCollectorEventInterest EventId,
  4624. VARIANT_BOOL *Listen);
  4625. HRESULT (STDMETHODCALLTYPE *SetEventInterest)(
  4626. IInkCollector *This,
  4627. InkCollectorEventInterest EventId,
  4628. VARIANT_BOOL Listen);
  4629. END_INTERFACE
  4630. } IInkCollectorVtbl;
  4631. interface IInkCollector {
  4632. CONST_VTBL IInkCollectorVtbl* lpVtbl;
  4633. };
  4634. #ifdef COBJMACROS
  4635. #ifndef WIDL_C_INLINE_WRAPPERS
  4636. /*** IUnknown methods ***/
  4637. #define IInkCollector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4638. #define IInkCollector_AddRef(This) (This)->lpVtbl->AddRef(This)
  4639. #define IInkCollector_Release(This) (This)->lpVtbl->Release(This)
  4640. /*** IDispatch methods ***/
  4641. #define IInkCollector_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4642. #define IInkCollector_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4643. #define IInkCollector_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4644. #define IInkCollector_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4645. /*** IInkCollector methods ***/
  4646. #define IInkCollector_get_hWnd(This,CurrentWindow) (This)->lpVtbl->get_hWnd(This,CurrentWindow)
  4647. #define IInkCollector_put_hWnd(This,NewWindow) (This)->lpVtbl->put_hWnd(This,NewWindow)
  4648. #define IInkCollector_get_Enabled(This,Collecting) (This)->lpVtbl->get_Enabled(This,Collecting)
  4649. #define IInkCollector_put_Enabled(This,Collecting) (This)->lpVtbl->put_Enabled(This,Collecting)
  4650. #define IInkCollector_get_DefaultDrawingAttributes(This,CurrentAttributes) (This)->lpVtbl->get_DefaultDrawingAttributes(This,CurrentAttributes)
  4651. #define IInkCollector_putref_DefaultDrawingAttributes(This,NewAttributes) (This)->lpVtbl->putref_DefaultDrawingAttributes(This,NewAttributes)
  4652. #define IInkCollector_get_Renderer(This,CurrentInkRenderer) (This)->lpVtbl->get_Renderer(This,CurrentInkRenderer)
  4653. #define IInkCollector_putref_Renderer(This,NewInkRenderer) (This)->lpVtbl->putref_Renderer(This,NewInkRenderer)
  4654. #define IInkCollector_get_Ink(This,Ink) (This)->lpVtbl->get_Ink(This,Ink)
  4655. #define IInkCollector_putref_Ink(This,NewInk) (This)->lpVtbl->putref_Ink(This,NewInk)
  4656. #define IInkCollector_get_AutoRedraw(This,AutoRedraw) (This)->lpVtbl->get_AutoRedraw(This,AutoRedraw)
  4657. #define IInkCollector_put_AutoRedraw(This,AutoRedraw) (This)->lpVtbl->put_AutoRedraw(This,AutoRedraw)
  4658. #define IInkCollector_get_CollectingInk(This,Collecting) (This)->lpVtbl->get_CollectingInk(This,Collecting)
  4659. #define IInkCollector_get_CollectionMode(This,Mode) (This)->lpVtbl->get_CollectionMode(This,Mode)
  4660. #define IInkCollector_put_CollectionMode(This,Mode) (This)->lpVtbl->put_CollectionMode(This,Mode)
  4661. #define IInkCollector_get_DynamicRendering(This,Enabled) (This)->lpVtbl->get_DynamicRendering(This,Enabled)
  4662. #define IInkCollector_put_DynamicRendering(This,Enabled) (This)->lpVtbl->put_DynamicRendering(This,Enabled)
  4663. #define IInkCollector_get_DesiredPacketDescription(This,PacketGuids) (This)->lpVtbl->get_DesiredPacketDescription(This,PacketGuids)
  4664. #define IInkCollector_put_DesiredPacketDescription(This,PacketGuids) (This)->lpVtbl->put_DesiredPacketDescription(This,PacketGuids)
  4665. #define IInkCollector_get_MouseIcon(This,MouseIcon) (This)->lpVtbl->get_MouseIcon(This,MouseIcon)
  4666. #define IInkCollector_put_MouseIcon(This,MouseIcon) (This)->lpVtbl->put_MouseIcon(This,MouseIcon)
  4667. #define IInkCollector_putref_MouseIcon(This,MouseIcon) (This)->lpVtbl->putref_MouseIcon(This,MouseIcon)
  4668. #define IInkCollector_get_MousePointer(This,MousePointer) (This)->lpVtbl->get_MousePointer(This,MousePointer)
  4669. #define IInkCollector_put_MousePointer(This,MousePointer) (This)->lpVtbl->put_MousePointer(This,MousePointer)
  4670. #define IInkCollector_get_Cursors(This,Cursors) (This)->lpVtbl->get_Cursors(This,Cursors)
  4671. #define IInkCollector_get_MarginX(This,MarginX) (This)->lpVtbl->get_MarginX(This,MarginX)
  4672. #define IInkCollector_put_MarginX(This,MarginX) (This)->lpVtbl->put_MarginX(This,MarginX)
  4673. #define IInkCollector_get_MarginY(This,MarginY) (This)->lpVtbl->get_MarginY(This,MarginY)
  4674. #define IInkCollector_put_MarginY(This,MarginY) (This)->lpVtbl->put_MarginY(This,MarginY)
  4675. #define IInkCollector_get_Tablet(This,SingleTablet) (This)->lpVtbl->get_Tablet(This,SingleTablet)
  4676. #define IInkCollector_get_SupportHighContrastInk(This,Support) (This)->lpVtbl->get_SupportHighContrastInk(This,Support)
  4677. #define IInkCollector_put_SupportHighContrastInk(This,Support) (This)->lpVtbl->put_SupportHighContrastInk(This,Support)
  4678. #define IInkCollector_SetGestureStatus(This,Gesture,Listen) (This)->lpVtbl->SetGestureStatus(This,Gesture,Listen)
  4679. #define IInkCollector_GetGestureStatus(This,Gesture,Listening) (This)->lpVtbl->GetGestureStatus(This,Gesture,Listening)
  4680. #define IInkCollector_GetWindowInputRectangle(This,WindowInputRectangle) (This)->lpVtbl->GetWindowInputRectangle(This,WindowInputRectangle)
  4681. #define IInkCollector_SetWindowInputRectangle(This,WindowInputRectangle) (This)->lpVtbl->SetWindowInputRectangle(This,WindowInputRectangle)
  4682. #define IInkCollector_SetAllTabletsMode(This,UseMouseForInput) (This)->lpVtbl->SetAllTabletsMode(This,UseMouseForInput)
  4683. #define IInkCollector_SetSingleTabletIntegratedMode(This,Tablet) (This)->lpVtbl->SetSingleTabletIntegratedMode(This,Tablet)
  4684. #define IInkCollector_GetEventInterest(This,EventId,Listen) (This)->lpVtbl->GetEventInterest(This,EventId,Listen)
  4685. #define IInkCollector_SetEventInterest(This,EventId,Listen) (This)->lpVtbl->SetEventInterest(This,EventId,Listen)
  4686. #else
  4687. /*** IUnknown methods ***/
  4688. static FORCEINLINE HRESULT IInkCollector_QueryInterface(IInkCollector* This,REFIID riid,void **ppvObject) {
  4689. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4690. }
  4691. static FORCEINLINE ULONG IInkCollector_AddRef(IInkCollector* This) {
  4692. return This->lpVtbl->AddRef(This);
  4693. }
  4694. static FORCEINLINE ULONG IInkCollector_Release(IInkCollector* This) {
  4695. return This->lpVtbl->Release(This);
  4696. }
  4697. /*** IDispatch methods ***/
  4698. static FORCEINLINE HRESULT IInkCollector_GetTypeInfoCount(IInkCollector* This,UINT *pctinfo) {
  4699. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  4700. }
  4701. static FORCEINLINE HRESULT IInkCollector_GetTypeInfo(IInkCollector* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  4702. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  4703. }
  4704. static FORCEINLINE HRESULT IInkCollector_GetIDsOfNames(IInkCollector* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  4705. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  4706. }
  4707. static FORCEINLINE HRESULT IInkCollector_Invoke(IInkCollector* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  4708. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  4709. }
  4710. /*** IInkCollector methods ***/
  4711. static FORCEINLINE HRESULT IInkCollector_get_hWnd(IInkCollector* This,LONG_PTR *CurrentWindow) {
  4712. return This->lpVtbl->get_hWnd(This,CurrentWindow);
  4713. }
  4714. static FORCEINLINE HRESULT IInkCollector_put_hWnd(IInkCollector* This,LONG_PTR NewWindow) {
  4715. return This->lpVtbl->put_hWnd(This,NewWindow);
  4716. }
  4717. static FORCEINLINE HRESULT IInkCollector_get_Enabled(IInkCollector* This,VARIANT_BOOL *Collecting) {
  4718. return This->lpVtbl->get_Enabled(This,Collecting);
  4719. }
  4720. static FORCEINLINE HRESULT IInkCollector_put_Enabled(IInkCollector* This,VARIANT_BOOL Collecting) {
  4721. return This->lpVtbl->put_Enabled(This,Collecting);
  4722. }
  4723. static FORCEINLINE HRESULT IInkCollector_get_DefaultDrawingAttributes(IInkCollector* This,IInkDrawingAttributes **CurrentAttributes) {
  4724. return This->lpVtbl->get_DefaultDrawingAttributes(This,CurrentAttributes);
  4725. }
  4726. static FORCEINLINE HRESULT IInkCollector_putref_DefaultDrawingAttributes(IInkCollector* This,IInkDrawingAttributes *NewAttributes) {
  4727. return This->lpVtbl->putref_DefaultDrawingAttributes(This,NewAttributes);
  4728. }
  4729. static FORCEINLINE HRESULT IInkCollector_get_Renderer(IInkCollector* This,IInkRenderer **CurrentInkRenderer) {
  4730. return This->lpVtbl->get_Renderer(This,CurrentInkRenderer);
  4731. }
  4732. static FORCEINLINE HRESULT IInkCollector_putref_Renderer(IInkCollector* This,IInkRenderer *NewInkRenderer) {
  4733. return This->lpVtbl->putref_Renderer(This,NewInkRenderer);
  4734. }
  4735. static FORCEINLINE HRESULT IInkCollector_get_Ink(IInkCollector* This,IInkDisp **Ink) {
  4736. return This->lpVtbl->get_Ink(This,Ink);
  4737. }
  4738. static FORCEINLINE HRESULT IInkCollector_putref_Ink(IInkCollector* This,IInkDisp *NewInk) {
  4739. return This->lpVtbl->putref_Ink(This,NewInk);
  4740. }
  4741. static FORCEINLINE HRESULT IInkCollector_get_AutoRedraw(IInkCollector* This,VARIANT_BOOL *AutoRedraw) {
  4742. return This->lpVtbl->get_AutoRedraw(This,AutoRedraw);
  4743. }
  4744. static FORCEINLINE HRESULT IInkCollector_put_AutoRedraw(IInkCollector* This,VARIANT_BOOL AutoRedraw) {
  4745. return This->lpVtbl->put_AutoRedraw(This,AutoRedraw);
  4746. }
  4747. static FORCEINLINE HRESULT IInkCollector_get_CollectingInk(IInkCollector* This,VARIANT_BOOL *Collecting) {
  4748. return This->lpVtbl->get_CollectingInk(This,Collecting);
  4749. }
  4750. static FORCEINLINE HRESULT IInkCollector_get_CollectionMode(IInkCollector* This,InkCollectionMode *Mode) {
  4751. return This->lpVtbl->get_CollectionMode(This,Mode);
  4752. }
  4753. static FORCEINLINE HRESULT IInkCollector_put_CollectionMode(IInkCollector* This,InkCollectionMode Mode) {
  4754. return This->lpVtbl->put_CollectionMode(This,Mode);
  4755. }
  4756. static FORCEINLINE HRESULT IInkCollector_get_DynamicRendering(IInkCollector* This,VARIANT_BOOL *Enabled) {
  4757. return This->lpVtbl->get_DynamicRendering(This,Enabled);
  4758. }
  4759. static FORCEINLINE HRESULT IInkCollector_put_DynamicRendering(IInkCollector* This,VARIANT_BOOL Enabled) {
  4760. return This->lpVtbl->put_DynamicRendering(This,Enabled);
  4761. }
  4762. static FORCEINLINE HRESULT IInkCollector_get_DesiredPacketDescription(IInkCollector* This,VARIANT *PacketGuids) {
  4763. return This->lpVtbl->get_DesiredPacketDescription(This,PacketGuids);
  4764. }
  4765. static FORCEINLINE HRESULT IInkCollector_put_DesiredPacketDescription(IInkCollector* This,VARIANT PacketGuids) {
  4766. return This->lpVtbl->put_DesiredPacketDescription(This,PacketGuids);
  4767. }
  4768. static FORCEINLINE HRESULT IInkCollector_get_MouseIcon(IInkCollector* This,IPictureDisp **MouseIcon) {
  4769. return This->lpVtbl->get_MouseIcon(This,MouseIcon);
  4770. }
  4771. static FORCEINLINE HRESULT IInkCollector_put_MouseIcon(IInkCollector* This,IPictureDisp *MouseIcon) {
  4772. return This->lpVtbl->put_MouseIcon(This,MouseIcon);
  4773. }
  4774. static FORCEINLINE HRESULT IInkCollector_putref_MouseIcon(IInkCollector* This,IPictureDisp *MouseIcon) {
  4775. return This->lpVtbl->putref_MouseIcon(This,MouseIcon);
  4776. }
  4777. static FORCEINLINE HRESULT IInkCollector_get_MousePointer(IInkCollector* This,InkMousePointer *MousePointer) {
  4778. return This->lpVtbl->get_MousePointer(This,MousePointer);
  4779. }
  4780. static FORCEINLINE HRESULT IInkCollector_put_MousePointer(IInkCollector* This,InkMousePointer MousePointer) {
  4781. return This->lpVtbl->put_MousePointer(This,MousePointer);
  4782. }
  4783. static FORCEINLINE HRESULT IInkCollector_get_Cursors(IInkCollector* This,IInkCursors **Cursors) {
  4784. return This->lpVtbl->get_Cursors(This,Cursors);
  4785. }
  4786. static FORCEINLINE HRESULT IInkCollector_get_MarginX(IInkCollector* This,LONG *MarginX) {
  4787. return This->lpVtbl->get_MarginX(This,MarginX);
  4788. }
  4789. static FORCEINLINE HRESULT IInkCollector_put_MarginX(IInkCollector* This,LONG MarginX) {
  4790. return This->lpVtbl->put_MarginX(This,MarginX);
  4791. }
  4792. static FORCEINLINE HRESULT IInkCollector_get_MarginY(IInkCollector* This,LONG *MarginY) {
  4793. return This->lpVtbl->get_MarginY(This,MarginY);
  4794. }
  4795. static FORCEINLINE HRESULT IInkCollector_put_MarginY(IInkCollector* This,LONG MarginY) {
  4796. return This->lpVtbl->put_MarginY(This,MarginY);
  4797. }
  4798. static FORCEINLINE HRESULT IInkCollector_get_Tablet(IInkCollector* This,IInkTablet **SingleTablet) {
  4799. return This->lpVtbl->get_Tablet(This,SingleTablet);
  4800. }
  4801. static FORCEINLINE HRESULT IInkCollector_get_SupportHighContrastInk(IInkCollector* This,VARIANT_BOOL *Support) {
  4802. return This->lpVtbl->get_SupportHighContrastInk(This,Support);
  4803. }
  4804. static FORCEINLINE HRESULT IInkCollector_put_SupportHighContrastInk(IInkCollector* This,VARIANT_BOOL Support) {
  4805. return This->lpVtbl->put_SupportHighContrastInk(This,Support);
  4806. }
  4807. static FORCEINLINE HRESULT IInkCollector_SetGestureStatus(IInkCollector* This,InkApplicationGesture Gesture,VARIANT_BOOL Listen) {
  4808. return This->lpVtbl->SetGestureStatus(This,Gesture,Listen);
  4809. }
  4810. static FORCEINLINE HRESULT IInkCollector_GetGestureStatus(IInkCollector* This,InkApplicationGesture Gesture,VARIANT_BOOL *Listening) {
  4811. return This->lpVtbl->GetGestureStatus(This,Gesture,Listening);
  4812. }
  4813. static FORCEINLINE HRESULT IInkCollector_GetWindowInputRectangle(IInkCollector* This,IInkRectangle **WindowInputRectangle) {
  4814. return This->lpVtbl->GetWindowInputRectangle(This,WindowInputRectangle);
  4815. }
  4816. static FORCEINLINE HRESULT IInkCollector_SetWindowInputRectangle(IInkCollector* This,IInkRectangle *WindowInputRectangle) {
  4817. return This->lpVtbl->SetWindowInputRectangle(This,WindowInputRectangle);
  4818. }
  4819. static FORCEINLINE HRESULT IInkCollector_SetAllTabletsMode(IInkCollector* This,VARIANT_BOOL UseMouseForInput) {
  4820. return This->lpVtbl->SetAllTabletsMode(This,UseMouseForInput);
  4821. }
  4822. static FORCEINLINE HRESULT IInkCollector_SetSingleTabletIntegratedMode(IInkCollector* This,IInkTablet *Tablet) {
  4823. return This->lpVtbl->SetSingleTabletIntegratedMode(This,Tablet);
  4824. }
  4825. static FORCEINLINE HRESULT IInkCollector_GetEventInterest(IInkCollector* This,InkCollectorEventInterest EventId,VARIANT_BOOL *Listen) {
  4826. return This->lpVtbl->GetEventInterest(This,EventId,Listen);
  4827. }
  4828. static FORCEINLINE HRESULT IInkCollector_SetEventInterest(IInkCollector* This,InkCollectorEventInterest EventId,VARIANT_BOOL Listen) {
  4829. return This->lpVtbl->SetEventInterest(This,EventId,Listen);
  4830. }
  4831. #endif
  4832. #endif
  4833. #endif
  4834. #endif /* __IInkCollector_INTERFACE_DEFINED__ */
  4835. /*****************************************************************************
  4836. * _IInkCollectorEvents dispinterface
  4837. */
  4838. #ifndef ___IInkCollectorEvents_DISPINTERFACE_DEFINED__
  4839. #define ___IInkCollectorEvents_DISPINTERFACE_DEFINED__
  4840. DEFINE_GUID(DIID__IInkCollectorEvents, 0x11a583f2, 0x712d, 0x4fea, 0xab,0xcf, 0xab,0x4a,0xf3,0x8e,0xa0,0x6b);
  4841. #if defined(__cplusplus) && !defined(CINTERFACE)
  4842. MIDL_INTERFACE("11a583f2-712d-4fea-abcf-ab4af38ea06b")
  4843. _IInkCollectorEvents : public IDispatch
  4844. {
  4845. };
  4846. #ifdef __CRT_UUID_DECL
  4847. __CRT_UUID_DECL(_IInkCollectorEvents, 0x11a583f2, 0x712d, 0x4fea, 0xab,0xcf, 0xab,0x4a,0xf3,0x8e,0xa0,0x6b)
  4848. #endif
  4849. #else
  4850. typedef struct _IInkCollectorEventsVtbl {
  4851. BEGIN_INTERFACE
  4852. /*** IUnknown methods ***/
  4853. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4854. _IInkCollectorEvents *This,
  4855. REFIID riid,
  4856. void **ppvObject);
  4857. ULONG (STDMETHODCALLTYPE *AddRef)(
  4858. _IInkCollectorEvents *This);
  4859. ULONG (STDMETHODCALLTYPE *Release)(
  4860. _IInkCollectorEvents *This);
  4861. /*** IDispatch methods ***/
  4862. HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
  4863. _IInkCollectorEvents *This,
  4864. UINT *pctinfo);
  4865. HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
  4866. _IInkCollectorEvents *This,
  4867. UINT iTInfo,
  4868. LCID lcid,
  4869. ITypeInfo **ppTInfo);
  4870. HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
  4871. _IInkCollectorEvents *This,
  4872. REFIID riid,
  4873. LPOLESTR *rgszNames,
  4874. UINT cNames,
  4875. LCID lcid,
  4876. DISPID *rgDispId);
  4877. HRESULT (STDMETHODCALLTYPE *Invoke)(
  4878. _IInkCollectorEvents *This,
  4879. DISPID dispIdMember,
  4880. REFIID riid,
  4881. LCID lcid,
  4882. WORD wFlags,
  4883. DISPPARAMS *pDispParams,
  4884. VARIANT *pVarResult,
  4885. EXCEPINFO *pExcepInfo,
  4886. UINT *puArgErr);
  4887. END_INTERFACE
  4888. } _IInkCollectorEventsVtbl;
  4889. interface _IInkCollectorEvents {
  4890. CONST_VTBL _IInkCollectorEventsVtbl* lpVtbl;
  4891. };
  4892. #ifdef COBJMACROS
  4893. #ifndef WIDL_C_INLINE_WRAPPERS
  4894. /*** IUnknown methods ***/
  4895. #define _IInkCollectorEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4896. #define _IInkCollectorEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
  4897. #define _IInkCollectorEvents_Release(This) (This)->lpVtbl->Release(This)
  4898. /*** IDispatch methods ***/
  4899. #define _IInkCollectorEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
  4900. #define _IInkCollectorEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4901. #define _IInkCollectorEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4902. #define _IInkCollectorEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4903. #else
  4904. /*** IUnknown methods ***/
  4905. static FORCEINLINE HRESULT _IInkCollectorEvents_QueryInterface(_IInkCollectorEvents* This,REFIID riid,void **ppvObject) {
  4906. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4907. }
  4908. static FORCEINLINE ULONG _IInkCollectorEvents_AddRef(_IInkCollectorEvents* This) {
  4909. return This->lpVtbl->AddRef(This);
  4910. }
  4911. static FORCEINLINE ULONG _IInkCollectorEvents_Release(_IInkCollectorEvents* This) {
  4912. return This->lpVtbl->Release(This);
  4913. }
  4914. /*** IDispatch methods ***/
  4915. static FORCEINLINE HRESULT _IInkCollectorEvents_GetTypeInfoCount(_IInkCollectorEvents* This,UINT *pctinfo) {
  4916. return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
  4917. }
  4918. static FORCEINLINE HRESULT _IInkCollectorEvents_GetTypeInfo(_IInkCollectorEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
  4919. return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
  4920. }
  4921. static FORCEINLINE HRESULT _IInkCollectorEvents_GetIDsOfNames(_IInkCollectorEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
  4922. return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
  4923. }
  4924. static FORCEINLINE HRESULT _IInkCollectorEvents_Invoke(_IInkCollectorEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
  4925. return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
  4926. }
  4927. #endif
  4928. #endif
  4929. #endif
  4930. #endif /* ___IInkCollectorEvents_DISPINTERFACE_DEFINED__ */
  4931. /*****************************************************************************
  4932. * InkCollector coclass
  4933. */
  4934. DEFINE_GUID(CLSID_InkCollector, 0x43fb1553, 0xad74, 0x4ee8, 0x88,0xe4, 0x3e,0x6d,0xaa,0xc9,0x15,0xdb);
  4935. #ifdef __cplusplus
  4936. class DECLSPEC_UUID("43fb1553-ad74-4ee8-88e4-3e6daac915db") InkCollector;
  4937. #ifdef __CRT_UUID_DECL
  4938. __CRT_UUID_DECL(InkCollector, 0x43fb1553, 0xad74, 0x4ee8, 0x88,0xe4, 0x3e,0x6d,0xaa,0xc9,0x15,0xdb)
  4939. #endif
  4940. #endif
  4941. /* Begin additional prototypes for all interfaces */
  4942. ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
  4943. unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
  4944. unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
  4945. void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
  4946. ULONG __RPC_USER VARIANT_UserSize (ULONG *, ULONG, VARIANT *);
  4947. unsigned char * __RPC_USER VARIANT_UserMarshal (ULONG *, unsigned char *, VARIANT *);
  4948. unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
  4949. void __RPC_USER VARIANT_UserFree (ULONG *, VARIANT *);
  4950. /* End additional prototypes */
  4951. #ifdef __cplusplus
  4952. }
  4953. #endif
  4954. #endif /* __msinkaut_h__ */