当前搜索:

reactos操作系统实现(198)

为了测试2位颜色位图装载到设备是否出错,编写了下面这段测试代码,如下:#001  /* test with 2 bits color depth, not likelyto succeed */#002      hbmp = CreateBitmap(16, 16, 1, 2, bits);#003      ok( hbmp != NULL, "CreateBitmap...
阅读(2303) 评论(3)

reactos操作系统实现(197)

所有API都需要通过兼容性测试,才说明这个API没有问题,达到可以使用的程度。下面这段代码就是测试API的兼容性,当测试到GetPixel函数时,就发现有一个BUG,就是最后一行,当希望这个单色的图片返回0xFFFFFF值,但在ROS返回是0值。说明这个API函数在单色处理上存在问题,那么怎么样修改这个问题呢?#001      HDC hdc, hdcmem;#002      DW...
阅读(1957) 评论(0)

reactos操作系统实现(196)

PALETTE_Init函数是用来创建系统调色板。具体实现如下:#001  HPALETTE FASTCALL PALETTE_Init(VOID)#002  {#003      int i;#004      HPALETTE hpalette;#005      PLOGPALETTE palPtr;#006  #ifndef NO_MAPPING#007  ...
阅读(1529) 评论(0)

reactos操作系统实现(195)

系统调色板相关功能的代码在文件subsys/win32k/eng/palette.c里。什么是调色板呢?其实调色板就是当一种图像不是使用到所有颜色时,使用的一种索引技术,以便减少图像保存的大小。一幅图像,如果要按真彩色表达,那么就是256×256×256颜色;如果按256色表示,那就只使用到256个颜色,比起真彩色来说是少了很多空间。把一幅图像里所有包括的颜色生成一张表格,这张表格就叫做调色板...
阅读(1470) 评论(1)

reactos操作系统实现(194)

GetPixel函数是从指定DC里获取指定位置的颜色值。#001  COLORREF#002  WINAPI#003  GetPixel( HDC hDC, INT x, INT y )#004  { 如果句柄不是DC,就返回非法的。#005   if (GDI_HANDLE_GET_TYPE(hDC) !=GDI_OBJECT_TYPE_DC) return ...
阅读(1665) 评论(0)

reactos操作系统实现(193)

SelectObject函数是将对象选定到指定的设备场境中。具体实现代码如下:#001  HGDIOBJ#002  WINAPI#003  SelectObject(HDC hDC,#004               HGDIOBJ hGdiObj)#005  {#006      PDC_ATTR pDc_Attr;#007      HGDIOBJ hOldO...
阅读(1815) 评论(0)

reactos操作系统实现(191)

CreateBitmap函数是创建具有给定宽度、高度和颜色格式的、以颜色位值构成的数组为基础的位图。#001  HBITMAP WINAPI#002  CreateBitmap(INT  Width,#003               INT  Height,#004               UINT  Planes,#005               UINT  ...
阅读(1522) 评论(0)

reactos操作系统实现(190)

GetDC函数是通过窗口的句柄获取设备环境,这样就可以把获取到的设备环境使用到后面的GDI函数里,这样就可以在窗口的客户区中绘图了。当应用程序结束时,需要使用ReleaseDC来释放设备环境。如果是私有设备时,就可以不删除它。这个API实现函数如下:#001  EXTINLINE HDC WINAPI#002  GetDC(HWND hWnd)#003  { 这里调用函数NtU...
阅读(2021) 评论(0)

reactos操作系统实现(189)

DC(device context)是一个图形对象、图形属性和影响图形输出的集合结构体。CreateDC函数用给定名称为指定的设备创建设备环境。CreateDC一般用于创建打印机的设备环境,也可以用来得到屏幕(硬件屏幕,而不是窗口的客户区)的设备环境。请小心使用这个函数,因为它允许应用程序在屏幕上任何位置绘图,而不仅仅是在窗口的边界内。请用GetDC或BeginPaint来获取屏幕窗口的设备环...
阅读(1946) 评论(0)

reactos操作系统实现(188)

开发操作系统是一个比较复杂的程序开发,调试和测试是一个极其大的任务,工作量很大,那么有什么方法来简化测试呢?尽量把问题找出来呢?在Reactos里是编写了很多API测试程序,也就是针对某一方面的API进行全面的测试。由于Reactos里是共享了很多WINE的API代码,所以它的API测试程序就叫做winetests工程。通过编写特定的API函数来测试,可以把一个一个的API测试出来,而不会导致...
阅读(2120) 评论(2)

reactos操作系统实现(187)

随着全球化的发展,开发软件都是面向多语言的环境。目前大多数程序都是采用不同字体来显示不同语言的办法,那么有没有一种更好的办法,一种字体就可以解决全球语言的显示呢?答案肯定的,它就是采用逻辑字体MSShell Dlg和MSShell Dlg2。比如开发应用程序时,就看到在资源里可以设置MSShell Dlg和MSShell Dlg2作为字体,并且可以设置不同的语言标识号,这样一个...
阅读(2791) 评论(7)

reactos操作系统实现(186)

 要调试内核代码是一件不容易的事情,一般是需要双机调试的方法,一台电脑作为目标机器来运行编译出来的操作系统,另一台电脑作为跟踪调试的机器,用来查看操作系统输出的调试信息、以及输入命令给操作系统。现在就来介绍基于虚拟机的方式来调试内核代码,最简单的方式就是使用串口通讯的方式,并且串口设置为零调制方式,也就是说只需要把数据线接收和发送交叉连接就可以了。假如在物理的电脑里有两个串口,分别命名为COM...
阅读(1769) 评论(0)

reactos操作系统实现(185)

在ReactOS系统里,当安装完成后,如果网络已经可能使用,就可以立即打开应用程序管理器,直接从网络上下载相应的应用程序,这样是很方便安装和管理软件,这些都是跟Linux操作系统学习过来的。具体的界面如下:  这是ReactOS 0.3.11版本的界面,从上面看到可以下载很多非常有用的应用程序,包括最常用的网络浏览器。这一个版本改进是比较大的,很多功能已经完成,就差稳定性了。 ...
阅读(1805) 评论(1)

reactos操作系统实现(184)

GreExtTextOutW函数实现一串字符串输出到指定区域,当然是从字符串变成图片输出。这些都调用FreeType库来实现的,具体实现代码如下:#001  BOOL#002  APIENTRY#003  GreExtTextOutW(#004      INHDC hDC,#005      ININT XStart,#006      ININT YSt...
阅读(2021) 评论(0)

reactos操作系统实现(183)

UserDrawCaptionText函数实现窗口上标题的显示。实现的代码如下:#001  BOOL#002  UserDrawCaptionText(HDC hDc,#003     const PUNICODE_STRING Text,#004     const LPRECT lpRc,#005     UINT uFlags)#006  {#007     ...
阅读(1596) 评论(0)
193条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:5902261次
    • 积分:76279
    • 等级:
    • 排名:第22名
    • 原创:1625篇
    • 转载:61篇
    • 译文:11篇
    • 评论:2102条
    文章存档