SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
symbolstyle.h File Reference

A stack of SymbolLayer paint passes plus a layer-level opacity. More...

#include "render/symbollayer.h"
#include <QColor>
#include <QJsonObject>
#include <QList>
Include dependency graph for symbolstyle.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenSWMM::Render::SymbolStyle
 Stack of SymbolLayer paint passes (bottom-up) plus an overall opacity. More...
 

Namespaces

namespace  OpenSWMM
 
namespace  OpenSWMM::Render
 
namespace  SymbolProps
 Canonical colour prop accessors for SymbolLayer prop bags (gap A1.2).
 
namespace  OpenSWMM::Render::SymbolProps
 

Functions

QColor OpenSWMM::Render::SymbolProps::readColor (const QVariantMap &props, const QString &key, const QColor &fallback=QColor())
 
void OpenSWMM::Render::SymbolProps::writeColor (QVariantMap &props, const QString &key, const QColor &c)
 
QColor OpenSWMM::Render::SymbolProps::firstColor (const SymbolStyle &style, const QColor &fallback=QColor())
 
void OpenSWMM::Render::SymbolProps::overrideColorInPlace (SymbolStyle &style, const QColor &c)
 

Detailed Description

A stack of SymbolLayer paint passes plus a layer-level opacity.

Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
Date
2026
License\n GPL-3.0-or-later
    SymbolStyle is the unit a renderer returns from symbolFor() —
    it is what the layer's paint loop knows how to apply to one
    feature. The compositional model (a list of SymbolLayers) is
    the central design of §J.3: a single struct can describe both
    a uniform Qt::blue circle and a double-ringed manhole with a
    centre cross.

    opacity multiplies the per-SymbolLayer alpha so the whole stack
    can be faded in / out without touching each layer's props.

    Cross-slice: Slice BI Phase 8.13.6 (see GUI_IMPLEMENTATION_PLAN.md
    §J.3). Sub-phase 8.13.6.1 — interface + types only.