63 lines
1.8 KiB
C++
63 lines
1.8 KiB
C++
#ifndef _ALADIN_OWNERDRAWGRAPH_HPP_
|
|
#define _ALADIN_OWNERDRAWGRAPH_HPP_
|
|
#ifndef _COMMON_CONTROL_HPP_
|
|
#include <common/control.hpp>
|
|
#endif
|
|
#ifndef _COMMON_BRUSH_HPP_
|
|
#include <common/brush.hpp>
|
|
#endif
|
|
#ifndef _COMMON_ARRAY_HPP_
|
|
#include <common/array.hpp>
|
|
#endif
|
|
#ifndef _ALADIN_DIVEPROFILE_HPP_
|
|
#include <aladin/diveprofile.hpp>
|
|
#endif
|
|
|
|
class DrawItem;
|
|
class MeasureItem;
|
|
class PureDevice;
|
|
class DIB24;
|
|
class FloatPairs;
|
|
|
|
class OwnerDrawGraph : public Control
|
|
{
|
|
public:
|
|
OwnerDrawGraph(GUIWindow &parentWnd,HWND hControlWnd,UINT controlID);
|
|
virtual ~OwnerDrawGraph();
|
|
void setData(DiveProfile &diveProfile);
|
|
void clearData(void);
|
|
bool hasData(void)const;
|
|
bool saveBitmap(const String &strPathFileName);
|
|
protected:
|
|
virtual WORD handleDraw(const DrawItem &drawItem);
|
|
virtual WORD handleMeasureItem(MeasureItem &measureItem);
|
|
virtual LPARAM handleControlColor(PureDevice &pureDevice,Control &wndButton);
|
|
virtual void drawEntire(const DrawItem &drawItem);
|
|
virtual WORD drawSelect(const DrawItem &drawItem);
|
|
virtual void drawFocus(const DrawItem &drawItem);
|
|
virtual void drawButtonText(const DrawItem &drawItem);
|
|
virtual void drawButtonLines(const DrawItem &drawItem);
|
|
private:
|
|
OwnerDrawGraph &operator=(const OwnerDrawGraph &someOwnerDrawGraph);
|
|
void drawBitmap(const DrawItem &drawItem);
|
|
CallbackData::ReturnType drawItemHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType controlColorHandler(CallbackData &someCallbackData);
|
|
int getMaxDepth(Block<ProfileData> &profileData);
|
|
|
|
Callback<OwnerDrawGraph> mDrawItemHandler;
|
|
Callback<OwnerDrawGraph> mMeasureItemHandler;
|
|
Callback<OwnerDrawGraph> mControlColorHandler;
|
|
SmartPointer<DiveProfile> mDiveProfile;
|
|
SmartPointer<DIB24> mDIBitmap;
|
|
Brush mBkGndBrush;
|
|
GUIWindow &mParentWnd;
|
|
bool mHasData;
|
|
};
|
|
|
|
inline
|
|
bool OwnerDrawGraph::hasData(void)const
|
|
{
|
|
return mHasData;
|
|
}
|
|
#endif
|