首页 / 专利库 / 电脑图像 / 渲染 / 视觉渲染 / 文稿编辑工具中元素层级的管理方法及装置

文稿编辑工具中元素层级的管理方法及装置

阅读:268发布:2020-05-12

专利汇可以提供文稿编辑工具中元素层级的管理方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 公开了文稿编辑工具中元素层级的管理方法及装置。该方法包括:在监测到画布中的元素进行层级变更操作时,根据层级变更操作 修改 元素的层级属性值;当监测到画布中元素的层级属性值被修改时,将设定标记位的值确定为第一标记值;当确定画布当前处于空闲状态且检测到设定标记位的值为第一标记值时,根据画布中各元素当前的层级属性值的排序确认各元素的显示属性值;根据各元素的显示属性值,刷新各元素的层级 渲染 。利用该方法,在元素发生层次变更操作时,能够保证画布中各元素的层级值一直与界面视觉上呈现的层次渲染保持一致,有效降低层级管理时的资源占用率以及层级渲染的错误率,很大程度提高了文稿编辑工具开发层面的便捷性。,下面是文稿编辑工具中元素层级的管理方法及装置专利的具体信息内容。

1.一种文稿编辑工具中元素层级的管理方法,其特征在于,包括:
在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,根据所述层级变更操作修改所述至少一个元素的浮点型的层级属性值;
如果监测到所述画布中至少一个元素的层级属性值被修改,则将设定标记位的值确定为第一标记值;
当确定所述画布当前处于空闲状态且检测到所述设定标记位的值为第一标记值时,根据所述画布中各元素当前的层级属性值的排序确认各元素的显示属性值;
根据各元素的显示属性值,刷新所述画布中各元素的层级渲染
所述根据所述画布中各元素当前的层级属性值的排序确认各元素的显示属性值,包括:
根据所述画布中各元素当前的层级属性值,由小到大对各元素排序,并从设定整数值开始对各元素进行编号;
确定排序后各元素对应的整数编号,将各元素的整数编号确定为各元素的显示属性值。
2.根据权利要求1所述的方法,其特征在于,所述层级变更操作包括:将元素置于底层、将元素置于顶层以及将元素置于层级相邻的两其他元素之间;
相应的,根据所述层级变更操作修改所述至少一个元素的层级属性值,包括:
确定所述至少一个元素对应的层级更新操作;
如果所述层级更新操作为将所述至少一个元素置于底层,则确定所述画布中当前的最小层级属性值,在小于所述最小层级属性值范围内选取至少一个正数对应作为所述至少一个元素的层级属性值;
如果所述层级更新操作为将所述至少一个元素置于顶层,则确定所述画布中当前的最大层级属性值,则在所述最大层级属性值上依次加1对应作为所述至少一个元素的层级属性值;
如果所述层级更新操作为将所述至少一个元素置于层级相邻的两其他元素之间,则确定与所述两其他元素对应的两层级属性值,在所述两层级属性值之间的范围内选取至少一个数值对应作为所述至少一个元素的层级属性值。
3.根据权利要求1所述的方法,其特征在于,还包括:
基于设定规则向所述画布中添加新的元素,并设定所述元素在所述画布中的层级属性值。
4.根据权利要求3所述的方法,其特征在于,所述基于设定规则向所述画布中添加新的元素,并设定所述元素在所述画布中的层级属性值,包括:
确定待添加至所述画布中的元素当前的层级属性值是否为0;
如果所述元素当前的层级属性值为0,则将所述元素添加至所述画布,确定所述画布中当前是否存在其他元素,并基于确定结果设定所述元素在所述画布中的层级属性值;
如果所述元素当前的层级属性值不为0,则将所述元素当前的层级属性值确定为所述元素在所述画布中的层级属性值,并将所述元素添加至所述画布。
5.根据权利要求4所述的方法,其特征在于,所述基于确定结果设定所述元素在所述画布中的层级属性值,包括:
如果所述画布中当前不存在其他元素,则将所述画布的初始层级属性值作为所述元素的层级属性值;否则确定所述画布中当前的最大层级属性值,并将所述元素的层级属性值设定为所述最大层级属性值加1。
6.根据权利要求1-5任一所述的方法,其特征在于,在所述根据各元素的显示属性值,刷新所述画布中各元素的层级渲染之后,还包括:
将所述设定标记位的值确定为第二标记值。
7.一种文稿编辑工具中元素层级的管理装置,其特征在于,包括:
层级值修改模,用于在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,根据所述层级变更操作修改所述至少一个元素的浮点型的层级属性值;
第一标记模块,用于当监测到所述画布中至少一个元素的层级属性值被修改时,将设定标记位的值确定为第一标记值;
显示值确定模块,用于当确定所述画布当前处于空闲状态且检测到所述设定标记位的值为第一标记值时,根据所述画布中各元素当前的层级属性值的排序确认各元素的显示属性值;
元素层级渲染模块,用于根据各元素的显示属性值,刷新所述画布中各元素的层级渲染;
所述显示值确定模块,具体用于:
当确定所述画布当前处于空闲状态且检测到所述设定标记位的值为第一标记值时,根据所述画布中各元素当前的层级属性值,由小到大对各元素排序,并从设定整数值开始对各元素进行编号;
确定排序后各元素对应的整数编号,将各元素的整数编号确定为各元素的显示属性值。
8.根据权利要求7所述的装置,其特征在于,所述层级变更操作包括:将元素置于底层、将元素置于顶层以及将元素置于层级相邻的两其他元素之间;
相应的,所述层级值修改模块,具体用于:
在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,确定所述至少一个元素对应的层级更新操作;
如果所述层级更新操作为将所述至少一个元素置于底层,则确定所述画布中当前的最小层级属性值,在小于所述最小层级属性值范围内选取至少一个正数对应作为所述至少一个元素的层级属性值;
如果所述层级更新操作为将所述至少一个元素置于顶层,则确定所述画布中当前的最大层级属性值,则在所述最大层级属性值上依次加1对应作为所述至少一个元素的层级属性值;
如果所述层级更新操作为将所述至少一个元素置于层级相邻的两其他元素之间,则确定与所述两其他元素对应的两层级属性值,在所述两层级属性值之间的范围内选取至少一个数值对应作为所述至少一个元素的层级属性值。
9.根据权利要求7所述的装置,其特征在于,还包括:
层级值设定模块,用于基于设定规则向所述画布中添加新的元素,并设定所述元素在所述画布中的层级属性值。
10.根据权利要求9所述的装置,其特征在于,所述层级制设定模块,包括:
层级制判定单元,用于确定待添加至所述画布中的元素当前的层级属性值是否为0;
第一执行单元,用于当所述元素当前的层级属性值为0时,将所述元素添加至所述画布,确定所述画布中当前是否存在其他元素,并基于确定结果设定所述元素在所述画布中的层级属性值;
第二执行单元,用于当所述元素当前的层级属性值不为0时,将所述元素当前的层级属性值确定为所述元素在所述画布中的层级属性值,并将所述元素添加至所述画布。
11.根据权利要求10所述的装置,其特征在于,所述第一执行单元,具体用于:
当所述元素当前的层级属性值为0时,将所述元素添加至所述画布,确定所述画布中当前是否存在其他元素;
如果所述画布中当前不存在其他元素,则将所述画布的初始层级属性值作为所述元素的层级属性值;否则确定所述画布中当前的最大层级属性值,并将所述元素的层级属性值设定为所述最大层级属性值加1。
12.根据权利要求7-11任一所述的装置,其特征在于,还包括:
第二标记模块,用于在所述根据各元素的显示属性值,刷新所述画布中各元素的层级渲染之后,将所述设定标记位的值确定为第二标记值。

