📄 mgjs_main.h
字号:
#define DEBUG_BY_XHTANG 1#define CODE_BY_XHTANG 1#ifndef _MGJS_H_#define _MGJS_H_#include <stdio.h>#include <string.h>#include <stdlib.h>#include "render_interface.h"#include "mgcolor.h"#include "mgpen.h"#include "mgbrush.h"#include "mgfont.h"#include "mgpainter.h"#include "mghtml_part.h"#include "mghtmlview.h"#include "mghtml_settings.h"#include "render_object.h"#include "render_replaced.h"#include "html_documentimpl.h"#include "html_elementimpl.h"#include "html_miscimpl.h"#include "html_inlineimpl.h"#include <minigui/window.h>#include <minigui/mywindows.h>#include <minigui/common.h>#include <libjs/jsapi.h>bool InitialJavaScript(MGHTMLView* view,JSRuntime** jrt,JSContext** jsc,JSObject** jso);bool EvaluateJavaScript(QString &xs,JSContext** jsc,JSObject** jso,HTMLElementImpl *nimpl);bool FreeJavaScript(MGHTMLView* view,JSRuntime* jrt,JSContext* jsc);bool TimerEvaluateJavaScript(JSContext** jsc,JSObject** jso,MGHTMLView* view,int id);bool EventEvaluateJavaScript(JSContext** jsc,JSObject** jso,MGHTMLView* view);MGHTMLView* mgJSGetView(JSContext *cx);HWND mgJSGethWnd(JSContext *cx);DOM::HTMLDocumentImpl* mgJSGetDoc(JSContext *cx);JSObject *mgJSGetLocationObj(JSContext *cx);JSObject *mgJSGetNavigatorObj(JSContext *cx);JSObject *mgJSGetHistoryObj(JSContext *cx);JSObject *mgJSGetDocumentObj(JSContext *cx);JSObject *mgJSGetElementObj(JSContext *cx);JSObject *mgJSGetEventObj(JSContext *cx); JSBool HTML_NewObjectByElementCommon(JSContext *cx, JSObject *obj,JSObject *protoObj, JSObject *parentObj,ElementImpl *eImpl ,jsval *rval);enum HTMLCollectionImpl_Type { // from HTMLDocument DOC_IMAGES = 100, // all IMG elements in the document DOC_APPLETS = 101, // all OBJECT and APPLET elements DOC_FORMS = 102 , // all FORMS DOC_LINKS = 103 , // all A _and_ AREA elements with a value for href DOC_ANCHORS = 104 , // all A elements with a value for name // from HTMLTable, HTMLTableSection, HTMLTableRow TABLE_ROWS = 105 , // all rows in this table or tablesection TABLE_TBODIES = 106 , // all TBODY elements in this table TSECTION_ROWS = 107 , // all rows elements in this table section TR_CELLS = 108 , // all CELLS in this row // from FORM FORM_ELEMENTS = 109 , // from SELECT SELECT_OPTIONS = 110, // from HTMLMap MAP_AREAS = 111, DOC_ALL =112 // "all" elements };typedef struct tagJSPrivateData { MGHTMLView* view; DOM::HTMLDocumentImpl* dom; HWND hWnd; JSObject *locationObj,*navigatorObj,*historyObj,*documentObj,*elementObj,*eventObj; } myJSPrivateData; typedef struct tagJSCollectionPrivate{ int Type; DOM::NodeImpl* CurNode; } myJSCollectionPrivate;typedef struct tagElementPrivate{ DOM::NodeImpl* CurNode; } myJSElementPrivate;typedef struct tagHtmlPrivate{ DOM::NodeImpl* CurNode; } myJSHtmlPrivate;typedef struct tagHeadPrivate{ DOM::NodeImpl* CurNode; } myJSHeadPrivate;typedef struct tagLinkPrivate{ DOM::NodeImpl* CurNode; } myJSLinkPrivate;typedef struct tagTitlePrivate{ DOM::NodeImpl* CurNode; } myJSTitlePrivate;typedef struct tagMetaPrivate{ DOM::NodeImpl* CurNode; } myJSMetaPrivate;typedef struct tagBasePrivate{ DOM::NodeImpl* CurNode; } myJSBasePrivate;typedef struct tagIsIndexPrivate{ DOM::NodeImpl* CurNode; } myJSIsIndexPrivate;typedef struct tagStylePrivate{ DOM::NodeImpl* CurNode; } myJSStylePrivate;typedef struct tagBodyPrivate{ DOM::NodeImpl* CurNode; } myJSBodyPrivate;typedef struct tagJSFormPrivate{ DOM::NodeImpl* CurNode; } myJSFormPrivate;typedef struct tagJSObjectPrivate{ DOM::NodeImpl* CurNode; } myJSObjectPrivate;typedef struct tagJSSelectPrivate{ DOM::NodeImpl* CurNode; } myJSSelectPrivate;typedef struct tagOptGroupPrivate{ DOM::NodeImpl* CurNode; } myJSOptGroupPrivate;typedef struct tagOptionPrivate{ DOM::NodeImpl* CurNode; } myJSOptionPrivate;typedef struct tagJSInputPrivate{ DOM::NodeImpl* CurNode; } myJSInputPrivate;typedef struct tagJSTextAreaPrivate{ DOM::NodeImpl* CurNode; } myJSTextAreaPrivate;typedef struct tagJSButtonPrivate{ DOM::NodeImpl* CurNode; } myJSButtonPrivate;typedef struct tagJSLabelPrivate{ DOM::NodeImpl* CurNode; } myJSLabelPrivate;typedef struct tagJSFieldSetPrivate{ DOM::NodeImpl* CurNode; } myJSFieldSetPrivate;typedef struct tagJSLegendPrivate{ DOM::NodeImpl* CurNode; } myJSLegendPrivate;typedef struct tagJSUListPrivate{ DOM::NodeImpl* CurNode; } myJSUListPrivate;typedef struct tagJSOListPrivate{ DOM::NodeImpl* CurNode; } myJSOListPrivate;typedef struct tagJSDListPrivate{ DOM::NodeImpl* CurNode; } myJSDListPrivate;typedef struct tagJSDirectoryPrivate{ DOM::NodeImpl* CurNode; } myJSDirectoryPrivate;typedef struct tagJSMenuPrivate{ DOM::NodeImpl* CurNode; } myJSMenuPrivate;typedef struct tagJSLIPrivate{ DOM::NodeImpl* CurNode; } myJSLIPrivate;typedef struct tagJSDivPrivate{ DOM::NodeImpl* CurNode; } myJSDivPrivate;typedef struct tagJSParagraphPrivate{ DOM::NodeImpl* CurNode; } myJSParagraphPrivate;typedef struct tagJSHeadingPrivate{ DOM::NodeImpl* CurNode; } myJSHeadingPrivate;typedef struct tagQuotePrivate{ DOM::NodeImpl* CurNode; } myJSQuotePrivate;typedef struct tagPrePrivate{ DOM::NodeImpl* CurNode; } myJSPrePrivate;typedef struct tagBRPrivate{ DOM::NodeImpl* CurNode; } myJSBRPrivate;typedef struct tagBaseFontPrivate{ DOM::NodeImpl* CurNode; } myJSBaseFontPrivate;typedef struct tagFontPrivate{ DOM::NodeImpl* CurNode; } myJSFontPrivate;typedef struct tagHRPrivate{ DOM::NodeImpl* CurNode;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -