aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/KeyWords.h8
-rw-r--r--include/Platform.h41
-rw-r--r--include/PropSet.h7
-rw-r--r--include/SString.h9
-rw-r--r--include/Scintilla.h8
-rw-r--r--include/WindowAccessor.h8
6 files changed, 79 insertions, 2 deletions
diff --git a/include/KeyWords.h b/include/KeyWords.h
index 059ac0da0..6abae5945 100644
--- a/include/KeyWords.h
+++ b/include/KeyWords.h
@@ -5,6 +5,10 @@
// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
+#ifdef SCI_NAMESPACE
+namespace Scintilla {
+#endif
+
typedef void (*LexerFunction)(unsigned int startPos, int lengthDoc, int initStyle,
WordList *keywordlists[], Accessor &styler);
@@ -51,6 +55,10 @@ public:
static const LexerModule *Find(const char *languageName);
};
+#ifdef SCI_NAMESPACE
+}
+#endif
+
/**
* Check if a character is a space.
* This is ASCII specific but is safe with chars >= 0x80.
diff --git a/include/Platform.h b/include/Platform.h
index 60d7896ac..39e2b6eaf 100644
--- a/include/Platform.h
+++ b/include/Platform.h
@@ -16,6 +16,7 @@
#define PLAT_GTK 0
#define PLAT_GTK_WIN32 0
+#define PLAT_MACOSX 0
#define PLAT_WIN 0
#define PLAT_WX 0
#define PLAT_FOX 0
@@ -37,12 +38,19 @@
#define PLAT_GTK_WIN32 1
#endif
+#elif defined(MACOSX)
+#undef PLAT_MACOSX
+#define PLAT_MACOSX 1
+
#else
#undef PLAT_WIN
#define PLAT_WIN 1
#endif
+#ifdef SCI_NAMESPACE
+namespace Scintilla {
+#endif
// Underlying the implementation of the platform classes are platform specific types.
// Sometimes these need to be passed around by client code so they are defined here
@@ -360,9 +368,23 @@ typedef void (*CallBackAction)(void*);
class Window {
protected:
WindowID id;
+#ifdef PLAT_MACOSX
+ void *windowRef;
+ void *control;
+#endif
public:
- Window() : id(0), cursorLast(cursorInvalid) {}
- Window(const Window &source) : id(source.id), cursorLast(cursorInvalid) {}
+ Window() : id(0), cursorLast(cursorInvalid) {
+#ifdef PLAT_MACOSX
+ windowRef = 0;
+ control = 0;
+#endif
+ }
+ Window(const Window &source) : id(source.id), cursorLast(cursorInvalid) {
+#ifdef PLAT_MACOSX
+ windowRef = 0;
+ control = 0;
+#endif
+ }
virtual ~Window();
Window &operator=(WindowID id_) {
id = id_;
@@ -383,6 +405,10 @@ public:
enum Cursor { cursorInvalid, cursorText, cursorArrow, cursorUp, cursorWait, cursorHoriz, cursorVert, cursorReverseArrow, cursorHand };
void SetCursor(Cursor curs);
void SetTitle(const char *s);
+#ifdef PLAT_MACOSX
+ void SetWindow(void *ref) { windowRef = ref; };
+ void SetControl(void *_control) { control = _control; };
+#endif
private:
Cursor cursorLast;
};
@@ -474,6 +500,9 @@ public:
static int DefaultFontSize();
static unsigned int DoubleClickTime();
static bool MouseButtonBounce();
+#ifdef __APPLE__
+ static bool WaitMouseMoved(Point pt);
+#endif
static void DebugDisplay(const char *s);
static bool IsKeyDown(int key);
static long SendScintilla(
@@ -506,8 +535,16 @@ public:
#ifdef NDEBUG
#define PLATFORM_ASSERT(c) ((void)0)
#else
+#ifdef SCI_NAMESPACE
+#define PLATFORM_ASSERT(c) ((c) ? (void)(0) : Scintilla::Platform::Assert(#c, __FILE__, __LINE__))
+#else
#define PLATFORM_ASSERT(c) ((c) ? (void)(0) : Platform::Assert(#c, __FILE__, __LINE__))
#endif
+#endif
+
+#ifdef SCI_NAMESPACE
+}
+#endif
// Shut up annoying Visual C++ warnings:
#ifdef _MSC_VER
diff --git a/include/PropSet.h b/include/PropSet.h
index e38de7dc4..e9d028c44 100644
--- a/include/PropSet.h
+++ b/include/PropSet.h
@@ -13,6 +13,10 @@ bool EqualCaseInsensitive(const char *a, const char *b);
bool isprefix(const char *target, const char *prefix);
+#ifdef SCI_NAMESPACE
+namespace Scintilla {
+#endif
+
struct Property {
unsigned int hash;
char *key;
@@ -104,6 +108,9 @@ inline bool IsAlphabetic(unsigned int ch) {
return ((ch >= 'A') && (ch <= 'Z')) || ((ch >= 'a') && (ch <= 'z'));
}
+#ifdef SCI_NAMESPACE
+}
+#endif
#ifdef _MSC_VER
// Visual C++ doesn't like the private copy idiom for disabling
diff --git a/include/SString.h b/include/SString.h
index 38a206ccf..b770afebe 100644
--- a/include/SString.h
+++ b/include/SString.h
@@ -8,11 +8,16 @@
#ifndef SSTRING_H
#define SSTRING_H
+
// These functions are implemented because each platform calls them something different.
int CompareCaseInsensitive(const char *a, const char *b);
int CompareNCaseInsensitive(const char *a, const char *b, size_t len);
bool EqualCaseInsensitive(const char *a, const char *b);
+#ifdef SCI_NAMESPACE
+namespace Scintilla {
+#endif
+
// Define another string class.
// While it would be 'better' to use std::string, that doubles the executable size.
// An SString may contain embedded nul characters.
@@ -277,4 +282,8 @@ inline char *StringDup(
return SContainer::StringAllocate(s, len);
}
+#ifdef SCI_NAMESPACE
+}
+#endif
+
#endif
diff --git a/include/Scintilla.h b/include/Scintilla.h
index ab5f05d76..9e67b44de 100644
--- a/include/Scintilla.h
+++ b/include/Scintilla.h
@@ -744,6 +744,10 @@ typedef sptr_t (*SciFnDirect)(sptr_t ptr, unsigned int iMessage, uptr_t wParam,
// CHARRANGE, TEXTRANGE, FINDTEXTEX, FORMATRANGE, and NMHDR structs.
// So older code that treats Scintilla as a RichEdit will work.
+#ifdef SCI_NAMESPACE
+namespace Scintilla {
+#endif
+
struct CharacterRange {
long cpMin;
long cpMax;
@@ -805,6 +809,10 @@ struct SCNotification {
int y; // SCN_DWELLSTART, SCN_DWELLEND
};
+#ifdef SCI_NAMESPACE
+}
+#endif
+
// Deprecation section listing all API features that are deprecated and will
// will be removed completely in a future version.
// To enable these features define INCLUDE_DEPRECATED_FEATURES
diff --git a/include/WindowAccessor.h b/include/WindowAccessor.h
index a55c2c459..e107a0659 100644
--- a/include/WindowAccessor.h
+++ b/include/WindowAccessor.h
@@ -6,6 +6,10 @@
// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
// The License.txt file describes the conditions under which this software may be distributed.
+#ifdef SCI_NAMESPACE
+namespace Scintilla {
+#endif
+
/**
*/
class WindowAccessor : public Accessor {
@@ -56,3 +60,7 @@ public:
int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0);
void IndicatorFill(int start, int end, int indicator, int value);
};
+
+#ifdef SCI_NAMESPACE
+}
+#endif