说明书全文

文稿编辑工具中元素层级的管理方法及装置

技术领域

[0001] 本发明实施例涉及计算机应用技术领域,尤其涉及文稿编辑工具中元素层级的管理方法及装置。

背景技术

[0002] 文稿编辑工具如微软公司的演示文稿软件(PowerPoint,PPT),是一款人们工作和学习中经常用到的办公软件,用户基于文稿编辑工具可进行文稿编辑,并可将编辑的内容展示给他人。在目前流行的智能教学白板中,也安装有类似的文稿编辑工具,能够供教学者对教学内容进行编辑和展示。
[0003] 一般地,可将文稿编辑工具中进行编辑的最小单位称为画布(如PPT中一个可编辑的幻灯片页面),还可将画布内能够随意移动和编辑的单个对象(如单个的文本框、图片、表格以及视频等)称之为元素。在进行文稿编辑时,如果画布中存在多个元素,则文稿编辑工具就需要考虑先显示哪个元素,再显示哪个元素,从而涉及到元素的层级管理。
[0004] 传统的层级管理方法,考虑为画布中的元素设置一个整数型的层级编号,如,当元素1添加至画布中时,初始设置其层级编号为1,同样,可以将画布中元素2、元素3以及元素4的编号初始设置层级编号分别为2、3和4,并对各元素的层级编号进行记录,由此当画布上元素的放置位置重叠时,可直接根据各元素的层级编号与渲染框架进行交互,实现元素的层次渲染。该方法的缺陷在于,人为改变或编辑工具主动改变一个或多个元素在画布中的显示层次时,为了保证对画布中元素层次渲染时不发生错误,需要对画布中所有元素的层级编号进行更新并重新记录,由此增大了文稿编辑工具对CPU及内存资源的消耗。
[0005] 另一种常用的层级管理方法,考虑为画布中的元素设置一个浮点型的层级编号,该层级管理方法可描述为:在画布中元素1、元素2、元素3以及元素4当前的层级编号分别为1、2、3和4时,如果对元素4的显示层次进行了调整,如将元素4置于元素1和元素2之间,则无需变更其他元素的层次编号,只需将元素4的层次编号调整为1~2之间的一个小数值,如
1.5即可。该方法尽管降低了CPU及内存资源的消耗,却也存在一定的缺陷:即,其层次编号不能直接与渲染框架信息交互,在按层级对元素渲染前,需要强制刷新各元素在画布UI界面上的显示,否则渲染出的元素层次效果将与用户期望的存在效果差别,降低文稿编辑工具的用户体验。

