fcBitmap.hpp
上传用户:hylc_2004
上传日期:2014-01-23
资源大小:46800k
文件大小:7k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1999 by Borland International
  3. // All rights reserved
  4. // (DO NOT EDIT: machine generated header) 'fcBitmap.pas' rev: 5.00
  5. #ifndef fcBitmapHPP
  6. #define fcBitmapHPP
  7. #pragma delphiheader begin
  8. #pragma option push -w-
  9. #pragma option push -Vx
  10. #include <SysUtils.hpp> // Pascal unit
  11. #include <fcChangeLink.hpp> // Pascal unit
  12. #include <fcGraphics.hpp> // Pascal unit
  13. #include <Classes.hpp> // Pascal unit
  14. #include <Graphics.hpp> // Pascal unit
  15. #include <Windows.hpp> // Pascal unit
  16. #include <SysInit.hpp> // Pascal unit
  17. #include <System.hpp> // Pascal unit
  18. //-- user supplied -----------------------------------------------------------
  19. namespace Fcbitmap
  20. {
  21. //-- type declarations -------------------------------------------------------
  22. #pragma pack(push, 1)
  23. struct TfcColor
  24. {
  25. Byte b;
  26. Byte g;
  27. Byte r;
  28. } ;
  29. #pragma pack(pop)
  30. typedef TfcColor *PfcColor;
  31. typedef TfcColor TfcLine[1];
  32. typedef TfcColor *PfcLine;
  33. typedef TfcColor *TfcPLines[1];
  34. typedef PfcLine *PfcPLines;
  35. class DELPHICLASS TfcBitmap;
  36. class PASCALIMPLEMENTATION TfcBitmap : public Graphics::TGraphic 
  37. {
  38. typedef Graphics::TGraphic inherited;
  39. private:
  40. bool FSmoothStretching;
  41. Graphics::TColor FTransparentColor;
  42. int FWidth;
  43. int FHeight;
  44. int FGap;
  45. Graphics::TBitmap* FMaskBitmap;
  46. int FRowInc;
  47. int FSize;
  48. void *FBits;
  49. int FHandle;
  50. HDC FDC;
  51. Graphics::TCanvas* FCanvas;
  52. void *FMemoryImage;
  53. int FMemorySize;
  54. tagSIZE FMemoryDim;
  55. Graphics::TPixelFormat FPixelFormat;
  56. HPALETTE FPalette;
  57. bool FRespectPalette;
  58. bool FUseHalftonePalette;
  59. bool FIgnoreChange;
  60. Classes::TList* FChangeLinks;
  61. tagBITMAPINFO bmInfo;
  62. tagBITMAPINFOHEADER bmHeader;
  63. bool __fastcall GetSleeping(void);
  64. void __fastcall InitHeader(void);
  65. protected:
  66. bool Assigning;
  67. bool SkipPalette;
  68. virtual void __fastcall RestoreBitmapPalette(Graphics::TCanvas* ACanvas, HPALETTE OldPalette);
  69. virtual void __fastcall SelectBitmapPalette(Graphics::TCanvas* ACanvas, HPALETTE &OldPalette);
  70. virtual bool __fastcall GetEmpty(void);
  71. virtual int __fastcall GetHeight(void);
  72. virtual int __fastcall GetWidth(void);
  73. virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
  74. virtual void __fastcall Changed(System::TObject* Sender);
  75. virtual void __fastcall Draw(Graphics::TCanvas* ACanvas, const Windows::TRect &Rect);
  76. virtual void __fastcall SetHeight(int Value);
  77. virtual void __fastcall SetWidth(int Value);
  78. virtual void __fastcall CleanUp(void);
  79. virtual void __fastcall Initialize(void);
  80. virtual void __fastcall NotifyChanges(void);
  81. virtual void __fastcall PaletteNeeded(void);
  82. __property int Gap = {read=FGap, nodefault};
  83. __property int RowInc = {read=FRowInc, nodefault};
  84. __property HDC DC = {read=FDC, nodefault};
  85. public:
  86. Variant Patch;
  87. PfcLine *Pixels;
  88. tagRGBQUAD Colors[256];
  89. __fastcall virtual TfcBitmap(void);
  90. __fastcall virtual ~TfcBitmap(void);
  91. virtual void __fastcall Assign(Classes::TPersistent* Source);
  92. virtual void __fastcall RegisterChanges(Fcchangelink::TfcChangeLink* ChangeLink);
  93. virtual void __fastcall UnRegisterChanges(Fcchangelink::TfcChangeLink* ChangeLink);
  94. virtual void __fastcall Clear(void);
  95. virtual void __fastcall FreeMemoryImage(void);
  96. virtual void __fastcall LoadBlank(int AWidth, int AHeight);
  97. virtual void __fastcall LoadFromBitmap(Graphics::TBitmap* Bitmap);
  98. virtual void __fastcall LoadFromJPEG(Graphics::TGraphic* JPEG);
  99. virtual void __fastcall LoadFromClipboardFormat(Word AFormat, unsigned AData, HPALETTE APalette);
  100. virtual void __fastcall LoadFromGraphic(Graphics::TGraphic* Graphic);
  101. virtual void __fastcall LoadFromMemory(void * ABits, int ASize, const tagSIZE &Dimensions);
  102. virtual void __fastcall LoadFromStream(Classes::TStream* Stream);
  103. virtual void __fastcall SaveToBitmap(Graphics::TBitmap* Bitmap);
  104. virtual void __fastcall SaveToClipboardFormat(Word &AFormat, unsigned &AData, HPALETTE &APalette);
  105. virtual void __fastcall SaveToStream(Classes::TStream* Stream);
  106. virtual void __fastcall SetSize(const int AWidth, const int AHeight);
  107. Graphics::TBitmap* __fastcall GetMaskBitmap(void);
  108. PfcPLines __fastcall CopyPixels(void);
  109. void __fastcall Fill(Graphics::TColor Color);
  110. virtual void __fastcall Resize(int AWidth, int AHeight);
  111. virtual void __fastcall Sleep(void);
  112. virtual void __fastcall SmoothStretchDraw(Graphics::TCanvas* ACanvas, const Windows::TRect &Rect);
  113. virtual void __fastcall StretchDraw(Graphics::TCanvas* ACanvas, const Windows::TRect &Rect);
  114. virtual void __fastcall TileDraw(Graphics::TCanvas* ACanvas, const Windows::TRect &ARect);
  115. virtual void __fastcall TransparentDraw(Graphics::TCanvas* ACanvas, const Windows::TRect &Rect);
  116. virtual void __fastcall Wake(void);
  117. void __fastcall AlphaBlend(TfcBitmap* Bitmap, int Alpha, bool Stretch);
  118. virtual void __fastcall Blur(int Amount);
  119. virtual void __fastcall Contrast(int Amount);
  120. virtual void __fastcall Emboss(void);
  121. virtual void __fastcall Flip(bool Horizontal);
  122. virtual void __fastcall GaussianBlur(int Amount);
  123. virtual void __fastcall Grayscale(void);
  124. virtual void __fastcall Invert(void);
  125. virtual void __fastcall Brightness(int Amount);
  126. virtual void __fastcall Mask(TfcColor MaskColor);
  127. virtual void __fastcall ChangeColor(TfcColor OldColor, TfcColor NewColor);
  128. virtual void __fastcall ColorTint(int ra, int ga, int ba);
  129. virtual void __fastcall Colorize(int ra, int ga, int ba);
  130. virtual void __fastcall Rotate(const Windows::TPoint &Center, Extended Angle);
  131. virtual void __fastcall Saturation(int Amount);
  132. virtual void __fastcall Sharpen(int Amount);
  133. virtual void __fastcall Sponge(int Amount);
  134. virtual void __fastcall Wave(Extended XDiv, Extended YDiv, Extended RatioVal, bool Wrap);
  135. __property void * Bits = {read=FBits};
  136. __property Graphics::TCanvas* Canvas = {read=FCanvas};
  137. __property int Handle = {read=FHandle, nodefault};
  138. __property bool IgnoreChange = {read=FIgnoreChange, write=FIgnoreChange, nodefault};
  139. __property Graphics::TBitmap* MaskBitmap = {read=GetMaskBitmap};
  140. __property bool RespectPalette = {read=FRespectPalette, write=FRespectPalette, nodefault};
  141. __property bool UseHalftonePalette = {read=FUseHalftonePalette, write=FUseHalftonePalette, nodefault
  142. };
  143. __property bool SmoothStretching = {read=FSmoothStretching, write=FSmoothStretching, nodefault};
  144. __property bool Sleeping = {read=GetSleeping, nodefault};
  145. __property int Size = {read=FSize, nodefault};
  146. __property Graphics::TColor TransparentColor = {read=FTransparentColor, write=FTransparentColor, nodefault
  147. };
  148. };
  149. //-- var, const, procedure ---------------------------------------------------
  150. extern PACKAGE TfcColor __fastcall fcGetColor(Graphics::TColor Color);
  151. extern PACKAGE Graphics::TColor __fastcall fcGetStdColor(TfcColor Color);
  152. extern PACKAGE TfcColor __fastcall fcRGB(Byte r, Byte g, Byte b);
  153. extern PACKAGE Byte __fastcall fcIntToByte(int Value);
  154. extern PACKAGE int __fastcall fcTrimInt(int i, int Min, int Max);
  155. } /* namespace Fcbitmap */
  156. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  157. using namespace Fcbitmap;
  158. #endif
  159. #pragma option pop // -w-
  160. #pragma option pop // -Vx
  161. #pragma delphiheader end.
  162. //-- end unit ----------------------------------------------------------------
  163. #endif // fcBitmap