Progress.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /******************************************************************************/
  2. enum PROGRESS_MODE : Byte // Progress Bar Mode
  3. {
  4. PROGRESS_NONE , // don't draw any text
  5. PROGRESS_PERCENT, // draw text as percentage 0..100
  6. PROGRESS_REAL , // draw text as real value 0..1
  7. };
  8. /******************************************************************************/
  9. const_mem_addr STRUCT(Progress , GuiObj) // Gui ProgressBar !! must be stored in constant memory address !!
  10. //{
  11. PROGRESS_MODE mode; // progress mode
  12. GuiSkinPtr skin; // skin override, default=null (if set to null then current value of 'Gui.skin' is used)
  13. // manage
  14. Progress& del ( ); // delete
  15. Progress& create( PROGRESS_MODE mode=PROGRESS_NONE); // create
  16. Progress& create(C Rect &rect, PROGRESS_MODE mode=PROGRESS_NONE) {create(mode).rect(rect); return T;} // create
  17. Progress& create(C Progress &src ); // create from 'src'
  18. // set/get
  19. Progress& clear ( ); // clear progress
  20. Progress& set (Int x, Int max); // set progress from integer values "x/max"
  21. Progress& set (Long x, Long max); // set progress from integer values "x/max"
  22. Progress& set (Flt progress ); // set progress (0..1)
  23. Flt operator()( )C {return _progress ;} // get progress (0..1)
  24. GuiSkin* getSkin ( )C {return skin ? skin() : Gui.skin();} // get actual skin
  25. // main
  26. virtual void draw(C GuiPC &gpc); // draw object
  27. #if EE_PRIVATE
  28. void zero();
  29. #endif
  30. ~Progress() {del();}
  31. Progress();
  32. #if !EE_PRIVATE
  33. private:
  34. #endif
  35. Flt _progress;
  36. protected:
  37. virtual Bool save(File &f, CChar *path=null)C;
  38. virtual Bool load(File &f, CChar *path=null) ;
  39. };
  40. /******************************************************************************/