svnimaged.inc 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. Type
  2. TX11Image = Class(TObject)
  3. Protected
  4. m_width, m_height : DWord;
  5. m_disp : PDisplay;
  6. m_image : PXImage;
  7. Public
  8. Constructor Create(display : PDisplay; screen, width, height : Integer; format : TPTCFormat);
  9. Destructor Destroy; Override;
  10. Procedure put(w : TWindow; gc : TGC; x, y : Integer); Virtual; Abstract;
  11. Procedure put(w : TWindow; gc : TGC; sx, sy, dx, dy,
  12. width, height : Integer); Virtual; Abstract;
  13. Function lock : Pointer; Virtual; Abstract;
  14. Function pitch : Integer; Virtual; Abstract;
  15. End;
  16. TX11NormalImage = Class(TX11Image)
  17. Private
  18. m_pixels : PUint8;
  19. Public
  20. Constructor Create(display : PDisplay; screen, width, height : Integer; format : TPTCFormat);
  21. Destructor Destroy; Override;
  22. Procedure put(w : TWindow; gc : TGC; x, y : Integer); Override;
  23. Procedure put(w : TWindow; gc : TGC; sx, sy, dx, dy,
  24. width, height : Integer); Override;
  25. Function lock : Pointer; Override;
  26. Function pitch : Integer; Override;
  27. End;
  28. {$IFDEF HAVE_X11_EXTENSIONS_XSHM}
  29. TX11SHMImage = Class(TX11Image)
  30. Public
  31. Constructor Create(display : PDisplay; screen, width, height : Integer; format : TPTCFormat);
  32. Destructor Destroy; Override;
  33. Procedure put(w : TWindow; gc : TGC; x, y : Integer); Override;
  34. Procedure put(w : TWindow; gc : TGC; sx, sy, dx, dy,
  35. width, height : Integer); Override;
  36. Function lock : Pointer; Override;
  37. Function pitch : Integer; Override;
  38. Private
  39. shminfo : TXShmSegmentInfo;
  40. FShmAttached : Boolean;
  41. End;
  42. {$ENDIF}