The IVFB Interface is returned as notification parameter result by the two Rendered Frame Window and Image Viewer-related callbacks.
It can be used to customize the appearance and register user-defined scripted rollouts in the top left, top right and bottom panels of the dialog.
Available in 3ds Max 2009 and higher.
Properties:
<IVFB>.ShowOverlays : boolean : Read|Write
Get/set the display of the render region box in the Rendered Frame Window. Corresponds to the "Toggle UI Overlays" button in the Rendered Frame Window main toolbar.
<IVFB>.ShowRollups : boolean : Read|Write
This property is true when the rollout panels are displayed in the Rendered Frame Window.
If no rollout panels have been installed, this may still return true, because it's only a global toggle used to optionally hide the rollouts. Setting this property will show/hide the rollout panels, and the UI is immediately updated.
<IVFB>.IsFramebuffer : boolean : Read
This property contains true if the window is a Rendered Frame Window.
It is false for Image Viewer windows (as from File>View Image File).
This allows a script to install render controls on only the Rendered Frame Window.
<IVFB>.IsVisible: boolean : Read|Write
Get/set the visible state of the Image Viewer.
<IVFB>.IsInitialized : boolean : Read
Contains true if the Image Viewer has been initialized already by calling the .InitLayout()
method documented further on this page.
Methods:
<value><IVFB>.InitRolloutWindow <enum>which <integer>width <integer>height
which enums: {#TopLeft | #TopRight | #Bottom}
Returns a RolloutFloater value, allowing rollouts to be added to it.
It represents a single panel, not the entire floating window.
MAXScript can now create rollouts in borderless mode by calling AddRollout
with the optional keyword argument border:
set to false
.
Such rollouts do not have a title bar nor border around them and merge seamlessly with the rest of the panel.
<boolean><IVFB>.GetRolloutWindowVisible <enum>which
which enums: {#TopLeft | #TopRight | #Bottom}
Returns the visibility of the specified rollout panel.
<void><IVFB>.SetRolloutWindowVisible <enum>which <boolean>show
which enums: {#TopLeft | #TopRight | #Bottom}
Sets the visibility of the specified rollout panel.
<void><IVFB>.SetMetric <enum>metricID <integer>value
metric ID enums: {#HorzMarginLeft | #HorzMarginCenter | #HorzMarginRight | #VertMarginTop | #VertMarginCenter | #VertMarginBottom | #MinClientWidth | #MinClientHeight}
Sets the spacing between the panels in the framebuffer.
The first parameters can be one of the following:
#horzMarginLeft
- Space in pixels between the left edge of the window and the left rollout panel.
#horzMarginCenter
- Horizontal space in pixels between the two rollout panels.
#horzMarginRight
- Space in pixels between the right edge of the window and the right rollout panel.
#vertMarginTop
- Space in pixels between the top of the window and the top of the rollout panels.
#vertMarginCenter
- Vertical space in pixels between the rollout panels and the bitmap view.
#vertMarginBottom
- Vertical space in pixels between the bottom rollout panel and the bitmap view.
#minClientWidth
- Minimum sizable width of the window in pixels.
#minClientHeight
- Minimum sizable height of the window in pixels.
Despite the values of #minCleintWidth
and #minClientHeight
, the window can never be resized down to become smaller than the combined width of the top two rollouts.
<integer><IVFB>.GetMetric <enum>metricID
metricID enums:{#HorzMarginLeft | #HorzMarginCenter | #HorzMarginRight | #VertMarginTop | #VertMarginCenter | #VertMarginBottom | #MinClientWidth | #MinClientHeight}
Returns the spacing settings for the specified parameter of the current layout.
See above for details.
<void><IVFB>.InitLayout()
Calling this method causes the current layout set up using the properties and methods above to be initialized.