SFML

 view release on metacpan or  search on metacpan

xsrc/Window.xs  view on Meta::CPAN

		RETVAL = Joystick::getButtonCount(joystick_id);
	OUTPUT:
		RETVAL

bool
hasAxis(joystick_id, axis)
	unsigned int joystick_id	
	int axis
	CODE:
		RETVAL = Joystick::hasAxis(joystick_id, (sf::Joystick::Axis) axis);
	OUTPUT:
		RETVAL

bool
isButtonPressed(joystick_id, button)
	unsigned int joystick_id
	unsigned int button
	CODE:
		RETVAL = Joystick::isButtonPressed(joystick_id,button);
	OUTPUT:
		RETVAL

float
getAxisPosition(joystick_id, axis)
	unsigned int joystick_id
	int axis
	CODE:
		RETVAL = Joystick::getAxisPosition(joystick_id, (sf::Joystick::Axis) axis);
	OUTPUT:
		RETVAL

void
update()
	CODE:
		Joystick::update();

MODULE = SFML		PACKAGE = SFML::Window::Keyboard

bool
isKeyPressed(key_id)
	int key_id
	CODE:
		RETVAL = Keyboard::isKeyPressed((sf::Keyboard::Key) key_id);
	OUTPUT:
		RETVAL

MODULE = SFML		PACKAGE = SFML::Window::Mouse

bool
isButtonPressed(button_id)
	int button_id
	CODE:
		RETVAL = Mouse::isButtonPressed((sf::Mouse::Button)button_id);
	OUTPUT:
		RETVAL

void
getPosition(...)
	PREINIT:
	Vector2i v;
	PPCODE:
		if(items > 0){
			if(!sv_isa(ST(4), "SFML::Window::Window"))
				croak("Usage: SFML::Window::Mouse::getPosition\n       SFML::Window::Mouse::getPosition(window)");
			v = Mouse::getPosition(*((Window*)SvIV(SvRV(ST(0)))));
		} else {
			v = Mouse::getPosition();
		}
		EXTEND(SP, 2);
		PUSHs(sv_2mortal(newSViv(v.x)));
		PUSHs(sv_2mortal(newSViv(v.y)));

void
setPosition(x,y,...)
	int x
	int y
	CODE:
		if(items > 3) {
			if(!sv_isa(ST(4), "SFML::Window::Window"))
				croak_xs_usage(cv, "x, y, window=current");
			Mouse::setPosition(Vector2i(x,y),*((Window*)SvIV(SvRV(ST(0)))));
		} else {
			Mouse::setPosition(Vector2i(x,y));
		}

MODULE = SFML		PACKAGE = SFML::Window::VideoMode

VideoMode*
VideoMode::new(width, height, ...)
	unsigned int width
	unsigned int height
	CODE:
		if (items == 4)
			RETVAL = new VideoMode(width, height, SvUV(ST(3)));
		else if (items == 3)
			RETVAL = new VideoMode(width, height);
		else if (items == 2 && sv_isobject(SvRV(ST(1))) && SvTYPE(SvRV(ST(1))) == SVt_PVMG)
			RETVAL = new VideoMode(*((VideoMode*)SvIV(SvRV(ST(1)))));
		else
			croak_xs_usage(cv, "CLASS, width, height, bitsPerPixel=32");
	OUTPUT:
		RETVAL

void
VideoMode::DESTROY()

bool
VideoMode::isValid()

unsigned int
VideoMode::getWidth()
	CODE:
		RETVAL = THIS->width;
	OUTPUT:
		RETVAL

unsigned int
VideoMode::getHeight()
	CODE:
		RETVAL = THIS->height;
	OUTPUT:
		RETVAL

unsigned int
VideoMode::getBitsPerPixel()
	CODE:
		RETVAL = THIS->bitsPerPixel;
	OUTPUT:
		RETVAL


void
VideoMode::setWidth(width)
	unsigned int width
	CODE:
		THIS->width = width;

void
VideoMode::setHeight(height)
	unsigned int height
	CODE:
		THIS->height = height;

void
VideoMode::setBitsPerPixel(bitsPerPixel)
	unsigned int bitsPerPixel
	CODE:
		THIS->bitsPerPixel = bitsPerPixel;

VideoMode*
getDesktopMode()
	PREINIT:
		const char * CLASS = "SFML::Window::VideoMode";
	CODE:
		RETVAL = new VideoMode(VideoMode::getDesktopMode());
	OUTPUT:
		RETVAL

void
getFullscreenModes()
	PREINIT:
	std::vector<VideoMode> vmv;
	PPCODE:
		vmv = VideoMode::getFullscreenModes();
		EXTEND(SP,vmv.size());
		for(unsigned int i = 0; i < vmv.size(); i++){
			SV* sv = newSV(0);
			sv_setref_pv(sv, "SFML::Window::VideoMode", (void*) new VideoMode(vmv[i]));
			PUSHs(sv_2mortal(sv));
		}

