diff options
Diffstat (limited to 'src/gwin/gwidget.c')
| -rw-r--r-- | src/gwin/gwidget.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gwin/gwidget.c b/src/gwin/gwidget.c index c9fff50e..e773dc6c 100644 --- a/src/gwin/gwidget.c +++ b/src/gwin/gwidget.c @@ -302,6 +302,24 @@ void _gwidgetRedraw(GHandle gh) { gw->fnDraw(gw, gw->fnParam); } +void _gwinSendEvent(GHandle gh, GEventType type) { + GSourceListener * psl; + GEventGWin * pge; + + // Trigger a GWIN Event + psl = 0; + while ((psl = geventGetSourceListener(GWIDGET_SOURCE, psl))) { + if (!(pge = (GEventGWin *)geventGetEventBuffer(psl))) + continue; + pge->type = type; + pge->gwin = gh; + #if GWIN_WIDGET_TAGS + pge->tag = (gh->flags & GWIN_FLG_WIDGET) ? ((GWidgetObject *)gh)->tag : 0; + #endif + geventSendEvent(psl); + } +} + void gwinWidgetClearInit(GWidgetInit *pwi) { char *p; unsigned len; |
