X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fgestalt.c;h=e3529094233d4f88cf055abc7af0023b76562421;hb=HEAD;hp=1729a878350c9c333eab0f88d6ea321583f61bbd;hpb=08f91ed533b4e0634d482ec1af638b5288ef9d6c;p=rodin%2Fchimara.git diff --git a/libchimara/gestalt.c b/libchimara/gestalt.c index 1729a87..e352909 100644 --- a/libchimara/gestalt.c +++ b/libchimara/gestalt.c @@ -103,18 +103,33 @@ glk_gestalt_ext(glui32 sel, glui32 val, glui32 *arr, glui32 arrlen) /* 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; + + /* Unsupported capabilities */ case gestalt_Sound: case gestalt_SoundVolume: case gestalt_SoundNotify: - case gestalt_Hyperlinks: - case gestalt_HyperlinkInput: case gestalt_SoundMusic: - case gestalt_GraphicsTransparency: /* Selector not supported */ default: return 0;