趁半夜没人来发个更新文
之前累积的许多修正跟调整放太久都没上
这次顺便更新上去
最主要是效能优化跟新增功能
***
本软件用于绘制ANSI图
介绍页面:
https://aac.iverv.com/
MicrosoftStore页面:
https://www.microsoft.com/store/apps/9N3FQG7SDVW4
ms-windows-store://pdp/?productid=9N3FQG7SDVW4
相关的介绍请看之前的说明介绍以及进度更新文章
***
文字重新整理
- 新增功能:网格格线自订颜色
- 新增功能:补充完整16色的ansi码,偏好设定新增启用选项
- 新增功能:新增闪烁符号的提示Mask
- 新增功能:绘制图层的显示前景/背景 的切换也制作出来
- 系统调整:绘制工具架构重新修改,效能优化
- 系统调整:ansi码输出优化
- 系统调整:修改跳出视窗base结构,新增deactive的处理
- 功能调整:符号大小提示线重新调整
- 功能调整:文字输入一个字一个动作改为按键放开后才算一个动作
- 功能调整:图章工具改为鼠标右键的方式插入绘制
- 功能调整:选择框工具圈选范围后按 BackSpace/Delete 清除区块的功能补上
- 功能调整:颜色替换的视窗多一个选择替换目标的选项
- 接口调整:隐藏空白的黄色提示选择座标的文字框线
- 接口调整:图章工具透明背景的状况下,鼠标的显示图的背景,改为半透明格子图
- 接口调整:pmore拆图工具,开启后在空白处点鼠标右键跳出未初始化的context menu
- 接口调整:绘制重播的接口,显示文字被裁切的问题
- 接口调整:图层接口区块,打开参数设定的按钮,接口调整
- 错误修正:闪烁的ansi码,存读档以及输出时ansi的错误
- 错误修正:修正笔刷记录档新建的db没有初始化造成错误无法存盘的问题
- 错误修正:主绘制画面的设定调整 透明度/切换显示 闪烁符号的部分不会受到影响
- 错误修正:修正选色器RGB picker的Hue 第一次点会回跳顶端,第二次之后点就没问题
- 错误修正:修正选色器RGB初始显示为黑白渐层,点选Hue颜色后才会脱离黑白渐层
- 错误修正:修正半个全角符号,在复制贴上产生笔刷纪录出错的问题
- 错误修正:汇入.ans档案后未设定初始layer index造成绘制crash的问题
***
新增功能:
网格格线变更颜色的功能
图例:
https://i.imgur.com/6Xz00Yt.png
点选网格层的颜色方块,就会跳出选色器
选择颜色后确认可变更网格格线的颜色
因应这个功能的需求
所以还先制作了独立的跳出式选色器工具
这张参考图其中的红色线是导线(测试,尚未实作)
未来可能会新增相关参数,例如切换显示、每几个单位出现等
至于实体背景色层的部分,还再思考是否要跟输出有关
所以目前还未实作调整这边的功能
新增功能:
基于ansi escape code的资料以及xterm的文件
把完整16色的ansi码补充进来
基本上就是把 前景亮色90~97 / 背景亮色100~107
这个范围的新增进来
图例:
https://i.imgur.com/uFn0Cdq.png
此范围的码依据xterm的文件说明,vt100没有支援
PTT也无法显示
不过一些新的终端是可以显示的
图例:
https://i.imgur.com/SiYYY9l.png
虽然PTT无法使用,还是把这部分的逻辑实做
而这边的90~97,100~107跟 256色的码是不同的意义
举例来说 暗黄色前景+亮黄色背景 的16色码
*[33;103m
但如果是256色则会是
*[38;5;3;48;5;11m
同时在偏好设定新增选项可启用
启用后16色选色器也会显示该颜色组,关闭则隐藏
默认是关闭的
图例:
https://i.imgur.com/DkqEDSW.png
新增功能:
新增闪烁符号的提示Mask
主要就是闪烁有时把显示打开也不太好发现,如果前景只有一个点的话
所以加一个可切换显示的提示遮罩
图例:
https://i.imgur.com/78Jarcb.png
主要就是当勾选后,会把有设定闪烁的区块
使用半透明格子来标记
新增功能:
绘制图层的显示前景/背景 的切换也制作出来
隐藏前景
图例:
https://i.imgur.com/6adKb9E.png
隐藏背景
图例:
https://i.imgur.com/uWL3Ggm.png
当然如果把符号绘制一个图层,背景绘制另一个图层
然后分别切换,也可以达到相同的效果
不过这个功能只是方便察看
只会影响绘图的显示而已,对于实际的输出不会造成影响
也就是这边如果取消绘制前景or取消绘制背景
这个状态下复制ansi资料,资料还是完整的有前景跟背景资料
但是图层那边如果取消,复制ansi的时候该图层的资料就不会出现了
系统调整:
绘制工具效能优化
修改前
https://youtu.be/lR-BomBBEPI
每次笔刷下去一格,就会进行符号资料叠合
该行的叠合、整个画面绘制的更新
因此当画面越复杂、图层越多的时候
绘制的延迟就会越严重
修改后
https://youtu.be/vKlzNflKhRM
整体明显提升
改用一暂时绘制层来先绘制将进行变动的资料
此时资料都还未写入笔刷绘制的图层
系统调整:
ansi码输出优化,亮色错误修正后
当两个符号都相同背景跟前景色
前面的符号是暗色,例如37;40m
后面的符号是亮色的,例如1;37;40m
原本的输出会是: *[37;40mA*[1;37mB*[m
调整后输出为: *[37;40mA*[1mB*[m
系统调整:
修改base结构,新增deactive的处理
让一些较不重要的跳出视窗,再点选视窗范围外的时候如同关闭视窗
例如上方的单次选色、以及偏好设定新增自型跳出挑选自型的视窗
之后再评估看看有哪些也适合套用此设定
减少点到画面外系统会发出咚咚声
功能调整:
符号大小提示线之前是只会显示鼠标指标当前的符号
这在选择框工具的时候,只会显示最后的一个符号大小
图例:
https://i.imgur.com/Ph7ptqv.png
改为左右边界有受影响的符号都会显示大小的提示线
图例:
https://i.imgur.com/M85CdwJ.png
https://i.imgur.com/y6m3KkU.png
原本图章若是全角符号,只有左半边盖到的符号会有范围提示
右半边不会有,目前是正确可以左右边盖到的符号都有提示
功能调整:
文字输入的逻辑也有调整
原本按著一个输入按键不放(例如:A)
会一直连续输入,而每一个文字输入都会有一笔UndoRedo
图例:
https://i.imgur.com/ZQwnPQf.png
这在恢复上一步动作会有些不方便
现在改为放开按键后才会送出纪录
图例:
https://i.imgur.com/LiOoSKG.png
这边a跟backspace都是按著不放
ctrl+z只要两次即可恢复原状
功能调整:
图章工具原本的操作方式为
鼠标左键取代的方式绘制符号
Ctrl+鼠标左键用插入的方式绘制
改为
鼠标左键取代的方式绘制符号(不变动)
鼠标右键用插入的方式绘制,按一下插入符号一次
功能调整:
选择框工具下
圈选范围后按 BackSpace/Delete 原本是没有作用的
新的工具结构也把清除区块的功能补上
功能调整:
颜色替换的视窗多一个选择替换目标的选项
https://i.imgur.com/xxkJys8.png
上方 Menu->图层->颜色替换 (或是快捷 Ctrl+Shift+F)
如果当前是圈选工具,则会默认带 [选择范围] ,其余则默认带 [图层]
当然带入后也还是可以切换,只是没有选择范围的使用这个选项,换下去会没有动作
功能就是替换选择的范围或是全图层
接口调整:
隐藏空白的黄色提示框线
原本建立新档的时候,左上会出现空白的黄色框线
改为隐藏起来,有文字的时候才显示
图例:
https://i.imgur.com/A73TO9T.png
接口调整:
图章工具使用透明背景的状况下
在鼠标的显示图的背景,改为半透明格子图
图例:
https://i.imgur.com/a6sh1lj.png
因原本是透明的,所以当使用透明背景的状况下
而前景符号的颜色又跟绘制区块的颜色相同时,会看不到是什么图案
改用半透明格子图代替后
可以在不完全遮蔽背后图案下,又可以让图章符号更容易辨识
图例:
https://i.imgur.com/FurUs45.png
接口调整:
pmore拆图工具的接口,刚开启后在空白列表处点鼠标右键
会跳出未初始化的context menu
图例:
https://i.imgur.com/6rXbw96.png
修正此部分接口的问题
接口调整:
绘制重播的接口,显示文字被裁切的问题
图例:
https://i.imgur.com/5FNEvN0.png
此部分的接口重改,让使用者可自行调整大小
接口调整:
图层接口区块,打开参数设定的按钮,接口调整
图例:
https://i.imgur.com/vN1NppE.png
把style整理至共用resource,打开的颜色改为红色
错误修正:
闪烁的ansi码,在存读档以及输出ansi的错误
例如都是高亮、相同前景背景色的两个符号
前方设定闪烁后方没有,ansi输出或存盘会是两个都闪烁
事实是后方所有符号都有可能变闪烁
错误修正:
修正之前版友所回报笔刷记录档错误的问题
因为新建的db没有初始化相关的资料而造成错误
错误修正:
当符号设定闪烁,并且让闪烁显示下
主绘制画面的设定调整 透明度/切换显示
闪烁的部分却不会受到影响
修正后,闪烁层的透明度跟显示也可跟主绘制同步
错误修正:
选色器RGB picker的Hue
第一次点会回跳顶端的问题,第二次之后点就没问题
原因为非RGB的黑白色笔刷,第一次切换成RGB的黑白色笔刷
触发接口重新更新所造成的状况
错误修正:
修正选色器RGB初始为黑白渐层,点选Hue颜色后才会脱离黑白渐层
因初始value为NaN造成的问题
错误修正:
在开启录制的状态下
水平绘制几个全角符号,使用圈选工具选择后ctrl+c复制
接着往左一格半角再ctrl+v贴上,会造成crash
修正复制贴上产生笔刷纪录出错的逻辑
错误修正:
汇入.ans档案后,初始layer index未设定
造成一绘制就crash的错误