Implement line input echoing
[projects/chimara/chimara.git] / libchimara / gestalt.c
index 06154591117d7d8d6ede5204e1141761e6ffd3c7..22683df91d7a8d0237a5aa2c8d43434a52f80cec 100644 (file)
@@ -5,7 +5,7 @@
 /* Version of the Glk specification implemented by this library */
 #define MAJOR_VERSION 0
 #define MINOR_VERSION 7
-#define SUB_VERSION   0
+#define SUB_VERSION   2
 
 /**
  * glk_gestalt:
@@ -96,18 +96,6 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen)
                                return gestalt_CharOutput_CannotPrint;
                        /* Can print all other characters */
                        return gestalt_CharOutput_ExactPrint;
-               
-               /* Unicode capabilities present */
-               case gestalt_Unicode:
-                       return 1;
-
-               /* Timer capabilities present */
-               case gestalt_Timer:
-                       return 1;
-
-               /* Hyperlink capabilities present */
-               case gestalt_Hyperlinks:
-                       return 1;
 
                /* Hyperlinks supported on textbuffers and textgrids */
                case gestalt_HyperlinkInput:
@@ -117,17 +105,25 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen)
                case gestalt_MouseInput:
                        return val == wintype_TextGrid;
 
-               case gestalt_Graphics:
-                       return 1;
-
                case gestalt_DrawImage:
                        return val == wintype_Graphics || val == wintype_TextBuffer;
 
+               /* Capabilities that are simply supported */
+               case gestalt_Unicode:
+               case gestalt_Timer:
+               case gestalt_Hyperlinks:
+               case gestalt_Graphics:
                case gestalt_GraphicsTransparency:
+               case gestalt_DateTime:
+               case gestalt_UnicodeNorm:
+               case gestalt_LineInputEcho:
                        return 1;
 
+               /* Capabilities supported if compiled with GStreamer */
                case gestalt_Sound:
                case gestalt_SoundVolume:
+               case gestalt_SoundNotify:
+               case gestalt_SoundMusic:
 #ifdef GSTREAMER_SOUND
                        return 1;
 #else
@@ -135,8 +131,8 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen)
 #endif
                        
                /* Unsupported capabilities */
-               case gestalt_SoundNotify:
-               case gestalt_SoundMusic:
+               case gestalt_LineTerminatorKey:
+               case gestalt_LineTerminators:
                /* Selector not supported */    
                default:
                        return 0;