SDL

 view release on metacpan or  search on metacpan

src/Core/objects/Event.xs  view on Meta::CPAN

		RETVAL

Uint8
event_quit_type ( event, ... )
	SDL_Event *event
	CODE: 
		SDL_QuitEvent * a = &(event->quit);

		if( items > 1 )
		{
			a->type = SvUV( ST(1) );
		}

		RETVAL = a->type;
	OUTPUT:
		RETVAL

SDL_UserEvent *
event_user ( event, ... )
	SDL_Event * event
	PREINIT:
		char *CLASS = "SDL::UserEvent";
	CODE:
		RETVAL = &(event->user);
	OUTPUT:
		RETVAL

Uint8
event_user_type ( event, ... )
	SDL_Event *event
	CODE: 
		SDL_UserEvent * a = &(event->user);

		if( items > 1 )
		{
			a->type = SvUV( ST(1) );
		}

		RETVAL = a->type;
	OUTPUT:
		RETVAL

int
event_user_code ( event, ... )
	SDL_Event *event
	CODE: 
		SDL_UserEvent * a = &(event->user);

		if( items > 1 )
		{
			a->code = SvUV( ST(1) );
		}

		RETVAL = (int)a->code;
	OUTPUT:
		RETVAL

SV*
event_user_data1 ( event, ... )
	SDL_Event *event	
	PPCODE: 
		SDL_UserEvent * a = &(event->user);
		if ( items > 1)
			a->data1 = new_data( ST(1) ); 
		 if (!a->data1)
		  XSRETURN_EMPTY;
		  ST(0) = a->data1;
		  XSRETURN(1);

SV*
event_user_data2 ( event, ... ) 
	SDL_Event *event	
	PPCODE: 
		SDL_UserEvent * a = &(event->user);
		if ( items > 1)
			a->data2 = new_data( ST(1) ); 
		 if (!a->data2)
		  XSRETURN_EMPTY;
		  ST(0) = a->data2;
		  XSRETURN(1);

SDL_SysWMEvent *
event_syswm ( event, ... )
	SDL_Event * event
	PREINIT:
		char *CLASS = "SDL::SysWMEvent";
	CODE:
		RETVAL = &(event->syswm);
	OUTPUT:
		RETVAL

Uint8
event_syswm_type ( event, ... )
	SDL_Event *event
	CODE: 
		SDL_SysWMEvent * a = &(event->syswm);

		if( items > 1 )
		{
			a->type = SvUV( ST(1) );
		}

		RETVAL = a->type;
	OUTPUT:
		RETVAL

SDL_SysWMmsg *
event_syswm_msg ( event, ... )
	SDL_Event *event
	PREINIT:
		char* CLASS = "SDL::SysWMmsg";
	CODE: 
		SDL_SysWMEvent * a = &(event->syswm);

		if( items > 1 )
		{
			SDL_SysWMmsg * sysm = (SDL_SysWMmsg * )SvPV( ST(1), PL_na) ;
			a->msg = sysm;
		}

		RETVAL = a->msg;
	OUTPUT:
		RETVAL

void
event_DESTROY(bag)
	SV* bag
	CODE:
               if( sv_isobject(bag) && (SvTYPE(SvRV(bag)) == SVt_PVMG) ) {
                   void** pointers = (void**)INT2PTR(void *, SvIV((SV *)SvRV( bag ))); 
                   SDL_Event* self = (SDL_Event*)(pointers[0]);
                   if (PERL_GET_CONTEXT == pointers[1]) {
                       /*warn("Freed surface %p and pixels %p \n", surface, surface->pixels); */



( run in 0.563 second using v1.01-cache-2.11-cpan-5511b514fd6 )