DeviceWIN() : GraphicsDevice(), oIx(1), actWin(-1), decomposed(-1) { name = "WIN"; DLongGDL origin(dimension(2)); DLongGDL zoom(dimension(2)); zoom[0] = 1; zoom[1] = 1; dStruct = new DStructGDL("!DEVICE"); dStruct->InitTag("NAME", DStringGDL(name)); dStruct->InitTag("X_SIZE", DLongGDL(640)); dStruct->InitTag("Y_SIZE", DLongGDL(512)); dStruct->InitTag("X_VSIZE", DLongGDL(640)); dStruct->InitTag("Y_VSIZE", DLongGDL(512)); dStruct->InitTag("X_CH_SIZE", DLongGDL(9)); dStruct->InitTag("Y_CH_SIZE", DLongGDL(12)); dStruct->InitTag("X_PX_CM", DFloatGDL(40.0)); dStruct->InitTag("Y_PX_CM", DFloatGDL(40.0)); dStruct->InitTag("N_COLORS", DLongGDL(256)); dStruct->InitTag("TABLE_SIZE", DLongGDL(ctSize)); dStruct->InitTag("FILL_DIST", DLongGDL(0)); dStruct->InitTag("WINDOW", DLongGDL(-1)); dStruct->InitTag("UNIT", DLongGDL(0)); dStruct->InitTag("FLAGS", DLongGDL(328124)); dStruct->InitTag("ORIGIN", origin); dStruct->InitTag("ZOOM", zoom); winList.reserve(maxWinReserve); winList.resize(maxWin); for (int i = 0; i < maxWin; i++) winList[i] = NULL; oList.reserve(maxWinReserve); oList.resize(maxWin); for (int i = 0; i < maxWin; i++) oList[i] = 0; }
DeviceZ(): GraphicsDevice(), actStream( NULL), memBuffer( NULL), zBuffer( NULL) { name = "Z"; DLongGDL origin( dimension( 2)); DLongGDL zoom( dimension( 2)); zoom[0] = 1; zoom[1] = 1; dStruct = new DStructGDL( "!DEVICE"); dStruct->InitTag("NAME", DStringGDL( name)); dStruct->InitTag("X_SIZE", DLongGDL( 640)); dStruct->InitTag("Y_SIZE", DLongGDL( 480)); dStruct->InitTag("X_VSIZE", DLongGDL( 640)); dStruct->InitTag("Y_VSIZE", DLongGDL( 480)); dStruct->InitTag("X_CH_SIZE", DLongGDL( 8)); dStruct->InitTag("Y_CH_SIZE", DLongGDL( 12)); dStruct->InitTag("X_PX_CM", DFloatGDL( 26.0)); dStruct->InitTag("Y_PX_CM", DFloatGDL( 26.0)); dStruct->InitTag("N_COLORS", DLongGDL( 256)); dStruct->InitTag("TABLE_SIZE", DLongGDL( 256)); dStruct->InitTag("FILL_DIST", DLongGDL( 1)); dStruct->InitTag("WINDOW", DLongGDL( -1)); dStruct->InitTag("UNIT", DLongGDL( 0)); dStruct->InitTag("FLAGS", DLongGDL( 414908)); dStruct->InitTag("ORIGIN", origin); dStruct->InitTag("ZOOM", zoom); }
DevicePS(): GraphicsDevice(), fileName( "gdl.ps"), actStream( NULL), XPageSize(17.78), YPageSize(12.7), XOffset(0.0),YOffset(0.0), color(0), decomposed( 0), encapsulated(false), scale(1.) { name = "PS"; DLongGDL origin( dimension( 2)); DLongGDL zoom( dimension( 2)); zoom[0] = 1; zoom[1] = 1; dStruct = new DStructGDL( "!DEVICE"); dStruct->InitTag("NAME", DStringGDL( name)); dStruct->InitTag("X_SIZE", DLongGDL( XPageSize*scale*1000)); //29700/1000=29.7 cm dStruct->InitTag("Y_SIZE", DLongGDL( YPageSize*scale*1000)); dStruct->InitTag("X_VSIZE", DLongGDL( XPageSize*scale*1000)); dStruct->InitTag("Y_VSIZE", DLongGDL( YPageSize*scale*1000)); dStruct->InitTag("X_CH_SIZE", DLongGDL( 360)); dStruct->InitTag("Y_CH_SIZE", DLongGDL( 360)); dStruct->InitTag("X_PX_CM", DFloatGDL( 1000.0)); //1000 pix/cm dStruct->InitTag("Y_PX_CM", DFloatGDL( 1000.0)); dStruct->InitTag("N_COLORS", DLongGDL( 256)); dStruct->InitTag("TABLE_SIZE", DLongGDL( 256)); dStruct->InitTag("FILL_DIST", DLongGDL( 1)); dStruct->InitTag("WINDOW", DLongGDL( -1)); dStruct->InitTag("UNIT", DLongGDL( 0)); dStruct->InitTag("FLAGS", DLongGDL( 266807)); dStruct->InitTag("ORIGIN", origin); dStruct->InitTag("ZOOM", zoom); SetPortrait(); # ifdef USE_PSLIB PS_boot(); // PSlib changes locale - bug no. 3428043 # ifdef HAVE_LOCALE_H setlocale(LC_ALL, "C"); # endif # endif }