The DejaVU Framework -- hush 3.1

include: basic-program-code-16-Sketcher-ch16-with-scale-list-box-Elements.h /cygdrive/d/www/media


- [up] [top] - index make include source logic grammar scripts html configure mx slides talks scenes reports projects
<body bgcolor="#FFFFFF" text="#000000">

#pragma once

// CElement command target

<h4 align=right text=red> CElement</h4><hr>
  class CElement : public CObject
{
   protected:
      COLORREF m_Color;                  // Color of an element
      CRect m_EnclosingRect;             // Rectangle enclosing an element
      int m_Pen;                         // Pen width

   public:
      virtual ~CElement();               // Virtual destructor
      // Virtual draw operation
      virtual void Draw(CDC* pDC,CElement* pElement=0) {}
      virtual void Move(CSize& aSize){}  // Move an element
      CRect GetBoundRect();       // Get the bounding rectangle for an element

   protected:
      CElement();                        // Here to prevent it being called
};
<hr>


<hr>

CLine</h4>
  class CLine :
    public CElement
  {
     public:
        ~CLine(void);
        // Function to display a line
        virtual void Draw(CDC* pDC, CElement* pElement=0);     
  
        // Constructor for a line object
        CLine(CPoint Start, CPoint End, COLORREF aColor, int PenWidth);
  
        // Function to move an element
        virtual void Move(CSize& aSize);
  
     protected:
        CPoint m_StartPoint;             // Start point of line
        CPoint m_EndPoint;               // End point of line
  
        CLine(void);                     // Default constructor - should not be used
  };


  
  

CRectangle</h4>
  class CRectangle :
    public CElement
  {
     public:
        ~CRectangle(void);
        // Function to display a line
        virtual void Draw(CDC* pDC, CElement* pElement=0);     
  
        // Constructor for a rectangle object
        CRectangle(CPoint Start, CPoint End, COLORREF aColor, int PenWidth);
  
        // Function to move an element
        virtual void Move(CSize& aSize);
  
     protected:
        CRectangle(void);                // Default constructor - should not be used
  };


  
  

CCircle</h4>
  class CCircle :
    public CElement
  {
     public:
        ~CCircle(void);
        // Function to display a line
        virtual void Draw(CDC* pDC, CElement* pElement=0);     
  
        // Constructor for a circle object
        CCircle(CPoint Start, CPoint End, COLORREF aColor, int PenWidth);
  
        // Function to move an element
        virtual void Move(CSize& aSize);
  
     protected:
        CCircle(void);                   // Default constructor - should not be used
  };


  
  

CCurve</h4>
  class CCurve :
    public CElement
  {
     public:
        ~CCurve(void);
        // Function to display a line
        virtual void Draw(CDC* pDC, CElement* pElement=0);     
  
        // Constructor for a curve object
        CCurve(CPoint FirstPoint, CPoint SecondPoint, COLORREF aColor, int PenWidth);
  
        void AddSegment(CPoint& aPoint);    //Add a segment to the curve
  
        // Function to move an element
        virtual void Move(CSize& aSize);
  
     protected:
        CCurve(void);                    // Default constructor - should not be used
    CList m_PointList;  // Type safe point list
  };


  
  // Class defining a text object
  

CText:</h4>
  class CText: public CElement
  {
    public:
      // Function to display a text element
      virtual void Draw(CDC* pDC, CElement* pElement=0);
  
      // Constructor for a text element
      CText(CPoint Start, CPoint End, CString aString, COLORREF aColor);
      virtual void Move(CSize& aSize);       // Move a text element
  
    protected:
      CPoint m_StartPoint;                   // position of a text element
      CString m_String;                      // Text to be displayed
      CText(){}                              // Default constructor
  };


  
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2780434-1"; urchinTracker(); </script>

Hush Online Technology
hush@cs.vu.nl
10/16/08