@@ -121,6 +121,7 @@ namespace DG {
121
121
D3_IMATTR_FLOAT( TabBorderSize ) \
122
122
D3_IMATTR_FLOAT( TabMinWidthForCloseButton ) \
123
123
D3_IMATTR_FLOAT( TabBarBorderSize ) \
124
+ D3_IMATTR_FLOAT( TabBarOverlineSize ) \
124
125
D3_IMATTR_FLOAT( TableAngledHeadersAngle ) \
125
126
D3_IMATTR_VEC2( TableAngledHeadersTextAlign ) \
126
127
D3_IMATTR_DIR( ColorButtonPosition ) \
@@ -186,11 +187,13 @@ namespace DG {
186
187
D3_IMSTYLE_COLOR( ResizeGrip ) \
187
188
D3_IMSTYLE_COLOR( ResizeGripHovered ) \
188
189
D3_IMSTYLE_COLOR( ResizeGripActive ) \
189
- D3_IMSTYLE_COLOR( Tab ) \
190
190
D3_IMSTYLE_COLOR( TabHovered ) \
191
- D3_IMSTYLE_COLOR( TabActive ) \
192
- D3_IMSTYLE_COLOR( TabUnfocused ) \
193
- D3_IMSTYLE_COLOR( TabUnfocusedActive ) \
191
+ D3_IMSTYLE_COLOR( Tab ) \
192
+ D3_IMSTYLE_COLOR( TabSelected ) \
193
+ D3_IMSTYLE_COLOR( TabSelectedOverline ) \
194
+ D3_IMSTYLE_COLOR( TabDimmed ) \
195
+ D3_IMSTYLE_COLOR( TabDimmedSelected ) \
196
+ D3_IMSTYLE_COLOR( TabDimmedSelectedOverline ) \
194
197
DGIMST_ENABLE_IF_DOCKING( D3_IMSTYLE_COLOR( DockingPreview ) ) \
195
198
DGIMST_ENABLE_IF_DOCKING( D3_IMSTYLE_COLOR( DockingEmptyBg ) ) \
196
199
D3_IMSTYLE_COLOR( PlotLines ) \
@@ -202,6 +205,7 @@ namespace DG {
202
205
D3_IMSTYLE_COLOR( TableBorderLight ) \
203
206
D3_IMSTYLE_COLOR( TableRowBg ) \
204
207
D3_IMSTYLE_COLOR( TableRowBgAlt ) \
208
+ D3_IMSTYLE_COLOR( TextLink ) \
205
209
D3_IMSTYLE_COLOR( TextSelectedBg ) \
206
210
D3_IMSTYLE_COLOR( DragDropTarget ) \
207
211
D3_IMSTYLE_COLOR( NavHighlight ) \
@@ -297,6 +301,21 @@ static void parseBehaviorLine( ImGuiStyle& s, const char* line )
297
301
#undef D3_IMATTR_DIR
298
302
#undef D3_IMATTR_BOOL
299
303
304
+ namespace {
305
+ // for renamed colors
306
+ struct ImGuiColorBackwardCompat {
307
+ const char * oldColorStr;
308
+ enum ImGuiCol_ newColorVal;
309
+ };
310
+
311
+ static struct ImGuiColorBackwardCompat backwardCompatColorMappings[] = {
312
+ { " TabActive" , ImGuiCol_TabSelected },
313
+ { " TabUnfocused" , ImGuiCol_TabDimmed },
314
+ { " TabUnfocusedActive" , ImGuiCol_TabDimmedSelected },
315
+ };
316
+
317
+ } // anon namespace
318
+
300
319
static void parseColorLine ( ImGuiStyle& s, const char * line )
301
320
{
302
321
ImVec4 c;
@@ -313,9 +332,18 @@ static void parseColorLine( ImGuiStyle& s, const char* line )
313
332
314
333
// NOTE: here backwards-compat is also possible, like
315
334
// if ( sscanf( line, "OldColorName = %f , %f , %f , %f", &c.x, &c.y, &c.z, &c.w) == 4 ) {
316
- // s.Colors[ ImGuiCol_NewColorName = c;
335
+ // s.Colors[ ImGuiCol_NewColorName ] = c;
317
336
// return;
318
337
// }
338
+ for ( const ImGuiColorBackwardCompat& bc : backwardCompatColorMappings ) {
339
+ char matchString[64 ];
340
+ snprintf ( matchString, sizeof (matchString), " %s = %%f , %%f , %%f , %%f" , bc.oldColorStr );
341
+
342
+ if ( sscanf ( line, matchString, &c.x , &c.y , &c.z , &c.w ) == 4 ) {
343
+ s.Colors [ bc.newColorVal ] = c;
344
+ return ;
345
+ }
346
+ }
319
347
320
348
warnPrintf ( " Invalid line in ImGui style under [colors] section: '%s'\n " , line );
321
349
}
0 commit comments