diff --git a/include/boo/IWindow.hpp b/include/boo/IWindow.hpp index 76bbb13..5f58641 100644 --- a/include/boo/IWindow.hpp +++ b/include/boo/IWindow.hpp @@ -194,7 +194,8 @@ enum class EMouseCursor None = 0, Pointer = 1, HorizontalArrow = 2, - VerticalArrow = 3 + VerticalArrow = 3, + IBeam = 4 }; class IWindow diff --git a/lib/x11/ApplicationXlib.hpp b/lib/x11/ApplicationXlib.hpp index 32a5a80..87fe056 100644 --- a/lib/x11/ApplicationXlib.hpp +++ b/lib/x11/ApplicationXlib.hpp @@ -205,6 +205,7 @@ public: X_CURSORS.m_pointer = XCreateFontCursor(m_xDisp, XC_left_ptr); X_CURSORS.m_hArrow = XCreateFontCursor(m_xDisp, XC_sb_h_double_arrow); X_CURSORS.m_vArrow = XCreateFontCursor(m_xDisp, XC_sb_v_double_arrow); + X_CURSORS.m_ibeam = XCreateFontCursor(m_xDisp, XC_xterm); X_CURSORS.m_wait = XCreateFontCursor(m_xDisp, XC_watch); /* The xkb extension requests that the X server does not diff --git a/lib/x11/WindowXlib.cpp b/lib/x11/WindowXlib.cpp index 7ebb75d..8fe6d23 100644 --- a/lib/x11/WindowXlib.cpp +++ b/lib/x11/WindowXlib.cpp @@ -501,6 +501,8 @@ class WindowXlib : public IWindow return X_CURSORS.m_hArrow; case EMouseCursor::VerticalArrow: return X_CURSORS.m_vArrow; + case EMouseCursor::IBeam: + return X_CURSORS.m_ibeam; default: break; } return X_CURSORS.m_pointer; diff --git a/lib/x11/XlibCommon.hpp b/lib/x11/XlibCommon.hpp index 99270af..c0c79a1 100644 --- a/lib/x11/XlibCommon.hpp +++ b/lib/x11/XlibCommon.hpp @@ -11,6 +11,7 @@ struct XlibCursors Cursor m_pointer; Cursor m_hArrow; Cursor m_vArrow; + Cursor m_ibeam; Cursor m_wait; }; extern XlibCursors X_CURSORS;