X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fgestalt.c;h=a9412c38b769c3c69ad6136d914804f39565105e;hb=0366119dcf975f6845d284bfe1cca5e00a2385a0;hp=398aede093e5839e12fbeb1d6001dde22bddb706;hpb=78652af29a2f39e626febd5f4213da57d3a13901;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/gestalt.c b/libchimara/gestalt.c index 398aede..a9412c3 100644 --- a/libchimara/gestalt.c +++ b/libchimara/gestalt.c @@ -90,10 +90,10 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen) /* All characters are printed as one character, in any case */ if(arr && arrlen > 0) *arr = 1; - /* Cannot print control chars except \n, or chars > 255 */ - if( (val < 32 && val != 10) || (val >= 127 && val <= 159) || (val > 255) ) + /* Cannot print control chars except \n */ + if( (val < 32 && val != 10) || (val >= 127 && val <= 159) ) return gestalt_CharOutput_CannotPrint; - /* Can print all other Latin-1 characters */ + /* Can print all other characters */ return gestalt_CharOutput_ExactPrint; /* Unicode capabilities present */ @@ -103,16 +103,25 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen) /* 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: + return val == wintype_TextBuffer || val == wintype_TextGrid; + + /* Mouse support present in textgrids */ + case gestalt_MouseInput: + return val == wintype_TextGrid; /* Unsupported capabilities */ - case gestalt_MouseInput: case gestalt_Graphics: case gestalt_DrawImage: case gestalt_Sound: case gestalt_SoundVolume: case gestalt_SoundNotify: - case gestalt_Hyperlinks: - case gestalt_HyperlinkInput: case gestalt_SoundMusic: case gestalt_GraphicsTransparency: /* Selector not supported */