SDL2 и Cairo несовместимый формат данных - PullRequest
0 голосов
/ 09 марта 2019

Я только что скопировал из Интернета пример совместного использования SDL2 и Cairo, но, похоже, форматы данных SDL2 и Cairo различаются по типу:

SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window *window = SDL_CreateWindow("CIAO", 100, 100, 600, 800, NULL);
SDL_Renderer *renderer = SDL_GetRenderer(window);

SDL_Texture *texture = SDL_CreateTexture(renderer,
    SDL_PIXELFORMAT_ARGB8888,
    SDL_TEXTUREACCESS_STREAMING,
    100,100);

void *pixels;
int pitch;
SDL_LockTexture(texture, NULL, &pixels /* here requires, &pitch);
cairo_surface_t *cairo_surface = cairo_image_surface_create_for_data(
    pixels, /* Here: (void*) incompatible with (unsigned char*) */
    CAIRO_FORMAT_ARGB32,
    100, 100 , pitch);

paint(cairo_create(cairo_surface)); //

SDL_UnlockTexture(texture);
...