コード例 #1
0
ファイル: TextPic.cpp プロジェクト: viticm/pap2
BOOL KInlinePicSink::Init(iRepresentShell* pShell)
{
	m_pRepShell = pShell;
	if (!m_pRepShell)
		return FALSE;
	KIniFile ini;
#define CHAR_BUFFER_LEN	32
	char szBuffer[CHAR_BUFFER_LEN * 2], szIndex[8];
	int nPicCount = 0, i = 0;
	KUiImageRef CurrentImg;
	KImageParam	Param;

	if (!ini.Load(CHAT_FACE_INI_FILE))
		return FALSE;
	//ini.GetString("Main", "Path", "\\spr\\Ui\\聊天\\表情", szPath, CHAR_BUFFER_LEN);
	ini.GetInteger("List", "Count", 0, &nPicCount);

	if (nPicCount > MAX_SYSTEM_INLINE_PICTURES)
		nPicCount = MAX_SYSTEM_INLINE_PICTURES;

	for (i = 0; i < nPicCount; i++)
	{
		sprintf(szIndex, "Face%d", i + 1);
		if (!ini.GetString(szIndex, "Spr", "", szBuffer, CHAR_BUFFER_LEN))
		{
			_ASSERT(0);
			break;
		}
		IR_InitUiImageRef(CurrentImg);
		CurrentImg.nFlipTime = 0;
		CurrentImg.nInterval = 0;
		CurrentImg.nNumFrames = 0;
		strncpy(CurrentImg.szImage, szBuffer, sizeof(CurrentImg.szImage));
		CurrentImg.szImage[sizeof(CurrentImg.szImage) - 1] = 0;
		CurrentImg.bRenderFlag = RUIMAGE_RENDER_FLAG_REF_SPOT;
		CurrentImg.nType = ISI_T_SPR;
		memset(&Param, 0, sizeof(Param));
		pShell->GetImageParam(CurrentImg.szImage, &Param, CurrentImg.nType);
		m_Images.push_back(CurrentImg);
		m_ImageParams.push_back(Param);
	}

	if (FAILED(m_pRepShell->AdviseRepresent(this)))
		return FALSE;
	if (FAILED(AdviseEngine(this)))
		return FALSE;
	return TRUE;
}
コード例 #2
0
ファイル: TextPic.cpp プロジェクト: viticm/pap2
//动态加载图片,获取一个WORD,即图片的索引
long KInlinePicSink::AddCustomInlinePic(unsigned short& rwIndex, const char* szSprPathName)
{
	KUiImageRef CurrentImg;
	KImageParam	Param;
	int i = 0, nSize = 0;

	rwIndex = -1;
	if (!szSprPathName || !szSprPathName[0])
		return E_FAIL;

	IR_InitUiImageRef(CurrentImg);
	CurrentImg.nFlipTime = 0;
	CurrentImg.nInterval = 0;
	CurrentImg.nNumFrames = 0;
	strncpy(CurrentImg.szImage, szSprPathName, sizeof(CurrentImg.szImage));
	CurrentImg.szImage[sizeof(CurrentImg.szImage) - 1] = 0;
	CurrentImg.bRenderFlag = RUIMAGE_RENDER_FLAG_REF_SPOT;
	CurrentImg.nType = ISI_T_SPR;
	memset(&Param, 0, sizeof(Param));
	if (!m_pRepShell->GetImageParam(CurrentImg.szImage, &Param, CurrentImg.nType))
		return E_FAIL;
	for (i = 0, nSize = (int)m_CustomImages.size(); i < nSize; i++)
	{
		if (0 == m_CustomImages[i].szImage[0])
		{
			m_CustomImages[i] = CurrentImg;
			m_CustomImageParams[i] = Param;
			break;
		}
	}
	if (i >= nSize)
	{
		m_CustomImages.push_back(CurrentImg);
		m_CustomImageParams.push_back(Param);
	}
	rwIndex = i + MAX_SYSTEM_INLINE_PICTURES;
	return S_OK;
}
コード例 #3
0
ファイル: UiPortrait.cpp プロジェクト: viticm/pap2
/*
                      .-~~-.--.                     :         )

               .~ ~ -.\       /.- ~~ .               >       `.   .'       <

              (         .- -.         )               `- -.-~  `- -'  ~-.- -'

                 (        :        )           _ _ .-:

                  ~--.    :    .--~        .-~  .-~  }

                      ~-.-^-.-~ \_      .~  .-~   .~

                               \ \'     \ '_ _ -~

                                `.`.    //

                       . - ~ ~-.__`.`-.//

                   .-~   . - ~  }~ ~ ~-.~-.

                 .' .-~      .-~       :/~-.~-./:

                /_~_ _ . - ~                 ~-.~-._

                                                 ~-.<
(给你,最可爱的人 :)
//初始化头像
*/
int	KUiPortrait::InitializeProtrait()
{
	KIniFile Ini;

	if(Ini.Load(PORTRAIT_IMAGE_INI))
	{
		Ini.GetInteger("Main", "Count", 0, &m_PortraitParam.nPortraitCount);
		Ini.GetInteger("Main", "Width", 0, &m_PortraitParam.nPortraitWidth);
		Ini.GetInteger("Main", "Height", 0, &m_PortraitParam.nPortraitHeight);

		if(m_pImage)
		{
			delete m_pImage;
			m_pImage = NULL;
		}
		m_pImage = new KUiImageRef[m_PortraitParam.nPortraitCount + 1];
		if(m_pImage)
		{
			char szBuf[8];
			for(int i = 1;i < m_PortraitParam.nPortraitCount + 1;i++)
			{
				IR_InitUiImageRef(m_pImage[i]);
				Ini.GetString("Image", itoa(i, szBuf, 10), "", m_pImage[i].szImage, sizeof(m_pImage[i].szImage));
				m_pImage[i].bRenderFlag = RUIMAGE_RENDER_FLAG_REF_SPOT;
				m_pImage[i].nType = ISI_T_SPR;
				m_pImage[i].nFlipTime  = 0;
				m_pImage[i].nInterval  = 0;
				m_pImage[i].nNumFrames = 0;
				m_pImage[i].Color.Color_b.r = 0;
				m_pImage[i].Color.Color_b.g = 0;
				m_pImage[i].Color.Color_b.b = 0;
				m_pImage[i].Color.Color_b.a = LOLIGHT_ALPHA;
			}
			return 1;
		}
	}
	return 0;
}
コード例 #4
0
ファイル: WndImage.cpp プロジェクト: XeanoRRR/mmo-resourse
//--------------------------------------------------------------------------
//	功能:构造函数
//--------------------------------------------------------------------------
KWndImage::KWndImage()
{
	IR_InitUiImageRef(m_Image);
}