Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SDL.h>
- #include <iostream>
- using namespace std;
- /*
- Rozmiar ekranu stale
- */
- const int SCREEN_WIDTH = 720;
- const int SCREEN_HEIGHT = 480;
- bool Init();
- void Close();
- bool loadImage();
- /*
- Głowne okno "window", głowna tekstura
- */
- SDL_Window* window = NULL;
- SDL_Surface* screen = NULL;
- SDL_Surface* img = NULL;
- int main(int argc, char* args[])
- {
- if (!Init())
- {
- cout << "AGAIN WRONG ERROR" << SDL_GetError();
- return -1;
- }
- bool exit = false;
- /*
- Cokolwiek klikne będzie wykryte przez program
- */
- SDL_Event e;
- /*
- Tworzenie koloru
- */
- Uint32 bgColor = SDL_MapRGB(screen->format, 0xFF, 0xFF, 0xFF);
- while (!exit)
- {
- while (SDL_PollEvent(&e) != 0)
- {
- /*
- Sprawdzamy czy bylo klikniete x albo esc
- */
- if (e.type == SDL_QUIT || e.key.keysym.sym == SDLK_ESCAPE)
- exit = true;
- if (!loadImage())
- {
- cout << "Nie mozna otworzyc obrazu";
- system("pause");
- }
- else
- {
- /*
- Wypełnianie kolorem
- */
- SDL_FillRect(screen, NULL, bgColor);
- /*
- Wypełnianie obrazem
- */
- SDL_BlitSurface(img, NULL, screen, NULL);
- }
- }
- /*
- Aktualizowanie okna
- */
- SDL_UpdateWindowSurface(window);
- }
- Close();
- return 0;
- }
- bool Init()
- {
- /*
- Inicjuje Video jeśli mniejsze od 0 to nie udało sie
- */
- if (SDL_Init(SDL_INIT_VIDEO) < 0)
- {
- cout << "SDL could not be init, ERROR: " << SDL_GetError() << endl;
- return false;
- }
- /*
- Tworzenie okna Parametry:
- 1. Tytul, 2. Pozycja gora dol, 3. Pozycja lewo prawo, 4. Szerokosc okna,
- 5. Wysokość okna,6. Typ okna Shown z ramka, borderless bez ramki
- SDL_WINDOWPOS_UNDEFINED - wyśrodkowuje
- */
- window = SDL_CreateWindow("BITMAPY PROBA", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
- SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
- /*
- Błąd zapewne sterownika lub urządzenia
- */
- if (window == NULL)
- {
- cout << "WINDOW COULDNT BE CREATE ERORR: " << SDL_GetError();
- }
- /*
- Przypisuje przestrzen do okna, w tym wypadku tło
- */
- screen = SDL_GetWindowSurface(window);
- return true;
- }
- bool loadImage()
- {
- img = SDL_LoadBMP("img_fjords.bmp");
- if (!img)
- {
- cout << "BLAD: " << SDL_GetError();
- return false;
- }
- return true;
- }
- void Close()
- {
- SDL_DestroyWindow(window);
- window = NULL;
- SDL_FreeSurface(screen);
- SDL_FreeSurface(img);
- SDL_Quit();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement