x11imaged.inc 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. Type
  2. TX11Image = Class(TObject)
  3. Protected
  4. FWidth, FHeight : Integer;
  5. FDisplay : PDisplay;
  6. FImage : PXImage;
  7. Public
  8. Constructor Create(ADisplay : PDisplay; AScreen, AWidth, AHeight : Integer; AFormat : TPTCFormat); Virtual;
  9. Procedure Put(AWindow : TWindow; AGC : TGC; AX, AY : Integer); Virtual; Abstract;
  10. Procedure Put(AWindow : TWindow; AGC : TGC; ASX, ASY, ADX, ADY,
  11. AWidth, AHeight : Integer); Virtual; Abstract;
  12. Function Lock : Pointer; Virtual; Abstract;
  13. Function Pitch : Integer; Virtual; Abstract;
  14. Function Name : String; Virtual; Abstract;
  15. End;
  16. TX11NormalImage = Class(TX11Image)
  17. Private
  18. FPixels : PUint8;
  19. Public
  20. Constructor Create(ADisplay : PDisplay; AScreen, AWidth, AHeight : Integer; AFormat : TPTCFormat); Override;
  21. Destructor Destroy; Override;
  22. Procedure Put(AWindow : TWindow; AGC : TGC; AX, AY : Integer); Override;
  23. Procedure Put(AWindow : TWindow; AGC : TGC; ASX, ASY, ADX, ADY,
  24. AWidth, AHeight : Integer); Override;
  25. Function Lock : Pointer; Override;
  26. Function Pitch : Integer; Override;
  27. Function Name : String; Override;
  28. End;
  29. {$IFDEF ENABLE_X11_EXTENSION_XSHM}
  30. TX11ShmImage = Class(TX11Image)
  31. Private
  32. FShmInfo : TXShmSegmentInfo;
  33. FShmAttached : Boolean;
  34. Public
  35. Constructor Create(ADisplay : PDisplay; AScreen, AWidth, AHeight : Integer; AFormat : TPTCFormat); Override;
  36. Destructor Destroy; Override;
  37. Procedure Put(AWindow : TWindow; AGC : TGC; AX, AY : Integer); Override;
  38. Procedure Put(AWindow : TWindow; AGC : TGC; ASX, ASY, ADX, ADY,
  39. AWidth, AHeight : Integer); Override;
  40. Function Lock : Pointer; Override;
  41. Function Pitch : Integer; Override;
  42. Function Name : String; Override;
  43. End;
  44. {$ENDIF ENABLE_X11_EXTENSION_XSHM}