マウスの入力
SDLでマウスの入力を取得するには、「SDL_GetMouseState関数」を使用します。
SDL_GetMouseState関数
マウスの入力状態を取得します。
宣言
Uint32 SDL_GetMouseState( int* x, int* y );引数
x | マウス( カーソル )のX座標です。 この値はウィンドウの相対座標になります。  | 
y | マウス ( カーソル ) のY座標です。 この値はウィンドウの相対座標になります。  | 
戻り値
「各ボタンに対する入力状態を表すビット列」を返します。この値と以下のビットマスクで論理積を行うことにより、そのボタンが押しているか判別できます。
SDL_BUTTON_LMASK | 左ボタンの状態を得るためのマスクです。 | 
SDL_BUTTON_MMASK | 中央ボタンの状態を得るためのマスクです。 | 
SDL_BUTTON_RMASK | 右ボタンの状態を得るためのマスクです。 | 
サンプルコード
#include <SDL.h>
int main( int argc, char* argv[] )
{
    if ( SDL_Init( SDL_INIT_VIDEO ) != 0 )
    {
        SDL_Log( u8"SDLの初期化処理に失敗しました。エラーメッセージ: %s", SDL_GetError() );
        return -1;
    }
    auto window = SDL_CreateWindow(
        u8"サンプル",
        SDL_WINDOWPOS_CENTERED,
        SDL_WINDOWPOS_CENTERED,
        1280,
        720,
        0
    );
    if ( window == nullptr )
    {
        SDL_Log( u8"ウィンドウの作成に失敗しました。エラーメッセージ: %s", SDL_GetError() );
        SDL_Quit();
        return -1;
    }
    auto is_finished = false;
    while ( !is_finished )
    {
        auto event_info = SDL_Event();
        while ( SDL_PollEvent( &event_info ) == 1 )
        {
            if ( event_info.type == SDL_QUIT ) is_finished = true;
        }
        auto mouse_position_x   = 0;
        auto mouse_position_y   = 0;
        auto mouse_button_state = SDL_GetMouseState( &mouse_position_x, &mouse_position_y );
        if ( mouse_button_state & SDL_BUTTON_LMASK )
        {
            SDL_Log( u8"マウス座標: X = %d, Y = %d", mouse_position_x, mouse_position_y );
        }
        SDL_Delay( 33 );
    }
    SDL_DestroyWindow( window );
    SDL_Quit();
    return 0;
}