目次 - API(機能別) - 2Dレンダリング - SDL_CreateRenderer

SDL_CreateRenderer

ウィンドウの2Dレンダリングコンテキストを生成する

構文

SDL_Renderer* SDL_CreateRenderer(SDL_Window* window, int index, Uint32 flags)

引数

windowレンダリングを表示するウィンドウ
index初期化するレンダリングドライバの番号. -1のとき要求のflagsに対応した最初のドライバを初期化する
flags0または1つ以上のSDL_RendererFlagsの倫理和

戻り値

成功のときレンダリングコンテキスト, 失敗のときNULLを戻す. SDL_GetError()で詳細を知ることができる.

サンプルコード

#include "SDL.h"

int main(int argc, char *argv[]) {
    SDL_Window *win = NULL;
    SDL_Renderer *renderer = NULL;
    SDL_Texture *bitmapTex = NULL;
    SDL_Surface *bitmapSurface = NULL;
    int posX = 100, posY = 100, width = 320, height = 240;

    SDL_Init(SDL_INIT_VIDEO);

    win = SDL_CreateWindow("Hello World", posX, posY, width, height, 0);

    renderer = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED);

    bitmapSurface = SDL_LoadBMP("img/hello.bmp");
    bitmapTex = SDL_CreateTextureFromSurface(renderer, bitmapSurface);
    SDL_FreeSurface(bitmapSurface);

    while (1) {
        SDL_Event e;
        if (SDL_PollEvent(&e)) {
            if (e.type == SDL_QUIT) {
                break;
            }
        }

        SDL_RenderClear(renderer);
        SDL_RenderCopy(renderer, bitmapTex, NULL, NULL);
        SDL_RenderPresent(renderer);
    }

    SDL_DestroyTexture(bitmapTex);
    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(win);

    SDL_Quit();

    return 0;
}

関連項目(関数)

SDL_CreateSoftwareRenderer
SDL_DestroyRenderer
SDL_GetNumRenderDrivers
SDL_GetRendererInfo

SDL Wikiへのリンク

SDL_CreateRenderer - SDL Wiki