Removed some unnecessary #includes and dll dependencies.
[wine.git] / graphics / ttydrv / dc.c
blob7c9a8d9cfa3ba789f6378cb61fd428199bb6ce4c
1 /*
2 * TTY DC driver
4 * Copyright 1999 Patrik Stridvall
5 */
7 #include "config.h"
9 #include "gdi.h"
10 #include "bitmap.h"
11 #include "dc.h"
12 #include "ttydrv.h"
13 #include "winbase.h"
14 #include "debugtools.h"
16 DEFAULT_DEBUG_CHANNEL(ttydrv);
18 /**********************************************************************/
20 extern DeviceCaps TTYDRV_DC_DevCaps;
22 /***********************************************************************
23 * TTYDRV_DC_CreateDC
25 BOOL TTYDRV_DC_CreateDC(DC *dc, LPCSTR driver, LPCSTR device,
26 LPCSTR output, const DEVMODEA *initData)
28 TTYDRV_PDEVICE *physDev;
29 BITMAPOBJ *bmp;
31 TRACE("(%p, %s, %s, %s, %p)\n",
32 dc, debugstr_a(driver), debugstr_a(device),
33 debugstr_a(output), initData);
35 dc->physDev = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
36 sizeof(TTYDRV_PDEVICE));
37 if(!dc->physDev) {
38 ERR("Can't allocate physDev\n");
39 return FALSE;
41 physDev = (TTYDRV_PDEVICE *) dc->physDev;
43 dc->w.devCaps = &TTYDRV_DC_DevCaps;
45 if(dc->w.flags & DC_MEMORY){
46 physDev->window = NULL;
47 physDev->cellWidth = 1;
48 physDev->cellHeight = 1;
50 TTYDRV_DC_CreateBitmap(dc->w.hBitmap);
51 bmp = (BITMAPOBJ *) GDI_GetObjPtr(dc->w.hBitmap, BITMAP_MAGIC);
53 dc->w.bitsPerPixel = bmp->bitmap.bmBitsPixel;
55 dc->w.totalExtent.left = 0;
56 dc->w.totalExtent.top = 0;
57 dc->w.totalExtent.right = bmp->bitmap.bmWidth;
58 dc->w.totalExtent.bottom = bmp->bitmap.bmHeight;
59 dc->w.hVisRgn = CreateRectRgnIndirect( &dc->w.totalExtent );
61 GDI_HEAP_UNLOCK( dc->w.hBitmap );
62 } else {
63 physDev->window = TTYDRV_GetRootWindow();
64 physDev->cellWidth = cell_width;
65 physDev->cellHeight = cell_height;
67 dc->w.bitsPerPixel = 1;
68 dc->w.totalExtent.left = 0;
69 dc->w.totalExtent.top = 0;
70 dc->w.totalExtent.right = cell_width * screen_cols;
71 dc->w.totalExtent.bottom = cell_height * screen_rows;
72 dc->w.hVisRgn = CreateRectRgnIndirect( &dc->w.totalExtent );
75 return TRUE;
78 /***********************************************************************
79 * TTYDRV_DC_DeleteDC
81 BOOL TTYDRV_DC_DeleteDC(DC *dc)
83 TRACE("(%p)\n", dc);
85 HeapFree( GetProcessHeap(), 0, dc->physDev );
86 dc->physDev = NULL;
88 return TRUE;
91 /***********************************************************************
92 * TTYDRV_DC_Escape
94 INT TTYDRV_DC_Escape(DC *dc, INT nEscape, INT cbInput,
95 SEGPTR lpInData, SEGPTR lpOutData)
97 return 0;