MSW Caret is now destroyed and recreated when resized.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
9e0c3ef2c3
commit
cfb76a19a4
@ -96,7 +96,11 @@ public:
|
||||
wxWindow *GetWindow() const { return (wxWindow *)m_window; }
|
||||
|
||||
// change the size of the caret
|
||||
void SetSize(int width, int height) { m_width = width; m_height = height; }
|
||||
void SetSize(int width, int height) {
|
||||
m_width = width;
|
||||
m_height = height;
|
||||
DoSize();
|
||||
}
|
||||
void SetSize(const wxSize& size) { SetSize(size.x, size.y); }
|
||||
|
||||
|
||||
@ -155,6 +159,7 @@ protected:
|
||||
virtual void DoShow() = 0;
|
||||
virtual void DoHide() = 0;
|
||||
virtual void DoMove() = 0;
|
||||
virtual void DoSize() { }
|
||||
|
||||
// the common initialization
|
||||
void Init()
|
||||
|
@ -52,6 +52,7 @@ protected:
|
||||
virtual void DoMove();
|
||||
virtual void DoShow();
|
||||
virtual void DoHide();
|
||||
virtual void DoSize();
|
||||
|
||||
// helper function which creates the system caret
|
||||
bool MSWCreateCaret();
|
||||
|
@ -160,3 +160,19 @@ void wxCaret::DoMove()
|
||||
}
|
||||
//else: we don't have caret right now, nothing to do (this does happen)
|
||||
}
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// resizing the caret
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
void wxCaret::DoSize()
|
||||
{
|
||||
if ( m_hasCaret )
|
||||
{
|
||||
m_hasCaret = FALSE;
|
||||
CALL_CARET_API(DestroyCaret, ());
|
||||
MSWCreateCaret();
|
||||
DoMove();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user