X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fgestalt.c;h=6dbffa1ade892881ac4e7dc3afc46fe83a41b4da;hb=5cbd4d79bb8699746b85353d6ab25ee5c48174ff;hp=eef77489990aae324282325892a387e94a239f38;hpb=bdb4a6360e2d9fabf6d16f3a87927cfbba5f304a;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/gestalt.c b/libchimara/gestalt.c index eef7748..6dbffa1 100644 --- a/libchimara/gestalt.c +++ b/libchimara/gestalt.c @@ -1,6 +1,7 @@ #include /* Surprisingly, the only symbol needed is NULL */ #include #include "glk.h" +#include "input.h" /* Version of the Glk specification implemented by this library */ #define MAJOR_VERSION 0 @@ -108,6 +109,10 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen) case gestalt_DrawImage: return val == wintype_Graphics || val == wintype_TextBuffer; + /* Which keycodes can be used as line terminators */ + case gestalt_LineTerminatorKey: + return is_valid_line_terminator(val)? 1 : 0; + /* Capabilities that are simply supported */ case gestalt_Unicode: case gestalt_Timer: @@ -115,6 +120,9 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen) case gestalt_Graphics: case gestalt_GraphicsTransparency: case gestalt_DateTime: + case gestalt_UnicodeNorm: + case gestalt_LineInputEcho: + case gestalt_LineTerminators: return 1; /* Capabilities supported if compiled with GStreamer */ @@ -129,10 +137,8 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen) #endif /* Unsupported capabilities */ - case gestalt_LineInputEcho: - case gestalt_LineTerminatorKey: - case gestalt_LineTerminators: - case gestalt_UnicodeNorm: + /* none! */ + /* Selector not supported */ default: return 0;