Skip to content

Instantly share code, notes, and snippets.

@unpacklo
unpacklo / column sort example
Created February 9, 2015 19:47
column sort example
int indexCompare(const void *leftIndex, const void *rightIndex)
{
return *(int *)leftIndex - *(int *)rightIndex;
}
int pathCompare(const void *leftIndex, const void *rightIndex)
{
AssetManifest *manifest = pack.manifest;
return strcmp(manifest->paths[*(int *)leftIndex], manifest->paths[*(int *)rightIndex]);
}
@unpacklo
unpacklo / imguiheader
Last active August 29, 2015 14:15
imgui column header and sorting
static void GetColumnOffsetsFromImGui(PackFileGui *gui)
{
for (int i = 1; i < ARRAY_ELEMENTS(gui->displayColumnOffsets); ++i)
{
gui->displayColumnOffsets[i] = ImGui::GetColumnOffset(i);
}
}
static void SendColumnOffsetsToImGui(PackFileGui *gui)
{
@unpacklo
unpacklo / gist:f4af1d688237a7d367f9
Last active April 12, 2018 04:35
imgui drag reordering
void **editResources = gui->editResources;
float itemHeight = ImGui::GetTextLineHeightWithSpacing();
int displayStart = 0, displayEnd = gui->numEditResources;
int listItemHovered = -1;
ImGui::CalcListClipping(gui->numEditResources, itemHeight, &displayStart, &displayEnd);
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + (displayStart * itemHeight));
ImVec4 dirtyColor(1.0f, 0.5f, 0.5f, 1.0f), normalColor(1.0f, 1.0f, 1.0f, 1.0f);
@unpacklo
unpacklo / gist:fe9a582cb7a79400b667
Last active August 29, 2015 14:24
Debug panel tabs
struct PanelTabParams
{
Game *game;
World *world;
b2World *physics;
HandleManager *handles;
PackFileGui *packGui;
ResourceEditGui *editGui;
Graphics *graphics;
const GameTime *time;