📄 01ugl.tcl
字号:
if {[llength $uglBmFontSelection] != 0} { set bmfInConfig 1 puts $fd [format "#define %s" $uglBmFontEngineDB(SELECT)] if {$uglBmfConfig(UNICODE)} { puts $fd "#define INCLUDE_UGL_UNICODE" } puts $fd "" puts $fd "#ifndef BUILD_DRIVER" puts $fd [format "#include <%s>" $uglBmFontEngineDB(HEADER)] set cSize $uglBmfConfig(CACHE_SIZE) if { [ string compare $cSize "Unlimited" ] == 0} { set cSize "UGL_BMF_GLYPH_CACHE_SIZE_MAX" } foreach refName $uglBmFontSelection { puts $fd [format "extern const UGL_BMF_FONT_DESC %s;" $refName] } puts $fd "const UGL_BMF_FONT_DESC * uglBMFFontData\[\] = " puts $fd " {" foreach refName $uglBmFontSelection { puts $fd [format " &%s," $refName] } puts $fd " NULL" puts $fd " };" puts $fd "" puts $fd "UGL_LOCAL UGL_BMF_CACHE_CONFIG cacheConfig;" puts $fd "#endif /* BUILD_DRIVER */" puts $fd [format "#define BMF_FONT_GLYPH_CACHE_SIZE %s" $cSize] } set agfaInConfig 0 if { [llength $uglAgfaFontSelection] != 0} { set agfaInConfig 1 puts $fd [format "#define %s" $uglAgfaFontEngineDB(SELECT)] if {$uglAgfaConfig(UNICODE)} { puts $fd "#define INCLUDE_UGL_UNICODE" } puts $fd "" puts $fd "#ifndef BUILD_DRIVER" puts $fd [format "#include <%s>" $uglAgfaFontEngineDB(HEADER)] puts $fd [format "char uglAgfaPath\[\] = \"%s\";" $uglAgfaConfig(FONTPATH)] puts $fd [format "char uglAgfaTypePath\[\] = \"%s\";" $uglAgfaConfig(TYPEPATH)] puts $fd [format "char uglAgfaFileName\[\] = \"%s\";" $uglAgfaConfig(FILENAME)] puts $fd [format "char uglAgfaPluginName\[\] = \"%s\";" $uglAgfaConfig(PLUGINNAME)] puts $fd "const UGL_AGFA_FONT_DESC * uglAgfaFontData\[\] = " puts $fd " {" foreach font $uglAgfaFontSelection { puts $fd [format " &uglAgfaPclFont_%s," $font] } puts $fd " NULL" puts $fd " };" puts $fd "" puts $fd "#endif /* BUILD_DRIVER */" } puts $fd "#endif /* CONFIG_TOOL */" close $fd}###################################################################### uglConfigClear - clear any configuration#proc uglConfigClear {} { global uglConfigMisc global uglConfigAudio global uglAudioAllDeviceList global uglBmfConfig global uglBmFontSelection global uglAgfaConfig global uglAgfaFontSelection global uglConfigInput global uglGraphics global uglArchType global uglArchList global uglBuildTgtChange set uglBuildTgtChange 0 set uglConfigMisc(DEBUG_BUILD) "0" set uglConfigMisc(UGLO_BUILD) "0" set uglConfigMisc(UGLE_BUILD) "0" set uglConfigMisc(VX_POOL) "1" set uglConfigMisc(UGL_POOL) "0" set uglConfigMisc(POOL_SIZE) "0" set uglConfigMisc(BUILD_TOOL) "gnu" set uglConfigAudio(TYPE) [lindex $uglAudioAllDeviceList 0] set uglConfigAudio(DEVNAME) "" set uglConfigAudio(CHANNEL) 0 set uglBmfConfig(UNICODE) 0 set uglBmfConfig(CACHE_SIZE) "Unlimited" set uglBmFontSelection {} set uglAgfaFontSelection {} set uglAgfaConfig(FONTPATH) "/mem" set uglAgfaConfig(TYPEPATH) "/mem" set uglAgfaConfig(FILENAME) "pcl___zf.fco" set uglAgfaConfig(PLUGINNAME) "plug__zf.fco" set uglAgfaConfig(UNICODE) 0 set uglConfigInput(KBD_MAP) "" set uglConfigInput(KBD_TYPE) "No Keyboard" set uglConfigInput(PTR_TYPE) "No Pointer" set uglConfigInput(KBD_DEVICE) "" set uglConfigInput(PTR_DEVICE) "" set uglGraphics(CHIP) "No Graphics" set uglGraphics(OPTS) {} set uglGraphics(OUTPUT) 0 set uglGraphics(DEPTH) 0 set uglGraphics(RESOLUTION) 0 set uglGraphics(REFRESH) 0 set uglArchType [lindex $uglArchList 0] listSelectionChange "WindML Configuration" "Processor" $uglArchType}################################################################################ CONFIG DIALOG PROCEDURES########################################################################################################################################## uglConfigPost - post the configuration dialog#proc uglConfigPost {} { global uglDBDir global uglConfigDir global uglConfigToolDir global uglArchList global uglConfigItemList global uglConfigChange global uglAgfaPresent global UglConfigPageListNoAgfa global UglConfigPageListWithAgfa global debugFd global uglHome global env # set up location of data files set uglHome $env(WIND_BASE) set uglDBDir $uglHome/host/resource/ugl set uglConfigDir $uglHome/target/h/ugl/config set uglConfigToolDir $uglConfigDir/configTool # validate presence of data base if {![file exists $uglDBDir/uglDB.cfg]} { noticePost error "Data Base files not found - Make sure WindML support is installed" return } # make sure the configuration directory is present file mkdir $uglConfigToolDir # open debug file set debugFd [open $uglConfigToolDir/debug w] # Read the data base files uglReadUglDB # get list of configuration files uglSetFileList set tmpFileList [glob -nocomplain $uglHome/target/src/ugl/driver/font/agfa/sys/inc/*.h] set listLength [llength $tmpFileList] if {$listLength <= 1} { set uglAgfaPresent 0 } else { set uglAgfaPresent 1 } if {$uglAgfaPresent} { set uglConfigItemList $UglConfigPageListWithAgfa } else { set uglConfigItemList $UglConfigPageListNoAgfa } dialogSetValue "WindML Configuration" "Processor" $uglArchList dialogSetValue "WindML Configuration" "Configuration Item" $uglConfigItemList # Post the dialog dialogPost "WindML Configuration" # Clear current configuration uglConfigClear set uglConfigChange 0}################################################################################## newConfigName - create a new configuration#proc newConfigName {} { global uglConfigToolDir global uglConfigChange global uglConfigName set configName \ [dialogGetValue "New Configuration" "Configuration:"] # Remove illegal characters and replace with underscore regsub -all "\[\${}\() \r\n\t]|\\\[|\\\]" $configName "_" configName if {$configName != ""} { set fd [open $uglConfigToolDir/$configName.cfg w] close $fd } dialogUnpost "New Configuration" uglSetFileList listSelectionChange "WindML Configuration" "Configuration" $configName set uglConfigName $configName # Clear current configuration uglConfigClear set uglConfigChange 1}########################################################### uglConfigSelect - process the configuration select action#proc uglConfigSelect {configuration} { global uglConfigToolDir global uglConfigChange global uglConfigModify global uglBuildTgtChange global uglConfigName global uglArchType global uglConfigMisc global uglBmfConfig global uglPointerDB global uglConfigInput global uglKeyboardDB global uglGraphics global uglGraphicsChipDB global uglBmFontEngineDB global uglBmFontSelection global uglAgfaFontEngineDB global uglAgfaFontSelection global uglAgfaConfig global uglConfigAudio set configChange 0 if {$uglConfigChange == 1} { set configChange 1 } if {$uglBuildTgtChange == 1} { set configChange 1 } if {$configChange == 1} { set answer [noticePost question "Your Configuration has changed.\nDo you want to save your previous configuration?" Yes No] if {$answer == 1} { set newConfigName $configuration listSelectionChange "WindML Configuration" "Configuration" $uglConfigName uglConfigSave set configuration $newConfigName listSelectionChange "WindML Configuration" "Configuration" $newConfigName } } if {$configuration == "New configuration..."} { dialogPost "New Configuration" return } set uglConfigName $configuration # Read in configuration values set fd [open $uglConfigToolDir/$configuration.cfg r] set line [gets $fd] set uglGraphics(OPTS) {} set uglBmFontSelection {} set bmfCacheSize "" set bmfCachePool "" while {![eof $fd]} { set index [lsearch $line :] if {$index >= 0} { set field [lrange $line 0 [expr $index - 1]] set arg [lrange $line [expr $index + 1] end] switch $field { "ARCHITECTURE" {set uglArchType $arg } "BUILD_DEBUG" {set uglConfigMisc(DEBUG_BUILD) $arg } "BUILD_UGLO" {set uglConfigMisc(UGLO_BUILD) $arg } "BUILD_UGLE" {set uglConfigMisc(UGLE_BUILD) $arg } "BUILD_TOOL" {set uglConfigMisc(BUILD_TOOL) $arg } "SYS_POOL" {set uglConfigMisc(VX_POOL) $arg } "UGL_POOL" {set uglConfigMisc(UGL_POOL) $arg } "UGL_PSIZE" {set uglConfigMisc(POOL_SIZE) $arg } "PTR_TYPE" {set uglConfigInput(PTR_TYPE) $arg } "PTR_DEVNAME" {set uglConfigInput(PTR_DEVICE) $arg } "KBD_TYPE" {set uglConfigInput(KBD_TYPE) $arg } "KBD_DEVNAME" {set uglConfigInput(KBD_DEVICE) $arg } "KBD_MAP" {set uglConfigInput(KBD_MAP) $arg } "GRAPHICS CHIP" {set uglGraphics(CHIP) $arg ; \ set uglGraphics(OPTS) {} } "GDOPTION" {lappend uglGraphics(OPTS) $arg } "GOUTPUT" {set uglGraphics(OUTPUT) $arg } "GDEPTH" {set uglGraphics(DEPTH) $arg } "GRES" {set uglGraphics(RESOLUTION) $arg } "GREF" {set uglGraphics(REFRESH) $arg } "BMF_FONT" {lappend uglBmFontSelection $arg } "BMF_CSIZE" {set uglBmfConfig(CACHE_SIZE) $arg } "BMF_UNICODE" {set uglBmfConfig(UNICODE) $arg } "AF_FONT" {lappend uglAgfaFontSelection $arg } "AF_PATH" {set uglAgfaConfig(FONTPATH) $arg } "AF_TYPEPATH" {set uglAgfaConfig(TYPEPATH) $arg } "AF_FILENAME" {set uglAgfaConfig(FILENAME) $arg } "AF_PLUGINNAME" {set uglAgfaConfig(PLUGINNAME) $arg } "AF_UNICODE" {set uglAgfaConfig(UNICODE) $arg } "AUDIO_TYPE" {set uglConfigAudio(TYPE) $arg } "AUDIO_DEV" {set uglConfigAudio(DEVNAME) $arg } "AUDIO_CHAN" {set uglConfigAudio(CHANNEL) $arg } } } set line [gets $fd] } close $fd listSelectionChange "WindML Configuration" "Processor" $uglArchType set uglConfigModify 1 set uglConfigChange 0} ########################################################### uglConfigArch - process the architecture select action#proc uglConfigArch {archType} { global uglArchType global uglConfigChange set uglArchType $archType set uglConfigChange 1}###################################################################### uglSetConfigItem - launch the selected configuration definition window#proc uglSetConfigItem {page} { set configname [dialogGetValue "WindML Configuration" "Configuration"] if {$configname == ""} { noticePost warning "Need to specify a configuration file" return } set archType [dialogGetValue "WindML Configuration" "Processor"] if {$archType == ""} { noticePost warning "Need to specify a processor type" return } if { $page == "Graphics" } { dialogPost "Graphics Configuration" uglGraphicsConfig } if { $page == "Input" } { dialogPost "Input Configuration" uglInputConfig } if { $page == "Bitmap Fonts" } { dialogPost "Bitmap Font Configuration" uglBmFontsConfig } if { $page == "Agfa Fonts" } { dialogPost "Agfa Font Configuration" uglAgfaFontsConfig } if { $page == "Audio" } { dialogPost "Audio Configuration" uglAudioConfig }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -