#include "MultiGraph.au3"


; GUI erzeugen
$hGUI = GUICreate("", 800, 600)
Opt("GUIOnEventMode", 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit", $hGUI)
GUISetState()



; Function								Parameter
; ----------------------------------------------------------------------
; _MG_Graph_erstellen 					($iGraph, $hGUI, $iX_Pos, $iY_Pos, $iBreite, $iHoehe)
; _MG_Graph_optionen_allgemein 			($iGraph, $iAufloesung, $iY_min, $iY_max, $vHintergrundfarbe, $iRendermodus)
; _MG_Graph_optionen_Rahmen 			($iGraph, $bAnzeigen, $vRahmenfarbe, $iRahmenbreite)
; _MG_Graph_optionen_Hauptgitterlinien 	($iGraph, $bHauptgitter_aktiviert, $iHauptgitter_abstand_X, $iHauptgitter_abstand_Y, $iHauptgitter_breite, $vHauptgitter_farbe, $iHauptgitter_Transparenz)
; _MG_Graph_optionen_Hilfsgitterlinien 	($iGraph, $bHilfsgitter_aktiviert, $iHilfsgitter_abstand_X, $iHilfsgitter_abstand_Y, $iHilfsgitter_breite, $vHilfsgitter_farbe, $iHilfsgitter_Transparenz)
; _MG_Graph_optionen_Plottmodus 		($iGraph, $iPlottmodus, $iPlottfrequenz, $iClearmodus, $bInterpolation)
; _MG_Kanal_optionen 					($iGraph, $iKanal, $bKanal_aktivieren, $iLinien_Breite, $vLinien_Farbe, $iLinien_Transparenz)
; _MG_Graph_initialisieren 				($iGraph)
; _MG_Wert_setzen 						($iGraph, $iKanal, $fWert)
; _MG_Graph_updaten 					($iGraph)
; _MG_Graph_clear 						($iGraph)
; _MG_Graph_Achse_links 				($iGraph, $bAchse_anzeigen, $fMin_Wert, $fMax_Wert, $iNachkommastellen, $sEinheit, $vSchriftfarbe, $vHintergrundfarbe, $fSchriftgroesse, $iLabelbreite, $fIntervall)
; _MG_Graph_Achse_rechts 				($iGraph, $bAchse_anzeigen, $fMin_Wert, $fMax_Wert, $iNachkommastellen, $sEinheit, $vSchriftfarbe, $vHintergrundfarbe, $fSchriftgroesse, $iLabelbreite, $fIntervall)
; _MG_Graph_Achse_unten 				($iGraph, $bAchse_anzeigen, $fMin_Wert, $fMax_Wert, $iNachkommastellen, $sEinheit, $vSchriftfarbe, $vHintergrundfarbe, $fSchriftgroesse, $iLabelbreite, $fIntervall)
; _MG_Graph_Achse_unten_update 			($iGraph, $fMin_Wert, $fMax_Wert, $iNachkommastellen, $sEinheit)
; _MG_Graph_Achse_links_update 			($iGraph, $fMin_Wert, $fMax_Wert, $iNachkommastellen, $sEinheit)
; _MG_Graph_Achse_rechts_update 		($iGraph, $fMin_Wert, $fMax_Wert, $iNachkommastellen, $sEinheit)
; _MG_Graph_plotten 					($iGraph)
; _MG_Graph_entfernen					($iGraph)
;
;
; genauere Details und Parameterinfos findet ihr in der UDF ;)
;





; Graph 1 erstellen
_MG_Graph_erstellen 					(1, $hGUI, 70, 20, 660, 200)

_MG_Graph_optionen_allgemein			(1, 220, 0, 200, 0xFFFFFF, 2)
_MG_Graph_optionen_Plottmodus 			(1, 0, 1, 1, True)

_MG_Graph_optionen_Rahmen 				(1, True, 0x000000, 1)
_MG_Graph_optionen_Hauptgitterlinien 	(1, 1, 50, 50, 1,0x000000, 190)
_MG_Graph_optionen_Hilfsgitterlinien 	(1, 1, 10, 10, 1,0x000000, 220)

_MG_Graph_Achse_links					(1, True,  0, 200, 0, "", 0x000000, Default, 9, 70, 1)
_MG_Graph_Achse_rechts 					(1, False, 0, 0,   1, "", 0x000000, Default, 9, 70, 1)
_MG_Graph_Achse_unten 					(1, True,  0, 250, 2, "", 0x000000, Default, 9, 70, 2)


; Kanäle für Graph 1 erstellen
_MG_Kanal_optionen 						(1, 1, 1, 1, 0x0044FF, 0)
_MG_Kanal_optionen 						(1, 2, 1, 1, 0xFF6600, 0)


; Graph 1 mit den aktuellen Einstellungen in der GUI darstellen
_MG_Graph_initialisieren (1)

#cs
		zu Graph 1:

		Graphbreite = 660
		Auflösung = 220

		--> d.h. alle 3 Pixel wird ein Wert dargestellt

		die lineare Interpolation und die Kantenglättung sind aktiviert

#ce










; Graph 2 erstellen
_MG_Graph_erstellen 					(2, $hGUI, 70, 300, 660, 220)

_MG_Graph_optionen_allgemein			(2, 110, 0, 200, 0x000000, 0)
_MG_Graph_optionen_Plottmodus 			(2, 1, 1, 1, False)

_MG_Graph_optionen_Rahmen 				(2, True, 0x000000, 1)
_MG_Graph_optionen_Hauptgitterlinien 	(2, 1, 50, 50, 1,0xFFFFFF, 190)
_MG_Graph_optionen_Hilfsgitterlinien 	(2, 1, 10, 10, 1,0xFFFFFF, 220)

_MG_Graph_Achse_links					(2, True,  0, 220, 0, "", 0x000000, Default, 9, 70, 1)
_MG_Graph_Achse_rechts 					(2, False, 0, 0,   1, "", 0x000000, Default, 9, 70, 1)
_MG_Graph_Achse_unten 					(2, True,  0, 110, 2, "", 0x000000, Default, 9, 70, 2)


; Kanäle für Graph 2 erstellen
_MG_Kanal_optionen 						(2, 1, 1, 2, 0xFFFF00, 0)
_MG_Kanal_optionen 						(2, 2, 1, 1, 0x00FFBB, 0)


; Graph 2 mit den aktuellen Einstellungen in der GUI darstellen
_MG_Graph_initialisieren (2)


#cs
		zu Graph 2:

		Graphbreite = 660
		Auflösung = 110

		--> d.h. alle 6 Pixel wird ein Wert dargestellt

		die lineare Interpolation und die Kantenglättung sind deaktiviert

#ce







$counter = 0

While 1

	$counter += 0.04

	_MG_Wert_setzen (1, 1, 100+(sin($counter))*80)		; Werte setzen für: Graph 1 / Kanal 1
	_MG_Wert_setzen (1, 2, 100+(tan($counter))*80)		; Werte setzen für: Graph 1 / Kanal 2
	_MG_Graph_plotten (1)								; Graph 1 plotten



	_MG_Wert_setzen (2, 1, Random(50,150,1))			; Werte setzen für: Graph 2 / Kanal 1
	_MG_Wert_setzen (2, 2, 100+(cos($counter))*80)		; Werte setzen für: Graph 2 / Kanal 2
	_MG_Graph_plotten (2)								; Graph 2 plotten

WEnd








Func _Exit()
    Exit
EndFunc

