Dear Alok,
as you see the multiline text box are handled with modal edit-text to avoid some limitations and lack of speed of MS Windows APIs.
For these reasons I’m sorry to inform you that we won’t support inlined multiline edit text.
To add the support of free-text annotation, as the rect annotation for example, you need to:
(the method body can be added easily as the rect annotation for example)
Add a new status in PDFV_STATUS
...
STA_LINE = 8,
STA_FREE_TEXT = 9
}
Add a method to start the free-text status (and call it based on your user event)
public bool vFreeTextStart()
{
if (m_doc == null || !m_doc.CanSave || m_pages == null) return false;
if (m_status == PDFV_STATUS.STA_NONE)
{
m_status = PDFV_STATUS.STA_FREE_TEXT;
...
}
return false;
}
Add a method to cancel the free-text status (and call it based on your user event)
public void vFreeTextCancel()
{
if (m_status == PDFV_STATUS.STA_FREE_TEXT)
{
...
}
}
Add a method to end the free-text status and add the annotation (and call it based on your user event)
public void vFreeTextEnd()
{
if (m_status == PDFV_STATUS.STA_FREE_TEXT)
{
...
}
}
Add a method to handle touch down event
private bool OnFreeTextTouchBegin(Point point)
{
...
}
Add in vOnTouchDown method a call to a method to handle the free-text annotation
...
if (OnFreeTextTouchBegin(pt)) return;
...
Add a method to handle touch move event
private bool OnFreeTextTouchMove(Point point)
{
...
}
Add in vOnTouchMove method a call to a method to handle the free-text annotation
...
if (OnFreeTextTouchMove(pt)) return;
...
Add a method to handle touch end event
private bool OnFreeTextTouchEnd(Point point)
{
...
}
Add in vOnTouchUp method a call to a method to handle the free-text annotation
...
if (OnFreeTextTouchEnd(pt)) return;
...
Add a method to draw the free-text annotation
private void drawFreeText()
{
...
}
Add in vDraw method a call to a method to draw the free-text annotation
...
drawAnnot();
drawInk();
drawEllipse();
drawRects();
drawLines();
drawFreeText();
...