The R Project SVN R

Rev

Rev 9237 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9237 Rev 19110
Line 91... Line 91...
91
    }
91
    }
92
    return dc;
92
    return dc;
93
}
93
}
94
 
94
 
95
 
95
 
96
printer newprinter(double width, double height)
96
printer newprinter(double width, double height, char *name)
97
{
97
{
98
    DOCINFO docinfo;
98
    DOCINFO docinfo;
99
    printer obj;
99
    printer obj;
100
    HDC hDC = chooseprinter();
100
    HDC hDC;
101
    double dd,AL;
101
    double dd,AL;
102
    int ww,hh,x0,y0;
102
    int ww,hh,x0,y0;
103
 
103
 
-
 
104
    if(strlen(name)) {
-
 
105
	OSVERSIONINFO verinfo;
-
 
106
	verinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-
 
107
	GetVersionEx(&verinfo);
-
 
108
	switch(verinfo.dwPlatformId) {
-
 
109
	case VER_PLATFORM_WIN32_NT:
-
 
110
	    hDC = CreateDC("WINSPOOL", name, NULL, NULL);
-
 
111
	default:
-
 
112
	    hDC = CreateDC(NULL, name, NULL, NULL);
-
 
113
	}
-
 
114
    } else hDC = chooseprinter();
104
    if ( !hDC ) return NULL;
115
    if ( !hDC ) return NULL;
105
    obj = new_object(PrinterObject, (HANDLE) hDC, get_printer_base());
116
    obj = new_object(PrinterObject, (HANDLE) hDC, get_printer_base());
106
    if ( !obj ) {
117
    if ( !obj ) {
107
	R_ShowMessage("Insufficient memory for new printer");
118
	R_ShowMessage("Insufficient memory for new printer");
108
	DeleteDC(hDC);
119
	DeleteDC(hDC);