Files
Work/common/WINMSG.HPP
2024-08-07 09:09:36 -04:00

187 lines
2.8 KiB
C++

#ifndef _COMMON_WINMSG_HPP_
#define _COMMON_WINMSG_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_POINT_HPP_
#include <common/point.hpp>
#endif
class WinMsg : private MSG
{
public:
WinMsg(void);
WinMsg(const WinMsg &someWinMsg);
WinMsg(const MSG &someMSG);
~WinMsg();
WinMsg &operator=(const WinMsg &someWinMsg);
WinMsg &operator=(const MSG &someMSG);
WORD operator==(const WinMsg &someWinMsg)const;
operator MSG&(void);
HWND hwnd(void)const;
void hwnd(HWND hwnd);
UINT message(void)const;
void message(UINT message);
WPARAM wParam(void)const;
void wParam(WPARAM wParam);
LPARAM lParam(void)const;
void lParam(LPARAM lParam);
DWORD time(void)const;
void time(DWORD time);
Point point(void)const;
void point(const Point &somePoint);
private:
void zeroInit(void);
};
inline
WinMsg::WinMsg(void)
{
zeroInit();
}
inline
WinMsg::WinMsg(const WinMsg &someWinMsg)
{
*this=someWinMsg;
}
inline
WinMsg::WinMsg(const MSG &someMSG)
{
*this=someMSG;
}
inline
WinMsg::~WinMsg()
{
}
inline
WinMsg &WinMsg::operator=(const WinMsg &someWinMsg)
{
hwnd(someWinMsg.hwnd());
message(someWinMsg.message());
wParam(someWinMsg.wParam());
lParam(someWinMsg.lParam());
time(someWinMsg.time());
point(someWinMsg.point());
return *this;
}
inline
WinMsg &WinMsg::operator=(const MSG &someMSG)
{
hwnd(someMSG.hwnd);
message(someMSG.message);
wParam(someMSG.wParam);
lParam(someMSG.lParam);
time(someMSG.time);
point(Point(someMSG.pt.x,someMSG.pt.y));
return *this;
}
inline
WORD WinMsg::operator==(const WinMsg &someWinMsg)const
{
return (hwnd()==someWinMsg.hwnd()&&
message()==someWinMsg.message()&&
wParam()==someWinMsg.wParam()&&
lParam()==someWinMsg.lParam()&&
time()==someWinMsg.time()&&
point()==someWinMsg.point());
}
inline
WinMsg::operator MSG&(void)
{
return *this;
}
inline
HWND WinMsg::hwnd(void)const
{
return MSG::hwnd;
}
inline
void WinMsg::hwnd(HWND hwnd)
{
MSG::hwnd=hwnd;
}
inline
UINT WinMsg::message(void)const
{
return MSG::message;
}
inline
void WinMsg::message(UINT message)
{
MSG::message=message;
}
inline
WPARAM WinMsg::wParam(void)const
{
return MSG::wParam;
}
inline
void WinMsg::wParam(WPARAM wParam)
{
MSG::wParam=wParam;
}
inline
LPARAM WinMsg::lParam(void)const
{
return MSG::lParam;
}
inline
void WinMsg::lParam(LPARAM lParam)
{
MSG::lParam=lParam;
}
inline
DWORD WinMsg::time(void)const
{
return MSG::time;
}
inline
void WinMsg::time(DWORD time)
{
MSG::time=time;
}
inline
Point WinMsg::point(void)const
{
return Point(MSG::pt.x,MSG::pt.y);
}
inline
void WinMsg::point(const Point &somePoint)
{
MSG::pt.x=somePoint.x();
MSG::pt.y=somePoint.y();
}
inline
void WinMsg::zeroInit(void)
{
MSG::hwnd=0;
MSG::message=0;
MSG::wParam=0;
MSG::lParam=0;
MSG::time=0;
MSG::pt.x=0;
MSG::pt.y=0;
}
#endif