NCBI C Toolkit Cross Reference

C/desktop/fstyle.h


  1 /*   fstyle.h
  2 * ===========================================================================
  3 *
  4 *                            PUBLIC DOMAIN NOTICE
  5 *            National Center for Biotechnology Information (NCBI)
  6 *
  7 *  This software/database is a "United States Government Work" under the
  8 *  terms of the United States Copyright Act.  It was written as part of
  9 *  the author's official duties as a United States Government employee and
 10 *  thus cannot be copyrighted.  This software/database is freely available
 11 *  to the public for use. The National Library of Medicine and the U.S.
 12 *  Government do not place any restriction on its use or reproduction.
 13 *  We would, however, appreciate having the NCBI and the author cited in
 14 *  any work or product based on this material
 15 *
 16 *  Although all reasonable efforts have been taken to ensure the accuracy
 17 *  and reliability of the software and data, the NLM and the U.S.
 18 *  Government do not and cannot warrant the performance or results that
 19 *  may be obtained by using this software or data. The NLM and the U.S.
 20 *  Government disclaim all warranties, express or implied, including
 21 *  warranties of performance, merchantability or fitness for any particular
 22 *  purpose.
 23 *
 24 * ===========================================================================
 25 *
 26 * File Name:  fstyle.h
 27 *
 28 * Author:  Sergei Egorov, Alex Smirnov
 29 *
 30 * Version Creation Date:   9/23/94
 31 *
 32 * $Revision: 6.1 $
 33 *
 34 * File Description: 
 35 *
 36 * Modifications:  
 37 * --------------------------------------------------------------------------
 38 * Date     Name        Description of modification
 39 * -------  ----------  -----------------------------------------------------
 40 *
 41 * ==========================================================================
 42 */
 43 
 44 #ifndef _FSTYLE_
 45 #define _FSTYLE_
 46 
 47 /**************************************************************************/
 48 /* INCLUDE */
 49 /**************************************************************************/
 50 #include <objfdef.h>
 51 #include <sequtil.h>
 52 #include <ncbidraw.h>
 53 
 54 /**************************************************************************/
 55 /* DEFINES */
 56 /**************************************************************************/
 57 /* Parameter types: */
 58 #define MSM_TRUEFALSE  0  /*Nlm_Boolean*/
 59 #define MSM_COLOR      1  /*Nlm_Int4 R<<16 | G<<8 | B*/
 60 #define MSM_LTYPE      2  /*Nlm_Int1*/
 61 #define MSM_SHADING    3  /*Nlm_Int1*/
 62 #define MSM_PENWIDTH   4  /*Nlm_Int1*/
 63 #define MSM_NUM        5  /*Nlm_Int2*/
 64 #define MSM_STYLE      6  /*Nlm_Int4*/
 65 #define MSM_FONT       7  /*Nlm_FonT*/
 66 #define MSM_HEIGHT     8  /*Nlm_Int4*/
 67 #define MSM_STRING     9  /*Nlm_CharPtr*/
 68 #define MSM_SCALE     10  /*Nlm_Int4*/
 69 
 70 /* Parameter class may be any feature type ( see objfdef.h ) or
 71 one of the following macros: */
 72 #define MSM_TOPSTYLE          0 /* top style */
 73 #define MSM_GROUPS           -1 /* groups of features */
 74 #define MSM_ALIGNMENT        -2 /* alignment */
 75 #define MSM_CCOLOR           -3 /* cycle colors */
 76 #define MSM_SEQUENCE         -4 /* sequence */
 77 #define MSM_EXTRA_GENBANK    -5 /* extra genbank record in the display */
 78 #define MSM_EXTRA_MEDLINE    -6 /* extra medline record in the display */
 79 #define MSM_EXTRA_BOTH       -7 /* extra medline record in the display */
 80 
 81 /* Table of parameters
 82 -------------------------------------------------------------------------------
 83   Class:   |  Subclass: | TRUEFALSE    | SHADING      | STYLE        | STRING |
 84            |            |    | COLOR   |    | PENWIDTH|    | FONT    |    |SCA|
 85            |            |    |    | LTYPE   |    | NUM|    |    | HEIGHT  |LE |
 86 -------------------------------------------------------------------------------
 87 Any feature| SEGMENT    |    | *  |    | *  |    |    | *1 |    | *  |    |   |
 88 (objfdef.h)| SEG_BORD   | *  | *  | *  |    | *  |    |    |    |    |    |   |
 89            | FGAP       |    | *  | *  |    | *  |    | *2 |    |    |    |   |
 90            | FLABEL     |    | *  |    |    |    |    | *3 | *  | *  |    |   |
 91            | FGROUP     |    |    |    |    |    | *4 |    |    |    |    |   |
 92            | FORDER     |    |    |    |    |    | *5 |    |    |    |    |   |
 93            |            |    |    |    |    |    |    |    |    |    |    |   |
 94  Any extra | SEGMENT    |    | *  |    | *  |    |    | *1 |    | *  |    |   |
 95            | SEG_BORD   | *  | *  | *  |    | *  |    |    |    |    |    |   |
 96            | FGAP       |    | *  | *  |    | *  |    | *2 |    |    |    |   |
 97            | FLABEL     |    | *  |    |    |    |    | *3 | *  | *  |    |   |
 98            |            |    |    |    |    |    |    |    |    |    |    |   |
 99  SEQUENCE  | SEGMENT    |    | *  |    | *  |    |    | *6 |    | *  |    |   |
100            | SEG_BORD   | *  | *  | *  |    | *  |    |    |    |    |    |   |
101            | SLABEL     |    | *  |    |    |    |    | *7 | *  | *  |    |   |
102            |            |    |    |    |    |    |    |    |    |    |    |   |
103  TOPSTYLE  | NOSUBCLASS |    |    |    |    |    |    | *8 |    |    |    |   |
104            | SPACE      |    |    |    |    |    |    |    |    | *9 |    |   |
105            | ENDS       |    |    |    |    |    |    |    |    |    |    | * |
106            | LABEL      |    |    |    |    |    | *10| *15|    |    |    |   |
107            |            |    |    |    |    |    |    |    |    |    |    |   |
108  GROUPS    | NOSUBCLASS | *  | *  |    |    |    | *11|    | *  | *  |    |   |
109            |<group_num> | *  |    |    |    |    | *12| *16|    |    | *13|   |
110            |            |    |    |    |    |    |    |    |    |    |    |   |
111  ALIGMENT  | NOSUBCLASS |    |    |    |    |    |    | *14|    |    |    | * |
112            | ALINE      |    | *  | *  |    | *  |    |    |    |    |    |   |
113            |            |    |    |    |    |    |    |    |    |    |    |   |
114  CCOLOR    | NOSUBCLASS |    |    |    |    |    | *  |    |    |    |    |   |
115            |<color_num> |    | *  |    |    |    |    |    |    |    |    |   |
116 -------------------------------------------------------------------------------
117 */
118 
119 /* Parametr subclasses: */
120 #define MSM_NOSUBCLASS 0  /* unnamed subclass */
121 #define MSM_SEGMENT    1  /* feature of sequence segment */
122 #define MSM_SEG_BORD   2  /* segment border */
123 #define MSM_FGAP       3  /* feature gap */
124 #define MSM_FLABEL     4  /* feature label */
125 #define MSM_FGROUP     5  /* feature group */
126 #define MSM_FORDER     6  /* feature order */
127 #define MSM_SLABEL     4  /* sequence label */
128 #define MSM_SPACE      1  /* space between ... */
129 #define MSM_ENDS       2  /* sequence/feature ends */
130 #define MSM_LABEL      4  /* style of label */
131 #define MSM_ALINE      1  /* the line style of for alignment displayed in 
132                              the MSM_FIX style */
133 
134 /* (*1) - feature segment style */
135 #define MSM_SEG_FORM         0xF  /* form of seqment: */
136 #define MSM_SEG_BOX          0       /* box */
137 #define MSM_SEG_LINE         1       /* line */
138 #define MSM_SEG_SYM_RECT     2       /* symbol rectangle */
139 #define MSM_SEG_SYM_DIAMOND  3       /* symbol diamond */
140 #define MSM_SEG_SYM_OVAL     4       /* symbol oval */
141 #define MSM_SEG_SYM_TRIANGLE 5       /* symbol triangle */
142 #define MSM_SEG_END          0xF0 /* end of segment: */
143 #define MSM_SEG_SHOWORIENT   0x10    /* show orientation */
144 #define MSM_SEG_SHOWTRUNC    0x20    /* show trancation */
145 
146 /* (*2) - gap style */
147 #define MSM_GAP_NONE      0       /* gap invisible */
148 #define MSM_GAP_LINE      1       /* show gap as line */
149 #define MSM_GAP_ANGLE     2       /* show gap as angle */
150 
151 /* (*3) - label style */
152 #define MSM_LABEL_NONE    255     /* no lables */
153 #define MSM_LABEL_TYPE    0       /* show type */
154 #define MSM_LABEL_CONTENT 1       /* show content */
155 #define MSM_LABEL_BOTH    2       /* show type:content */
156 #define MSM_LABEL_SUMMARY 3       /* show summary */
157 
158 /* (*4) - feature order - feature order in the group */
159 
160 /* (*5) - feature group - feature group number */
161 
162 /* (*6) - sequence segment style likes feature segment style but
163  the segment form can not be a symbol ( box or line only ) */
164 
165 /*(*7) - label type for sequences ( see file sequtil.h 
166  for PRINTID_ options) */
167 
168 /* (*8) - "top" style */
169 #define MSM_STACKGENE     0x1
170 #define MSM_HISTORY       0x2
171 #define MSM_SEGMENTS      0x4
172 
173 /* (*9) - space between features */
174 
175 /* (*10) - maximumstring lenght */
176 
177 /* (*11) - total number of groups */
178 
179 /* (*12) - order number */
180 
181 /* (*13) - group name */
182 
183 /*(*14) - the style for the alignment*/
184 #define MSM_SEQHIST     1  /*show alignment as a history of a sequence*/
185 #define MSM_MPAIR          2  /*multiple pairwise*/
186 #define MSM_MDIM           3  /*true multiple alignment*/
187 #define MSM_FIXED          4  /*the fixed stype*/
188 
189 /* (*15) lable layout */
190 #define MSM_LABEL_TOP      0
191 #define MSM_LABEL_BOTTOM   1
192 #define MSM_LABEL_LEFT     2
193 #define MSM_LABEL_RIGHT    3
194 
195 /* (*16) group layout */
196 #define MSM_SPREAD         0
197 #define MSM_COMPRESS       1
198 
199 /**************************************************************************/
200 /* FUNCTION PROTOTYPES */
201 /**************************************************************************/
202 #ifdef __cplusplus
203 extern "C" {
204 #endif
205 
206 extern void   LIBCALL     Nlm_InitMuskStyles   (void);
207 extern void   LIBCALL     Nlm_ExitMuskStyles   (void);
208 extern void   LIBCALL     Nlm_MuskStyleManager (void);
209 extern BigScalar   Nlm_GetMuskCParam    (Nlm_Int2 p_class, Nlm_Int2 p_subclass,
210                                          Nlm_Int2 p_type); 
211 extern Nlm_Int2    Nlm_GetMuskTotalSt   (void);
212 extern Nlm_CharPtr Nlm_GetMuskStyleName (Nlm_Int2 styleNum);
213 extern Nlm_Int2    Nlm_GetMuskCurrentSt (void);
214 extern void        Nlm_SetMuskCurrentSt (Nlm_CharPtr name);
215 
216 extern Nlm_Int2    Nlm_CopyMuskStyle    (Nlm_CharPtr name, Nlm_Int2 styleNum);
217 extern Boolean     Nlm_DeleteMuskStyle  (Nlm_Int2 styleNum);
218 extern Boolean     Nlm_EditMuskStyle    (Nlm_Int2 styleNum);
219 extern void        Nlm_SetMuskCParamEd  (Nlm_Int2 p_class, Nlm_Int2 p_subclass,
220                                          Nlm_Int2 p_type, BigScalar val );
221 extern BigScalar   Nlm_GetMuskCParamEd  (Nlm_Int2 p_class, Nlm_Int2 p_subclass,
222                                          Nlm_Int2 p_type); 
223 extern void        Nlm_FreeMuskStyleEd  (Nlm_Boolean save);
224 extern Nlm_FonT        Nlm_LoadMuskFont     ( Nlm_FontSpecPtr fsp, Int2 fnum, Int2Ptr fsize);
225 
226 #ifdef __cplusplus
227 }
228 #endif
229 
230 /**************************************************************************/
231 /* FUNCTION NAME DEFINITION */
232 /**************************************************************************/
233 #define InitMuskStyles    Nlm_InitMuskStyles
234 #define ExitMuskStyles    Nlm_ExitMuskStyles
235 #define MuskStyleManager  Nlm_MuskStyleManager
236 #define GetMuskCParam     Nlm_GetMuskCParam   
237 #define GetMuskTotalSt    Nlm_GetMuskTotalSt  
238 #define GetMuskStyleName  Nlm_GetMuskStyleName
239 #define GetMuskCurrentSt  Nlm_GetMuskCurrentSt
240 #define SetMuskCurrentSt  Nlm_SetMuskCurrentSt
241 
242 #endif /* _FSTYLE_ */
243 
244 /*END*/
245 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.