Next: Starbase-on-X11 eksempel Up: Grafik Previous: Grafik

Starbase eksempel

Den første version kan kun køre på det lokale display på en arbejdsstation i modsætning til Starbase-on-X11 driveren, hvor man kan vise grafik over nettet - se næste afsnit. Til gengæld er versionen hurtigere, da starbase har direkte adgang til skærmens RAM.


   #include <starbase.c.h>
   #include <stdio.h>
   main()
   {
    int display_des;
   
    printf("\033h\033J");        /* clear the alpha screen */
    fflush(stdout);
                              /* open graphics device file */
    if ((display_des =
    gopen("/dev/crt", OUTDEV, "hp98549", INIT)) == -1)
          fprintf(stderr,"Cannot open screen device file\n");

    move2d(display_des, 0.3, 0.3);    /* draw something !! */
    draw2d(display_des, 0.6, 0.3);
    draw2d(display_des, 0.3, 0.6);
    draw2d(display_des, 0.3, 0.3);
    gclose(display_des);
   }
Programmet oversættes på en farvearbejdsstation ved at skrive:

   ws1:/usv2/nn $ cc tri.c -ldd98550 -lsb1 -lsb2  <CR>

Når programmet oversættes linkes det både med en device driver til skærmen (-ldd98550) og de to starbasebiblioteker (-lsb1 og -lsb2).

Bemærk at skærmen hedder "hp98549" i programmet og -ldd98550 når programmet linkes.

Bemærk rækkefølgen af bibliotekerne, den skal overholdes!

Device driveren (hp98549/dd98550) bruges på HP 9000/319C+ og HP 9000/340C+ maskinerne.

På HP 9000/318M bruges sandsynligvis en device driver som hedder hp300h/dd300h, men det er ikke blevet testet. hp300h skal bruges i programmet og -ldd300h når det linkes.


mr@imm.dtu.dk