// ClipSurface.h: interface for the CClipSurface class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CLIPSURFACE_H__CE89407E_9481_4AC3_BE6A_242345B87028__INCLUDED_)
#define AFX_CLIPSURFACE_H__CE89407E_9481_4AC3_BE6A_242345B87028__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include <gui/surface.h>
class CClipSurface :
public IUnknown,
public ISurface
{
protected:
ISurface* m_surf;
rectangle_t m_rect;
public:
CClipSurface(ISurface* surf, const rectangle_t* rect);
virtual ~CClipSurface();
STDMETHOD(QueryInterface)(REFIID iid, void** ppvObject);
IMPLEMENT_IUNKNOWN(CClipSurface);
STDMETHOD(SetPalette)(int nIndex, int red, int green, int blue);
STDMETHOD(Blt)(ISurface* pSrc, int x, int y, int nWidth,
int nHeight, int nSrcX, int nSrcY, pixel_t pixTrans);
STDMETHOD(Lock)(surface_t* pDesc);
STDMETHOD(Unlock)();
STDMETHOD(GetSurfaceDesc)(surface_t* pDesc);
STDMETHOD_(pixel_t, ColourMatch)(colour_t clr);
STDMETHOD(SetPixel)(int x, int y, pixel_t pix);
STDMETHOD_(pixel_t, GetPixel)(int x, int y);
STDMETHOD_(DrawMode, SetDrawMode)(DrawMode mode);
STDMETHOD(FillRect)(const rectangle_t* rect, pixel_t pix);
STDMETHOD(Rect3d)(const rectangle_t* rect, pixel_t pixTop,
pixel_t pixBottom, int nWidth);
STDMETHOD(Rect)(const rectangle_t* rect, pixel_t pix, int nWidth);
STDMETHOD(GetClipRect)(rectangle_t* rect);
};
#endif // !defined(AFX_CLIPSURFACE_H__CE89407E_9481_4AC3_BE6A_242345B87028__INCLUDED_)