Beispiel #1
0
    from_object(core::T_sp object)
    {
      if ( core::Symbol_sp sym = object.asOrNull<core::Symbol_O>() ) {
	if ( sym.notnilp() ) {
	  core::Symbol_sp converterSym = core::lisp_intern("*EVENT-EVENTTYPE-ENUM-MAPPER*", "SFML");
	  core::SymbolToEnumConverter_sp converter = converterSym->symbolValue().as<core::SymbolToEnumConverter_O>();
	  this->_v = converter->enumForSymbol<sf::Event::EventType>(sym);
	  return;
	}
      }
      SIMPLE_ERROR(BF("Cannot convert object %s to sf::Event::EventType") % _rep_(object) );
    }
Beispiel #2
0
    from_object(core::T_sp obj)
    {
      if ( core::List_sp list = obj.asOrNull<core::List_V>() )
      {
	// Translate a CONS list into a Vector
	this->_v.x = clasp_to_fixnum(gc::As<core::Integer_sp>(oCar(list)));
	list = oCdr(list);
	this->_v.y = clasp_to_fixnum(gc::As<core::Integer_sp>(oCar(list)));
      }
      else
      {
	SIMPLE_ERROR(BF("Could not convert %s to sf::Vector2") % core::_rep_(obj));
      }
    }
Beispiel #3
0
    from_object(core::T_sp object)
    {
      if (core::Symbol_sp sym = object.asOrNull<core::Symbol_O>()) 
      {
	if (sym.notnilp()) 
        {
	  core::Symbol_sp converterSym = core::lisp_intern("SFML","*BLENDMODE-EQUATION-ENUM-MAPPER*");
	  core::SymbolToEnumConverter_sp converter = 
            converterSym->symbolValue().as<core::SymbolToEnumConverter_O>();
	  this->_v = converter->enumForSymbol<sf::BlendMode::Equation>(sym);
	  return;
	}
      }
      SIMPLE_ERROR(BF("Cannot convert object %s to sf::BlendMode::Equation") % _rep_(object) );
    }
    from_object(core::T_sp obj)
    {
      if ( obj.nilp() )	{
	this->_v.width = 800;
	this->_v.height = 600;
	this->_v.bitsPerPixel = 32;
      } else if ( core::List_sp list = obj.asOrNull<core::List_V>() ) {
	// Translate a CONS list into a VideoMode
	this->_v.width = clasp_to_fixnum(gc::As<core::Integer_sp>(oCar(list)));
	list = oCdr(list);
	this->_v.height = clasp_to_fixnum(gc::As<core::Integer_sp>(oCar(list)));
	list = oCdr(list);
	this->_v.bitsPerPixel = (list.nilp())?
	  32 : clasp_to_fixnum(gc::As<core::Integer_sp>(oCar(list)));
      } else {
	SIMPLE_ERROR(BF("Could not convert %s to sf::VideoMode") % core::_rep_(obj));
      }
    }