X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d429e1874391e29f35e42f209e0a57f113790d58..0d17c5b66a4cea4b687243d7b0ee95ff1a5fe924:/src/stc/ScintillaWX.h diff --git a/src/stc/ScintillaWX.h b/src/stc/ScintillaWX.h index 0746fd24b9..7f537f456f 100644 --- a/src/stc/ScintillaWX.h +++ b/src/stc/ScintillaWX.h @@ -1,5 +1,5 @@ //////////////////////////////////////////////////////////////////////////// -// Name: ScintillaWX.h +// Name: src/stc/ScintillaWX.h // Purpose: A wxWidgets implementation of Scintilla. A class derived // from ScintillaBase that uses the "wx platform" defined in // PlatWX.cpp. This class is one end of a bridge between @@ -9,13 +9,13 @@ // Author: Robin Dunn // // Created: 13-Jan-2000 -// RCS-ID: $Id$ // Copyright: (c) 2000 by Total Control Software -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __ScintillaWX_h__ #define __ScintillaWX_h__ +#include "wx/defs.h" //---------------------------------------------------------------------- @@ -23,16 +23,24 @@ #include #include #include +#include +#include +// These are all Scintilla headers #include "Platform.h" - +#include "SplitVector.h" +#include "Partitioning.h" +#include "RunStyles.h" #include "Scintilla.h" -#include "XPM.h" +#include "ScintillaWidget.h" #ifdef SCI_LEXER #include "SciLexer.h" -#include "PropSet.h" +#include "PropSetSimple.h" +#include "ILexer.h" +#include "LexerModule.h" +#include "LexAccessor.h" #include "Accessor.h" -#include "KeyWords.h" +#include "WordList.h" #endif #include "ContractionState.h" #include "SVector.h" @@ -40,30 +48,32 @@ #include "CallTip.h" #include "KeyMap.h" #include "Indicator.h" +#include "XPM.h" #include "LineMarker.h" #include "Style.h" -#include "ViewStyle.h" #include "AutoComplete.h" +#include "ViewStyle.h" +#include "CharClassify.h" +#include "Decoration.h" #include "Document.h" +#include "Selection.h" +#include "PositionCache.h" #include "Editor.h" +#include "PropSetSimple.h" #include "ScintillaBase.h" -#include -#include -#include -#include +#ifdef __WXMSW__ +#include "wx/msw/wrapwin.h" // HBITMAP +#endif +#if wxUSE_DRAG_AND_DROP +#include "wx/timer.h" +#endif //---------------------------------------------------------------------- -#ifdef WXMAKINGDLL_STC - #define WXDLLIMPEXP_STC WXEXPORT -#elif defined(WXUSINGDLL) - #define WXDLLIMPEXP_STC WXIMPORT -#else // not making nor using DLL - #define WXDLLIMPEXP_STC -#endif -class WXDLLIMPEXP_STC wxStyledTextCtrl; // forward +class WXDLLIMPEXP_FWD_CORE wxDC; +class WXDLLIMPEXP_FWD_STC wxStyledTextCtrl; // forward class ScintillaWX; @@ -74,7 +84,7 @@ class ScintillaWX; class wxSTCDropTarget : public wxTextDropTarget { public: void SetScintilla(ScintillaWX* swx) { - this->swx = swx; + m_swx = swx; } bool OnDropText(wxCoord x, wxCoord y, const wxString& data); @@ -83,7 +93,7 @@ public: void OnLeave(); private: - ScintillaWX* swx; + ScintillaWX* m_swx; }; #endif @@ -115,12 +125,12 @@ public: virtual void AddToPopUp(const char *label, int cmd = 0, bool enabled = true); virtual void ClaimSelection(); - virtual long DefWndProc(unsigned int iMessage, - unsigned long wParam, - long lParam); - virtual long WndProc(unsigned int iMessage, - unsigned long wParam, - long lParam); + virtual sptr_t DefWndProc(unsigned int iMessage, + uptr_t wParam, + sptr_t lParam); + virtual sptr_t WndProc(unsigned int iMessage, + uptr_t wParam, + sptr_t lParam); virtual void NotifyChange(); virtual void NotifyParent(SCNotification scn); @@ -141,7 +151,9 @@ public: void DoLeftButtonUp(Point pt, unsigned int curTime, bool ctrl); void DoLeftButtonMove(Point pt); void DoMiddleButtonUp(Point pt); - void DoMouseWheel(int rotation, int delta, int linesPerAction, int ctrlDown, bool isPageScroll); + void DoMouseWheel(wxMouseWheelAxis axis, int rotation, int delta, + int linesPerAction, int columnsPerAction, + bool ctrlDown, bool isPageScroll); void DoAddChar(int key); int DoKeyDown(const wxKeyEvent& event, bool* consumed); void DoTick() { Tick(); } @@ -161,6 +173,7 @@ public: // helpers void FullPaint(); + void FullPaintDC(wxDC* dc); bool CanPaste(); bool GetHideSelection() { return hideSelection; } void DoScrollToLine(int line); @@ -178,7 +191,9 @@ private: wxSTCDropTarget* dropTarget; wxDragResult dragResult; #endif - int wheelRotation; + + int wheelVRotation; + int wheelHRotation; // For use in creating a system caret bool HasCaretSizeChanged(); @@ -189,7 +204,7 @@ private: int sysCaretWidth; int sysCaretHeight; #endif - + friend class wxSTCCallTip; };