目次 - API(機能別) - マウス - SDL_CreateColorCursor

# SDL_CreateColorCursor

色つきのマウスカーソルを生成する

## 構文

`SDL_Cursor* SDL_CreateColorCursor(SDL_Surface* surface, int hot_x, int hot_y)`

## 引数

surface | カーソルの画像のSDL_Surface
hot_x | カーソルの照準のX座標
hot_y | カーソルの照準のY座標

## 戻り値

成功のとき新しく生成されたカーソル, 失敗のときNULLを戻す. SDL_GetError()で詳細を知ることができる.

## サンプルコード

``

    #include "SDL.h"

    int
    main(int argc, char *argv[])
    {
        SDL_Window *window = NULL;
        SDL_Renderer *renderer = NULL;
        SDL_Surface *surface = NULL;
        SDL_Cursor *cursor = NULL;
        SDL_bool error = SDL_TRUE;

        if (SDL_Init(SDL_INIT_VIDEO) < 0) {
            goto exit;
        }
        if (SDL_CreateWindowAndRenderer(640, 480, 0, &window, &renderer) < 0) {
            goto exit;
        }
        surface = SDL_LoadBMP((1 < argc) ? argv[1] : "cursor.bmp");
        if (!surface) {
            goto exit;
        }
        cursor = SDL_CreateColorCursor(surface, 0, 0);
        if (!cursor) {
            goto exit;
        }

        SDL_SetCursor(cursor);
        SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255);
        while (SDL_TRUE) {
            SDL_Event event;
            while (SDL_PollEvent(&event)) {
                switch (event.type) {
                case SDL_MOUSEBUTTONUP:
                case SDL_QUIT:
                    error = SDL_FALSE;
                    goto exit;
                }
            }
            SDL_RenderClear(renderer);
            SDL_RenderPresent(renderer);
        }

    exit:
        if (error) {
            SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "%s", SDL_GetError());
        }
        if (cursor) {
            SDL_FreeCursor(cursor);
        }
        if (surface) {
            SDL_FreeSurface(surface);
        }
        if (renderer) {
            SDL_DestroyRenderer(renderer);
        }
        if (window) {
            SDL_DestroyWindow(window);
        }
        SDL_Quit();
        return error;
    }

## 関連項目(関数)

SDL_CreateCursor
SDL_FreeCursor

## バージョン

SDL 2.0.0以降

## SDL Wikiへのリンク

SDL_CreateColorCursor - SDL Wiki