正在加载图片...
在GDI和驱动程序之间的这种协商,对依赖于PDEV的函数,允许GDI和驱动程序产 生高质量的输出而无须过多的通信。 2.2.3表面协商 绘图和文本输出要求一个绘制的表面。这个表面由 Dry EnableSurface函数创建并称 作主表面( primary surface)。它也被称作屏幕上的表面(On- screen surface),因为它出 现在视频显示器上。每个PDEV只能启用一个主表面,尽管一个驱动程序能够支持几个PDEV 支持 DrvCreateDeviceBitmap函数的驱动程序能够创建和使用其他的表面。这些位图表面称 作次要表面( secondary surface)或屏慕外的表面(of- screen surface)。对任一种类型 的表面,驱动程序负责确定它支持的绘图操作的类型。 2.2.3.1表面坐标 设备表面是22*2像素数组的子集。这些像素是由一对28位的带符号数寻址的。设备 表面左上角的像素坐标是(0,0)。设备表面位于这个坐标空间的右下象限,两个坐标都是 非负的 2.2.3.2DC原点 应用程序要求在22*2像素的数组范围内保存其图形。设备空间在DDI级有其他的尺 寸,因为窗口管理器可能用一个带符号的27位的坐标即DC原点偏移应用程序的坐标。DC 原点对驱动程序是不可见的,驱动程序在偏移执行之后才识别图形坐标 2.2.3.3FIX坐标 DI使用分数坐标,能够在设备表面上1/16像素的范围内表示一个位置。(在矢量设 备上,分数坐标比设备分辨率精确16倍。)分数坐标用32位数字表示,是带符号的28.4 位FIX表示法。在这种表示法中,高28位表示坐标的整数部分,最低的4位表示分数部分 例如,0x000000C℃等于+3.7500,0 X FFFFFFE8等于-1.5000 FIX坐标表示直线和贝塞尔曲线的控制点。对某一对象,如矩形裁剪区,GDI用带符 号的32位整数表示坐标。因为坐标是28位数,整数坐标最高的5位或者全清0或者全置1。 2.2.3.4表面类型 表面类型在如何处理它们的上下文中可以看到。这些类型如下: 引擎管理的表面 设备管理的表面(标准格式位图) 设备管理的表面(非标准表面)7 在 GDI 和驱动程序之间的这种协商,对依赖于 PDEV 的函数,允许 GDI 和驱动程序产 生高质量的输出而无须过多的通信。 2.2.3 表面协商 绘图和文本输出要求一个绘制的表面。这个表面由 DrvEnableSurface 函数创建并称 作主表面(primary surface)。它也被称作屏幕上的表面(on-screen surface),因为它出 现在视频显示器上。每个 PDEV 只能启用一个主表面,尽管一个驱动程序能够支持几个 PDEV。 支持 DrvCreateDeviceBitmap 函数的驱动程序能够创建和使用其他的表面。这些位图表面称 作次要表面(secondary surface)或屏幕外的表面(off-screen surface)。对任一种类型 的表面,驱动程序负责确定它支持的绘图操作的类型。 2.2.3.1 表面坐标 设备表面是 2 28*228 像素数组的子集。这些像素是由一对 28 位的带符号数寻址的。设备 表面左上角的像素坐标是(0,0)。设备表面位于这个坐标空间的右下象限,两个坐标都是 非负的。 2.2.3.2 DC 原点 应用程序要求在 2 27*227 像素的数组范围内保存其图形。设备空间在 DDI 级有其他的尺 寸,因为窗口管理器可能用一个带符号的 27 位的坐标即 DC 原点偏移应用程序的坐标。DC 原点对驱动程序是不可见的,驱动程序在偏移执行之后才识别图形坐标。 2.2.3.3 FIX 坐标 DDI 使用分数坐标,能够在设备表面上 1/16 像素的范围内表示一个位置。(在矢量设 备上,分数坐标比设备分辨率精确 16 倍。)分数坐标用 32 位数字表示,是带符号的 28.4 位 FIX 表示法。在这种表示法中,高 28 位表示坐标的整数部分,最低的 4 位表示分数部分。 例如,0x0000003C 等于+3.7500,0xFFFFFFE8 等于-1.5000。 FIX 坐标表示直线和贝塞尔曲线的控制点。对某一对象,如矩形裁剪区,GDI 用带符 号的 32 位整数表示坐标。因为坐标是 28 位数,整数坐标最高的 5 位或者全清 0 或者全置 1。 2.2.3.4 表面类型 表面类型在如何处理它们的上下文中可以看到。这些类型如下: ▪ 引擎管理的表面 ▪ 设备管理的表面(标准格式位图) ▪ 设备管理的表面(非标准表面)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有