MMWDISP.INT 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. {========================================================================}
  2. {= (c) 1995-98 SwiftSoft Ronald Dittrich =}
  3. {========================================================================}
  4. {= All Rights Reserved =}
  5. {========================================================================}
  6. {= D 01099 Dresden = Tel.: +0351-8012255 =}
  7. {= Loewenstr.7a = info@swiftsoft.de =}
  8. {========================================================================}
  9. {= Actual versions on http://www.swiftsoft.de/mmtools.html =}
  10. {========================================================================}
  11. {= This code is for reference purposes only and may not be copied or =}
  12. {= distributed in any format electronic or otherwise except one copy =}
  13. {= for backup purposes. =}
  14. {= =}
  15. {= No Delphi Component Kit or Component individually or in a collection=}
  16. {= subclassed or otherwise from the code in this unit, or associated =}
  17. {= .pas, .dfm, .dcu, .asm or .obj files may be sold or distributed =}
  18. {= without express permission from SwiftSoft. =}
  19. {= =}
  20. {= For more licence informations please refer to the associated =}
  21. {= HelpFile. =}
  22. {========================================================================}
  23. {= $Date: 20.01.1998 - 18:00:00 $ =}
  24. {========================================================================}
  25. unit MMWDisp;
  26. {$I COMPILER.INC}
  27. {.$DEFINE _MMDEBUG}
  28. interface
  29. uses
  30. {$IFDEF WIN32}
  31. Windows,
  32. {$ELSE}
  33. WinTypes,
  34. WinProcs,
  35. {$ENDIF}
  36. SysUtils,
  37. Classes,
  38. Graphics,
  39. Controls,
  40. Forms,
  41. MMSystem,
  42. MMUtils,
  43. MMPCMSup,
  44. MMACMSup,
  45. MMWaveIO,
  46. MMMath,
  47. MMRegs,
  48. MMMulDiv,
  49. MMWave,
  50. MMDIBCv,
  51. MMFade
  52. {$IFDEF _MMDEBUG}
  53. ,MMDebug
  54. {$ENDIF};
  55. const
  56. MinMS: integer = 1; { minimal resolution in datafile in msec }
  57. type
  58. PMMDisplayRec = ^TMMDisplayRec;
  59. TMMDisplayRec = record
  60. LeftMin : SmallInt;
  61. RightMin: SmallInt;
  62. LeftMax : SmallInt;
  63. RightMax: SmallInt;
  64. end;
  65. PMMDisplayData = ^TMMDisplayData;
  66. TMMDisplayData = array[0..0] of TMMDisplayRec;
  67. TMMGenerateEvent = procedure(Sender: TObject; Percent: integer; var Cancel: Boolean) of object;
  68. procedure AddSample(Wave: TMMWave);
  69. procedure RemoveSample(Wave: TMMWave; DeleteData: Boolean);
  70. function CheckDisplayData(Wave: TMMWave): Boolean;
  71. procedure CreateDisplayData(Wave: TMMWave; Callback: TMMGenerateEvent);
  72. procedure GenerateDisplayData(Wave: TMMWave; Callback: TMMGenerateEvent);
  73. function ZoomData(Wave: TMMWave; PixelMin, PixelMax: integer;
  74. WaveVirtPixMin, WaveVirtPixMax: Longint;
  75. Data: PMMDisplayData): Boolean;
  76. procedure VolumeData(MinS, MaxS, Pixels: integer;
  77. FadeList: TMMFadeList; Data: PMMDisplayData);
  78. procedure DisplayData(Canvas: TCanvas; aRect: TRect; Data: PMMDisplayData;
  79. Stereo: Boolean; Mode: integer; Clr: TColor);
  80. procedure DIB_DisplayData(DIBCanvas: TMMDIBCanvas; aRect: TRect; Data: PMMDisplayData;
  81. Stereo: Boolean; Mode: integer; Clr: TColor);
  82. procedure DisplayKurve(Canvas: TCanvas; MinS, MaxS: longint;
  83. aRect: TRect; FadeList: TMMFadeList; Clr: TColor);
  84. procedure DIB_DisplayKurve(Canvas: TMMDIBCanvas; MinS, MaxS: longint;
  85. aRect: TRect; FadeList: TMMFadeList;
  86. Size: integer; LineClr, FrameClr, FrameSelectedClr, BackClr, BackSelectClr: TColor);
  87. implementation