// Paper.h: interface for the CPaper class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_PAPER_H__71DB3C9E_7AC1_42B6_9BCA_A6F9D865F389__INCLUDED_) #define AFX_PAPER_H__71DB3C9E_7AC1_42B6_9BCA_A6F9D865F389__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "Panel.h" class CPaper : public CPanel { private: int links[NUMBER_OF_TOGLLE_BUTTON]; Bitmap *bmpBackGround; Bitmap *bmpLittle; OrgElement** orgElements; int countOrgElements; Bitmap **bmpElements; Bitmap *xbmpElements[NUMBER_OF_TOGLLE_BUTTON]; OrgBond** orgBonds; int countOrgBonds; int startBondIndex; POINT *tempStart; POINT tempEnd; POINT *highStart; //about highlighting POINT highEnd; int term,lastTime; bool bMouseDown; POINT *movementStart; POINT movementEnd; struct MovingElement{ OrgElement* orgElement; int newx; int newy; int eleIndex; }; MovingElement** movingElements; int countMovingElements; struct MovingBond{ OrgBond *orgBond; POINT newStart; POINT newEnd; bool hasStart; bool hasEnd; }; MovingBond** movingBonds; int countMovingBonds; bool bMoving; void DrawBond(HDC hDC,int iBondType,POINT ptStart,POINT ptEnd,bool); public: void getReadyForACompound(); int checkingForLoops(int fromIndex,int index); void ClearAll(); void DrawLine(HDC hDC,int startx,int starty,int endx,int endy); void HighlightLine(HDC hDC); void SetElements(Bitmap** bmpElements); void MouseButtonUp(int x,int y,bool bLeft); int MouseButtonDown(int x,int y, bool bLeft,WPARAM wParam); void MouseMove(int x,int y); CPaper(int ix,int iy,int iLayerWidth,int iLayerHeight,int iwidth,int iheight,UINT uiBG); virtual ~CPaper(); void DrawScreen(HDC hDC); }; #endif // !defined(AFX_PAPER_H__71DB3C9E_7AC1_42B6_9BCA_A6F9D865F389__INCLUDED_)