#ifndef __CGdiObject_h
#define __CGdiObject_h

class MfcGdiObject : public MfcObject
{
public:
	operator HGDIOBJ () const;
	HGDIOBJ GetSafeHandle () const;
	static MfcGdiObject* FromHandle (HGDIOBJ hObject);
	static void DeleteTempMap ();
	BOOL Attach (HGDIOBJ hObject);
	HGDIOBJ Detach ();
	BOOL DeleteObject ();
	int GetObject (int nCount, LPVOID lpObject) const;
	UINT GetObjectType () const;
	BOOL CreateStockObject (int nIndex);
	BOOL UnrealizeObject ();
	BOOL operator== (const MfcGdiObject& obj) const;
	BOOL operator!= (const MfcGdiObject& obj) const;

	virtual ~MfcGdiObject();
#ifdef _DEBUG
	virtual void Dump(MfcDumpContext& dc) const;
	virtual void AssertValid() const;
#endif
};

#endif//__CGdiObject_h
