postscript_defs.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:9k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: postscript_defs.hpp,v $
  4.  * PRODUCTION Revision 1000.0  2003/10/31 22:07:16  gouriano
  5.  * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.2
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. #ifndef GUI_UTILS__POSTSCRIPT_DEFS_HPP
  10. #define GUI_UTILS__POSTSCRIPT_DEFS_HPP
  11. /*  $Id: postscript_defs.hpp,v 1000.0 2003/10/31 22:07:16 gouriano Exp $
  12.  * ===========================================================================
  13.  *
  14.  *                            PUBLIC DOMAIN NOTICE
  15.  *               National Center for Biotechnology Information
  16.  *
  17.  *  This software / database is a "United States Government Work" under the
  18.  *  terms of the United States Copyright Act.  It was written as part of
  19.  *  the author's official duties as a United States Government employee and
  20.  *  thus cannot be copyrighted.  This software / database is freely available
  21.  *  to the public for use. The National Library of Medicine and the U.S.
  22.  *  Government have not placed any restriction on its use or reproduction.
  23.  *
  24.  *  Although all reasonable efforts have been taken to ensure the accuracy
  25.  *  and reliability of the software and data, the NLM and the U.S.
  26.  *  Government do not and cannot warrant the performance or results that
  27.  *  may be obtained by using this software or data. The NLM and the U.S.
  28.  *  Government disclaim all warranties, express or implied, including
  29.  *  warranties of performance, merchantability or fitness for any particular
  30.  *  purpose.
  31.  *
  32.  *  Please cite the author in any work or product based on this material.
  33.  *
  34.  * ===========================================================================
  35.  *
  36.  * Authors:  Peter Meric
  37.  *
  38.  * File Description:
  39.  *   Strings and constants for Postscript
  40.  *
  41.  */
  42. #include <corelib/ncbistr.hpp>
  43. BEGIN_NCBI_SCOPE
  44. //
  45. // simple handler for dumping a list of const char*'s to a stream
  46. //
  47. inline
  48. void PrintStrings(CNcbiOstream& out, const char** text)
  49. {
  50.     for (;  text;  ++text) {
  51.         (out) << *text << endl;
  52.     }
  53. }
  54. //
  55. // boilerplate for Postscript output(header)
  56. //
  57. static const char* s_PS_topA[] =
  58. {
  59.     "%!PS - Adobe - 3.0",
  60.     "%%LanguageLevel: 1",
  61.     "%%Creator: NCBI Postscript Generator(meric@ncbi.nlm.nih.gov)",
  62.     "%%CreationDate: Mon 1 Jan 2002 00:00:00",
  63.     NULL
  64. };
  65. //
  66. // boilerplate for Postscript output(footer)
  67. //
  68. static const char* s_PS_topB[] =
  69. {
  70.     "%%Pages: (atend)",
  71.     "%%PageOrder: Ascend",
  72.     "%%EndComments",
  73.     NULL
  74. };
  75. //
  76. // boilerplate for Postscript output(colors)
  77. //
  78. static const char* s_PS_colors[] =
  79. {
  80.     "% CMYK color definitions",
  81.     "/colordict 71 dict def colordict begin % 71 colors",
  82.     "/black              { 0.00 0.00 0.00 1.00 } def",
  83.     "/greyd              { 0.00 0.00 0.00 0.90 } def",
  84.     "/verydarkgrey       { 0.00 0.00 0.00 0.80 } def",
  85.     "/greyc              { 0.00 0.00 0.00 0.70 } def",
  86.     "/darkgrey           { 0.00 0.00 0.00 0.60 } def",
  87.     "/greyb              { 0.00 0.00 0.00 0.50 } def",
  88.     "/grey               { 0.00 0.00 0.00 0.40 } def",
  89.     "/greya              { 0.00 0.00 0.00 0.30 } def",
  90.     "/lightgrey          { 0.00 0.00 0.00 0.20 } def",
  91.     "/verylightgrey      { 0.00 0.00 0.00 0.10 } def",
  92.     "/white              { 0.00 0.00 0.00 0.00 } def",
  93.     "% magenta",
  94.     "/verydarkmagenta    { 0.00 1.00 0.00 0.30 } def",
  95.     "/darkmagenta        { 0.00 0.80 0.00 0.05 } def",
  96.     "/magenta            { 0.00 0.60 0.00 0.00 } def",
  97.     "/lightmagenta       { 0.00 0.40 0.00 0.00 } def",
  98.     "/verylightmagenta   { 0.00 0.20 0.00 0.00 } def",
  99.     "% violet",
  100.     "/verydarkviolet     { 0.45 0.85 0.00 0.00 } def",
  101.     "/darkviolet         { 0.30 0.65 0.00 0.00 } def",
  102.     "/violet             { 0.22 0.55 0.00 0.00 } def",
  103.     "/lightviolet        { 0.15 0.40 0.00 0.00 } def",
  104.     "/verylightviolet    { 0.10 0.20 0.00 0.00 } def",
  105.     "% blue",
  106.     "/verydarkblue       { 1.00 1.00 0.00 0.20 } def",
  107.     "/darkblue           { 0.90 0.90 0.00 0.00 } def",
  108.     "/blue               { 0.75 0.75 0.00 0.00 } def",
  109.     "/lightblue          { 0.50 0.50 0.00 0.00 } def",
  110.     "/verylightblue      { 0.30 0.30 0.00 0.00 } def",
  111.     "% skyblue",
  112.     "/verydarkskyblue    { 0.90 0.50 0.00 0.15 } def",
  113.     "/darkskyblue        { 0.75 0.45 0.00 0.00 } def",
  114.     "/skyblue            { 0.60 0.38 0.00 0.00 } def",
  115.     "/lightskyblue       { 0.45 0.25 0.00 0.00 } def",
  116.     "/verylightskyblue   { 0.30 0.15 0.00 0.00 } def",
  117.     "% cyan",
  118.     "/verydarkcyan       { 1.00 0.00 0.00 0.10 } def",
  119.     "/darkcyan           { 0.80 0.00 0.00 0.00 } def",
  120.     "/cyan               { 0.60 0.00 0.00 0.00 } def",
  121.     "/lightcyan          { 0.40 0.00 0.00 0.00 } def",
  122.     "/verylightcyan      { 0.20 0.00 0.00 0.00 } def",
  123.     "% seagreen",
  124.     "/verydarkseagreen   { 0.75 0.00 0.45 0.00 } def",
  125.     "/darkseagreen       { 0.62 0.00 0.38 0.00 } def",
  126.     "/seagreen           { 0.50 0.00 0.30 0.00 } def",
  127.     "/lightseagreen      { 0.38 0.00 0.22 0.00 } def",
  128.     "/verylightseagreen  { 0.25 0.00 0.15 0.00 } def",
  129.     "% green",
  130.     "/verydarkgreen      { 1.00 0.00 1.00 0.25 } def",
  131.     "/darkgreen          { 0.80 0.00 0.80 0.00 } def",
  132.     "/green              { 0.60 0.00 0.60 0.00 } def",
  133.     "/lightgreen         { 0.40 0.00 0.40 0.00 } def",
  134.     "/verylightgreen     { 0.20 0.00 0.20 0.00 } def",
  135.     "% limegreen",
  136.     "/verydarklimegreen  { 0.50 0.00 1.00 0.10 } def",
  137.     "/darklimegreen      { 0.40 0.00 0.95 0.00 } def",
  138.     "/limegreen          { 0.30 0.00 0.80 0.00 } def",
  139.     "/lightlimegreen     { 0.20 0.00 0.65 0.00 } def",
  140.     "/verylightlimegreen { 0.10 0.00 0.50 0.00 } def",
  141.     "% yellow",
  142.     "/verydarkyellow     { 0.00 0.00 1.00 0.25 } def",
  143.     "/darkyellow         { 0.00 0.00 1.00 0.10 } def",
  144.     "/yellow             { 0.00 0.00 1.00 0.00 } def",
  145.     "/lightyellow        { 0.00 0.00 0.50 0.00 } def",
  146.     "/verylightyellow    { 0.00 0.00 0.25 0.00 } def",
  147.     "% orange",
  148.     "/verydarkorange     { 0.00 0.50 0.80 0.10 } def",
  149.     "/darkorange         { 0.00 0.40 0.80 0.00 } def",
  150.     "/orange             { 0.00 0.30 0.80 0.00 } def",
  151.     "/lightorange        { 0.00 0.20 0.75 0.00 } def",
  152.     "/verylightorange    { 0.00 0.15 0.70 0.00 } def",
  153.     "% red",
  154.     "/verydarkred        { 0.00 1.00 1.00 0.15 } def",
  155.     "/darkred            { 0.00 0.80 0.80 0.00 } def",
  156.     "/red                { 0.00 0.60 0.60 0.00 } def",
  157.     "/lightred           { 0.00 0.40 0.40 0.00 } def",
  158.     "/verylightred       { 0.00 0.20 0.20 0.00 } def",
  159.     "% brown",
  160.     "/verydarkbrown      { 0.35 0.85 1.00 0.40 } def",
  161.     "/darkbrown          { 0.30 0.70 1.00 0.35 } def",
  162.     "/brown              { 0.25 0.75 1.00 0.25 } def",
  163.     "/lightbrown         { 0.20 0.60 0.70 0.15 } def",
  164.     "/verylightbrown     { 0.15 0.45 0.55 0.00 } def",
  165.     "end % colordict",
  166.     NULL
  167. };
  168. static const char* s_PS_prologA[] =
  169. {
  170.     "%%BeginProlog",
  171.     "/bop { gsave } def",
  172.     "/eop { grestore showpage } def",
  173.     "% fontname fontsize fnt",
  174.     "/fnt { exch findfont exch scalefont setfont } def",
  175.     "% text fontname fontsize x y showtext",
  176.     "/showtext { 4 2 roll fnt moveto gsave ls_iscale show grestore } def",
  177.     "/pghead { 0 0 0 C /Helvetica 8 dwidth 2 div dheight 1.09 mul showtext } def",
  178.     "/pgfoot { 0 0 0 C /Courier 8 dwidth 2 div 0 showtext } def",
  179.     "% Greyscale color command - r g b C_GREY",
  180.     "/C_GREY { 0.0820 mul exch 0.6094 mul add exch 0.3086 mul add neg 1.0 add setgray } def",
  181.     "% RGB color command - r g b C_RGB",
  182.     "/C_RGB { setrgbcolor } def"
  183.         "% CMYK color command - c m y k C_CMYK",
  184.     "/C_CMYK { setcmykcolor } def",
  185.     NULL
  186. };
  187. static const char* s_PS_prologB[] =
  188. {
  189.     "% Point primitive - x y P",
  190.     "/P { newpath 0.5 0.0 360.0 arc closepath fill } def",
  191.     "% Flat - shaded line - x2 y2 x1 y1 L",
  192.     "/L { moveto lineto } def",
  193.     "% Flat - shaded triangle - x3 y3 x2 y2 x1 y1 T",
  194.     "/T { newpath moveto lineto lineto closepath fill } def",
  195.     "% Polygon xN yN ... x1 y1 N PG",
  196.     "/PG { newpath 3 1 roll moveto 1 sub lineto repeat closepath fill } def",
  197.     "% margins, page setup etc",
  198.     "/to_pix { 72 mul } def",
  199.     "/pg_len { 11 to_pix } def",
  200.     "/pg_wid { 8.5 to_pix } def",
  201.     "/bot_margin { 0.5 to_pix } def",
  202.     "/left_margin { 0.5 to_pix } def",
  203.     "/ls_scale { pg_len dwidth div 0.85 mul pg_wid dheight div 0.85 mul scale } def",
  204.     "/ls_iscale { 1 pg_len dwidth div 0.85 mul div 1 pg_wid dheight div 0.85 mul div scale } def",
  205.     "/ls_xlate { dwidth 0.10 mul -1 dheight mul 1.12 mul translate } def",
  206.     "/ls_rot { 90 rotate } def",
  207.     "/lscape { ls_rot ls_scale ls_xlate } def",
  208.     "%%EndProlog",
  209.     NULL
  210. };
  211. static const char* s_PS_bottom[] =
  212. {
  213.     "%EOF",
  214.     NULL
  215. };
  216. END_NCBI_SCOPE
  217. /*
  218.  * ===========================================================================
  219.  * $Log: postscript_defs.hpp,v $
  220.  * Revision 1000.0  2003/10/31 22:07:16  gouriano
  221.  * PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.2
  222.  *
  223.  * Revision 1.2  2003/06/16 12:44:52  dicuccio
  224.  * Clean-up after initial commit
  225.  *
  226.  * ===========================================================================
  227.  */
  228. #endif // GUI_UTILS__POSTSCRIPT_DEFS_HPP