On May 13, 11:37 am, martin <[email protected]> wrote:
> hi,
>
> I would like to implement zoom in and out feature for my embedded
> browser. I used the new embedding API so I didn't get in touch with
> XPCOM API, now I would like to learn something more about it but
> there's no any documentation which could be helpful for a beginner,
> I've found mozilla cross reference, but it's a bit confusing for
> someone who's about to start using XPCOM.
> Could you please point me to the right direction, so I could implement
> the zooming ability for my browser? what interfaces should I query or
> point my attention to?
> Thank you in advance.
Since nobody replied a long time I tried to achieve it alone and this
is what I've done:
void MozView::SetFullZoom(float aZoomLevel)
{
nsCOMPtr<nsIInterfaceRequestor> requestor;
this->GetInterfaceRequestor(getter_AddRefs(requestor));
nsCOMPtr<nsIDocShell> docShell = do_GetInterface(requestor);
if (docShell){
nsCOMPtr<nsIContentViewer> cv;
docShell->GetContentViewer(getter_AddRefs(cv));
nsCOMPtr<nsIMarkupDocumentViewer> mdv = do_QueryInterface(cv);
if (mdv) {
mdv->SetFullZoom(aZoomLevel);
}
}
}
I've added new method to the MozView wrapper class. This one looks to
work ok. I hope it will help someone in the future.
_______________________________________________
dev-embedding mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-embedding