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) ); }
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)); } }
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)); } }