Files
Work/statbar/STATINFO.HPP
2024-08-07 09:16:27 -04:00

103 lines
2.4 KiB
C++

#ifndef _STATBAR_STATUSINFO_HPP_
#define _STATBAR_STATUSINFO_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
class StatusInfo
{
public:
enum WinVer{WIN30,WIN3X};
StatusInfo(void);
virtual ~StatusInfo();
WORD systemBorderDelta(void)const;
WORD systemBorderDeltaTimesTwo(void)const;
WORD systemBorderDeltaTimesThree(void)const;
WORD systemBorderDeltaTimesEight(void)const;
WORD systemBorderDeltaTimesNine(void)const;
WORD statusBarHeight(void)const;
WORD statusInfoWidth(void)const;
WORD stateInfoWidth(void)const;
HFONT statusFont(void)const;
WinVer windowsVersion(void)const;
private:
WORD mSystemBorderDelta; // System border width/height
WORD mSystemBorderDeltaTimesTwo; // System border width/height*2
WORD mSystemBorderDeltaTimesThree; // System border width/height*3
WORD mSystemBorderDeltaTimesEight; // System border width/height*8
WORD mSystemBorderDeltaTimesNine; // System border width/height*9
WORD mStatusBarHeight; // Status bar height
WORD mStatusInfoWidth; // Width reserved for Status Info
WORD mStateInfoWidth; // Width reserved for State Info
HFONT mhStatusBarFont; // Font used in status bar
WinVer mWindowsVersion; // windows version number
};
inline
StatusInfo::~StatusInfo()
{
if(mhStatusBarFont)::DeleteObject(mhStatusBarFont);
}
inline
WORD StatusInfo:: systemBorderDelta(void)const
{
return mSystemBorderDelta;
}
inline
WORD StatusInfo::systemBorderDeltaTimesTwo(void)const
{
return mSystemBorderDeltaTimesTwo;
}
inline
WORD StatusInfo::systemBorderDeltaTimesThree(void)const
{
return mSystemBorderDeltaTimesThree;
}
inline
WORD StatusInfo::systemBorderDeltaTimesEight(void)const
{
return mSystemBorderDeltaTimesEight;
}
inline
WORD StatusInfo::systemBorderDeltaTimesNine(void)const
{
return mSystemBorderDeltaTimesNine;
}
inline
WORD StatusInfo::statusBarHeight(void)const
{
return mStatusBarHeight;
}
inline
WORD StatusInfo::statusInfoWidth(void)const
{
return mStatusInfoWidth;
}
inline
WORD StatusInfo::stateInfoWidth(void)const
{
return mStateInfoWidth;
}
inline
StatusInfo::WinVer StatusInfo::windowsVersion(void)const
{
return mWindowsVersion;
}
inline
HFONT StatusInfo::statusFont(void)const
{
return mhStatusBarFont;
}
#endif