FFmpeg入门详解之49:SDL2事件机制与操作系统内核结构分析

本文深入介绍了SDL2的事件处理机制,包括事件处理流程、键盘事件案例,以及如何在操作系统内核中进行事件管理。通过实例展示了如何响应键盘输入,利用SDL_PollEvent等函数实现事件监听。此外,文章还探讨了键盘扫描码、虚拟码的概念,并解释了事件如何从硬件层到应用层传递。
摘要由CSDN通过智能技术生成

简介

    事件处理: 一个完整的GUI程序,需要处理各种事件,如按键,鼠标,窗口操作等。

    一般这种程序会设计成一个与底层交互的事件驱动模型。

即操作系统底层不断发送事件【内核层】,

而在程序用一个循环不断处理各种事件【应用层】。

事件处理流程

各个GUI都是采用这样模型来实现,SDL抽象这个模型,采用SDL_event来抽象表示具体的事件。

事件处理函数最终还是使用SDL库

首先定义一个SDL_Event类型的数据,通过SDL_PollEvent函数来监听消息,即从底层来提取事件。

事件处理允许程序响应来自用户的输入,而等待相应的时候,程序就会阻塞,从而将图形窗口定格在屏幕当中。如果有用户输入,则从阻塞状态中返回,同时SDL_Event也被赋予了代表某个事件的特定值。 

SDL_PollEvents()函数的功能是事件轮询

首先通过SDL_PumpEvents函数来处理硬件独立的事件后,再通过SDL_PeepEvents从队列中提取事件。

另外还有两个事件处理函数:

SDL_WaitEvent()必须等到有一个事件才返回,而SDL_Po

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

福优学苑@音视频+流媒体

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值