From e31df382c72e85834a206f2366ee6cdba957f9f6 Mon Sep 17 00:00:00 2001 From: vedevdem Date: Tue, 4 Dec 2018 00:29:47 +0300 Subject: [PATCH] part of synopsis and 2 lesson --- testSDL/Lesson1/Hello2 | Bin 0 -> 13440 bytes testSDL/Lesson1/main.cpp | 2 +- testSDL/Lesson2/main.cpp | 53 +++++++++++++++++++++++++++++++++++++++ testSDL/synopsis | 21 ++++++++++++++++ 4 files changed, 75 insertions(+), 1 deletion(-) create mode 100755 testSDL/Lesson1/Hello2 create mode 100644 testSDL/Lesson2/main.cpp create mode 100644 testSDL/synopsis diff --git a/testSDL/Lesson1/Hello2 b/testSDL/Lesson1/Hello2 new file mode 100755 index 0000000000000000000000000000000000000000..d6f7595131cbff3993a89e928a1a10e50e41aa7c GIT binary patch literal 13440 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 E0$-{rIsgCw literal 0 HcmV?d00001 diff --git a/testSDL/Lesson1/main.cpp b/testSDL/Lesson1/main.cpp index fcfaa7c..9107e92 100644 --- a/testSDL/Lesson1/main.cpp +++ b/testSDL/Lesson1/main.cpp @@ -10,7 +10,7 @@ int main() cout << "SDL_Init error\n"; return 1; } - SDL_Window* window = SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN); + SDL_Window* window = SDL_CreateWindow("Hello World!", 300, 300, 640, 480, SDL_WINDOW_SHOWN); if (window == nullptr) { cout << "Window create error\n"; diff --git a/testSDL/Lesson2/main.cpp b/testSDL/Lesson2/main.cpp new file mode 100644 index 0000000..b5d62a0 --- /dev/null +++ b/testSDL/Lesson2/main.cpp @@ -0,0 +1,53 @@ +#include +#include +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; +} \ No newline at end of file diff --git a/testSDL/synopsis b/testSDL/synopsis new file mode 100644 index 0000000..1764979 --- /dev/null +++ b/testSDL/synopsis @@ -0,0 +1,21 @@ + +ФУНКЦИЯ | ПРИНИМАЕТ | ВОЗВРАЩАЕТ | ЗНАЧЕНИЕ +SDL_Init |набор флагов (▲1) | - |инициализация различных SDl подсистем +SDL_CreateWindow |название окна, координаты окна х, y, |SDL_Window* |создает окно (возвр.указатель на окно) + |размеры ширина, высота, флаги (▲2) | | +SDL_CreateRenderer |указатель на окно, индекс драйвера(-1), |SDL_Renderer* |создает рендерер для отрисовки изображения + |флаги(▲3) | | +SDL_LoadBMP |путь на файл |SDL_Surface* |загружает картинку +SDL_CreateTextureFromSurface |указатель на рендерер и на сарфейс |SDL_Texture* |создание текстуры (загрузка изображения в рендер) +-----------------------------+----------------------------------------+---------------+------------------------------------------------- +SDL_RenderClear |указатель на рендерер | - |очищает рендер +SDL_RenderCopy |указатель на рендерер, указатель на тек-| - |рендер текстуры + |стуру, | | +SDL_RenderPresent |указатель на рендерер | - |вывод обновленного экрана +-----------------------------+----------------------------------------+---------------+------------------------------------------------- +SDL_FreeSurface |указатель на сарфейс | - |освобождает память +SDL_DestroyTexture |указатель на текстуру | - |уничтожает текстуру +SDL_DestroyRenderer |указатель на рендерер | - |учитожает рендерер +SDL_DestroyWindow |указатель на окно | - |уничтожает окно +SDL_Quit() | - | - |выходил из систем SDL +SDL_Delay |время в мс | - |просто некоторая задержка