You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
837 lines
28 KiB
837 lines
28 KiB
// The names of these strings must correspond to the
|
|
// enum CACHED_CAA_STORAGE_STRUCT that is defined in cfpf.hxx
|
|
const char *rgszCcssString[]=
|
|
{
|
|
"CCSS_EXPAND",
|
|
"CCSS_CUSTOMAPPLY",
|
|
"CCSS_NONE",
|
|
"CCSS_CCHARFORMAT",
|
|
"CCSS_CPARAFORMAT",
|
|
"CCSS_CFANCYFORMAT"
|
|
};
|
|
|
|
|
|
|
|
// This needs to be ordered by DISPID
|
|
CCachedAttrArrayInfo rgCachedAttrArrayInfo[] =
|
|
{
|
|
{"STDPROPID_XOBJ_LEFT", CCSSF_CLEARFF },
|
|
{"STDPROPID_XOBJ_TOP", CCSSF_CLEARFF },
|
|
{"STDPROPID_XOBJ_WIDTH", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"STDPROPID_XOBJ_HEIGHT", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"STDPROPID_XOBJ_BLOCKALIGN", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS },
|
|
{"STDPROPID_XOBJ_CONTROLALIGN", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS },
|
|
{"STDPROPID_XOBJ_DISABLED", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS },
|
|
{"STDPROPID_XOBJ_RIGHT", CCSSF_CLEARFF },
|
|
{"STDPROPID_XOBJ_BOTTOM", CCSSF_CLEARFF },
|
|
{"DISPID_A_WORDSPACING", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_VERTICALALIGN", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_COLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_TEXTTRANSFORM", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_NOWRAP", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_LINEHEIGHT", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_TEXTINDENT", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_LETTERSPACING", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_OVERFLOW", CCSSF_CLEARFF | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_PADDINGTOP", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS },
|
|
{"DISPID_A_PADDINGRIGHT", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS },
|
|
{"DISPID_A_PADDINGBOTTOM", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS },
|
|
{"DISPID_A_PADDINGLEFT", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS },
|
|
{"DISPID_A_CLEAR", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_FONTFACE", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_TEXTDECORATION", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_ACCELERATOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_FONTSIZE", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_FONTSTYLE", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_FONTVARIANT", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_BASEFONT", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_FONTWEIGHT", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
|
|
{"DISPID_A_TABLEBORDERCOLOR", CCSSF_CLEARFF },
|
|
{"DISPID_A_TABLEBORDERCOLORLIGHT", CCSSF_CLEARFF },
|
|
{"DISPID_A_TABLEBORDERCOLORDARK", CCSSF_CLEARFF },
|
|
{"DISPID_A_TABLEVALIGN", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS },
|
|
|
|
{"DISPID_BACKCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_MARGINTOP", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_MARGINRIGHT", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_MARGINBOTTOM", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_MARGINLEFT", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
|
|
{"DISPID_A_FONT", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
|
|
{"DISPID_A_BORDERTOPCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_BORDERRIGHTCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_BORDERBOTTOMCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_BORDERLEFTCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_BORDERTOPWIDTH", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_BORDERRIGHTWIDTH", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_BORDERBOTTOMWIDTH", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_BORDERLEFTWIDTH", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_BORDERTOPSTYLE", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_BORDERRIGHTSTYLE", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_BORDERBOTTOMSTYLE", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_BORDERLEFTSTYLE", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
|
|
{"DISPID_A_FLOAT", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_DISPLAY", CCSSF_CLEARCACHES | CCSSF_REMEASUREINPARENT },
|
|
{"DISPID_A_LISTTYPE", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_LISTSTYLETYPE", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_LISTSTYLEPOSITION", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_LISTSTYLEIMAGE", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_WHITESPACE", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_VISIBILITY", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_POSITION", CCSSF_CLEARCACHES | CCSSF_REMEASUREINPARENT },
|
|
{"DISPID_A_ZINDEX", CCSSF_CLEARFF },
|
|
{"DISPID_A_CLIP", CCSSF_CLEARFF },
|
|
{"DISPID_A_CLIPRECTTOP", CCSSF_CLEARFF },
|
|
{"DISPID_A_CLIPRECTRIGHT", CCSSF_CLEARFF },
|
|
{"DISPID_A_CLIPRECTBOTTOM", CCSSF_CLEARFF },
|
|
{"DISPID_A_CLIPRECTLEFT", CCSSF_CLEARFF },
|
|
{"DISPID_A_PAGEBREAKBEFORE", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_PAGEBREAKAFTER", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_CURSOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_FILTER", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_BACKGROUNDIMAGE", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_BACKGROUNDPOSX", CCSSF_CLEARFF },
|
|
{"DISPID_A_BACKGROUNDPOSY", CCSSF_CLEARFF },
|
|
{"DISPID_A_BACKGROUNDREPEAT", CCSSF_CLEARFF },
|
|
{"DISPID_A_BACKGROUNDATTACHMENT", CCSSF_CLEARFF | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_LANG", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_TABLELAYOUT", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
{"DISPID_A_BORDERCOLLAPSE", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
|
|
{"DISPID_A_BEHAVIOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_DIR", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_UNICODEBIDI", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_DIRECTION", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_RUBYPOSITION", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_IMEMODE", CCSSF_NONE },
|
|
{"DISPID_A_RUBYALIGN", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_RUBYPOSITION", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_RUBYOVERHANG", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_LAYOUTGRIDCHAR", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_LAYOUTGRIDLINE", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_LAYOUTGRIDMODE", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_LAYOUTGRIDTYPE", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_LAYOUTGRID", CCSSF_CLEARCACHES | CCSSF_REMEASURECONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_TEXTAUTOSPACE", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_WORDBREAK", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_LINEBREAK", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_TEXTJUSTIFY", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_TEXTJUSTIFYTRIM", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_TEXTKASHIDA", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_OVERFLOWX", CCSSF_CLEARFF | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_OVERFLOWY", CCSSF_CLEARFF | CCSSF_SIZECHANGED },
|
|
#ifdef IE6_WYSIWYG_OM
|
|
{"DISPID_A_ROTATE", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS },
|
|
#endif
|
|
{"DISPID_A_ZOOM", CCSSF_CLEARCACHES | CCSSF_CLEARFF },
|
|
{"DISPID_A_LAYOUTFLOW", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_WORDWRAP", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_TEXTUNDERLINEPOSITION", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_WRAP", CCSSF_REMEASURECONTENTS | CCSSF_REMEASUREINPARENT },
|
|
{"DISPID_A_VIEW", CCSSF_CLEARCACHES | CCSSF_REMEASUREINPARENT },
|
|
{"DISPID_A_EDITABLE", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_SCROLLBARBASECOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_SCROLLBARTRACKCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_SCROLLBARFACECOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_SCROLLBAR3DLIGHTCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_SCROLLBARSHADOWCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_SCROLLBARHIGHLIGHTCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_SCROLLBARDARKSHADOWCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_SCROLLBARARROWCOLOR", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_WRITINGMODE", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_FROZEN", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_VIEWINHERITSTYLE", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED},
|
|
{"DISPID_A_TEXTALIGNLAST", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_TEXTKASHIDASPACE", CCSSF_CLEARCACHES | CCSSF_REMEASUREALLCONTENTS | CCSSF_SIZECHANGED },
|
|
{"DISPID_A_ALLOWTRANSPARENCY", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED | CCSSF_REMEASURECONTENTS },
|
|
{"DISPID_A_TEXTOVERFLOW", CCSSF_CLEARCACHES },
|
|
{"DISPID_A_MINHEIGHT", CCSSF_CLEARCACHES | CCSSF_SIZECHANGED },
|
|
{NULL, CCSSF_NONE },
|
|
};
|
|
|
|
AssociateDataType DataTypes[] =
|
|
{
|
|
{ "void*", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "DWORD", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "DISPID", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "SIZEL*", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "CStr", "String" , "CSTR", STORAGETYPE_STRING},
|
|
{ "BSTR", "String" , "CSTR", STORAGETYPE_STRING},
|
|
{ "long", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "int", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "short", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "char", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "enum", "Enum" , "ENUM", STORAGETYPE_NUMBER},
|
|
{ "ULONG", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "CStyleComponent", "StyleComponent" , "CSTR", STORAGETYPE_STRING},
|
|
{ "CStyle", "Style" , "CSTR", STORAGETYPE_OTHER},
|
|
{ "CColorValue", "Color" , "COLOR", STORAGETYPE_NUMBER},
|
|
{ "CUnitValue", "UnitValue" , "UNITVALUE", STORAGETYPE_NUMBER},
|
|
{ "VARIANT_BOOL", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "OLE_XPOS_PIXELS", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "OLE_YPOS_PIXELS", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "OLE_XSIZE_PIXELS", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "OLE_YSIZE_PIXELS", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "OLE_XPOS_HIMETRIC", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "OLE_YPOS_HIMETRIC", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "OLE_XSIZE_HIMETRIC", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "OLE_YSIZE_HIMETRIC", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "OLE_XPOS_CONTAINER", "Float" , "FLOAT", STORAGETYPE_NUMBER},
|
|
{ "OLE_YPOS_CONTAINER", "Float" , "FLOAT", STORAGETYPE_NUMBER},
|
|
{ "OLE_XSIZE_CONTAINER", "Float" , "FLOAT", STORAGETYPE_NUMBER},
|
|
{ "OLE_YSIZE_CONTAINER", "Float" , "FLOAT", STORAGETYPE_NUMBER},
|
|
{ "OLE_CANCELBOOL", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "OLE_ENABLEDEFAULTBOOL", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "IDispatch*", "Object" , "OBJECT", STORAGETYPE_OTHER},
|
|
{ "IUnknown*", "Object" , "OBJECT", STORAGETYPE_OTHER},
|
|
{ "VARIANT", "Variant" , "VARIANT", STORAGETYPE_OTHER},
|
|
{ "BYTE", "Num" , "NUM", STORAGETYPE_NUMBER},
|
|
{ "BOOL", "Boolean" , "BOOLEAN", STORAGETYPE_NUMBER},
|
|
{ "float", "Float" , "FLOAT", STORAGETYPE_NUMBER},
|
|
{ "url", "Url", "CSTR", STORAGETYPE_STRING},
|
|
{ "code", "Code", "CSTR", STORAGETYPE_STRING},
|
|
{ NULL, NULL , NULL, STORAGETYPE_NUMBER},
|
|
};
|
|
|
|
|
|
//# { ]
|
|
//# index is argument type
|
|
//# value is VTS type
|
|
|
|
Associate vt[] =
|
|
{
|
|
{ "void*", "VTS_PI4" },
|
|
{ "DWORD", "VTS_I4" },
|
|
{ "DISPID", "VTS_I4" },
|
|
{ "SIZEL*", "VTS_PI4" },
|
|
{ "short", "VTS_I2" },
|
|
{ "long", "VTS_I4" },
|
|
{ "ULONG", "VTS_I4" },
|
|
{ "ULONG*", "VTS_PI4" },
|
|
{ "int", "VTS_I4" },
|
|
{ "float", "VTS_R4" },
|
|
{ "double", "VTS_R8" },
|
|
{ "CY*", "VTS_CY" },
|
|
{ "DATE", "VTS_DATE" },
|
|
{ "BSTR", "VTS_BSTR" },
|
|
{ "LPCTSTR", "VTS_BSTR" },
|
|
{ "IDispatch*", "VTS_DISPATCH" },
|
|
{ "SCODE", "VTS_ERROR" },
|
|
{ "VARIANT_BOOL", "VTS_BOOL" },
|
|
{ "boolean", "VTS_BOOL" },
|
|
{ "ERROR", "VTS_ERROR" },
|
|
{ "BOOL", "VTS_BOOL" },
|
|
{ "VARIANT", "VTS_VARIANT" },
|
|
{ "IUnknown*", "VTS_UNKNOWN" },
|
|
{ "unsigned char", "VTS_UI1" },
|
|
{ "short*", "VTS_PI2" },
|
|
{ "long*", "VTS_PI4" },
|
|
{ "int*", "VTS_PI4" },
|
|
{ "float*", "VTS_PR4" },
|
|
{ "double*", "VTS_PR8" },
|
|
{ "CY*", "VTS_PCY" },
|
|
{ "DATE*", "VTS_PDATE" },
|
|
{ "BSTR*", "VTS_PBSTR" },
|
|
{ "IDispatch**", "VTS_PDISPATCH" },
|
|
{ "SCODE*", "VTS_PERROR" },
|
|
{ "VARIANT_BOOL*", "VTS_PBOOL" },
|
|
{ "boolean*", "VTS_PBOOL" },
|
|
{ "VARIANT*", "VTS_PVARIANT" },
|
|
{ "IUnknown**", "VTS_PUNKNOWN" },
|
|
{ "unsigned char *", "VTS_PUI1" },
|
|
{ "", "VTS_NONE" },
|
|
{ "OLE_COLOR", "VTS_COLOR" },
|
|
{ "OLE_XPOS_PIXELS", "VTS_XPOS_PIXELS" },
|
|
{ "OLE_YPOS_PIXELS", "VTS_YPOS_PIXELS" },
|
|
{ "OLE_XSIZE_PIXELS", "VTS_XSIZE_PIXELS" },
|
|
{ "OLE_YSIZE_PIXELS", "VTS_YSIZE_PIXELS" },
|
|
{ "OLE_XPOS_HIMETRIC", "VTS_XPOS_HIMETRIC" },
|
|
{ "OLE_YPOS_HIMETRIC", "VTS_YPOS_HIMETRIC" },
|
|
{ "OLE_XSIZE_HIMETRIC", "VTS_XSIZE_HIMETRIC" },
|
|
{ "OLE_YSIZE_HIMETRIC", "VTS_YSIZE_HIMETRIC" },
|
|
{ "OLE_XPOS_CONTAINER", "VTS_R4" },
|
|
{ "OLE_YPOS_CONTAINER", "VTS_R4" },
|
|
{ "OLE_XSIZE_CONTAINER", "VTS_R4" },
|
|
{ "OLE_YSIZE_CONTAINER", "VTS_R4" },
|
|
{ "OLE_TRISTATE", "VTS_TRISTATE" },
|
|
{ "OLE_OPTEXCLUSIVE", "VTS_OPTEXCLUSIVE" },
|
|
{ "OLE_COLOR*", "VTS_PCOLOR" },
|
|
{ "OLE_XPOS_PIXELS*", "VTS_PXPOS_PIXELS" },
|
|
{ "OLE_YPOS_PIXELS*", "VTS_PYPOS_PIXELS" },
|
|
{ "OLE_XSIZE_PIXELS*", "VTS_PXSIZE_PIXELS" },
|
|
{ "OLE_YSIZE_PIXELS*", "VTS_PYSIZE_PIXELS" },
|
|
{ "OLE_XPOS_HIMETRIC*", "VTS_PXPOS_HIMETRIC" },
|
|
{ "OLE_YPOS_HIMETRIC*", "VTS_PYPOS_HIMETRIC" },
|
|
{ "OLE_XSIZE_HIMETRIC*", "VTS_PXSIZE_HIMETRIC" },
|
|
{ "OLE_YSIZE_HIMETRIC*", "VTS_PYSIZE_HIMETRIC" },
|
|
{ "OLE_TRISTATE*", "VTS_PTRISTATE" },
|
|
{ "OLE_OPTEXCLUSIVE*", "VTS_POPTEXCLUSIVE" },
|
|
{ "IFontDispatch*", "VTS_FONT" },
|
|
{ "IPictureDispatch*", "VTS_PICTURE" },
|
|
{ "OLE_HANDLE", "VTS_HANDLE" },
|
|
{ "OLE_HANDLE*", "VTS_PHANDLE" },
|
|
{ "BYTE", "VTS_BOOL" },
|
|
// Internal Types
|
|
{ "CStr", "VTS_BSTR" },
|
|
{ "CUnitValue", "VTS_I4" },
|
|
{ "CStyleComponent", "VTS_BSTR" },
|
|
{ "CStyle", "VTS_BSTR" },
|
|
{ "CColorValue", "VTS_BSTR" },
|
|
{ NULL, NULL },
|
|
};
|
|
|
|
|
|
TokenDescriptor FileDescriptor =
|
|
{
|
|
"file", TRUE,
|
|
{
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor InterfaceDescriptor =
|
|
{
|
|
"interface", TRUE,
|
|
{
|
|
{
|
|
"super", FALSE, TRUE // Mandatory
|
|
},
|
|
{
|
|
"guid", FALSE, FALSE
|
|
},
|
|
{
|
|
"abstract", TRUE, FALSE
|
|
},
|
|
{
|
|
"custom", TRUE, FALSE
|
|
},
|
|
{
|
|
"<noprimary>", TRUE, FALSE // Not settable from pdl, set internally.
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor EvalDescriptor =
|
|
{
|
|
"eval", FALSE,
|
|
{
|
|
{
|
|
"value", FALSE, FALSE
|
|
},
|
|
{
|
|
"string", FALSE, FALSE
|
|
},
|
|
{
|
|
"name", FALSE, FALSE
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor EnumDescriptor =
|
|
{
|
|
"enum", TRUE,
|
|
{
|
|
{
|
|
"prefix", FALSE, FALSE
|
|
},
|
|
{
|
|
"guid", FALSE, FALSE
|
|
},
|
|
{
|
|
"hidden", TRUE, FALSE
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
},
|
|
};
|
|
|
|
|
|
TokenDescriptor ClassDescriptor =
|
|
{
|
|
"class", TRUE,
|
|
{
|
|
|
|
{
|
|
"super", FALSE, FALSE
|
|
},
|
|
{
|
|
"primaryinterface", FALSE, FALSE
|
|
},
|
|
{
|
|
"guid", FALSE, FALSE
|
|
},
|
|
{
|
|
"abstract", TRUE, FALSE
|
|
},
|
|
{
|
|
"name", FALSE, FALSE
|
|
},
|
|
{
|
|
"events", FALSE, FALSE
|
|
},
|
|
{
|
|
"cascadedmethods", TRUE, FALSE
|
|
},
|
|
{
|
|
"noaamethods", TRUE, FALSE
|
|
},
|
|
{
|
|
"keepnopersist", TRUE, FALSE
|
|
},
|
|
{
|
|
"noconnectionpoints", TRUE, FALSE
|
|
},
|
|
{
|
|
"control", TRUE, FALSE
|
|
},
|
|
{
|
|
"mondoguid", FALSE, FALSE
|
|
},
|
|
{
|
|
"nonprimaryevents", FALSE, FALSE
|
|
},
|
|
{
|
|
"nonprimaryevents2", FALSE, FALSE
|
|
},
|
|
{
|
|
"nonprimaryevents3", FALSE, FALSE
|
|
},
|
|
{
|
|
"nonprimaryevents4", FALSE, FALSE
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor ImplementsDescriptor =
|
|
{
|
|
"implements", FALSE,
|
|
{
|
|
{
|
|
"guid", FALSE, FALSE
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor PropertyDescriptor =
|
|
{
|
|
"property", FALSE,
|
|
{
|
|
{
|
|
"atype", FALSE, FALSE
|
|
},
|
|
{
|
|
"dispid", FALSE, FALSE
|
|
},
|
|
{
|
|
"type", FALSE, FALSE
|
|
},
|
|
{
|
|
"member", FALSE, FALSE
|
|
},
|
|
{
|
|
"get", TRUE, FALSE
|
|
},
|
|
{
|
|
"set", TRUE, FALSE
|
|
},
|
|
{
|
|
"bindable", TRUE, FALSE
|
|
},
|
|
{
|
|
"displaybind", TRUE, FALSE
|
|
},
|
|
{
|
|
"dwflags", FALSE, FALSE
|
|
},
|
|
{
|
|
"abstract", TRUE, FALSE
|
|
},
|
|
{
|
|
"ppflags", FALSE, FALSE
|
|
},
|
|
{
|
|
"default", FALSE, FALSE
|
|
},
|
|
{
|
|
"noassigndefault", FALSE, FALSE
|
|
},
|
|
{
|
|
"min", FALSE, FALSE
|
|
},
|
|
{
|
|
"max", FALSE, FALSE
|
|
},
|
|
{
|
|
"method", TRUE, FALSE
|
|
},
|
|
{
|
|
"help", FALSE, FALSE
|
|
},
|
|
{
|
|
"vt", FALSE, FALSE
|
|
},
|
|
{
|
|
"caa", FALSE, FALSE
|
|
},
|
|
{
|
|
"object", FALSE, FALSE
|
|
},
|
|
/* I'm creating bizarre names these out for now because currently JScript cannot deal with
|
|
Properties that have parameters */
|
|
{
|
|
"<<index>>", FALSE, FALSE
|
|
},
|
|
{
|
|
"<<index1>>", FALSE, FALSE
|
|
},
|
|
{
|
|
"<<indextype>>", FALSE, FALSE
|
|
},
|
|
{
|
|
"<<indextype1>>", FALSE, FALSE
|
|
},
|
|
{
|
|
"szattribute", FALSE, FALSE
|
|
},
|
|
{
|
|
"hidden", TRUE, FALSE
|
|
},
|
|
{
|
|
"nonbrowsable", TRUE, FALSE
|
|
},
|
|
{
|
|
"restricted", TRUE, FALSE
|
|
},
|
|
{
|
|
"subobject", FALSE, FALSE
|
|
},
|
|
{
|
|
"param1", FALSE, FALSE
|
|
},
|
|
{
|
|
"precallfn", FALSE, FALSE
|
|
},
|
|
{
|
|
"enumref", FALSE, FALSE
|
|
},
|
|
{
|
|
"virtual", TRUE, FALSE
|
|
},
|
|
{
|
|
"getaa", FALSE, FALSE
|
|
},
|
|
{
|
|
"setaahr", FALSE, FALSE
|
|
},
|
|
{
|
|
"source", TRUE, FALSE
|
|
},
|
|
{
|
|
"minout", TRUE, FALSE
|
|
},
|
|
{
|
|
"<cascaded>", TRUE,FALSE
|
|
},
|
|
{
|
|
"updatecollection", TRUE, FALSE
|
|
},
|
|
{
|
|
"scriptlet", TRUE, FALSE
|
|
},
|
|
{
|
|
"clearcaches", TRUE, FALSE
|
|
},
|
|
{
|
|
"stylesheetproperty", TRUE, FALSE
|
|
},
|
|
{
|
|
"noassigntypeonly", TRUE, FALSE
|
|
},
|
|
{
|
|
"resize", TRUE, FALSE
|
|
},
|
|
{
|
|
"remeasure", TRUE, FALSE
|
|
},
|
|
{
|
|
"remeasureall", TRUE, FALSE
|
|
},
|
|
{
|
|
"siteredraw", TRUE, FALSE
|
|
},
|
|
{
|
|
"set_designtime", TRUE, FALSE
|
|
},
|
|
{
|
|
"invalid=noassigndefault", TRUE, FALSE
|
|
},
|
|
{
|
|
"notpresent=default", TRUE, FALSE
|
|
},
|
|
{
|
|
"contextual", TRUE, FALSE
|
|
},
|
|
{
|
|
"nodecontextual", TRUE, FALSE
|
|
},
|
|
{
|
|
"baseimplementation", TRUE, FALSE
|
|
},
|
|
{
|
|
"nopersist", TRUE, FALSE
|
|
},
|
|
{
|
|
"internal", TRUE, FALSE
|
|
},
|
|
{
|
|
"<refdclass>", TRUE, FALSE
|
|
},
|
|
{
|
|
"maxstrlen", FALSE, FALSE
|
|
},
|
|
{
|
|
"nopropdesc", TRUE, FALSE
|
|
},
|
|
{
|
|
"exclusivetoscript", TRUE, FALSE
|
|
},
|
|
{
|
|
"szInterfaceExpose", TRUE, FALSE
|
|
},
|
|
{
|
|
"dataevent", TRUE, FALSE
|
|
},
|
|
{
|
|
"accessibilitystate", FALSE, FALSE
|
|
},
|
|
{
|
|
"customenum", TRUE, FALSE
|
|
},
|
|
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor MethodArgDescriptor =
|
|
{
|
|
"<methodarg>" /* Implied */, FALSE,
|
|
{
|
|
{
|
|
"atype", FALSE, FALSE
|
|
},
|
|
{
|
|
"type", FALSE, FALSE
|
|
},
|
|
{
|
|
"in", TRUE, FALSE
|
|
},
|
|
{
|
|
"out", TRUE, FALSE
|
|
},
|
|
{
|
|
"arg", FALSE, FALSE
|
|
},
|
|
{
|
|
"retval", FALSE, FALSE
|
|
},
|
|
{
|
|
"defaultvalue", FALSE, FALSE
|
|
},
|
|
{
|
|
"optional", TRUE, FALSE
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
// These are just the tokens for the method, there is a separate descriptor for a method arg
|
|
TokenDescriptor MethodDescriptor =
|
|
{
|
|
"method", FALSE,
|
|
{
|
|
{
|
|
"<ReturnType>", FALSE, FALSE // Un-Tagged
|
|
},
|
|
{
|
|
"dispid", FALSE, FALSE
|
|
},
|
|
{
|
|
"abstract", TRUE, FALSE
|
|
},
|
|
{
|
|
"virtual", TRUE, FALSE
|
|
},
|
|
{
|
|
"<RefdToClassFlag>", TRUE, FALSE
|
|
},
|
|
{
|
|
"vararg", TRUE, FALSE
|
|
},
|
|
{
|
|
"cancelable", TRUE, FALSE
|
|
},
|
|
{
|
|
"bubbling", TRUE, FALSE
|
|
},
|
|
{
|
|
"restricted", TRUE, FALSE
|
|
},
|
|
{
|
|
"contextual", TRUE, FALSE
|
|
},
|
|
{
|
|
"nodecontextual", TRUE, FALSE
|
|
},
|
|
{
|
|
"maxstrlen", FALSE, FALSE
|
|
},
|
|
{
|
|
"nopropdesc", TRUE, FALSE
|
|
},
|
|
{
|
|
"exclusivetoscript", TRUE, FALSE
|
|
},
|
|
{
|
|
"szInterfaceExpose", TRUE, FALSE
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor RefPropDescriptor =
|
|
{
|
|
"refprop", FALSE,
|
|
{
|
|
{
|
|
"<ClassName>", FALSE, FALSE // Un-Tagged
|
|
},
|
|
{
|
|
"<PropertyName>", FALSE, FALSE // Untagged
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor RefMethodDescriptor =
|
|
{
|
|
"refmethod", FALSE,
|
|
{
|
|
{
|
|
"<ClassName>", FALSE, FALSE // Un-Tagged
|
|
},
|
|
{
|
|
"<PropertyName>", FALSE, FALSE // Untagged
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor EventDescriptor =
|
|
{
|
|
"event", TRUE,
|
|
{
|
|
{
|
|
"super", FALSE, TRUE // Mandatory
|
|
},
|
|
{
|
|
"guid", FALSE, FALSE
|
|
},
|
|
{
|
|
"abstract", TRUE, FALSE
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor ImportDescriptor =
|
|
{
|
|
"import", TRUE, // import just has a name
|
|
{
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor TearoffDescriptor =
|
|
{
|
|
"tearoff", TRUE,
|
|
{
|
|
{
|
|
"interface", FALSE, FALSE
|
|
},
|
|
{
|
|
"BaseImpl", FALSE, FALSE
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor TearoffMethod =
|
|
{
|
|
"tearmethod", FALSE,
|
|
{
|
|
{
|
|
"mapto", FALSE, TRUE // mandatory
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
TokenDescriptor StructDescriptor =
|
|
{
|
|
"struct", TRUE,
|
|
{
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
TokenDescriptor StructMemberDescriptor =
|
|
{
|
|
"member", FALSE,
|
|
{
|
|
{
|
|
"type", FALSE, FALSE
|
|
},
|
|
END_OF_ARG_ARRAY
|
|
}
|
|
};
|
|
|
|
|
|
TokenDescriptor *AllDescriptors[ NUM_DESCRIPTOR_TYPES ] =
|
|
{
|
|
&FileDescriptor,
|
|
&InterfaceDescriptor,
|
|
&EvalDescriptor,
|
|
&EnumDescriptor,
|
|
&ClassDescriptor,
|
|
&ImplementsDescriptor,
|
|
&PropertyDescriptor,
|
|
&MethodDescriptor,
|
|
&MethodArgDescriptor,
|
|
&RefPropDescriptor,
|
|
&RefMethodDescriptor,
|
|
&EventDescriptor,
|
|
&ImportDescriptor,
|
|
&TearoffDescriptor,
|
|
&TearoffMethod,
|
|
&StructDescriptor,
|
|
&StructMemberDescriptor
|
|
};
|