SV *
eq(left, right, swap)
	VideoMode* left
	VideoMode* right
	int swap
	OVERLOAD: ==
	CODE:
		RETVAL = newSViv((*right) == (*left));
	OUTPUT:
		RETVAL

SV *
ne(left, right, swap)
	VideoMode* left
	VideoMode* right
	int swap
	OVERLOAD: !=
	CODE:
		RETVAL = newSViv((*right) != (*left));
	OUTPUT:
		RETVAL

SV *
lt(left, right, swap)
	VideoMode* left
	VideoMode* right
	int swap
	OVERLOAD: <
	CODE:
		if(swap)
			RETVAL = newSViv((*right) < (*left));
		else
			RETVAL = newSViv((*left) < (*right));
	OUTPUT:
		RETVAL

SV *
gt(left, right, swap)
	VideoMode* left
	VideoMode* right
	int swap
	OVERLOAD: >
	CODE:
		if(swap)
			RETVAL = newSViv((*right) > (*left));
		else
			RETVAL = newSViv((*left) > (*right));
	OUTPUT:
		RETVAL

SV *
le(left, right, swap)

xsrc/Window.xs  view on Meta::CPAN

			if (items == 4){
				RETVAL = new Window(*mode, std::string(title), SvIV(ST(3)));
			} else if(items == 5 &&
				sv_isobject(ST(4)) &&
				SvTYPE(SvRV(ST(4))) == SVt_PVMG &&
				sv_isa(ST(4), "SFML::Window::ContextSettings")){
				RETVAL = new Window(*mode, std::string(title), SvIV(ST(3)), *((ContextSettings*) SvIV(SvRV(ST(4)))));
			} else if(items == 3){
				RETVAL = new Window(*mode, std::string(title));
			}
		}
		if(RETVAL == 0)
			croak_xs_usage(cv, "THIS, mode, title, style=SFML::Window::Style::Default, contextSettings=default");
	OUTPUT:
		RETVAL

void
Window::DESTROY()

void
Window::create(mode, title, ...)
	VideoMode* mode
	char * title
	CODE:
		bool error = true;
		if (items == 4){
			error = false;
			THIS->create(*mode, std::string(title), SvIV(ST(3)));
		} else if(items == 5 &&
			sv_isobject(ST(4)) &&
			SvTYPE(SvRV(ST(4))) == SVt_PVMG &&
			sv_isa(ST(4), "SFML::Window::ContextSettings")){
			error = false;
			THIS->create(*mode, std::string(title), SvIV(ST(3)), *((ContextSettings*) SvIV(SvRV(ST(4)))));
		} else if(items == 3){
			error = false;
			THIS->create(*mode, std::string(title));
		}
		if(error)
			croak_xs_usage(cv, "CLASS, mode, title, style=SFML::Window::Style::Default, contextSettings=default");

void
Window::close()

bool
Window::isOpen()

ContextSettings*
Window::getSettings()
	PREINIT:
		const char * CLASS = "SFML::Window::ContextSettings";
	CODE:
		RETVAL = new ContextSettings(THIS->getSettings());
	OUTPUT:
		RETVAL

void
Window::getPosition()
	PREINIT:
		Vector2i v;
	PPCODE:
		v = THIS->getPosition();
		EXTEND(SP, 2);
		PUSHs(sv_2mortal(newSViv(v.x)));
		PUSHs(sv_2mortal(newSViv(v.y)));

void
Window::setPosition(x,y)
	int x
	int y
	CODE:
		THIS->setPosition(Vector2i(x,y));

void
Window::getSize()
	PREINIT:
	Vector2u v;
	PPCODE:
		v = THIS->getSize();
		//fprintf(stderr, "Size to %u, %u\n", v.x, v.y); 
		EXTEND(SP, 2);
		PUSHs(sv_2mortal(newSVuv(v.x)));
		PUSHs(sv_2mortal(newSVuv(v.y)));

void
Window::setSize(x,y)
	unsigned int x
	unsigned int y
	CODE:
		THIS->setSize(Vector2u(x,y));

void
Window::setTitle(title)
	char * title
	CODE:
		THIS->setTitle(std::string(title));

void
Window::setVisible(...)
	CODE:
		if(items >= 1)
			THIS->setVisible(SvTRUE(ST(1)));
		else
			THIS->setVisible(true);

void
Window::setVerticalSyncEnabled(...)
	CODE:
		if(items >= 1)
			THIS->setVerticalSyncEnabled(SvTRUE(ST(1)));
		else
			THIS->setVerticalSyncEnabled(true);

void
Window::setMouseCursorVisible(...)
	CODE:
		if(items >= 1)
			THIS->setMouseCursorVisible(SvTRUE(ST(1)));
		else
			THIS->setMouseCursorVisible(true);

void
Window::setKeyRepeatEnabled(...)
	CODE:
		if(items >= 1)
			THIS->setKeyRepeatEnabled(SvTRUE(ST(1)));
		else
			THIS->setKeyRepeatEnabled(true);

void
Window::setFramerateLimit(limit)
	unsigned int limit

void
Window::setJoystickThreshold(threshold)
	float threshold




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