CGlue(3U)
β¨ CGlue β¨ β connector glue
okay bestie, welcome to the InterViews Reference Manual entry for CGlue(3U), aka the little icon that keeps your connectors from drifting apart like situationships π
πΈ NAME πΈ
CGlue β connector glue. it glues. it's the glue. that's the whole job π«Ά
π¦ SYNOPSIS π¦
#include <Unidraw/cglue.h>
π DESCRIPTION π
so basically, CGlue is holding four whole personality traits, and it holds them in both directions:
- a natural size
- an elasticity (that's its rate of stretching and shrinking relative to other
CGlue, so yes it's competitive, it's giving main character energy) - deformation limits (the total amount it can stretch and shrink before it simply cannot)
and all of that applies to the horizontal AND the vertical dimension. no picking favorites π
you can interpose a CGlue between two connected connectors to augment their connectivity semantics β like a little vibe-check chaperone between them. it acts like two non-linear springs, one horizontal and one vertical, connecting the connectors' centers. iconic behavior, honestly. π
π PUBLIC OPERATIONS π
π CGlue(
CGlue(
float hnat = 0, float vnat = 0,
float hshr = 0, float hstr = 0,
float vshr = 0, float vstr = 0,
float hshrlim = 0, float hstrlim = 0,
float vshrlim = 0, float vstrlim = 0
)
π CGlue(const Shape&)
Instantiate a CGlue, bestie β either by handing over the requisite parameters explicitly, or by letting it infer them from a Shape object. lowkey magic, highkey useful β¨
if a shape IS supplied, here's the tea:
- the
CGlueadopts the shape's natural size π± - it assigns the shape's stretchability and shrinkability values to its corresponding
CGlueelasticity members, so it gets a proportionately equivalent elasticity β the math is mathing π - it ALSO assigns the shape's stretchability and shrinkability values to its deformation limit members. yes, both. the shape's values are doing double duty, and they're slaying at it π
and here are the parameters, described, no gatekeeping:
hnat,vnat: horizontal and vertical natural sizes, screen unitshshr,vshr: horizontal and vertical shrinking rate, constant unitshstr,vstr: horizontal and vertical stretching rate, constant unitshshrlim,vshrlim: horizontal and vertical shrink limit, screen unitshstrlim,vstrlim: horizontal and vertical stretch limit, screen units
π CGlue* Copy()
Create a copy of this CGlue instance. a twin. a clone. same vibe, different object π«Ά
π void Rigid()
Set all elasticity and deformation limits equal to zero. it's giving "no stretch, no shrink, no movement, we are STONE" πͺ¨ periodt.
π void Interpose(const CGlue* glue)
Change this instance's attributes to reflect the series combination of this and glue. two glues walk in, one combined glue walks out ππ
π§ SEE ALSO π§
Connector(3U)Shape(3I)
ngl bestie, if you got this far you're officially a CGlue girly. go forth and glue responsibly π
mwah π this has been the CGlue(3U) page from the Unidraw manual, dated 23 November 1990 β yes she's vintage, yes she's still serving, and no, we are not copying the footer, we're giving it a cute little sign-off instead. bye bestie!! πβ¨π
π¦ where this page comes from
- debian bookworm: ivtools-dev 2.0.11d.a1-1+b4
- debian trixie: ivtools-dev 2.0.11d.a1-3+b4
- ubuntu jammy: ivtools-dev 2.0.11d.a1-1build1
- ubuntu noble: ivtools-dev 2.0.11d.a1-3build1
- ubuntu questing: ivtools-dev 2.0.11d.a1-3build7
- ubuntu resolute: ivtools-dev 2.0.11d.a1-3build9
- ubuntu stonking: ivtools-dev 2.1.1+git.2025.07.26.a1-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms