@@ -1198,6 +1198,10 @@ static void ShowDemoWindowWidgets()
1198
1198
ImS64 LLONG_MAX = 9223372036854775807LL ;
1199
1199
ImU64 ULLONG_MAX = (2ULL * 9223372036854775807LL + 1 );
1200
1200
#endif
1201
+ const char s8_zero = 0 , s8_one = 1 , s8_fifty = 50 , s8_min = -128 , s8_max = 127 ;
1202
+ const ImU8 u8_zero = 0 , u8_one = 1 , u8_fifty = 50 , u8_min = 0 , u8_max = 255 ;
1203
+ const short s16_zero = 0 , s16_one = 1 , s16_fifty = 50 , s16_min = -32768 , s16_max = 32767 ;
1204
+ const ImU16 u16_zero = 0 , u16_one = 1 , u16_fifty = 50 , u16_min = 0 , u16_max = 65535 ;
1201
1205
const ImS32 s32_zero = 0 , s32_one = 1 , s32_fifty = 50 , s32_min = INT_MIN/2 , s32_max = INT_MAX/2 , s32_hi_a = INT_MAX/2 - 100 , s32_hi_b = INT_MAX/2 ;
1202
1206
const ImU32 u32_zero = 0 , u32_one = 1 , u32_fifty = 50 , u32_min = 0 , u32_max = UINT_MAX/2 , u32_hi_a = UINT_MAX/2 - 100 , u32_hi_b = UINT_MAX/2 ;
1203
1207
const ImS64 s64_zero = 0 , s64_one = 1 , s64_fifty = 50 , s64_min = LLONG_MIN/2 , s64_max = LLONG_MAX/2 , s64_hi_a = LLONG_MAX/2 - 100 , s64_hi_b = LLONG_MAX/2 ;
@@ -1206,6 +1210,10 @@ static void ShowDemoWindowWidgets()
1206
1210
const double f64_zero = 0 ., f64_one = 1 ., f64_lo_a = -1000000000000000.0 , f64_hi_a = +1000000000000000.0 ;
1207
1211
1208
1212
// State
1213
+ static char s8_v = 127 ;
1214
+ static ImU8 u8_v = 255 ;
1215
+ static short s16_v = 32767 ;
1216
+ static ImU16 u16_v = 65535 ;
1209
1217
static ImS32 s32_v = -1 ;
1210
1218
static ImU32 u32_v = (ImU32)-1 ;
1211
1219
static ImS64 s64_v = -1 ;
@@ -1217,6 +1225,10 @@ static void ShowDemoWindowWidgets()
1217
1225
static bool drag_clamp = false ;
1218
1226
ImGui::Text (" Drags:" );
1219
1227
ImGui::Checkbox (" Clamp integers to 0..50" , &drag_clamp); ImGui::SameLine (); ShowHelpMarker (" As with every widgets in dear imgui, we never modify values unless there is a user interaction.\n You can override the clamping limits by using CTRL+Click to input a value." );
1228
+ ImGui::DragScalar (" drag s8" , ImGuiDataType_S8, &s8_v, drag_speed, drag_clamp ? &s8_zero : NULL , drag_clamp ? &s8_fifty : NULL );
1229
+ ImGui::DragScalar (" drag u8" , ImGuiDataType_U8, &u8_v, drag_speed, drag_clamp ? &u8_zero : NULL , drag_clamp ? &u8_fifty : NULL , " %u ms" );
1230
+ ImGui::DragScalar (" drag s16" , ImGuiDataType_S16, &s16_v, drag_speed, drag_clamp ? &s16_zero : NULL , drag_clamp ? &s16_fifty : NULL );
1231
+ ImGui::DragScalar (" drag u16" , ImGuiDataType_U16, &u16_v, drag_speed, drag_clamp ? &u16_zero : NULL , drag_clamp ? &u16_fifty : NULL , " %u ms" );
1220
1232
ImGui::DragScalar (" drag s32" , ImGuiDataType_S32, &s32_v, drag_speed, drag_clamp ? &s32_zero : NULL , drag_clamp ? &s32_fifty : NULL );
1221
1233
ImGui::DragScalar (" drag u32" , ImGuiDataType_U32, &u32_v, drag_speed, drag_clamp ? &u32_zero : NULL , drag_clamp ? &u32_fifty : NULL , " %u ms" );
1222
1234
ImGui::DragScalar (" drag s64" , ImGuiDataType_S64, &s64_v, drag_speed, drag_clamp ? &s64_zero : NULL , drag_clamp ? &s64_fifty : NULL );
@@ -1227,6 +1239,10 @@ static void ShowDemoWindowWidgets()
1227
1239
ImGui::DragScalar (" drag double ^2" , ImGuiDataType_Double, &f64_v, 0 .0005f , &f64_zero, &f64_one, " 0 < %.10f < 1" , 2 .0f );
1228
1240
1229
1241
ImGui::Text (" Sliders" );
1242
+ ImGui::SliderScalar (" slider s8 full" , ImGuiDataType_S8, &s8_v, &s8_min, &s8_max, " %d" );
1243
+ ImGui::SliderScalar (" slider u8 full" , ImGuiDataType_U8, &u8_v, &u8_min, &u8_max, " %u" );
1244
+ ImGui::SliderScalar (" slider s16 full" , ImGuiDataType_S16, &s16_v, &s16_min, &s16_max, " %d" );
1245
+ ImGui::SliderScalar (" slider u16 full" , ImGuiDataType_U16, &u16_v, &u16_min, &u16_max, " %u" );
1230
1246
ImGui::SliderScalar (" slider s32 low" , ImGuiDataType_S32, &s32_v, &s32_zero, &s32_fifty," %d" );
1231
1247
ImGui::SliderScalar (" slider s32 high" , ImGuiDataType_S32, &s32_v, &s32_hi_a, &s32_hi_b, " %d" );
1232
1248
ImGui::SliderScalar (" slider s32 full" , ImGuiDataType_S32, &s32_v, &s32_min, &s32_max, " %d" );
@@ -1249,6 +1265,10 @@ static void ShowDemoWindowWidgets()
1249
1265
static bool inputs_step = true ;
1250
1266
ImGui::Text (" Inputs" );
1251
1267
ImGui::Checkbox (" Show step buttons" , &inputs_step);
1268
+ ImGui::InputScalar (" input s8" , ImGuiDataType_S8, &s8_v, inputs_step ? &s8_one : NULL , NULL , " %d" );
1269
+ ImGui::InputScalar (" input u8" , ImGuiDataType_U8, &u8_v, inputs_step ? &u8_one : NULL , NULL , " %u" );
1270
+ ImGui::InputScalar (" input s16" , ImGuiDataType_S16, &s16_v, inputs_step ? &s16_one : NULL , NULL , " %d" );
1271
+ ImGui::InputScalar (" input u16" , ImGuiDataType_U16, &u16_v, inputs_step ? &u16_one : NULL , NULL , " %u" );
1252
1272
ImGui::InputScalar (" input s32" , ImGuiDataType_S32, &s32_v, inputs_step ? &s32_one : NULL , NULL , " %d" );
1253
1273
ImGui::InputScalar (" input s32 hex" , ImGuiDataType_S32, &s32_v, inputs_step ? &s32_one : NULL , NULL , " %08X" , ImGuiInputTextFlags_CharsHexadecimal);
1254
1274
ImGui::InputScalar (" input u32" , ImGuiDataType_U32, &u32_v, inputs_step ? &u32_one : NULL , NULL , " %u" );
0 commit comments