|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/desktop/fstyle.h |
source navigation diff markup identifier search freetext search file search |
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 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |