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

SDL_RenderDrawLines

現在のレンダーターゲットに複数のつながった直線を描く

構文

int SDL_RenderDrawLines(SDL_Renderer* renderer, const SDL_Point* points, int count)

引数

rendererレンダリングコンテキスト
points直線の端点のSDL_Pointの配列
countpointsの数. count-1本の直線が描かれる

戻り値

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

サンプルコード

#include "SDL.h"

#define POINTS_COUNT 4

static SDL_Point points[POINTS_COUNT] = {
    {320, 200},
    {300, 240},
    {340, 240},
    {320, 200}
};

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_RenderDrawLines(renderer, points, POINTS_COUNT);
                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 2.0.0以降

関連項目(関数)

SDL_RenderDrawLine
SDL_RenderDrawPoint
SDL_RenderDrawPoints
SDL_RenderDrawRect
SDL_RenderDrawRects
SDL_RenderFillRect
SDL_RenderFillRects
SDL_RenderPresent
SDL_SetRenderDrawBlendMode
SDL_SetRenderDrawColor

SDL Wikiへのリンク

SDL_RenderDrawLines - SDL Wiki