随笔分类 -  Firemonkey

摘要:(6)GetGlyph和GetBaseline TFontGlyphManager是一个抽象类,在不同平台上的实现是不同的,以Windows为例,在FMX.FontGlyphs.Win.pas文件中定义了: DoGetGlyph的实现代码如下: DoGetBaseline的实现代码直接返回了FBas 阅读全文
posted @ 2014-06-17 22:32 玻璃城市 阅读(1496) 评论(0) 推荐(0)
摘要:(5)UpdateCharRec 该函数的源码分析如下: 其中2个重要的函数是: TFontGlyphManager.Current.GetGlyph TFontGlyphManager.Current.GetBaseline 阅读全文
posted @ 2014-06-17 22:06 玻璃城市 阅读(1075) 评论(0) 推荐(0)
摘要:(4)DoDrawLayout DoDrawLayout函数的源代码分析如下: 一个重要的函数数:AddOrGetChar,获取字符处理对象,调用了UpdateCharRec函数。 阅读全文
posted @ 2014-06-17 21:24 玻璃城市 阅读(1454) 评论(0) 推荐(0)
摘要:五、TTextLayoutNG 在FMX.TextLayout.GPU.pas文件中,实现了几个基础功能,其中: (1)渲染单元 在TextLayout中,每一批同字体和颜色的1~n个字符,组成一个最基本的渲染单元TGPURun,1~n个渲染单元构成一行(TGPULine),1~n行构成一帧(Fra 阅读全文
posted @ 2014-06-17 21:13 玻璃城市 阅读(1362) 评论(0) 推荐(0)
摘要:三、TControl FireMonkey重写了TControl的代码,实现了众多接口,如下图: 基类上实现了众多功能,这里不详细描述。 四、TEdit 编辑框是从TControl—TStyledControl继承下来的,并实现了众多接口,如下图: 从实现的接口可以看到,包括键盘、光标、文字处理等都 阅读全文
posted @ 2014-06-17 20:42 玻璃城市 阅读(1280) 评论(0) 推荐(0)
摘要:FireMonkey采用了与VCL不同的机制,很多基础类已经重新编写了,好在一如既往地提供了源代码,故此有机会学习一下。 一、图形引擎 FireMonkey采用了纯图形化技术解决可视化控件,而不是使用Windows控件作为基础。FireMonkey所使用的图形处理技术如下: Mac HD 使用 Qu 阅读全文
posted @ 2014-06-17 20:23 玻璃城市 阅读(1717) 评论(1) 推荐(0)
摘要:3、RotationAngle 控件的旋转角度,可以通过TAnimation进行角度旋转控制。 4、RotationCenter 控件旋转的中心位置,从(0,0)到(1,1),缺省是(0.5,0.5),可以通过TAnimation进行控制。 5、Scale 控件大小比例,1是正常大小,2是一倍大小, 阅读全文
posted @ 2013-11-09 21:23 玻璃城市 阅读(1667) 评论(0) 推荐(0)
摘要:基于FireMonkey的程序开发与VCL确实有些不同,很多属性发生了变化,尤其是外观方面。 1、Margins、Padding、Position Margins:指定了当前控件在父控件(Parent)上的边界范围 Padding:指定了当前控件容纳的子控件(children)的位置范围 Posit 阅读全文
posted @ 2013-11-09 21:10 玻璃城市 阅读(6052) 评论(0) 推荐(1)