Merge branch 'sound'
[projects/chimara/chimara.git] / libchimara / gestalt.c
index a9412c38b769c3c69ad6136d914804f39565105e..ebeb765f20a9f59d00697fa5758d345f1f6f33c1 100644 (file)
@@ -1,4 +1,5 @@
 #include <stddef.h> /* Surprisingly, the only symbol needed is NULL */
+#include <config.h>
 #include "glk.h"
 
 /* Version of the Glk specification implemented by this library */
@@ -115,15 +116,28 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen)
                /* Mouse support present in textgrids */
                case gestalt_MouseInput:
                        return val == wintype_TextGrid;
-                       
-               /* Unsupported capabilities */
+
                case gestalt_Graphics:
+                       return 1;
+
                case gestalt_DrawImage:
+                       return val == wintype_Graphics || val == wintype_TextBuffer;
+
+               case gestalt_GraphicsTransparency:
+                       return 1;
+
+               /* Capabilities supported if compiled with GStreamer */
                case gestalt_Sound:
                case gestalt_SoundVolume:
                case gestalt_SoundNotify:
+#ifdef GSTREAMER_SOUND
+                       return 1;
+#else
+                       return 0;
+#endif
+                       
+               /* Unsupported capabilities */
                case gestalt_SoundMusic:
-               case gestalt_GraphicsTransparency:
                /* Selector not supported */    
                default:
                        return 0;