1 /*************************************************************** 2 * Name: matrixobejct.h 3 * Purpose: Defines Class MatrixObject 4 * Author: Christian Gr�fe (info@mcs-soft.de) 5 * Created: 2007-03-02 6 * Copyright: Christian Gr�fe (www.mcs-soft.de) 7 * License: wxWindows licence 8 **************************************************************/ 9 10 #ifndef MATRIXOBJECT_H 11 #define MATRIXOBJECT_H 12 13 #include <wx/wx.h> 14 #include <string.h> 15 16 class MatrixObject 17 { 18 public: 19 MatrixObject(); 20 MatrixObject(const MatrixObject& mo); 21 MatrixObject(const char* data, int width, int height=0); 22 virtual ~MatrixObject(); 23 24 MatrixObject &operator=(const MatrixObject& mo); 25 26 void Init(const char* data, int width, int height=0); Init(const MatrixObject & mo)27 void Init(const MatrixObject& mo) {Init(mo.GetData(),mo.GetWidth(),mo.GetHeight());} 28 void Init(const wxImage img); 29 30 // Gr��e des Objektes ausgeben GetWidth()31 int GetWidth() const {return m_width;} GetHeight()32 int GetHeight() const {return m_height;} GetLength()33 int GetLength() const {return m_length;} GetSize()34 wxSize GetSize() const {return wxSize(m_width,m_height);} 35 36 // Daten von einem bestimmtem Punkt 37 char GetDataFrom(int x, int y) const; 38 char GetDataFrom(int p) const; 39 40 // the pointer to the Data GetData()41 const char* GetData() const {return m_data;} 42 43 // Has Data HasData()44 bool HasData() const {return ((m_data==0)?(false):(true));} 45 46 // all fields null? 47 bool IsEmpty() const; 48 49 // set all fields 0 50 void Clear(); 51 52 // Data 53 bool SetDataAt(int x, int y, char data); 54 bool SetDataAt(int p, char data); SetDataAt(const wxPoint & punkt,char data)55 bool SetDataAt(const wxPoint& punkt, char data) {return SetDataAt(punkt.x,punkt.y,data);} 56 bool SetDatesAt(int x, int y, const MatrixObject &mo); SetDatesAt(const wxPoint & punkt,const MatrixObject & mo)57 bool SetDatesAt(const wxPoint& punkt, const MatrixObject &mo) {return SetDatesAt(punkt.x,punkt.y,mo);} 58 59 // Get as Monochrome image 60 wxImage GetAsImage() const; 61 62 protected: 63 // Deinitialisieren 64 void Destroy(); 65 66 // Die Variablen 67 char* m_data; 68 int m_width; 69 int m_height; 70 int m_length; 71 }; 72 73 #endif // MATRIXOBJECT_H 74