diff options
author | Yohei Yukawa <yukawa@google.com> | 2013-05-06 14:20:11 +0900 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2013-05-13 05:14:37 +0000 |
commit | 57b5ed51d46fd5673dfe35125ceffa71d39f133d (patch) | |
tree | c6dcc9991647a7869451a15ba436cb7443f1dc06 /vcl/inc | |
parent | c0417e82174297ace604c68fc577c831929f3573 (diff) |
Support IMR_QUERYCHARPOSITION in Writer and Calc.
IMR_QUERYCHARPOSITION is one of optional but fundamental request
message sent from IMEs to application. This message is used for
retrieving the positional information for each character in a
composition text especially when the composition text is drawn
by the application.
This information is critical for IMEs to align suggestion window
with the composition text.
Change-Id: I53a344a78688060004cc8bcbbf1127f22a468e20
Reviewed-on: https://gerrit.libreoffice.org/3849
Reviewed-by: Tor Lillqvist <tml@iki.fi>
Tested-by: Tor Lillqvist <tml@iki.fi>
Diffstat (limited to 'vcl/inc')
-rw-r--r-- | vcl/inc/salwtype.hxx | 13 | ||||
-rw-r--r-- | vcl/inc/window.h | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/vcl/inc/salwtype.hxx b/vcl/inc/salwtype.hxx index 62b982f8f5b6..55bc006f90e5 100644 --- a/vcl/inc/salwtype.hxx +++ b/vcl/inc/salwtype.hxx @@ -82,6 +82,7 @@ class FontSelectPattern; #define SALEVENT_STARTRECONVERSION ((sal_uInt16)45) #define SALEVENT_EXTERNALZOOM ((sal_uInt16)46) #define SALEVENT_EXTERNALSCROLL ((sal_uInt16)47) +#define SALEVENT_QUERYCHARPOSITION ((sal_uInt16)48) // MOUSELEAVE must send, when the pointer leave the client area and // the mouse is not captured @@ -213,6 +214,18 @@ struct SalSurroundingTextSelectionChangeEvent sal_uLong mnEnd; // The end index of selected range }; +// QUERYCHARPOSITION +struct SalQueryCharPositionEvent +{ + bool mbValid; // The data is valid or not. + sal_uLong mnCharPos; // The index of character in a composition. + bool mbVertical; // The text is vertical or not. + long mnCursorBoundX; // The cursor bounds corresponding to the character specified by mnCharPos - X + long mnCursorBoundY; // The cursor bounds corresponding to the character specified by mnCharPos - Y + long mnCursorBoundWidth; // The cursor bounds corresponding to the character specified by mnCharPos - Width + long mnCursorBoundHeight; // The cursor bounds corresponding to the character specified by mnCharPos - Height +}; + // ------------------ // - SalFrame-Types - // ------------------ diff --git a/vcl/inc/window.h b/vcl/inc/window.h index 725f5ad2c630..230e1b07d068 100644 --- a/vcl/inc/window.h +++ b/vcl/inc/window.h @@ -116,6 +116,9 @@ struct ImplWinData sal_uInt16* mpExtOldAttrAry; Rectangle* mpCursorRect; long mnCursorExtWidth; + sal_Bool mbVertical; + Rectangle* mpCompositionCharRects; + long mnCompositionCharRects; Rectangle* mpFocusRect; Rectangle* mpTrackRect; sal_uInt16 mnTrackFlags; |