30天自制操作系统之第11天 制作窗体

这一节尽管题目是“制作窗体”,但实际上制作窗体仅仅需用像素画一个就可以,难点是因为增加了计数器,会出现闪烁的情况,这里就讲一下消除闪烁的做法。

30天自制操作系统之第11天 制作窗体

counter窗体在疯狂的计数,鼠标放在飞了的数字上,会出现闪烁,解决方法是:在每次画面的又一次绘制中,仅仅绘制counter所在的图层,让鼠标所在的图层不用进行绘制。依据这个思路,详细的方法例如以下。

30天自制操作系统之第11天 制作窗体

我们用不同的数字代表不同的层,2便是counter窗体所在层,3是鼠标所在层,1是背景层。我们用map数组来存储上面的信息,当绘制图层1时,遍历map,遇到1,便绘制;之后绘制图层2,遍历map,遇到2进行绘制;同理,图层3也如此。这样对于counter窗体在显示计数的情况,在每一次计数后的画面绘制中,仅仅需遍历map,遇到2进行绘制,便能够不用再又一次绘制鼠标图层,从而消除了鼠标因自身不停被覆盖再绘制产生的闪烁。





你可能感兴趣的:(操作系统)