⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcolor.tpl

📁 在手机操作系统symbina上使用的一个脚本扩展语言的代码实现,可以参考用于自己的开发
💻 TPL
字号:
REM tColor.tpl
REM EPOC OPL automatic test code for ER5 color demo.
REM Copyright (c) 1998-2000 Symbian Ltd. All rights reserved.

INCLUDE "Const.oph"
INCLUDE "hUtils.oph"

REM Bug fix coming soon...
rem CONST gColorInfoANumGrays%=gColorInfoANumGreys%

DECLARE EXTERNAL

EXTERNAL Spots:
EXTERNAL ColorBg:
EXTERNAL TryDMode:(adw%,ar%)
EXTERNAL DefWinMode$:(amode%)
EXTERNAL DisplayMode$:(amode%)

REM const KUidOPLColorDemo&=&1000484F


PROC Standalone:
	REM Main procedure called when not running inside test harness.
	LOADM KhUtils$
	hLink:( "tColor", hThreadIdFromOplDoc&:, KhUserFull%)
	REM After standalone completion, control returns here.
	dINIT "Tests complete" :DIALOG
ENDP


PROC tColor:
	GLOBAL currentDisplayMode&
	rem hInitTestHarness:(KhInitLocalErrorHandling%, KhInitNotUsed%)
	hRunTest%:("gColorInfo")
	hRunTest%:("Color")
	hCleanUp%:("Reset")
ENDP


PROC Reset:
	EXTERNAL currentDisplayMode&
	DEFAULTWIN currentDisplayMode&
	gUSE 1
	gCOLORBACKGROUND 255,255,255
ENDP


PROC gColorInfo:
	EXTERNAL currentDisplayMode&

	LOCAL defaultDisplayMode&,nColor&,nGray&
	LOCAL gInfo&(48),cInfo&(7)

	REM Current display mode.
	gINFO32 gInfo&()
	currentDisplayMode&=gInfo&(30)

	REM Get default values.
	gColorInfo cinfo&()
	defaultDisplayMode&=cInfo&(gColorInfoADisplayMode%)
	nColor&=cInfo&(gColorInfoANumColors%)
	nGray&=cInfo&(gColorInfoANumGrays%)

	REM Sanity checks -- default display mode.
	IF defaultDisplayMode&<KDisplayModeGray2%
		PRINT defaultDisplayMode&
		RAISE 1
	ENDIF

	IF defaultDisplayMode&>KDisplayModeColor4K%
		PRINT defaultDisplayMode&
		RAISE 2
	ENDIF

	REM Number colors.
	IF nColor&>16777216 rem 16 meg.
		PRINT nColor&
		RAISE 3
	ENDIF

	REM Number grays.
	IF nGray&>256
		PRINT nGray&
		RAISE 4
	ENDIF

	REM Switch display mode.
	TryDMode:(KDefaultWin2GrayMode%, 5)
	TryDMode:(KDefaultWin4GrayMode%, 10)
	TryDMode:(KDefaultWin16GrayMode%, 20)

	IF defaultDisplayMode&>KDisplayModeColor16%
		TryDMode:(KDefaultWin256ColorMode%, 30)
	ENDIF

	REM Put it back to previous setting.
	DEFAULTWIN currentDisplayMode&
	gINFO32 gInfo&()
	IF gInfo&(30)<>currentDisplayMode&
		RAISE 40
	ENDIF
ENDP


PROC TryDMode:(aDefWin%, aRaise%)
	EXTERNAL cInfo&()
	LOCAL gInfo&(48)

	DEFAULTWIN aDefWin%
	PRINT :PRINT "Switched DEFAULTWIN to ";DefWinMode$:(aDefWin%)

	gINFO32 gInfo&()
	PRINT "Expecting ";DisplayMode$:(aDefWin%)
	IF gInfo&(30)<>aDefWin%
		PRINT "Received ";DisplayMode$:(gInfo&(30))
		RAISE aRaise%
	ENDIF
ENDP


PROC Color:
	LOCAL id%
	reset:
	print "The following tests are repeated twice,"
	print "first for the DEFAULTWINdow, then a gCREATEd window."
	id%=1
	do
		if id%=1
			print "Testing DEFAULTWINdow"
			gUSE 1
		else
			print "Testing gCREATEd window"
		endif
		print
		
		rem Put the others here...
		colorBg:
		Spots:

		if id%=1
			rem create window on right half of screen
			rem to compare the two results.
			gUSE 1
			gcolorbackground 255,255,255
			gCLS
			id%=gCREATE(gWidth/2+50,30, gWidth/2-100, gHeight-60, 1, KgCreate16GrayMode%)
			gxborder 2,1
		else
			gClose id%
			gUSE 1
			break
		endif
	until 0
ENDP


PROC Spots:
	LOCAL w%,h%,iter%
	w%=gWIDTH :h%=gHEIGHT
	rem	gsetwin rnd*600,rnd*200,w%,h%

	rem giprint "Hit Esc to cancel"
	do
		iter%=iter%+1
		gcolor rnd*256,rnd*256,rnd*256
		gat rnd*w%,rnd*h%
		gcircle rnd*50,1
	until iter%=400
ENDP


PROC colorBg:
	gcolorbackground $ff,$ff,$00
	gat 40,20
	gprintB "This should have a yellow background",310
	pause 10
endp


PROC DefWinMode$:(aMode%)
	VECTOR aMode%+1
	KDefaultWin2GrayMode,KDefaultWin4GrayMode,KDefaultWin16GrayMode,KDefaultWin256GrayMode,KDefaultWin16ColorMode,KDefaultWin256ColorMode
	ENDV
	REM Not found.
	RAISE 1000
	RETURN "Not found"
KDefaultWin2GrayMode::
	RETURN "2GrayMode"
KDefaultWin4GrayMode::
	RETURN "2GrayMode"
KDefaultWin16GrayMode::
	RETURN "16GrayMode"
KDefaultWin256GrayMode::
	RETURN "256GrayMode"
KDefaultWin16ColorMode::
	RETURN "16ColorMode"
KDefaultWin256ColorMode::
	RETURN "256ColorMode"
ENDP


PROC DisplayMode$:(aMode%)
	VECTOR aMode%+1
	KDisplayModeNone, KDisplayModeGray2, KDisplayModeGray4, KDisplayModeGray16, KDisplayModeGray256, KDisplayModeColor16, KDisplayModeColor256, KDisplayModeColor64K, KDisplayModeColor16M, KDisplayModeRGB, KDisplayModeColor4K
	ENDV
	REM Not found
	RAISE 1001
	RETURN "Not found"
KDisplayModeNone::
	RETURN "None"
KDisplayModeGray2::
	RETURN "2Gray"
KDisplayModeGray4::
	RETURN "4Gray"
KDisplayModeGray16::
	RETURN "16Gray"
KDisplayModeGray256::
	RETURN "256Gray"
KDisplayModeColor16::
	RETURN "16Color"
KDisplayModeColor256::
	RETURN "256Color"
KDisplayModeColor64K::
	RETURN "64KColor"
KDisplayModeColor16M::
	RETURN "16MColor"
KDisplayModeRGB::
	RETURN "RGBColor"
KDisplayModeColor4K::
	RETURN "4KColor"
ENDP


REM End of tColor.tpl

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -