private function _add($count, $a, $r, $g, $b) 
    {
        if ($this->used < $this->pixelOffset) {
            $this->used = $this->pixelOffset;
            
            $this->samples[$this->pixelOffset * 5 + self::IDX_COUNT] = $count;
            $this->samples[$this->pixelOffset * 5 + self::IDX_A] = $a * $count;
            $this->samples[$this->pixelOffset * 5 + self::IDX_R] = $a * $r * $count;
            $this->samples[$this->pixelOffset * 5 + self::IDX_G] = $a * $g * $count;
            $this->samples[$this->pixelOffset * 5 + self::IDX_B] = $a * $b * $count;
        } else {
            $this->samples[$this->pixelOffset * 5 + self::IDX_COUNT] += $count;

            if ($a > 0) {
                $this->samples[$this->pixelOffset * 5 + self::IDX_A] += $a * $count;
                $this->samples[$this->pixelOffset * 5 + self::IDX_R] += $a * $r * $count;
                $this->samples[$this->pixelOffset * 5 + self::IDX_G] += $a * $g * $count;
                $this->samples[$this->pixelOffset * 5 + self::IDX_B] += $a * $b * $count;
            }
        }
    }