4 * Copyright 1999 Patrik Stridvall
10 #include "debugtools.h"
12 DEFAULT_DEBUG_CHANNEL(ttydrv);
14 /**********************************************************************/
16 extern HBITMAP TTYDRV_DC_BITMAP_SelectObject(DC *dc, HBITMAP hbitmap, BITMAPOBJ *bitmap);
17 extern BOOL TTYDRV_DC_BITMAP_DeleteObject(HBITMAP hbitmap, BITMAPOBJ *bitmap);
20 /***********************************************************************
21 * TTYDRV_DC_BRUSH_SelectObject
23 static HBRUSH TTYDRV_DC_BRUSH_SelectObject(DC *dc, HBRUSH hbrush)
25 HBRUSH hPreviousBrush;
27 TRACE("(%p, 0x%04x)\n", dc, hbrush);
29 hPreviousBrush = dc->hBrush;
32 return hPreviousBrush;
35 /***********************************************************************
36 * TTYDRV_DC_FONT_SelectObject
38 static HFONT TTYDRV_DC_FONT_SelectObject(DC* dc, HFONT hfont)
40 TRACE("(%p, 0x%04x)\n", dc, hfont);
42 return TRUE; /* Use device font */
45 /***********************************************************************
46 * TTYDRV_DC_PEN_SelectObject
48 static HPEN TTYDRV_DC_PEN_SelectObject(DC *dc, HBRUSH hpen)
52 TRACE("(%p, 0x%04x)\n", dc, hpen);
54 hPreviousPen = dc->hPen;
60 /***********************************************************************
61 * TTYDRV_DC_SelectObject
63 HGDIOBJ TTYDRV_DC_SelectObject(DC *dc, HGDIOBJ handle)
65 GDIOBJHDR *ptr = GDI_GetObjPtr(handle, MAGIC_DONTCARE);
70 switch(GDIMAGIC(ptr->wMagic))
73 result = TTYDRV_DC_BITMAP_SelectObject(dc, handle, (BITMAPOBJ *) ptr);
76 result = TTYDRV_DC_BRUSH_SelectObject(dc, handle);
79 result = TTYDRV_DC_FONT_SelectObject(dc, handle);
82 result = TTYDRV_DC_PEN_SelectObject(dc, handle);
85 /* FIXME: Shouldn't be handled here */
86 result = (HGDIOBJ) SelectClipRgn(dc->hSelf, handle);
89 ERR("handle (0x%04x) has unknown magic (0x%04x)\n",
90 handle, GDIMAGIC(ptr->wMagic));
93 GDI_ReleaseObj(handle);
98 /***********************************************************************
99 * TTYDRV_DC_DeleteObject
101 BOOL TTYDRV_DC_DeleteObject(HGDIOBJ handle)
103 GDIOBJHDR *ptr = GDI_GetObjPtr(handle, MAGIC_DONTCARE);
106 if(!ptr) return FALSE;
108 switch(GDIMAGIC(ptr->wMagic))
111 result = TTYDRV_DC_BITMAP_DeleteObject(handle, (BITMAPOBJ *) ptr);
120 ERR("handle (0x%04x) has unknown magic (0x%04x)\n",
121 handle, GDIMAGIC(ptr->wMagic));
125 GDI_ReleaseObj(handle);