All pastes #146991 Raw Edit

Mine

public c v1 · immutable
#146991 ·published 2006-08-24 01:11 UTC
rendered paste body
#include <stdio.h>#include <dirent.h>#include <ttk.h>#include "izilla.h"#include "desktop.h"//Function Prototypesint global_event_handler(int ev, int earg, int time);extern int ttk_mouse_down(TWidget * wid, int btn);extern int ttk_mouse_scroll(TWidget * wid, int dir);TWidget * get_widget_under_mouse(void);void draw_widget_under_mouse(void);//Global Event Handlerint global_event_handler(int ev, int earg, int time){	int ret = -1;	switch(ev)	{		case TTK_BUTTON_DOWN:			switch (earg)			{				case TTK_BUTTON_ACTION:					//nothing for now					break;				case TTK_BUTTON_HOLD:					//nothing for now					break;				default:					draw_widget_under_mouse();					ttk_mouse_down(mouse, earg);					break;			}			break;		case TTK_BUTTON_UP:			//nothing for now			break;		case TTK_SCROLL:			draw_widget_under_mouse();			ttk_mouse_scroll(mouse, earg);			break;	}	if(ret >= 0)	{		return ret;	}	else	{		return TTK_EV_UNUSED;	}}void draw_widget_under_mouse(){	TWidget * wid;	wid = get_widget_under_mouse();	if(wid!=NULL) wid->draw(wid, base_win->srf);	base_win->dirty++;}TWidget * get_widget_under_mouse(){	TWidget * ret = NULL;	TWidgetList * twl = base_win->widgets; //TODO: Add in support for multiple windows using TWindowList	while (ret==NULL && twl!=NULL) {		if(strcmp(twl->v->name, "mouse"))			if((mouse->x > twl->v->x) && (mouse->x < (twl->v->x + twl->v->w)))				if((mouse->y > twl->v->y) && (mouse->y < (twl->v->y + twl->v->h)))					ret = twl->v;		twl = twl->next;	}	return ret;}