diff options
-rw-r--r-- | dive.h | 6 | ||||
-rw-r--r-- | linux.c | 5 | ||||
-rw-r--r-- | macos.c | 5 | ||||
-rw-r--r-- | windows.c | 15 |
4 files changed, 31 insertions, 0 deletions
@@ -437,10 +437,16 @@ const char *monthname(int mon); #define FIVE_STARS UTF8_BLACKSTAR UTF8_BLACKSTAR UTF8_BLACKSTAR UTF8_BLACKSTAR UTF8_BLACKSTAR extern const char *star_strings[]; +/* enum holding list of OS features */ +typedef enum { + UTF8_FONT_WITH_STARS +} os_feature_t; + extern const char *default_filename; extern const char *existing_filename; extern const char *subsurface_default_filename(void); extern const char *subsurface_gettext_domainpath(char *); +extern gboolean subsurface_os_feature_available(os_feature_t); extern void subsurface_command_line_init(gint *, gchar ***); extern void subsurface_command_line_exit(gint *, gchar ***); #define AIR_PERMILLE 209 @@ -112,3 +112,8 @@ void subsurface_command_line_exit(gint *argc, gchar ***argv) { /* this is a no-op */ } + +gboolean subsurface_os_feature_available(os_feature_t f) +{ + return TRUE; +} @@ -172,3 +172,8 @@ void subsurface_command_line_exit(gint *argc, gchar ***argv) { /* this is a no-op */ } + +gboolean subsurface_os_feature_available(os_feature_t f) +{ + return TRUE; +} @@ -223,3 +223,18 @@ void subsurface_command_line_exit(gint *argc, gchar ***argv) g_free((*argv)[i]); g_free(*argv); } + +/* check if we are running a newer OS version */ +gboolean subsurface_os_feature_available(os_feature_t f) +{ + switch (f) { + case UTF8_FONT_WITH_STARS: + if ((GetVersion() & 0xff) < 6) + return FALSE; /* version less than Vista */ + else + return TRUE; + break; + default: + return TRUE; + } +} |