📄 01ugl.win32.tcl
字号:
global uglGraphicsChipDB global uglBmFontEngineDB global uglBmFontSelection global uglAgfaFontSelection global uglAgfaPresent global uglConfigToolDir global uglConfigChange global uglConfigModify global uglConfigName set fstr "%-30s : %s" set configname [controlValuesGet UglConfig.uglFileList -edit] if {$configname == ""} { messageBox "Need to specify a configuation file" return } set fd [open $uglConfigToolDir/$configname.cfg w] set dateInfo "[lindex [date] 1]/[lindex [date] 3]/[lindex [date] 0] [lindex [date] 4]:[lindex [date] 5]:[lindex [date] 6]" puts $fd "# DO NOT MODIFY THIS FILE - GENERATED AUTOMATICALLY" puts $fd [format "# File: %s.cfg" $configname] puts $fd [format "# Creation date: %s" $dateInfo] puts $fd [format $fstr "ARCHITECTURE" $uglArchType ] # Output general configuration values puts $fd [format $fstr "BUILD_DEBUG" [controlChecked UglConfig.bDebug]] puts $fd [format $fstr "BUILD_UGLE" [controlChecked UglConfig.bDemo]] puts $fd [format $fstr "BUILD_UGLO" [controlChecked UglConfig.uglO]] puts $fd [format $fstr "BUILD_TOOL" [controlSelectionGet UglConfig.toolList -string]] puts $fd [format $fstr "SYS_POOL" [controlChecked UglConfig.cVxPool]] puts $fd [format $fstr "UGL_POOL" [controlChecked UglConfig.cUglPool]] puts $fd [format $fstr "UGL_PSIZE" [controlValuesGet UglConfig.memPool]] # Output Pointer Configuration Parameters puts $fd [format $fstr "PTR_TYPE" [controlSelectionGet UglConfig.mouseList -string ]] puts $fd [format $fstr "PTR_DEVNAME" [controlValuesGet UglConfig.ptrDevice] ] # Output Keyboard Configuration Parameters puts $fd [format $fstr "KBD_TYPE" [controlSelectionGet UglConfig.keyboardList -string ]] puts $fd [format $fstr "KBD_DEVNAME" [controlValuesGet UglConfig.kbdDevice] ] puts $fd [format $fstr "KBD_MAP" [controlSelectionGet UglConfig.keyMapList -string ]] # Output Graphics Configuration Parameters puts $fd [format $fstr "GRAPHICS CHIP" [controlSelectionGet UglConfig.chipList -string]] if {[controlChecked UglConfig.bVideo]} { puts $fd [format $fstr "GDOPTION" "VIDEO"] } if {[controlChecked UglConfig.bJpeg]} { puts $fd [format $fstr "GDOPTION" "JPEG"] } if {[controlChecked UglConfig.baBlend]} { puts $fd [format $fstr "GDOPTION" "ALPHA"] } if {[controlChecked UglConfig.bdBuffer]} { puts $fd [format $fstr "GDOPTION" "DBUFF"] } if {[controlChecked UglConfig.bswCursor]} { puts $fd [format $fstr "GDOPTION" "SWCURS"] } if {[controlChecked UglConfig.boverlay]} { puts $fd [format $fstr "GDOPTION" "OVERLAY"] } puts $fd [format $fstr "GOUTPUT" [controlSelectionGet UglConfig.outputDevList -string]] puts $fd [format $fstr "GDEPTH" [controlSelectionGet UglConfig.colorDepthList -string]] puts $fd [format $fstr "GRES" [controlSelectionGet UglConfig.resolutionList -string]] puts $fd [format $fstr "GREF" [controlSelectionGet UglConfig.refreshList -string]] # Save audio config puts $fd [format $fstr "AUDIO_TYPE" [controlSelectionGet UglConfig.audioList -string ]] puts $fd [format $fstr "AUDIO_DEV" [controlValuesGet UglConfig.audioDevice]] puts $fd [format $fstr "AUDIO_CHAN" [controlValuesGet UglConfig.audioChan]] # Output Font Configuration Parameters # BMF uglBmfFontGet foreach font $uglBmFontSelection { puts $fd [format $fstr "BMF_FONT" $font] } puts $fd [format $fstr "BMF_CSIZE" [controlValuesGet UglConfig.bmFontSize -edit ]] puts $fd [format $fstr "BMF_UNICODE" [controlChecked UglConfig.bUnicode]] # AGFA if { $uglAgfaPresent} { uglAgfaFontGet foreach font $uglAgfaFontSelection { puts $fd [format $fstr "AF_FONT" $font] } puts $fd [format $fstr "AF_PATH" [controlValuesGet UglConfig.agfaFontPath]] puts $fd [format $fstr "AF_TYPEPATH" [controlValuesGet UglConfig.agfaFontTypePath]] puts $fd [format $fstr "AF_FILENAME" [controlValuesGet UglConfig.agfaFontFilename]] puts $fd [format $fstr "AF_PLUGINNAME" [controlValuesGet UglConfig.agfaFontPluginName]] puts $fd [format $fstr "AF_UNICODE" [controlChecked UglConfig.bAfUnicode]] } puts $fd "" close $fd set uglConfigChange 0 set uglConfigModify 1 # Update the list of configuration files uglSetFileList controlSelectionSet UglConfig.uglFileList -string $configname}###################################################################### uglConfigDelete - delete a configuration#proc uglConfigDelete {args} { global uglConfigToolDir # Get the configuration file name set configname [controlValuesGet UglConfig.uglFileList -edit] if {$configname == ""} { return } set uglDeleteWarningMsg "Do you want to remove the configuration $configname?" set answer [messageBox -yesno $uglDeleteWarningMsg ] if {[string match $answer no]} { return } # remove configuration file if {[file exist $uglConfigToolDir/$configname.cfg] == "1"} { rm $uglConfigToolDir/$configname.cfg } # Update the list of configuration files uglSetFileList}###################################################################### uglWriteConfigH - generate the configuration header file#proc uglWriteConfigH {configname dateInfo} { global uglFileWarningMsg global uglArchType global uglPointerDB global uglKeyboardDB global uglKeyboardMapDB global uglOutDevList global uglOutDevInc global uglGraphicsChipDB global uglGraphics global uglGraphicsOptionList global uglGraphicsOptionInc global uglBmFontEngineDB global uglBmFontSelection global bmfInConfig global uglAgfaFontEngineDB global uglAgfaFontSelection global uglAgfaPresent global uglAgfaConfig global agfaInConfig global uglAudioDB global uglConfigDir global env global uglConfigInput # Write out file configuration to config.h file set fd [open $uglConfigDir/uglConfig.h w] puts $fd "/* uglConfig.h - WindML configuration header file */" puts $fd $uglFileWarningMsg puts $fd [format "/* File created %s from %s */" $dateInfo $configname] puts $fd "" puts $fd "#ifdef CONFIG_TOOL" # split out the processor type/BSP and set any BSP specific mode set archType [split $uglArchType - ] set bspCnt [llength $archType] if {$bspCnt > 1} { set bspType [lindex $archType 1] puts $fd [format "#define UGL_TARGET_%s" $bspType] } # Generate memory pool information if {[controlChecked UglConfig.cUglPool]} { puts $fd "#define INCLUDE_UGL_MEM_POOL" puts $fd [format "#define UGL_MEM_POOL_SIZE %s * 1024" [controlValuesGet UglConfig.memPool]] } if {$uglPointerDB($uglConfigInput(PTR_TYPE),HEADER) != ""} { puts $fd [format "#define WINDML_POINTER_HEADER <%s/%s>" $env(WIND_BASE) $uglPointerDB($uglConfigInput(PTR_TYPE),HEADER)] } if {$uglKeyboardDB($uglConfigInput(KBD_TYPE),HEADER) != ""} { puts $fd [format "#define WINDML_KEYBOARD_HEADER <%s/%s>" $env(WIND_BASE) $uglKeyboardDB($uglConfigInput(KBD_TYPE),HEADER)] } # Generate pointer and pointer definition set ptrType [controlSelectionGet UglConfig.mouseList -string ] set keyboardType [controlSelectionGet UglConfig.keyboardList -string ] puts $fd "#ifndef BUILD_DRIVER" puts $fd [format "#define %s" $uglPointerDB($ptrType,SELECT)] puts $fd [format "#define %s" $uglKeyboardDB($keyboardType,SELECT)] puts $fd "#endif /* BUILD_DRIVER */" puts $fd [format "#define SYS_POINTER_NAME \"%s\"" [controlValuesGet UglConfig.ptrDevice]] puts $fd [format "#define SYS_KEYBOARD_NAME \"%s\"" [controlValuesGet UglConfig.kbdDevice]] set kbdMap [controlSelectionGet UglConfig.keyMapList -string ] set kbdMapNum [lsearch $uglKeyboardMapDB(NAME) $kbdMap] puts $fd [format "#define %s" [lindex $uglKeyboardMapDB(SELECT) $kbdMapNum] ] # Generate graphics device configuration puts $fd "#ifndef BUILD_DRIVER" puts $fd [format "#define %s" $uglGraphicsChipDB($uglGraphics(CHIP),SELECT)] puts $fd "#endif /* BUILD_DRIVER */" puts $fd [format "#define UGL_REFRESH_RATE %s" [controlSelectionGet UglConfig.refreshList -string ]] set resSelect [controlSelectionGet UglConfig.resolutionList -string ] set resolution [split $resSelect x] puts $fd [format "#define UGL_DISPLAY_WIDTH %s" [lindex $resolution 0]] puts $fd [format "#define UGL_DISPLAY_HEIGHT %s" [lindex $resolution 1]] set colorDepth [controlSelectionGet UglConfig.colorDepthList -string ] puts $fd [format "#define UGL_FB_DEPTH %s" $colorDepth] # Output device type set outDev [controlSelectionGet UglConfig.outputDevList -string ] set outDevNum [lsearch $uglOutDevList $outDev] set outInc [lindex $uglOutDevInc $outDevNum] puts $fd [format "#define %s" $outInc] # Generate graphics device options if {[controlChecked UglConfig.bVideo]} { puts $fd "#define INCLUDE_UGL_VIDEO" } if {[controlChecked UglConfig.bJpeg]} { puts $fd "#define INCLUDE_UGL_JPEG" } if {[controlChecked UglConfig.baBlend]} { puts $fd "#define INCLUDE_UGL_ALPHA" } if {[controlChecked UglConfig.bdBuffer]} { puts $fd "#define INCLUDE_UGL_DOUBLE_BUFFERING" } if {[controlChecked UglConfig.bswCursor]} { puts $fd "#define INCLUDE_UGL_SW_CURSOR" } if {[controlChecked UglConfig.boverlay]} { puts $fd "#define INCLUDE_UGL_OVERLAY" } # Set header file if {$uglGraphicsChipDB($uglGraphics(CHIP),HEADER) != ""} { puts $fd [format "#define WINDML_GRAPHICS_HEADER <%s/%s>" $env(WIND_BASE) $uglGraphicsChipDB($uglGraphics(CHIP),HEADER)] } # Generate audio configuration set audioDevice [controlSelectionGet UglConfig.audioList -string ] puts $fd "#ifndef BUILD_DRIVER" puts $fd [format "#define %s" $uglAudioDB($audioDevice,SELECT)] puts $fd "#endif /* BUILD_DRIVER */" puts $fd [format "#define UGL_SOUND_DEVICE %s" [controlValuesGet UglConfig.audioDevice]] puts $fd [format "#define UGL_SOUND_CHAN %s" [controlValuesGet UglConfig.audioChan]] # Generate font options puts $fd "" uglBmfFontGet set bmfInConfig 0 if { [llength $uglBmFontSelection] != 0} { set bmfInConfig 1 puts $fd [format "#define %s" $uglBmFontEngineDB(SELECT)] set cSize [controlValuesGet UglConfig.bmFontSize -edit ] if { [ string compare $cSize "Unlimited" ] == 0} { set cSize "UGL_BMF_GLYPH_CACHE_SIZE_MAX" } if {[controlChecked UglConfig.bUnicode] } { puts $fd "#define INCLUDE_UGL_UNICODE" } puts $fd "" puts $fd "#ifndef BUILD_DRIVER" puts $fd [format "#include <%s>" $uglBmFontEngineDB(HEADER)] 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 {$uglAgfaPresent} { uglAgfaFontGet if { [llength $uglAgfaFontSelection] != 0} { set agfaInConfig 1 puts $fd [format "#define %s" $uglAgfaFontEngineDB(SELECT)] if {[controlChecked UglConfig.bAfUnicode] } { puts $fd "#define INCLUDE_UGL_UNICODE" } puts $fd "#ifndef BUILD_DRIVER" puts $fd [format "#include <%s>" $uglAgfaFontEngineDB(HEADER)] puts $fd [format "char uglAgfaPath\[\] = \"%s\";" [controlValuesGet UglConfig.agfaFontPath]] puts $fd [format "char uglAgfaTypePath\[\] = \"%s\";" [controlValuesGet UglConfig.agfaFontTypePath]] puts $fd [format "char uglAgfaFileName\[\] = \"%s\";" [controlValuesGet UglConfig.agfaFontFilename]] puts $fd [format "char uglAgfaPluginName\[\] = \"%s\";" [controlValuesGet UglConfig.agfaFontPluginName]] 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 out any configuration#proc uglConfigClear {} { global uglArchType global uglOldArchType global uglGraphics global uglBmFontSelection global uglAgfaFontSelection global uglConfigInput global uglConfigAudio global uglConfigMisc global uglBmfConfig global uglAgfaConfig # Set to no architecture set uglOldArchType "" set uglArchType "" # clear out graphics set uglGraphics(CHIP) "" set uglGraphics(OPTS) {} set uglGraphics(OUTPUT) "" set uglGraphics(DEPTH) "" set uglGraphics(RESOLUTION) "" set uglGraphics(REFRESH) "" # Initialize input configuration set uglConfigInput(KBD_MAP) "" set uglConfigInput(KBD_TYPE) "" set uglConfigInput(PTR_TYPE) "" set uglConfigInput(KBD_DEVICE) "" set uglConfigInput(PTR_DEVICE) "" # Initialize Audio configuration set uglConfigAudio(TYPE) "" set uglConfigAudio(DEVNAME) ""
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -