// FRMFRAME.H
//
// Copyright (c) 1997-1999 Symbian Ltd. All rights reserved.
//

#if !defined(__FRMFRAME_H__)
#define __FRMFRAME_H__

#if !defined(__W32STD_H__)
#include <w32std.h>
#endif


class TFrameOverlay
    {
public:
enum TEdges
	{
	ENoEdges=0x00,
	EEdgeLeft=0x01,
	EEdgeRight=0x02,
	EEdgeTop=0x04,
	EEdgeBottom=0x08
	};
enum TFrameOverlayFlags
	{ 
	EFrameOverlayFlagBlobsInternal=0x01,
	EFrameOverlayFlagShowBorder=0x02,
	EFrameOverlayFlagTopBlobsDimmed=0x04,
	EFrameOverlayFlagBottomBlobsDimmed=0x08,
	EFrameOverlayFlagLeftBlobsDimmed=0x10,
	EFrameOverlayFlagRightBlobsDimmed=0x20
	};
public:
	IMPORT_C TFrameOverlay();
    IMPORT_C void SetBlobWidthInPixels(const TInt aWidth); //sets visible and active blob width
    IMPORT_C void SetVisibleBlobWidthInPixels(const TInt aWidth); //default zero
    IMPORT_C void SetActiveBlobWidthInPixels(const TInt aWidth); // default zero
	IMPORT_C void SetFlags(TInt aFlag);
    IMPORT_C void ClearFlags(TInt aFlag);
    IMPORT_C void SetRect(const TRect& aRect);
    IMPORT_C void XorDraw(CGraphicsContext& aGc) const;
    IMPORT_C TInt XyPosToEdges(const TPoint& aPos) const;
    inline TRect Rect() const;		// deprecated
    inline const TRect& RefRect() const;
    inline TInt Flags() const;
private:
	TInt VisibleBlobWidth() const;
	TInt ActiveMarginWidth() const;
	TBool DrawLeftAndRight() const;
	TBool DrawTopAndBottom() const;
	void DrawDottedRectangle(CGraphicsContext& aGc,const TRect& aRect) const;
private:
    TInt iFlags;
    TInt iVisibleBlobWidth;
	TInt iActiveBlobWidth;
	TRect iRect;
    };

inline TRect TFrameOverlay::Rect() const		// deprecated
	{
	return(iRect);
	}

inline const TRect& TFrameOverlay::RefRect() const
	{
	return(iRect);
	}

TInt TFrameOverlay::Flags() const
	{
	return(iFlags);
	}

#endif
