Files
Work/nntp/IMGVIEW.HPP
2024-08-07 09:16:27 -04:00

50 lines
1.4 KiB
C++

#ifndef _NNTP_IMAGEVIEW_HPP_
#define _NNTP_IMAGEVIEW_HPP_
#ifndef _COMMON_MDIWIN_HPP_
#include <common/mdiwin.hpp>
#endif
#ifndef _COMMON_SMARTPOINTER_HPP_
#include <common/pointer.hpp>
#endif
#ifndef _THREAD_MUTEX_HPP_
#include <thread/mutex.hpp>
#endif
#ifndef _JPGIMG_SCROLLINFO_HPP_
#include <jpgimg/scroll.hpp>
#endif
#ifndef _JPGIMG_JPGIMAGE_HPP_
#include <jpgimg/jpgimg.hpp>
#endif
class StatusBarEx;
class ImageView : public MDIWindow
{
public:
ImageView(void);
virtual ~ImageView();
BOOL open(const String &strPathFileName);
BOOL fitToWindow(void);
protected:
virtual void preRegister(WNDCLASS &wndClass);
virtual void preCreate(MDICREATESTRUCT &createStruct);
private:
enum {StatusBarID=101};
CallbackData::ReturnType createHandler(CallbackData &someCallbackData);
CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData);
CallbackData::ReturnType paintHandler(CallbackData &someCallbackData);
CallbackData::ReturnType verticalScrollHandler(CallbackData &someCallbackData);
CallbackData::ReturnType horizontalScrollHandler(CallbackData &someCallbackData);
void setTitle(const String &strTitle);
Callback<ImageView> mCreateHandler;
Callback<ImageView> mSizeHandler;
Callback<ImageView> mPaintHandler;
Callback<ImageView> mVerticalScrollHandler;
Callback<ImageView> mHorizontalScrollHandler;
SmartPointer<StatusBarEx> mStatusBar;
ScrollInfo mScrollInfo;
JPGImage mJPGImage;
Mutex mMutex;
};
#endif