63 lines
1.8 KiB
C++
63 lines
1.8 KiB
C++
/*
|
|
*
|
|
* ChartLogarithmicAxis.h
|
|
*
|
|
* Written by Cédric Moonen (cedric_moonen@hotmail.com)
|
|
*
|
|
*
|
|
*
|
|
* This code may be used for any non-commercial and commercial purposes in a compiled form.
|
|
* The code may be redistributed as long as it remains unmodified and providing that the
|
|
* author name and this disclaimer remain intact. The sources can be modified WITH the author
|
|
* consent only.
|
|
*
|
|
* This code is provided without any garanties. I cannot be held responsible for the damage or
|
|
* the loss of time it causes. Use it at your own risks
|
|
*
|
|
* An e-mail to notify me that you are using this code is appreciated also.
|
|
*
|
|
*
|
|
*/
|
|
|
|
#ifndef _CHARTLOGARITHMICAXIS_H_
|
|
#define _CHARTLOGARITHMICAXIS_H_
|
|
|
|
#include "ChartAxis.h"
|
|
|
|
//! Specialization of a CChartAxis to display a logarithmic scale.
|
|
/**
|
|
Currently this class only allows to have a logarithmic axis with a
|
|
base of 10.
|
|
**/
|
|
class CChartLogarithmicAxis : public CChartAxis
|
|
{
|
|
friend CChartCtrl;
|
|
|
|
private:
|
|
//! Constructor
|
|
CChartLogarithmicAxis();
|
|
//! Destructor
|
|
~CChartLogarithmicAxis();
|
|
|
|
double ScreenToValue(long ScreenVal) const;
|
|
void PanAxis(long PanStart, long PanEnd);
|
|
|
|
double GetFirstTickValue() const;
|
|
bool GetNextTickValue(double dCurrentTick, double& dNextTick) const;
|
|
TChartString GetTickLabel(double TickValue) const;
|
|
long ValueToScreenStandard(double Value) const;
|
|
long ValueToScreenDiscrete(double Value) const;
|
|
long GetTickPos(double TickVal) const;
|
|
|
|
void RefreshTickIncrement();
|
|
void RefreshFirstTick();
|
|
|
|
void GetScrollbarSteps(int& iTotalSteps, int& iCurrentStep);
|
|
void SetAxisToScrollStep(int iPreviousStep, int iCurrentStep, bool bScrollInverted);
|
|
|
|
//! Caches the value of the first tick.
|
|
double m_dFirstTickValue;
|
|
};
|
|
|
|
#endif // _CHARTLOGARITHMICAXIS_H_
|