## 4.25 Raw XWindow

This widget gives you a native X window. You'll have to write a rendering procedure and an event handler for it to be useful.

This widget is also used internally to hook up user defined primitive widgets.

### Widget Info

Symbolic widget type | EZ_WIDGET_RAW_XWINDOW
Default class name | "RawXWindow"
Default instance name | "rawXWindow"

### Widget Interface Routines

    void EZ_SetupRawXWinWidget(EZ_Widget *widget,
               void (*ComputeSize)( EZ_Widget *widget, int *w, int *h),
               void (*DrawWidget) (EZ_Widget *widget),
               void (*FreeData)   (EZ_Widget *widget),
               void (*EventHandle)(EZ_Widget *widget, XEvent *event) );

setup a raw xwindow widget.

    int   EZ_RegisterPrimitiveWidget(
                char  *iname, char *cname,
                void  (*Setup) (EZ_Widget *widget),
                void  (*ComputeSize)( EZ_Widget *widget, int *w, int *h),
                void  (*DrawWidget) (EZ_Widget *widget),
                void  (*FreeData)   (EZ_Widget *widget),
                void  (*EventHandle)(EZ_Widget *widget, XEvent *event)) );

register your own widget.

### Resources

Config_Option | ResourceName | DefaultValue
EZ_CLASS | class | `"RawXWindow"`
EZ_NAME | name | `"rawXWindow"`

EZ_X | x |
EZ_Y | y |
EZ_WIDTH | width |
EZ_HEIGHT | height |

EZ_BORDER_WIDTH | borderWidth | `0`
EZ_BORDER_TYPE | borderType | `none`
EZ_FOCUS_PAD | focusPad | `0`

EZ_PADX | padx | `0`
EZ_PADY | pady | `0`
EZ_IPADX | iPadx | `0`
EZ_IPADY | iPady | `0`

EZ_EXPAND | expand | `false`
EZ_PROPAGATE | propagate | `true`

EZ_CURSOR | cursor | `"XC_left_ptr"`
EZ_BUBBLE_STRING | bubbleString | `null`

EZ_CALLBACK | N/A | `null null`
EZ_DESTROY_CALLBACK | N/A | `null null`
EZ_EVENT_HANDLER | N/A | `null null`

EZ_DND_DRAG_CURSOR | dndDragCursor | `none`
EZ_DND_BUBBLE_STRING | dndBubbleString | `null`

HTML Documentation Maintainance:`Arturo Espinosa <arturo@nuclecu.unam.mx>`