发明内容

[0006] 本发明实施例提供了文稿编辑工具中元素层级的管理方法及装置,能够在合理消耗CPU和内存资源的前提下,保证画布中各元素的层级值一直都与画布UI界面视觉上呈现的层次渲染保持一致。
[0007] 一方面,本发明实施例提供了一种文稿编辑工具中元素层级的管理方法,包括:
[0008] 在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,根据所述层级变更操作修改所述至少一个元素的浮点型的层级属性值;
[0009] 如果监测到所述画布中至少一个元素的层级属性值被修改,则将设定标记位的值确定为第一标记值;
[0010] 当确定所述画布当前处于空闲状态且检测到所述设定标记位的值为第一标记值时,根据所述画布中各元素当前的层级属性值的排序确认各元素的显示属性值;
[0011] 根据各元素的显示属性值,刷新所述画布中各元素的层级渲染。
[0012] 另一方面,本发明实施例提供了一种文稿编辑工具中元素层级的管理装置,包括:
[0013] 层级值修改模,用于在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,根据所述层级变更操作修改所述至少一个元素的浮点型的层级属性值;
[0014] 第一标记模块,用于当监测到所述画布中至少一个元素的层级属性值被修改时,将设定标记位的值确定为第一标记值;
[0015] 显示值确定模块,用于当确定所述画布当前处于空闲状态且检测到所述设定标记位的值为第一标记值时,根据所述画布中各元素当前的层级属性值的排序确认各元素的显示属性值;
[0016] 元素层级渲染模块,用于根据各元素的显示属性值,刷新所述画布中各元素的层级渲染。
[0017] 本发明实施例中提供了文稿编辑工具中元素层级的管理方法及装置,该方法首先在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,根据层级变更操作修改至少一个元素的浮点型的层级属性值;然后当监测到画布中至少一个元素的层级属性值被修改时,则将设定标记位的值确定为第一标记值;之后当确定画布当前处于空闲状态且检测到设定标记位的值为第一标记值时,根据画布中各元素当前的层级属性值的排序确认各元素的显示属性值;最终根据各元素的显示属性值,刷新画布中各元素的层级渲染。利用该方法,在元素发生层次变更操作时,无需更新全部元素的层级值,也无需强制进行层级刷新,就能够保证画布中各元素的层级值一直都与画布UI界面视觉上呈现的层次渲染保持一致,有效降低了层级管理时CPU和内存资源的占用率以及层级渲染的错误率,很大程度提高了文稿编辑工具开发层面的便捷性。附图说明
[0018] 图1为本发明实施例一提供的一种文稿编辑工具中元素层级的管理方法的流程示意图;
[0019] 图2为本发明实施例二提供的一种文稿编辑工具中元素层级的管理方法的流程示意图;
[0020] 图3为本发明实施例三提供的一种文稿编辑工具中元素层级的管理方法的流程示意图;
[0021] 图4为本发明实施例四提供的一种文稿编辑工具中元素层级的管理装置的结构框图

具体实施方式

