home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 4 / CDPD_IV.bin / utilities / print / post / source / post_interface.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-24  |  7.2 KB  |  217 lines

  1. /*
  2.  *  Source generated with GadToolsBox V1.4
  3.  *  which is (c) Copyright 1991,92 Jaba Development
  4.  *  Severely edited by Robert Poole
  5.  */
  6.  
  7. #include <exec/types.h>
  8. #include <intuition/intuition.h>
  9. #include <intuition/classes.h>
  10. #include <intuition/classusr.h>
  11. #include <intuition/imageclass.h>
  12. #include <intuition/gadgetclass.h>
  13. #include <libraries/gadtools.h>
  14. #include <graphics/displayinfo.h>
  15. #include <graphics/gfxbase.h>
  16. #include <clib/exec_protos.h>
  17. #include <clib/intuition_protos.h>
  18. #include <clib/gadtools_protos.h>
  19. #include <clib/graphics_protos.h>
  20. #include <clib/utility_protos.h>
  21. #include <string.h>
  22.  
  23. #include "Post_interface.h"
  24.  
  25. APTR                   ReqVisualInfo = NULL;
  26. struct Window         *ReqWnd = NULL;
  27. struct Gadget         *ReqGList = NULL;
  28. struct Gadget         *ReqGadgets[22];
  29. UWORD                  ReqLeft = 32;
  30. UWORD                  ReqTop = 68;
  31. UWORD                  ReqWidth = 577;
  32. UWORD                  ReqHeight = 229;
  33. UBYTE                 *ReqWdt = (UBYTE *)"Post V1.86enh";
  34.  
  35. UBYTE         *Output0Labels[] = {
  36.     (UBYTE *)"Printer",
  37.     (UBYTE *)"Screen",
  38.     (UBYTE *)"IFF File",
  39.     NULL };
  40.  
  41. UBYTE         *Colours0Labels[] = {
  42.     (UBYTE *)"Black and White",
  43.     (UBYTE *)"3 Colour (RGB)",
  44.     (UBYTE *)"4 Colour (CMYK)",
  45.     NULL };
  46.  
  47. UBYTE         *density0Labels[] = {
  48.     (UBYTE *)"Density = 1",
  49.     (UBYTE *)"Density = 2",
  50.     (UBYTE *)"Density = 3",
  51.     (UBYTE *)"Density = 4",
  52.     (UBYTE *)"Density = 5",
  53.     (UBYTE *)"Density = 6",
  54.     (UBYTE *)"Density = 7",
  55.     NULL };
  56.  
  57. struct IntuiText  ReqIText[] = {
  58.     7, 0, JAM1,285, 13, &topaz11, (UBYTE *)"Output", &ReqIText[1],
  59.     7, 0, JAM1,381, 13, &topaz11, (UBYTE *)"Colours", &ReqIText[2],
  60.     7, 0, JAM1,340, 111, &topaz11, (UBYTE *)"Page Size", &ReqIText[3],
  61.     7, 0, JAM1,502, 107, &topaz11, (UBYTE *)"Memory", NULL };
  62.  
  63. UWORD ReqGTypes[] = {
  64.     STRING_KIND,
  65.     STRING_KIND,
  66.     STRING_KIND,
  67.     STRING_KIND,
  68.     STRING_KIND,
  69.     STRING_KIND,
  70.     BUTTON_KIND,
  71.     BUTTON_KIND,
  72.     MX_KIND,
  73.     MX_KIND,
  74.     CYCLE_KIND,
  75.     INTEGER_KIND,
  76.     INTEGER_KIND,
  77.     INTEGER_KIND,
  78.     INTEGER_KIND,
  79.     INTEGER_KIND,
  80.     INTEGER_KIND,
  81.     CHECKBOX_KIND,
  82.     INTEGER_KIND,
  83.     INTEGER_KIND,
  84.     INTEGER_KIND,
  85.     INTEGER_KIND,
  86.     CHECKBOX_KIND
  87. };
  88.  
  89. struct NewGadget ReqNGad[] = {
  90.     22, 22, 219, 21, (UBYTE *)"Startup file name(s)", NULL, GD_startup1, PLACETEXT_ABOVE ,NULL, NULL,
  91.     22, 46, 219, 21, NULL, NULL, GD_startup2, 0 ,NULL, NULL,
  92.     22, 70, 219, 21, NULL, NULL, GD_startup3, 0 ,NULL, NULL,
  93.     22, 94, 219, 21, NULL, NULL, GD_startup4, 0 ,NULL, NULL,
  94.     22, 119, 219, 21, NULL, NULL, GD_startup5, 0 ,NULL, NULL,
  95.     26, 161, 220, 24, (UBYTE *)"IFF file name pattern", NULL, GD_iffname, PLACETEXT_ABOVE ,NULL, NULL,
  96.     27, 199, 80, 22, (UBYTE *)"OK", NULL, GD_okgad, PLACETEXT_IN ,NULL, NULL,
  97.     165, 199, 80, 22, (UBYTE *)"Cancel", NULL, GD_cancelgad, PLACETEXT_IN ,NULL, NULL,
  98.     286, 25, 17, 9, NULL, NULL, GD_Output, PLACETEXT_RIGHT ,NULL, NULL,
  99.     383, 25, 17, 9, NULL, NULL, GD_Colours, PLACETEXT_RIGHT ,NULL, NULL,
  100.     320, 77, 125, 19, (UBYTE *)"Printer Density", NULL, GD_density, PLACETEXT_ABOVE ,NULL, NULL,
  101.     312, 124, 61, 16, (UBYTE *)"X, Y", NULL, GD_xsize, PLACETEXT_LEFT ,NULL, NULL,
  102.     377, 124, 61, 16, NULL, NULL, GD_ysize, 0 ,NULL, NULL,
  103.     312, 144, 61, 16, (UBYTE *)"Offset", NULL, GD_offx, PLACETEXT_LEFT ,NULL, NULL,
  104.     377, 144, 61, 16, NULL, NULL, GD_offy, 0 ,NULL, NULL,
  105.     312, 165, 61, 16, (UBYTE *)"DPI", NULL, GD_xdpi, PLACETEXT_LEFT ,NULL, NULL,
  106.     377, 165, 61, 16, NULL, NULL, GD_ydpi, 0 ,NULL, NULL,
  107.     301, 193, 26, 11, (UBYTE *)"Close WBench", NULL, GD_wbclose, PLACETEXT_RIGHT ,NULL, NULL,
  108.     494, 124, 67, 17, (UBYTE *)"Fonts", NULL, GD_fontmem, PLACETEXT_LEFT ,NULL, NULL,
  109.     494, 145, 67, 17, (UBYTE *)"Htone", NULL, GD_htonemem, PLACETEXT_LEFT ,NULL, NULL,
  110.     494, 165, 67, 17, (UBYTE *)"VM", NULL, GD_VMem, PLACETEXT_LEFT ,NULL, NULL,
  111.     494, 186, 67, 17, (UBYTE *)"Paths", NULL, GD_pathmem, PLACETEXT_LEFT ,NULL, NULL,
  112.     301, 209, 26, 11, (UBYTE *)"Sunmouse compat", NULL, GD_sunmouse, PLACETEXT_RIGHT ,NULL, NULL
  113. };
  114.  
  115. ULONG ReqGTags[] = {
  116.     (GTST_String), (ULONG)"init.ps", (GTST_MaxChars), 256, (TAG_DONE),
  117.     (GTST_MaxChars), 256, (TAG_DONE),
  118.     (GTST_MaxChars), 256, (TAG_DONE),
  119.     (GTST_MaxChars), 256, (TAG_DONE),
  120.     (GTST_MaxChars), 256, (TAG_DONE),
  121.     (GTST_MaxChars), 256, (TAG_DONE),
  122.     (TAG_DONE),
  123.     (TAG_DONE),
  124.     (GTMX_Labels), (ULONG)&Output0Labels[ 0 ], (TAG_DONE),
  125.     (GTMX_Labels), (ULONG)&Colours0Labels[ 0 ], (TAG_DONE),
  126.     (GTCY_Labels), (ULONG)&density0Labels[ 0 ], (TAG_DONE),
  127.     (GTIN_Number), 618, (GTIN_MaxChars), 10, (TAG_DONE),
  128.     (GTIN_Number), 876, (GTIN_MaxChars), 10, (TAG_DONE),
  129.     (GTIN_Number), 0, (GTIN_MaxChars), 10, (TAG_DONE),
  130.     (GTIN_Number), 0, (GTIN_MaxChars), 10, (TAG_DONE),
  131.     (GTIN_Number), 75, (GTIN_MaxChars), 10, (TAG_DONE),
  132.     (GTIN_Number), 75, (GTIN_MaxChars), 10, (TAG_DONE),
  133.     (TAG_DONE),
  134.     (GTIN_Number), 60000, (GTIN_MaxChars), 10, (TAG_DONE),
  135.     (GTIN_Number), 20000, (GTIN_MaxChars), 10, (TAG_DONE),
  136.     (GTIN_Number), 50000, (GTIN_MaxChars), 10, (TAG_DONE),
  137.     (GTIN_Number), 10000, (GTIN_MaxChars), 10, (TAG_DONE),
  138.     (TAG_DONE)
  139. };
  140.  
  141. void ReqRender( void )
  142. {
  143.     UWORD        offx, offy;
  144.  
  145.     offx = ReqWnd->BorderLeft;
  146.     offy = ReqWnd->BorderTop;
  147.  
  148.     PrintIText( ReqWnd->RPort, ReqIText, offx, offy );
  149. }
  150.  
  151. int OpenReqWindow( struct Screen *scrn )
  152. {
  153.     struct NewGadget     ng;
  154.     struct Gadget       *g;
  155.     UWORD                lc, tc;
  156.     UWORD                offx = scrn->WBorLeft,offy = scrn->WBorTop + scrn->RastPort.TxHeight + 1;
  157.  
  158.     ReqVisualInfo = GetVisualInfo(scrn, TAG_END);
  159.  
  160.     if ( ! ( g = CreateContext( &ReqGList )))
  161.         return( 1L );
  162.  
  163.     for( lc = 0, tc = 0; lc < Req_CNT; lc++ ) {
  164.  
  165.         CopyMem((char * )&ReqNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
  166.  
  167.         ng.ng_VisualInfo = ReqVisualInfo;
  168.         ng.ng_TextAttr   = &topaz11;
  169.         ng.ng_LeftEdge  += offx;
  170.         ng.ng_TopEdge   += offy;
  171.  
  172.         ReqGadgets[ lc ] = g = CreateGadgetA((ULONG)ReqGTypes[ lc ], g, &ng, ( struct TagItem * )&ReqGTags[ tc ] );
  173.  
  174.         while( ReqGTags[ tc ] ) tc += 2;
  175.         tc++;
  176.  
  177.         if ( NOT g )
  178.         return( 2L );
  179.     }
  180.  
  181.     if ( ! ( ReqWnd = OpenWindowTags( NULL,
  182.                     WA_Left,          ReqLeft,
  183.                     WA_Top,           ReqTop,
  184.                     WA_Width,         ReqWidth,
  185.                     WA_Height,        ReqHeight + offy,
  186.                     WA_IDCMP,         STRINGIDCMP|BUTTONIDCMP|MXIDCMP|CYCLEIDCMP|INTEGERIDCMP|CHECKBOXIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
  187.                     WA_Flags,         WFLG_DRAGBAR|WFLG_SMART_REFRESH|WFLG_SIMPLE_REFRESH|WFLG_ACTIVATE,
  188.                     WA_Gadgets,       ReqGList,
  189.                     WA_Title,         ReqWdt,
  190.                     WA_ScreenTitle,   "Post V1.86enh Copyright © 1989, 1992 Adrian Aylward",
  191.                     WA_CustomScreen,  scrn,
  192.                     TAG_DONE )))
  193.         return( 4L );
  194.  
  195.     GT_RefreshWindow( ReqWnd, NULL );
  196.  
  197.     ReqRender();
  198.  
  199.     return( 0L );
  200. }
  201.  
  202. void CloseReqWindow( void )
  203. {
  204.     if ( ReqWnd        ) {
  205.         CloseWindow( ReqWnd );
  206.         ReqWnd = NULL;
  207.     }
  208.  
  209.     if ( ReqGList      ) {
  210.         FreeGadgets( ReqGList );
  211.         ReqGList = NULL;
  212.     }
  213.  
  214.     FreeVisualInfo(ReqVisualInfo);
  215. }
  216.  
  217.