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

📄 xglyph.c

📁 source code: Covert TXT to PDF
💻 C
📖 第 1 页 / 共 5 页
字号:
  XtSetArg( args[i], XtNheight, 20 ); i++;  XtSetArg( args[i], XtNx, 0 ); i++;  XtSetArg( args[i], XtNy, 0 ); i++;  XtSetArg( args[i], XtNlabel, " Exit Program"); i++;  XtSetValues(exitbutton,args,i);  XtAddCallback( exitbutton, XtNcallback,		 (XtCallbackProc) exitprog, (XtPointer) 0 );  /* The About widget for the about message */  aboutbutton = XtCreateManagedWidget("Com", commandWidgetClass, box, 				   NULL, 0);   i=0;  XtSetArg( args[i], XtNwidth, 55 ); i++;  XtSetArg( args[i], XtNheight, 20 ); i++;  XtSetArg( args[i], XtNlabel, "About" ); i++;  XtSetValues(aboutbutton,args,i);  XtAddCallback( aboutbutton, XtNcallback,		 (XtCallbackProc) showabout, (XtPointer) 0 );  XtRealizeWidget(TopLevel);  XtPopup(Output,XtGrabNone);  if( extraflags & CHECK_PERFORMANCE){    XtPopup(Output2,XtGrabNone);  }    /* Set parameters for X11-support */  T1_SetX11Params( display, DefaultVisual(display, screennumber),		   DefaultDepth( display, screennumber),		   DefaultColormap(display, screennumber));    /* Create a dummy-pixmap because we need one to destroy before     the next is created! */  pixmap = XCreatePixmap(display,			 XtWindow(OutputWindow),  			 200,  			 200, 			 DefaultDepth(display,screennumber)			 );  			     XtAppMainLoop(TopLevelApp);     return(0);  }/* Compute the BBox of a rotated box: */BBox ComputeRotBBox( BBox inbox, float angle){  int i;  BBox resultbox={ 0, 0, 0, 0};  struct point  {    double x;    double y;  } p[4], P[4];    double sinalpha, cosalpha;    sinalpha=sin((double)angle*PI/180);  cosalpha=cos((double)angle*PI/180);  /* initialize points */  p[0].x=(double) inbox.llx;  p[0].y=(double) inbox.lly;  p[1].x=(double) inbox.urx;  p[1].y=(double) inbox.lly;  p[2].x=(double) inbox.urx;  p[2].y=(double) inbox.ury;  p[3].x=(double) inbox.llx;  p[3].y=(double) inbox.ury;  /*  fprintf( stderr, "InBox: (%f,%f), (%f,%f), (%f,%f), (%f,%f)\n",	   p[0].x, p[0].y, p[1].x, p[1].y, p[2].x, p[2].y,	   p[3].x, p[3].y);	   */  /* Compute tranformed points */  P[0].x=p[0].x*cosalpha-p[0].y*sinalpha;  P[0].y=p[0].x*sinalpha+p[0].y*cosalpha;  P[1].x=p[1].x*cosalpha-p[1].y*sinalpha;  P[1].y=p[1].x*sinalpha+p[1].y*cosalpha;  P[2].x=p[2].x*cosalpha-p[2].y*sinalpha;  P[2].y=p[2].x*sinalpha+p[2].y*cosalpha;  P[3].x=p[3].x*cosalpha-p[3].y*sinalpha;  P[3].y=p[3].x*sinalpha+p[3].y*cosalpha;  /*  fprintf( stderr, "RotPoints: (%f,%f), (%f,%f), (%f,%f), (%f,%f)\n",	   P[0].x, P[0].y, P[1].x, P[1].y, P[2].x, P[2].y,	   P[3].x, P[3].y);	   */  /* Get BBox: */  for (i=0; i<4; i++){    if (P[i].x < (float) resultbox.llx)      resultbox.llx=(int) floor(P[i].x +0.5);    if (P[i].x > (float) resultbox.urx)      resultbox.urx=(int) floor(P[i].x +0.5);    if (P[i].y < (float) resultbox.lly)      resultbox.lly=(int) floor(P[i].y +0.5);    if (P[i].y > (float) resultbox.ury)      resultbox.ury=(int) floor(P[i].y +0.5);  }  return(resultbox);    }void exitprog(Widget exitbutton, XtPointer client_data , XtPointer call_data){  int i;    for (i=0; i< T1_Get_no_fonts(); i++){    /*    printf("Enc-Scheme=%s\n",    T1_GetEncodingScheme( i));*/    ;  }  T1_CloseLib();    exit(0); }void togglekerning( Widget kerningbutton, XtPointer client_data, XtPointer call_data){  int i;  char state=0;  Arg args[10];  /* Get state of toggle Button: */  i=0;  XtSetArg(args[i], XtNstate, &state); i++;  XtGetValues(kerningbutton,args,1);  if ((state))    Modflag |= T1_KERNING;  else    Modflag &= ~T1_KERNING;  }void toggleligatur( Widget ligaturbutton, XtPointer client_data, XtPointer call_data){  int i;  char state=0;  Arg args[10];  /* Get state of toggle Button: */  i=0;  XtSetArg(args[i], XtNstate, &state); i++;  XtGetValues(ligaturbutton,args,1);  LigDetect=state;}void toggler2l( Widget r2lbutton, XtPointer client_data, XtPointer call_data){  int i;  char state=0;  Arg args[10];  /* Get state of toggle Button: */  i=0;  XtSetArg(args[i], XtNstate, &state); i++;  XtGetValues(r2lbutton,args,1);  if ((state))    Modflag |= T1_RIGHT_TO_LEFT;  else    Modflag &= ~T1_RIGHT_TO_LEFT;    /* Invert state */  i=0;  if (state){    XtSetArg( args[i], XtNwidth, 55 ); i++;    XtSetArg( args[i], XtNheight, 20 ); i++;    XtSetArg( args[i], XtNlabel, "<--|" ); i++;  }  else{    XtSetArg( args[i], XtNwidth, 55 ); i++;    XtSetArg( args[i], XtNheight, 20 ); i++;    XtSetArg( args[i], XtNlabel, "|-->" ); i++;  }  XtSetValues(r2lbutton,args,i);}void toggleunderline( Widget underlinebutton, XtPointer client_data, XtPointer call_data){  int i;  char state=0;  Arg args[10];  /* Get state of toggle Button: */  i=0;  XtSetArg(args[i], XtNstate, &state); i++;  XtGetValues(underlinebutton,args,1);  if ((state))    Modflag |= T1_UNDERLINE;  else    Modflag &= ~T1_UNDERLINE;  }void toggleoverline( Widget overlinebutton, XtPointer client_data, XtPointer call_data){  int i;  char state=0;  Arg args[10];  /* Get state of toggle Button: */  i=0;  XtSetArg(args[i], XtNstate, &state); i++;  XtGetValues( overlinebutton,args,1);  if ((state))    Modflag |= T1_OVERLINE;  else    Modflag &= ~T1_OVERLINE;  }void toggleoverstrike( Widget overstrikebutton, XtPointer client_data, XtPointer call_data){  int i;  char state=0;  Arg args[10];  /* Get state of toggle Button: */  i=0;  XtSetArg(args[i], XtNstate, &state); i++;  XtGetValues( overstrikebutton,args,1);  if ((state))    Modflag |= T1_OVERSTRIKE;  else    Modflag &= ~T1_OVERSTRIKE;  }void toggleopacity( Widget opacitybutton, XtPointer client_data, XtPointer call_data){  int i;  char state=0;  Arg args[10];  /* Get state of toggle Button: */  i=0;  XtSetArg(args[i], XtNstate, &state); i++;  XtGetValues(opacitybutton,args,1);  i=0;  XtSetArg( args[i], XtNstate, state); i++;  XtSetArg( args[i], XtNwidth, 80 ); i++;  XtSetArg( args[i], XtNheight, 20 ); i++;  Opacity=state;    /* Invert state */  if (state){    XtSetArg( args[i], XtNlabel, "Opaque" ); i++;    XtSetValues(opacitybutton,args,i);    outbg=bg;  }  else{    XtSetArg( args[i], XtNlabel, "Transparent" ); i++;    XtSetValues(opacitybutton,args,i);    outbg=pink4.pixel;  }  }/* Toggle the antialiasing level */void toggleaalevel( Widget aalevelbutton, XtPointer client_data, XtPointer call_data){  int i;  char state=0;  Arg args[10];  /* Get state of toggle Button: */  i=0;  XtSetArg(args[i], XtNstate, &state); i++;  XtGetValues( aalevelbutton,args,1);  i=0;  XtSetArg( args[i], XtNstate, state); i++;  XtSetArg( args[i], XtNwidth, 80 ); i++;  XtSetArg( args[i], XtNheight, 15 ); i++;    /* Invert state */  if (state){    XtSetArg( args[i], XtNlabel, "AA-High" ); i++;    XtSetValues(aalevelbutton,args,i);    aalevel=T1_AA_HIGH;  }  else{    XtSetArg( args[i], XtNlabel, "AA-Low" ); i++;    XtSetValues(aalevelbutton,args,i);    aalevel=T1_AA_LOW;  }  }/* Set a new fore/background color */void setcolor( Widget widget, XtPointer client_data, XtPointer call_data){  int i;  Arg args[10];  /* foreground colors */  if (widget==fgwhitebutton){    fg=white.pixel;    i=0;    XtSetArg( args[i], XtNbackground, fg ); i++;    XtSetValues(fgstatus,args,i);    return;  }  if (widget==fgblackbutton){    fg=black.pixel;    i=0;    XtSetArg( args[i], XtNbackground, fg ); i++;    XtSetValues(fgstatus,args,i);    return;  }  if (widget==fggraybutton){    fg=gray.pixel;    i=0;    XtSetArg( args[i], XtNbackground, fg ); i++;    XtSetValues(fgstatus,args,i);    return;  }  if (widget==fgredbutton){    fg=red.pixel;    i=0;    XtSetArg( args[i], XtNbackground, fg ); i++;    XtSetValues(fgstatus,args,i);    return;  }  if (widget==fggreenbutton){    fg=green.pixel;    i=0;    XtSetArg( args[i], XtNbackground, fg ); i++;    XtSetValues(fgstatus,args,i);    return;  }  if (widget==fgbluebutton){    fg=blue.pixel;    i=0;    XtSetArg( args[i], XtNbackground, fg ); i++;    XtSetValues(fgstatus,args,i);    return;  }  /* background colors */  if (widget==bgwhitebutton){    bg=white.pixel;    if (Opacity)      outbg=bg;    i=0;    XtSetArg( args[i], XtNbackground, bg ); i++;    XtSetValues(bgstatus,args,i);    return;  }  if (widget==bgblackbutton){    bg=black.pixel;    if (Opacity)      outbg=bg;    i=0;    XtSetArg( args[i], XtNbackground, bg ); i++;    XtSetValues(bgstatus,args,i);    return;  }  if (widget==bggraybutton){    bg=gray.pixel;    if (Opacity)      outbg=bg;    i=0;    XtSetArg( args[i], XtNbackground, bg ); i++;    XtSetValues(bgstatus,args,i);    return;  }  if (widget==bgredbutton){    bg=red.pixel;    if (Opacity)      outbg=bg;    i=0;    XtSetArg( args[i], XtNbackground, bg ); i++;    XtSetValues(bgstatus,args,i);    return;  }  if (widget==bggreenbutton){    bg=green.pixel;    if (Opacity)      outbg=bg;    i=0;    XtSetArg( args[i], XtNbackground, bg ); i++;    XtSetValues(bgstatus,args,i);    return;  }  if (widget==bgbluebutton){    bg=blue.pixel;    if (Opacity)      outbg=bg;    i=0;    XtSetArg( args[i], XtNbackground, bg ); i++;    XtSetValues(bgstatus,args,i);    return;  }  /* we shouldn't get here */  return;  }

⌨️ 快捷键说明

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