Initial
This commit is contained in:
145
browse/thmbpage.hpp
Normal file
145
browse/thmbpage.hpp
Normal file
@@ -0,0 +1,145 @@
|
||||
#ifndef _BROWSE_THUMBPAGE_HPP_
|
||||
#define _BROWSE_THUMBPAGE_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_BLOCK_HPP_
|
||||
#include <common/block.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_PUREDEVICE_HPP_
|
||||
#include <common/purehdc.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_SMARTPOINTER_HPP_
|
||||
#include <common/pointer.hpp>
|
||||
#endif
|
||||
#ifndef _BROWSE_THUMBNAIL_HPP_
|
||||
#include <browse/thmbnail.hpp>
|
||||
#endif
|
||||
#ifndef _BROWSE_DIB24_HPP_
|
||||
#include <browse/dib24.hpp>
|
||||
#endif
|
||||
|
||||
class DIBitmap;
|
||||
class GUIWindow;
|
||||
|
||||
class ThumbPage
|
||||
{
|
||||
public:
|
||||
ThumbPage(void);
|
||||
virtual ~ThumbPage();
|
||||
ThumbNail &operator[](UINT index);
|
||||
void draw(GUIWindow &guiWindow);
|
||||
void draw(PureDevice &pureDevice,const Rect &dstRect,const Point &srcPoint);
|
||||
bool insert(const String &strPathFileName,PureDevice &pureDevice);
|
||||
bool insert(PakEntry &pakEntry,PureDevice &pureDevice);
|
||||
void remove(const String &strPathFileName);
|
||||
void update(GUIWindow &guiWindow);
|
||||
DWORD width(void)const;
|
||||
DWORD height(void)const;
|
||||
DWORD widthThumbNail(void)const;
|
||||
bool isDirty(void)const;
|
||||
void isDirty(bool isDirty);
|
||||
DWORD entries(void)const;
|
||||
DWORD rowItems(GUIWindow &guiWindow)const;
|
||||
DWORD rowItems(void)const;
|
||||
bool hitTest(GUIWindow &guiWindow,const Point &clickPoint,String &strPathFileName);
|
||||
bool isOkay(void)const;
|
||||
private:
|
||||
enum {Separator=5,BkColorBits=255};
|
||||
ThumbPage(const ThumbPage &someThumbPage);
|
||||
ThumbPage &operator=(const ThumbPage &someThumbPage);
|
||||
int getDimensions(GUIWindow &guiWindow,GDIPoint &gdiPoint);
|
||||
bool createBitmap(GUIWindow &someGUIWindow);
|
||||
bool drawThumbNails(PureDevice &pureDevice,GUIWindow &guiWindow);
|
||||
bool drawThumbNails(GUIWindow &guiWindow);
|
||||
void rowItems(DWORD rowItems);
|
||||
|
||||
Block<SmartPointer<ThumbNail> > mThumbNails;
|
||||
DIB24 mDIB24;
|
||||
DWORD mRowItems;
|
||||
bool mIsDirty;
|
||||
};
|
||||
|
||||
inline
|
||||
ThumbPage::ThumbPage(void)
|
||||
: mIsDirty(false), mRowItems(0)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
ThumbPage::ThumbPage(const ThumbPage &/*someThumbPage*/)
|
||||
{ // private implementation
|
||||
}
|
||||
|
||||
inline
|
||||
ThumbPage::~ThumbPage()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
ThumbNail &ThumbPage::operator[](UINT index)
|
||||
{
|
||||
return *(mThumbNails[index]);
|
||||
}
|
||||
|
||||
inline
|
||||
ThumbPage &ThumbPage::operator=(const ThumbPage &/*someThumbPage*/)
|
||||
{ // private implementation
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ThumbPage::entries(void)const
|
||||
{
|
||||
return mThumbNails.size();
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ThumbPage::widthThumbNail(void)const
|
||||
{
|
||||
if(!entries())return 0;
|
||||
return ((Block<SmartPointer<ThumbNail> >&)mThumbNails)[0]->width();
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ThumbPage::width(void)const
|
||||
{
|
||||
return mDIB24.width();
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ThumbPage::height(void)const
|
||||
{
|
||||
return mDIB24.height();
|
||||
}
|
||||
|
||||
inline
|
||||
bool ThumbPage::isDirty(void)const
|
||||
{
|
||||
return mIsDirty;
|
||||
}
|
||||
|
||||
inline
|
||||
void ThumbPage::isDirty(bool isDirty)
|
||||
{
|
||||
mIsDirty=isDirty;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ThumbPage::rowItems(void)const
|
||||
{
|
||||
return mRowItems;
|
||||
}
|
||||
|
||||
inline
|
||||
void ThumbPage::rowItems(DWORD rowItems)
|
||||
{
|
||||
mRowItems=rowItems;
|
||||
}
|
||||
|
||||
inline
|
||||
bool ThumbPage::isOkay(void)const
|
||||
{
|
||||
return mThumbNails.size()&&mDIB24.isOkay();
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user