Doxygen Source Code Documentation
Main Page Alphabetical List Data Structures File List Data Fields Globals Search
pbar.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef _MCW_PBAR_H_
00008 #define _MCW_PBAR_H_
00009
00010 #include <Xm/Label.h>
00011 #include <Xm/PanedW.h>
00012 #include <Xm/DrawnB.h>
00013 #include <Xm/BulletinB.h>
00014
00015 #include <stdio.h>
00016 #include <string.h>
00017 #include <math.h>
00018
00019 #include "mrilib.h"
00020 #include "mcw_malloc.h"
00021
00022 #include "display.h"
00023 #include "bbox.h"
00024 #include "xutil.h"
00025
00026 void PBAR_click_CB( Widget , XtPointer , XtPointer ) ;
00027 void PBAR_set_CB( Widget , XtPointer , MCW_choose_cbs * ) ;
00028 void PBAR_resize_CB( Widget , XtPointer , XtPointer ) ;
00029 void PBAR_labelize( float , char * ) ;
00030
00031 #define check_width 8
00032 #define check_height 8
00033 static char check_bits[] = {
00034 0x11, 0xaa, 0x44, 0xaa, 0x11, 0xaa, 0x44, 0xaa};
00035
00036 static Pixmap check_pixmap = XmUNSPECIFIED_PIXMAP ;
00037
00038 #define NPANE_MIN 2
00039 #define NPANE_MAX 20
00040 #define PANE_WIDTH 15
00041 #define PANE_MIN_HEIGHT 5
00042 #define PANE_LOFF 6
00043 #define PANE_SPACING 2
00044
00045 #define PANE_MAXMODE 2
00046
00047 #define NPANE_NOSASH 21
00048 #define SASH_HYES 5
00049 #define SASH_HNO 1
00050
00051 #define KEEP_LABEL(ip,np) ( ((ip)<=(np) && (np)<NPANE_NOSASH) || ((ip)==0 || (ip)==(np)) )
00052
00053 #define pbCR_COLOR (1<<0)
00054 #define pbCR_VALUE (1<<1)
00055
00056 #define NPANE_BIG 128
00057
00058 typedef struct {
00059 Widget top , panew , panes[NPANE_MAX] , labels[NPANE_MAX+1] ;
00060 int num_panes , panes_sum , panew_height , ov_index[NPANE_MAX] , renew_all ;
00061 float pval[NPANE_MAX+1] ;
00062 MCW_DC * dc ;
00063
00064 float pval_save[NPANE_MAX+1][NPANE_MAX+1][PANE_MAXMODE] ;
00065 int ovin_save[NPANE_MAX+1][NPANE_MAX+1][PANE_MAXMODE] ;
00066 int npan_save[PANE_MAXMODE] ;
00067
00068 int pane_hsum[NPANE_MAX+1] ;
00069
00070 int update_me , mode , hide_changes , keep_pval ;
00071
00072 gen_func * pb_CB ;
00073 XtPointer pb_data ;
00074
00075 XtPointer parent ;
00076
00077 int bigmode , bigset ;
00078 float bigtop , bigbot ;
00079 rgbyte bigcolor[NPANE_BIG] ;
00080 char * bigname ;
00081 XImage * bigxim ;
00082 int bigmap_index ;
00083 float bigfac ;
00084 int bigflip ;
00085 int bigrota ;
00086
00087 Widget big_menu , big_label , big_choose_pb ;
00088 } MCW_pbar ;
00089
00090 MCW_pbar * new_MCW_pbar( Widget , MCW_DC * ,
00091 int,int , float,float , gen_func * , XtPointer ) ;
00092
00093 void alter_MCW_pbar( MCW_pbar * , int , float * ) ;
00094 void update_MCW_pbar( MCW_pbar * ) ;
00095
00096 MRI_IMAGE * MCW_pbar_to_mri( MCW_pbar *,int,int ) ;
00097
00098 void rotate_MCW_pbar( MCW_pbar * , int ) ;
00099
00100 void PBAR_set_panecolor( MCW_pbar *, int , int ) ;
00101
00102 void PBAR_set_bigmode( MCW_pbar *, int, float,float ) ;
00103 void PBAR_bigexpose_CB( Widget , XtPointer , XtPointer ) ;
00104 void PBAR_add_bigmap( char * , rgbyte * ) ;
00105 void PBAR_read_bigmap( char *, MCW_DC * ) ;
00106 void PBAR_make_bigmap( char *,
00107 int, float *, rgbyte *, MCW_DC * );
00108
00109 void PBAR_set_bigmap( MCW_pbar * , char * ) ;
00110 char * PBAR_get_bigmap( MCW_pbar * ) ;
00111 int PBAR_define_bigmap( char *cmd ) ;
00112 void PBAR_flip( MCW_pbar * ) ;
00113
00114 #endif