#ifndef _ALADIN_OWNERDRAWGRAPH_HPP_ #define _ALADIN_OWNERDRAWGRAPH_HPP_ #ifndef _COMMON_CONTROL_HPP_ #include #endif #ifndef _COMMON_BRUSH_HPP_ #include #endif #ifndef _ALADIN_DIVEPROFILE_HPP_ #include #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); Callback mDrawItemHandler; Callback mMeasureItemHandler; Callback mControlColorHandler; SmartPointer mDiveProfile; SmartPointer mDIBitmap; Brush mBkGndBrush; GUIWindow &mParentWnd; }; #endif