/*
 *  V_OPNWK					(C) Digital Design 1991
 *
 *  OPEN WORKSTATION
 *
 *  Diese Funktion ldt den Gertetreiber fr ein bestimmtes Ein/Ausgabe-
 *  gert. Das Ein/Ausgabegert wird mit den Parametern im Eingabe-
 *  Array initialisiert. Das Ausgabe-Array bermittelt nhere Informa-
 *  tionen zu dem Gert. Weiterhin bergibt diese Funktion dem Programm
 *  eine Gertekennung.
 *  Falls das Gert aus welchen Grnden auch immer nicht geffnet werden
 *  kann, ist die Gertekennung Null.
 */
#include <gemdefs.h>

void v_opnwk( int work_in[103], int *handle, int work_out[57] )
{
  vdipb[1] = work_in; /* Inhalt des Feldelementes Nummer		*
		       * 0: Gerte-Identifikation, gibt den zu ladenden *
		       *    Gertetreiber an				*
		       * 1: Linientyp					*
		       * 2: Linienfarbe 				*
		       * 3: Markierungstyp				*
		       * 4: Markierungsfarbe				*
		       * 5: Zeichensatz 				*
		       * 6: Schriftfarbe				*
		       * 7: Flltyp					*
		       * 8: Fllmuster					*
		       * 9: Fllfarbe					*
		       * 10: Koordinatenflag:				*
		       *	0 = Normalkoordinaten			*
		       *	1 = reserviert				*
		       *	2 = Rasterkoordinaten			*/
  vdipb[3] = work_out;
  vdipb[4] = work_out + 45;

  VDI( 1, 0, 103, *handle );

  vdipb[1] = intin;
  vdipb[3] = intout;
  vdipb[4] = ptsout;
  *handle = contrl[6];

  /* Inhalt von work_out-Nummer 					*
   * 0: Rasterbreite des Gertes in Punkte oder Schritte		*
   * 1: Rasterhhe des Gertes in Punkte oder Schritte			*
   * 2: 0								*
   * 3: Breite eines Punktes oder Plotterschrittes in mm/1000		*
   * 4: Hhe eines Punktes oder Plotterschrittes in mm/1000		*
   * 5: Anzahl der verschiedenen Schriftgren (0 = unbegrenzt) 	*
   * 6: Anzahl der Linientypen						*
   * 7: Anzahl der Linienbreiten (0 = unbegrenzt)			*
   * 8: Anzahl der Markierungsarten					*
   * 9: Anzahl der Markierungsgren (0 = unbegrenzt)			*
   * 10: Anzahl der Zeichenstze des Gertes				*
   * 11: Anzahl der Muster						*
   * 12: Anzahl der Schraffier-Arten					*
   * 13: Anzahl der Farben (2 bei Monochrom-Monitor)			*
   * 14: Anzahl der Grafik-Grundfunktionen				*
   * 15-24: Sequentielle Liste der untersttzten Grafik-Grundfunktionen.*
   *	    Eine -1 kennzeichnet das Ende der Liste:			*
   *		1 = Balken						*
   *		2 = Bogen						*
   *		3 = Kreissegment					*
   *		4 = Kreis						*
   *		5 = Ellipse						*
   *		6 = elliptischer Bogen					*
   *		7 = Ellipsensegment					*
   *		8 = abgerundetes Rechteck				*
   *		9 = geflltes abgerundetes Rechteck			*
   *		10 = justierter Grafiktext				*
   * 25-34: sequentielle Liste der Attribute der Grundfunktionen:	*
   *		0 = Linienoperation					*
   *		1 = Markierungsoperation				*
   *		2 = Text						*
   *		3 = ausgefllter Bereich				*
   *		4 = kein Attribut					*
   * 35: Flag Farbdarstellung:	0 = nicht verfgbar			*
   *				1 = verfgbar				*
   * 36: Flag fr Textrotation:  0 = nicht verfgbar			*
   *				 1 = verfgbar				*
   * 37: Flag ausgefllte Bereiche:  0 = nicht verfgbar		*
   *				     1 = verfgbar			*
   * 38: Flag Funktion v_cellarray: 0 = nicht verfgbar 		*
   *				    1 = verfgbar			*
   * 39: Anzahl der verfgbaren Farben:  0 = mehr als 32767 Farben	*
   *					 1 = monochrom			*
   *					>2 = Anzahl der Farben		*
   * 40: Grafikcursor-Kontrolle:					*
   *		 1 = nur ber Tastatur					*
   *		 2 = ber Tastatur und ein anderes Gert (Mouse)	*
   * 41: wertverndernde Eingaben:  1 = ber Tastatur			*
   *				    2 = anderes Gert			*
   * 42: Auswahltasten:  1 = Funktionstasten				*
   *			 2 = anderes Tastenfeld 			*
   * 43: alphanumerische Eingabe:  1 = Tastatur 			*
   * 44: Art des Arbeitsgertes:  0 = Ausgabegert			*
   *				  1 = Eingabegert			*
   *				  2 = Ein/Ausgabegert			*
   *				  3 = reserviert			*
   *				  4 = Metafile-Ausgabe			*
   * 45: minimale Zeichenbreite 					*
   * 46: minimale Zeichenhhe						*
   * 47: maximale Zeichenbreite 					*
   * 48: maximale Zeichenhhe						*
   * 49: minimale Zeilenbreite						*
   * 50: 0								*
   * 51: maximale Zeilenbreite						*
   * 52: 0								*
   * 53: minimale Markierungsbreite					*
   * 54: minimale Markierungshhe					*
   * 55: maximale Markierungsbreite					*
   * 56: maximale Markierungshhe					*/
}
/* siehe auch: ÝV_CLSWKÝV_CLSWK.CÝ */
