X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d1558f3d532c2e1c15e385d17c6200069f72714b..894d74dcc233b7f9a936767558f3e061593dd062:/src/stc/ScintillaWX.h diff --git a/src/stc/ScintillaWX.h b/src/stc/ScintillaWX.h index 06b6fec310..0746fd24b9 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 @@ -127,6 +127,8 @@ public: virtual void CancelModes(); + virtual void UpdateSystemCaret(); + // Event delegates void DoPaint(wxDC* dc, wxRect rect); void DoHScroll(int type, int pos); @@ -141,10 +143,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); - + #if wxUSE_DRAG_AND_DROP bool DoDropText(long x, long y, const wxString& data); wxDragResult DoDragEnter(wxCoord x, wxCoord y, wxDragResult def); @@ -158,7 +160,7 @@ public: // helpers - void FullPaint(wxDC *dc); + void FullPaint(); bool CanPaste(); bool GetHideSelection() { return hideSelection; } void DoScrollToLine(int line); @@ -178,7 +180,16 @@ private: #endif 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; };