EZ_RegisterWidget man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

EZ_RegisterWidget(3)		EZWGL Functions		  EZ_RegisterWidget(3)

NAME
       EZ_RegisterWidget - register your own widget

SYNOPSIS
       #include <EZ.h>

       void   EZ_RegisterWidget( int type,
				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) );

ARGUMENTS
       type  Specifies an integer, must be bigger than 65536.

       Setup   Specifies a procedure. This procedure is invoked whenever a new
       widget of the specified type is created.

       ComputeSize  Specifies a procedure. This procedure will be invoked when
       the  geometry  manager  needs  to update the geometry of widgets of the
       specified type.

       DrawWidget  Specifies a procedure. This procedure will be executed when
       the display of a widget of the given type need to be updated.

       FreeData	  Specifies a procedure. This procedure will be invoked when a
       widget of the specified type is being destroyed.

       EventHandle  Specifies a generic event handler for widgets of the spec‐
       ified type.

DESCRIPTION
       EZ_RegisterWidget  registers  a custom designed widget to the EZ widget
       library.	 After a new widget is registered, it can be handled the  same
       as other widgets in the library.	 Here is an example

       #include "EZ.h"

       #define TEST_TYPE    65537    /* type starts at 65537 */

       void TESTsetup(EZ_Widget *widget) { }

       void TESTfreeData(EZ_Widget *widget) { }

       void TESTcomputeSize(EZ_Widget *widget, int *w, int *h)
       {  *w =200; *h=60; }

       void TESTdraw(EZ_Widget *widget)
       {
	 EZ_DrawRectBorder(widget, EZ_GetWidgetWindow(widget));
       }

       void TESTeventHandle(EZ_Widget *widget, XEvent *event)
       {  if(event->type == Expose) TESTdraw(widget); }

       main(int ac, char **av)
       {
	 EZ_Widget *frame1, *test, *btn;

	 EZ_Initialize(ac,av,0);

	 /* register our TEST  widget	  */
	 EZ_RegisterWidget(TEST_TYPE, TESTsetup, TESTcomputeSize,
		     TESTdraw, TESTfreeData, TESTeventHandle);

	 frame1 = EZ_CreateWidget(EZ_WIDGET_FRAME,   NULL,
				  EZ_FILL_MODE,	     EZ_FILL_BOTH,
				  EZ_LABEL_STRING,   "Test Widget",
				  NULL);

	 test =	  EZ_CreateWidget(TEST_TYPE,	   frame1,
			    EZ_BORDER_TYPE,  EZ_BORDER_UP,
				  EZ_FOREGROUND,   "red",
			 EZ_BACKGROUND,	  "#00afaf",
			 EZ_BORDER_WIDTH, 6,
				  NULL);
	 btn =	  EZ_CreateWidget(EZ_WIDGET_NORMAL_BUTTON,  tmp,
				  EZ_LABEL_STRING,	    "A Button",
				  EZ_BACKGROUND,	    "#af00af",
			 NULL);
	 EZ_DisplayWidget(frame1);
	 EZ_EventMainLoop();
       }

SEE ALSO
       EZ_GetWritableGC(3)

EZWGL							  EZ_RegisterWidget(3)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net