博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SkScalar
阅读量:6235 次
发布时间:2019-06-22

本文共 883 字,大约阅读时间需要 2 分钟。

 

Skia使用SkScalar指定所有设备无关的坐标.

SkScalar 在编译时指定为32位整形(16.16 见SkFixed)或者IEEE 32位float

可以通过头文件SkScalar.h的宏定义/内联来判断SkScalar的准确定义。

SkScalar x, y;   // all of these work fine as floats or SkFixed    以下在float和SkFixed都正确   x = SkIntToScalar(35);   y = x * 5;   x = y / 3;   y += x;   // these give drastically different results between floats and SkFixed 以下在float和SkFixed有巨大差异   x += 1;   x = y * y;   // This won't compile if scalar == float   以下在float情况导致编译错误   y >>= 2;

  SkScalar.h通过宏/内联抽象了大多数操作的知识

SkScalarMul(a, b)  // mulitplies two scalars, returning a scalar   相乘   SkScalarDiv(a, b)  // divides two scalars, returning a scalar    除以   SkScalarCos(a)     // returns the cosine as a scalar [0 .. SK_Scalar1] given a scalar radians      SkScalarRound(a)   // returns the nearest int to the specified scalar

  

ezhong的博客园:

转载于:https://www.cnblogs.com/ezhong/archive/2011/11/26/2264212.html

你可能感兴趣的文章
区块链信任机制都有哪些“?
查看>>
css居中总结
查看>>
Vagrant (二) - 日常操作
查看>>
上线清单 —— 20 个 Laravel 应用性能优化项
查看>>
深入解读MySQL8.0 新特性 :Crash Safe DDL
查看>>
Fundebug前端JavaScript插件更新至1.6.0,新增test()方法用于测试
查看>>
如何使用视频剪辑软件将qsv格式视频转换为MP4格式
查看>>
MySQL基础部分总结
查看>>
融云开发漫谈:你是否了解Go语言并发编程的第一要义?
查看>>
android新闻项目、饮食助手、下拉刷新、自定义View进度条、ReactNative阅读器等源码...
查看>>
spring-boot下使用LogBack,使用HTTP协议将日志推送到日志服务器
查看>>
不要再问我移动适配的问题了
查看>>
vue-router源码解析(一)
查看>>
利用命令行工具pdftk对PDF进行合并分割
查看>>
04.JavaIO流问题
查看>>
CORS 理解(不要那么多术语)
查看>>
[LeetCode] 767. Reorganize String
查看>>
JS面向对象的程序设计之继承的实现-寄生组合式继承
查看>>
前端--iframe爬坑记录
查看>>
【实践】视频播放成功率下降很多?可能是你密钥管理的方式不对!
查看>>