home *** CD-ROM | disk | FTP | other *** search
- /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * The contents of this file are subject to the Netscape Public License
- * Version 1.0 (the "NPL"); you may not use this file except in
- * compliance with the NPL. You may obtain a copy of the NPL at
- * http://www.mozilla.org/NPL/
- *
- * Software distributed under the NPL is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
- * for the specific language governing rights and limitations under the
- * NPL.
- *
- * The Initial Developer of this code under the NPL is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All Rights
- * Reserved.
- */
-
- #ifndef __DragEdges_H
- #define __DragEdges_H
-
- #define DOCKSTYLE_VERTLEFT 1
- #define DOCKSTYLE_VERTRIGHT 2
- #define DOCKSTYLE_HORZTOP 3
- #define DOCKSTYLE_HORZBOTTOM 4
-
- class CNSNavFrame;
- class CDragBar : public CWnd
- {
- // Construction
- public:
- CDragBar(CRect& crRect, CNSNavFrame* pDockFrame);
-
- // Wether or not we are currently tracking.
- private:
- BOOL m_bDragging;
- CRect m_crTracker;
- CRect m_rectLast;
- CPoint m_cpLBDown;
- CPoint m_ptLast;
- BOOL m_bDitherLast;
- BOOL m_bInDeskCoord;
- CSize m_sizeLast;
- CDC* m_pDC;
- BOOL m_bParentClipChildren;
- void InvertTracker();
- CFrameWnd* m_parentView;
- CNSNavFrame* m_dockedFrame;
- int m_orientation;
-
- // Operations
- public:
- void SetRect(CRect& rect, BOOL inDeskCoord = FALSE);
- void GetRect(CRect& rect);
- void SetParentFrame(CFrameWnd* pFrame) { m_parentView = pFrame;}
- void SetOrientation(int orientation) {m_orientation = orientation;}
- // Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CGridEdge)
- //}}AFX_VIRTUAL
-
- // Implementation
- public:
- virtual ~CDragBar();
- virtual void PostNcDestroy( );
- // Generated message map functions
- protected:
- void InitLoop();
- void CancelLoop();
- BOOL Track();
-
- void CalcClientArea(RECT* lpRectClient);
- void DrawFocusRect(BOOL bRemoveRect = FALSE);
- void EndDrag();
- void Move( CPoint point );
-
- afx_msg void OnMouseMove( UINT nFlags, CPoint point );
- afx_msg void OnDestroy();
- afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
- afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
- afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
- afx_msg void OnPaint();
- afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
-
- DECLARE_MESSAGE_MAP()
- };
-
- /////////////////////////////////////////////////////////////////////////////
- #endif // __DragEdges_H
-