123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #ifndef _SAPDISPLAY_H_
- #define _SAPDISPLAY_H_
- // SapDisplay.h : header file
- //
- #include "SapClassBasicDef.h"
- //
- // SapDisplay class declaration
- //
- class SAPCLASSBASIC_CLASS SapDisplay : public SapManager
- {
- public:
- // Display types
- typedef int Type; // For compatibility with old Sapera++ application code
- enum _Type
- {
- TypeUnknown = 0,
- TypeSystem = CORDISPLAY_VAL_TYPE_SYSTEM,
- TypeDuplicate = CORDISPLAY_VAL_TYPE_DUPLICATE,
- TypeExtended = CORDISPLAY_VAL_TYPE_EXTENDED,
- TypeIndependent = CORDISPLAY_VAL_TYPE_INDEPENDENT
- };
- // Various constants
- enum MiscValues
- {
- MaxFormats = 32
- };
- public:
- // Constructor/Destructor
- SapDisplay(SapLocation loc = SapLocation::ServerSystem);
- SapDisplay(const SapDisplay &disp);
- virtual ~SapDisplay();
- SapDisplay &operator=(const SapDisplay &disp);
- // Module create/destroy
- virtual BOOL Create();
- virtual BOOL Destroy();
- // Access to implementation
- CORHANDLE GetHandle() const { return m_hDisplay;}
- SapLocation GetLocation() const { return m_Location;}
- int GetWidth() const { return m_Width; }
- int GetHeight() const { return m_Height; }
- int GetPixelDepth() const { return m_PixelDepth; }
- int GetRefreshRate() const { return m_Refresh; }
- BOOL IsInterlaced() const { return m_Interlaced ? TRUE : FALSE; }
- Type GetType() const { return m_Type; }
- BOOL GetFormatDetection() const { return m_FormatDetection; }
- BOOL SetLocation(SapLocation location);
- virtual BOOL SetFormatDetection(BOOL formatDetection);
- virtual BOOL GetCapability(int cap, void *pValue);
- virtual BOOL GetParameter(int param, void *pValue);
- virtual BOOL SetParameter(int param, int value);
- virtual BOOL SetParameter(int param, void *pValue);
- virtual BOOL IsCapabilityValid(int cap);
- virtual BOOL IsParameterValid(int param);
- virtual BOOL IsPrimaryVGABoard();
- virtual BOOL IsOffscreenAvailable(SapFormat format);
- virtual BOOL IsOverlayAvailable(SapFormat format);
- // Access to display context
- virtual BOOL GetDC(HDC *pDC);
- virtual BOOL ReleaseDC();
- // Utility methods
- int IncRef() { m_nRef++; return m_nRef;}
- int DecRef() { if (m_nRef > 0) m_nRef--; return m_nRef;}
- // Obsolete methods
- BOOL IsSystem() const { return m_Type == TypeSystem; }
- BOOL IsIndependent() const { return m_Type == TypeIndependent; }
- #if !COR_WIN64
- // Programmable display support
- virtual BOOL SetMode(int width, int height, SapFormat format, int refresh);
- #endif
- protected:
- // Utility methods
- void Construct(SapLocation loc);
- protected:
- SapLocation m_Location;
- CORDISPLAY m_hDisplay;
- int m_nRef; // Number of views attached to the object
- // Parameters
- int m_Width; // Displayable width
- int m_Height; // Displayable height
- int m_PixelDepth; // Number of bits per pixel
- int m_Refresh; // Refresh rate in Hz
- int m_Interlaced; // Non-zero if current display mode is interlaced
- Type m_Type; // Display type
- BOOL m_FormatDetection; // Enable or disable detection of available offscreen and overlay formats
- // Available offscreen and overlay display formats
- int m_OffscreenFormats[MaxFormats];
- int m_OverlayFormats[MaxFormats];
- };
- #endif // _SAPDISPLAY_H_
|