[0022] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0023] 实施例一
[0024] 图1为本发明实施例一提供的一种文稿编辑工具中元素层级的管理方法的流程示意图,该方法适用于基于文稿编辑工具编辑文稿过程中对画布中元素的层级和显示进行管理的情况,该方法可以由文稿编辑工具中元素层级的管理装置执行,其中该装置可由软件和/或硬件实现,并一般集成在文稿编辑工具中。
[0025] 如图1所示,本发明实施例一提供的一种文稿编辑工具中元素层级的管理方法,包括如下操作:
[0026] S101、在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,根据层级变更操作修改所述至少一个元素的浮点型的层级属性值。
[0027] 本实施例中的画布具体可理解为文稿编辑工具中进行文稿编辑的最小单位;本实施例可通过在画布中创建新元素或插入其他来源的元素实现文稿编辑,本实施例画布中的元素可以是但不限定为文本框(用于文本编辑)、图片、视频以及表格等。在文稿编辑过程中,如果用户或文稿编辑工具自身进行了影响元素层级的操作,则相当于对元素进行了层级变更操作,本实施例在监测到对元素进行了的层级变更操作后,可以根据对元素具体进行层级变更操作修改元素的层级属性值。
[0028] 本实施例中,元素的层级变更操作可以是但不限定为在画布中将一个或多个元素上移一层、下移一层、置于顶层、置于底层,以及设置到任意两个元素之间等;因此,用户或文稿编辑工具自身进行了上述任一项操作时,就可基于本步骤对发生层级变更的元素的层级属性值进行修改,其中,层级属性值具体可用于标记元素在画布中所属的具体层级,为了便于元素层级属性值的修改,本实施例将元素的层级属性值优选地设定为浮点型数据。
[0029] S102、如果监测到画布中至少一个元素的层级属性值被修改,则将设定标记位的值确定为第一标记值。
[0030] 一般地,在对元素的层级属性值进行修改后,需要对元素的层级渲染进行刷新,以使元素在画面界面上渲染出的层级与元素当前的层级属性值保持一致。但是如果元素的层级属性值进行一次修改后立即刷新元素的层级渲染,将很大程度的增加文稿编辑过程中对系统资源的占用,同时也不利于文稿编辑中的其他操作。
[0031] 本实施例在监测到画布中元素的层级属性值被修改时,并不立即刷新元素的层级渲染,而是将设定标记位的值确定为第一标记值,以用于提示文稿编辑工具其画布中存在待刷新层级渲染的元素。
[0032] 其中,本实施例中的设定标记位主要用于判定是否存在待刷新的层级渲染的元素,且该设定标记位一般设置在系统内存中,本实施例通过将设定标记位确定为第一标记值,来标识存在需要刷新层级渲染的元素。
[0033] S103、当确定画布当前处于空闲状态且检测到设定标记位的值为第一标记值时,根据画布中各元素当前的层级属性值的排序确认各元素的显示属性值。
[0034] 在实现步骤S102后,对元素的层级渲染进行刷新时,除了要满足设定标记位的值为第一标记值,还需要满足画布当前处于空闲状态的条件。其中,本实施例中画布处于空闲状态,具体可理解为用户当前没有在画布中进行编辑操作,或者系统当前没有对画布中的元素进行处理操作。可以理解的是,当画布处理空闲状态时,系统的资源占用率相对降低,此时,可以启动元素的层级渲染刷新操作。
[0035] 需要说明的是,刷新元素的层级渲染时,需要元素与渲染框架进行信息交互,而信息交互时渲染框架需要得知元素当前具体所在的层级,一般的,元素当前具体所在的层级可以通过层级属性值体现,但由于元素的层级属性值为浮点型数据,而渲染框架无法正常识别浮点型数据。
[0036] 由此,本实施例考虑为元素设置另外一个整数型的显示属性,以使元素能够基于该整数型的显示属性与渲染框架进行信息交互,实现元素层级渲染的正常刷新。本步骤首先考虑根据元素当前的层级属性值,确定元素当前的显示属性值。
[0037] 本步骤中元素的显示属性值的确定过程具体可描述为:对画布中的各元素根据各自当前的层级属性值排序,根据排序结果确定各元素当前层级对应的整数值,最后可将各元素对应的整数值确定为各自的显示属性值。
[0038] S104、根据各元素的显示属性值,刷新画布中各元素的层级渲染。
[0039] 本实施中在确定各元素的显示属性值后,可通过各元素对应的显示属性值与渲染框架进行信息交互,最终实现对画布中各元素的层级渲染进行刷新。
[0040] 本发明实施例一提供的一种文稿编辑工具中元素层级的管理方法,首先在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,根据层级变更操作修改至少一个元素的浮点型的层级属性值;然后当监测到画布中至少一个元素的层级属性值被修改时,则将设定标记位的值确定为第一标记值;之后当确定画布当前处于空闲状态且检测到设定标记位的值为第一标记值时,根据画布中各元素当前的层级属性值的排序确认各元素的显示属性值;最终根据各元素的显示属性值,刷新画布中各元素的层级渲染。利用该方法,在元素发生层次变更操作时,无需更新全部元素的层级值,也无需强制进行层级刷新,就能够保证画布中各元素的层级值一直都与画布UI界面视觉上呈现的层次渲染保持一致,有效降低了层级管理时CPU和内存资源的占用率以及层级渲染的错误率,很大程度提高了文稿编辑工具开发层面的便捷性。
[0041] 实施例二
[0042] 图2为本发明实施例二提供的一种文稿编辑工具中元素层级的管理方法的流程示意图。本发明实施例以上述实施例为基础进行优化,在本实施例中,将所述层级变更操作,进一步优化包括了:将元素置于底层、将元素置于顶层以及将元素置于层级相邻的两其他元素之间。相应的,还可将“根据所述层级变更操作修改所述至少一个元素的层级属性值”,进一步具体化为:确定所述至少一个元素对应的层级更新操作;如果所述层级更新操作为将所述至少一个元素置于底层,则确定所述画布中当前的最小层级属性值,在小于所述最小层级属性值范围内选取至少一个正数对应作为所述至少一个元素的层级属性值;如果所述层级更新操作为将所述至少一个元素置于顶层,则确定所述画布中当前的最大层级属性值,则在所述最大层级属性值上依次加1对应作为所述至少一个元素的层级属性值;如果所述层级更新操作为将所述至少一个元素置于层级相邻的两其他元素之间,则确定与所述两其他元素对应的两层级属性值,在所述两层级属性值之间的范围内选取至少一个数值对应作为所述至少一个元素的层级属性值。
[0043] 此外,还进一步将“根据所述画布中各元素当前的层级属性值的排序确认各元素的显示属性值”具体化为:根据所述画布中各元素当前的层级属性值,由小到大对各元素排序,并从设定整数值开始对各元素进行编号;确定排序后各元素对应的整数编号,将各元素的整数编号确定为各元素的显示属性值。
[0044] 如图2所示,本发明实施例二提供的一种文稿编辑工具中元素层级的管理方法,具体包括如下操作:
[0045] 在本实施例中,步骤S201~步骤S204对应于上述实施例一步骤S101,具体阐述了对画布中层级变更的元素的层级属性值进行修改的过程。
[0046] S201、在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,确定上述至少一个元素对应的层级更新操作。
[0047] 示例性地,当监测到用户或文稿编辑工具自身对画布中的元素进行了层级变更操作时,就可确定出对上述元素具体进行了哪种层级更新操作,后续可根据元素具体对应的层级变更操作,相应的对元素的层级属性值进行修改。本实施例中的层级更新操作优选地包括了将元素置于底层,将元素置于顶层,以及将元素置于层级相邻两其他元素之间,其中,本实施将元素置于下一层以及置于上一层均看作将将元素置于层级相邻两其他元素之间。
[0048] S202、如果层级更新操作为将所述至少一个元素置于底层,则确定画布中当前的最小层级属性值,在小于最小层级属性值范围内选取至少一个正数对应作为至少一个元素的层级属性值。
[0049] 示例性地,如果确定到将一个或多个元素置于底层,可基于本步骤修改上述一个或多个元素的层级属性值。
[0050] 一般地,如果同时将多个元素置于底层,则在确定出最小层级属性值之后,需要在小于最小层级属性值的范围内选取多个正数值,其中,所选取的正数值个数与发生层级变更操作的元素个数相同,然后,可将选取的多个正数值对应作为多个元素的层级属性值。需要说明的是,在将多个正数值对应作为多个元素当前的层级属性值后,需要保持多个元素之间的层级顺序不变,即,多个元素同时置于底层时,其置于底层后多个元素之间仍保持原有的层级顺序。
[0051] S203、如果层级更新操作为将至少一个元素置于顶层,则确定画布中当前的最大层级属性值,则在最大层级属性值上依次加1对应作为至少一个元素的层级属性值。
[0052] 示例性地,如果确定到将一个或多个元素置于顶层,可基于本步骤修改上述一个或多个元素的层级属性值,同样需要说明的是,多个元素同时置于顶层时,其置于顶层后多个元素之间仍保持原有的层级顺序。
[0053] S204、如果层级更新操作为将至少一个元素置于层级相邻的两其他元素之间,则确定与两其他元素对应的两层级属性值,在两层级属性值之间的范围内选取至少一个数值对应作为至少一个元素的层级属性值。
[0054] 示例性地,如果确定到将一个或多个元素置于层级相邻的两其他元素之间,则可基于本步骤的操作修改上述一个或多个元素的层级属性值。
[0055] 需要说明的是,如果对多个元素进行层级变更,则可根据层级变更的元素个数均分两层级属性值之间的数据,并依据多个元素原有的层级顺序,将均分后的多个数值依次作为多个元素当前的层级属性值。
[0056] 示例性地,将三个元素置于层级相邻的两其他元素之间,且两其他元素的层级属性值分别为3和4,相当于三个元素置于3和4之间,则将这三个元素依照原有的层级顺序,其当前的层级属性值可依次设定为3.25,3.5和3.75。
[0057] S205、如果监测到画布中至少一个元素的层级属性值被修改,则将设定标记位的值确定为第一标记值。
[0058] 示例性地,只要执行了步骤S202至步骤S204中的任一步,就相当于对画布中元素的层级属性值进行了修改,由此可基于本步骤将设定标记位确定为第一标记值。
[0059] S206、当确定画布当前处于空闲状态且检测到设定标记位的值为第一标记值时,根据画布中各元素当前的层级属性值,由小到大对各元素排序,并从设定整数值开始对各元素进行编号。
[0060] 示例性地,在符合元素层级渲染的刷新条件后,首先可基于本步骤的操作确定各元素的显示属性值。本实施例中依据层级属性值对各元素由小到大排序后,可以从设定整数值开始对各元素编号,其中,设定属性值可以优选为但不限定为整数1。
[0061] S207、确定排序后各元素对应的整数编号,将各元素的整数编号确定为各元素的显示属性值。
[0062] 示例性地,如果设定整数值为1,则相当于对排序后的各元素从1开始编号,由此每个元素对应有相应的整数编号,本实施例将该整数编号作为相应元素的显示属性值。
[0063] S208、根据各元素的显示属性值,刷新画布中各元素的层级渲染。
[0064] 示例性地,在确定各元素的显示属性值后,可以根据整数型的各元素的显示属性值与渲染框架进行信息交互,由此刷新画布中各元素的层级渲染,以使元素层级属性值与当前界面上显示的层级渲染保持一致。
[0065] 本发明实施例二提供的一种文稿编辑工具中元素层级的管理方法,具体化了元素层级属性值的修改操作,同时具体化了显示属性值的确定操作。利用该方法,能够采用双重属性来管理元素的层级,即为元素分别设置一个用于层级更新的浮点型层级属性以及用于层级渲染的整数型显示属性,由此在元素发生层次变更操作时,无需更新全部元素的层级值,也无需强制进行层级刷新,就能够保证画布中各元素的层级值一直都与画布UI界面视觉上呈现的层次渲染保持一致,有效降低了层级管理时CPU和内存资源的占用率以及层级渲染的错误率,很大程度提高了文稿编辑工具开发层面的便捷性。
[0066] 实施例三
[0067] 图3为本发明实施例三提供的一种文稿编辑工具中元素层级的管理方法的流程示意图。本发明实施例以上述实施例为基础进行优化,在本实施例中,进一步优化增加了:基于设定规则向所述画布中添加新的元素,并设定所述元素在所述画布中的层级属性值。
[0068] 在上述优化的基础上,进一步将“基于设定规则向所述画布中添加新的元素,并设定所述元素在所述画布中的层级属性值”具体化为:确定待添加至所述画布中的元素当前的层级属性值是否为0;如果所述元素当前的层级属性值为0,则将所述元素添加至所述画布,确定所述画布中当前是否存在其他元素,并基于确定结果设定所述元素在所述画布中的层级属性值;如果所述元素当前的层级属性值不为0,则将所述元素当前的层级属性值确定为所述元素在所述画布中的层级属性值,并将所述元素添加至所述画布。
[0069] 此外,本发明实施例在“所述根据各元素的显示属性值,刷新所述画布中各元素的层级渲染”之后,还优化增加了:将所述设定标记位的值确定为第二标记值。
[0070] 如图3所示,本发明实施例三提供的一种文稿编辑工具中元素层级的管理方法,具体包括如下操作:
[0071] 本实施例中的步骤S301~步骤S303具体化了对待添加至画布中的元素进行最初的层级属性值的确定操作。
[0072] S301、确定待添加至所述画布中的元素当前的层级属性值是否为0,若是,则执行步骤S302;若否,则执行步骤S303。
[0073] 本步骤首先对待添加至画布的元素当前的属性值进行判定,确定其当前的属性值是否为0。一般地,待添加至画布的元素可以是根据添加按钮在画布中创建的新元素,也可以是根据插入按钮从其他来源(如其他路径下的文档、图片以及视频等)获得的待插入画布中的元素。
[0074] 需要说明的是,如果待添加元素为新创建元素,则新创建元素的层级属性以及显示属性的值均初始为0;而当待添加元素为其他来源的元素时,这些元素携带了原有的层级属性值,且原有的层级属性值一般情况下不会为0。本步骤通过判定待添加元素当前的层级属性值是否为0,可以判定待添加元素为新创建的还是从其他来源获取的,并由此可根据判定结果对应进行后续操作。
[0075] S302、将元素添加至画布,确定画布中当前是否存在其他元素,并基于确定结果设定元素在画布中的层级属性值。
[0076] 本步骤在确定待添加的元素当前的层级属性值为0时,首先将元素添加至画布,然后判定画布中当前是否还存在其他元素,且根据不同的判定结果,执行不同的元素层级属性值的设定操作。
[0077] 进一步的,所述基于确定结果设定所述元素在所述画布中的层级属性值,包括:如果所述画布中当前不存在其他元素,则将所述画布的初始层级属性值作为所述元素的层级属性值;否则确定所述画布中当前的最大层级属性值,并将所述元素的层级属性值设定为所述最大层级属性值加1。
[0078] 在本实施例中,文稿编辑工具中创建画布时,会相应的为画布设定一个初始层级属性值,该初始层级属性值一般可作为第一个添加至画布中元素的层级属性值。需要注意的是,本实施例一般将画布的初始层级属性值设定为一个较大的数值,因为如果将画布的初始层级属性值设置为1,那么一旦画布中发生太多次将元素置于底层的操作,基于上述层级属性值的修改操作,可确定画布中会有大量元素的层级属性值介于0到1之间,很可能会因为浮点型数据的精度问题导致元素的层级属性值与用户预期设定的层级不符,由此出现层级匹配错误。示例性地,本实施例将画布的初始层级属性值设定为但不限定为10000,由此在对元素进行置于底层或下移至低于最低层的操作时,只需在原有最小层级属性值的基础上进行数值的减操作,这样,即使对画布中的元素进行更多次的置于底层的操作,也不会影响浮点型数据的精度,从而减少了层级匹配错误的出现几率。
[0079] S303、将元素当前的层级属性值确定为元素在画布中的层级属性值,并将元素添加至画布。
[0080] 在确定待添加的元素当前的层级属性值不为0时,可确定待添加的元素为其它来源的元素,本步骤可直接将元素在原有资源中具有的层级属性值确定为元素在当前画布中的层级属性值。需要说明的是,在确定该元素在画布中的层级属性值后,还无法直接将元素添加至画布中,需要进一步确定元素所具有的层级属性值是否与画布中其他元素的属性值冲突,如果属性值不冲突,则可认为该元素的来源为文稿编辑工具的受信任来源,可直接将该元素添加至画布中;如果属性值存在冲突,则可认为该元素的来源不是文稿编辑工具的受信任来源,此时为了保证文稿编辑工具的安全,一般拒绝将该元素添加至画布。
[0081] S304、在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,根据层级变更操作修改至少一个元素的浮点型的层级属性值。
[0082] S305、如果监测到画布中至少一个元素的层级属性值被修改,则将设定标记位的值确定为第一标记值。
[0083] S306、当确定画布当前处于空闲状态且检测到设定标记位的值为第一标记值时,根据画布中各元素当前的层级属性值的排序确认各元素的显示属性值。
[0084] S307、根据各元素的显示属性值,刷新画布中各元素的层级渲染。
[0085] S308、将设定标记位的值确定为第二标记值。
[0086] 在本实施例中,在设定标记位处于第一标记值的情况下完成对上述元素层级渲染的刷新操作后,可以将设定标记位的值确定为第二标记值,该第二标记值具体可用于提示文稿编辑工具其画布中的元素当前已不存在待刷新层级渲染的操作。
[0087] 需要说明的是,在完成当前画布中的文稿编辑后,如果需要对该画布进行退出保存,则可在关闭该画布前,保存该画布的元素属性信息时,对该画布中各元素的层级属性值进行归整操作,即,可将画布中的各元素根据当前的层级属性值排序,然后基于其排序顺序将各元素的层级属性值回归成1~N的整数值,以便于对元素属性信息的保存。之后,如果需要在该画布中再次进行文稿编辑,则可在打开该画布时,自动在画布中各元素当前所对应层级属性值的基础上加上画布的初始层级属性值,作为各元素在画布中的新的层级属性值。
[0088] 示例性地,如在画布退出保存前元素a对应的层级属性值为10005.5,且确定元素a基于层级属性值在各元素中的排序为第7位,则可在关闭该画布时,将元素a的层级属性值归整标记为7;本实施例设定该画布的初始层级属性值为10000,当后续再次对该画布编辑打开该画布时,元素a的层级属性值则可确定为7加10000,即元素a在新打开的画布中的层级属性值为10007。
[0089] 本发明实施例三提供的一种文稿编辑工具中元素层级的管理方法,具体增加了待添加元素的添加判定及层级属性值的确定操作,还优化增加了设定标记为的修改操作。利用该方法,实现了文稿编辑工具中元素层级的全面管理,有效降低了层级管理时CPU和内存资源的占用率以及层级渲染的错误率,很大程度提高了文稿编辑工具开发层面的便捷性。
[0090] 实施例四
[0091] 图4为本发明实施例四提供的一种文稿编辑工具中元素层级的管理装置的结构框图。该装置适用于基于文稿编辑工具编辑文稿过程中对画布中元素的层级和显示进行管理的情况,其中该装置可由软件和/或硬件实现,并一般集成在文稿编辑工具中。如图4所示,该装置包括:层级值修改模块41、第一标记模块42、显示值确定模块43以及元素层级渲染模块44。
[0092] 其中,层级值修改模块41,用于在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,根据所述层级变更操作修改所述至少一个元素的浮点型的层级属性值;
[0093] 第一标记模块42,用于当监测到所述画布中至少一个元素的层级属性值被修改时,将设定标记位的值确定为第一标记值;
[0094] 显示值确定模块43,用于当确定所述画布当前处于空闲状态且检测到所述设定标记位的值为第一标记值时,根据所述画布中各元素当前的层级属性值的排序确认各元素的显示属性值;
[0095] 元素层级渲染模块44,用于根据各元素的显示属性值,刷新所述画布中各元素的层级渲染。
[0096] 在本实施例中,该装置首先通过层级值修改模块41在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,根据层级变更操作修改所述至少一个元素的浮点型的层级属性值;然后当监测到画布中至少一个元素的层级属性值被修改时,通过第一标记模块42将设定标记位的值确定为第一标记值;之后通过显示值确定模块43当确定画布当前处于空闲状态且检测到设定标记位的值为第一标记值时,根据画布中各元素当前的层级属性值的排序确认各元素的显示属性值;最终通过元素层级渲染模块44根据各元素的显示属性值,刷新画布中各元素的层级渲染。
[0097] 本发明实施例四提供的一种文稿编辑工具中元素层级的管理装置,在元素发生层次变更操作时,无需更新全部元素的层级值,也无需强制进行层级刷新,就能够保证画布中各元素的层级值一直都与画布UI界面视觉上呈现的层次渲染保持一致,有效降低了层级管理时CPU和内存资源的占用率以及层级渲染的错误率,很大程度提高了文稿编辑工具开发层面的便捷性。
[0098] 进一步的,所述层级变更操作包括:将元素置于底层、将元素置于顶层以及将元素置于层级相邻的两其他元素之间;相应的,层级值修改模块41,具体可用于:
[0099] 在监测到对文稿编辑工具画布中的至少一个元素进行层级变更操作时,确定所述至少一个元素对应的层级更新操作;如果所述层级更新操作为将所述至少一个元素置于底层,则确定所述画布中当前的最小层级属性值,在小于所述最小层级属性值范围内选取至少一个正数对应作为所述至少一个元素的层级属性值;如果所述层级更新操作为将所述至少一个元素置于顶层,则确定所述画布中当前的最大层级属性值,则在所述最大层级属性值上依次加1对应作为所述至少一个元素的层级属性值;如果所述层级更新操作为将所述至少一个元素置于层级相邻的两其他元素之间,则确定与所述两其他元素对应的两层级属性值,在所述两层级属性值之间的范围内选取至少一个数值对应作为所述至少一个元素的层级属性值。
[0100] 在上述实施例的基础上,显示值确定模块43,具体可用于:
[0101] 当确定所述画布当前处于空闲状态且检测到所述设定标记位的值为第一标记值时,根据所述画布中各元素当前的层级属性值,由小到大对各元素排序,并从设定整数值开始对各元素进行编号;确定排序后各元素对应的整数编号,将各元素的整数编号确定为各元素的显示属性值。
[0102] 进一步的,该装置还优化增加了:
[0103] 层级值设定模块45,用于基于设定规则向所述画布中添加新的元素,并设定所述元素在所述画布中的层级属性值。
[0104] 在上述优化的基础上,层级值设定模块45,优化包括了:
[0105] 层级制判定单元,用于确定待添加至所述画布中的元素当前的层级属性值是否为0;
[0106] 第一执行单元,用于当所述元素当前的层级属性值为0时,将所述元素添加至所述画布,确定所述画布中当前是否存在其他元素,并基于确定结果设定所述元素在所述画布中的层级属性值;
[0107] 第二执行单元,用于当所述元素当前的层级属性值不为0时,将所述元素当前的层级属性值确定为所述元素在所述画布中的层级属性值,并将所述元素添加至所述画布。
[0108] 进一步的,所述第一执行单元,具体可用于:
[0109] 当所述元素当前的层级属性值为0时,将所述元素添加至所述画布,确定所述画布中当前是否存在其他元素;如果所述画布中当前不存在其他元素,则将所述画布的初始层级属性值作为所述元素的层级属性值;否则确定所述画布中当前的最大层级属性值,并将所述元素的层级属性值设定为所述最大层级属性值加1。
[0110] 在上实施例的基础上,该装置还优化包括了:
[0111] 第二标记模块46,用于在所述根据各元素的显示属性值,刷新所述画布中各元素的层级渲染之后,将所述设定标记位的值确定为第二标记值。
[0112] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