[笔记]音视频学习之SDL篇《四》事件驱动的编程

简介: [笔记]音视频学习之SDL篇《四》事件驱动的编程

创建窗口 绘制图片

获得图片宽高

int iW, iH;
  SDL_QueryTexture(image, NULL, NULL, &iW, &iH);
  int x = SCREEN_WIDTH / 2 - iW / 2;
  int y = SCREEN_HEIGHT / 2 - iH / 2;

开始事件循环

创建SDL_Event 然后等待事件

当点击退出/按下键盘/点击鼠标 马上退出图片渲染 退出程序

//Our event union
  SDL_Event e;
  //For tracking if we want to quit
  bool quit = false;
  while (!quit) {
    //Read any events that occured, for now we'll just quit if any event occurs
    while (SDL_PollEvent(&e)) {
      //If user closes the window
      if (e.type == SDL_QUIT) {
        quit = true;
      }
      //If user presses any key
      if (e.type == SDL_KEYDOWN) {
        quit = true;
      }
      //If user clicks the mouse
      if (e.type == SDL_MOUSEBUTTONDOWN) {
        quit = true;
      }
    }
    //Rendering
    SDL_RenderClear(renderer);
    //Draw the image
    renderTexture(image, renderer, x, y);
    //Update the screen
    SDL_RenderPresent(renderer);
  }

总结

SDL_PollEvent和SDL_WaitEvent区别

demo地址

相关文章
|
7月前
|
Web App开发 编解码 安全
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
681 4
|
7月前
|
编解码 监控 C++
C++音视频编程探秘
C++音视频编程探秘
240 1
|
7月前
|
Web App开发 编解码 安全
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
3163 1
[笔记]音视频学习之SDL篇《三》使用拓展库
[笔记]音视频学习之SDL篇《三》使用拓展库
[笔记]音视频学习之SDL篇《十四》简单的动画
[笔记]音视频学习之SDL篇《十四》简单的动画
|
2月前
|
C语言 开发者
优化与定制:进阶FFplay开发者的实用技巧
【10月更文挑战第15天】FFplay 是 FFmpeg 项目的一部分,它提供了一个简单的命令行界面来播放多媒体文件。对于那些希望更深入地了解如何优化和定制 FFplay 的开发者而言,本文将介绍如何通过集成外部库来支持更多的媒体格式、调整播放性能参数以及通过修改源代码实现自定义功能。
48 1
|
6月前
|
存储 编解码 Linux
rodert教你学FFmpeg实战这一篇就够了 - 音视频处理入门篇
rodert教你学FFmpeg实战这一篇就够了 - 音视频处理入门篇
71 1
|
7月前
|
Web App开发 编解码 vr&ar
使用FFmpeg从音视频处理到流媒体技术的探索和实战应用
使用FFmpeg从音视频处理到流媒体技术的探索和实战应用
310 2
|
7月前
|
编解码 算法 计算机视觉
轻松掌握FFmpeg编程:从架构到实践
轻松掌握FFmpeg编程:从架构到实践
697 1
|
图形学
Unity音频基础概念
Unity音频基础概念