summaryrefslogtreecommitdiff
path: root/vcl/inc
diff options
context:
space:
mode:
authorYohei Yukawa <yukawa@google.com>2013-05-06 14:20:11 +0900
committerTor Lillqvist <tml@iki.fi>2013-05-13 05:14:37 +0000
commit57b5ed51d46fd5673dfe35125ceffa71d39f133d (patch)
treec6dcc9991647a7869451a15ba436cb7443f1dc06 /vcl/inc
parentc0417e82174297ace604c68fc577c831929f3573 (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.hxx13
-rw-r--r--vcl/inc/window.h3
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;