📄 rsrc.c
字号:
if ( count > 0 ) { fprintf(fp, "%s:", rsrc); for (int i=0; i<count; i++) fprintf(fp, "\t%d", *list[i]); fprintf(fp, "\n"); }}voidWriteResource(FILE *fp, const char *rsrc, const StringListC& list){ unsigned count = list.size(); if ( count > 0 ) { fprintf(fp, "%s:", rsrc); StringC str; for (int i=0; i<count; i++) { str = *list[i]; AddEscapes(str); fprintf(fp, "\t%s", (char *)str); } fprintf(fp, "\n"); }}voidWriteShadowType(FILE *fp, const char *rsrc, unsigned char value){ fprintf(fp, "%s:\t", rsrc); char *str; switch (value) { case (XmSHADOW_OUT): str = "Shadow_Out"; break; case (XmSHADOW_ETCHED_IN): str = "Shadow_Etched_In"; break; case (XmSHADOW_ETCHED_OUT): str = "Shadow_Etched_Out"; break; default: str = "Shadow_In"; break; } fprintf(fp, "%s\n", str);}voidWriteOrientation(FILE *fp, const char *rsrc, unsigned char value){ fprintf(fp, "%s:\t%s\n", rsrc, value==XmVERTICAL ? "Vertical" : "Horizontal");}//************************************************************************// get_* routines accepting a class name//************************************************************************/*--------------------------------------------------------------- * Return the color for a custom resource */Pixelget_color(const char *wclass, Widget w, const char *rsrc, Pixel def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCColor; res.resource_type = XtRPixel; res.resource_size = sizeof(Pixel); res.resource_offset = 0; res.default_type = XtRPixel; res.default_addr = (XtPointer)&def; Pixel color; XtGetSubresources(XtParent(w), &color, XtName(w), (String)wclass, &res, 1, NULL, 0); return color;} // End get_colorPixelget_color(const char *wclass, Widget w, const char *rsrc, const char *def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCColor; res.resource_type = XtRPixel; res.resource_size = sizeof(Pixel); res.resource_offset = 0; res.default_type = XtRString; res.default_addr = (XtPointer)def; Pixel color; XtGetSubresources(XtParent(w), &color, XtName(w), (String)wclass, &res, 1, NULL, 0); return color;} // End get_color/*--------------------------------------------------------------- * Return the string for a custom resource */StringCget_string(const char *wclass, Widget w, const char *rsrc, const char *def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCString; res.resource_type = XtRString; res.resource_size = sizeof(String); res.resource_offset = 0; res.default_type = XtRString; res.default_addr = (XtPointer)def; String string; XtGetSubresources(XtParent(w), &string, XtName(w), (String)wclass, &res, 1, NULL, 0); return string;} // End get_string/*--------------------------------------------------------------- * Return the value of a boolean custom resource */Booleanget_boolean(const char *wclass, Widget w, const char *rsrc, Boolean def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCBoolean; res.resource_type = XtRBoolean; res.resource_size = sizeof(Boolean); res.resource_offset = 0; res.default_type = XtRBoolean; res.default_addr = (XtPointer)&def; Boolean value; XtGetSubresources(XtParent(w), &value, XtName(w), (String)wclass, &res, 1, NULL, 0); return value;} // End get_boolean/*--------------------------------------------------------------- * Return the value of an integer custom resource */intget_int(const char *wclass, Widget w, const char *rsrc, int def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = "Integer"; res.resource_type = XtRInt; res.resource_size = sizeof(int); res.resource_offset = 0; res.default_type = XtRInt; res.default_addr = (XtPointer)&def; int value; XtGetSubresources(XtParent(w), &value, XtName(w), (String)wclass, &res, 1, NULL, 0); return value;} // End get_int/*--------------------------------------------------------------- * Return the value of a float custom resource */floatget_float(const char *wclass, Widget w, const char *rsrc, float def){ float local_def = def; XtResource res; res.resource_name = (String)rsrc; res.resource_class = "Float"; res.resource_type = XtRFloat; res.resource_size = sizeof(float); res.resource_offset = 0; res.default_type = XtRFloat; res.default_addr = (XtPointer)&local_def; float value; XtGetSubresources(XtParent(w), &value, XtName(w), (String)wclass, &res, 1, NULL, 0); return value;} // End get_float/*--------------------------------------------------------------- * Return the value of a cursor custom resource */Cursorget_cursor(const char *wclass, Widget w, const char *rsrc, const char *def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCCursor; res.resource_type = XtRCursor; res.resource_size = sizeof(Cursor); res.resource_offset = 0; res.default_type = XtRString; res.default_addr = (XtPointer)def; Cursor value; XtGetSubresources(XtParent(w), &value, XtName(w), (String)wclass, &res, 1, NULL, 0); return value;} // End get_cursor/*--------------------------------------------------------------- * Return the value of a gravity custom resource */intget_gravity(const char *wclass, Widget w, const char *rsrc, const char *def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = "Gravity"; res.resource_type = XtRGravity; res.resource_size = sizeof(int); res.resource_offset = 0; res.default_type = XtRString; res.default_addr = (XtPointer)def; int value; XtGetSubresources(XtParent(w), &value, XtName(w), (String)wclass, &res, 1, NULL, 0); return value;} // End get_gravity/*--------------------------------------------------------------- * Return the value of a shadow type custom resource */unsigned charget_shadow_type(const char *wclass, Widget w, const char *rsrc, unsigned char def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XmCShadowType; res.resource_type = XmRShadowType; res.resource_size = sizeof(unsigned char); res.resource_offset = 0; res.default_type = XmRShadowType; res.default_addr = (XtPointer)&def; unsigned char value; XtGetSubresources(XtParent(w), &value, XtName(w), (String)wclass, &res, 1, NULL, 0); return value;} // End get_shadow_type/*--------------------------------------------------------------- * Return the value of an orientation custom resource */unsigned charget_orient(const char *wclass, Widget w, const char *rsrc, unsigned char def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCOrientation; res.resource_type = XtROrientation; res.resource_size = sizeof(unsigned char); res.resource_offset = 0; res.default_type = XtROrientation; res.default_addr = (XtPointer)&def; unsigned char value; XtGetSubresources(XtParent(w), &value, XtName(w), (String)wclass, &res, 1, NULL, 0); return value;} // End get_orient//************************************************************************// get_* routines accepting a widget name and parent//************************************************************************/*--------------------------------------------------------------- * Return the color for a custom resource */Pixelget_color(const char *wclass, const char *wname, const char *rsrc, Widget par, Pixel def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCColor; res.resource_type = XtRPixel; res.resource_size = sizeof(Pixel); res.resource_offset = 0; res.default_type = XtRPixel; res.default_addr = (XtPointer)&def; Pixel color; XtGetSubresources(par, &color, (String)wname, (String)wclass, &res, 1, NULL, 0); return color;} // End get_colorPixelget_color(const char *wclass, const char *wname, const char *rsrc, Widget par, const char *def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCColor; res.resource_type = XtRPixel; res.resource_size = sizeof(Pixel); res.resource_offset = 0; res.default_type = XtRString; res.default_addr = (XtPointer)def; Pixel color; XtGetSubresources(par, &color, (String)wname, (String)wclass, &res, 1, NULL, 0); return color;} // End get_color/*--------------------------------------------------------------- * Return the string for a custom resource */StringCget_string(const char *wclass, const char *wname, const char *rsrc, Widget par, const char *def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCString; res.resource_type = XtRString; res.resource_size = sizeof(String); res.resource_offset = 0; res.default_type = XtRString; res.default_addr = (XtPointer)def; String string; XtGetSubresources(par, &string, (String)wname, (String)wclass, &res, 1, NULL, 0); return string;} // End get_string/*--------------------------------------------------------------- * Return the value of a boolean custom resource */Booleanget_boolean(const char *wclass, const char *wname, const char *rsrc, Widget par, Boolean def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCBoolean; res.resource_type = XtRBoolean; res.resource_size = sizeof(Boolean); res.resource_offset = 0; res.default_type = XtRBoolean; res.default_addr = (XtPointer)&def; Boolean value; XtGetSubresources(par, &value, (String)wname, (String)wclass, &res, 1, NULL, 0); return value;} // End get_boolean/*--------------------------------------------------------------- * Return the value of an integer custom resource */intget_int(const char *wclass, const char *wname, const char *rsrc, Widget par, int def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = "Integer"; res.resource_type = XtRInt; res.resource_size = sizeof(int); res.resource_offset = 0; res.default_type = XtRInt; res.default_addr = (XtPointer)&def; int value; XtGetSubresources(par, &value, (String)wname, (String)wclass, &res, 1, NULL, 0); return value;} // End get_int/*--------------------------------------------------------------- * Return the value of a float custom resource */floatget_float(const char *wclass, const char *wname, const char *rsrc, Widget par, float def){ float local_def = def; XtResource res; res.resource_name = (String)rsrc; res.resource_class = "Float"; res.resource_type = XtRFloat; res.resource_size = sizeof(float); res.resource_offset = 0; res.default_type = XtRFloat; res.default_addr = (XtPointer)&local_def; float value; XtGetSubresources(par, &value, (String)wname, (String)wclass, &res, 1, NULL, 0); return value;} // End get_float/*--------------------------------------------------------------- * Return the value of a cursor custom resource */Cursorget_cursor(const char *wclass, const char *wname, const char *rsrc, Widget par, const char *def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCCursor; res.resource_type = XtRCursor; res.resource_size = sizeof(Cursor); res.resource_offset = 0; res.default_type = XtRString; res.default_addr = (XtPointer)def; Cursor value; XtGetSubresources(par, &value, (String)wname, (String)wclass, &res, 1, NULL, 0); return value;} // End get_cursor/*--------------------------------------------------------------- * Return the value of a gravity custom resource */intget_gravity(const char *wclass, const char *wname, const char *rsrc, Widget par, const char *def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = "Gravity"; res.resource_type = XtRGravity; res.resource_size = sizeof(int); res.resource_offset = 0; res.default_type = XtRString; res.default_addr = (XtPointer)def; int value; XtGetSubresources(par, &value, (String)wname, (String)wclass, &res, 1, NULL, 0); return value;} // End get_gravity/*--------------------------------------------------------------- * Return the value of a shadow type custom resource */unsigned charget_shadow_type(const char *wclass, const char *wname, const char *rsrc, Widget par, unsigned char def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XmCShadowType; res.resource_type = XmRShadowType; res.resource_size = sizeof(unsigned char); res.resource_offset = 0; res.default_type = XmRShadowType; res.default_addr = (XtPointer)&def; unsigned char value; XtGetSubresources(par, &value, (String)wname, (String)wclass, &res, 1, NULL, 0); return value;} // End get_shadow_type/*--------------------------------------------------------------- * Return the value of an orientation custom resource */unsigned charget_orient(const char *wclass, const char *wname, const char *rsrc, Widget par, unsigned char def){ XtResource res; res.resource_name = (String)rsrc; res.resource_class = XtCOrientation; res.resource_type = XtROrientation; res.resource_size = sizeof(unsigned char); res.resource_offset = 0; res.default_type = XtROrientation; res.default_addr = (XtPointer)&def; unsigned char value; XtGetSubresources(par, &value, (String)wname, (String)wclass, &res, 1, NULL, 0); return value;} // End get_orient
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -