[トップ][一覧][最近の更新]

編集履歴:差分

記録開始以来のスクリーンをモジュールで管理の変更箇所

  • + 追加された行
  • - 削除された行

編集履歴ページに戻る

+ {{{
+ #module mainScreen id, text, events
+ 
+ #define global new_mainScreen(%1, %2) %tnew_mainScreen \
+ 	if 0 : *%i {\
+ 		_thismod@mainScreen = %1 :\
+ 		gosub *button_click@mainScreen :\
+ 		return } :\
+ 	%i@mainScreen = *%p1 :\
+ 	newmod %1, mainScreen, %2, %o@mainScreen %o0
+ 
+ #define ctype register_event(%1) %tregister_event \
+ 	events(%1) = *%i :\
+ 	if 0 : *%o
+ 
+ 
+ #modinit int screenId, var dispatcher
+ 
+ 	dimtype events, vartype("label"), 64
+ 
+ 	screen screenId, 640, 480
+ 
+ 	button gosub "mes", dispatcher
+ 	register_event(stat) {
+ 		mes get_text(_thismod@mainScreen)
+ 		
+ 		return
+ 	}
+ 
+ 	button gosub "dialog", dispatcher
+ 	register_event(stat) {
+ 		dialog get_text(_thismod@mainScreen)
+ 
+ 		return
+ 	}
+ 
+ 	text = "Hello World!!"
+ return
+ 
+ #modcfunc get_text
+ return text
+ 
+ #modfunc dispatch int objid
+ 	gosub events(objid)
+ return
+ 
+ *button_click
+ 	dispatch _thismod@mainScreen, stat
+ return
+ 
+ #global
+ 
+ new_mainScreen main, 0
+ }}}