---
name: "s3dw_widget"
section: "9"
platform: "linux"
package: "s3d-doc"
version: "0.2.2.1-7"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/s3dw_widget"
---

# s3dw\_widget(9)

s3d widget information

## NAME

s3dw\_widget - s3d widget information

## SYNOPSIS

```
#include <s3dw.h>
```

## STRUCTURE MEMBERS

```
struct _s3dw_widget {
	int type;
	s3dw_widget *parent;
	s3dw_style *style;
	int nobj;
	s3dw_widget **pobj;
	int focus;
	int flags;
	float ax;
	float ay;
	float az;
	float as;
	float arx;
	float ary;
	float arz;
	float width;
	float height;
	uint32_t oid;
	void *ptr;
	float x;
	float y;
	float z;
	float s;
	float rx;
	float ry;
	float rz;
}
```

## DESCRIPTION

This is the most basic widget type, it contains all the "general" widget information. If you want to move a widget, you'd change x,y,z,s and rx,ry,rz and call s3dw\_moveit to turn your action reality. Every other widget has this type as first entry, so a simple typecast to s3dw\_widget will give you the widgets "general" information. For typecast, you may use S3DWIDGET().

The pointer ptr allows linking to user-specific data structures. That comes in handy if the widget is called back by an event, and the program must now find out on which data the user reacted.

## AUTHOR

**Simon Wunderlich**

Author of s3d
