summaryrefslogtreecommitdiff
path: root/rhtvision/include/tv/tvutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'rhtvision/include/tv/tvutil.h')
-rw-r--r--rhtvision/include/tv/tvutil.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/rhtvision/include/tv/tvutil.h b/rhtvision/include/tv/tvutil.h
new file mode 100644
index 0000000..7436d43
--- /dev/null
+++ b/rhtvision/include/tv/tvutil.h
@@ -0,0 +1,98 @@
+/*
+ * Turbo Vision - Version 2.0
+ *
+ * Copyright (c) 1994 by Borland International
+ * All Rights Reserved.
+ *
+
+Modified by Robert H”hne to be used for RHIDE.
+Modified by Salvador E. Tropea to avoid macros collisions and make easier to use.
+
+ */
+
+#if !defined( __UTIL_H )
+#define __UTIL_H
+
+// SET: Used by names, they only include this file.
+#ifdef Uses_n
+ #include <compatlayer.h>
+#endif
+
+#undef __CM
+#undef __HC
+#undef __BASE
+#define __BASE 128
+#define __CM(x,y) const unsigned short cm##x = __BASE+y;
+#define __HC(x,y) const unsigned short hc##x = __BASE+y;
+
+
+#ifndef CLY_DONT_DEFINE_MIN_MAX
+
+#ifdef min
+#undef min
+#endif
+#ifdef max
+#undef max
+#endif
+
+inline int min( const int &a, const int &b )
+{
+ return (a>b) ? b : a;
+}
+
+inline int max( const int &a, const int &b )
+{
+ return (a<b) ? b : a;
+}
+
+// The following min/max works for any kind of data type
+// Published by Vincent Van Den Berghe in the Windows/DOS developer's journal April 93
+// But they don't replace the above functions for cases like:
+// max(int,unsigned int)
+//
+template <class T> inline T min( const T &a, const T &b )
+{
+ return (a>b) ? b : a;
+}
+
+template <class T> inline T max( const T &a, const T &b )
+{
+ return (a<b) ? b : a;
+}
+
+#endif
+
+char CLY_EXPORT hotKey( const char *s );
+unsigned short CLY_EXPORT ctrlToArrow( unsigned short );
+
+unsigned short CLY_EXPORT historyCount( unsigned char id );
+const char CLY_EXPORT *historyStr( unsigned char id, int index );
+void CLY_EXPORT historyAdd( unsigned char id, const char * );
+
+int cstrlen( const char * );
+
+class TView;
+void CLY_EXPORT *message( TView *receiver, unsigned short what, unsigned short command,
+ void *infoPtr );
+Boolean CLY_EXPORT lowMemory();
+
+char CLY_EXPORT *newStr( const char * );
+
+/* SET: Added a conditional for it because n is too common. I remmember I had
+ problems with it and Jerzy Witkowski <jwi@pl.ibm.com> complained about
+ conflicts between a class member in your code and this macro */
+#ifdef Uses_n
+/* The following macro is a little hack to decrease the compile time
+ for the TV lib when compiling all the n*.cc files */
+
+#define n(CLASS) \
+class CLY_EXPORT CLASS \
+{ \
+public: \
+ static const char * const name; \
+}; \
+ \
+const char * const CLASS::name = #CLASS;
+#endif
+
+#endif // __UTIL_H