Go to the documentation of this file.00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSI_COLOR_H__
00018 #define __XSI_COLOR_H__
00019
00020 #include "sicppsdk.h"
00021 #include "xsi_status.h"
00022
00023 namespace XSI {
00024
00025
00055
00056 struct CColor
00057 {
00058 double r;
00059 double g;
00060 double b;
00061 double a;
00064 CColor() : r(0),g(0),b(0),a(0) {}
00065
00069 CColor(const CColor& in_color) : r(in_color.r),g(in_color.g),
00070 b(in_color.b),a(in_color.a) {}
00071
00078 CColor(double in_rc, double in_gc, double in_bc, double in_ac) :
00079 r(in_rc),g(in_gc),b(in_bc),a(in_ac) {}
00080
00085 bool operator==(const CColor& in_color)const
00086 {
00087 return (r == in_color.r) && (g == in_color.g) &&
00088 (b == in_color.b) && (a == in_color.a);
00089 }
00090
00095 bool operator!=(const CColor& in_color)const
00096 {
00097 return !operator==(in_color);
00098 }
00099 };
00100
00101
00107
00108 class SICPPSDKDECL CColorArray
00109 {
00110 public:
00114 CColorArray( LONG in_size=0);
00115
00119 CColorArray(const CColorArray& in_array );
00120
00122 ~CColorArray();
00123
00128 CColorArray& operator=( const CColorArray& in_array );
00129
00133 LONG GetCount() const;
00134
00139 CStatus Add( const CColor& in_item );
00140
00144 CStatus Clear();
00145
00152 CStatus Resize( LONG in_size);
00153
00160 const CColor& operator[]( LONG in_index ) const;
00161
00167 CColor& operator[]( LONG in_index );
00168
00174 bool operator==(const CColorArray& in_array) const;
00175
00180 bool operator!=(const CColorArray& in_array) const;
00181
00182 private:
00183 void* m_ptr;
00184 };
00185
00186
00187 };
00188
00189 #endif //__XSI_COLOR_H__