# Porthole Widget

    Application Header file	<X11/Xaw/Porthole.h>

    Class Header file	<X11/Xaw/PortholeP.h>

    Class		portholeWidgetClass

    Class Name	Porthole

    Superclass	Composite

The Porthole widget provides geometry management of a list of arbitrary widgets, only one of which may be managed at any particular time. The managed child widget is reparented within the porthole and is moved around by the application (typically under the control of a Panner widget).

## Resources

When creating a Porthole widget instance, the following resources are retrieved from the argument list or from the resource database:

Name | Class | Type | Notes | Default Value
accelerators | Accelerators | AcceleratorTable |  | NULL
ancestorSensitive | AncestorSensitive | Boolean | D | True
background | Background | Pixel |  | XtDefaultBackground
backgroundPixmap | Pixmap | Pixmap |  | XtUnspecifiedPixmap
borderColor | BorderColor | Pixel |  | XtDefaultForeground
borderPixmap | Pixmap | Pixmap |  | XtUnspecifiedPixmap
borderWidth | BorderWidth | Dimension |  | 1
children | ReadOnly | WidgetList | R | NULL
colormap | Colormap | Colormap |  | Parent's Colormap
depth | Depth | int | C | Parent's Depth
destroyCallback | Callback | XtCallbackList |  | NULL
height | Height | Dimension | A | see `Layout Semantics`
mappedWhenManaged | MappedWhenManaged | Boolean |  | True
numChildren | ReadOnly | Cardinal | R | 0
reportCallback | ReportCallback | Callback |  | NULL
screen | Screen | Screen | R | Parent's Screen
sensitive | Sensitive | Boolean |  | True
translations | Translations | TranslationTable |  | NULL
width | Width | Dimension | A | see `Layout Semantics`
x | Position | Position |  | 0
y | Position | Position |  | 0
_

`reportCallback`

- A list of functions to invoke whenever the managed child widget changes size or position.

## Layout Semantics

The Porthole widget allows its managed child to request any size that is as large or larger than the Porthole itself and any location so long as the child still obscures all of the Porthole. This widget typically is used with a Panner widget.

## Porthole Callbacks

The functions registered on the `reportCallback` list are invoked whenever the managed child changes size or position:

      void ReportProc
      Widget porthole
      XtPointer client_data
      XtPointer report

porthole

- Specifies the Porthole widget.

client_data

- Specifies the client data.

report

- Specifies a pointer to an `XawPannerReport` structure containing the location and size of the slider and the size of the canvas.