Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
1.9 KiB

  1. /****************************************************************************/
  2. // nssidisp.h
  3. //
  4. // Header for DD side of SSI.
  5. //
  6. // Copyright (C) 1997-2000 Microsoft Corporation
  7. /****************************************************************************/
  8. #ifndef __NSSIDISP_H
  9. #define __NSSIDISP_H
  10. #include <assiapi.h>
  11. // Maximum depth of save bitmaps we can handle.
  12. #define SSB_MAX_SAVE_LEVEL 6
  13. // Macro that makes it easier (more readable) to access the current
  14. // local SSB state.
  15. #define CURRENT_LOCAL_SSB_STATE \
  16. ssiLocalSSBState.saveState[ssiLocalSSBState.saveLevel]
  17. // Local SaveScreenBitmap state structures.
  18. typedef struct _SAVE_STATE
  19. {
  20. PVOID pSaveData; /* the actual bits. can be NULL */
  21. BOOL fSavedRemotely;
  22. UINT32 remoteSavedPosition; /* valid if (fSavedRemotely == TRUE) */
  23. UINT32 remotePelsRequired; /* valid if (fSavedRemotely == TRUE) */
  24. RECTL rect;
  25. } SAVE_STATE, * PSAVE_STATE;
  26. typedef struct _LOCAL_SSB_STATE
  27. {
  28. int saveLevel;
  29. SAVE_STATE saveState[SSB_MAX_SAVE_LEVEL];
  30. } LOCAL_SSB_STATE;
  31. // Remote SaveScreenBitmap structures.
  32. typedef struct _REMOTE_SSB_STATE
  33. {
  34. UINT32 pelsSaved;
  35. } REMOTE_SSB_STATE;
  36. /****************************************************************************/
  37. // Prototypes and inlines
  38. /****************************************************************************/
  39. void SSI_DDInit(void);
  40. void SSI_InitShm(void);
  41. void SSI_Update(BOOL);
  42. void SSI_ClearOrderEncoding();
  43. void SSIResetSaveScreenBitmap(void);
  44. BOOL SSISendSaveBitmapOrder(PDD_PDEV, PRECTL, unsigned, unsigned);
  45. BOOL SSISaveBits(SURFOBJ *, PRECTL);
  46. BOOL SSIRestoreBits(SURFOBJ *, PRECTL, ULONG_PTR);
  47. BOOL SSIDiscardSave(PRECTL, ULONG_PTR);
  48. UINT32 SSIRemotePelsRequired(PRECTL);
  49. BOOL SSIFindSlotAndDiscardAbove(PRECTL, ULONG_PTR);
  50. void SSICopyRect(SURFOBJ *, BOOL);
  51. #endif // !defined(__NSSIDISP_H)