RGB Pixel Array with rendering features. Designed to be used with WS2812 library

Dependents:   ChrisRGB-Ring ChrisRGB-Ring WS2812_Example WS2812_Example_fade ... more

Revision:
1:41b9f8ec0b6a
Parent:
0:bdce2379bd67
Child:
2:b45a70faaa83
--- a/PixelArray.cpp	Sat Aug 02 21:45:04 2014 +0000
+++ b/PixelArray.cpp	Wed Aug 06 08:23:13 2014 +0000
@@ -2,29 +2,20 @@
 
 PixelArray::PixelArray(int size)
 {
-    __bufsize = size;
+    pbufsize = size;
+    pbuf = new int[pbufsize];
+    
 }
 
-
-
 PixelArray::~PixelArray()
 {
+    delete[] pbuf;
 }
 
-
-// 0 = blue, 1 = red, 2 = green, 3 = brightness
-
-
-
-void PixelArray::clear()
-{
-}
-
-
 void PixelArray::SetAll(unsigned int value)
 {
     // for each pixel
-    for (int i=0 ; i < __bufsize; i++) {
+    for (int i=0 ; i < pbufsize; i++) {
         __set_pixel(i,value);
     }
 }
@@ -33,7 +24,7 @@
 void PixelArray::SetAllI(unsigned char value)
 {
     // for each pixel
-    for (int i=0 ; i < __bufsize; i++) {
+    for (int i=0 ; i < pbufsize; i++) {
         __set_pixel_component(i,3,value);
     }
 }
@@ -43,7 +34,7 @@
 void PixelArray::SetAllR(unsigned char value)
 {
     // for each pixel
-    for (int i=0 ; i < __bufsize; i++) {
+    for (int i=0 ; i < pbufsize; i++) {
         __set_pixel_component(i,2,value);
     }
 }
@@ -51,7 +42,7 @@
 void PixelArray::SetAllG(unsigned char value)
 {
     // for each pixel
-    for (int i=0 ; i < __bufsize; i++) {
+    for (int i=0 ; i < pbufsize; i++) {
         __set_pixel_component(i,1,value);
     }
 }
@@ -59,7 +50,7 @@
 void PixelArray::SetAllB(unsigned char value)
 {
     // for each pixel
-    for (int i=0 ; i < __bufsize; i++) {
+    for (int i=0 ; i < pbufsize; i++) {
         __set_pixel_component(i,0,value);
     }
 }
@@ -70,7 +61,7 @@
 
 void PixelArray::Set(int i, unsigned int value)
 {
-    if ((i >= 0) && (i < __bufsize)) {
+    if ((i >= 0) && (i < pbufsize)) {
         __set_pixel(i,value);
     }
 }
@@ -79,7 +70,7 @@
 
 void PixelArray::SetI(int i, unsigned char value)
 {
-    if ((i >= 0) && (i < __bufsize)) {
+    if ((i >= 0) && (i < pbufsize)) {
         __set_pixel_component(i,3,value);
     }
 }
@@ -87,51 +78,41 @@
 
 void PixelArray::SetR(int i, unsigned char value)
 {
-    if ((i >= 0) && (i < __bufsize)) {
+    if ((i >= 0) && (i < pbufsize)) {
         __set_pixel_component(i,2,value);
     }
 }
 
 void PixelArray::SetG(int i, unsigned char value)
 {
-    if ((i >= 0) && (i < __bufsize)) {
+    if ((i >= 0) && (i < pbufsize)) {
         __set_pixel_component(i,1,value);
     }
 }
 
 void PixelArray::SetB(int i, unsigned char value)
 {
-    if ((i >= 0) && (i < __bufsize)) {
+    if ((i >= 0) && (i < pbufsize)) {
         __set_pixel_component(i,0,value);
     }
 }
 
 
-
-
-
-
-
-
-
 int* PixelArray::getBuf()
 {
-    return (__pbuf);
+    return (pbuf);
 }
 
 
-
-
-
 // set either the I,R,G,B value of specific pixel channel
 void PixelArray::__set_pixel_component(int index, int channel, int value)
 {
 
     // AND with 0x00 shifted to the right location to clear the bits
-    __pbuf[index] &= ~(0xFF << (8 * channel));
+    pbuf[index] &= ~(0xFF << (8 * channel));
 
     // Set the bits with an OR
-    __pbuf[index] |= (value << (8 * channel));
+    pbuf[index] |= (value << (8 * channel));
 }
 
 
@@ -139,10 +120,7 @@
 void PixelArray::__set_pixel(int index, int value)
 {
     // AND with 0x00 shifted to the right location to clear the bits
-    __pbuf[index] = value;
+    pbuf[index] = value;
 }
 
 
-
-
-