#pragma once
#include "imgui/imgui.h"
#include "imgui/imgui_impl_win32.h"
#include "imgui/imgui_impl_dx11.h"
#include <d3d11.h>

struct ResourceView
{
	ID3D11ShaderResourceView* view;
	float width;
	float height;
};
void ImDrawLine(float x1, float y1, float x2, float y2, ImU32 clr, float thickness = 1.0f);
void ImDrawCircle(float x, float y, float rad, ImU32 clr, float thickness);
void ImDrawRect(float x, float y, float width, float height, ImU32 clr, float thickness);
void ImFillRect(float x, float y, float width, float height, ImU32 clr);
void ImDrawString(ImFont* font, float sizez, float x, float y, ImU32 color, const char* message, ...);
void ImDrawStringCenter(ImFont* font, float sizez, float x, float y, ImU32 color, const char* message, ...);
void ImDrawStringU8(ImFont* font, float sizez, float x, float y, ImU32 color, const char* message, ...);
void ImDrawStringCenterU8(ImFont* font, float sizez, float x, float y, ImU32 color, const char* message, ...);
ID3D11ShaderResourceView* LoadImageFromMem(const unsigned char* mem, int size);
ID3D11ShaderResourceView* LoadImageFromTexture(ID3D11Texture2D* pTexture2D);
void ImImage(ID3D11ShaderResourceView* img, ImVec2 location, ImVec2 size);

