ldial.pp 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. { This is an example of the use of dials.
  2. }
  3. Program ldial;
  4. uses xforms;
  5. var
  6. form : PFL_FORM ;
  7. button, red, green, blue, redtext, greentext, bluetext, theresult : PFL_OBJECT;
  8. procedure makeform;
  9. begin
  10. form := fl_bgn_form(FL_UP_BOX,300,330);
  11. button := fl_add_button(FL_NORMAL_BUTTON,45,15,210,45,'A Color Editor');
  12. fl_set_object_lsize(button,FL_LARGE_SIZE);
  13. red := fl_add_dial(FL_LINE_DIAL,30,240,60,60,'Red');
  14. fl_set_dial_bounds(red,0.0,255.0);
  15. fl_set_dial_value(red,128.0);
  16. fl_set_object_color(red,FL_RED,FL_DIAL_COL2);
  17. redtext := fl_add_box(FL_DOWN_BOX,105,255,50,25,'');
  18. green := fl_add_dial(FL_LINE_DIAL,30,155,60,60,'Green');
  19. fl_set_dial_bounds(green,0.0,255.0);
  20. fl_set_dial_value(green,128.0);
  21. fl_set_dial_angles(green, 45.0, (360-45.0));
  22. fl_set_object_color(green,FL_GREEN,FL_DIAL_COL2);
  23. greentext := fl_add_box(FL_DOWN_BOX,105,170,50,25,'');
  24. blue := fl_add_dial(FL_LINE_DIAL,30,70,60,60,'Blue');
  25. fl_set_dial_bounds(blue,0.0,255.0);
  26. fl_set_dial_value(blue,128.0);
  27. fl_set_object_color(blue,FL_BLUE,FL_DIAL_COL2);
  28. bluetext := fl_add_box(FL_DOWN_BOX,105,90,50,25,'');
  29. theresult := fl_add_box(FL_DOWN_BOX,180,70,90,245,'');
  30. fl_set_object_color(theresult,FL_FREE_COL1,FL_FREE_COL1);
  31. fl_set_object_dblbuffer(theresult,1);
  32. fl_end_form;
  33. end;
  34. var
  35. ret : PFL_OBJECT ;
  36. r,g,b : Longint;
  37. st : string[100];
  38. begin
  39. fl_initialize(@argc, argv, 'FormDemo', nil, 0);
  40. makeform;
  41. fl_show_form(form,FL_PLACE_MOUSE,FL_TRANSIENT,'A Form');
  42. repeat
  43. r := round(fl_get_dial_value(red)+0.001);
  44. g := round(fl_get_dial_value(green)+0.001);
  45. b := round(fl_get_dial_value(blue)+0.001);
  46. fl_mapcolor(FL_FREE_COL1,r,g,b);
  47. fl_redraw_object(theresult);
  48. str(r,st);st:=st+#0; fl_set_object_label(redtext,@st[1]);
  49. str(g,st);st:=st+#0; fl_set_object_label(greentext,@st[1]);
  50. str(b,st);st:=st+#0; fl_set_object_label(bluetext,@st[1]);
  51. ret := fl_do_forms;
  52. until (ret = button);
  53. fl_hide_form(form);
  54. end.
  55. {
  56. $Log$
  57. Revision 1.3 2003-10-27 15:48:13 peter
  58. * renamed forms unit to xforms to prevent conflict with Forms
  59. from the LCL
  60. Revision 1.2 2002/09/07 15:42:57 peter
  61. * old logs removed and tabs fixed
  62. Revision 1.1 2002/01/29 17:55:01 peter
  63. * splitted to base and extra
  64. }