Doxygen Source Code Documentation
xvisual.c File Reference
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <X11/Shell.h>
#include <stdio.h>
#include <Xm/XmAll.h>
#include "mrilib.h"
#include "logo.h"
#include "machdep.h"
#include <locale.h>
Go to the source code of this file.
Defines | |
#define | MAIN |
#define | USE_PIXMAP |
#define | WANT_LOGO_BITMAP |
#define | LABEL_ARG(str) XtVaTypedArg , XmNlabelString , XmRString , (str) , strlen(str)+1 |
#define | ICON_bg bg_pix |
#define | ICON_fg fg_pix |
Functions | |
XImage * | rgb_to_XImage (Display *dis, XVisualInfo *vin, MRI_IMAGE *im) |
void | fred_CB (Widget w, XtPointer cd, XtPointer cb) |
void | elvis_CB (Widget w, XtPointer cd, XtPointer cb) |
int | main (int argc, char *argv[]) |
char * | _Xsetlocale (int category, const char *locale) |
Variables | |
char * | vcl [] |
XImage * | xim = NULL |
int | xim_ww = 0 |
int | xim_hh = 0 |
Define Documentation
|
|
|
|
|
|
|
|
|
|
|
|
Function Documentation
|
Definition at line 356 of file xvisual.c.
00357 { return setlocale(category,locale) ; }
|
|
Definition at line 36 of file xvisual.c. References ev, logo_pixmap, xim, xim_hh, and xim_ww. Referenced by main().
00037 { 00038 static int needGC = 1 ; 00039 static GC myGC ; 00040 XmDrawingAreaCallbackStruct * cbs = (XmDrawingAreaCallbackStruct *) cb ; 00041 XExposeEvent * ev = (XExposeEvent *) cbs->event ; 00042 Dimension nx , ny ; 00043 int ii , jj ; 00044 00045 if( cbs->reason != XmCR_EXPOSE || ev->count > 0 ) return ; 00046 00047 if( needGC ){ 00048 XGCValues gcv; 00049 gcv.function = GXcopy ; 00050 myGC = XCreateGC( XtDisplay(w) , XtWindow(w) , GCFunction , &gcv ) ; 00051 needGC = 0 ; 00052 } 00053 00054 XtVaGetValues( w , XmNwidth , &nx , XmNheight , &ny , NULL ) ; 00055 00056 #ifdef USE_TRUECOLOR 00057 ii = 0 ; 00058 do{ 00059 jj = 0 ; 00060 do{ 00061 XPutImage( XtDisplay(w),XtWindow(w),myGC,xim,0,0,ii,jj,xim_ww,xim_hh) ; 00062 jj += xim_hh + 4 ; 00063 } while( jj < ny ) ; 00064 ii += xim_ww ; 00065 } while( ii < nx ) ; 00066 #else 00067 # ifdef USE_PIXMAP 00068 ii = 0 ; 00069 do{ jj = 0 ; 00070 do{ 00071 XCopyArea( XtDisplay(w),logo_pixmap , XtWindow(w),myGC , 00072 0,0,logo_width,logo_height , ii,jj ) ; 00073 jj += logo_height + 4 ; 00074 } while( jj < ny ) ; 00075 ii += logo_width ; 00076 } while( ii < nx ) ; 00077 # endif /* USE_PIXMAP */ 00078 #endif /* USE_TRUECOLOR */ 00079 00080 return ; 00081 } |
|
Definition at line 34 of file xvisual.c. Referenced by main().
00034 { exit(0); } |
|
Definition at line 83 of file xvisual.c. References argc, dpy, elvis_CB(), fred_CB(), LABEL_ARG, logo_pixmap, mri_free(), mri_read_ppm(), MRI_IMAGE::nx, MRI_IMAGE::ny, rgb_to_XImage(), top, xim, xim_hh, and xim_ww.
00084 { 00085 XtAppContext app; /* the application context */ 00086 Widget top; /* toplevel widget */ 00087 Display *dpy; /* display */ 00088 Colormap colormap; /* created colormap */ 00089 XVisualInfo vinfo; /* template for find visual */ 00090 Visual *vis ; /* the Visual itself */ 00091 XVisualInfo *vinfo_list; /* returned list of visuals */ 00092 int count; /* number of matchs (only 1?) */ 00093 int vid , stat ; 00094 Widget fred , fff ; 00095 00096 top = XtVaAppInitialize( &app , "test" , NULL , 0 , &argc , argv , NULL , NULL ) ; 00097 dpy = XtDisplay (top); 00098 00099 #ifndef USE_TRUECOLOR 00100 stat = XMatchVisualInfo( dpy,XScreenNumberOfScreen(XtScreen(top)), 00101 8,PseudoColor,&vinfo ) ; 00102 if( stat == 0 ){ printf("no 8 bit visual\n") ; exit(1) ; } 00103 #else 00104 vid = strtol( argv[1] , NULL , 0 ) ; 00105 vinfo.visualid = (VisualID) vid ; 00106 vinfo_list = XGetVisualInfo (dpy, VisualIDMask, &vinfo, &count); 00107 if( count == 0 || vinfo_list == NULL ){fprintf(stderr,"no match\n");exit(1);} 00108 vinfo = vinfo_list[0] ; 00109 #endif 00110 vid = vinfo.visualid ; 00111 vis = vinfo.visual ; 00112 00113 colormap = XCreateColormap( dpy, RootWindowOfScreen(XtScreen(top)) , 00114 vis , AllocNone ) ; 00115 00116 XtVaSetValues( top , 00117 XtNborderColor , 0 , 00118 XtNbackground , 0 , 00119 XtNdepth , vinfo.depth , 00120 XtNcolormap , colormap , 00121 XtNvisual , vis , 00122 NULL ) ; 00123 00124 fff = XtVaCreateWidget( "dialog" , xmFormWidgetClass , top , 00125 XmNborderWidth , 0 , 00126 NULL ) ; 00127 00128 #ifndef LABEL_ARG 00129 #define LABEL_ARG(str) \ 00130 XtVaTypedArg , XmNlabelString , XmRString , (str) , strlen(str)+1 00131 #endif 00132 00133 fred = XtVaCreateManagedWidget( "dialog" , xmPushButtonWidgetClass , fff , 00134 LABEL_ARG("Jumpback") , 00135 XmNtopAttachment , XmATTACH_FORM , 00136 XmNleftAttachment , XmATTACH_FORM , 00137 XmNrightAttachment , XmATTACH_FORM , 00138 NULL ) ; 00139 XtAddCallback( fred , XmNactivateCallback , fred_CB , NULL ) ; 00140 00141 fred = XtVaCreateManagedWidget( "dialog" , xmDrawingAreaWidgetClass , fff , 00142 XmNtopAttachment , XmATTACH_WIDGET , 00143 XmNtopWidget , fred , 00144 XmNleftAttachment , XmATTACH_FORM , 00145 XmNrightAttachment , XmATTACH_FORM , 00146 XmNbottomAttachment , XmATTACH_FORM , 00147 NULL ) ; 00148 00149 XtAddCallback( fred , XmNexposeCallback , elvis_CB , NULL ) ; 00150 00151 #ifdef USE_TRUECOLOR 00152 { MRI_IMAGE * im ; 00153 im = mri_read_ppm( "bob.ppm" ) ; 00154 xim = rgb_to_XImage( XtDisplay(top) , &vinfo , im ) ; 00155 xim_ww = im->nx ; xim_hh = im->ny ; 00156 mri_free(im) ; 00157 } 00158 #else 00159 xim_ww = xim_hh = 77 ; 00160 #endif 00161 00162 XtVaSetValues( top , 00163 XmNwidth , xim_ww , 00164 XmNheight , xim_hh+40 , 00165 NULL ) ; 00166 00167 #ifdef USE_PIXMAP 00168 { Pixel bg_pix , fg_pix ; 00169 # define ICON_bg bg_pix 00170 # define ICON_fg fg_pix 00171 00172 XtVaGetValues( fred , 00173 XmNforeground , &bg_pix , /* note reversal of roles here! */ 00174 XmNbackground , &fg_pix , 00175 NULL ) ; 00176 00177 logo_pixmap = XCreatePixmapFromBitmapData( 00178 XtDisplay(top) , 00179 RootWindowOfScreen(XtScreen(top)) , 00180 logo_bits , logo_width , logo_height , 00181 fg_pix , bg_pix , 00182 DefaultDepthOfScreen(XtScreen(top)) ) ; 00183 00184 XtVaSetValues( top , XmNiconPixmap , logo_pixmap , NULL ) ; 00185 } 00186 #endif 00187 00188 00189 XtManageChild(fff) ; 00190 XtRealizeWidget(top); 00191 XtAppMainLoop(app); 00192 00193 exit(0); /* never reached */ 00194 } |
|
Referenced by AFNI_make_widgets(), main(), and mri_to_XImage(). |
Variable Documentation
|
Initial value: { "StaticGray" , "GrayScale" , "StaticColor" , "PseudoColor" , "TrueColor" , "DirectColor" } |
|
Definition at line 20 of file xvisual.c. Referenced by elvis_CB(), and main(). |
|
Definition at line 22 of file xvisual.c. Referenced by elvis_CB(), and main(). |
|
Definition at line 21 of file xvisual.c. Referenced by elvis_CB(), and main(). |