home *** CD-ROM | disk | FTP | other *** search
/ Inside Multimedia 1995 August / IMM0895.BIN / magazin / optix / disk1 / optxppac.set / COLORS.OPT < prev    next >
Text File  |  1995-06-08  |  5KB  |  342 lines

  1. DEF(I)
  2. DEF(J)
  3.  
  4. DEF(NR)
  5. DEF(SCOL,21)
  6.  
  7. DEF(R)
  8. DEF(G)
  9. DEF(B)
  10. DEF(COL)
  11.  
  12. DEF(RS)
  13. DEF(GS)
  14. DEF(BS)
  15. DEF(RE)
  16. DEF(GE)
  17. DEF(BE)
  18.  
  19. DEF(GIN,1)
  20.  
  21.  
  22. DEF(RND,3)
  23.  
  24. DEF(BR)
  25. DEF(H)
  26.  
  27. DEFAW(VOL,3)
  28. DEFAW(XX, 3)
  29. DEFAW(YY, 3)
  30. DEFAW(BY, 3)
  31.  
  32. DEF(CX)
  33. DEF(CY)
  34. DEF(DX)
  35. DEF(DY)
  36.  
  37. DEFS(HS)
  38.  
  39.  
  40. PROCEDURE BUTT(X0,Y0,X1,Y1)
  41.  
  42.    CBOX(0,7,0)
  43.  
  44.    VIEWPORT(X0, Y0, X1, Y1)
  45.    CBOX(0,28,0)
  46.  
  47.    PLATEAU(255,248)
  48.    DECVIEWPORT
  49.    PLATEAU(255,248)
  50.  
  51. RETURN
  52.  
  53.  
  54.  
  55.  
  56. PROCEDURE SLBUTTON(YB,NR)
  57. LOCALS(X0,Y0,BY,MC)
  58.  
  59.    X0 := _XX[NR]
  60.    Y0 := _YY[NR]
  61.    BY := _BY[NR]
  62.  
  63.    MC := MCURS
  64.  
  65.    IF YB > Y0 + RND - 1
  66.       IF YB < Y0 + H - BR + RND
  67.          VIEWPORT(X0+RND, BY, X0+BR-RND-1, BY+BR-RND-3)
  68.          SETBCOLOR(248)
  69.          SETCOLOR(255)
  70.  
  71.          IF MC = 1
  72.             CURSOFF
  73.          ENDIF
  74.  
  75.          BUTT(X0+RND, YB, X0+BR-RND-1, YB+BR-RND-3)
  76.  
  77.          IF MC = 1
  78.             CURSON(MOUSEX, MOUSEY)
  79.          ENDIF
  80.  
  81.          VOL[NR] := (YB-Y0-RND)*100/(H-2*RND-BR+3)
  82.          _BY[NR] := YB
  83.  
  84.       ENDIF
  85.    ENDIF
  86.  
  87. RETURN
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95. PROCEDURE FADER(X0, Y0, B, H, NR)
  96. LOCALS(I,BY)
  97.  
  98.    VIEWPORT(X0, Y0, X0+B-1, Y0+H-1)
  99.    CBOX(0,7,0)
  100.    PLATEAU(248,255)
  101.    DECVIEWPORT
  102.    DECVIEWPORT
  103.    PLATEAU(248,255)
  104.  
  105.    _BR := B
  106.    _H  := H
  107.    VOL[NR] := 0
  108.    XX[NR]  := X0
  109.  
  110.    YY[NR]  := Y0
  111.    BY[NR]  := Y0+RND
  112.  
  113.    SLBUTTON(Y0+RND,NR)
  114.  
  115. RETURN
  116.  
  117.  
  118.  
  119. PROCEDURE SETGRADAT
  120.  
  121.    IF GIN = 1
  122.       RS := R
  123.       GS := G
  124.       BS := B
  125.       GRADATION(32, 95, RS, GS, BS, RE, GE, BE)
  126.       PRINTAT(25,390,'ROT : '+STR(RS,2))
  127.       PRINTAT(25,405,'GRÜN: '+STR(GS,2))
  128.       PRINTAT(25,420,'BLAU: '+STR(BS,2))
  129.    ENDIF
  130.  
  131.    IF GIN = 2
  132.       RE := R
  133.       GE := G
  134.       BE := B
  135.       GRADATION(32, 95, RS, GS, BS, RE, GE, BE)
  136.       PRINTAT(550,390,'ROT : '+STR(RE,2))
  137.       PRINTAT(550,405,'GRÜN: '+STR(GE,2))
  138.       PRINTAT(550,420,'BLAU: '+STR(BE,2))
  139.    ENDIF
  140.  
  141. RETURN
  142.  
  143.  
  144. BEGIN
  145.    SETCOLOR(255)
  146.  
  147.    SYSFONT(2,0)
  148.  
  149.    NEW(XX)
  150.    NEW(YY)
  151.    NEW(BY)
  152.    NEW(VOL)
  153.  
  154.    SETPVGA
  155.    SETALLPAL
  156.    SETPSTD
  157.    SETSUBPAL(15)
  158.    CLEARSCREEN(SCOL)
  159.  
  160.    SETRGBCOLOR(0,0,0,230)
  161.    SETRGBCOLOR(0,0,0,231)
  162.    SETRGBCOLOR(0,0,0,232)
  163.    SETRGBCOLOR(0,0,0,233)
  164.  
  165.    SETRGBCOLOR(0,63,63,234)
  166.    SETRGBCOLOR(63,0,63,235)
  167.    SETRGBCOLOR(63,63,0,236)
  168.  
  169.    SETBCOLOR(SCOL)
  170.  
  171.    PRINTC(320,20,'O P T I X  -  D R U C K F A R B E N - M I X T O O L')
  172.    PRINTAT(101,80,'ROT')
  173.    PRINTAT(143,80,'GRUEN')
  174.    PRINTAT(197,80,'BLAU')
  175.    PRINTC(402,160,'----------ADDITIV---------')
  176.    PRINTAT(298,200,'Druckmix >       <')
  177.    PRINTC(405,250,'--------SUBTRAKTIV--------')
  178.  
  179.    SETCOLOR(255)
  180.  
  181.  
  182.    COL := 230
  183.    FOR I := 300 TO 460 STEP 80 DO
  184.       VIEWPORT(I,100,I+50,150)
  185.       CBOX(0,COL,0)
  186.       RECTANGLE
  187.       VIEWPORT(I,260,I+50,310)
  188.       CBOX(0,COL+4,0)
  189.       RECTANGLE
  190.       INC(COL,1)
  191.    NEXT(I)
  192.  
  193.    VIEWPORT(380,180,430,230)
  194.    CBOX(0,233,0)
  195.    RECTANGLE
  196.  
  197.    FADER(100,100,25,250,1)
  198.    FADER(150,100,25,250,2)
  199.    FADER(200,100,25,250,3)
  200.  
  201.  
  202.  
  203.    VIEWPORT(0,0,0,0)
  204.    BUTT(100,400,120,420)
  205.    VIEWPORT(0,0,0,0)
  206.    BUTT(520,400,540,420)
  207.  
  208.    J := 32
  209.    FOR I := 129 TO 511 STEP 6 DO
  210.       VIEWPORT(I, 380, I+5, 440)
  211.       CBOX(0,J,0)
  212.       INC(J,1)
  213.    NEXT(I)
  214.  
  215.    VIEWPORT(128,380,512,440)
  216.    RECTANGLE
  217.  
  218.    SCRTOBUF
  219.    CURSON(MOUSEX,MOUSEY)
  220.  
  221.    R := 0
  222.    G := 0
  223.    B := 0
  224.  
  225.  
  226.  
  227.  
  228. :HL
  229.  
  230.    SELBOX(XX[1]+RND, BY[1], XX[1]+BR-RND-1, BY[1]+BR-RND-3, I)
  231.    IF I = 1
  232.       CY := MOUSEY
  233.       DY := CY - BY[1]
  234.  
  235.  
  236. :MV1
  237.    IF CY <> MOUSEY
  238.       CY := MOUSEY
  239.  
  240.       SLBUTTON(CY-DY,1)
  241.       R := VOL[1]*63/100
  242.       STR(R,2,HS)
  243.       SETBCOLOR(SCOL)
  244.       PRINTAT(105,355,HS)
  245.       SETRGBCOLOR(R,0,0,230)
  246.       SETRGBCOLOR(R,G,B,233)
  247.  
  248.       SETRGBCOLOR(0,63-R,63-R,234)
  249.       SETGRADAT
  250.    ENDIF
  251.  
  252.       IF MOUSEK <> 0
  253.          GOTO('MV1')
  254.       ENDIF
  255.    ENDIF
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.    SELBOX(XX[2]+RND, BY[2], XX[2]+BR-RND-1, BY[2]+BR-RND-3, I)
  263.    IF I = 1
  264.       CY := MOUSEY
  265.       DY := CY - BY[2]
  266. :MV2
  267.       IF CY <> MOUSEY
  268.          CY := MOUSEY
  269.          SLBUTTON(CY-DY,2)
  270.          G := VOL[2]*63/100
  271.          STR(G,2,HS)
  272.          SETBCOLOR(SCOL)
  273.          PRINTAT(155,355,HS)
  274.          SETRGBCOLOR(0,G,0,231)
  275.          SETRGBCOLOR(R,G,B,233)
  276.  
  277.          SETRGBCOLOR(63-G,0,63-G,235)
  278.          SETGRADAT
  279.       ENDIF
  280.  
  281.       IF MOUSEK <> 0
  282.          GOTO('MV2')
  283.       ENDIF
  284.    ENDIF
  285.  
  286.  
  287.    SELBOX(XX[3]+RND, BY[3], XX[3]+BR-RND-1, BY[3]+BR-RND-3, I)
  288.    IF I = 1
  289.       CY := MOUSEY
  290.       DY := CY - BY[3]
  291.  
  292. :MV3
  293.       IF CY <> MOUSEY
  294.          CY := MOUSEY
  295.  
  296.          SLBUTTON(CY-DY,3)
  297.          B := VOL[3]*63/100
  298.          STR(B,2,HS)
  299.          SETBCOLOR(SCOL)
  300.          PRINTAT(205,355,HS)
  301.          SETRGBCOLOR(0,0,B,232)
  302.          SETRGBCOLOR(R,G,B,233)
  303.  
  304.          SETRGBCOLOR(63-B,63-B,0,236)
  305.          SETGRADAT
  306.       ENDIF
  307.  
  308.       IF MOUSEK <> 0
  309.          GOTO('MV3')
  310.       ENDIF
  311.    ENDIF
  312.  
  313.  
  314.    SELBOX(100,400,120,420,I)
  315.    IF I = 1
  316.      GIN:=1
  317.    ENDIF
  318.  
  319.    SELBOX(520,400,540,420,I)
  320.    IF I = 1
  321.      GIN:=2
  322.    ENDIF
  323.  
  324.    IF MOUSEK = 4
  325.    GOTO('EE')
  326.    ENDIF
  327.  
  328.  
  329. GOTO('HL')
  330.  
  331.  
  332.  
  333. :EE
  334.  
  335. DISPOSE(VOL)
  336. DISPOSE(XX)
  337. DISPOSE(YY)
  338. DISPOSE(BY)
  339.  
  340.  
  341. END
  342.