Home Inhaltsverzeichnis Allgemeine Fragen UDO6

Programmierdoku

Wie erkenne ich COPS?

 
Wer cpx_init() als
 
CPX_INFO * cdecl cpx_init( XCPB *xcpb, LONG magic, LONG version);

definiert, kann anhand der Parameter <magic> und <version> feststellen, ob das CPX unter COPS oder XCONTROL läuft:
 
WORD is_COPS( LONG magic, LONG version )
{
   if ((magic == 'COPS') && (version >= 0x10000L)) /* COPS? */
      return( 1 );

   return( 0 );                                 /* XCONTROL */
}

Wenn COPS erkannt wurde, kann das CPX einen bis zu 512 * 384 Pixel großen Objektbaum zeichnen und bei Xform_do() übergeben.
 
Wenn COPS vorhanden ist, gilt außerdem folgende Erweiterung für cpx_call():
 
WORD cdecl cpx_call( GRECT *work, DIALOG *dialog );

Dabei enthält <dialog> den Zeiger auf die Fensterdialogstruktur. Der Fensterdialog wird von COPS nach cpx_init() mit wdlg_create() und wdlg_open() geöffnet. Das GRECT <work> und der Objektbaum liegen bis zum ersten Aufruf von Xform_do() bzw. bis zur Rückkehr aus cpx_call() außerhalb des sichtbaren Bildschirms.
 

Home Inhaltsverzeichnis Allgemeine Fragen UDO6