X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b0d0494ff5a441a73a1d5ec80148777c19df7201..c77eea28f955e9c5e59d952594ccc5e96de1597e:/src/stc/ScintillaWX.h diff --git a/src/stc/ScintillaWX.h b/src/stc/ScintillaWX.h index d0d383d507..29cec64796 100644 --- a/src/stc/ScintillaWX.h +++ b/src/stc/ScintillaWX.h @@ -1,6 +1,6 @@ //////////////////////////////////////////////////////////////////////////// // Name: ScintillaWX.h -// Purpose: A wxWindows implementation of Scintilla. A class derived +// 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 // the wx world and the Scintilla world. It needs a peer @@ -27,6 +27,7 @@ #include "Platform.h" #include "Scintilla.h" +#include "CharClassify.h" #include "XPM.h" #ifdef SCI_LEXER #include "SciLexer.h" @@ -48,11 +49,6 @@ #include "Editor.h" #include "ScintillaBase.h" -#include -#include -#include -#include - //---------------------------------------------------------------------- #ifdef WXMAKINGDLL_STC @@ -99,6 +95,7 @@ public: virtual void Initialise(); virtual void Finalise(); virtual void StartDrag(); + virtual bool SetIdle(bool on); virtual void SetTicking(bool on); virtual void SetMouseCapture(bool on); virtual bool HaveMouseCapture(); @@ -126,6 +123,8 @@ public: virtual void CancelModes(); + virtual void UpdateSystemCaret(); + // Event delegates void DoPaint(wxDC* dc, wxRect rect); void DoHScroll(int type, int pos); @@ -140,8 +139,10 @@ public: void DoMiddleButtonUp(Point pt); void DoMouseWheel(int rotation, int delta, int linesPerAction, int ctrlDown, bool isPageScroll); void DoAddChar(int key); - int DoKeyDown(int key, bool shift, bool ctrl, bool alt, bool meta, bool* consumed); + int DoKeyDown(const wxKeyEvent& event, bool* consumed); void DoTick() { Tick(); } + void DoOnIdle(wxIdleEvent& evt); + void DoStartDrag(); #if wxUSE_DRAG_AND_DROP bool DoDropText(long x, long y, const wxString& data); @@ -162,6 +163,8 @@ public: void DoScrollToLine(int line); void DoScrollToColumn(int column); void ClipChildren(wxDC& dc, PRectangle rect); + void SetUseAntiAliasing(bool useAA); + bool GetUseAntiAliasing(); private: bool capturedMouse; @@ -171,10 +174,21 @@ private: #if wxUSE_DRAG_AND_DROP wxSTCDropTarget* dropTarget; wxDragResult dragResult; + wxTimer* startDragTimer; #endif - int wheelRotation; + int wheelRotation; + // For use in creating a system caret + bool HasCaretSizeChanged(); + bool CreateSystemCaret(); + bool DestroySystemCaret(); +#ifdef __WXMSW__ + HBITMAP sysCaretBitmap; + int sysCaretWidth; + int sysCaretHeight; +#endif + friend class wxSTCCallTip; };