EllipseComp(3U)

πŸ’… EllipseComp(3U) πŸ’…

ok so this is a page straight out of the InterViews Reference Manual, bestie, and it's all about ellipses β€” the pretty round ones ✨ (three of them, actually: EllipseComp, EllipseView, and PSEllipse). Grab a snack, we're going in πŸ“


✨ NAME ✨

EllipseComp, EllipseView, PSEllipse β€” the ellipse component subject, its view, and its PostScript external representation. it's giving trio energy πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <Unidraw/Components/ellipse.h>

πŸ’– DESCRIPTION πŸ’–

okay so here's the tea β˜•

  • EllipseComp is a GraphicComp that defines an ellipse. it uses an Ellipse graphic to store its graphical attributes. so cute, so organized πŸ’–
  • EllipseView is a GraphicView whose whole job is displaying the ellipse. main character energy, honestly 🌟
  • PSEllipse is a PostScriptView that externalizes the subject's information in PostScript form. it's the one that speaks printer πŸ–¨οΈβœ¨

πŸ‘‘ ELLIPSECOMP PUBLIC OPERATIONS πŸ‘‘

  • EllipseComp(SF_Ellipse* = nil) β€” the constructor, and she takes an optional stroked-filled ellipse that defines the attributes of the ellipse. optional!! so if you don't pass one, no stress 🫢
  • SF_Ellipse* GetEllipse() β€” returns the SF_Ellipse graphic that defines the ellipse's attributes. and ngl, GetEllipse is literally just a more specific form of the GetGraphic operation. same vibe, more ✨specificity✨

🌸 ELLIPSEVIEW PUBLIC OPERATIONS 🌸

  • EllipseView(EllipseComp* = nil) β€” creates an EllipseView, and you can optionally hand her the subject. no pressure πŸŽ€
  • virtual void Interpret(Command*) β€” EllipseView interprets AlignToGridCmd to align its center to the grid. snapping into place, periodt πŸ“
  • virtual Manipulator* CreateManipulator( Viewer*, Event&, Transformer*, Tool* )
  • virtual void InterpretManipulator(Manipulator*) β€” EllipseView redefines its response to manipulation with a GraphicCompTool. here's how the interaction goes: the user clicks to specify the center of the ellipse, and then drags to vary its axes πŸ–±οΈπŸ’«. and the center and the axes will be constrained by gravity, if any β€” so if there's gravity in the mix, bestie, everything gets pulled into line.
  • EllipseComp* GetEllipseComp() β€” returns the subject. that's it, that's the whole job πŸ’

πŸŽ€ PSELLIPSE PUBLIC OPERATIONS πŸŽ€

  • PSEllipse(EllipseComp* = nil) β€” constructs a PostScript external representation of the given subject, if any. (again with the "if any" β€” optional stays optional 😌)

πŸ”₯ SEE ALSO πŸ”₯

  • GraphicComp(3U)
  • GraphicCompTool(3U)
  • GraphicView(3U)
  • Grid(3U)
  • PostScriptView(3U)
  • align(3U)
  • ellipses(3U)

go read those too, they're all part of the same little family 🌈


πŸ’€ real talk for a sec: this page is from Unidraw, dated 22 January 1991. yes, 1991. vintage icon behavior, no cap πŸ‘‘

and that's the whole page, bestie!! you understood all of it, I'm so proud of you πŸ˜­πŸ’œ go draw some ellipses, you got this βœ¨πŸ¦‹