4 * Copyright 1999 Patrik Stridvall
12 #include "debugtools.h"
14 DEFAULT_DEBUG_CHANNEL(ttydrv);
16 /**********************************************************************/
18 extern HBITMAP TTYDRV_DC_BITMAP_SelectObject(DC *dc, HBITMAP hbitmap, BITMAPOBJ *bitmap);
19 extern BOOL TTYDRV_DC_BITMAP_DeleteObject(HBITMAP hbitmap, BITMAPOBJ *bitmap);
22 /***********************************************************************
23 * TTYDRV_DC_BRUSH_SelectObject
25 static HBRUSH TTYDRV_DC_BRUSH_SelectObject(DC *dc, HBRUSH hbrush)
27 HBRUSH hPreviousBrush;
29 TRACE("(%p, 0x%04x)\n", dc, hbrush);
31 hPreviousBrush = dc->hBrush;
34 return hPreviousBrush;
37 /***********************************************************************
38 * TTYDRV_DC_FONT_SelectObject
40 static HFONT TTYDRV_DC_FONT_SelectObject(DC* dc, HFONT hfont)
42 TRACE("(%p, 0x%04x)\n", dc, hfont);
44 return TRUE; /* Use device font */
47 /***********************************************************************
48 * TTYDRV_DC_PEN_SelectObject
50 static HPEN TTYDRV_DC_PEN_SelectObject(DC *dc, HBRUSH hpen)
54 TRACE("(%p, 0x%04x)\n", dc, hpen);
56 hPreviousPen = dc->hPen;
62 /***********************************************************************
63 * TTYDRV_DC_SelectObject
65 HGDIOBJ TTYDRV_DC_SelectObject(DC *dc, HGDIOBJ handle)
67 GDIOBJHDR *ptr = GDI_GetObjPtr(handle, MAGIC_DONTCARE);
72 switch(GDIMAGIC(ptr->wMagic))
75 result = TTYDRV_DC_BITMAP_SelectObject(dc, handle, (BITMAPOBJ *) ptr);
78 result = TTYDRV_DC_BRUSH_SelectObject(dc, handle);
81 result = TTYDRV_DC_FONT_SelectObject(dc, handle);
84 result = TTYDRV_DC_PEN_SelectObject(dc, handle);
87 /* FIXME: Shouldn't be handled here */
88 result = (HGDIOBJ) SelectClipRgn(dc->hSelf, handle);
91 ERR("handle (0x%04x) has unknown magic (0x%04x)\n",
92 handle, GDIMAGIC(ptr->wMagic));
95 GDI_ReleaseObj(handle);
100 /***********************************************************************
101 * TTYDRV_DC_DeleteObject
103 BOOL TTYDRV_DC_DeleteObject(HGDIOBJ handle)
105 GDIOBJHDR *ptr = GDI_GetObjPtr(handle, MAGIC_DONTCARE);
108 if(!ptr) return FALSE;
110 switch(GDIMAGIC(ptr->wMagic))
113 result = TTYDRV_DC_BITMAP_DeleteObject(handle, (BITMAPOBJ *) ptr);
122 ERR("handle (0x%04x) has unknown magic (0x%04x)\n",
123 handle, GDIMAGIC(ptr->wMagic));
127 GDI_ReleaseObj(handle);