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

SDL_RenderDrawLine

現在のレンダーターゲットに直線を描く

構文

int SDL_RenderDrawLine(SDL_Renderer* renderer, int x1, int y1, int x2, int y2)

引数

rendererレンダリングコンテキスト
x1始点のX座標
y1始点のY座標
x2終点のX座標
y2終点のY座標

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. SDL_GetError()で詳細を知ることができる.

サンプルコード

#include "SDL.h"

int main(int argc, char* argv[])
{
    if (SDL_Init(SDL_INIT_VIDEO) == 0) {
        SDL_Window* window = NULL;
        SDL_Renderer* renderer = NULL;

        if (SDL_CreateWindowAndRenderer(640, 480, 0, &window, &renderer) == 0) {
            SDL_bool done = SDL_FALSE;

            while (!done) {
                SDL_Event event;

                SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);
                SDL_RenderClear(renderer);

                SDL_SetRenderDrawColor(renderer, 255, 255, 255, SDL_ALPHA_OPAQUE);
                SDL_RenderDrawLine(renderer, 320, 200, 300, 240);
                SDL_RenderDrawLine(renderer, 300, 240, 340, 240);
                SDL_RenderDrawLine(renderer, 340, 240, 320, 200);
                SDL_RenderPresent(renderer);

                while (SDL_PollEvent(&event)) {
                    if (event.type == SDL_QUIT) {
                        done = SDL_TRUE;
                    }
                }
            }
        }

        if (renderer) {
            SDL_DestroyRenderer(renderer);
        }
        if (window) {
            SDL_DestroyWindow(window);
        }
    }
    SDL_Quit();
    return 0;
}

詳細

SDL_RenderDrawLine()は始点から終点までの直線を描く. 複数のつながった直線を描く場合は, 代わりにSDL_RenderDrawLines()が使える.

バージョン

SDL 2.0.0以降

関連項目(関数)

SDL_RenderDrawLines
SDL_RenderDrawPoint
SDL_RenderDrawPoints
SDL_RenderDrawRect
SDL_RenderDrawRects
SDL_RenderFillRect
SDL_RenderFillRects
SDL_RenderPresent
SDL_SetRenderDrawBlendMode
SDL_SetRenderDrawColor

SDL Wikiへのリンク

SDL_RenderDrawLine - SDL Wiki