ImageEn, unit iexPdfiumCore |
|
TPdfAnnotationList.FindAnnotationAt
Declaration
function FindAnnotationAt(Pt: TDPoint): Integer; overload;
function FindAnnotationAt(Pt: TPoint): Integer; overload;
Description
Returns the index of any annotation found on the page at the specified position (in terms of PDF points).
Result will be -1 if no annotations are found.
PDF Page Points
Objects on a PDF page are specified in points that originate in the bottom-left, i.e. X,Y = (0,0). The top-left of the page is specified by (
PageWidth,
PageHeight).
To convert PDF points to screen values, use
PageToScr.
// Select the clicked Annotation
procedure TfrmMain.ImageEnView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
idx: Integer;
pt: TDPoint;
begin
pt := ImageEnView1.PdfViewer.ScrToPage( X, Y, True );
idx := ImageEnView1.PdfViewer.Annotations.FindAnnotationAt( pt );
if idx > -1 then
begin
ImageEnView1.PdfViewer.Annotations.HighlightedIndex := idx;
ImageEnView1.Invalidate();
end;
end;