summaryrefslogtreecommitdiff
path: root/src/rufl_invalidate_cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rufl_invalidate_cache.c')
-rw-r--r--src/rufl_invalidate_cache.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/rufl_invalidate_cache.c b/src/rufl_invalidate_cache.c
new file mode 100644
index 0000000..65a3897
--- /dev/null
+++ b/src/rufl_invalidate_cache.c
@@ -0,0 +1,28 @@
+/*
+ * This file is part of RUfl
+ * Licensed under the MIT License,
+ * http://www.opensource.org/licenses/mit-license
+ * Copyright 2005 James Bursa <james@semichrome.net>
+ */
+
+#include "oslib/font.h"
+#include "rufl_internal.h"
+
+
+/**
+ * Clear the internal font handle cache.
+ *
+ * Call this function on mode changes or output redirection changes.
+ */
+
+void rufl_invalidate_cache(void)
+{
+ unsigned int i;
+
+ for (i = 0; i != rufl_CACHE_SIZE; i++) {
+ if (rufl_cache[i].font != rufl_CACHE_NONE) {
+ xfont_lose_font(rufl_cache[i].f);
+ rufl_cache[i].font = rufl_CACHE_NONE;
+ }
+ }
+}