X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fgestalt.c;h=b553c6ec6a5c3c919774186e901a17aaf432a353;hb=07959e767424a4779abbac3a73fe626ba89ea566;hp=ebeb765f20a9f59d00697fa5758d345f1f6f33c1;hpb=87504b58306f29cf833637a9e9983e947e684ee1;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/gestalt.c b/libchimara/gestalt.c index ebeb765..b553c6e 100644 --- a/libchimara/gestalt.c +++ b/libchimara/gestalt.c @@ -1,11 +1,12 @@ #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 #define MINOR_VERSION 7 -#define SUB_VERSION 0 +#define SUB_VERSION 3 /** * glk_gestalt: @@ -96,18 +97,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,19 +106,31 @@ 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; + /* 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: + case gestalt_Hyperlinks: + 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 */ case gestalt_Sound: case gestalt_SoundVolume: case gestalt_SoundNotify: + case gestalt_SoundMusic: + case gestalt_Sound2: #ifdef GSTREAMER_SOUND return 1; #else @@ -137,7 +138,8 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen) #endif /* Unsupported capabilities */ - case gestalt_SoundMusic: + /* none! */ + /* Selector not supported */ default: return 0;