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)
42 TRACE("(%p, 0x%04x)\n", dc, hfont);
44 hPreviousFont = dc->hFont;
50 /***********************************************************************
51 * TTYDRV_DC_PEN_SelectObject
53 static HPEN TTYDRV_DC_PEN_SelectObject(DC *dc, HBRUSH hpen)
57 TRACE("(%p, 0x%04x)\n", dc, hpen);
59 hPreviousPen = dc->hPen;
65 /***********************************************************************
66 * TTYDRV_DC_SelectObject
68 HGDIOBJ TTYDRV_DC_SelectObject(DC *dc, HGDIOBJ handle)
70 GDIOBJHDR *ptr = GDI_GetObjPtr(handle, MAGIC_DONTCARE);
75 switch(GDIMAGIC(ptr->wMagic))
78 result = TTYDRV_DC_BITMAP_SelectObject(dc, handle, (BITMAPOBJ *) ptr);
81 result = TTYDRV_DC_BRUSH_SelectObject(dc, handle);
84 result = TTYDRV_DC_FONT_SelectObject(dc, handle);
87 result = TTYDRV_DC_PEN_SelectObject(dc, handle);
90 /* FIXME: Shouldn't be handled here */
91 result = (HGDIOBJ) SelectClipRgn(dc->hSelf, handle);
94 ERR("handle (0x%04x) has unknown magic (0x%04x)\n",
95 handle, GDIMAGIC(ptr->wMagic));
98 GDI_ReleaseObj(handle);
103 /***********************************************************************
104 * TTYDRV_DC_DeleteObject
106 BOOL TTYDRV_DC_DeleteObject(HGDIOBJ handle)
108 GDIOBJHDR *ptr = GDI_GetObjPtr(handle, MAGIC_DONTCARE);
111 if(!ptr) return FALSE;
113 switch(GDIMAGIC(ptr->wMagic))
116 result = TTYDRV_DC_BITMAP_DeleteObject(handle, (BITMAPOBJ *) ptr);
125 ERR("handle (0x%04x) has unknown magic (0x%04x)\n",
126 handle, GDIMAGIC(ptr->wMagic));
130 GDI_ReleaseObj(handle);