update for HEAD-2003091401
[reactos.git] / subsys / win32k / stubs / stubs.c
1 /*
2  * Stubs for unimplemented WIN32K.SYS exports
3  */
4
5 #undef WIN32_LEAN_AND_MEAN
6 #include <windows.h>
7 #include <stdlib.h>
8 #include <win32k/bitmaps.h>
9 #include <win32k/debug.h>
10 #include <debug.h>
11 #include <ddk/winddi.h>
12 #include "../eng/objects.h"
13 #include <include/error.h>
14
15 #define STUB(x) void x(void) { DbgPrint("WIN32K: Stub for %s\n", #x); }
16
17 #ifndef UNIMPLEMENTED
18 #define UNIMPLEMENTED DbgPrint("(%s:%i) WIN32K: %s UNIMPLEMENTED\n", __FILE__, __LINE__, __FUNCTION__ )
19 #endif//UNIMPLEMENTED
20
21 /*
22  * @unimplemented
23  */
24 BOOL
25 STDCALL
26 EngMapFontFileFD (
27         IN  ULONG_PTR  iFile,
28         OUT PULONG    *ppjBuf,
29         OUT ULONG     *pcjBuf
30         )
31 {
32   // www.osr.com/ddk/graphics/gdifncs_0co7.htm
33   UNIMPLEMENTED;
34   return FALSE;
35 }
36
37 /*
38  * @unimplemented
39  */
40 VOID
41 STDCALL
42 EngUnmapFontFileFD ( IN ULONG_PTR iFile )
43 {
44   // http://www.osr.com/ddk/graphics/gdifncs_6wbr.htm
45   UNIMPLEMENTED;
46 }
47
48 /*
49  * @implemented
50  */
51 BOOL
52 STDCALL
53 EngMapFontFile (
54         ULONG_PTR  iFile,
55         PULONG    *ppjBuf,
56         ULONG     *pcjBuf
57         )
58 {
59   // www.osr.com/ddk/graphics/gdifncs_3up3.htm
60   return EngMapFontFileFD ( iFile, ppjBuf, pcjBuf );
61 }
62
63 /*
64  * @implemented
65  */
66 VOID
67 STDCALL
68 EngUnmapFontFile ( ULONG_PTR iFile )
69 {
70   // www.osr.com/ddk/graphics/gdifncs_09wn.htm
71   return EngUnmapFontFileFD ( iFile );
72 }
73
74 /*
75  * @unimplemented
76  */
77 BOOL
78 STDCALL
79 EngTextOut (
80         SURFOBJ  *pso,
81         STROBJ   *pstro,
82         FONTOBJ  *pfo,
83         CLIPOBJ  *pco,
84         RECTL    *prclExtra,
85         RECTL    *prclOpaque,
86         BRUSHOBJ *pboFore,
87         BRUSHOBJ *pboOpaque,
88         POINTL   *pptlOrg,
89         MIX       mix
90         )
91 {
92   // www.osr.com/ddk/graphics/gdifncs_4tgn.htm
93   UNIMPLEMENTED;
94   return FALSE;
95 }
96
97 /*
98  * @unimplemented
99  */
100 ULONG
101 STDCALL
102 BRUSHOBJ_ulGetBrushColor ( IN BRUSHOBJ  *pbo )
103 {
104   // www.osr.com/ddk/graphics/gdifncs_0ch3.htm
105   UNIMPLEMENTED;
106   return 0;
107 }
108
109 /*
110  * @unimplemented
111  */
112 PATHOBJ*
113 STDCALL
114 CLIPOBJ_ppoGetPath ( IN CLIPOBJ *pco )
115 {
116   // www.osr.com/ddk/graphics/gdifncs_6hbb.htm
117   UNIMPLEMENTED;
118   return 0;
119 }
120
121 /*
122  * @unimplemented
123  */
124 BOOL
125 STDCALL
126 EngCheckAbort ( IN SURFOBJ *pso )
127 {
128   // www.osr.com/ddk/graphics/gdifncs_3u7b.htm
129   UNIMPLEMENTED;
130   return FALSE;
131 }
132
133 /*
134  * @unimplemented
135  */
136 FD_GLYPHSET*
137 STDCALL
138 EngComputeGlyphSet(
139         IN INT nCodePage,
140         IN INT nFirstChar,
141         IN INT cChars
142         )
143 {
144   // www.osr.com/ddk/graphics/gdifncs_9607.htm
145   UNIMPLEMENTED;
146   return NULL;
147 }
148
149 /*
150  * @unimplemented
151  */
152 HDRVOBJ
153 STDCALL
154 EngCreateDriverObj(
155         PVOID        pvObj,
156         FREEOBJPROC  pFreeObjProc,
157         HDEV         hdev
158         )
159 {
160   // www.osr.com/ddk/graphics/gdifncs_8svb.htm
161   UNIMPLEMENTED;
162   return NULL;
163 }
164
165 /*
166  * @unimplemented
167  */
168 PATHOBJ*
169 STDCALL
170 EngCreatePath ( VOID )
171 {
172   // www.osr.com/ddk/graphics/gdifncs_4aav.htm
173   UNIMPLEMENTED;
174   return NULL;
175 }
176
177 /*
178  * @unimplemented
179  */
180 WNDOBJ*
181 STDCALL
182 EngCreateWnd(
183         SURFOBJ          *pso,
184         HWND              hwnd,
185         WNDOBJCHANGEPROC  pfn,
186         FLONG             fl,
187         int               iPixelFormat
188         )
189 {
190   // www.osr.com/ddk/graphics/gdifncs_2ip3.htm
191   UNIMPLEMENTED;
192   return NULL;
193 }
194
195 /*
196  * @unimplemented
197  */
198 BOOL
199 STDCALL
200 EngDeleteDriverObj(
201         IN HDRVOBJ  hdo,
202         IN BOOL  bCallBack,
203         IN BOOL  bLocked
204         )
205 {
206   // www.osr.com/ddk/graphics/gdifncs_0qlj.htm
207   UNIMPLEMENTED;
208   return FALSE;
209 }
210
211 /*
212  * @unimplemented
213  */
214 VOID
215 STDCALL
216 EngDeletePath ( IN PATHOBJ *ppo )
217 {
218   // www.osr.com/ddk/graphics/gdifncs_3fl3.htm
219   UNIMPLEMENTED;
220 }
221
222 /*
223  * @unimplemented
224  */
225 VOID
226 STDCALL
227 EngDeleteWnd ( IN WNDOBJ *pwo )
228 {
229   // www.osr.com/ddk/graphics/gdifncs_2z3b.htm
230   UNIMPLEMENTED;
231 }
232
233 /*
234  * @unimplemented
235  */
236 BOOL
237 STDCALL
238 EngEnumForms (
239         IN  HANDLE   hPrinter,
240         IN  DWORD    Level,
241         OUT LPBYTE   pForm,
242         IN  DWORD    cbBuf,
243         OUT LPDWORD  pcbNeeded,
244         OUT LPDWORD  pcReturned
245         )
246 {
247   // www.osr.com/ddk/graphics/gdifncs_5e07.htm
248   UNIMPLEMENTED;
249   return FALSE;
250 }
251
252 /*
253  * @unimplemented
254  */
255 BOOL
256 STDCALL
257 EngFillPath (
258         IN SURFOBJ   *pso,
259         IN PATHOBJ   *ppo,
260         IN CLIPOBJ   *pco,
261         IN BRUSHOBJ  *pbo,
262         IN POINTL    *pptlBrushOrg,
263         IN MIX        mix,
264         IN FLONG      flOptions
265         )
266 {
267   // www.osr.com/ddk/graphics/gdifncs_9pyf.htm
268   UNIMPLEMENTED;
269   return FALSE;
270 }
271
272 /*
273  * @unimplemented
274  */
275 PVOID
276 STDCALL
277 EngFindImageProcAddress(
278         IN HANDLE  hModule,
279         IN LPSTR   lpProcName
280         )
281 {
282   // www.osr.com/ddk/graphics/gdifncs_0oiw.htm
283   UNIMPLEMENTED;
284   return NULL;
285 }
286
287 /*
288  * @unimplemented
289  */
290 PVOID
291 STDCALL
292 EngFindResource(
293         IN  HANDLE  h,
294         IN  int     iName,
295         IN  int     iType,
296         OUT PULONG  pulSize
297         )
298 {
299   // www.osr.com/ddk/graphics/gdifncs_7rjb.htm
300   UNIMPLEMENTED;
301   return NULL;
302 }
303
304 /*
305  * @unimplemented
306  */
307 VOID
308 STDCALL
309 EngFreeModule ( IN HANDLE h )
310 {
311   // www.osr.com/ddk/graphics/gdifncs_9fzb.htm
312   UNIMPLEMENTED;
313 }
314
315
316 /*
317  * @unimplemented
318  */
319 LPWSTR
320 STDCALL
321 EngGetDriverName ( IN HDEV hdev )
322 {
323   // www.osr.com/ddk/graphics/gdifncs_2gx3.htm
324   UNIMPLEMENTED;
325   return NULL;
326 }
327
328 /*
329  * @unimplemented
330  */
331 BOOL
332 STDCALL
333 EngGetFileChangeTime(
334         IN  HANDLE          h,
335         OUT LARGE_INTEGER  *pChangeTime
336         )
337 {
338   // www.osr.com/ddk/graphics/gdifncs_1i1z.htm
339   UNIMPLEMENTED;
340   return FALSE;
341 }
342
343 /*
344  * @unimplemented
345  */
346 BOOL
347 STDCALL
348 EngGetFilePath(
349         IN  HANDLE h,
350         OUT WCHAR* pDest
351         )
352 {
353   // www.osr.com/ddk/graphics/gdifncs_5g2v.htm
354   UNIMPLEMENTED;
355   return FALSE;
356 }
357
358 /*
359  * @unimplemented
360  */
361 BOOL
362 STDCALL
363 EngGetForm(
364         IN  HANDLE   hPrinter,
365         IN  LPWSTR   pFormName,
366         IN  DWORD    Level,
367         OUT LPBYTE   pForm,
368         IN  DWORD    cbBuf,
369         OUT LPDWORD  pcbNeeded
370         )
371 {
372   // www.osr.com/ddk/graphics/gdifncs_5vvr.htm
373   UNIMPLEMENTED;
374   return FALSE;
375 }
376
377 /*
378  * @implemented
379  */
380 ULONG
381 STDCALL
382 EngGetLastError ( VOID )
383 {
384   // www.osr.com/ddk/graphics/gdifncs_3non.htm
385   return GetLastNtError();
386 }
387
388 /*
389  * @implemented
390  */
391 VOID
392 STDCALL
393 EngSetLastError ( IN ULONG iError )
394 {
395   // www.osr.com/ddk/graphics/gdifncs_95m0.htm
396   SetLastNtError ( iError );
397 }
398
399 /*
400  * @unimplemented
401  */
402 BOOL
403 STDCALL
404 EngGetPrinter(
405         IN  HANDLE   hPrinter,
406         IN  DWORD    dwLevel,
407         OUT LPBYTE   pPrinter,
408         IN  DWORD    cbBuf,
409         OUT LPDWORD  pcbNeeded
410         )
411 {
412   // www.osr.com/ddk/graphics/gdifncs_50h3.htm
413   UNIMPLEMENTED;
414   return FALSE;
415 }
416
417 /*
418  * @unimplemented
419  */
420 DWORD
421 STDCALL
422 EngGetPrinterData(
423         IN  HANDLE   hPrinter,
424         IN  LPWSTR   pValueName,
425         OUT LPDWORD  pType,
426         OUT LPBYTE   pData,
427         IN  DWORD    nSize,
428         OUT LPDWORD  pcbNeeded
429         )
430 {
431   // www.osr.com/ddk/graphics/gdifncs_8t5z.htm
432   UNIMPLEMENTED;
433   return 0;
434 }
435
436 /*
437  * @unimplemented
438  */
439 LPWSTR
440 STDCALL
441 EngGetPrinterDataFileName ( IN HDEV hdev )
442 {
443   // www.osr.com/ddk/graphics/gdifncs_2giv.htm
444   UNIMPLEMENTED;
445   return NULL;
446 }
447
448 /*
449  * @unimplemented ( for NT4 only )
450  */
451 HANDLE
452 STDCALL
453 EngGetProcessHandle ( VOID )
454 {
455   // www.osr.com/ddk/graphics/gdifncs_3tif.htm
456   // In Windows 2000 and later, the EngGetProcessHandle function always returns NULL.
457   // FIXME - what does NT4 return?
458   return NULL;
459 }
460
461 /*
462  * @unimplemented
463  */
464 BOOL
465 STDCALL
466 EngGetType1FontList(
467         IN  HDEV            hdev,
468         OUT TYPE1_FONT     *pType1Buffer,
469         IN  ULONG           cjType1Buffer,
470         OUT PULONG          pulLocalFonts,
471         OUT PULONG          pulRemoteFonts,
472         OUT LARGE_INTEGER  *pLastModified
473         )
474 {
475   // www.osr.com/ddk/graphics/gdifncs_6e5j.htm
476   UNIMPLEMENTED;
477   return FALSE;
478 }
479
480 /*
481  * @unimplemented
482  */
483 HANDLE
484 STDCALL
485 EngLoadModuleForWrite(
486         IN LPWSTR  pwsz,
487         IN ULONG   cjSizeOfModule
488         )
489 {
490   // www.osr.com/ddk/graphics/gdifncs_98rr.htm
491   UNIMPLEMENTED;
492   return NULL;
493 }
494
495 /*
496  * @unimplemented
497  */
498 DRIVEROBJ*
499 STDCALL
500 EngLockDriverObj ( IN HDRVOBJ hdo )
501 {
502   // www.osr.com/ddk/graphics/gdifncs_41if.htm
503   UNIMPLEMENTED;
504   return NULL;
505 }
506
507 /*
508  * @unimplemented
509  */
510 PVOID
511 STDCALL
512 EngMapModule(
513         IN  HANDLE  h,
514         OUT PULONG  pSize
515         )
516 {
517   // www.osr.com/ddk/graphics/gdifncs_9b1j.htm
518   UNIMPLEMENTED;
519   return NULL;
520 }
521
522 /*
523  * @unimplemented
524  */
525 BOOL
526 STDCALL
527 EngMarkBandingSurface ( IN HSURF hsurf )
528 {
529   // www.osr.com/ddk/graphics/gdifncs_2jon.htm
530   UNIMPLEMENTED;
531   return FALSE;
532 }
533
534 /*
535  * @unimplemented
536  */
537 VOID
538 STDCALL
539 EngMovePointer(
540         IN SURFOBJ  *pso,
541         IN LONG      x,
542         IN LONG      y,
543         IN RECTL    *prcl
544         )
545 {
546   // www.osr.com/ddk/graphics/gdifncs_8wfb.htm
547   UNIMPLEMENTED;
548 }
549
550
551 INT
552 STDCALL
553 EngMultiByteToWideChar(
554         IN UINT  CodePage,
555         OUT LPWSTR  WideCharString,
556         IN INT  BytesInWideCharString,
557         IN LPSTR  MultiByteString,
558         IN INT  BytesInMultiByteString
559         )
560 {
561   // www.osr.com/ddk/graphics/gdifncs_32cn.htm
562   UNIMPLEMENTED;
563   return 0;
564 }
565
566 VOID
567 STDCALL
568 EngQueryLocalTime ( OUT PENG_TIME_FIELDS ptf )
569 {
570   // www.osr.com/ddk/graphics/gdifncs_389z.htm
571   UNIMPLEMENTED;
572 }
573
574 ULONG
575 STDCALL
576 EngQueryPalette(
577         IN HPALETTE  hPal,
578         OUT ULONG  *piMode,
579         IN ULONG  cColors,
580         OUT ULONG  *pulColors
581         )
582 {
583   // www.osr.com/ddk/graphics/gdifncs_21t3.htm
584   UNIMPLEMENTED;
585   return 0;
586 }
587
588 BOOL
589 STDCALL
590 EngRestoreFloatingPointState ( IN VOID *pBuffer )
591 {
592   // www.osr.com/ddk/graphics/gdifncs_9l0n.htm
593   UNIMPLEMENTED;
594   return FALSE;
595 }
596
597 ULONG
598 STDCALL
599 EngSaveFloatingPointState(
600         OUT VOID  *pBuffer,
601         IN ULONG  cjBufferSize
602         )
603 {
604   // www.osr.com/ddk/graphics/gdifncs_9tif.htm
605   UNIMPLEMENTED;
606   return 0;
607 }
608
609 ULONG
610 STDCALL
611 EngSetPointerShape(
612         IN SURFOBJ  *pso,
613         IN SURFOBJ  *psoMask,
614         IN SURFOBJ  *psoColor,
615         IN XLATEOBJ  *pxlo,
616         IN LONG  xHot,
617         IN LONG  yHot,
618         IN LONG  x,
619         IN LONG  y,
620         IN RECTL  *prcl,
621         IN FLONG  fl
622         )
623 {
624   // www.osr.com/ddk/graphics/gdifncs_1y5j.htm
625   UNIMPLEMENTED;
626   return 0;
627 }
628
629 BOOL
630 STDCALL
631 EngSetPointerTag(
632         IN HDEV  hdev,
633         IN SURFOBJ  *psoMask,
634         IN SURFOBJ  *psoColor,
635         IN XLATEOBJ  *pxlo,
636         IN FLONG  fl
637         )
638 {
639   // This function is obsolete for Windows 2000 and later.
640   // This function is still supported, but always returns FALSE.
641   // www.osr.com/ddk/graphics/gdifncs_4yav.htm
642   return FALSE;
643 }
644
645 DWORD
646 STDCALL
647 EngSetPrinterData(
648         IN HANDLE  hPrinter,
649         IN LPWSTR  pType,
650         IN DWORD  dwType,
651         IN LPBYTE  lpbPrinterData,
652         IN DWORD  cjPrinterData
653         )
654 {
655   // www.osr.com/ddk/graphics/gdifncs_8drb.htm
656   UNIMPLEMENTED;
657   return 0;
658 }
659
660 BOOL
661 STDCALL
662 EngStretchBlt(
663         IN SURFOBJ  *psoDest,
664         IN SURFOBJ  *psoSrc,
665         IN SURFOBJ  *psoMask,
666         IN CLIPOBJ  *pco,
667         IN XLATEOBJ  *pxlo,
668         IN COLORADJUSTMENT  *pca,
669         IN POINTL  *pptlHTOrg,
670         IN RECTL  *prclDest,
671         IN RECTL  *prclSrc,
672         IN POINTL  *pptlMask,
673         IN ULONG  iMode
674         )
675 {
676   // www.osr.com/ddk/graphics/gdifncs_0bs7.htm
677   UNIMPLEMENTED;
678   return FALSE;
679 }
680
681 BOOL
682 STDCALL
683 EngStrokeAndFillPath(
684         IN SURFOBJ  *pso,
685         IN PATHOBJ  *ppo,
686         IN CLIPOBJ  *pco,
687         IN XFORMOBJ  *pxo,
688         IN BRUSHOBJ  *pboStroke,
689         IN LINEATTRS  *plineattrs,
690         IN BRUSHOBJ  *pboFill,
691         IN POINTL  *pptlBrushOrg,
692         IN MIX  mixFill,
693         IN FLONG  flOptions
694         )
695 {
696   // www.osr.com/ddk/graphics/gdifncs_2xwn.htm
697   UNIMPLEMENTED;
698   return FALSE;
699 }
700
701 BOOL
702 STDCALL
703 EngStrokePath(
704         IN SURFOBJ  *pso,
705         IN PATHOBJ  *ppo,
706         IN CLIPOBJ  *pco,
707         IN XFORMOBJ  *pxo,
708         IN BRUSHOBJ  *pbo,
709         IN POINTL  *pptlBrushOrg,
710         IN LINEATTRS  *plineattrs,
711         IN MIX  mix
712         )
713 {
714   // www.osr.com/ddk/graphics/gdifncs_4yaw.htm
715   UNIMPLEMENTED;
716   return FALSE;
717 }
718
719 VOID
720 STDCALL
721 EngUnloadImage ( IN HANDLE hModule )
722 {
723   // www.osr.com/ddk/graphics/gdifncs_586f.htm
724   UNIMPLEMENTED;
725 }
726
727 BOOL
728 STDCALL
729 EngUnlockDriverObj ( IN HDRVOBJ hdo )
730 {
731   // www.osr.com/ddk/graphics/gdifncs_0l5z.htm
732   UNIMPLEMENTED;
733   return FALSE;
734 }
735
736 INT
737 STDCALL
738 EngWideCharToMultiByte(
739         IN UINT  CodePage,
740         IN LPWSTR  WideCharString,
741         IN INT  BytesInWideCharString,
742         OUT LPSTR  MultiByteString,
743         IN INT  BytesInMultiByteString
744         )
745 {
746   // www.osr.com/ddk/graphics/gdifncs_35wn.htm
747   UNIMPLEMENTED;
748   return 0;
749 }
750
751 BOOL
752 STDCALL
753 EngWritePrinter (
754         IN HANDLE    hPrinter,
755         IN LPVOID    pBuf,
756         IN DWORD     cbBuf,
757         OUT LPDWORD  pcWritten
758         )
759 {
760   // www.osr.com/ddk/graphics/gdifncs_9v6v.htm
761   UNIMPLEMENTED;
762   return FALSE;
763 }
764
765 VOID
766 STDCALL
767 FLOATOBJ_Add (
768         IN OUT PFLOATOBJ  pf,
769         IN PFLOATOBJ      pf1
770         )
771 {
772   // www.osr.com/ddk/graphics/gdifncs_2i3r.htm
773   UNIMPLEMENTED;
774 }
775
776 VOID
777 STDCALL
778 FLOATOBJ_AddFloat(
779         IN OUT PFLOATOBJ  pf,
780         IN FLOATL  f
781         )
782 {
783   // www.osr.com/ddk/graphics/gdifncs_0ip3.htm
784   UNIMPLEMENTED;
785 }
786
787 VOID
788 STDCALL
789 FLOATOBJ_AddLong(
790         IN OUT PFLOATOBJ  pf,
791         IN LONG  l
792         )
793 {
794   // www.osr.com/ddk/graphics/gdifncs_12jr.htm
795   UNIMPLEMENTED;
796 }
797
798 VOID
799 STDCALL
800 FLOATOBJ_Div(
801         IN OUT PFLOATOBJ  pf,
802         IN PFLOATOBJ  pf1
803         )
804 {
805   // www.osr.com/ddk/graphics/gdifncs_3ndz.htm
806   UNIMPLEMENTED;
807 }
808
809 VOID
810 STDCALL
811 FLOATOBJ_DivFloat(
812         IN OUT PFLOATOBJ  pf,
813         IN FLOATL  f
814         )
815 {
816   // www.osr.com/ddk/graphics/gdifncs_0gfb.htm
817   UNIMPLEMENTED;
818 }
819
820 VOID
821 STDCALL
822 FLOATOBJ_DivLong(
823         IN OUT PFLOATOBJ  pf,
824         IN LONG  l
825         )
826 {
827   // www.osr.com/ddk/graphics/gdifncs_6jdz.htm
828   UNIMPLEMENTED;
829 }
830
831 BOOL
832 STDCALL
833 FLOATOBJ_Equal(
834         IN PFLOATOBJ  pf,
835         IN PFLOATOBJ  pf1
836         )
837 {
838   // www.osr.com/ddk/graphics/gdifncs_6ysn.htm
839   UNIMPLEMENTED;
840   return FALSE;
841 }
842
843 BOOL
844 STDCALL
845 FLOATOBJ_EqualLong(
846         IN PFLOATOBJ  pf,
847         IN LONG  l
848         )
849 {
850   // www.osr.com/ddk/graphics/gdifncs_1pgn.htm
851   UNIMPLEMENTED;
852   return FALSE;
853 }
854
855 LONG
856 STDCALL
857 FLOATOBJ_GetFloat ( IN PFLOATOBJ pf )
858 {
859   // www.osr.com/ddk/graphics/gdifncs_4d5z.htm
860   UNIMPLEMENTED;
861   return 0;
862 }
863
864 LONG
865 STDCALL
866 FLOATOBJ_GetLong ( IN PFLOATOBJ pf )
867 {
868   // www.osr.com/ddk/graphics/gdifncs_0tgn.htm
869   UNIMPLEMENTED;
870   return 0;
871 }
872
873 BOOL
874 STDCALL
875 FLOATOBJ_GreaterThan(
876         IN PFLOATOBJ  pf,
877         IN PFLOATOBJ  pf1
878         )
879 {
880   // www.osr.com/ddk/graphics/gdifncs_8n53.htm
881   UNIMPLEMENTED;
882   return FALSE;
883 }
884
885 BOOL
886 STDCALL
887 FLOATOBJ_GreaterThanLong(
888         IN PFLOATOBJ  pf,
889         IN LONG  l
890         )
891 {
892   // www.osr.com/ddk/graphics/gdifncs_6gx3.htm
893   UNIMPLEMENTED;
894   return FALSE;
895 }
896
897 BOOL
898 STDCALL
899 FLOATOBJ_LessThan(
900         IN PFLOATOBJ  pf,
901         IN PFLOATOBJ  pf1
902         )
903 {
904   // www.osr.com/ddk/graphics/gdifncs_1ynb.htm
905   UNIMPLEMENTED;
906   return FALSE;
907 }
908
909 BOOL
910 STDCALL
911 FLOATOBJ_LessThanLong(
912         IN PFLOATOBJ  pf,
913         IN LONG  l
914         )
915 {
916   // www.osr.com/ddk/graphics/gdifncs_9nzb.htm
917   UNIMPLEMENTED;
918   return FALSE;
919 }
920
921 VOID
922 STDCALL
923 FLOATOBJ_Mul(
924         IN OUT PFLOATOBJ  pf,
925         IN PFLOATOBJ  pf1
926         )
927 {
928   // www.osr.com/ddk/graphics/gdifncs_8ppj.htm
929   UNIMPLEMENTED;
930 }
931
932 VOID
933 STDCALL
934 FLOATOBJ_MulFloat(
935         IN OUT PFLOATOBJ  pf,
936         IN FLOATL  f
937         )
938 {
939   // www.osr.com/ddk/graphics/gdifncs_3puv.htm
940   UNIMPLEMENTED;
941 }
942
943 VOID
944 STDCALL
945 FLOATOBJ_MulLong(
946         IN OUT PFLOATOBJ  pf,
947         IN LONG  l
948         )
949 {
950   // www.osr.com/ddk/graphics/gdifncs_56lj.htm
951   UNIMPLEMENTED;
952 }
953
954 VOID
955 STDCALL
956 FLOATOBJ_Neg ( IN OUT PFLOATOBJ pf )
957 {
958   // www.osr.com/ddk/graphics/gdifncs_14pz.htm
959   UNIMPLEMENTED;
960 }
961
962 VOID
963 STDCALL
964 FLOATOBJ_SetFloat(
965         OUT PFLOATOBJ  pf,
966         IN FLOATL  f
967         )
968 {
969   // www.osr.com/ddk/graphics/gdifncs_1prb.htm
970   UNIMPLEMENTED;
971 }
972
973 VOID
974 STDCALL
975 FLOATOBJ_SetLong(
976         OUT PFLOATOBJ  pf,
977         IN LONG  l
978         )
979 {
980   // www.osr.com/ddk/graphics/gdifncs_0gpz.htm
981   UNIMPLEMENTED;
982 }
983
984 VOID
985 STDCALL
986 FLOATOBJ_Sub(
987         IN OUT PFLOATOBJ  pf,
988         IN PFLOATOBJ  pf1
989         )
990 {
991   // www.osr.com/ddk/graphics/gdifncs_6lyf.htm
992   UNIMPLEMENTED;
993 }
994
995 VOID
996 STDCALL
997 FLOATOBJ_SubFloat(
998         IN OUT PFLOATOBJ  pf,
999         IN FLOATL  f
1000         )
1001 {
1002   // www.osr.com/ddk/graphics/gdifncs_2zvr.htm
1003   UNIMPLEMENTED;
1004 }
1005
1006 VOID
1007 STDCALL
1008 FLOATOBJ_SubLong(
1009         IN OUT PFLOATOBJ  pf,
1010         IN LONG  l
1011         )
1012 {
1013   // www.osr.com/ddk/graphics/gdifncs_852f.htm
1014   UNIMPLEMENTED;
1015 }
1016
1017 /*
1018  * @unimplemented
1019  */
1020 ULONG
1021 STDCALL
1022 FONTOBJ_cGetAllGlyphHandles (
1023         IN PFONTOBJ  FontObj,
1024         IN HGLYPH   *Glyphs
1025         )
1026 {
1027   UNIMPLEMENTED;
1028   return 0;
1029 }
1030
1031 /*
1032  * @unimplemented
1033  */
1034 ULONG
1035 STDCALL
1036 FONTOBJ_cGetGlyphs(
1037         IN PFONTOBJ FontObj,
1038         IN ULONG    Mode,
1039         IN ULONG    NumGlyphs,
1040         IN HGLYPH  *GlyphHandles,
1041         IN PVOID   *OutGlyphs
1042         )
1043 {
1044   UNIMPLEMENTED;
1045   return 0;
1046 }
1047
1048 /*
1049  * @unimplemented
1050  */
1051 IFIMETRICS*
1052 STDCALL
1053 FONTOBJ_pifi ( IN PFONTOBJ FontObj )
1054 {
1055   UNIMPLEMENTED;
1056   return NULL;
1057 }
1058
1059 /*
1060  * @unimplemented
1061  */
1062 PVOID
1063 STDCALL
1064 FONTOBJ_pvTrueTypeFontFile (
1065         IN PFONTOBJ  FontObj,
1066         IN ULONG    *FileSize)
1067 {
1068   UNIMPLEMENTED;
1069   return NULL;
1070 }
1071
1072 /*
1073  * @unimplemented
1074  */
1075 XFORMOBJ*
1076 STDCALL
1077 FONTOBJ_pxoGetXform ( IN PFONTOBJ FontObj )
1078 {
1079   UNIMPLEMENTED;
1080   return NULL;
1081 }
1082
1083 /*
1084  * @unimplemented
1085  */
1086 VOID
1087 STDCALL
1088 FONTOBJ_vGetInfo (
1089         IN  PFONTOBJ   FontObj,
1090         IN  ULONG      InfoSize,
1091         OUT PFONTINFO  FontInfo)
1092 {
1093   UNIMPLEMENTED;
1094 }
1095
1096 LONG
1097 STDCALL
1098 HT_ComputeRGBGammaTable(
1099         IN USHORT  GammaTableEntries,
1100         IN USHORT  GammaTableType,
1101         IN USHORT  RedGamma,
1102         IN USHORT  GreenGamma,
1103         IN USHORT  BlueGamma,
1104         OUT LPBYTE  pGammaTable
1105         )
1106 {
1107   // www.osr.com/ddk/graphics/gdifncs_9dpj.htm
1108   UNIMPLEMENTED;
1109   return 0;
1110 }
1111
1112 LONG
1113 STDCALL
1114 HT_Get8BPPFormatPalette(
1115         OUT LPPALETTEENTRY  pPaletteEntry,
1116         IN USHORT  RedGamma,
1117         IN USHORT  GreenGamma,
1118         IN USHORT  BlueGamma
1119         )
1120 {
1121   // www.osr.com/ddk/graphics/gdifncs_8kvb.htm
1122   UNIMPLEMENTED;
1123   return 0;
1124 }
1125
1126 BOOL
1127 STDCALL
1128 PATHOBJ_bCloseFigure ( IN PATHOBJ *ppo )
1129 {
1130   // www.osr.com/ddk/graphics/gdifncs_5mhz.htm
1131   UNIMPLEMENTED;
1132   return FALSE;
1133 }
1134
1135 BOOL
1136 STDCALL
1137 PATHOBJ_bEnum (
1138         IN  PATHOBJ   *ppo,
1139         OUT PATHDATA  *ppd
1140         )
1141 {
1142   // www.osr.com/ddk/graphics/gdifncs_98o7.htm
1143   UNIMPLEMENTED;
1144   return FALSE;
1145 }
1146
1147 BOOL
1148 STDCALL
1149 PATHOBJ_bEnumClipLines(
1150         IN PATHOBJ  *ppo,
1151         IN ULONG  cb,
1152         OUT CLIPLINE  *pcl
1153         )
1154 {
1155   // www.osr.com/ddk/graphics/gdifncs_4147.htm
1156   UNIMPLEMENTED;
1157   return FALSE;
1158 }
1159
1160 BOOL
1161 STDCALL
1162 PATHOBJ_bMoveTo(
1163         IN PATHOBJ  *ppo,
1164         IN POINTFIX  ptfx
1165         )
1166 {
1167   // www.osr.com/ddk/graphics/gdifncs_70vb.htm
1168   UNIMPLEMENTED;
1169   return FALSE;
1170 }
1171
1172 BOOL
1173 STDCALL
1174 PATHOBJ_bPolyBezierTo(
1175         IN PATHOBJ  *ppo,
1176         IN POINTFIX  *pptfx,
1177         IN ULONG  cptfx
1178         )
1179 {
1180   // www.osr.com/ddk/graphics/gdifncs_2c9z.htm
1181   UNIMPLEMENTED;
1182   return FALSE;
1183 }
1184
1185 BOOL
1186 STDCALL
1187 PATHOBJ_bPolyLineTo(
1188         IN PATHOBJ  *ppo,
1189         IN POINTFIX  *pptfx,
1190         IN ULONG  cptfx
1191         )
1192 {
1193   // www.osr.com/ddk/graphics/gdifncs_0x47.htm
1194   UNIMPLEMENTED;
1195   return FALSE;
1196 }
1197
1198 VOID
1199 STDCALL
1200 PATHOBJ_vEnumStart ( IN PATHOBJ *ppo )
1201 {
1202   // www.osr.com/ddk/graphics/gdifncs_74br.htm
1203   UNIMPLEMENTED;
1204 }
1205
1206 VOID
1207 STDCALL
1208 PATHOBJ_vEnumStartClipLines(
1209         IN PATHOBJ  *ppo,
1210         IN CLIPOBJ  *pco,
1211         IN SURFOBJ  *pso,
1212         IN LINEATTRS  *pla
1213         )
1214 {
1215   // www.osr.com/ddk/graphics/gdifncs_5grr.htm
1216   UNIMPLEMENTED;
1217 }
1218
1219 VOID
1220 STDCALL
1221 PATHOBJ_vGetBounds(
1222         IN PATHOBJ  *ppo,
1223         OUT PRECTFX  prectfx
1224         )
1225 {
1226   // www.osr.com/ddk/graphics/gdifncs_8qp3.htm
1227   UNIMPLEMENTED;
1228 }
1229
1230 BOOL
1231 STDCALL
1232 STROBJ_bEnum(
1233         IN STROBJ  *pstro,
1234         OUT ULONG  *pc,
1235         OUT PGLYPHPOS  *ppgpos
1236         )
1237 {
1238   // www.osr.com/ddk/graphics/gdifncs_65uv.htm
1239   UNIMPLEMENTED;
1240   return FALSE;
1241 }
1242
1243 DWORD
1244 STDCALL
1245 STROBJ_dwGetCodePage ( IN STROBJ *pstro )
1246 {
1247   // www.osr.com/ddk/graphics/gdifncs_9jmv.htm
1248   UNIMPLEMENTED;
1249   return 0;
1250 }
1251
1252 VOID
1253 STDCALL
1254 STROBJ_vEnumStart ( IN STROBJ *pstro )
1255 {
1256   // www.osr.com/ddk/graphics/gdifncs_32uf.htm
1257   UNIMPLEMENTED;
1258 }
1259
1260 BOOL
1261 STDCALL
1262 WNDOBJ_bEnum(
1263         IN WNDOBJ  *pwo,
1264         IN ULONG  cj,
1265         OUT ULONG  *pul
1266         )
1267 {
1268   // www.osr.com/ddk/graphics/gdifncs_3jqf.htm
1269   UNIMPLEMENTED;
1270   return FALSE;
1271 }
1272
1273 ULONG
1274 STDCALL
1275 WNDOBJ_cEnumStart(
1276         IN WNDOBJ  *pwo,
1277         IN ULONG  iType,
1278         IN ULONG  iDirection,
1279         IN ULONG  cLimit
1280         )
1281 {
1282   // www.osr.com/ddk/graphics/gdifncs_18o7.htm
1283   UNIMPLEMENTED;
1284   return 0;
1285 }
1286
1287 VOID
1288 STDCALL
1289 WNDOBJ_vSetConsumer(
1290         IN WNDOBJ  *pwo,
1291         IN PVOID  pvConsumer
1292         )
1293 {
1294   // www.osr.com/ddk/graphics/gdifncs_484n.htm
1295   UNIMPLEMENTED;
1296 }
1297
1298 BOOL
1299 STDCALL
1300 XFORMOBJ_bApplyXform(
1301         IN XFORMOBJ  *pxo,
1302         IN ULONG  iMode,
1303         IN ULONG  cPoints,
1304         IN PVOID  pvIn,
1305         OUT PVOID  pvOut
1306         )
1307 {
1308   // www.osr.com/ddk/graphics/gdifncs_027b.htm
1309   UNIMPLEMENTED;
1310   return FALSE;
1311 }
1312
1313 ULONG
1314 STDCALL
1315 XFORMOBJ_iGetFloatObjXform(
1316         IN XFORMOBJ  *pxo,
1317         OUT FLOATOBJ_XFORM  *pxfo
1318         )
1319 {
1320   // www.osr.com/ddk/graphics/gdifncs_5ig7.htm
1321   UNIMPLEMENTED;
1322   return 0;
1323 }
1324
1325 ULONG
1326 STDCALL
1327 XFORMOBJ_iGetXform(
1328         IN XFORMOBJ  *pxo,
1329         OUT XFORML  *pxform
1330         )
1331 {
1332   // www.osr.com/ddk/graphics/gdifncs_0s2v.htm
1333   UNIMPLEMENTED;
1334   return 0;
1335 }
1336
1337 // below here aren't in DDK!!!
1338
1339 STUB(FLOATOBJ_AddFloatObj)
1340 STUB(FLOATOBJ_DivFloatObj)
1341 STUB(FLOATOBJ_MulFloatObj)
1342 STUB(FLOATOBJ_SubFloatObj)