#pragma once

#include<vector>
#include<string>
#include<memory>
#include<math.h>
#include<algorithm>
#include<list>
#include<xutility>
#include<vector>

const double PAI = 3.1415926535897931;
const double DEG = PAI / 180;

#ifdef DXLIB
	#include <DXLib/DXLib.h>
	#undef max
	#undef min
	int main(int argc, char* argv[]);
	using ImageHandle = int;
	using SoundHandle = int;
	using ScreenHandle = int;
	using WindowHandle = int;
	using StickHandle = int;
	using FontHandle = int;
	using ColorData = int;
	#define NULL_HANDLE -1
#elif defined(SDL)
	#pragma comment(lib, "SDL2.lib")
	#pragma comment(lib, "SDL2main.lib")
	#pragma comment(lib, "SDL2_image.lib")
	#pragma comment(lib, "SDL2_mixer.lib")
	#pragma comment(lib, "SDL2_ttf.lib")
	#include <SDL2/include/SDL.h>
	#include <SDL2/include/SDL_image.h>
	#include <SDL2/include/SDL_mixer.h>
	#include <SDL2/include/SDL_ttf.h>

	#include <SDL2/include/SDL2_gfxPrimitives.h>
	#include <SDL2/include/SDL2_framerate.h>
	#include <SDL2/include/SDL2_imageFilter.h>
	#include <SDL2/include/SDL2_rotozoom.h>

	using ImageHandle = SDL_Texture*;
	using SoundHandle = Mix_Chunk*;
	using ScreenHandle = SDL_Renderer*;
	using WindowHandle = SDL_Window*;
	using StickHandle = SDL_Joystick*;
	using FontHandle = TTF_Font*;
	using ColorData = SDL_Color;
	#define NULL_HANDLE nullptr
#endif
