60 lines
1.9 KiB
Racket
60 lines
1.9 KiB
Racket
#lang racket/base
|
|
;;; SPDX-License-Identifier: LGPL-3.0-or-later
|
|
;;; SPDX-FileCopyrightText: Copyright © 2017-2022 Tony Garnock-Jones <tonyg@leastfixedpoint.com>
|
|
|
|
(provide (except-out (all-defined-out) render-config)
|
|
(rename-out [make-render-config render-config]
|
|
[render-config <render-config>]))
|
|
|
|
(require struct-defaults)
|
|
|
|
;;---------------------------------------------------------------------------
|
|
;; Representation of a parsed trace.
|
|
|
|
(struct msd (max-lane events) #:prefab)
|
|
|
|
(struct diagram-position (lane row) #:prefab)
|
|
|
|
(struct begin-swimlane (pos) #:prefab)
|
|
(struct activate-swimlane (pos) #:prefab)
|
|
(struct deactivate-swimlane (pos) #:prefab)
|
|
(struct end-swimlane (pos) #:prefab)
|
|
(struct annotate-swimlane (pos color annotation) #:prefab)
|
|
(struct connection (bidirectional? from-pos to-pos) #:prefab)
|
|
|
|
;;---------------------------------------------------------------------------
|
|
;; Configuration for the renderer
|
|
|
|
(struct render-config (
|
|
width
|
|
height
|
|
gap
|
|
number-steps?
|
|
number-gap
|
|
active-width
|
|
activation-color
|
|
action-color
|
|
event-color
|
|
label-color
|
|
scale
|
|
) #:prefab)
|
|
|
|
(define-struct-defaults make-render-config render-config
|
|
[
|
|
#:width [render-config-width 100]
|
|
#:height [render-config-height 4]
|
|
#:gap [render-config-gap 12]
|
|
|
|
#:number-steps? [render-config-number-steps? #f]
|
|
#:number-gap [render-config-number-gap 0]
|
|
|
|
#:active-width [render-config-active-width 10]
|
|
|
|
#:activation-color [render-config-activation-color "pink"]
|
|
#:action-color [render-config-action-color "white"]
|
|
#:event-color [render-config-event-color "orange"]
|
|
#:label-color [render-config-label-color "palegreen"]
|
|
|
|
#:scale [render-config-scale 1]
|
|
])
|