home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / datafiles / text / c_manual / intuition / screens / example2.c < prev    next >
C/C++ Source or Header  |  1995-02-27  |  4KB  |  104 lines

  1. /***********************************************************/
  2. /*                                                         */
  3. /* Amiga C Encyclopedia (ACE) V3.0      Amiga C Club (ACC) */
  4. /* -------------------------------      ------------------ */
  5. /*                                                         */
  6. /* Book:    ACM Intuition               Amiga C Club       */
  7. /* Chapter: Screens                     Tulevagen 22       */
  8. /* File:    Example2.c                  181 41  LIDINGO    */
  9. /* Author:  Anders Bjerin               SWEDEN             */
  10. /* Date:    92-05-01                                       */
  11. /* Version: 1.10                                           */
  12. /*                                                         */
  13. /*   Copyright 1992, Anders Bjerin - Amiga C Club (ACC)    */
  14. /*                                                         */
  15. /* Registered members may use this program freely in their */
  16. /*     own commercial/noncommercial programs/articles.     */
  17. /*                                                         */
  18. /***********************************************************/
  19.  
  20. /* This program will open a high-resolution, Interlaced, four colour     */
  21. /* Custom Screen. It will display it for 30 secondes, and then close it. */
  22.  
  23.  
  24.  
  25. /* If your program is using Intuition you should include intuition.h: */
  26. #include <intuition/intuition.h>
  27.  
  28. /* Since we are using an interlaced display (ViewModes = INTERLACE) we */
  29. /* need to include the headerfile "display.h" which declares the       */
  30. /* constant "INTERLACE".                                               */
  31. #include <graphics/display.h>
  32.  
  33.  
  34.  
  35. struct IntuitionBase *IntuitionBase;
  36.  
  37.  
  38.  
  39. /* Declare a pointer to a Screen structure: */ 
  40. struct Screen *my_screen;
  41.  
  42. /* Declare and initialize your NewScreen structure: */
  43. struct NewScreen my_new_screen=
  44. {
  45.   0,               /* LeftEdge  Should always be 0. */
  46.   0,               /* TopEdge   Top of the display.*/
  47.   640,             /* Width     We are using a high-resolution screen. */
  48.   400,             /* Height    Interlaced NTSC (American) display. */
  49.   2,               /* Depth     4 colours. */
  50.   0,               /* DetailPen Text should be drawn with colour reg. 0 */
  51.   1,               /* BlockPen  Blocks should be drawn with colour reg. 1 */
  52.   HIRES|INTERLACE, /* ViewModes High-resolution, Interlaced */
  53.   CUSTOMSCREEN,    /* Type      Your own customized screen. */
  54.   NULL,            /* Font      Default font. */
  55.   "MY SCREEN",     /* Title     The screen' title. */
  56.   NULL,            /* Gadget    Must for the moment be NULL. */
  57.   NULL             /* BitMap    No special CustomBitMap. */
  58. };
  59.  
  60.  
  61.  
  62. main()
  63. {
  64.   /* Open the Intuition Library: */
  65.   IntuitionBase = (struct IntuitionBase *)
  66.     OpenLibrary( "intuition.library", 0 );
  67.   
  68.   if( IntuitionBase == NULL )
  69.     exit(); /* Could NOT open the Intuition Library! */
  70.   
  71.  
  72.  
  73.   /* We will now try to open the screen: */
  74.   my_screen = (struct Screen *) OpenScreen( &my_new_screen );
  75.   
  76.   /* Have we opened the screen succesfully? */
  77.   if(my_screen == NULL)
  78.   {
  79.     /* Could NOT open the Screen! */
  80.     
  81.     /* Close the Intuition Library since we have opened it: */
  82.     CloseLibrary( IntuitionBase );
  83.  
  84.     exit();  
  85.   }
  86.  
  87.  
  88.  
  89.   /* We have opened the screen, and everything seems to be OK. */
  90.   /* Wait for 30 seconds: */
  91.   Delay( 50 * 30);
  92.  
  93.  
  94.  
  95.   /* We should always close the screens we have opened before we leave: */
  96.   CloseScreen( my_screen );
  97.  
  98.  
  99.   
  100.   /* Close the Intuition Library since we have opened it: */
  101.   CloseLibrary( IntuitionBase );
  102.   
  103.   /* THE END */
  104. }