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
);