set_content_update_callback
— Setzen einer Callback-Funktion bei Aktualisierung des Pufferinhalts.
set_content_update_callback( : : WindowHandle, CallbackFunction, CallbackContext : )
set_content_update_callback
setzt die Callback-Funktion
CallbackFunction
, die immer dann aufgerufen wird, wenn sich
der Inhalt des Pufferfensters WindowHandle
ändert.
Der Parameter CallbackContext
wird dabei immer an die
Callback-Funktion übergeben.
Der Typ der Callback-Funktion CallbackFunction
ist:
Herror callback(void *context)
Auf Windows Systemen wird die __stdcall calling convention verwendet: Herror __stdcall callback(void *context)
Die Callback-Funktion darf keinen HALCON Operator aufrufen. Dies ist undefiniertes Verhalten. Es wird empfohlen, nur wenig rechenintensive Aufgaben in der Callback-Funktion durchzuführen, z.B. das Setzen eines Flags oder das Anstoßen einer asynchronen Operation.
In Verbindung mit den Operatoren send_mouse_down_event
,
send_mouse_up_event
und send_mouse_double_click_event
kann
set_content_update_callback
verwendet werden, um ein Fenster-Control
für ein GUI Toolkit wie Qt zu erstellen.
Das Controll leitet Mausevents an den Puffer weiter, welcher das Control
bei Änderungen des Fensterinhalts benachrichtigt, indem er
CallbackFunction
aufruft. Das Control kann dann den Inhalt das
Puffers mit dump_window_image
kopieren und schließlich anzeigen.
set_content_update_callback
benötigt die Bibliothek libcanvas, die
auf Embedded-Systemen möglicherweise nicht verfügbar ist.
WindowHandle
(input_control) window →
(handle)
Fenster-Handle.
CallbackFunction
(input_control) pointer →
(integer)
Callback Funktion bei Aktualisierung des Pufferinhalts.
CallbackContext
(input_control) pointer →
(integer / handle)
Parameter für CallbackFunction.
set_content_update_callback
liefert den Wert 2 (H_MSG_TRUE), falls das Fenster
gültig ist. Ansonsten wird eine Fehlerbehandlung durchgeführt.
Foundation