Files
Work/imagelst/HITTEST.HPP
2024-08-07 09:16:27 -04:00

116 lines
2.3 KiB
C++

#ifndef _IMAGELIST_HITTEST_HPP_
#define _IMAGELIST_HITTEST_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_COMMCTRL_HPP_
#include <common/commctrl.hpp>
#endif
#ifndef _COMMON_GDIPOINT_HPP_
#include <common/gdipoint.hpp>
#endif
class HitTestInfo : private TV_HITTESTINFO
{
public:
enum{HitTestAbove=TVHT_ABOVE,HitTestBelow=TVHT_BELOW,HitTestNoWhere=TVHT_NOWHERE,
HitTestOnItem=TVHT_ONITEM,HitTestOnItemButton=TVHT_ONITEMBUTTON,
HitTestOnItemIcon=TVHT_ONITEMICON,HitTestOnItemIndent=TVHT_ONITEMINDENT,
HitTestOnItemLabel=TVHT_ONITEMLABEL,HitTestOnItemRight=TVHT_ONITEMRIGHT,
HitTestToLeft=TVHT_TOLEFT,HitTestToRight=TVHT_TORIGHT};
HitTestInfo(void);
HitTestInfo(const HitTestInfo &someHitTestInfo);
~HitTestInfo();
HitTestInfo &operator=(const HitTestInfo &someHitTestInfo);
WORD operator==(const HitTestInfo &someHitTestInfo);
operator TV_HITTESTINFO&(void);
GDIPoint point(void)const;
void point(const GDIPoint &somePoint);
UINT flags(void)const;
void flags(UINT flags);
HTREEITEM item(void)const;
void item(HTREEITEM item);
private:
};
inline
HitTestInfo::HitTestInfo(void)
{
point(GDIPoint(0,0));
flags(0);
item(0);
}
inline
HitTestInfo::HitTestInfo(const HitTestInfo &someHitTestInfo)
{
*this=someHitTestInfo;
}
inline
HitTestInfo::~HitTestInfo()
{
}
inline
HitTestInfo &HitTestInfo::operator=(const HitTestInfo &someHitTestInfo)
{
point(someHitTestInfo.point());
flags(someHitTestInfo.flags());
item(someHitTestInfo.item());
return *this;
}
inline
WORD HitTestInfo::operator==(const HitTestInfo &someHitTestInfo)
{
return (point()==someHitTestInfo.point()&&
flags()==someHitTestInfo.flags()&&
item()==someHitTestInfo.item());
}
inline
HitTestInfo::operator TV_HITTESTINFO&(void)
{
return *this;
}
inline
GDIPoint HitTestInfo::point(void)const
{
return GDIPoint(TV_HITTESTINFO::pt.x,TV_HITTESTINFO::pt.y);
}
inline
void HitTestInfo::point(const GDIPoint &somePoint)
{
TV_HITTESTINFO::pt.x=somePoint.x();
TV_HITTESTINFO::pt.y=somePoint.y();
}
inline
UINT HitTestInfo::flags(void)const
{
return TV_HITTESTINFO::flags;
}
inline
void HitTestInfo::flags(UINT flags)
{
TV_HITTESTINFO::flags=flags;
}
inline
HTREEITEM HitTestInfo::item(void)const
{
return TV_HITTESTINFO::hItem;
}
inline
void HitTestInfo::item(HTREEITEM item)
{
TV_HITTESTINFO::hItem=item;
}
#endif