Ejemplo n.º 1
0
void PDFChartAxis::GetDataRange(const Matrix & values)
   {
   bool fixedMin = min != _NAN_;
   bool fixedMax = max != _NAN_;

   if (!fixedMin)
      min = values.SafeMin();

   if (!fixedMax)
      max = values.SafeMax();

   if (max < min)  { double tmp = max; max = min; min = tmp; }
   if (max == min)
      {
      max += 0.5;
      min -= 0.5;
      }

   if (centerData) Center(values);
   if (frameData) Frame(values);

   if (minMin != _NAN_ && min < minMin)  min = minMin;
   if (maxMin != _NAN_ && min > maxMin)  min = maxMin;
   if (minMax != _NAN_ && max < minMax) max = minMax;
   if (maxMax != _NAN_ && max > maxMax) max = maxMax;

   if (!keepStep) CalculateStep();

   if (!fixedMin) min = FloorEPS(min /step) * step;
   if (!fixedMax) max = CeilEPS(max /step) * step;

   CalculateDigits();
   if (min < 0.0 && max > 0.0) includesZero = true;
   }
Ejemplo n.º 2
0
void CSimpleImage::Create(uint W, uint H, uint C, SImage::EDataType T, uint Align)
{
   SImage Img = {W, H, CalculateStep(W, C, ::Depth(T), Align), C, T};
   Create(Img);
}