+ SCM
+ irr_gui_getColor (SCM wrapped_obj,
+ SCM color)
+ {
+#define GET_COLOR(OBJ) scm_from_color (OBJ->getColor ());
+
+ if (gui_image_p (wrapped_obj))
+ {
+ return GET_COLOR (unwrap_gui_image (wrapped_obj));
+ }
+ else if (gui_in_out_fader_p (wrapped_obj))
+ {
+ return GET_COLOR (unwrap_gui_in_out_fader (wrapped_obj));
+ }
+ else if (gui_skin_p (wrapped_obj))
+ {
+ return irr_gui_IGUISkin_getColor (wrapped_obj, color);
+ }
+ else
+ {
+ scm_error (scm_arg_type_key, NULL, "Cannot get color from object: ~S",
+ scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
+ }
+ }
+