forked from lurenpluto/BOLT_SDK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHNAGELIST
508 lines (316 loc) · 19.4 KB
/
CHNAGELIST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
548版本改动列表
1. 重构HostWnd的xml解析流程
新的解析流程支持动态扩展hostwnd,并且具有更高的效率
2. 修正ModalHostWnd,绑定的RichEditObject和EditObject无法正确显示回车的bug
3. 修复某些情况下XLUEIPC句柄机制可能导致的崩溃
---------------------------------------------------------------------------------------------------------------------------
544版本改动列表
1. XLUEIPC模板增加句柄机制,避免各种错误使用可能导致的崩溃
XLUEIPC模块的核心对象channel、session、sever和interface,在引用计数基础上引入真句柄机制,避免错误使用已释放对象可能导致的崩溃等问题。该次改动属于较大的改动,但是接口没有改变,对使用者对没有影响
2. 修复TurnObjectAnimation创建位图失败情况下,可能导致的崩溃
3. 修复图形库创建bitmap,指定scanlinelength时候导致创建错误的bug
---------------------------------------------------------------------------------------------------------------------------
542版本改动列表
1. 核心改动:新增HostWndFactory全局对象,支持在lua里面动态创建hostwnd
该全局对象的名字是Xunlei.UIEngine.HostWndFactory,目前有下面方法:
hostwnd CreateHostWnd(hostwndid, hostwndclass, ownpackage)
使用方法如下:
local factory = XLGetObject("Xunlei.UIEngine.HostWndFactory")
factory:CreateHostWnd("temp", "FrameHostWnd")
2. 核心改动:重构和改进hostwnd和hostwndfactory机制
新的机制支持扩展hostwnd类型,创建hostwnd有更快的速度,并且和lua交互也更高效,对于跨平台支持也更完善和优雅
3. 核心改动:完善XLUE的初始化和反初始化逻辑,增加XLUE_RegisterHostWnd和XLUE_RegisterResource两个接口
新的初始化逻辑更加完善,并修复两处反初始化时候可能导致的内存泄露问题
4. 修复RichEditObject在插入内嵌对象后,销毁RichEditObject元对象时候可能导致出错的bug
5. 完善xarmanager的退出时反初始化逻辑,增加清除事件逻辑
---------------------------------------------------------------------------------------------------------------------------
540版本改动列表
1. WindowlessFlashObject增加alivetimeout属性,用以设置远程模式下心跳检测时间间隔
默认的检测时间间隔是1000ms,可以通过alivetimeout属性来修改该时间间隔
2. WindowlessFlashObject增加SetAliveTimeout和GetAliveTime接口
这两个接口分别用以设置和获取alivetimeout属性,接口签名如下:
void SetAliveTimeout(unsigned int timeout)
unsigned int GetAliveTimeout()
3. 修复WindowlessFlashObject的SetFlashModule接口无法生效的bug
该接口可以显示指定该对象使用的flash控件模块
4. XLUEIPC的channel的心跳检测和断开检测分离
方便心跳检测可独立使用单独的时间间隔
5. XLUEIPC增加XLIPC_GetChannelID接口,用以获取指定channel的id
接口签名如下:
XLUEIPC_API(const wchar_t*) XLIPC_GetChannelID(XLIPC_CHANNEL hChannel)
6. 完善XLUEIPC错误码,细化某些出错情况下的返回值
7. 进一步完善XLUEIPC和WindowlessFlashObject的日志
---------------------------------------------------------------------------------------------------------------------------
538版本改动列表
1. 改进图形库bitmap的clip机制
在新的机制下,clip得来的bitmap会保持对原bitmap的引用,依次类推
2. 改进图形库bitmap的预乘机制
新的机制完善了对clip出来的bitmap的预乘处理,避免某些情况下clip得出的子bitmap无法正确预乘处理的bug
3. 图形库增加XL_CreateBindBitmapEx接口
该接口可以从一个已经过预乘处理的位图buffer,创建一个bitmap
4. RichEditObject的段落格式支持水平对齐样式
该改动属于XLTS富文本排版的较大改动,支持水平对齐样式
5. RichEditObject增加支持单行模式,multiline属性正式生效
6. 修复richeditobject的SetWantReturn无法正常工作的bug
---------------------------------------------------------------------------------------------------------------------------
536版本改动列表
1. 引擎核心增加完善的事件定义管理系统
新的事件定义管理系统支持继承体系上的更为统一和优雅的事件定义管理,支持对等方式挂接lua回调和C回调方法,支持更快速方式挂接和移除事件Listener,并且有更强的错误检测能力
2. 核心改动:重构元对象/Hostwnd/ObjectTree的事件定义管理,支持对等挂接lua和C回调事件监听函数
该重构涉及到的改动很多,重构后事件的定义更为方便和细化,检测也更为严格,同时事件挂接和移除速度也有所提高;支持对等挂接C回调事件,为稍后的增加C接口的AttachListener和RemoveListener提供了基础
3. HostWnd增加EventExists方法
该方法用以判断hostwnd上是否存在指定事件
4. 修复ModalHostWnd无法处理输入法键入字符的bug
该bug会导致模态hostwnd无法输入中文等非英文字符
5. 修复xgp无法加载.jpeg后缀格式图片的bug
---------------------------------------------------------------------------------------------------------------------------
534版本改动列表
1. 修复ModalHostWnd可能重复处理键盘输入消息的bug
2. 修复XLFSIO一处多线程使用情况下可能导致的崩溃
3. BXF的增加表达式辅助代码
外部可以方便的使用引擎内置的表达式功能来辅助开发
---------------------------------------------------------------------------------------------------------------------------
530版本改动列表
1. 完善BXF的扩展资源子框架
扩展资源子框架进一步改进和完善,并在此基础上增加了icon扩展资源类型(在官方扩展XLUEExtObject.dll里面)
2. 改进WebBrowseObject对键盘输入的支持
新的策略使得IE控件对键盘输入的支持更加完善,避免某些情况下ie内嵌ACX控件无法获取键盘输入的bug
3. 修正WindowlessBoltBrowserObject进程外服务模式下的光标策略,在发生同步重入删除时候可能导致的崩溃
4. 对象树在获取光标时候对对象锁定保护,避免同步重入删除可能导致的崩溃
5. 修正扩展元对象的ResProvider设置时机为在创建extobject之前设置
方便扩展元对象在外部对象的构造函数里面使用resprovider
6. 增加操作扩展资源真正资源句柄的相关接口
XLUE_GetResRealHandle
XLUE_AddRefResRealHandle
XLUE_ReleaseResRealHandle
7. BXF的扩展类型配置支持扩展资源类型
---------------------------------------------------------------------------------------------------------------------------
526版本改动列表
1. 核心逻辑完善:元对象的OnInitControl增加重入判定,避免同步添加对象可能导致的重复触发事件
由于OnInitControl事件触发是深度优先,同层对象是自上向下的顺序触发的,所在在某个对象的OninitControl里面对下面尚未触发OnInitControl的对象,动态添加子对象,可能会导致该子对象多次触发OnInitControl,所以版本起对此作了限定,但是还是提醒不要逆时序进行添加、移除对象的操作,虽然修正后不会重复触发事件,但是会破坏原有的时序,出现不可预期的结果!
2. EditObject增加GetAllowBeep和SetAllowBeep的lua接口
这两个接口可以用来动态修改EditObject的allowbeep属性,接口签名如下:
bool GetAllowBeep()
void SetAllowBeep(bool enable)
3. 修复hostwnd创建窗口后初始焦点状态可能出错的bug
该bug可能导致hostwnd在某些情况下无法正常处理鼠标和键盘输入,本版本已经修正
4. 修复ModalHostWnd某些情况下创建窗口后无法获取焦点的bug
该bug可能ModalHostWnd弹出后某些情况下由于没有焦点,而导致不能正常处理键盘输入,本版本已经修正
5. 修复模板对象挂接OnPreCreateInstance事件后,无法动态移除的bug
6. 修复XARManager挂接OnPreLoadXAR事件后,无法动态移除的bug
---------------------------------------------------------------------------------------------------------------------------
522版本改动列表
1. 增加BXF的外部扩展资源子框架
该框架涉及多个导出方法和回调接口,同时也对引擎的资源管理部分做了较大的改动,引入了XLUE_RESOURCE_HANDLE资源对象机制
2. 改进扩展类型的预注册机制,支持预注册多种扩展类型包括扩展元对象/扩展资源/扩展hostwnd等
3. BXF辅助代码增加扩展资源子框架的辅助代码
该辅助代码在SDK下的BXF目录,对应的文件为ExtResourceImpl.h,可以基于此代码快速开发外部扩展资源类型
4. 完善BXF的辅助代码
对BXF的诸多辅助类代码进行了规范和修正
5. 修复hostwnd无法正确移除OnSize事件的bug
6. 修正XLUEIPC模块的日志输出
---------------------------------------------------------------------------------------------------------------------------
520版本改动列表
1. 改进ModalHostWnd的截取键盘消息策略
新的策略使得ModalHostWnd在处理焦点等策略上更加完备,并且更好和其它hostwnd保持一致
2. 改进hostwnd对诸如微软拼音等输入法的支持
包括输入窗口的跟随和窗口字体的设置等,其中输入法窗口字体和当前图形库默认字体保持一致
3. 修复一处切换到拼音输入法可能导致的内存泄露
4. 引擎内核和SDK头文件增加输入法相关支持
可用于为BXF框架提供更友好的输入法支持
5. 增加CEF等第三方模块
6. 规范SDK内置DEMO的xml书写
---------------------------------------------------------------------------------------------------------------------------
518版本改动列表
1. 重构引擎资源管理部分,增加动态parser和creator机制,为BXF的扩展资源子框架准备
该改动属于相对较大的改动,但是对现有功能没有影响,也在常见产品如迅雷7和xmp上经过测试,但是由于涉及到的代码量庞大,难免有所疏漏,所以在使用中发现问题请及时反馈
2. 修复EditObject和RichEditObject不能在lua里正确动态挂接事件的bug
3. xmlcontrol的xml属性解析增强错误检测
4. 改进XLUEDefine.h关于内置资源类型定义
资源类型定义由枚举类型修正为字符串类型,便于外部扩展
5. 改进XLUE_ResProviderAttachResEvent和XLUE_ResProviderDetachResEvent接口,支持扩展资源类型
---------------------------------------------------------------------------------------------------------------------------
516版本改动列表
1. 加强luaruntime在日志版下的强制检测功能
在开启luaruntime强制错误检查情况下,本版本起会有更强的错误检查能力,建议各产品及时更新到最新版luaruntime,并在日志版开启错误检查
2. 重构元对象的事件管理系统的lua封装,提高检错能力
新版本的元对象事件具有更精确的错误检出能力,可以用来检测错误的事件挂接/移除等常见错误;并修复在极端情况下可能导致的事件挂接混乱错误
3. 重构自定义control的lua封装和parser,并将FireExtEvent移入自定义control的lua封装
从该版本起,对非自定义控件调用FireExtEvent,会触发脚本错误
4. 修复XLUE_FireExtObjEvent接口返回值排序错误
5. 修复BXF框架下对扩展元对象的渲染剪裁错误
6. 修复WindowlessFlashObject在创建远程服务失败触发事件中,自我移除可能导致的崩溃
7. 完善flash相关元对象的SetAllowScriptAccess和GetAllowScriptAccess接口,在未创建flash ocx对象时候缓存
8. 改进luaruntime的XLLRT_RegisterClass接口和XLLRTClass/XLLRTObject结构体定义
---------------------------------------------------------------------------------------------------------------------------
512版本改动列表
1. 完善BXF的扩展元对象的事件辅助类代码
2. BXF的扩展元对象的luahost扩展接口增加RegisterAuxClass方法
该接口方便外部扩展元对象注册一些辅助lua类或者全局对象
3. 修正xml自定义控件的属性解析策略,对空字符串也进行解析
现在的策略和1.6版本以前的策略保持一致,如果对xmlcontrol的某个属性指定了空值,那么会覆盖默认值
4. 统计字段增加对hostwnd的统计项
现在用XLUEMonitor工具可以正确看到当前hostwnd类型对象的数量
5. 修复图形库外部设置默认字体使用中文名称的时候,可能导致字体渲染效果异常的bug
6. 修正luahost扩展接口的GetLuaFunctions接口签名
---------------------------------------------------------------------------------------------------------------------------
510版本改动列表
1. 修正图形库某些情况下默认字体渲染效果不一致的bug
2. LayoutObject的PushDirtyRect支持刷新整个元对象区域
当PushDirtyRect不指定任何参数的时候,默认脏矩形区域是整个元对象,也即该元对象在下个绘制周期内会被刷新
3. Flash相关对象和服务增加完善日志,用以日志版的错误诊断
主要用以诊断远程flash服务可能出现的创建失败的bug
4. WindowlessFlashObject在远程flash服务创建完毕,初始化本地服务时候进行加锁保护,避免重入删除导致的崩溃
该崩溃在日志版出现错误弹框情况下可能出现
5. 修复UNION版本某些组件错误依赖XGP库的bug
---------------------------------------------------------------------------------------------------------------------------
506版本改动列表
1. 正式对外开放XLUEIPC模块
新增XLUEIPC.lib和XLUEIPC.h等文件
2. tools增加XAR打包工具XLUEPack
3. BXF开源框架代码增加元对象事件辅助类
代码在XLUE的bin svn的BXF目录下,外网SDK里面位于include\BXF目录下
4. 核心改动:元对象键盘输入事件区分是否是按键
同时元对象的OnKeyDown、OnKeyUp、OnChar事件,在当前参数列表下增加isSysKey额外参数,用来表示当前按键是否是系统按键
5. 核心改动:增加内置消息循环机制和相关接口
该机制可以用以整合外部消息循环和引擎内置的消息循环,引擎内置消息循环可以由某些扩展服务(比如web服务)来注册,并完成相应的工作
新增的接口如下:
XLUE_API(long) XLUE_DoMessageLoopWork(void* reserved);
XLUE_API(long) XLUE_RegisterMessageLoopListener(LPFNDOMESSAGEWORKPROC lpfnWorkProc, void* userData);
XLUE_API(BOOL) XLUE_UnregisterMessageLoopListener(long cookie, void** lpUserData);
其中XLUE_RegisterMessageLoopListener和XLUE_UnregisterMessageLoopListener用来注册基于引擎内置消息循环的自定义handler,可以在handler里面完成基于消息循环的工作
XLUE_DoMessageLoopWork由宿主程序在主消息循环里面驱动,引擎用来模拟内置的消息循环
6. 完善XLUEOPS进程外服务器对web服务的支持
7. 完善hostwnd的鼠标捕获处理
在hostwnd弹出模态窗口,被disable等情况下,如果当前正在捕获鼠标状态,那么放弃对鼠标的捕获
8. 修正hostwnd在disable状态下对cursor的支持
修正后的结果为:当一个hostwnd在被disable状态下,不会由于元对象或者hostwnd自身的cursorid配置而改变鼠标形状
9. 修正XLUE_FireExtObjEvent接口签名
10. 修正全局垃圾回收机制,在remove处理器的时候,总是返回flase的bug
---------------------------------------------------------------------------------------------------------------------------
504版本改动列表
1. 改进XLUEOPS进程外服务器,增加支持进程外浏览器服务(即将到来的Webkit内核浏览器)
改进后的XLUEOPS功能更加强大,支持加载flash服务和浏览器服务,并支持加载第三方进程外服务,是BXF扩展框架的重要组件部分
2. BOLT外网SDK增加XLUEIPC.lib和XLUEIPC.h,正式对外开放XLUEIPC模块
3. XLUEIPC跨进程通信支持从低权限进程到高权限进程
4. WindowlessFlashObject在初始化时候增加锁定保护
避免在初始化进程外flash服务时候,销毁对象本身可能导致的崩溃
5. BXF的LayoutObjectWrapper增加ImageObject和RealObject相关方法
6. 修正XLUE.dll的XLUE_SetImageObjID和XLUE_GetImageObjID两个导出接口
7. XGP库的lua封装不再初始化和反初始化XGP
移除此冗余操作,避免反初始化时候由于时序错误可能导致的崩溃
8. XLUE的反初始化逻辑强制清除timermanager所有timer
也即调用XLUE_UninitLoader进行反初始化后,TimerManager的所有既有timer都会终止
9. 完善HostWndManager的clear接口,避免重入移除hostwnd导致出错
10. 栈锁机制的删除增加重入保护,主要避免hostwnd的重复删除
---------------------------------------------------------------------------------------------------------------------------
502版本改动列表
1. RichEditObject增加hidesel属性和相关接口
该属性是EditObject的对等属性,使用方法和EditObject一致,默认值也相同,默认值hidesel=1
2. XLUEIPC的channel和session分别增加设置/获取心跳超时时间的接口
新增接口如下:
XLIPC_SetChannelAliveTimeout
XLIPC_GetChannelAliveTimeout
XLIPC_SetSessionAliveTimeout
XLIPC_GetSessionAliveTimeout
需要注意的是默认超时时间都是500ms,使用者可以设置合适的值来满足不同的需求,设置一个超大值可以避免由于心跳通信失败导致的连接被动断开
3. XLUE.dll新增hostwnd坐标转换相关C接口,主要用以完善BXF框架
新增接口如下:
XLUE_HostWndPtToScreenPt
XLUE_ScreenPtToHostWndPt
XLUE_HostWndRectToScreenRect
XLUE_ScreenRectToHostWndRect
XLUE_TreePtToHostWndPt
XLUE_HostWndPtToTreePt
XLUE_TreeRectToHostWndRect
XLUE_HostWndRectToTreeRect
4. 修复win7下带联动窗口的hostwnd,点击任务栏缩略图无法前置或者还原的bug
该bug由联动窗口hostwnd的整体缩略图功能导致,新版本已经修正
5. 改进顶层hostwnd的焦点策略
新的策略修正了在某些情况下,窗口被deactive后延迟收到FocusChange事件的bug,并具有更好的一致性
6. 修正hostwnd作为子窗口时候的焦点策略
当hostwnd做为子窗口时候,focus取决于该窗口是否真正有焦点,而非是否是当前活动窗口
7. 修正窗口的缓存大小策略
避免在初始化和切换顶层<->子窗口时候可能引发的bug
8. FlashService异常保护增加模块限定,只捕获发生在Flashxxx.ocx模块里的崩溃
---------------------------------------------------------------------------------------------------------------------------
500版本改动列表
1. EditObject增加hidesel属性和相关接口
该属性用以控制EditObject在选中一段内容,并失去焦点后,是否隐藏选中状态,hidesel=1会隐藏,hidesel=0不会隐藏
属性可以在xml里面直接配置:
<hidesel>0</hidesel>
可以以调用EditObject的lua方法来动态设置和查询:
void SetHideSel(bool hide)
bool GetHideSel()
2. EditObject的hidesel属性默认值修正为1,也即失去焦点后隐藏选中状态
这个属性之前一直是内部属性,并没有暴露给外面,后来由于有产品反馈,改成hidesel=0后,导致其它产品无法控制,所以现在重新调整为先前的默认值
3. 完善引擎内部Lua事件的管理策略,提高xml解析和运行时效率
4. 对象树渲染器在渲染过程时候,对所渲染的对象树进行保护,避免重入删除导致的崩溃
日志版在绘制过程中,有可能导致出现错误弹框,容易出现上述崩溃,而pr版不会出现类似崩溃
同时此次的修正也防止了在BXF扩展元对象子框架下,外部对象OnPaint里面重入可能导致的崩溃
5. 进程外Flash服务增加部分异常安全保护
6. 修正XLUEOPS进程的退出策略
修正为强制结束进程,避免flash模块在卸载时候可能导致的崩溃
7. XLUEIPC的通信模块在日志版增加完备日志
用以诊断在使用XLUEIPC模块中,可能出现的各种失败情况
---------------------------------------------------------------------------------------------------------------------------
498版本改动列表
1. LayerObject新增bindmode属性和相应的lua接口
关于LayerObject的详细使用方法,请参考在线文档里关于LayerObject的相关说明
2. 完善元对象的Ctrl命中测试的默认实现
不再直接依赖是否有挂接鼠标和键盘事件,而是依赖元对象的CanHandleInput核心方法,把visible和enable属性纳入考虑范围,同时增加对扩展元对象的Ctrl命中测试支持
3. HostWnd的AddInputFilter挂接的消息过滤事件,支持在xml里面静态配置,进一步方便使用
使用方法和hostwnd的其它事件完全一致:
<event name=” OnMsgFilter” function=”xxxxx”/>
4. XLUEDefine.h头文件增加鼠标和键盘消息相关定义
可以在BXF框架代码下使用鼠标和键盘消息了
5. 完善BXF框架代码,去除在VS最高级别警告下的warning
6. 修复层对象在非clipsens情况下无法擦除背景的bug
7. 修复扩展元对象的CanHandleInput无法被正确调用的bug
8. 修正扩展元对象的hittest默认实现
9. 完善扩展元对象只在必要时候挂接bindhostwnd和createhostwnd事件
10. 进一步完善hostwnd的焦点策略
11. 日志版增加xmltype自定义方法重复判断
如果xmlcontrol或者xmlanimation里面定义了重复的method,那么在日志版会弹出错误提示
12. 修复HostWnd的AttachListener导致的lua虚拟机的table机制出错的bug
13. luaL_unref在日志版增加强制检错机制
---------------------------------------------------------------------------------------------------------------------------
492版本改动列表
1. 注册扩展元对象增加attribute字段
该字段主要提供元对象的一些核心属性,并为了以后的内核扩展准备
2. 修正XLUE.h的头文件对XLUEDefine.h的依赖
该bug在某些环境下会导致编译出错,本版本已经修复
3. 层对象渲染流程采用拓扑序列而非zorder序列
层对象的渲染流程按照嵌套关系,有父子关系的层对象不再依赖zorder
4. 修复元对象脏矩形某些情况下出错的bug
该bug主要会导致EditObject和RichEditObject在某些情况下无法正常刷新
5. 完善剪裁敏感层对象的绘制流程,子对象不再受limitrect限制,层对象将创建和对象大小一致的缓存位图
---------------------------------------------------------------------------------------------------------------------------
490版本改动列表
1. 引入BXF的扩展模块统一管理机制
该机制可以以统一的形式管理各个扩展模块,并提供了高效的预注册机制,可以很方便的对引擎进行二级制模块级别的扩展和增强
2. 引入BXF的元对象扩展子框架
该机制允许外部扩展元对象,提供功能更丰富、强劲的扩展元对象,并且使用方法和现有内置元对象完全一致
3. 正式提供BXF框架代码
该框架代码采用C++ wrapper形式,旨在C++层面更方便的操作引擎的接口,并在BXF框架的基础上更方便、优雅的开发自己的扩展类,类似WTL对win32API的封装
该框架代码在XLUE svn的各版本根目录BXF,以一系列头文件的形式提供
4. 正式开放LayerObject核心元对象,提供层渲染机制为所有用户使用
层渲染是引擎的一个重大改造,在层渲染的基础上可以实现很多之前不能实现的功能,这个接下来会有详细的邮件说明
5. LayerObject增加缓存机制
该机制可以为整个渲染链提供分层的cache,减少绘制时候引起的不必要的开销
6. LayerObject提供剪裁敏感特性
这个是层对象的一个核心特征,也是不同于传统渲染流程的一大特色,为不支持剪裁绘制的元对象提供了一个发挥作用的平台,尤其是对于即将大量扩展的后置渲染对象,很多时候都要依赖层对象的剪裁敏感特性
7. XLUE.dll新增多个导出接口,包括
a) 元对象、对象树和hostwnd的各类接口
b) ResProvider的相关接口,并增加XLUE_RESPROVIDER_HANDLE核心句柄类型
c) TimerManager的相关接口
8. XLUE.h头文件调整
主要增加了XLUEDefine.h头文件,里面有XLUE.h依赖的各个类型的定义,XLUEDefine.h和XLUE.h在svn的相同目录,如果之前有项目是按照文件名拉取而非目录拉取的,那么需要增多该头文件的拉取
9. 优化元对象的xml parser体系,减少重复解析,并支持外部扩展
修正后的xml解析体系更加完善和优雅,并提供了更为严格的xml属性排错机制,更新后各产品可能会发现多了很多未知xml属性的弹框,请根据弹框提示进行相关的修正
10. HostWnd新增OnEnterResizeMove和OnExitResizeMove事件
这两个事件在hostwnd被拖着移动和改变大小时候会触发,分别在开始和结束时候触发,事件原型如下:
long result, bool handled, bool callnext OnEnterResizeMove(hostwnd self, int type)
long result, bool handled, bool callnext OnExitResizeMove(hostwnd self, int type)
其中type=0表示是resize事件,1表示是move事件
11. 多处细节改动和优化