#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 */
/* Timer capabilities present */
case gestalt_Timer:
return 1;
-
- /* Unsupported capabilities */
+
+ /* Hyperlink capabilities present */
+ case gestalt_Hyperlinks:
+ return 1;
+
+ /* Hyperlinks supported on textbuffers and textgrids */
+ case gestalt_HyperlinkInput:
+ return val == wintype_TextBuffer || val == wintype_TextGrid;
+
+ /* Mouse support present in textgrids */
case gestalt_MouseInput:
+ return val == wintype_TextGrid;
+
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:
- case gestalt_Hyperlinks:
- case gestalt_HyperlinkInput:
+#ifdef GSTREAMER_SOUND
+ return 1;
+#else
+ return 0;
+#endif
+
+ /* Unsupported capabilities */
case gestalt_SoundMusic:
- case gestalt_GraphicsTransparency:
/* Selector not supported */
default:
return 0;