home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / libs / plotlib.lha / Plot_1.lzh / Demo / Hardcopy.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-02-05  |  11.6 KB  |  605 lines

  1. #ifndef HARDCOPY_H
  2. #define HARDCOPY_H
  3.  
  4. /****************************************************************
  5.  *                                                                                                                            *
  6.  * Filename : Hardcopy.h                                                                                *
  7.  *                                                                                                                            *
  8.  ****************************************************************
  9.  *                                                                                                                            *
  10.  *    Comment : Allgemeine Definitionen für Hardcopy                            *
  11.  *                        Diese Includedatei sollte bei Hardcopy.c                    *
  12.  *                        eingelesen werden.                                                                *
  13.  *                                                                                                                            *
  14.  *                        Es beinhaltet Definitionen für :                                    *
  15.  *                         ->Gadget                                                                                    *
  16.  *                         ->Graphik                                                                                *
  17.  *                         ->Verschiedene                                                                        *
  18.  *                                                                                                                            *
  19.  *            Rev : V1.1                                                                                            *
  20.  *                                                                                                                            *
  21.  *    History : V1.0 erstellen dieses Files                            01.06.89    *
  22.  *                        V1.1 erweitern um X/Y Option                        01.09.89    *
  23.  *                                                                                                                            *
  24.  *            Doc :                                                                                                        *
  25.  *                                                                                                                            *
  26.  *         Bugs : keine bekannt                                                                            *
  27.  *                                                                                                                            *
  28.  *        Autor : Oesch Silvano                                                                            *
  29.  *                                                                                                                            *
  30.  *        Datum : 01.09.89                                                                                    *
  31.  *                                                                                                                            *
  32.  ****************************************************************/
  33.  
  34.  
  35. /****************************************************************
  36.  *                                                                                                                            *
  37.  * externe Definitionen                                                                                    *
  38.  *                                                                                                                            *
  39.  ****************************************************************/
  40.  
  41. extern struct TextAttr TOPAZ80;            /* Textdarstellung                    */
  42.  
  43. /****************************************************************
  44.  *                                                                                                                            *
  45.  * allgemeine Definitionen                                                                            *
  46.  *                                                                                                                            *
  47.  ****************************************************************/
  48.  
  49. #define SCREENHEADER 10                            /* Grösse des Screenheaders    */
  50. #define WINDOWHEADER 10                            /* Grösse des Windowheaders    */
  51.  
  52. #define HcX    110                                            /* Windowkoordinaten X            */
  53. #define HcY    25                                            /* Windowkoordinaten Y            */
  54. #define HcXh 300                                        /* Windowlänge                            */
  55. #define HcYh 125                                        /* Windowbreite                            */
  56.  
  57. #define HRX    0                                                /* Requestkoordinaten X            */
  58. #define HRY    0                                                /* Requestkoordinaten Y            */
  59. #define HRXh 280                                        /* Requestlänge                            */
  60. #define HRYh 50                                            /* Requestbreite                        */
  61.  
  62. /****************************************************************
  63.  *                                                                                                                            *
  64.  *        Grenzen der Gadgetcounters und Startwerte                                    *
  65.  *                                                                                                                            *
  66.  ****************************************************************/
  67.  
  68. #define MINDICHTE 1                                    /* Dichte 1-7                                */
  69. #define DICHTE 1                                        /* Startwerte                                */
  70. static char DICHTES[] = " 1";
  71. #define MAXDICHTE 7
  72.  
  73. #define MINXRAND 0                                    /* X Rand 0-20                            */
  74. #define MINBREITE 3                                    /* Breite 3-34                            */
  75. #define XRAND 0                                            /* Startwerte                                */
  76. static char XRANDS[] = " 0";
  77. #define BREITE 10                                        /* Startwerte                                */
  78. static char BREITES[] = "10";
  79. #define MAXBREITE 34
  80.  
  81. #define MINYRAND 0                                    /* Y Rand 0-30                            */
  82. #define MINHOEHE 3                                    /* Höhe 3-30                                */
  83. #define YRAND 0                                            /* Startwerte                                */
  84. static char YRANDS[] = " 0";
  85. #define HOEHE 10                                        /* Startwerte                                */
  86. static char HOEHES[] = "10";
  87. #define MAXHOEHE 30
  88.  
  89. /****************************************************************
  90.  *                                                                                                                            *
  91.  *        Gadget Abbruchdefinition                                                                    *
  92.  *                                                                                                                            *
  93.  ****************************************************************/
  94.  
  95. #define GHc2X 192                                        /* für Hardcopywindow                */
  96. #define GHc2Y 90
  97. #define GHcRX 190                                        /* für Abbruchwindow                */
  98. #define GHcRY 28
  99.  
  100. /****************************************************************
  101.  *                                                                                                                            *
  102.  *        Gadget ID's                                                                                                *
  103.  *                                                                                                                            *
  104.  ****************************************************************/
  105.  
  106. #define GDU 1                                                /* Dichte Up                                */
  107. #define GDD 2                                                /* Dichte Down                            */
  108. #define GXU 3                                                /* oberer Rand Up                        */
  109. #define GXD 4                                                /* oberer Rand Down                    */
  110. #define GYU 5                                                /* linker Rand Up                        */
  111. #define GYD 6                                                /* linker Rand Down                    */
  112. #define GBU 7                                                /* Breite Up                                */
  113. #define GBD 8                                                /* Breite Down                            */
  114. #define GHU 9                                                /* Höhe Up                                    */
  115. #define GHD 10                                            /* Höhe Down                                */
  116. #define GP    11                                            /* Print                                        */
  117. #define GC    12                                            /* Cancel                                        */
  118. #define GR    13                                            /* Reverse                                    */
  119.  
  120. /****************************************************************
  121.  *                                                                                                                            *
  122.  * lokale Deklarationen                                                                                    *
  123.  *                                                                                                                            *
  124.  ****************************************************************/
  125.  
  126. struct Prt_Commands
  127.     {
  128.         UWORD Command;
  129.         UBYTE P_0,
  130.                     P_1,
  131.                     P_2,
  132.                     P_3;
  133.     };
  134.  
  135. /****************************************************************
  136.  *                                                                                                                            *
  137.  *        Pointerdefinitionen                                                                                *
  138.  *                                                                                                                            *
  139.  ****************************************************************/
  140.  
  141. extern USHORT chip Up[18];
  142.  
  143. extern USHORT chip Down[18];
  144.  
  145. /****************************************************************
  146.  *                                                                                                                            *
  147.  *        BorderVectoren                                                                                        *
  148.  *                                                                                                                            *
  149.  ****************************************************************/
  150.  
  151. static SHORT BVHc1[] =
  152. {
  153.     0,0,
  154.     20,0,
  155.     20,10,
  156.     0,10,
  157.     0,0
  158. };
  159.  
  160. static SHORT BVHc2[] =
  161. {
  162.     0,0,
  163.     80,0,
  164.     80,15,
  165.     0,15,
  166.     0,0
  167. };
  168.  
  169. /****************************************************************
  170.  *                                                                                                                            *
  171.  *        Border                                                                                                        *
  172.  *                                                                                                                            *
  173.  ****************************************************************/
  174.  
  175. static struct Border BHc1 =
  176. {                                                                        /* Reverse                                    */
  177.     -1,-1,
  178.     3,0,JAM1,
  179.     5,
  180.     BVHc1,
  181.     NULL
  182. };
  183.  
  184. static struct Border BHc2 =
  185. {                                                                        /* Print    + Cancel                    */
  186.     -1,-1,
  187.     3,0,JAM1,
  188.     5,
  189.     BVHc2,
  190.     NULL
  191. };
  192.  
  193. static struct Border BHc3 =
  194. {                                                                        /* X                                                */
  195.     88,41,
  196.     3,0,JAM1,
  197.     5,
  198.     BVHc1,
  199.     NULL
  200. };
  201.  
  202. static struct Border BHc4 =
  203. {                                                                        /* Dichte                                        */
  204.     27,41,
  205.     3,0,JAM1,
  206.     5,
  207.     BVHc1,
  208.     &BHc3
  209. };
  210.  
  211. static struct Border BHc5 =
  212. {                                                                        /* Y                                                */
  213.     150,41,
  214.     3,0,JAM1,
  215.     5,
  216.     BVHc1,
  217.     &BHc4
  218. };
  219.  
  220. static struct Border BHc6 =
  221. {                                                                        /* Breite                                        */
  222.     88,89,
  223.     3,0,JAM1,
  224.     5,
  225.     BVHc1,
  226.     &BHc5
  227. };
  228.  
  229. static struct Border BHc7 =
  230. {                                                                        /* Hoehe                                        */
  231.     150,89,
  232.     3,0,JAM1,
  233.     5,
  234.     BVHc1,
  235.     &BHc6
  236. };
  237.  
  238.  
  239. /****************************************************************
  240.  *                                                                                                                            *
  241.  *        Textdefinitionen                                                                                    *
  242.  *                                                                                                                            *
  243.  ****************************************************************/
  244.  
  245. static struct IntuiText ITHc9 =
  246. {                                                                        /* Gadget - Text                        */
  247.     3,0,JAM2,
  248.     20,3,
  249.     &TOPAZ80,
  250.     "Print",
  251.     NULL
  252. };
  253.  
  254. static struct IntuiText ITHc8 =
  255. {                                                                        /* Gadget - Text                        */
  256.     3,0,JAM2,
  257.     14,3,
  258.     &TOPAZ80,
  259.     "Abbruch",
  260.     NULL
  261. };
  262.  
  263. static struct IntuiText ITHc7 =
  264. {                                                                        /* Hoehe                                        */
  265.     3,0,JAM2,
  266.     153,91,
  267.     &TOPAZ80,
  268.     HOEHES,
  269.     NULL
  270. };
  271.  
  272. static struct IntuiText ITHc6 =
  273. {                                                                        /* Breite                                        */
  274.     3,0,JAM2,
  275.     91,91,
  276.     &TOPAZ80,
  277.     BREITES,
  278.     &ITHc7
  279. };
  280.  
  281. static struct IntuiText ITHc5 =
  282. {                                                                        /* Y                                                */
  283.     3,0,JAM2,
  284.     153,43,
  285.     &TOPAZ80,
  286.     YRANDS,
  287.     &ITHc6
  288. };
  289.  
  290. static struct IntuiText ITHc4 =
  291. {                                                                        /* X                                                */
  292.     3,0,JAM2,
  293.     91,43,
  294.     &TOPAZ80,
  295.     XRANDS,
  296.     &ITHc5
  297. };
  298.  
  299. static struct IntuiText ITHc3 =
  300. {                                                                        /* Dichte                                        */
  301.     3,0,JAM2,
  302.     30,43,
  303.     &TOPAZ80,
  304.     DICHTES,
  305.     &ITHc4
  306. };
  307.  
  308. static struct IntuiText ITHc2 =
  309. {                                                                        /* 2. Titel                                    */
  310.     3,0,JAM2,
  311.     10,70,
  312.     &TOPAZ80,
  313.     "Reverse Breite  Höhe",
  314.     &ITHc3
  315. };
  316.  
  317. static struct IntuiText ITHc1 =
  318. {                                                                        /* 1. Titel                                    */
  319.     3,0,JAM2,
  320.     14,19,
  321.     &TOPAZ80,
  322.     "Dichte   X      Y",
  323.     &ITHc2
  324. };
  325.  
  326.  
  327. /****************************************************************
  328.  *                                                                                                                            *
  329.  *        Image                                                                                                            *
  330.  *                                                                                                                            *
  331.  ****************************************************************/
  332.  
  333. static struct Image IUpHc =
  334. {
  335.     0,0,
  336.     16,9,
  337.     2,
  338.     Up,
  339.     0x0003,0x0000,
  340.     NULL
  341. };
  342.  
  343. static struct Image IDownHc =
  344. {
  345.     0,0,
  346.     16,9,
  347.     2,
  348.     Down,
  349.     0x0003,0x0000,
  350.     NULL
  351. };
  352.  
  353. /****************************************************************
  354.  *                                                                                                                            *
  355.  *        Gadget                                                                                                        *
  356.  *                                                                                                                            *
  357.  ****************************************************************/
  358.  
  359.  
  360. static struct Gadget GHc13 =
  361. {                                                                        /* Hoehe Down                                */
  362.     NULL,
  363.     153,100,
  364.     16,9,
  365.     GADGIMAGE,
  366.     RELVERIFY+GADGIMMEDIATE,
  367.     BOOLGADGET,
  368.     (APTR)&IDownHc,
  369.     NULL,
  370.     NULL,
  371.     NULL,
  372.     NULL,
  373.     GHD,
  374.     NULL
  375. };
  376.  
  377. static struct Gadget GHc12 =
  378. {                                                                        /* Hoehe Up                                    */
  379.     &GHc13,
  380.     153,80,
  381.     16,9,
  382.     GADGIMAGE,
  383.     RELVERIFY+GADGIMMEDIATE,
  384.     BOOLGADGET,
  385.     (APTR)&IUpHc,
  386.     NULL,
  387.     NULL,
  388.     NULL,
  389.     NULL,
  390.     GHU,
  391.     NULL
  392. };
  393.  
  394. static struct Gadget GHc11 =
  395. {                                                                        /* Breite Down                            */
  396.     &GHc12,
  397.     91,100,
  398.     16,9,
  399.     GADGIMAGE,
  400.     RELVERIFY+GADGIMMEDIATE,
  401.     BOOLGADGET,
  402.     (APTR)&IDownHc,
  403.     NULL,
  404.     NULL,
  405.     NULL,
  406.     NULL,
  407.     GBD,
  408.     NULL
  409. };
  410.  
  411. static struct Gadget GHc10 =
  412. {                                                                        /* Breite Up                                */
  413.     &GHc11,
  414.     91,80,
  415.     16,9,
  416.     GADGIMAGE,
  417.     RELVERIFY+GADGIMMEDIATE,
  418.     BOOLGADGET,
  419.     (APTR)&IUpHc,
  420.     NULL,
  421.     NULL,
  422.     NULL,
  423.     NULL,
  424.     GBU,
  425.     NULL
  426. };
  427.  
  428. static struct Gadget GHc9 =
  429. {                                                                        /* Y Down                                        */
  430.     &GHc10,
  431.     153,52,
  432.     16,9,
  433.     GADGIMAGE,
  434.     RELVERIFY+GADGIMMEDIATE,
  435.     BOOLGADGET,
  436.     (APTR)&IDownHc,
  437.     NULL,
  438.     NULL,
  439.     NULL,
  440.     NULL,
  441.     GYD,
  442.     NULL
  443. };
  444.  
  445. static struct Gadget GHc8 =
  446. {                                                                        /* Y Up                                            */
  447.     &GHc9,
  448.     153,32,
  449.     16,9,
  450.     GADGIMAGE,
  451.     RELVERIFY+GADGIMMEDIATE,
  452.     BOOLGADGET,
  453.     (APTR)&IUpHc,
  454.     NULL,
  455.     NULL,
  456.     NULL,
  457.     NULL,
  458.     GYU,
  459.     NULL
  460. };
  461.  
  462. static struct Gadget GHc7 =
  463. {                                                                        /* X Down                                        */
  464.     &GHc8,
  465.     91,52,
  466.     16,9,
  467.     GADGIMAGE,
  468.     RELVERIFY+GADGIMMEDIATE,
  469.     BOOLGADGET,
  470.     (APTR)&IDownHc,
  471.     NULL,
  472.     NULL,
  473.     NULL,
  474.     NULL,
  475.     GXD,
  476.     NULL
  477. };
  478.  
  479. static struct Gadget GHc6 =
  480. {                                                                        /* X Up                                            */
  481.     &GHc7,
  482.     91,32,
  483.     16,9,
  484.     GADGIMAGE,
  485.     RELVERIFY+GADGIMMEDIATE,
  486.     BOOLGADGET,
  487.     (APTR)&IUpHc,
  488.     NULL,
  489.     NULL,
  490.     NULL,
  491.     NULL,
  492.     GXU,
  493.     NULL
  494. };
  495.  
  496. static struct Gadget GHc5 =
  497. {                                                                        /* Dichte Down                            */
  498.     &GHc6,
  499.     30,52,
  500.     16,9,
  501.     GADGIMAGE,
  502.     RELVERIFY+GADGIMMEDIATE,
  503.     BOOLGADGET,
  504.     (APTR)&IDownHc,
  505.     NULL,
  506.     NULL,
  507.     NULL,
  508.     NULL,
  509.     GDD,
  510.     NULL
  511. };
  512.  
  513. static struct Gadget GHc4 =
  514. {                                                                        /* Dichte Up                                */
  515.     &GHc5,
  516.     30,32,
  517.     16,9,
  518.     GADGIMAGE,
  519.     RELVERIFY+GADGIMMEDIATE,
  520.     BOOLGADGET,
  521.     (APTR)&IUpHc,
  522.     NULL,
  523.     NULL,
  524.     NULL,
  525.     NULL,
  526.     GDU,
  527.     NULL
  528. };
  529.  
  530. static struct Gadget GHc3 =
  531. {                                                                        /* Reverse Gadget                        */
  532.     &GHc4,
  533.     30,90,
  534.     19,9,
  535.     SELECTED,
  536.     RELVERIFY+TOGGLESELECT,
  537.     BOOLGADGET,
  538.     (APTR)&BHc1,
  539.     NULL,
  540.     NULL,
  541.     NULL,
  542.     NULL,
  543.     GR,
  544.     NULL
  545. };
  546.  
  547. static struct Gadget GHc2 =
  548. {                                                                        /* Cancel Gadget                        */
  549.     &GHc3,
  550.     GHc2X,GHc2Y,
  551.     81,14,
  552.     NULL,
  553.     RELVERIFY,
  554.     BOOLGADGET,
  555.     (APTR)&BHc2,
  556.     NULL,
  557.     &ITHc8,
  558.     NULL,
  559.     NULL,
  560.     GC,
  561.     NULL
  562. };
  563.  
  564. static struct Gadget GHc1 =
  565. {                                                                        /* Print Gadget                            */
  566.     &GHc2,
  567.     193,42,
  568.     81,14,
  569.     NULL,
  570.     RELVERIFY,
  571.     BOOLGADGET,
  572.     (APTR)&BHc2,
  573.     NULL,
  574.     &ITHc9,
  575.     NULL,
  576.     NULL,
  577.     GP,
  578.     NULL
  579. };
  580.  
  581. /****************************************************************
  582.  *                                                                                                                            *
  583.  *        Windowdefinitionen                                                                                *
  584.  *                                                                                                                            *
  585.  ****************************************************************/
  586.  
  587. static struct NewWindow HCW =
  588. {                                                                        /* Hardcopy Window                    */
  589.     HcX,HcY,
  590.     HcXh,HcYh,
  591.     0,1,
  592.     GADGETUP,
  593.     WINDOWDRAG+ACTIVATE+NOCAREREFRESH,
  594.     &GHc1,
  595.     NULL,
  596.     "Hardcopy",
  597.     NULL,
  598.     NULL,
  599.     5,5,
  600.     -1,-1,
  601.     WBENCHSCREEN
  602. };
  603.  
  604. #endif HARDCOPY_H
  605.