Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-11-22 05:29:25 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-11-22 05:32:57 +0300
commit35f2e4a35c32acafaa4c1a7f7d639536e87487ff (patch)
tree58ef164fba73e561ad979307363e64221e47b980 /source/blender/blenkernel/BKE_text_suggestions.h
parent340364557594206deec40356d719e51344253fe6 (diff)
Cleanup: BKE_suggestions -> BKE_text_suggestions
The term suggestions on it's own is too ambiguous, use BKE_text prefix.
Diffstat (limited to 'source/blender/blenkernel/BKE_text_suggestions.h')
-rw-r--r--source/blender/blenkernel/BKE_text_suggestions.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_text_suggestions.h b/source/blender/blenkernel/BKE_text_suggestions.h
new file mode 100644
index 00000000000..80c38719f96
--- /dev/null
+++ b/source/blender/blenkernel/BKE_text_suggestions.h
@@ -0,0 +1,87 @@
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2008, Blender Foundation
+ * All rights reserved.
+ */
+#ifndef __BKE_TEXT_SUGGESTIONS_H__
+#define __BKE_TEXT_SUGGESTIONS_H__
+
+/** \file
+ * \ingroup bke
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ****************************************************************************
+ * Suggestions should be added in sorted order although a linear sorting method is
+ * implemented. The list is then divided up based on the prefix provided by
+ * update_suggestions:
+ *
+ * Example:
+ * Prefix: ab
+ * aaa <-- first
+ * aab
+ * aba <-- firstmatch
+ * abb <-- lastmatch
+ * baa
+ * bab <-- last
+ **************************************************************************** */
+
+struct Text;
+
+typedef struct SuggItem {
+ struct SuggItem *prev, *next;
+ char type;
+ char name[0];
+} SuggItem;
+
+typedef struct SuggList {
+ SuggItem *first, *last;
+ SuggItem *firstmatch, *lastmatch;
+ SuggItem *selected;
+ int top;
+} SuggList;
+
+/* Free all text tool memory */
+void free_texttools(void);
+
+/* Used to identify which Text object the current tools should appear against */
+void texttool_text_set_active(Text *text);
+void texttool_text_clear(void);
+short texttool_text_is_active(Text *text);
+
+/* Suggestions */
+void texttool_suggest_add(const char *name, char type);
+void texttool_suggest_prefix(const char *prefix, const int prefix_len);
+void texttool_suggest_clear(void);
+SuggItem *texttool_suggest_first(void);
+SuggItem *texttool_suggest_last(void);
+void texttool_suggest_select(SuggItem *sel);
+SuggItem *texttool_suggest_selected(void);
+int *texttool_suggest_top(void);
+
+/* Documentation */
+void texttool_docs_show(const char *docs);
+char *texttool_docs_get(void);
+void texttool_docs_clear(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __BKE_TEXT_SUGGESTIONS_H__ */