Files
Work/aladin/hold/graph.hpp
2024-08-07 09:12:07 -04:00

49 lines
1.6 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 _ALADIN_DIVEPROFILE_HPP_
#include <aladin/diveprofile.hpp>
#endif
class DrawItem;
class MeasureItem;
class PureDevice;
class DIB24;
class OwnerDrawGraph : public Control
{
public:
OwnerDrawGraph(GUIWindow &parentWnd,HWND hControlWnd,UINT controlID);
virtual ~OwnerDrawGraph();
void setData(DiveProfile &diveProfile);
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;
};
#endif