Release 980628
[wine] / graphics / psdrv / objects.c
1 /*
2  *      Postscript driver object handling
3  *
4  *      Copyright 1998  Huw D M Davies
5  *
6  */
7
8 #include "windows.h"
9 #include "psdrv.h"
10 #include "font.h"
11 #include "pen.h"
12 #include "brush.h"
13 #include "bitmap.h"
14 #include "debug.h"
15
16 /***********************************************************************
17  *           PSDRV_BITMAP_SelectObject
18  */
19 static HBITMAP16 PSDRV_BITMAP_SelectObject( DC * dc, HBITMAP16 hbitmap,
20                                             BITMAPOBJ * bmp )
21 {
22     FIXME(psdrv, "stub\n");
23     return 0;
24 }
25
26
27 /***********************************************************************
28  *           PSDRV_BRUSH_SelectObject
29  */
30 static HBRUSH32 PSDRV_BRUSH_SelectObject( DC * dc, HBRUSH32 hbrush,
31                                           BRUSHOBJ * brush )
32 {
33     FIXME(psdrv, "stub\n");
34     return 0;
35 }
36
37
38 /***********************************************************************
39  *           PSDRV_PEN_SelectObject
40  */
41 static HPEN32 PSDRV_PEN_SelectObject( DC * dc, HPEN32 hpen, PENOBJ * pen )
42 {
43     FIXME(psdrv, "stub\n");
44     return 0;
45 }
46
47
48 /***********************************************************************
49  *           PSDRV_SelectObject
50  */
51 HGDIOBJ32 PSDRV_SelectObject( DC *dc, HGDIOBJ32 handle )
52 {
53     GDIOBJHDR * ptr = GDI_GetObjPtr( handle, MAGIC_DONTCARE );
54     HGDIOBJ32 ret = 0;
55
56     if (!ptr) return 0;
57     TRACE(psdrv, "hdc=%04x %04x\n", dc->hSelf, handle );
58     
59     switch(ptr->wMagic)
60     {
61       case PEN_MAGIC:
62           ret = PSDRV_PEN_SelectObject( dc, handle, (PENOBJ *)ptr );
63           break;
64       case BRUSH_MAGIC:
65           ret = PSDRV_BRUSH_SelectObject( dc, handle, (BRUSHOBJ *)ptr );
66           break;
67       case BITMAP_MAGIC:
68           ret = PSDRV_BITMAP_SelectObject( dc, handle, (BITMAPOBJ *)ptr );
69           break;
70       case FONT_MAGIC:
71           ret = PSDRV_FONT_SelectObject( dc, handle, (FONTOBJ *)ptr );    
72           break;
73       case REGION_MAGIC:
74           ret = (HGDIOBJ16)SelectClipRgn16( dc->hSelf, handle );
75           break;
76       default:
77           ERR(psdrv, "Unknown object magic %04x\n", ptr->wMagic);
78           break;
79     }
80     GDI_HEAP_UNLOCK( handle );
81     return ret;
82 }