Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek

©2021 mgr Jerzy Wałaszek
I LO w Tarnowie

SDL2

Interfejs SDL2:

SDL_CreateRenderer

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2. Oryginał znajdziesz pod tym adresem: https://wiki.libsdl.org/CategoryAPI.

SDL_CreateRenderer

Użyj tej funkcji, aby utworzyć dwuwymiarowy kontekst graficzny dla okna.

Składnia

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

Parametry funkcji

window okno, w którym działa kontekst graficzny
index indeks sterownika graficznego do zainicjowania lub -1, aby zainicjować pierwszy sterownik, który obsługuje wymagane znaczniki
flags 0, jeden lub więcej znaczników SDL_RendererFlags połączonych funkcją OR; zobacz do Uwag.

Wartość zwracana

Zwraca kontekst graficzny lub NULL, jeśli wystąpił błąd; wywołaj funkcję SDL_GetError(), aby otrzymać więcej informacji na temat błędu.

Przykładowy kod

#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;
}

Uwagi

Parametr flags może być jedną z następujących wartości połączonych ze sobą bitową alternatywą:
SDL_RENDERER_SOFTWARE kontekst jest programową funkcją wywoływaną zwrotnie (ang. callback).
SDL_RendererFlags.line-3"> SDL_RENDERER_ACCELERATED kontekst korzysta z akceleratora.
SDL_RendererFlags.line-4"> SDL_RENDERER_PRESENTVSYNC przesłanie na ekran jest synchronizowane z częstotliwością odświeżania.
SDL_RendererFlags.line-5"> SDL_RENDERER_TARGETTEXTURE kontekst wspiera operacje graficzne na teksturach.

Uwaga, jeśli żadne znaczniki nie zostaną dostarczone, to priorytetowo będą stosowane dostępne konteksty z akceleracją grafiki SDL_RENDERER_ACCELERATED.

Powiązane funkcje

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2021 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.