Frame(3I)
π Frame(3I) π
okay so bestie, welcome to the InterViews Reference Manual β¨ and today's main character is the whole frame family: Frame, ShadowFrame, MarginFrame, ShowFrame, TitleFrame, and BorderFrame. they're all about being the surrounding interactor, and honestly? iconic behavior. π«Ά
πΈ NAME πΈ
Frame, ShadowFrame, MarginFrame, ShowFrame, TitleFrame, BorderFrame β literally just the surrounding interactor, no cap π
β¨ SYNOPSIS β¨
#include <InterViews/frame.h>
that's it. that's the include. go off. π
π¦ DESCRIPTION π¦
so a frame is a monoscene subclass that outlines another interactor. it's giving "I'm the decorative bestie holding your whole look together." π
a shadow frame draws an outline with a drop shadow. yes, it's serving depth. a margin frame surrounds its component with horizontal and vertical glue β personal space, but make it structural. π
a show frame is an abstract class that changes its appearance in response to an EnterEvent or a LeaveEvent. it's reactive, it's dramatic, it's aware of you. π
a title frame provides a banner that it displays in reverse video when it receives an EnterEvent β that's the glow-up moment, fr fr.
a border frame draws an outline using a solid pattern when it receives an EnterEvent, and draws the outline using a gray pattern when it receives a LeaveEvent. so when you leave, it dims. relatable. π
π PUBLIC OPERATIONS π
Frame(Interactor*, int width = 1)β construct a frame. if the given interactor is not nil, it gets inserted as the frame's component. the frame extendswidthpixels outside of the interactor, so it's like a little halo of pixels. β¨ShadowFrame(Interactor*, int h = 1, int v = 1)β construct a shadow frame. thehandvShadowFrameparameters specify the width of the horizontal and vertical shadows, respectively. positive values for these parameters specify shadows falling to the right and below the interactor, respectively; negative values specify shadows falling to the left and above. so yes bestie, negative numbers = shadow going the other way, that's the whole vibe check. πMarginFrameβ construct a margin frame. four whole constructors, because we contain multitudes:
MarginFrame(Interactor* = nil, int margin = 0)
MarginFrame(Interactor*, int margin, int shrink, int stretch)
MarginFrame(Interactor*, int hmargin, int vmargin)
MarginFrame(Interactor*, int hm, int hshr, int hstr, int vm, int vshr,
int vstr)
- the first constructor puts rigid, fixed-sized glue around the component πΈ
- the second surrounds it with fixed-sized glue of the given shrinkability and stretchability π§
- independent horizontal and vertical margins are set with the third constructor π
- the last constructor allows full specification of the margin frame's horizontal and vertical margins, shrinkabilities, and stretchabilities. full control. main character energy. π
virtual void ShowFrame::HandleInput(Event&)βShowFrameobjects listen forEnterEventandLeaveEvent. when anEnterEventis received,ShowFrame::HandlecallsInsideFrame(true); when anLeaveEventis received, it callsInsideFrame(false). for any other event, it callsHandleInput.ShowFrame::InsideFramedoes nothing.ShowFrame::HandleInputcallsHandleon the frame's component. that's the whole chain of command, bestie, no notes. π«ΆTitleFrame(Banner*, Interactor*, int width = 1)β construct a title frame with the given banner.TitleFrame::InsideFramehighlights and unhighlights the banner. slay. βBorderFrame(Interactor*, int width = 1)β construct a border frame.BorderFrame::InsideFramehighlights and unhighlights the border. periodt. π
π PROTECTED OPERATIONS π
Frame(Interactor*, int, int, int, int)β this constructor is used by subclasses to explicitly set the widths of each line in the outline. the integers specify the width of the left, bottom, right, and top lines, respectively. order matters, don't mix them up, iykyk. π
π SEE ALSO π
Banner(3I), Event(3I), Glue(3I), Scene(3I) β go read those too, they're all part of the friend group. π¦
and that's the whole page, bestie!! this one came from InterViews, dated 15 June 1987 π mwah, take care of your frames, they take care of you πβ¨
π¦ 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