private bool DocumentReady(IHTMLDocument2 document)
        {
            // check for a browser that is still busy
            if (_browserControl.Browser.Busy)
            {
                return(false);
            }

            // check for embeds that are not ready
            foreach (object embedObject in document.embeds)
            {
                DispHTMLEmbed dispEmbed = embedObject as DispHTMLEmbed;
                if (dispEmbed.readyState.ToString() != "complete")
                {
                    return(false);
                }
            }

            // fire documented completed hook to clients and return result
            HtmlDocumentAvailableEventArgsCore ea = new HtmlDocumentAvailableEventArgsCore(document);

            _htmlScreenCaptureCore.FireHtmlDocumentAvailable(ea);

            return(ea.DocumentReady);
        }
 internal void FireHtmlDocumentAvailable(HtmlDocumentAvailableEventArgsCore e)
 {
     if (HtmlDocumentAvailable != null)
     {
         HtmlDocumentAvailable(this, e);
     }
 }
 private void _htmlScreenCapture_HtmlDocumentAvailable(object sender, HtmlDocumentAvailableEventArgsCore e)
 {
     if (HtmlDocumentAvailable != null)
     {
         HtmlDocumentAvailableEventArgs ea = new HtmlDocumentAvailableEventArgs(e.Document);
         HtmlDocumentAvailable(this, ea);
         e.DocumentReady = ea.DocumentReady;
     }
 }
        private bool DocumentReady(IHTMLDocument2 document)
        {
            // check for a browser that is still busy
            if (_browserControl.Browser.Busy)
                return false;

            // check for embeds that are not ready
            foreach (object embedObject in document.embeds)
            {
                DispHTMLEmbed dispEmbed = embedObject as DispHTMLEmbed;
                if (dispEmbed.readyState.ToString() != "complete")
                    return false;
            }

            // fire documented completed hook to clients and return result
            HtmlDocumentAvailableEventArgsCore ea = new HtmlDocumentAvailableEventArgsCore(document);
            _htmlScreenCaptureCore.FireHtmlDocumentAvailable(ea);

            return ea.DocumentReady;
        }
 internal void FireHtmlDocumentAvailable(HtmlDocumentAvailableEventArgsCore e)
 {
     if (HtmlDocumentAvailable != null)
         HtmlDocumentAvailable(this, e);
 }
 public void HtmlDocumentAvailable(object sender, HtmlDocumentAvailableEventArgsCore e)
 {
     IHTMLDocument3 doc3 = e.Document as IHTMLDocument3;
     IHTMLElement2 element = (IHTMLElement2)doc3.getElementById(_elementId);
     IHTMLRect hRect = element.getBoundingClientRect();
     rect = new Rectangle(hRect.left, hRect.top, hRect.right - hRect.left, hRect.bottom - hRect.top);
     e.DocumentReady = true;
 }