SDL2-平台检测和CPU信息

SDL2提供了平台系统检测和CPU信息检测


平台检测 平台检测只有一个函数,包含在SDL_platform.h文件中:

SDL2-电量信息获取

获取电量的函数只有一个:

1
2
SDL_PowerState SDL_GetPowerInfo(int* secs,
                                int* pct)

SDL_PowerState是一个枚举常量,取值如下:

  • SDL_POWERSTATE_UNKNOWN,无法得知信息
  • SDL_POWERSTATE_ON_BATTERY,靠电池运作,没插电
  • SDL_POWERSTATE_NO_BATTERY,插电,没有电池
  • SDL_POWERSTATE_CHARGING,充电中
  • SDL_POWERSTATE_CHARGED,插电,且电池充满了。

其中参数secs表示电量还可以运作多长时间,pct表示还有百分之多少的电量。函数通过这两个参数返回信息。

SDL2-按键操作

除了事件里面可以处理按键,SDL2还专门提供了SDL_keyboard.h, SDL_keycode.h, SDL_scancode.h三个文件来对按键进行操作。

SDL2-文本输入操作

对于SDL的文本输入操作,其wiki还专门给了一个教程:见这里 我们按照这个教程来简单说明一下。

SDL2-绘制文本

SDL本身是不支持文本的绘制的,如果你想要绘制文本的话你需要包含其第三方库SDL_ttf,下载网址在这里 顺带一提,SDL官方的所有拓展库都可以在这里找到,这个网址同时还有很多很多的学习资源(包括第一版DOOM的源代码)

SDL2-版本获取

官方给了很多的版本获取宏和函数,但是我觉得根本没有这个必要,我们这里只介绍一个函数和一个宏,其他的请到官方文档去看一看。

SDL2-日志

SDL的日志功能很简单. 首先要明确,SDL的每个日志都由两个条件决定:

  • category:类型,可以是如下几个:

SDL2-错误检测和处理

SDL错误检测和处理一共就三个函数:

  • SDL_ClearError():清除所有错误
  • const char* SDL_GetError():获得前一个出错函数产生的错误信息(英文)
  • SDL_SetError(const char* fmt,...):设置自己的错误,格式类似printf。(这个函数总是返回-1

SDL的错误处理是这样的:SDL的函数首先会有一个int返回值表示函数是否出错了(一般0为成功,负数表示发生了错误),然后会向错误变量中记录这个错误的文字信息,这个时候你就可以通过SDL_GetError()来获得错误了。你也可以通过SDL_SetError()来向错误变量中记录自己的错误。SDL_ClearError()来清除错误变量记录的内容。

SDL2-剪切板

SDL操作剪切版的函数很简单:

  • char* SDL_GetClipboardText(void):获得剪切板内容
  • SDL_bool SDL_HasClipboardText(void):判断剪切板内是否有内容
  • int SDL_SetClipboardText(const char* text):将文字放入剪切板(返回0成功,返回负值失败)