4 * Copyright 1999 Patrik Stridvall
14 #include "debugtools.h"
16 DEFAULT_DEBUG_CHANNEL(ttydrv);
18 /**********************************************************************/
20 extern HBITMAP TTYDRV_DC_BITMAP_SelectObject(DC *dc, HBITMAP hbitmap, BITMAPOBJ *bitmap);
21 extern BOOL TTYDRV_DC_BITMAP_DeleteObject(HBITMAP hbitmap, BITMAPOBJ *bitmap);
24 /***********************************************************************
25 * TTYDRV_DC_BRUSH_SelectObject
27 static HBRUSH TTYDRV_DC_BRUSH_SelectObject(DC *dc, HBRUSH hbrush, BRUSHOBJ *brush)
29 HBRUSH hPreviousBrush;
31 TRACE("(%p, 0x%04x, %p)\n", dc, hbrush, brush);
33 hPreviousBrush = dc->w.hBrush;
34 dc->w.hBrush = hbrush;
36 return hPreviousBrush;
39 /***********************************************************************
40 * TTYDRV_DC_FONT_SelectObject
42 static HFONT TTYDRV_DC_FONT_SelectObject(DC* dc, HFONT hfont, FONTOBJ *font)
46 TRACE("(%p, 0x%04x, %p)\n", dc, hfont, font);
48 hPreviousFont = dc->w.hFont;
54 /***********************************************************************
55 * TTYDRV_DC_PEN_SelectObject
57 static HPEN TTYDRV_DC_PEN_SelectObject(DC *dc, HBRUSH hpen, PENOBJ *pen)
61 TRACE("(%p, 0x%04x, %p)\n", dc, hpen, pen);
63 hPreviousPen = dc->w.hPen;
69 /***********************************************************************
70 * TTYDRV_DC_SelectObject
72 HGDIOBJ TTYDRV_DC_SelectObject(DC *dc, HGDIOBJ handle)
74 GDIOBJHDR *ptr = GDI_GetObjPtr(handle, MAGIC_DONTCARE);
82 result = TTYDRV_DC_BITMAP_SelectObject(dc, handle, (BITMAPOBJ *) ptr);
85 result = TTYDRV_DC_BRUSH_SelectObject(dc, handle, (BRUSHOBJ *) ptr);
88 result = TTYDRV_DC_FONT_SelectObject(dc, handle, (FONTOBJ *) ptr);
91 result = TTYDRV_DC_PEN_SelectObject(dc, handle, (PENOBJ *) ptr);
94 /* FIXME: Shouldn't be handled here */
95 result = (HGDIOBJ) SelectClipRgn(dc->hSelf, handle);
98 ERR("handle (0x%04x) has unknown magic (0x%04x)\n", handle, ptr->wMagic);
101 GDI_ReleaseObj(handle);
106 /***********************************************************************
107 * TTYDRV_DC_DeleteObject
109 BOOL TTYDRV_DC_DeleteObject(HGDIOBJ handle)
111 GDIOBJHDR *ptr = GDI_GetObjPtr(handle, MAGIC_DONTCARE);
114 if(!ptr) return FALSE;
119 result = TTYDRV_DC_BITMAP_DeleteObject(handle, (BITMAPOBJ *) ptr);
128 ERR("handle (0x%04x) has unknown magic (0x%04x)\n", handle, ptr->wMagic);
132 GDI_ReleaseObj(handle);