- bool
- is_reference_counted_object (SCM wrapped_obj)
- {
- return
- device_p (wrapped_obj) ||
- reference_counted_p (wrapped_obj) ||
- scene_node_animator_p (wrapped_obj);
- }
-
- SCM
- irr_drop (SCM wrapped_obj)
- {
- if (is_reference_counted_object (wrapped_obj))
- {
- irr::IReferenceCounted* obj = unwrap_reference_counted (wrapped_obj, false);
- return scm_from_bool (obj->drop ());
- }
- else
- {
- scm_error (scm_arg_type_key, NULL, "Object cannot be dropped: ~S",
- scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
- }
- }