53 lines
1.8 KiB
C++
53 lines
1.8 KiB
C++
|
#include <SDL2/SDL.h>
|
||
|
#include <iostream>
|
||
|
using namespace std;
|
||
|
|
||
|
const int screen_width ;
|
||
|
const int scren_height ;
|
||
|
SDL_Window* win = NULL;
|
||
|
SDL_Renderer* renderer = NULL;
|
||
|
|
||
|
SDL_Texture* LoadImage(char* path)
|
||
|
{
|
||
|
SDL_Surface* loadedImage = NULL;
|
||
|
SDL_Texture* texture = NULL;
|
||
|
loadedImage = SDL_LoadBMP(path);
|
||
|
if (loadedImage != 0)
|
||
|
{
|
||
|
texture = SDL_CreateTextureFromSurface(renderer, loadedImage);
|
||
|
SDL_FreeSurface(loadedImage);
|
||
|
}
|
||
|
else
|
||
|
cout << SDL_GetError << endl;
|
||
|
return texture;
|
||
|
}
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
if (SDL_Init(SDL_INIT_EVERYTHING) != 0 )
|
||
|
{
|
||
|
cout << "SDL_Init error\n";
|
||
|
return 1;
|
||
|
}
|
||
|
SDL_Window* window = SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
|
||
|
if (window == nullptr)
|
||
|
{
|
||
|
cout << "Window create error\n";
|
||
|
return 1;
|
||
|
}
|
||
|
SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED || SDL_RENDERER_PRESENTVSYNC);
|
||
|
if (renderer == nullptr)
|
||
|
{
|
||
|
cout << "Renderer error\n";
|
||
|
return 1;
|
||
|
}
|
||
|
SDL_RenderClear(renderer);
|
||
|
SDL_RenderCopy(renderer, LoadImage("./hello.bmp"), NULL, NULL);
|
||
|
SDL_RenderPresent(renderer);
|
||
|
SDL_Delay(3000);
|
||
|
SDL_DestroyRenderer(renderer);
|
||
|
SDL_DestroyTexture(LoadImage("./hello.bmp"));
|
||
|
SDL_DestroyWindow(window);
|
||
|
SDL_Quit;
|
||
|
return 0;
|
||
|
}
|