Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Compile With: g++ LQGE.h main.cpp -lSDL2 -lSDL_image -o "Butter Game"
- #include <iostream>
- #include <SDL2/SDL.h>
- #include <SDL2/SDL_image.h>
- // Errors
- #define LQGE_SUCCESS 0
- #define LQGE_INITIALIZATION_ERROR 1
- #define LQGE_IMAGE_INITIALIZATION_ERROR 2
- #define LQGE_WINDOW_CREATION_ERROR 3
- #define LQGE_RENDERER_CREATION_ERROR 4
- #define LQGE_IMAGE_LOADING_ERROR 5
- // Constants Needed
- #define WINDOW_CENTER_X 1920/2
- #define WINDOW_CENTER_Y 1080
- // The Window And Renderer And Other Important Stuff
- SDL_Window* window;
- SDL_Renderer* renderer;
- SDL_Texture* backgroundTexture;
- bool running = true;
- bool fullscreen;
- int LQGE_CreateWindow(int posX, int posY, int sizeX, int sizeY, bool fullscreen)
- {
- if(SDL_Init(SDL_INIT_EVERYTHING) != 0){return LQGE_INITIALIZATION_ERROR;}
- if(IMG_Init(IMG_INIT_PNG) == 0){return LQGE_IMAGE_INITIALIZATION_ERROR;}
- if(fullscreen){window = SDL_CreateWindow("Untitled Butter Game", posX, posY, sizeX, sizeY, SDL_WINDOW_FULLSCREEN); fullscreen = true;}
- if(!fullscreen){window = SDL_CreateWindow("Untitled Butter Game", posX, posY, sizeX, sizeY, SDL_WINDOW_SHOWN); fullscreen = false;}
- if(window == NULL){return LQGE_WINDOW_CREATION_ERROR;}
- renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_PRESENTVSYNC);
- if(renderer == NULL){return LQGE_RENDERER_CREATION_ERROR;}
- return LQGE_SUCCESS;
- }
- void quit()
- {
- SDL_DestroyRenderer(renderer);
- SDL_DestroyWindow(window);
- IMG_Quit();
- SDL_Quit();
- running = false;
- }
- int LQGE_ChangeBackground(const char* path)
- {
- SDL_Surface* backgroundSurface;
- backgroundSurface = IMG_Load(path);
- if(backgroundSurface == NULL){return LQGE_IMAGE_LOADING_ERROR;}
- backgroundTexture = SDL_CreateTextureFromSurface(renderer, backgroundSurface);
- if(backgroundTexture == NULL){return LQGE_IMAGE_LOADING_ERROR;}
- return LQGE_SUCCESS;
- }
- void LQGE_RenderScreen()
- {
- SDL_RenderClear(renderer);
- SDL_RenderCopy(renderer, backgroundTexture, NULL, NULL);
- SDL_RenderPresent(renderer);
- }
- void LQGE_GetInput()
- {
- SDL_Event event;
- while(SDL_PollEvent(&event) != 0)
- {
- switch(event.type)
- {
- case SDL_QUIT:
- quit();
- break;
- case SDL_KEYDOWN:
- switch(event.key.keysym.sym)
- {
- case SDLK_F4:
- if(fullscreen)
- {
- SDL_SetWindowFullscreen(window, 0);
- fullscreen = false;
- }
- else if(!fullscreen)
- {
- SDL_SetWindowFullscreen(window, SDL_WINDOW_FULLSCREEN);
- fullscreen = true;
- }
- break;
- default:
- break;
- }
- break;
- default:
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement