• SDL视频显示进阶


    原文地址:http://blog.csdn.net/qingkongyeyue/article/details/53024467

    1、SDL中事件和线程(函数同时运行)

    2、练习

    (1)创建线程

    第一个参数是一个函数,创建线程后refresh_video这个函数和下面的while()循环同时执行

    (2)refresh_video函数

    不断循环,这里的REFRESH_EVENT用于刷新视频的画面,发一个REFRESH_EVENT就延时40ms,用到SDL_PushEvent函数

    (3)在循环里(主循环不再有延时,而是放到子线程中,不断循环发送事件,主循环接收事件,改成这样的好处主循环可以响应鼠标的操作,窗口就可以移动啦)

    用到REFRESH_EVENT,循环到SDL_waitEvent函数就不往下执行了,如果refresh_video函数发送一个REFRESH_EVENT,就会继续往下执行

    (4)屏幕可以随便拉伸,每拉伸一次也是一个事件,对事件进行处理,把窗口设成响应的宽度下面的SDL_WINDOWEVENT是windows系统自带的event,这个event当来回拉伸窗口时被触发,加入没有任何处理函数,拉伸后窗口变化,但是画面大小不变,SDL_GetWindowSize这个函数从SDL的windows中获得拉伸后当前窗口的宽和高存到screen_w和screen_h,在下一次循环的过程中,从而使screen_w和screen_h这两个值发生变化,从而使里面的值发生变化,所以视频自动适应窗口的大小。SDL_QUIT是SDL自带的事件,只要点窗口右上角的叉(X)就会触发这个事件

  • 相关阅读:
    vue前台(八)
    npm 淘宝镜像的配置
    详解数组中的reduce方法
    javaScript中的布尔值判断
    vue前台(七)
    vue前台(六点二)
    vue前台(六点一)
    vue前台(五)
    Android涂鸦技术及刮刮乐示例分析
    Android控件ActionBar浅析及适配2.x的方法介绍
  • 原文地址:https://www.cnblogs.com/boonya/p/8549440.html
Copyright © 2020-2023  润新知