@@ -295,13 +295,6 @@ extension GraphLayout {
295
295
}
296
296
297
297
// Drawing.
298
- fileprivate var debuggingEnabled = false
299
- extension Renderer {
300
- var debug : Renderer ? {
301
- guard debuggingEnabled else { _onFastPath ( ) ; return nil }
302
- return self
303
- }
304
- }
305
298
306
299
extension GraphLayout {
307
300
@@ -345,7 +338,7 @@ extension GraphLayout {
345
338
let rect = Rect ( origin: Point ( plotExternalRect. minX, plotExternalRect. maxY + t_height) ,
346
339
size: Size ( width: plotExternalRect. width, height: itemSize. height) )
347
340
t_height += itemSize. height
348
- renderer. debug ? . drawSolidRect ( rect, fillColor: Color . random ( ) . withAlpha ( 1 ) , hatchPattern: . none)
341
+ renderer. debugLayoutComponents ? . drawSolidRect ( rect, fillColor: Color . random ( ) . withAlpha ( 1 ) , hatchPattern: . none)
349
342
item. draw ( rect, measuredSize: itemSize, edge: . top, renderer: renderer)
350
343
}
351
344
// Bottom components.
@@ -355,7 +348,7 @@ extension GraphLayout {
355
348
let rect = Rect ( origin: Point ( plotExternalRect. minX, plotExternalRect. minY - b_height - itemSize. height) ,
356
349
size: Size ( width: plotExternalRect. width, height: itemSize. height) )
357
350
b_height += itemSize. height
358
- renderer. debug ? . drawSolidRect ( rect, fillColor: Color . random ( ) . withAlpha ( 1 ) , hatchPattern: . none)
351
+ renderer. debugLayoutComponents ? . drawSolidRect ( rect, fillColor: Color . random ( ) . withAlpha ( 1 ) , hatchPattern: . none)
359
352
item. draw ( rect, measuredSize: itemSize, edge: . bottom, renderer: renderer)
360
353
}
361
354
// Right components.
@@ -365,7 +358,7 @@ extension GraphLayout {
365
358
let rect = Rect ( origin: Point ( plotExternalRect. maxX + r_width, plotExternalRect. minY) ,
366
359
size: Size ( width: itemSize. width, height: plotExternalRect. height) )
367
360
r_width += itemSize. width
368
- renderer. debug ? . drawSolidRect ( rect, fillColor: Color . random ( ) . withAlpha ( 1 ) , hatchPattern: . none)
361
+ renderer. debugLayoutComponents ? . drawSolidRect ( rect, fillColor: Color . random ( ) . withAlpha ( 1 ) , hatchPattern: . none)
369
362
item. draw ( rect, measuredSize: itemSize, edge: . right, renderer: renderer)
370
363
}
371
364
// Left components.
@@ -375,7 +368,7 @@ extension GraphLayout {
375
368
let rect = Rect ( origin: Point ( plotExternalRect. minX - l_width - itemSize. width, plotExternalRect. minY) ,
376
369
size: Size ( width: itemSize. width, height: plotExternalRect. height) )
377
370
l_width += itemSize. width
378
- renderer. debug ? . drawSolidRect ( rect, fillColor: Color . random ( ) . withAlpha ( 1 ) , hatchPattern: . none)
371
+ renderer. debugLayoutComponents ? . drawSolidRect ( rect, fillColor: Color . random ( ) . withAlpha ( 1 ) , hatchPattern: . none)
379
372
item. draw ( rect, measuredSize: itemSize, edge: . left, renderer: renderer)
380
373
}
381
374
}
@@ -528,9 +521,31 @@ extension GraphLayout {
528
521
}
529
522
}
530
523
524
+ // Debugging.
525
+
526
+ extension GraphLayout {
527
+
528
+ public struct DebugFlags {
529
+ /// Draws a different background color behind each `LayoutComponent`.
530
+ public var debugLayoutComponents = false
531
+ }
532
+
533
+ /// Debugging flags for `Plot` developers.
534
+ ///
535
+ public static var _debugFlags = DebugFlags ( )
536
+ }
537
+
538
+ extension Renderer {
539
+ var debugLayoutComponents : Renderer ? {
540
+ guard GraphLayout . _debugFlags. debugLayoutComponents else { _onFastPath ( ) ; return nil }
541
+ return self
542
+ }
543
+ }
544
+
531
545
protocol AdjustsPlotSize {
532
546
var desiredPlotSize : Size { get }
533
547
}
548
+
534
549
public protocol HasGraphLayout {
535
550
536
551
var layout : GraphLayout { get set }
0 commit comments