目次 - API(機能別) - 領域 - SDL_Point

SDL_Point

2次元上の点を定義する構造体

フィールド

intx点のX座標
inty点のY座標

サンプルコード

// サンプルプログラム:
// コードの各所でSDL_Pointを使っている

#include "SDL.h"
#include <stdio.h>

int main(int argc, char *argv[]) {

    SDL_Window *window;

    SDL_Point window_position = {         //    ウィンドウの位置
        SDL_WINDOWPOS_CENTERED,
        SDL_WINDOWPOS_CENTERED
    };
    SDL_Point window_size = {640, 480};   //    ウィンドウのサイズ

    SDL_Point mouse_position;             //    マウスの座標

    SDL_Init(SDL_INIT_VIDEO);             //    SDL2を初期化する

    // 次の設定でアプリケーションウィンドウを設定する
    window = SDL_CreateWindow( 
        "SDL_Point usage",                //    タイトル
        window_position.x,                //    X座標の初期値
        window_position.y,                //    Y座標の初期値
        window_size.x,                    //    幅ピクセル数
        window_size.y,                    //    高さピクセル数
        SDL_WINDOW_OPENGL                 //    フラグ
    );

    // ウィンドウを生成できたかチェックする
    if (window == NULL) {
        SDL_Log("ウィンドウを生成できなかった: %s", SDL_GetError());
        return 1;
    }

    SDL_GetMouseState(                    //    マウスのウィンドウ上の...
        &mouse_position.x,            // ...座標を得る
        &mouse_position.y
    );

    SDL_Log("マウスの位置: x=%d y=%d",    //    マウスの位置を表示する
         mouse_position.x, mouse_position.y
    );

    // ウィンドウを閉じて破棄する
    SDL_DestroyWindow(window); 

    // 終了処理
    SDL_Quit();
    return 0; 
}

詳細

SDL_Pointは1つの2次元上の点を定義する. 点以外でも使えるが, サイズを持たない. SDL_Pointは, 点の配列が長方形(SDL_Rect)の中にあるかをSDL_EnclosePoints()でチェックできる. SDL_Pointを使って自分で関数を作ることもできるが, この関数は有用である.

関連項目(構造体)

SDL_Rect

関連項目(関数)

SDL_EnclosePoints

SDL Wikiへのリンク

SDL_Point - SDL Wiki