| 3737 | } |
| 3738 | |
| 3739 | void ImGui::PopStyleVar(int count) |
| 3740 | { |
| 3741 | ImGuiContext& g = *GImGui; |
| 3742 | if (g.StyleVarStack.Size < count) |
| 3743 | { |
| 3744 | IM_ASSERT_USER_ERROR(0, "Calling PopStyleVar() too many times!"); |
| 3745 | count = g.StyleVarStack.Size; |
| 3746 | } |
| 3747 | while (count > 0) |
| 3748 | { |
| 3749 | // We avoid a generic memcpy(data, &backup.Backup.., GDataTypeSize[info->Type] * info->Count), the overhead in Debug is not worth it. |
| 3750 | ImGuiStyleMod& backup = g.StyleVarStack.back(); |
| 3751 | const ImGuiStyleVarInfo* var_info = GetStyleVarInfo(backup.VarIdx); |
| 3752 | void* data = var_info->GetVarPtr(&g.Style); |
| 3753 | if (var_info->DataType == ImGuiDataType_Float && var_info->Count == 1) { ((float*)data)[0] = backup.BackupFloat[0]; } |
| 3754 | else if (var_info->DataType == ImGuiDataType_Float && var_info->Count == 2) { ((float*)data)[0] = backup.BackupFloat[0]; ((float*)data)[1] = backup.BackupFloat[1]; } |
| 3755 | g.StyleVarStack.pop_back(); |
| 3756 | count--; |
| 3757 | } |
| 3758 | } |
| 3759 | |
| 3760 | const char* ImGui::GetStyleColorName(ImGuiCol idx) |
| 3761 | { |