⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 string.c

📁 安装DDD之前
💻 C
📖 第 1 页 / 共 2 页
字号:
#include <StringP.h>#include <Xm/RepType.h>static void DefaultFont();static XmImportOperator ToInternalXmString();static void ToExternalXmString();static void ClassInitialize();static void Initialize();static void Destroy();static void Resize();static Boolean SetValues();static void DrawVisual();static void CalcVisualSize();static void CreateGC();#define defaultTranslations "\<EnterWindow>:		PrimitiveEnter()\n\<LeaveWindow>:		PrimitiveLeave()\n\~s ~m ~a <Key>Return:	PrimitiveParentActivate()\n\<Key>osfActivate:	PrimitiveParentActivate()\n\<Key>osfCancel:		PrimitiveParentCancel()\n\<Key>osfHelp:		PrimitiveHelp()"static XtResource resources[] = {   {	XmNtraversalOn,	XmCTraversalOn,	XmRBoolean,	sizeof (Boolean),	XtOffsetOf( struct _XmPrimitiveRec, primitive.traversal_on),	XmRImmediate, 	(XtPointer) False    },    {	XmNshadowThickness,	XmCShadowThickness,	XmRHorizontalDimension,	sizeof (Dimension),	XtOffsetOf( struct _XmpStringRec, primitive.shadow_thickness),	XmRImmediate,	(XtPointer) 0    },    {    	XmNtext,	XmCText,	XmRXmString,	sizeof(_XmString),	XtOffsetOf( struct _XmpStringRec,string.text),	XmRImmediate,	(XtPointer) NULL    },    {	XmNfontList,	XmCFontList,	XmRFontList,	sizeof(XmFontList),	XtOffsetOf( struct _XmpStringRec,string.font_list),	XtRCallProc,	(XtPointer) DefaultFont    },    {	XmNalignment,	XmCAlignment,	XmRAlignment,	sizeof(unsigned char),	XtOffsetOf( struct _XmpStringRec,string.alignment),	XmRImmediate, 	(XtPointer) XmALIGNMENT_CENTER    },    { 	XmNstringDirection,	XmCStringDirection,	XmRStringDirection,	sizeof(unsigned char),	XtOffsetOf( struct _XmpStringRec,string.string_direction),	XmRImmediate,	(XtPointer) XmSTRING_DIRECTION_DEFAULT    },};static XmSyntheticResource syn_resources[] ={    {	XmNtext, 	sizeof (_XmString),	XtOffsetOf( struct _XmpStringRec, string.text),	ToExternalXmString,	ToInternalXmString    },};externaldef (xmpstringclassrec) XmpStringClassRec xmpStringClassRec = {  {    (WidgetClass)&xmpBlobClassRec,            /* superclass            */    "XmpString",                              /* class_name            */    sizeof(XmpStringRec),                     /* widget_size           */    ClassInitialize,                          /* class_initialize      */    NULL,                                     /* class_part_initialize */    FALSE,                                    /* class_inited          */    Initialize,                               /* initialize            */    NULL,                                     /* initialize_hook       */    XtInheritRealize,                         /* realize               */    NULL,                                     /* actions               */    NULL,                                     /* num_actions           */    resources,                                /* resources             */    XtNumber(resources),                      /* num_resources         */    NULLQUARK,                                /* xrm_class             */    TRUE,                                     /* compress_motion       */    XtExposeCompressMaximal,                  /* compress_exposure     */    TRUE,                                     /* compress_enterleave   */    FALSE,                                    /* visible_interest      */    Destroy,                                  /* destroy               */    Resize,                                   /* resize                */    XtInheritExpose,                          /* expose                */    SetValues,                                /* set_values            */    NULL,                                     /* set_values_hook       */    XtInheritSetValuesAlmost,                 /* set_values_almost     */    NULL,                                     /* get_values_hook       */    NULL,                                     /* accept_focus          */    XtVersion,                                /* version               */    NULL,                                     /* callback_private      */    defaultTranslations,                      /* tm_table              */    XtInheritQueryGeometry,                   /* query_geometry        */    NULL,                                     /* display_accelerator   */    NULL,                                     /* extension             */  },  {                                           /* XmPrimitive           */    XmInheritBorderHighlight,                 /* border_highlight      */    XmInheritBorderUnhighlight,               /* border_unhighlight    */    XtInheritTranslations,                    /* translations          */    NULL,                                     /* arm_and_activate      */    syn_resources,                            /* syn_resources         */    XtNumber(syn_resources),                  /* num_syn_resources     */    NULL,                                     /* extension             */  },  {                                           /* XmpBlob               */    DrawVisual,                               /* draw_visual           */    XmInheritDrawShadow,                      /* draw_shadow           */    CreateGC,                                 /* create_text_gc        */    XmInheritDestroyGC,                       /* destroy_text_gc       */    XmInheritSelectGC,                        /* select_text_gc        */    XmInheritCalcWidgetSize,                  /* calc_widget_size      */    CalcVisualSize,                           /* calc_visual_size      */    NULL,                                     /* extension             */  },  {                                           /* XmpString             */    XmLABEL_FONTLIST,                         /* default_fontlist_type */    NULL,                                     /* extension             */  }};externaldef( xmpstringwidgetclass) WidgetClass xmpStringWidgetClass =                                (WidgetClass) &xmpStringClassRec;static XmRepTypeId alignmentId;static XmRepTypeId stringDirectionId;/************************************************************************ * *  DefaultFont * ***********************************************************************/static void DefaultFont (w, offset, value)    Widget w;    int offset;    XrmValue *value;{    XmpStringWidgetClass wc = (XmpStringWidgetClass)XtClass(w);    static XmFontList f;    /* Dynamic default for XmNfontList. Get class's default font type. */    f = _XmGetDefaultFontList (w, wc->string_class.default_fontlist_type);    value->addr = (char *)&f;    value->size = sizeof(f);}/************************************************************************ * *  ToInternalXmString * ***********************************************************************/static XmImportOperator ToInternalXmString (w, offset, value)    Widget w;    int offset;    XtArgVal *value;{    XmpStringWidget sw = (XmpStringWidget)w;    _XmString is = NULL;    /* Convert synthetic resource to internal format. */    if (sw->string.text != NULL &&	_XmStringIsXmString ((XmString)sw->string.text))	is = _XmStringCreate ((XmString)sw->string.text);    *value = (XtArgVal)is;    return XmSYNTHETIC_LOAD;}/************************************************************************ * *  ToExternalXmString * ***********************************************************************/static void ToExternalXmString (w, resource, value)    Widget w;    XrmQuark resource;    XtArgVal *value;{    XmpStringWidget sw = (XmpStringWidget)w;    XmString es = NULL;    /* Convert synthetic resource value to external format */     if (sw->string.text != NULL)	es = _XmStringCreateExternal (sw->string.font_list, sw->string.text);    *value = (XtArgVal)es;}/********************************************************************* * *  ClassInitialize * ********************************************************************/         static void ClassInitialize(){    /* Use Motif representation types for XmNalignment, XmNstringDirection */    alignmentId = XmRepTypeGetId (XmRAlignment);    stringDirectionId = XmRepTypeGetId (XmRStringDirection);}/************************************************************ * *  Initialize * ************************************************************/static void Initialize (request_w, new_w, args, num_args)    Widget request_w;    Widget new_w;    ArgList args;    Cardinal *num_args;{    XmpStringWidgetClass wc = (XmpStringWidgetClass)XtClass(new_w);    XmpStringWidget nw = (XmpStringWidget)new_w;    unsigned char stringDirection;    Arg dirArgs[1];    /* Validate  XmNalignment */    if (!XmRepTypeValidValue (alignmentId, nw->string.alignment, (Widget)nw))	nw->string.alignment = XmALIGNMENT_CENTER;       /* Get Default XmNstringDirection from parent */   if (nw->string.string_direction == XmSTRING_DIRECTION_DEFAULT) {	if (XmIsManager (XtParent(nw))) {	    XtSetArg (dirArgs[0], XmNstringDirection, &stringDirection);	    XtGetValues (XtParent(nw), dirArgs, 1);	    nw->string.string_direction = stringDirection;	}	else {	    nw->string.string_direction = XmSTRING_DIRECTION_L_TO_R;	}    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -