/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright (C) 2022, Ideas on Board Oy * * sdl_texture.cpp - SDL Texture */ #include "sdl_texture.h" #include SDLTexture::SDLTexture(const SDL_Rect &rect, SDL_PixelFormatEnum pixelFormat, const int pitch) : ptr_(nullptr), rect_(rect), pixelFormat_(pixelFormat), pitch_(pitch) { } SDLTexture::~SDLTexture() { if (ptr_) SDL_DestroyTexture(ptr_); } int SDLTexture::create(SDL_Renderer *renderer) { ptr_ = SDL_CreateTexture(renderer, pixelFormat_, SDL_TEXTUREACCESS_STREAMING, rect_.w, rect_.h); if (!ptr_) { std::cerr << "Failed to create SDL texture: " << SDL_GetError() << std::endl; return -ENOMEM; } return 0; }