[笔记]音视频学习之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地址

相关文章
|
1月前
|
Web App开发 编解码 安全
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
视频会议技术 入门探究:WebRTC、Qt与FFmpeg在视频编解码中的应用
285 4
|
1月前
|
编解码 监控 C++
C++音视频编程探秘
C++音视频编程探秘
108 1
|
1月前
|
Web App开发 编解码 安全
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
【WebRTC 入门教程】全面解析WebRTC:从底层原理到Qt和FFmpeg的集成应用
544 1
|
8月前
[笔记]音视频学习之SDL篇《三》使用拓展库
[笔记]音视频学习之SDL篇《三》使用拓展库
|
8月前
[笔记]音视频学习之SDL篇《十四》简单的动画
[笔记]音视频学习之SDL篇《十四》简单的动画
|
1月前
|
开发框架 Linux API
初步探索Pyglet库:打造轻量级多媒体与游戏开发利器
初步探索Pyglet库:打造轻量级多媒体与游戏开发利器
53 0
|
1月前
|
编解码 算法 计算机视觉
轻松掌握FFmpeg编程:从架构到实践
轻松掌握FFmpeg编程:从架构到实践
270 1
|
6月前
|
图形学
Unity音频基础概念
Unity音频基础概念
|
7月前
|
编解码
音视频基础概念
音视频基础概念
|
7月前
|
存储 Cloud Native Linux
音视频 SDL简介
音视频 SDL简介