palette.pas 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. PROGRAM Palette;
  2. uses triton,tritonmacros,utility;
  3. {
  4. A demo in FPC Pascal using triton.library
  5. Updated for fpc 1.0.7
  6. 11 Jan 2003.
  7. [email protected]
  8. }
  9. var
  10. Triton_App : pTR_App;
  11. Project : pTR_Project;
  12. close_me : boolean;
  13. trmsg : pTR_Message;
  14. dummy : longint;
  15. begin
  16. Triton_App := TR_CreateAppTags([
  17. TRCA_Name,'Triton Palette Demo',
  18. TRCA_Release,'1.0',
  19. TRCA_Date,'03-06-1998',
  20. TAG_DONE]);
  21. if Triton_App <> nil then begin
  22. ProjectStart;
  23. WindowID(1);
  24. WindowTitle('Palette');
  25. HorizGroupA;
  26. Space;
  27. VertGroupA;
  28. Space;
  29. CenteredTextID('_Palette',7);
  30. Space;
  31. PaletteGadget(1,7);
  32. Space;
  33. EndGroup;
  34. Space;
  35. EndGroup;
  36. EndProject;
  37. Project := TR_OpenProject(Triton_App,@tritontags);
  38. IF Project <> NIL THEN BEGIN
  39. close_me := FALSE;
  40. WHILE NOT close_me DO BEGIN
  41. dummy := TR_Wait(Triton_App,0);
  42. REPEAT
  43. trmsg := TR_GetMsg(Triton_App);
  44. IF trmsg <> NIL THEN BEGIN
  45. IF (trmsg^.trm_Project = Project) THEN BEGIN
  46. CASE trmsg^.trm_Class OF
  47. TRMS_CLOSEWINDOW : begin
  48. writeln('Your final colour was ',TR_GetValue(Project,7));
  49. close_me := True;
  50. end;
  51. TRMS_ERROR: WriteLN(TR_GetErrorString(trmsg^.trm_Data));
  52. TRMS_NEWVALUE : IF trmsg^.trm_ID = 7 then writeln('You picked colour ',trmsg^.trm_Data);
  53. END;
  54. END;
  55. TR_ReplyMsg(trmsg);
  56. END;
  57. UNTIL close_me OR (trmsg = NIL);
  58. END;
  59. TR_CloseProject(Project);
  60. end;
  61. TR_DeleteApp(Triton_App);
  62. END ELSE writeln('Can''t create Application',20);
  63. end.