Source Code (Use browser search to find items of interest.)

Class Index

kiconedit'KColorArray (./kdegraphics/kiconedit/kcolorgrid.h:44)

class KColorArray : public KArrayUint
{
public:
  void remove(int idx);
  void append(uint);
  uint closestMatch(uint);
};


kiconedit'KColorArray::remove() (./kdegraphics/kiconedit/kcolorgrid.cpp:24)

void KColorArray::remove(int idx)
{
  int oldsize = size();
  if(idx >= (int)size())
  {
    warning("KColorArray::remove: Index %d out of range", idx);
    return;
  }
  KColorArray tmp(*this);
  tmp.detach();
  resize(size()-1);
  for(int i = idx; i < oldsize-1; i++)
    at(i) = tmp[i+1];
  //debug("KColorArray::remove() %u\t-\tsize: %d", at(idx), size());
}


kiconedit'KColorArray::append() (./kdegraphics/kiconedit/kcolorgrid.cpp:40)

void KColorArray::append(uint c)
{
  resize(size()+1);
  at(size()-1) = c;
  //debug("KColorArray::append() %u\t-\tsize: %d", c, size());
}


kiconedit'KColorArray::closestMatch() (./kdegraphics/kiconedit/kcolorgrid.cpp:47)

uint KColorArray::closestMatch(uint color)
{
  //debug("KColorArray: %u", c);
  uint c = color & ~OPAQUE_MASK, d = 0xffffff, t;
  //debug("KColorArray: %u", c);
  //debug("KColorArray: %u", c|OPAQUE_MASK);
  uint cb = c;
  for(uint i = 0; i < size(); i++)
  {
    if (at(i) > cb)
      t = at(i) - cb;
    else
      t = cb - at(i);
    if( t < d )
    {
      d = t;
      c = at(i);
    }
  }
  return c|OPAQUE_MASK;
}