ROVLib2
RISCOSC++applicationdevelopmentlibrary
applicationicon.cpp
1 
3 #include "applicationicon.h"
4 #include <string>
5 #include "wimp_icons.h"
6 #include "string.h"
7 
8 namespace rov2
9 {
10 
11 CApplicationIcon::CApplicationIcon(const std::string& rksSpriteName)
12 {
13  tIconCreateBlock icbIcon;
14  ::memset(&icbIcon, 0, sizeof(tIconCreateBlock));
15 
16  ::strcpy(caSpriteName, rksSpriteName.c_str());
17  icbIcon.whWindow = CIconBar::GetIconBar()->IconBar_Apps();
18  icbIcon.ifFlags.ifIsSprite = 1;
19  icbIcon.ifFlags.ifDataIndirected = 1;
20  icbIcon.ifFlags.ifIconButtonType = ibtClickNotifiedOnce;
21  icbIcon.lMinimum.cX = 0;
22  icbIcon.lMinimum.cY = 0;
23  icbIcon.lMaximum.cX = 68;
24  icbIcon.lMaximum.cY = 68;
25  icbIcon.idData.indirectedSpriteOnly.kpcaSpriteName = caSpriteName;
26  icbIcon.idData.indirectedSpriteOnly.kpbaSpriteBlock = WIMP_SPRITEAREA;
27  icbIcon.idData.indirectedSpriteOnly.iSpriteNameLength = rksSpriteName.size();
28  m_ihIcon = wimp_createicon(&icbIcon);
30 }
31 
33 {
35  if (m_ihIcon != -1)
36  {
37  wimp_deleteicon(CIconBar::GetIconBar()->Handle(), m_ihIcon);
38  m_ihIcon = -1;
39  }
40 }
41 
42 }
void DeregisterIcon(const CIcon *kpiIcon)
Definition: window.cpp:118
static CIconBar * GetIconBar()
Definition: iconbar.cpp:11
tWindowHandle IconBar_Apps()
Definition: iconbar.h:23
tIconHandle m_ihIcon
Definition: icon.h:28
void RegisterIcon(const CIcon *kpiIcon)
Definition: window.cpp:112
CApplicationIcon(const std::string &rksSpriteName)
const tIconHandle Handle() const
Definition: icon.h:15