/* date = May 7th 2023 9:54 am */

#ifndef WIN32_MAIN_H
#define WIN32_MAIN_H

struct win32_state
{
    u64 PerformanceFrequency;
    b32 SleepIsGranular;
    
    HWND Window;
    
    memory_arena *EventArena;
    platform_event_list EventList;
    
    char EXEPath[512];
    char DLLPath[512];
    char TempDLLPath[512];
    string ContentsPath;
    
    platform_cursor Cursor;
};

struct win32_file_find_data
{
    HANDLE Handle;
    b32 FindFirstReturned;
    WIN32_FIND_DATAW FindData;
};

struct win32_loaded_code
{
    HMODULE DLL;
    FILETIME LastWriteTime;
    
    vn_update_and_render *UpdateAndRender;
    
    b32 IsValid;
};

#endif //WIN32_MAIN_H
