htmldocument.inc 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. // included by gtkhtml.pas
  2. {$IFDEF read_forward_definitions}
  3. {$ENDIF read_forward_definitions}
  4. //------------------------------------------------------------------------------
  5. {$IFDEF read_interface_types}
  6. THtmlDocumentState = (HTML_DOCUMENT_STATE_DONE,HTML_DOCUMENT_STATE_PARSING);
  7. PHtmlDocument = ^THtmlDocument;
  8. THtmlDocument = record
  9. parent_instance : TGObject;
  10. //dom_document : PDomDocument;
  11. stylesheets : PGSList;
  12. //parser : PHtmlParser;
  13. current_stream : PHtmlStream;
  14. //image_factory : PHtmlImageFactory;
  15. state : THtmlDocumentState;
  16. //hover_node : PDomNode;
  17. //active_node : PDomNode;
  18. //focus_element : PDomElement;
  19. end;//THtmlDocument
  20. PHtmlDocumentClass = ^THtmlDocumentClass;
  21. THtmlDocumentClass = record
  22. parent_class : TGObjectClass;
  23. request_url : procedure (document:PHtmlDocument; url:Pgchar; stream:PHtmlStream);cdecl;
  24. link_clicked : procedure (document:PHtmlDocument; url:Pgchar);cdecl;
  25. set_base : procedure (document:PHtmlDocument; url:Pgchar);cdecl;
  26. title_changed : procedure (document:PHtmlDocument; new_title:Pgchar);cdecl;
  27. submit : procedure (document:PHtmlDocument; method:Pgchar; url:Pgchar; encoding:Pgchar);cdecl;
  28. //node_inserted : procedure (document:PHtmlDocument; node:PDomNode);cdecl;
  29. //node_removed : procedure (document:PHtmlDocument; node:PDomNode);cdecl;
  30. //text_updated : procedure (document:PHtmlDocument; node:PDomNode);cdecl;
  31. //style_updated : procedure (document:PHtmlDocument; node:PDomNode; style_change:THtmlStyleChange);cdecl;
  32. //relayout_node : procedure (document:PHtmlDocument; node:PDomNode);cdecl;
  33. //repaint_node : procedure (document:PHtmlDocument; node:PDomNode);cdecl;
  34. //dom_mouse_down : function (document:PHtmlDocument; event:PDomEvent):gboolean;cdecl;
  35. //dom_mouse_up : function (document:PHtmlDocument; event:PDomEvent):gboolean;cdecl;
  36. //dom_mouse_click : function (document:PHtmlDocument; event:PDomEvent):gboolean;cdecl;
  37. //dom_mouse_over : function (document:PHtmlDocument; event:PDomEvent):gboolean;cdecl;
  38. //dom_mouse_out : function (document:PHtmlDocument; event:PDomEvent):gboolean;cdecl;
  39. end;//THtmlDocumentClass
  40. {$ENDIF read_interface_types}
  41. //------------------------------------------------------------------------------
  42. {$IFDEF read_interface_rest}
  43. function HTML_TYPE_DOCUMENT : GType;
  44. function HTML_DOCUMENT(obj : pointer) : PHtmlDocument;
  45. function HTML_DOCUMENT_CLASS(klass : pointer) : PHtmlDocumentClass;
  46. function HTML_IS_DOCUMENT(obj : pointer) : boolean;
  47. function html_document_get_type:GType;cdecl; external gtkhtmllib;
  48. function html_document_new:PHtmlDocument;cdecl; external gtkhtmllib;
  49. function html_document_open_stream(document:PHtmlDocument; mime_type:Pgchar):gboolean;cdecl; external gtkhtmllib;
  50. procedure html_document_write_stream(document:PHtmlDocument; buffer:Pgchar; len:gint);cdecl; external gtkhtmllib;
  51. procedure html_document_close_stream(document:PHtmlDocument);cdecl; external gtkhtmllib;
  52. procedure html_document_clear(document:PHtmlDocument);cdecl; external gtkhtmllib;
  53. //procedure html_document_update_hover_node(document:PHtmlDocument; node:PDomNode);cdecl; external gtkhtmllib;
  54. //procedure html_document_update_active_node(document:PHtmlDocument; node:PDomNode);cdecl; external gtkhtmllib;
  55. //procedure html_document_update_focus_element(document:PHtmlDocument; element:PDomElement);cdecl; external gtkhtmllib;
  56. //function html_document_find_anchor(doc:PHtmlDocument; anchor:Pgchar):PDomNode;cdecl; external gtkhtmllib;
  57. {$ENDIF read_interface_rest}
  58. //------------------------------------------------------------------------------
  59. {$IFDEF read_implementation}
  60. function HTML_TYPE_DOCUMENT : GType;
  61. begin
  62. HTML_TYPE_DOCUMENT:=html_document_get_type;
  63. end;//HTML_TYPE_DOCUMENT
  64. function HTML_DOCUMENT(obj : pointer) : PHtmlDocument;
  65. begin
  66. HTML_DOCUMENT:=PHtmlDocument(GTK_CHECK_CAST(obj,HTML_TYPE_DOCUMENT));
  67. end;//HTML_DOCUMENT
  68. function HTML_DOCUMENT_CLASS(klass : pointer) : PHtmlDocumentClass;
  69. begin
  70. HTML_DOCUMENT_CLASS:=GTK_CHECK_CLASS_CAST(klass,HTML_TYPE_DOCUMENT);
  71. end;//HTML_DOCUMENT_CLASS
  72. function HTML_IS_DOCUMENT(obj : pointer) : boolean;
  73. begin
  74. HTML_IS_DOCUMENT:=GTK_CHECK_TYPE(obj,HTML_TYPE_DOCUMENT);
  75. end;//HTML_IS_DOCUMENT
  76. {$ENDIF read_implementation}
  77. // included by gtkhtml.pas