syndicate-rkt/syndicate-msd/syndicate/msd/types.rkt

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]
])