---
name: "SoWindowElement"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoWindowElement"
---

# SoWindowElement(3)

The SoWindowElement class is used to store current window attributes.

## NAME

SoWindowElement - The **SoWindowElement** class is used to store current window attributes.

## SYNOPSIS

\#include \<Inventor/elements/SoWindowElement.h\>

Inherits **SoElement**.

### Public Member Functions

virtual void **init** (**SoState** \*state)\
 virtual void **push** (**SoState** \*state)\
 virtual void **pop** (**SoState** \*state, const **SoElement** \*prevTopElement)\
 virtual SbBool **matches** (const **SoElement** \*element) const\
 virtual **SoElement** \* **copyMatchInfo** (void) const\

Public Member Functions inherited from **SoElement** const **SoType** **getTypeId** (void) const\
 int **getStackIndex** (void) const\
 void **setDepth** (const int **depth**)\
 int **getDepth** (void) const\
 virtual void **print** (FILE \*file=stdout) const\
 virtual **~SoElement** ()\

### Static Public Member Functions

static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void \* **createInstance** (void)\
 static void **initClass** (void)\
 static void **set** (**SoState** \*state, void \***window**, void \***context**, void \***display**, **SoGLRenderAction** \*action)\
 static void **get** (**SoState** \*state, void \*&**window**, void \*&**context**, void \*&**display**, **SoGLRenderAction** \*&action)\

Static Public Member Functions inherited from **SoElement** static void **initClass** (void)\
 static **SoType** **getClassTypeId** (void)\
 static int **getClassStackIndex** (void)\
 static void **initElements** (void)\
 static int **getNumStackIndices** (void)\
 static **SoType** **getIdFromStackIndex** (const int **stackIndex**)\

### Protected Member Functions

virtual **~SoWindowElement** ()\

Protected Member Functions inherited from **SoElement** **SoElement** (void)\
 void **capture** (**SoState** \*const state) const\
 virtual void **captureThis** (**SoState** \*state) const\
 void **setTypeId** (const **SoType** **typeId**)\
 void **setStackIndex** (const int index)\
 **SoElement** \* **getNextInStack** (void) const\
 **SoElement** \* **getNextFree** (void) const\

### Protected Attributes

void \* **window**\
 void \* **context**\
 void \* **display**\
 **SoGLRenderAction** \* **glRenderAction**\

Protected Attributes inherited from **SoElement** **SoType** **typeId**\
 int **stackIndex**\
 int **depth**\

### Additional Inherited Members

Static Protected Member Functions inherited from **SoElement** static **SoElement** \* **getElement** (**SoState** \*const state, const int **stackIndex**)\
 static const **SoElement** \* **getConstElement** (**SoState** \*const state, const int **stackIndex**)\
 static int **createStackIndex** (const **SoType** id)\

Static Protected Attributes inherited from **SoElement** static int **classStackIndex**\
 static **SoTypeList** \* **stackToType**\

## Detailed Description

The **SoWindowElement** class is used to store current window attributes.

In Coin, this element is not API-compatible with SGI Inventor, since it contains platform specific stuff, which we want to avoid.

Instead of the platform specific types we use void pointers. We're sorry for any inconvenience this might cause people using this element.

## Constructor & Destructor Documentation

### SoWindowElement::~SoWindowElement (void ) \[protected\], \[virtual\]

Destructor.

## Member Function Documentation

### SoType SoWindowElement::getClassTypeId (void ) \[static\]

This static method returns the **SoType** object associated with objects of this class.

### int SoWindowElement::getClassStackIndex (void ) \[static\]

This static method returns the state stack index for the class.

### void \* SoWindowElement::createInstance (void ) \[static\]

*This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.*\

 Creates a new instance of the class type corresponding to the **SoType** object.

### void SoWindowElement::initClass (void ) \[static\]

Initialize relevant common data for all instances, like the type system.

### void SoWindowElement::init (SoState \* state) \[virtual\]

This function initializes the element type in the given **SoState**. It is called for the first element of each enabled element type in **SoState** objects.

Reimplemented from **SoElement**.

### void SoWindowElement::push (SoState \* state) \[virtual\]

This method is called every time a new element is required in one of the stacks. This happens when a writable element is requested, using **SoState::getElement()** or indirectly **SoElement::getElement()**, and the depth of the current element is less than the state depth.

Override this method if your element needs to copy data from the previous top of stack. The **push()** method is called on the new element, and the previous element can be found using **SoElement::getNextInStack()**.

Reimplemented from **SoElement**.

### void SoWindowElement::pop (SoState \* state, const SoElement \* prevTopElement) \[virtual\]

This method is called when the state is popped, and the depth of the element is bigger than the current state depth. **pop()** is called on the new top of stack, and a pointer to the previous top of stack is passed in *prevTopElement*.

Override this method if you need to copy some state information from the previous top of stack.

Reimplemented from **SoElement**.

### SbBool SoWindowElement::matches (const SoElement \* element) const \[virtual\]

This function returns TRUE is the element matches another element (of the same class), with respect to cache validity.

If the application programmer's extension element has a **matches()** function, it should also have a **copyMatchInfo()** function.

Implements **SoElement**.

### SoElement \* SoWindowElement::copyMatchInfo (void ) const \[virtual\]

This function creates a copy of the element that contains enough information to enable the **matches()** function to work.

Used to help with scene graph traversal caching operations.

Implements **SoElement**.

### void SoWindowElement::set (SoState \* state, void \* window, void \* context, void \* display, SoGLRenderAction \* action) \[static\]

Sets data for this element.

### void SoWindowElement::get (SoState \* state, void \*& window, void \*& context, void \*& display, SoGLRenderAction \*& action) \[static\]

Returns data for this element.

## Member Data Documentation

### void\* SoWindowElement::window \[protected\]

The window id.

### void\* SoWindowElement::context \[protected\]

The current context.

### void\* SoWindowElement::display \[protected\]

The current display.

### SoGLRenderAction\* SoWindowElement::glRenderAction \[protected\]

The current render action.

## Author

Generated automatically by Doxygen for Coin from the source code.
