summaryrefslogtreecommitdiff
path: root/xfa/src/fdp/src/fde/fde_object.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/src/fdp/src/fde/fde_object.h')
-rw-r--r--xfa/src/fdp/src/fde/fde_object.h612
1 files changed, 211 insertions, 401 deletions
diff --git a/xfa/src/fdp/src/fde/fde_object.h b/xfa/src/fdp/src/fde/fde_object.h
index 26100c7571..620fe4f149 100644
--- a/xfa/src/fdp/src/fde/fde_object.h
+++ b/xfa/src/fdp/src/fde/fde_object.h
@@ -6,422 +6,232 @@
#ifndef _FDE_BASEOBJECT_IMP
#define _FDE_BASEOBJECT_IMP
-class CFDE_Pen : public IFDE_Pen, public CFX_Target
-{
-public:
- CFDE_Pen()
- : m_Color(0)
- , m_iLineCap(0)
- , m_iLineJoin(0)
- , m_iDashStyle(0)
- , m_fDashPhase(0)
- , m_fMiterLimit(10)
- , m_bAutoRelease(FALSE)
- , m_pBrush(NULL)
- {
- }
+class CFDE_Pen : public IFDE_Pen, public CFX_Target {
+ public:
+ CFDE_Pen()
+ : m_Color(0),
+ m_iLineCap(0),
+ m_iLineJoin(0),
+ m_iDashStyle(0),
+ m_fDashPhase(0),
+ m_fMiterLimit(10),
+ m_bAutoRelease(FALSE),
+ m_pBrush(NULL) {}
- ~CFDE_Pen()
- {
- if (m_pBrush && m_bAutoRelease) {
- m_pBrush->Release();
- }
- }
- virtual void Release()
- {
- delete this;
+ ~CFDE_Pen() {
+ if (m_pBrush && m_bAutoRelease) {
+ m_pBrush->Release();
}
+ }
+ virtual void Release() { delete this; }
- virtual int32_t GetType() const
- {
- return m_pBrush ? m_pBrush->GetType() : FDE_PENTYPE_SolidColor;
- }
+ virtual int32_t GetType() const {
+ return m_pBrush ? m_pBrush->GetType() : FDE_PENTYPE_SolidColor;
+ }
- virtual FX_ARGB GetColor() const
- {
- return m_Color;
- }
- virtual void SetColor(FX_ARGB color)
- {
- m_Color = color;
- }
- virtual IFDE_Brush* GetBrush() const
- {
- return m_pBrush;
- }
- virtual void SetBrush(IFDE_Brush *pBrush, FX_BOOL bAutoRelease)
- {
- m_bAutoRelease = bAutoRelease;
- m_pBrush = pBrush;
- if (m_pBrush && m_pBrush->GetType() == FDE_BRUSHTYPE_Solid) {
- m_Color = ((IFDE_SolidBrush*)m_pBrush)->GetColor();
- }
- }
- virtual int32_t GetLineCap() const
- {
- return m_iLineCap;
- }
- virtual void SetLineCap(int32_t iLineCap)
- {
- m_iLineCap = iLineCap;
- }
- virtual int32_t GetDashStyle() const
- {
- return m_iDashStyle;
- }
- virtual void SetDashStyle(int32_t iDashStyle)
- {
- m_iDashStyle = iDashStyle;
- }
- virtual FX_FLOAT GetDashPhase() const
- {
- return m_fDashPhase;
- }
- virtual void SetDashPhase(FX_FLOAT fPhase)
- {
- m_fDashPhase = fPhase;
- }
- virtual int32_t CountDashArray() const
- {
- return m_DashArray.GetSize();
- }
- virtual int32_t GetDashArray(CFX_FloatArray &dashArray) const
- {
- dashArray.Copy(m_DashArray);
- return dashArray.GetSize();
- }
- virtual void SetDashArray(const CFX_FloatArray &dashArray)
- {
- m_DashArray.Copy(dashArray);
- }
- virtual int32_t GetLineJoin() const
- {
- return m_iLineJoin;
- }
- virtual void SetLineJoin(int32_t iLineJoin)
- {
- m_iLineJoin = iLineJoin;
- }
- virtual FX_FLOAT GetMiterLimit() const
- {
- return m_fMiterLimit;
- }
- virtual void SetMiterLimit(FX_FLOAT fMiterLimit)
- {
- m_fMiterLimit = fMiterLimit;
- }
- virtual int32_t CountCompoundPatterns() const
- {
- return m_CompoundPatterns.GetSize();
- }
- virtual FX_BOOL GetCompoundPatterns(CFDE_CompoundPatterns &compoundPatterns) const
- {
- return compoundPatterns.Copy(m_CompoundPatterns), TRUE;
- }
- virtual FX_BOOL SetCompoundPatterns(const CFDE_CompoundPatterns &compoundPatterns)
- {
- return m_CompoundPatterns.Copy(compoundPatterns), TRUE;
- }
+ virtual FX_ARGB GetColor() const { return m_Color; }
+ virtual void SetColor(FX_ARGB color) { m_Color = color; }
+ virtual IFDE_Brush* GetBrush() const { return m_pBrush; }
+ virtual void SetBrush(IFDE_Brush* pBrush, FX_BOOL bAutoRelease) {
+ m_bAutoRelease = bAutoRelease;
+ m_pBrush = pBrush;
+ if (m_pBrush && m_pBrush->GetType() == FDE_BRUSHTYPE_Solid) {
+ m_Color = ((IFDE_SolidBrush*)m_pBrush)->GetColor();
+ }
+ }
+ virtual int32_t GetLineCap() const { return m_iLineCap; }
+ virtual void SetLineCap(int32_t iLineCap) { m_iLineCap = iLineCap; }
+ virtual int32_t GetDashStyle() const { return m_iDashStyle; }
+ virtual void SetDashStyle(int32_t iDashStyle) { m_iDashStyle = iDashStyle; }
+ virtual FX_FLOAT GetDashPhase() const { return m_fDashPhase; }
+ virtual void SetDashPhase(FX_FLOAT fPhase) { m_fDashPhase = fPhase; }
+ virtual int32_t CountDashArray() const { return m_DashArray.GetSize(); }
+ virtual int32_t GetDashArray(CFX_FloatArray& dashArray) const {
+ dashArray.Copy(m_DashArray);
+ return dashArray.GetSize();
+ }
+ virtual void SetDashArray(const CFX_FloatArray& dashArray) {
+ m_DashArray.Copy(dashArray);
+ }
+ virtual int32_t GetLineJoin() const { return m_iLineJoin; }
+ virtual void SetLineJoin(int32_t iLineJoin) { m_iLineJoin = iLineJoin; }
+ virtual FX_FLOAT GetMiterLimit() const { return m_fMiterLimit; }
+ virtual void SetMiterLimit(FX_FLOAT fMiterLimit) {
+ m_fMiterLimit = fMiterLimit;
+ }
+ virtual int32_t CountCompoundPatterns() const {
+ return m_CompoundPatterns.GetSize();
+ }
+ virtual FX_BOOL GetCompoundPatterns(
+ CFDE_CompoundPatterns& compoundPatterns) const {
+ return compoundPatterns.Copy(m_CompoundPatterns), TRUE;
+ }
+ virtual FX_BOOL SetCompoundPatterns(
+ const CFDE_CompoundPatterns& compoundPatterns) {
+ return m_CompoundPatterns.Copy(compoundPatterns), TRUE;
+ }
- FX_ARGB m_Color;
- int32_t m_iLineCap;
- int32_t m_iLineJoin;
- int32_t m_iDashStyle;
- FX_FLOAT m_fDashPhase;
- FX_FLOAT m_fMiterLimit;
- FX_BOOL m_bAutoRelease;
- IFDE_Brush *m_pBrush;
- CFX_FloatArray m_DashArray;
- CFDE_CompoundPatterns m_CompoundPatterns;
+ FX_ARGB m_Color;
+ int32_t m_iLineCap;
+ int32_t m_iLineJoin;
+ int32_t m_iDashStyle;
+ FX_FLOAT m_fDashPhase;
+ FX_FLOAT m_fMiterLimit;
+ FX_BOOL m_bAutoRelease;
+ IFDE_Brush* m_pBrush;
+ CFX_FloatArray m_DashArray;
+ CFDE_CompoundPatterns m_CompoundPatterns;
};
-class CFDE_SolidBrush : public IFDE_SolidBrush, public CFX_Target
-{
-public:
- CFDE_SolidBrush() : m_Color(0xFF000000)
- {
- m_Matrix.Reset();
- }
+class CFDE_SolidBrush : public IFDE_SolidBrush, public CFX_Target {
+ public:
+ CFDE_SolidBrush() : m_Color(0xFF000000) { m_Matrix.Reset(); }
- virtual void Release()
- {
- delete this;
- }
- virtual int32_t GetType() const
- {
- return FDE_BRUSHTYPE_Solid;
- }
- virtual const CFX_Matrix& GetMatrix() const
- {
- return m_Matrix;
- }
- virtual void ResetMatrix()
- {
- m_Matrix.Reset();
- }
- virtual void TranslateMatrix(FX_FLOAT dx, FX_FLOAT dy)
- {
- m_Matrix.Translate(dx, dy);
- }
- virtual void RotateMatrix(FX_FLOAT fRadian)
- {
- m_Matrix.Rotate(fRadian);
- }
- virtual void ScaleMatrix(FX_FLOAT sx, FX_FLOAT sy)
- {
- m_Matrix.Scale(sx, sy);
- }
- virtual void ConcatMatrix(const CFX_Matrix &matrix)
- {
- m_Matrix.Concat(matrix);
- }
- virtual void SetMatrix(const CFX_Matrix &matrix)
- {
- m_Matrix = matrix;
- }
- virtual FX_ARGB GetColor() const
- {
- return m_Color;
- }
- virtual void SetColor(FX_ARGB color)
- {
- m_Color = color;
- }
+ virtual void Release() { delete this; }
+ virtual int32_t GetType() const { return FDE_BRUSHTYPE_Solid; }
+ virtual const CFX_Matrix& GetMatrix() const { return m_Matrix; }
+ virtual void ResetMatrix() { m_Matrix.Reset(); }
+ virtual void TranslateMatrix(FX_FLOAT dx, FX_FLOAT dy) {
+ m_Matrix.Translate(dx, dy);
+ }
+ virtual void RotateMatrix(FX_FLOAT fRadian) { m_Matrix.Rotate(fRadian); }
+ virtual void ScaleMatrix(FX_FLOAT sx, FX_FLOAT sy) { m_Matrix.Scale(sx, sy); }
+ virtual void ConcatMatrix(const CFX_Matrix& matrix) {
+ m_Matrix.Concat(matrix);
+ }
+ virtual void SetMatrix(const CFX_Matrix& matrix) { m_Matrix = matrix; }
+ virtual FX_ARGB GetColor() const { return m_Color; }
+ virtual void SetColor(FX_ARGB color) { m_Color = color; }
- FX_ARGB m_Color;
- CFX_Matrix m_Matrix;
+ FX_ARGB m_Color;
+ CFX_Matrix m_Matrix;
};
-class CFDE_HatchBrush : public IFDE_HatchBrush, public CFX_Target
-{
-public:
- CFDE_HatchBrush() : m_iStyle(-1), m_BackColor(0), m_ForeColor(0)
- {
- m_Matrix.Reset();
- }
+class CFDE_HatchBrush : public IFDE_HatchBrush, public CFX_Target {
+ public:
+ CFDE_HatchBrush() : m_iStyle(-1), m_BackColor(0), m_ForeColor(0) {
+ m_Matrix.Reset();
+ }
- virtual void Release()
- {
- delete this;
- }
- virtual int32_t GetType() const
- {
- return FDE_BRUSHTYPE_Hatch;
- }
- virtual const CFX_Matrix& GetMatrix() const
- {
- return m_Matrix;
- }
- virtual void ResetMatrix()
- {
- m_Matrix.Reset();
- }
- virtual void TranslateMatrix(FX_FLOAT dx, FX_FLOAT dy)
- {
- m_Matrix.Translate(dx, dy);
- }
- virtual void RotateMatrix(FX_FLOAT fRadian)
- {
- m_Matrix.Rotate(fRadian);
- }
- virtual void ScaleMatrix(FX_FLOAT sx, FX_FLOAT sy)
- {
- m_Matrix.Scale(sx, sy);
- }
- virtual void ConcatMatrix(const CFX_Matrix &matrix)
- {
- m_Matrix.Concat(matrix);
- }
- virtual void SetMatrix(const CFX_Matrix &matrix)
- {
- m_Matrix = matrix;
- }
- virtual FX_ARGB GetColor(FX_BOOL bForegroundColor) const
- {
- return bForegroundColor ? m_ForeColor : m_BackColor;
- }
- virtual void SetColor(FX_ARGB color, FX_BOOL bForegroundColor)
- {
- if (bForegroundColor) {
- m_ForeColor = color;
- } else {
- m_BackColor = color;
- }
- }
+ virtual void Release() { delete this; }
+ virtual int32_t GetType() const { return FDE_BRUSHTYPE_Hatch; }
+ virtual const CFX_Matrix& GetMatrix() const { return m_Matrix; }
+ virtual void ResetMatrix() { m_Matrix.Reset(); }
+ virtual void TranslateMatrix(FX_FLOAT dx, FX_FLOAT dy) {
+ m_Matrix.Translate(dx, dy);
+ }
+ virtual void RotateMatrix(FX_FLOAT fRadian) { m_Matrix.Rotate(fRadian); }
+ virtual void ScaleMatrix(FX_FLOAT sx, FX_FLOAT sy) { m_Matrix.Scale(sx, sy); }
+ virtual void ConcatMatrix(const CFX_Matrix& matrix) {
+ m_Matrix.Concat(matrix);
+ }
+ virtual void SetMatrix(const CFX_Matrix& matrix) { m_Matrix = matrix; }
+ virtual FX_ARGB GetColor(FX_BOOL bForegroundColor) const {
+ return bForegroundColor ? m_ForeColor : m_BackColor;
+ }
+ virtual void SetColor(FX_ARGB color, FX_BOOL bForegroundColor) {
+ if (bForegroundColor) {
+ m_ForeColor = color;
+ } else {
+ m_BackColor = color;
+ }
+ }
- virtual int32_t GetHatchStyle() const
- {
- return m_iStyle;
- };
- virtual FX_BOOL SetHatchStyle(int32_t iHatchStyle)
- {
- m_iStyle = iHatchStyle;
- return m_iStyle >= FDE_HATCHSTYLE_Min && m_iStyle <= FDE_HATCHSTYLE_Max;
- }
- int32_t m_iStyle;
- FX_ARGB m_BackColor;
- FX_ARGB m_ForeColor;
- CFX_Matrix m_Matrix;
+ virtual int32_t GetHatchStyle() const { return m_iStyle; };
+ virtual FX_BOOL SetHatchStyle(int32_t iHatchStyle) {
+ m_iStyle = iHatchStyle;
+ return m_iStyle >= FDE_HATCHSTYLE_Min && m_iStyle <= FDE_HATCHSTYLE_Max;
+ }
+ int32_t m_iStyle;
+ FX_ARGB m_BackColor;
+ FX_ARGB m_ForeColor;
+ CFX_Matrix m_Matrix;
};
-class CFDE_TextureBrush : public IFDE_TextureBrush, public CFX_Target
-{
-public:
- CFDE_TextureBrush()
- : m_iWrap(0)
- , m_pImage(NULL)
- , m_bAutoRelease(FALSE)
- {
- m_Matrix.Reset();
- }
+class CFDE_TextureBrush : public IFDE_TextureBrush, public CFX_Target {
+ public:
+ CFDE_TextureBrush() : m_iWrap(0), m_pImage(NULL), m_bAutoRelease(FALSE) {
+ m_Matrix.Reset();
+ }
- virtual void Release()
- {
- delete this;
- }
- virtual int32_t GetType() const
- {
- return FDE_BRUSHTYPE_Texture;
- }
- virtual const CFX_Matrix& GetMatrix() const
- {
- return m_Matrix;
- }
- virtual void ResetMatrix()
- {
- m_Matrix.Reset();
- }
- virtual void TranslateMatrix(FX_FLOAT dx, FX_FLOAT dy)
- {
- m_Matrix.Translate(dx, dy);
- }
- virtual void RotateMatrix(FX_FLOAT fRadian)
- {
- m_Matrix.Rotate(fRadian);
- }
- virtual void ScaleMatrix(FX_FLOAT sx, FX_FLOAT sy)
- {
- m_Matrix.Scale(sx, sy);
- }
- virtual void ConcatMatrix(const CFX_Matrix &matrix)
- {
- m_Matrix.Concat(matrix);
- }
- virtual void SetMatrix(const CFX_Matrix &matrix)
- {
- m_Matrix = matrix;
- }
- virtual IFDE_Image* GetImage() const
- {
- return m_pImage;
- }
- virtual void SetImage(IFDE_Image *pImage, FX_BOOL bAutoRelease)
- {
- m_pImage = pImage;
- m_bAutoRelease = bAutoRelease;
- }
- virtual int32_t GetWrapMode() const
- {
- return m_iWrap;
- }
- virtual void SetWrapMode(int32_t iWrapMode)
- {
- m_iWrap = iWrapMode;
- }
- int32_t m_iWrap;
- IFDE_Image *m_pImage;
- FX_BOOL m_bAutoRelease;
- CFX_Matrix m_Matrix;
+ virtual void Release() { delete this; }
+ virtual int32_t GetType() const { return FDE_BRUSHTYPE_Texture; }
+ virtual const CFX_Matrix& GetMatrix() const { return m_Matrix; }
+ virtual void ResetMatrix() { m_Matrix.Reset(); }
+ virtual void TranslateMatrix(FX_FLOAT dx, FX_FLOAT dy) {
+ m_Matrix.Translate(dx, dy);
+ }
+ virtual void RotateMatrix(FX_FLOAT fRadian) { m_Matrix.Rotate(fRadian); }
+ virtual void ScaleMatrix(FX_FLOAT sx, FX_FLOAT sy) { m_Matrix.Scale(sx, sy); }
+ virtual void ConcatMatrix(const CFX_Matrix& matrix) {
+ m_Matrix.Concat(matrix);
+ }
+ virtual void SetMatrix(const CFX_Matrix& matrix) { m_Matrix = matrix; }
+ virtual IFDE_Image* GetImage() const { return m_pImage; }
+ virtual void SetImage(IFDE_Image* pImage, FX_BOOL bAutoRelease) {
+ m_pImage = pImage;
+ m_bAutoRelease = bAutoRelease;
+ }
+ virtual int32_t GetWrapMode() const { return m_iWrap; }
+ virtual void SetWrapMode(int32_t iWrapMode) { m_iWrap = iWrapMode; }
+ int32_t m_iWrap;
+ IFDE_Image* m_pImage;
+ FX_BOOL m_bAutoRelease;
+ CFX_Matrix m_Matrix;
};
-class CFDE_LinearBrush : public IFDE_LinearGradientBrush, public CFX_Target
-{
-public:
- CFDE_LinearBrush() : m_EndColor(0), m_StartColor(0), m_iWrapMode(0)
- {
- m_StartPoint.x = m_StartPoint.y = m_EndPoint.x = m_EndPoint.y = 0;
- m_Matrix.Reset();
- }
+class CFDE_LinearBrush : public IFDE_LinearGradientBrush, public CFX_Target {
+ public:
+ CFDE_LinearBrush() : m_EndColor(0), m_StartColor(0), m_iWrapMode(0) {
+ m_StartPoint.x = m_StartPoint.y = m_EndPoint.x = m_EndPoint.y = 0;
+ m_Matrix.Reset();
+ }
- virtual void Release()
- {
- delete this;
- }
- virtual int32_t GetType() const
- {
- return FDE_BRUSHTYPE_LinearGradient;
- }
- virtual const CFX_Matrix& GetMatrix() const
- {
- return m_Matrix;
- }
- virtual void ResetMatrix()
- {
- m_Matrix.Reset();
- }
- virtual void TranslateMatrix(FX_FLOAT dx, FX_FLOAT dy)
- {
- m_Matrix.Translate(dx, dy);
- }
- virtual void RotateMatrix(FX_FLOAT fRadian)
- {
- m_Matrix.Rotate(fRadian);
- }
- virtual void ScaleMatrix(FX_FLOAT sx, FX_FLOAT sy)
- {
- m_Matrix.Scale(sx, sy);
- }
- virtual void ConcatMatrix(const CFX_Matrix &matrix)
- {
- m_Matrix.Concat(matrix);
- }
- virtual void SetMatrix(const CFX_Matrix &matrix)
- {
- m_Matrix = matrix;
- }
- virtual void GetLinearPoints(CFX_PointF &startingPoint, CFX_PointF &endingPoint) const
- {
- startingPoint = m_StartPoint;
- endingPoint = m_EndPoint;
- }
- virtual void SetLinearPoints(const CFX_PointF &startingPoint, const CFX_PointF &endingPoint)
- {
- m_StartPoint = startingPoint;
- m_EndPoint = endingPoint;
- }
- virtual void GetLinearColors(FX_ARGB &startingColor, FX_ARGB &endingColor) const
- {
- startingColor = m_StartColor;
- endingColor = m_EndColor;
- }
- virtual void SetLinearColors(const FX_ARGB &startingColor, const FX_ARGB &endingColor)
- {
- m_StartColor = startingColor;
- m_EndColor = endingColor;
- }
- virtual int32_t CountGradientColors() const
- {
- return m_GradColors.GetSize();
- }
- virtual FX_BOOL GetGradientColors(CFDE_GradientColors &colors) const
- {
- return colors.Copy(m_GradColors), TRUE;
- }
- virtual FX_BOOL SetGradientColors(const CFDE_GradientColors &colors)
- {
- return m_GradColors.Copy(colors), TRUE;
- }
+ virtual void Release() { delete this; }
+ virtual int32_t GetType() const { return FDE_BRUSHTYPE_LinearGradient; }
+ virtual const CFX_Matrix& GetMatrix() const { return m_Matrix; }
+ virtual void ResetMatrix() { m_Matrix.Reset(); }
+ virtual void TranslateMatrix(FX_FLOAT dx, FX_FLOAT dy) {
+ m_Matrix.Translate(dx, dy);
+ }
+ virtual void RotateMatrix(FX_FLOAT fRadian) { m_Matrix.Rotate(fRadian); }
+ virtual void ScaleMatrix(FX_FLOAT sx, FX_FLOAT sy) { m_Matrix.Scale(sx, sy); }
+ virtual void ConcatMatrix(const CFX_Matrix& matrix) {
+ m_Matrix.Concat(matrix);
+ }
+ virtual void SetMatrix(const CFX_Matrix& matrix) { m_Matrix = matrix; }
+ virtual void GetLinearPoints(CFX_PointF& startingPoint,
+ CFX_PointF& endingPoint) const {
+ startingPoint = m_StartPoint;
+ endingPoint = m_EndPoint;
+ }
+ virtual void SetLinearPoints(const CFX_PointF& startingPoint,
+ const CFX_PointF& endingPoint) {
+ m_StartPoint = startingPoint;
+ m_EndPoint = endingPoint;
+ }
+ virtual void GetLinearColors(FX_ARGB& startingColor,
+ FX_ARGB& endingColor) const {
+ startingColor = m_StartColor;
+ endingColor = m_EndColor;
+ }
+ virtual void SetLinearColors(const FX_ARGB& startingColor,
+ const FX_ARGB& endingColor) {
+ m_StartColor = startingColor;
+ m_EndColor = endingColor;
+ }
+ virtual int32_t CountGradientColors() const { return m_GradColors.GetSize(); }
+ virtual FX_BOOL GetGradientColors(CFDE_GradientColors& colors) const {
+ return colors.Copy(m_GradColors), TRUE;
+ }
+ virtual FX_BOOL SetGradientColors(const CFDE_GradientColors& colors) {
+ return m_GradColors.Copy(colors), TRUE;
+ }
- virtual int32_t GetWrapMode() const
- {
- return m_iWrapMode;
- }
- virtual void SetWrapMode(int32_t iWrapMode)
- {
- m_iWrapMode = iWrapMode;
- }
- CFX_PointF m_EndPoint;
- CFX_PointF m_StartPoint;
- FX_ARGB m_EndColor;
- FX_ARGB m_StartColor;
- CFDE_GradientColors m_GradColors;
- int32_t m_iWrapMode;
- CFX_Matrix m_Matrix;
+ virtual int32_t GetWrapMode() const { return m_iWrapMode; }
+ virtual void SetWrapMode(int32_t iWrapMode) { m_iWrapMode = iWrapMode; }
+ CFX_PointF m_EndPoint;
+ CFX_PointF m_StartPoint;
+ FX_ARGB m_EndColor;
+ FX_ARGB m_StartColor;
+ CFDE_GradientColors m_GradColors;
+ int32_t m_iWrapMode;
+ CFX_Matrix m_Matrix;
};
#endif